func()

in pkg/tc/tc.go [307:326]


func (m *bpfTc) getAttachedProgId(link netlink.Link, filterParent uint32) int {
	linkName := link.Attrs().Name
	filters, err := netlink.FilterList(link, filterParent)
	if err != nil {
		log.Errorf("failed to list filters for: %s ", linkName, err)
	}
	progId := 0
	filterHandle := uint32(constdef.DEFAULT_BPF_FILTER_HANDLE)
	// You will only have one filter for a handle
	for _, filter := range filters {
		if filter.Attrs().Handle == filterHandle {
			bpf, ok := filter.(*netlink.BpfFilter)
			if !ok {
				continue
			}
			progId = int(bpf.Id)
		}
	}
	return progId
}