[ovs-dev] [PATCHv14 2/2] netdev-afxdp: add new netdev type for AF_XDP.
i.maximets at samsung.com
Tue Jul 9 10:28:49 UTC 2019
On 09.07.2019 0:40, William Tu wrote:
> 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>
>>>> - Mainly address issue reported by Ilya
>>>> 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.
>>> + [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.
You might want to check v6 of this patch which is already in
current 'bpf' and 'bpf-next' trees:
And the incremental patch for it (but it's unlikely that you caught this
Best regards, Ilya Maximets.
>> 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