diff options
author | 2025-03-05 16:37:47 +0100 | |
---|---|---|
committer | 2025-03-17 10:01:07 +0000 | |
commit | 26bd3e939e42ad13fd5f569e23d904826254b0db (patch) | |
tree | 14132c8ed8ee917d0e63856003851cae9ee6da3f /src/plugins/dpdk/device/dpdk.h | |
parent | ee10298fe95d300b8e389e17e78e0735fec54797 (diff) |
dpdk: rte_eth_tx_prepare need to called before transmiting packets
By the DPDK documentation rte_eth_tx_prepare() call is required
to prepare the NIC and to validate the mbufs.
This would fix hardware bad UDP checksum generated by ena driver issue.
As performance will be impacted depending on the driver tx_prepare() callback
I defined a tx-prepare flag that would be enabled by default on ena driver but
could be enabled in the configuration if need for others drivers.
Note: This option would normally be exclusive with intel_phdr_cksum as driver's
tx_prepare would normally cover this usage.
Type: fix
Change-Id: Ic7c21682f7bd92b35bd9b1028129709baa2a64d4
Signed-off-by: Nicolas PLANEL <nplanel@cisco.com>
Signed-off-by: Nicolas PLANEL <nplanel@gmail.com>
Diffstat (limited to 'src/plugins/dpdk/device/dpdk.h')
-rw-r--r-- | src/plugins/dpdk/device/dpdk.h | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/plugins/dpdk/device/dpdk.h b/src/plugins/dpdk/device/dpdk.h index 2440439989f..70d9cc715dc 100644 --- a/src/plugins/dpdk/device/dpdk.h +++ b/src/plugins/dpdk/device/dpdk.h @@ -71,7 +71,8 @@ typedef uint16_t dpdk_portid_t; _ (11, RX_FLOW_OFFLOAD, "rx-flow-offload") \ _ (12, RX_IP4_CKSUM, "rx-ip4-cksum") \ _ (13, INT_SUPPORTED, "int-supported") \ - _ (14, INT_UNMASKABLE, "int-unmaskable") + _ (14, INT_UNMASKABLE, "int-unmaskable") \ + _ (15, TX_PREPARE, "tx-prepare") typedef enum { @@ -131,6 +132,7 @@ typedef struct u32 interface_number_from_port_id : 1; u32 use_intel_phdr_cksum : 1; u32 int_unmaskable : 1; + u32 need_tx_prepare : 1; } dpdk_driver_t; dpdk_driver_t *dpdk_driver_find (const char *name, const char **desc); |