[<prev] [next>] [day] [month] [year] [list]
Message-ID: <20160915201347.338061e6@redhat.com>
Date: Thu, 15 Sep 2016 20:13:47 +0200
From: Jesper Dangaard Brouer <brouer@...hat.com>
To: Brenden Blanco <bblanco@...mgrid.com>
Cc: brouer@...hat.com,
Alexei Starovoitov <alexei.starovoitov@...il.com>,
Tom Herbert <tom@...bertland.com>,
Daniel Borkmann <borkmann@...earbox.net>,
"netdev@...r.kernel.org" <netdev@...r.kernel.org>,
"iovisor-dev@...ts.iovisor.org" <iovisor-dev@...ts.iovisor.org>
Subject: XDP user interface conclusions
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
Powered by blists - more mailing lists