From: David Ahern <dsahern@gmail.com>
To: Alexei Starovoitov <alexei.starovoitov@gmail.com>
Cc: John Fastabend <john.fastabend@gmail.com>,
"Md. Islam" <mislam4@kent.edu>,
netdev@vger.kernel.org, David Miller <davem@davemloft.net>,
stephen@networkplumber.org, agaceph@gmail.com,
Pavel Emelyanov <xemul@openvz.org>,
Eric Dumazet <edumazet@google.com>,
brouer@redhat.com
Subject: Re: [PATCH v15 ] net/veth/XDP: Line-rate packet forwarding in kernel
Date: Tue, 3 Apr 2018 09:07:14 -0600 [thread overview]
Message-ID: <9cb8a162-3b6a-abfa-4f6e-524995bbfb8d@gmail.com> (raw)
In-Reply-To: <20180402181602.jpdb25ytmffg2gei@ast-mbp.dhcp.thefacebook.com>
On 4/2/18 12:16 PM, Alexei Starovoitov wrote:
> On Mon, Apr 02, 2018 at 12:09:44PM -0600, David Ahern wrote:
>> 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
>
> was wondering what's up with the delay and when are you going to
> submit them officially...
> The use case came up several times.
>
I need to find time to come back to that set. As I recall there a number
of outstanding issues:
1. you and Daniel had comments about the bpf_func_proto declarations
2. Jesper had concerns about xdp redirect to any netdev. e.g., How does
the lookup know the egress netdev supports xdp? Right now you can try
and the packet is dropped if it is not supported.
3. VLAN devices. I suspect these will affect the final bpf function
prototype. It would awkward to have 1 forwarding API for non-vlan
devices and a second for vlan devices, hence the need to resolve this
before it goes in.
4. What about other stacked devices - bonds and bridges - will those
just work with the bpf helper? VRF is already handled of course. ;-)
next prev parent reply other threads:[~2018-04-03 15:07 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-04-02 0:47 [PATCH v15 ] net/veth/XDP: Line-rate packet forwarding in kernel Md. Islam
2018-04-02 16:51 ` Stephen Hemminger
2018-04-02 18:03 ` John Fastabend
2018-04-02 18:09 ` David Ahern
2018-04-02 18:16 ` Alexei Starovoitov
2018-04-03 15:07 ` David Ahern [this message]
2018-04-03 16:41 ` John Fastabend
2018-04-03 16:45 ` David Miller
2018-04-03 17:00 ` David Ahern
2018-04-03 17:06 ` Alexei Starovoitov
2018-04-03 17:14 ` David Ahern
2018-04-03 17:37 ` Alexei Starovoitov
2018-04-04 1:09 ` David Ahern
2018-04-03 18:21 ` Jesper Dangaard Brouer
2018-04-04 1:16 ` David Ahern
2018-04-04 3:15 ` Md. Islam
2018-04-06 2:55 ` David Ahern
2018-04-10 4:27 ` Md. Islam
2018-04-04 6:16 ` Jesper Dangaard Brouer
2018-04-04 21:09 ` Md. Islam
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=9cb8a162-3b6a-abfa-4f6e-524995bbfb8d@gmail.com \
--to=dsahern@gmail.com \
--cc=agaceph@gmail.com \
--cc=alexei.starovoitov@gmail.com \
--cc=brouer@redhat.com \
--cc=davem@davemloft.net \
--cc=edumazet@google.com \
--cc=john.fastabend@gmail.com \
--cc=mislam4@kent.edu \
--cc=netdev@vger.kernel.org \
--cc=stephen@networkplumber.org \
--cc=xemul@openvz.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).