vishvananda / netlink

Simple netlink library for go.
Apache License 2.0
2.82k stars 737 forks source link

qidsc add fq can not set PacketLimit #991

Closed ChiefMage closed 2 months ago

ChiefMage commented 2 months ago

add fq qdisc can not set PacketLimit,code miss PacketLimit param,can check it .

case *Fq:
        options.AddRtAttr(nl.TCA_FQ_RATE_ENABLE, nl.Uint32Attr((uint32(qdisc.Pacing))))

        if qdisc.Buckets > 0 {
            options.AddRtAttr(nl.TCA_FQ_BUCKETS_LOG, nl.Uint32Attr((uint32(qdisc.Buckets))))
        }
        if qdisc.LowRateThreshold > 0 {
            options.AddRtAttr(nl.TCA_FQ_LOW_RATE_THRESHOLD, nl.Uint32Attr((uint32(qdisc.LowRateThreshold))))
        }
        if qdisc.Quantum > 0 {
            options.AddRtAttr(nl.TCA_FQ_QUANTUM, nl.Uint32Attr((uint32(qdisc.Quantum))))
        }
        if qdisc.InitialQuantum > 0 {
            options.AddRtAttr(nl.TCA_FQ_INITIAL_QUANTUM, nl.Uint32Attr((uint32(qdisc.InitialQuantum))))
        }
        if qdisc.FlowRefillDelay > 0 {
            options.AddRtAttr(nl.TCA_FQ_FLOW_REFILL_DELAY, nl.Uint32Attr((uint32(qdisc.FlowRefillDelay))))
        }
        if qdisc.FlowPacketLimit > 0 {
            options.AddRtAttr(nl.TCA_FQ_FLOW_PLIMIT, nl.Uint32Attr((uint32(qdisc.FlowPacketLimit))))
        }
        if qdisc.FlowMaxRate > 0 {
            options.AddRtAttr(nl.TCA_FQ_FLOW_MAX_RATE, nl.Uint32Attr((uint32(qdisc.FlowMaxRate))))
        }
        if qdisc.FlowDefaultRate > 0 {
            options.AddRtAttr(nl.TCA_FQ_FLOW_DEFAULT_RATE, nl.Uint32Attr((uint32(qdisc.FlowDefaultRate))))
        }

need add code if qdisc.PacketLimit > 0 { options.AddRtAttr(nl.TCA_FQ_PLIMIT, nl.Uint32Attr((uint32(qdisc.PacketLimit)))) }

ChiefMage commented 2 months ago

cancel