Message ID | 20201111170453.32693-5-sven.auhagen@voleatech.de |
---|---|
State | Superseded |
Headers | show |
Series | igb: xdp patches followup | expand |
> From: sven.auhagen@voleatech.de <sven.auhagen@voleatech.de> > Sent: Wednesday, November 11, 2020 10:35 PM > To: Nguyen, Anthony L <anthony.l.nguyen@intel.com>; Fijalkowski, Maciej > <maciej.fijalkowski@intel.com>; kuba@kernel.org > Cc: davem@davemloft.net; intel-wired-lan@lists.osuosl.org; > netdev@vger.kernel.org; nhorman@redhat.com; sassmann@redhat.com; > Penigalapati, Sandeep <sandeep.penigalapati@intel.com>; > brouer@redhat.com; pmenzel@molgen.mpg.de > Subject: [PATCH v4 4/6] igb: skb add metasize for xdp > > From: Sven Auhagen <sven.auhagen@voleatech.de> > > add metasize if it is set in xdp > > Suggested-by: Maciej Fijalkowski <maciej.fijalkowski@intel.com> > Reviewed-by: Maciej Fijalkowski <maciej.fijalkowski@intel.com> > Acked-by: Maciej Fijalkowski <maciej.fijalkowski@intel.com> > Signed-off-by: Sven Auhagen <sven.auhagen@voleatech.de> > --- > drivers/net/ethernet/intel/igb/igb_main.c | 4 ++++ > 1 file changed, 4 insertions(+) > Tested-by: Sandeep Penigalapati <sandeep.penigalapati@intel.com>
diff --git a/drivers/net/ethernet/intel/igb/igb_main.c b/drivers/net/ethernet/intel/igb/igb_main.c index a0a310a75cc5..fa93aec0ba04 100644 --- a/drivers/net/ethernet/intel/igb/igb_main.c +++ b/drivers/net/ethernet/intel/igb/igb_main.c @@ -8350,6 +8350,7 @@ static struct sk_buff *igb_build_skb(struct igb_ring *rx_ring, struct xdp_buff *xdp, union e1000_adv_rx_desc *rx_desc) { + unsigned int metasize = xdp->data - xdp->data_meta; #if (PAGE_SIZE < 8192) unsigned int truesize = igb_rx_pg_size(rx_ring) / 2; #else @@ -8371,6 +8372,9 @@ static struct sk_buff *igb_build_skb(struct igb_ring *rx_ring, skb_reserve(skb, xdp->data - xdp->data_hard_start); __skb_put(skb, xdp->data_end - xdp->data); + if (metasize) + skb_metadata_set(skb, metasize); + /* pull timestamp out of packet data */ if (igb_test_staterr(rx_desc, E1000_RXDADV_STAT_TSIP)) { igb_ptp_rx_pktstamp(rx_ring->q_vector, skb->data, skb);