summaryrefslogtreecommitdiffstats
path: root/src/plugins
diff options
context:
space:
mode:
authorVladimir Smirnov <civil.over@gmail.com>2025-01-09 16:39:22 +0100
committerDamjan Marion <dmarion@0xa5.net>2025-01-21 12:31:13 +0000
commit82f9167e4847a66bbe4334afc1cc115efef81973 (patch)
tree1de79bbb1bef8edefb1fdb38c14a020516f74b14 /src/plugins
parenta64a9f3da4cb3208fe0497e36521aa48b40bcff3 (diff)
dpdk: bump to DPDK 24.11.1
Bump DPDK version to 24.11.1. Reason behind going for 24.11.1 is that 24.11 was affected by CVE-2024-11614 which was fixed in the point release. Type: feature Change-Id: Ic49a35fe7ac782679df39145e3adfd06f047b031 Signed-off-by: Vladimir Smirnov <civil.over@gmail.com>
Diffstat (limited to 'src/plugins')
-rw-r--r--src/plugins/dpdk/device/common.c8
-rw-r--r--src/plugins/dpdk/device/device.c4
-rw-r--r--src/plugins/dpdk/device/flow.c30
-rw-r--r--src/plugins/dpdk/device/format.c4
-rw-r--r--src/plugins/dpdk/device/init.c4
5 files changed, 37 insertions, 13 deletions
diff --git a/src/plugins/dpdk/device/common.c b/src/plugins/dpdk/device/common.c
index 7a49c5aaef2..d6eed5441b4 100644
--- a/src/plugins/dpdk/device/common.c
+++ b/src/plugins/dpdk/device/common.c
@@ -80,7 +80,9 @@ dpdk_device_setup (dpdk_device_t * xd)
dpdk_device_stop (xd);
}
- rte_eth_dev_info_get (xd->port_id, &dev_info);
+ rv = rte_eth_dev_info_get (xd->port_id, &dev_info);
+ if (rv)
+ dpdk_device_error (xd, "rte_eth_dev_info_get", rv);
dpdk_log_debug ("[%u] configuring device %U", xd->port_id,
format_dpdk_rte_device, dev_info.device);
@@ -443,6 +445,7 @@ dpdk_port_state_callback_inline (dpdk_portid_t port_id,
enum rte_eth_event_type type, void *param)
{
struct rte_eth_link link;
+ CLIB_UNUSED (int rv);
RTE_SET_USED (param);
if (type != RTE_ETH_EVENT_INTR_LSC)
@@ -451,7 +454,8 @@ dpdk_port_state_callback_inline (dpdk_portid_t port_id,
return -1;
}
- rte_eth_link_get_nowait (port_id, &link);
+ rv = rte_eth_link_get_nowait (port_id, &link);
+ ASSERT (rv == 0);
u8 link_up = link.link_status;
if (link_up)
dpdk_log_info ("Port %d Link Up - speed %u Mbps - %s", port_id,
diff --git a/src/plugins/dpdk/device/device.c b/src/plugins/dpdk/device/device.c
index 0ba59562838..c5abbd5f727 100644
--- a/src/plugins/dpdk/device/device.c
+++ b/src/plugins/dpdk/device/device.c
@@ -597,8 +597,10 @@ dpdk_interface_set_rss_queues (struct vnet_main_t *vnm,
u16 valid_queue_count = 0;
uint32_t i, j;
uint32_t ret;
+ int __clib_unused rv;
- rte_eth_dev_info_get (xd->port_id, &dev_info);
+ rv = rte_eth_dev_info_get (xd->port_id, &dev_info);
+ ASSERT (rv == 0);
/* parameter check */
if (clib_bitmap_count_set_bits (bitmap) == 0)
diff --git a/src/plugins/dpdk/device/flow.c b/src/plugins/dpdk/device/flow.c
index 635f6f37ebf..95be9e230be 100644
--- a/src/plugins/dpdk/device/flow.c
+++ b/src/plugins/dpdk/device/flow.c
@@ -85,6 +85,20 @@
(f->type == VNET_FLOW_TYPE_IP6_IP4_N_TUPLE) || \
(f->type == VNET_FLOW_TYPE_IP6_IP6_N_TUPLE))
+/* get source addr from ipv6 header */
+#if (RTE_VERSION >= RTE_VERSION_NUM(24, 11, 0, 0))
+#define IP6_SRC_ADDR(ip6) ip6.hdr.src_addr.a
+#else
+#define IP6_SRC_ADDR(ip6) ip6.hdr.src_addr
+#endif
+
+/* get destination addr from ipv6 header */
+#if (RTE_VERSION >= RTE_VERSION_NUM(24, 11, 0, 0))
+#define IP6_DST_ADDR(ip6) ip6.hdr.dst_addr.a
+#else
+#define IP6_DST_ADDR(ip6) ip6.hdr.dst_addr
+#endif
+
/* constant structs */
static const struct rte_flow_attr ingress = {.ingress = 1 };
@@ -342,13 +356,13 @@ dpdk_flow_add (dpdk_device_t * xd, vnet_flow_t * f, dpdk_flow_entry_t * fe)
}
else
{
- clib_memcpy (ip6[0].hdr.src_addr, &ip6_ptr->src_addr.addr,
+ clib_memcpy (IP6_SRC_ADDR (ip6[0]), &ip6_ptr->src_addr.addr,
ARRAY_LEN (ip6_ptr->src_addr.addr.as_u8));
- clib_memcpy (ip6[1].hdr.src_addr, &ip6_ptr->src_addr.mask,
+ clib_memcpy (IP6_SRC_ADDR (ip6[1]), &ip6_ptr->src_addr.mask,
ARRAY_LEN (ip6_ptr->src_addr.mask.as_u8));
- clib_memcpy (ip6[0].hdr.dst_addr, &ip6_ptr->dst_addr.addr,
+ clib_memcpy (IP6_DST_ADDR (ip6[0]), &ip6_ptr->dst_addr.addr,
ARRAY_LEN (ip6_ptr->dst_addr.addr.as_u8));
- clib_memcpy (ip6[1].hdr.dst_addr, &ip6_ptr->dst_addr.mask,
+ clib_memcpy (IP6_DST_ADDR (ip6[1]), &ip6_ptr->dst_addr.mask,
ARRAY_LEN (ip6_ptr->dst_addr.mask.as_u8));
ip6[0].hdr.proto = ip6_ptr->protocol.prot;
ip6[1].hdr.proto = ip6_ptr->protocol.mask;
@@ -505,13 +519,13 @@ dpdk_flow_add (dpdk_device_t * xd, vnet_flow_t * f, dpdk_flow_entry_t * fe)
} \
else \
{ \
- clib_memcpy (in_ip6[0].hdr.src_addr, &ptr->in_src_addr.addr, \
+ clib_memcpy (IP6_SRC_ADDR (in_ip6[0]), &ptr->in_src_addr.addr, \
ARRAY_LEN (ptr->in_src_addr.addr.as_u8)); \
- clib_memcpy (in_ip6[1].hdr.src_addr, &ptr->in_src_addr.mask, \
+ clib_memcpy (IP6_SRC_ADDR (in_ip6[1]), &ptr->in_src_addr.mask, \
ARRAY_LEN (ptr->in_src_addr.mask.as_u8)); \
- clib_memcpy (in_ip6[0].hdr.dst_addr, &ptr->in_dst_addr.addr, \
+ clib_memcpy (IP6_DST_ADDR (in_ip6[0]), &ptr->in_dst_addr.addr, \
ARRAY_LEN (ptr->in_dst_addr.addr.as_u8)); \
- clib_memcpy (in_ip6[1].hdr.dst_addr, &ptr->in_dst_addr.mask, \
+ clib_memcpy (IP6_DST_ADDR (in_ip6[1]), &ptr->in_dst_addr.mask, \
ARRAY_LEN (ptr->in_dst_addr.mask.as_u8)); \
item->spec = in_ip6; \
item->mask = in_ip6 + 1; \
diff --git a/src/plugins/dpdk/device/format.c b/src/plugins/dpdk/device/format.c
index c4170c20329..fd301da8ea5 100644
--- a/src/plugins/dpdk/device/format.c
+++ b/src/plugins/dpdk/device/format.c
@@ -423,10 +423,12 @@ format_dpdk_device (u8 * s, va_list * args)
struct rte_eth_rss_conf rss_conf;
int vlan_off;
int retval;
+ int __clib_unused rv;
dpdk_update_counters (xd, now);
dpdk_update_link_state (xd, now);
- rte_eth_dev_info_get (xd->port_id, &di);
+ rv = rte_eth_dev_info_get (xd->port_id, &di);
+ ASSERT (rv == 0);
s = format (s, "%U\n%Ucarrier %U",
format_dpdk_device_type, dev_instance,
diff --git a/src/plugins/dpdk/device/init.c b/src/plugins/dpdk/device/init.c
index ec9e6045de7..aaa2c1f4a68 100644
--- a/src/plugins/dpdk/device/init.c
+++ b/src/plugins/dpdk/device/init.c
@@ -1520,10 +1520,12 @@ dpdk_update_link_state (dpdk_device_t * xd, f64 now)
struct rte_eth_link prev_link = xd->link;
u32 hw_flags = 0;
u8 hw_flags_chg = 0;
+ int __clib_unused rv;
xd->time_last_link_update = now ? now : xd->time_last_link_update;
clib_memset (&xd->link, 0, sizeof (xd->link));
- rte_eth_link_get_nowait (xd->port_id, &xd->link);
+ rv = rte_eth_link_get_nowait (xd->port_id, &xd->link);
+ ASSERT (rv == 0);
if (LINK_STATE_ELOGS)
{