code: func LinkSetXdpFdWithFlags(link Link, fd, flags int) error {
  	base := link.Attrs()
  	ensureIndex(base)
  	req := nl.NewNetlinkRequest(unix.RTM_SETLINK, unix.NLM_F_ACK)
  
  	msg := nl.NewIfInfomsg(unix.AF_UNSPEC)
  	msg.Index = int32(base.Index)
  	req.AddData(msg)
  
  	addXdpAttrs(&LinkXdp{Fd: fd, Flags: uint32(flags)}, req)
  
  	_, err := req.Execute(unix.NETLINK_ROUTE, 0)
  	return err
  }
docs: // LinkSetXdpFdWithFlags adds a bpf function to the driver with the given
  // options. The fd must be a bpf program loaded with bpf(type=BPF_PROG_TYPE_XDP)