[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <2ac3c590-8f13-b983-7efb-021f82ee3295@gmail.com>
Date: Mon, 2 Apr 2018 12:09:44 -0600
From: David Ahern <dsahern@...il.com>
To: John Fastabend <john.fastabend@...il.com>,
"Md. Islam" <mislam4@...t.edu>, netdev@...r.kernel.org,
David Miller <davem@...emloft.net>, stephen@...workplumber.org,
agaceph@...il.com, Pavel Emelyanov <xemul@...nvz.org>,
Eric Dumazet <edumazet@...gle.com>,
alexei.starovoitov@...il.com, brouer@...hat.com
Subject: Re: [PATCH v15 ] net/veth/XDP: Line-rate packet forwarding in kernel
On 4/2/18 12:03 PM, John Fastabend wrote:
>
> Can the above be a normal BPF helper that returns an
> ifindex? Then something roughly like this patter would
> work for all drivers with redirect support,
>
>
> route_ifindex = ip_route_lookup(__daddr, ....)
> if (!route_ifindex)
> return do_foo()
> return xdp_redirect(route_ifindex);
>
> So my suggestion is,
>
> 1. enable veth xdp (including redirect support)
> 2. add a helper to lookup route from routing table
>
> Alternatively you can skip step (2) and encode the routing
> table in BPF directly. Maybe we need a more efficient data
> structure but that should also work.
>
That's what I have here:
https://github.com/dsahern/linux/commit/bab42f158c0925339f7519df7fb2cde8eac33aa8
And Jesper has done some measurements showing a 400% improvement in
throughput.
I have not had time to come back to the xdp forwarding set. It needs to
handle vlan devices at a minimum before I send an RFC.
Powered by blists - more mailing lists