INNER CODE UNIT · Go

attachTcHook

mozillazg/ptcpdump · bpf/bpf.go:356

func attachTcHook(ifindex int, prog *ebpf.Program, ingress bool) (func(), error) {
	tcnl, err := tc.Open(&tc.Config{})
	if err != nil {
		return nil, err
	}
	closeFunc := func() {
		if err := tcnl.Close(); err != nil {
			if !strings.Contains(err.Error(), "no such device") {
				log.Warnf("tcnl.Close() failed: %+v", err)
			}
		}
	}
	err = tcnl.SetOption(netlink.ExtendedAcknowledge, true)
	if err != nil {
		return closeFunc, fmt.Errorf("tc: set option ExtendedAcknowledge: %w", err)
	}

	var filter *tc.Object

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…