[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <953c8fee-91f0-85e7-6c7b-b9a2f8df5aa6@iogearbox.net>
Date: Thu, 23 Jan 2020 16:48:48 +0100
From: Daniel Borkmann <daniel@...earbox.net>
To: Toke Høiland-Jørgensen <toke@...hat.com>,
Luigi Rizzo <lrizzo@...gle.com>, netdev@...r.kernel.org
Cc: Jesper Dangaard Brouer <hawk@...nel.org>,
"David S. Miller" <davem@...emloft.net>, sameehj@...zon.com
Subject: Re: [PATCH] net-xdp: netdev attribute to control xdpgeneric skb
linearization
On 1/23/20 10:53 AM, Toke Høiland-Jørgensen wrote:
> Luigi Rizzo <lrizzo@...gle.com> writes:
>
>> Add a netdevice flag to control skb linearization in generic xdp mode.
>> Among the various mechanism to control the flag, the sysfs
>> interface seems sufficiently simple and self-contained.
>> The attribute can be modified through
>> /sys/class/net/<DEVICE>/xdp_linearize
>> The default is 1 (on)
Needs documentation in Documentation/ABI/testing/sysfs-class-net.
> Erm, won't turning off linearization break the XDP program's ability to
> do direct packet access?
Yes, in the worst case you only have eth header pulled into linear section. :/
In tc/BPF for direct packet access we have bpf_skb_pull_data() helper which can
pull in up to X bytes into linear section on demand. I guess something like this
could be done for XDP context as well, e.g. generic XDP would pull when non-linear
and native XDP would have nothing todo (though in this case you end up writing the
prog specifically for generic XDP with slowdown when you'd load it on native XDP
where it's linear anyway, but that could/should be documented if so).
Thanks,
Daniel
Powered by blists - more mailing lists