in pkg/tc/tc.go [56:77]
func enableQdisc(link netlink.Link) bool {
qdiscs, err := netlink.QdiscList(link)
if err != nil {
log.Infof("Unable to check qdisc hence try installing")
return true
}
qdiscHandle := netlink.MakeHandle(constdef.QDISC_HANDLE, 0)
for _, qdisc := range qdiscs {
attrs := qdisc.Attrs()
if attrs.LinkIndex != link.Attrs().Index {
continue
}
if (attrs.Handle&qdiscHandle) == qdiscHandle && attrs.Parent == netlink.HANDLE_CLSACT {
log.Infof("Found qdisc hence don't install again")
return false
}
}
log.Infof("Qdisc is not enabled hence install")
return true
}