summaryrefslogtreecommitdiff
path: root/vendor/github.com/vishvananda/netlink/qdisc.go
diff options
context:
space:
mode:
authorValentin Rothberg <rothberg@redhat.com>2019-01-08 14:52:57 +0100
committerValentin Rothberg <rothberg@redhat.com>2019-01-11 13:38:11 +0100
commitbd40dcfc2bc7c9014ea1f33482fb63aacbcdfe87 (patch)
tree5f06e4e289f16d9164d692590a3fe6541b5384cf /vendor/github.com/vishvananda/netlink/qdisc.go
parent545f24421247c9f6251a634764db3f8f8070a812 (diff)
downloadpodman-bd40dcfc2bc7c9014ea1f33482fb63aacbcdfe87.tar.gz
podman-bd40dcfc2bc7c9014ea1f33482fb63aacbcdfe87.tar.bz2
podman-bd40dcfc2bc7c9014ea1f33482fb63aacbcdfe87.zip
vendor: update everything
* If possible, update each dependency to the latest available version. * Use releases over commit IDs and avoid vendoring branches. Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
Diffstat (limited to 'vendor/github.com/vishvananda/netlink/qdisc.go')
-rw-r--r--vendor/github.com/vishvananda/netlink/qdisc.go60
1 files changed, 60 insertions, 0 deletions
diff --git a/vendor/github.com/vishvananda/netlink/qdisc.go b/vendor/github.com/vishvananda/netlink/qdisc.go
index 0ca86ebe8..3df4b5c29 100644
--- a/vendor/github.com/vishvananda/netlink/qdisc.go
+++ b/vendor/github.com/vishvananda/netlink/qdisc.go
@@ -230,3 +230,63 @@ func (qdisc *GenericQdisc) Attrs() *QdiscAttrs {
func (qdisc *GenericQdisc) Type() string {
return qdisc.QdiscType
}
+
+// Fq is a classless packet scheduler meant to be mostly used for locally generated traffic.
+type Fq struct {
+ QdiscAttrs
+ PacketLimit uint32
+ FlowPacketLimit uint32
+ // In bytes
+ Quantum uint32
+ InitialQuantum uint32
+ // called RateEnable under the hood
+ Pacing uint32
+ FlowDefaultRate uint32
+ FlowMaxRate uint32
+ // called BucketsLog under the hood
+ Buckets uint32
+ FlowRefillDelay uint32
+ LowRateThreshold uint32
+}
+
+func NewFq(attrs QdiscAttrs) *Fq {
+ return &Fq{
+ QdiscAttrs: attrs,
+ Pacing: 1,
+ }
+}
+
+func (qdisc *Fq) Attrs() *QdiscAttrs {
+ return &qdisc.QdiscAttrs
+}
+
+func (qdisc *Fq) Type() string {
+ return "fq"
+}
+
+// FQ_Codel (Fair Queuing Controlled Delay) is queuing discipline that combines Fair Queuing with the CoDel AQM scheme.
+type FqCodel struct {
+ QdiscAttrs
+ Target uint32
+ Limit uint32
+ Interval uint32
+ ECN uint32
+ Flows uint32
+ Quantum uint32
+ // There are some more attributes here, but support for them seems not ubiquitous
+}
+
+func NewFqCodel(attrs QdiscAttrs) *FqCodel {
+ return &FqCodel{
+ QdiscAttrs: attrs,
+ ECN: 1,
+ }
+}
+
+func (qdisc *FqCodel) Attrs() *QdiscAttrs {
+ return &qdisc.QdiscAttrs
+}
+
+func (qdisc *FqCodel) Type() string {
+ return "fq_codel"
+}