aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMohammed Hawari <mohammed@hawari.fr>2022-05-13 09:45:12 +0200
committerMohammed HAWARI <momohawari@gmail.com>2022-05-13 09:35:13 +0000
commitc0a08cadee9161554246f707eaf24f782086914d (patch)
tree0870aaacba9b200e2a0db99ef6dd5d8af683ab40
parentd0e0e06984f0ac0c26129484708c10a66f2d6ab5 (diff)
dpdk: fix overflow in mtu arithmetic
When the driver's max_rx_pktlen is >= 65536, max_supported_frame_size overflows and queue creation fails. Change-Id: If78707cb698adf8619ec44a852dd05d570917577 Signed-off-by: Mohammed Hawari <mohammed@hawari.fr> Type: fix
-rw-r--r--src/plugins/dpdk/device/common.c2
-rw-r--r--src/plugins/dpdk/device/dpdk.h2
2 files changed, 2 insertions, 2 deletions
diff --git a/src/plugins/dpdk/device/common.c b/src/plugins/dpdk/device/common.c
index a37659508dc..b8c6eddd34b 100644
--- a/src/plugins/dpdk/device/common.c
+++ b/src/plugins/dpdk/device/common.c
@@ -65,7 +65,7 @@ dpdk_device_setup (dpdk_device_t * xd)
struct rte_eth_dev_info dev_info;
struct rte_eth_conf conf = {};
u64 rxo, txo;
- u16 max_frame_size;
+ u32 max_frame_size;
int rv;
int j;
diff --git a/src/plugins/dpdk/device/dpdk.h b/src/plugins/dpdk/device/dpdk.h
index 008c82df7b0..02cf6812d43 100644
--- a/src/plugins/dpdk/device/dpdk.h
+++ b/src/plugins/dpdk/device/dpdk.h
@@ -202,7 +202,7 @@ typedef struct
u8 *default_mac_address;
/* maximum supported max frame size */
- u16 max_supported_frame_size;
+ u32 max_supported_frame_size;
/* due to lack of API to get ethernet max_frame_size we store information
* deducted from device info */