[ovs-dev] [PATCHv14 2/2] netdev-afxdp: add new netdev type for AF_XDP.
u9012063 at gmail.com
Mon Jul 8 21:40:18 UTC 2019
On Mon, Jul 8, 2019 at 1:50 PM William Tu <u9012063 at gmail.com> wrote:
> Hi Ilya,
> Thanks for all the feedback!
> On Fri, Jul 5, 2019 at 8:32 AM Ilya Maximets <i.maximets at samsung.com> wrote:
> > On 01.07.2019 19:08, William Tu wrote:
> > > The patch introduces experimental AF_XDP support for OVS netdev.
> > > AF_XDP, the Address Family of the eXpress Data Path, is a new Linux socket
> > > type built upon the eBPF and XDP technology. It is aims to have comparable
> > > performance to DPDK but cooperate better with existing kernel's networking
> > > stack. An AF_XDP socket receives and sends packets from an eBPF/XDP program
> > > attached to the netdev, by-passing a couple of Linux kernel's subsystems
> > > As a result, AF_XDP socket shows much better performance than AF_PACKET
> > > For more details about AF_XDP, please see linux kernel's
> > > Documentation/networking/af_xdp.rst. Note that by default, this feature is
> > > not compiled in.
> > >
> > > Signed-off-by: William Tu <u9012063 at gmail.com>
> > > ---
> > >
> > > v13-v14
> > > - Mainly address issue reported by Ilya
> > > https://protect2.fireeye.com/url?k=a0e04e091a64b944.a0e1c546-0896b5863118ce25&u=https://patchwork.ozlabs.org/patch/1118972/
> > > when doing 'make check-afxdp'
> > > - Fix xdp frame headroom issue
> > > - Fix vlan test cases by disabling txvlan offload
> > > - Skip cvlan
> > > - Document TCP limitation (currently all tcp tests fail due to
> > > kernel veth driver)
> > Maybe it's better to skip them too? The easy way could be:
> > diff --git a/tests/system-afxdp-macros.at b/tests/system-afxdp-macros.at
> > index 5ee2ceb1a..f0683c0a9 100644
> > --- a/tests/system-afxdp-macros.at
> > +++ b/tests/system-afxdp-macros.at
> > @@ -30,3 +30,10 @@ m4_define([CONFIGURE_VETH_OFFLOADS],
> > AT_CHECK([ethtool -K $1 txvlan off], , [ignore], [ignore])
> > ]
> > )
> > +
> > +# OVS_START_L7([namespace], [protocol])
> > +#
> > +# AF_XDP doesn't work with TCP over virtual interfaces for now.
> > +#
> > +m4_define([OVS_START_L7],
> > + [AT_SKIP_IF([:])])
> > ---
> > BTW, documentation should stay.
> OK Will do it!
> I rebase to master, added the above and run
> make check-afxdp TESTSUITEFLAGS='-v -x 2'
> it hangs at
> ip link del ovs-$1
I think it's related to your pending patch to kernel about
"Fix hang while unregistering device bound to xdp socket"
I will try and see if it fixes.
> I have to remove it to make it works
> --- a/tests/system-afxdp-macros.at
> +++ b/tests/system-afxdp-macros.at
> @@ -15,7 +15,6 @@ m4_define([ADD_VETH],
> if test -n "$6"; then
> NS_CHECK_EXEC([$2], [ip route add default via $6])
> - on_exit 'ip link del ovs-$1'
> I don't know why, but in the end
> ip netns del at_ns0
> clean up the ovs-p0 device
More information about the dev