All of lore.kernel.org
 help / color / mirror / Atom feed
* XDP user interface confusions
@ 2016-09-15 18:14 Jesper Dangaard Brouer via iovisor-dev
  2016-09-15 18:58 ` Brenden Blanco
  0 siblings, 1 reply; 3+ messages in thread
From: Jesper Dangaard Brouer via iovisor-dev @ 2016-09-15 18:14 UTC (permalink / raw)
  To: Brenden Blanco
  Cc: Tom Herbert, iovisor-dev-9jONkmmOlFHEE9lA1F8Ukti2O/JbrIOy,
	netdev-u79uwXL29TY76Z2rM5mHXA, Daniel Borkmann

Hi Brenden,

I don't quite understand the semantics of the XDP userspace interface.

We allow XDP programs to be (unconditionally) exchanged by another
program, this avoids taking the link down+up and avoids reallocating
RX ring resources (which is great).

We have two XDP samples programs in samples/bpf/ xdp1 and xdp2.  Now I
want to first load xdp1 and then to avoid the linkdown I load xdp2,
and then afterwards remove/stop program xdp1.

This does NOT work, because (in samples/bpf/xdp1_user.c) when xdp1
exits it unconditionally removes the running XDP program (loaded by xdp2)
via set_link_xdp_fd(ifindex, -1).  The xdp2 user program is still
running, and is unaware of its xdp/bpf program have been unloaded.

I find this userspace interface confusing. What this your intention?
Perhaps you can explain what the intended semantics or specification is?

-- 
Best regards,
  Jesper Dangaard Brouer
  MSc.CS, Principal Kernel Engineer at Red Hat
  Author of http://www.iptv-analyzer.org
  LinkedIn: http://www.linkedin.com/in/brouer

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2016-09-21  7:18 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-09-15 18:14 XDP user interface confusions Jesper Dangaard Brouer via iovisor-dev
2016-09-15 18:58 ` Brenden Blanco
     [not found]   ` <20160915185835.GA4418-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2016-09-21  7:18     ` Jesper Dangaard Brouer via iovisor-dev

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.