> -----Original Message----- > From: Intel-wired-lan <intel-wired-lan-bounces@xxxxxxxxxx> On Behalf Of > Alexander Lobakin > Sent: Wednesday, December 8, 2021 7:37 PM > To: intel-wired-lan@xxxxxxxxxxxxxxxx > Cc: Song Liu <songliubraving@xxxxxx>; Alexei Starovoitov <ast@xxxxxxxxxx>; > Andrii Nakryiko <andrii@xxxxxxxxxx>; Daniel Borkmann > <daniel@xxxxxxxxxxxxx>; John Fastabend <john.fastabend@xxxxxxxxx>; > Jesper Dangaard Brouer <brouer@xxxxxxxxxx>; Yonghong Song > <yhs@xxxxxx>; Jesper Dangaard Brouer <hawk@xxxxxxxxxx>; KP Singh > <kpsingh@xxxxxxxxxx>; Jakub Kicinski <kuba@xxxxxxxxxx>; > netdev@xxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx; David S. Miller > <davem@xxxxxxxxxxxxx>; Björn Töpel <bjorn@xxxxxxxxxx>; > bpf@xxxxxxxxxxxxxxx; Martin KaFai Lau <kafai@xxxxxx> > Subject: [Intel-wired-lan] [PATCH v4 net-next 3/9] ice: respect metadata in > legacy-rx/ice_construct_skb() > > In "legacy-rx" mode represented by ice_construct_skb(), we can still use XDP > (and XDP metadata), but after XDP_PASS the metadata will be lost as it > doesn't get copied to the skb. > Copy it along with the frame headers. Account its size on skb allocation, and > when copying just treat it as a part of the frame and do a pull after to "move" > it to the "reserved" zone. > Point net_prefetch() to xdp->data_meta instead of data. This won't change > anything when the meta is not here, but will save some cache misses > otherwise. > > Suggested-by: Jesper Dangaard Brouer <brouer@xxxxxxxxxx> > Suggested-by: Maciej Fijalkowski <maciej.fijalkowski@xxxxxxxxx> > Signed-off-by: Alexander Lobakin <alexandr.lobakin@xxxxxxxxx> > Reviewed-by: Michal Swiatkowski <michal.swiatkowski@xxxxxxxxxxxxxxx> > --- > drivers/net/ethernet/intel/ice/ice_txrx.c | 15 +++++++++++---- > 1 file changed, 11 insertions(+), 4 deletions(-) > Tested-by: Kiran Bhandare <kiranx.bhandare@xxxxxxxxx> A Contingent Worker at Intel