[PATCH 1/1] UBUNTU: SAUCE: (no-up) igc: Add RX HW timestamp to support XDP zero copy
Philip Cox
philip.cox at canonical.com
Thu Jun 8 19:09:41 UTC 2023
From: mohd faizal abdul rahim <faizal.abdul.rahim at intel.com>
BugLink: https://bugs.launchpad.net/bugs/2023325
Enable the Rx HW Timestamp using metadata to userspace.
Signed-off-by: Song Yoong Siang <yoong.siang.song at intel.com>
Signed-off-by: Mohd Faizal Abdul rahim <faizal.abdul.rahim at intel.com>
(patch from launchpad)
Signed-off-by: Philip Cox <philip.cox at canonical.com>
---
drivers/net/ethernet/intel/igc/igc_main.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/drivers/net/ethernet/intel/igc/igc_main.c b/drivers/net/ethernet/intel/igc/igc_main.c
index 5e3b653574e2..c34d7b81180e 100644
--- a/drivers/net/ethernet/intel/igc/igc_main.c
+++ b/drivers/net/ethernet/intel/igc/igc_main.c
@@ -2746,6 +2746,7 @@ static int igc_clean_rx_irq_zc(struct igc_q_vector *q_vector, const int budget)
struct igc_rx_buffer *bi;
ktime_t timestamp = 0;
unsigned int size;
+ ktime_t *rxhwts;
int res;
desc = IGC_RX_DESC(ring, ntc);
@@ -2775,6 +2776,9 @@ static int igc_clean_rx_irq_zc(struct igc_q_vector *q_vector, const int budget)
}
bi->xdp->data_end = bi->xdp->data + size;
+ rxhwts = bi->xdp->data - sizeof(ktime_t);
+ *rxhwts = timestamp;
+ bi->xdp->data_meta = rxhwts;
xsk_buff_dma_sync_for_cpu(bi->xdp, ring->xsk_pool);
res = __igc_xdp_run_prog(adapter, prog, bi->xdp);
--
2.34.1
More information about the kernel-team
mailing list