mirror of
https://github.com/torvalds/linux
synced 2024-09-16 00:58:07 +00:00
tsnep: Remove FCS for XDP data path
The RX data buffer includes the FCS. The FCS is already stripped for the normal data path. But for the XDP data path the FCS is included and acts like additional/useless data. Remove the FCS from the RX data buffer also for XDP. Fixes:65b28c8100
("tsnep: Add XDP RX support") Fixes:3fc2333933
("tsnep: Add XDP socket zero-copy RX support") Signed-off-by: Gerhard Engleder <gerhard@engleder-embedded.com> Signed-off-by: Paolo Abeni <pabeni@redhat.com>
This commit is contained in:
parent
5da4597163
commit
50bad6f797
|
@ -1485,7 +1485,7 @@ static int tsnep_rx_poll(struct tsnep_rx *rx, struct napi_struct *napi,
|
|||
|
||||
xdp_prepare_buff(&xdp, page_address(entry->page),
|
||||
XDP_PACKET_HEADROOM + TSNEP_RX_INLINE_METADATA_SIZE,
|
||||
length, false);
|
||||
length - ETH_FCS_LEN, false);
|
||||
|
||||
consume = tsnep_xdp_run_prog(rx, prog, &xdp,
|
||||
&xdp_status, tx_nq, tx);
|
||||
|
@ -1568,7 +1568,7 @@ static int tsnep_rx_poll_zc(struct tsnep_rx *rx, struct napi_struct *napi,
|
|||
prefetch(entry->xdp->data);
|
||||
length = __le32_to_cpu(entry->desc_wb->properties) &
|
||||
TSNEP_DESC_LENGTH_MASK;
|
||||
xsk_buff_set_size(entry->xdp, length);
|
||||
xsk_buff_set_size(entry->xdp, length - ETH_FCS_LEN);
|
||||
xsk_buff_dma_sync_for_cpu(entry->xdp, rx->xsk_pool);
|
||||
|
||||
/* RX metadata with timestamps is in front of actual data,
|
||||
|
|
Loading…
Reference in a new issue