dpdk: compatibility layer for dpdk 22.03 bump 08/35808/8
authorDastin Wilski <dastin.wilski@gmail.com>
Wed, 30 Mar 2022 12:06:44 +0000 (14:06 +0200)
committerDamjan Marion <dmarion@me.com>
Tue, 5 Apr 2022 16:16:30 +0000 (16:16 +0000)
New version of dpdk changes some macros names.
This patch ensures VPP will be compatible with older dpdk versions.

Type: improvement
Signed-off-by: Dastin Wilski <dastin.wilski@gmail.com>
Change-Id: I3d9736278e70064610a1dcad5f2d2f6eb26e0d4b

src/plugins/dpdk/device/dpdk.h
src/plugins/dpdk/device/dpdk_priv.h

index 196f68f..6f3680c 100644 (file)
@@ -393,32 +393,32 @@ typedef enum
 void dpdk_update_link_state (dpdk_device_t * xd, f64 now);
 
 #define foreach_dpdk_rss_hf                                                   \
-  _ (0, ETH_RSS_FRAG_IPV4, "ipv4-frag")                                       \
-  _ (1, ETH_RSS_NONFRAG_IPV4_TCP, "ipv4-tcp")                                 \
-  _ (2, ETH_RSS_NONFRAG_IPV4_UDP, "ipv4-udp")                                 \
-  _ (3, ETH_RSS_NONFRAG_IPV4_SCTP, "ipv4-sctp")                               \
-  _ (4, ETH_RSS_NONFRAG_IPV4_OTHER, "ipv4-other")                             \
-  _ (5, ETH_RSS_IPV4, "ipv4")                                                 \
-  _ (6, ETH_RSS_IPV6_TCP_EX, "ipv6-tcp-ex")                                   \
-  _ (7, ETH_RSS_IPV6_UDP_EX, "ipv6-udp-ex")                                   \
-  _ (8, ETH_RSS_FRAG_IPV6, "ipv6-frag")                                       \
-  _ (9, ETH_RSS_NONFRAG_IPV6_TCP, "ipv6-tcp")                                 \
-  _ (10, ETH_RSS_NONFRAG_IPV6_UDP, "ipv6-udp")                                \
-  _ (11, ETH_RSS_NONFRAG_IPV6_SCTP, "ipv6-sctp")                              \
-  _ (12, ETH_RSS_NONFRAG_IPV6_OTHER, "ipv6-other")                            \
-  _ (13, ETH_RSS_IPV6_EX, "ipv6-ex")                                          \
-  _ (14, ETH_RSS_IPV6, "ipv6")                                                \
-  _ (15, ETH_RSS_L2_PAYLOAD, "l2-payload")                                    \
-  _ (16, ETH_RSS_PORT, "port")                                                \
-  _ (17, ETH_RSS_VXLAN, "vxlan")                                              \
-  _ (18, ETH_RSS_GENEVE, "geneve")                                            \
-  _ (19, ETH_RSS_NVGRE, "nvgre")                                              \
-  _ (20, ETH_RSS_GTPU, "gtpu")                                                \
-  _ (21, ETH_RSS_ESP, "esp")                                                  \
-  _ (60, ETH_RSS_L4_DST_ONLY, "l4-dst-only")                                  \
-  _ (61, ETH_RSS_L4_SRC_ONLY, "l4-src-only")                                  \
-  _ (62, ETH_RSS_L3_DST_ONLY, "l3-dst-only")                                  \
-  _ (63, ETH_RSS_L3_SRC_ONLY, "l3-src-only")
+  _ (0, RTE_ETH_RSS_FRAG_IPV4, "ipv4-frag")                                   \
+  _ (1, RTE_ETH_RSS_NONFRAG_IPV4_TCP, "ipv4-tcp")                             \
+  _ (2, RTE_ETH_RSS_NONFRAG_IPV4_UDP, "ipv4-udp")                             \
+  _ (3, RTE_ETH_RSS_NONFRAG_IPV4_SCTP, "ipv4-sctp")                           \
+  _ (4, RTE_ETH_RSS_NONFRAG_IPV4_OTHER, "ipv4-other")                         \
+  _ (5, RTE_ETH_RSS_IPV4, "ipv4")                                             \
+  _ (6, RTE_ETH_RSS_IPV6_TCP_EX, "ipv6-tcp-ex")                               \
+  _ (7, RTE_ETH_RSS_IPV6_UDP_EX, "ipv6-udp-ex")                               \
+  _ (8, RTE_ETH_RSS_FRAG_IPV6, "ipv6-frag")                                   \
+  _ (9, RTE_ETH_RSS_NONFRAG_IPV6_TCP, "ipv6-tcp")                             \
+  _ (10, RTE_ETH_RSS_NONFRAG_IPV6_UDP, "ipv6-udp")                            \
+  _ (11, RTE_ETH_RSS_NONFRAG_IPV6_SCTP, "ipv6-sctp")                          \
+  _ (12, RTE_ETH_RSS_NONFRAG_IPV6_OTHER, "ipv6-other")                        \
+  _ (13, RTE_ETH_RSS_IPV6_EX, "ipv6-ex")                                      \
+  _ (14, RTE_ETH_RSS_IPV6, "ipv6")                                            \
+  _ (15, RTE_ETH_RSS_L2_PAYLOAD, "l2-payload")                                \
+  _ (16, RTE_ETH_RSS_PORT, "port")                                            \
+  _ (17, RTE_ETH_RSS_VXLAN, "vxlan")                                          \
+  _ (18, RTE_ETH_RSS_GENEVE, "geneve")                                        \
+  _ (19, RTE_ETH_RSS_NVGRE, "nvgre")                                          \
+  _ (20, RTE_ETH_RSS_GTPU, "gtpu")                                            \
+  _ (21, RTE_ETH_RSS_ESP, "esp")                                              \
+  _ (60, RTE_ETH_RSS_L4_DST_ONLY, "l4-dst-only")                              \
+  _ (61, RTE_ETH_RSS_L4_SRC_ONLY, "l4-src-only")                              \
+  _ (62, RTE_ETH_RSS_L3_DST_ONLY, "l3-dst-only")                              \
+  _ (63, RTE_ETH_RSS_L3_SRC_ONLY, "l3-src-only")
 
 format_function_t format_dpdk_device_name;
 format_function_t format_dpdk_device;
index ed30cd8..013ab41 100644 (file)
@@ -159,6 +159,67 @@ dpdk_update_counters (dpdk_device_t * xd, f64 now)
 #define RTE_MBUF_F_TX_UDP_CKSUM                  PKT_TX_UDP_CKSUM
 #define RTE_MBUF_F_TX_UDP_SEG            PKT_TX_UDP_SEG
 #define RTE_MBUF_F_TX_VLAN               PKT_TX_VLAN
+#define RTE_ETH_RSS_FRAG_IPV4              ETH_RSS_FRAG_IPV4
+#define RTE_ETH_RSS_NONFRAG_IPV4_TCP       ETH_RSS_NONFRAG_IPV4_TCP
+#define RTE_ETH_RSS_NONFRAG_IPV4_UDP       ETH_RSS_NONFRAG_IPV4_UDP
+#define RTE_ETH_RSS_NONFRAG_IPV4_SCTP      ETH_RSS_NONFRAG_IPV4_SCTP
+#define RTE_ETH_RSS_NONFRAG_IPV4_OTHER     ETH_RSS_NONFRAG_IPV4_OTHER
+#define RTE_ETH_RSS_IPV4                   ETH_RSS_IPV4
+#define RTE_ETH_RSS_IPV6_TCP_EX                    ETH_RSS_IPV6_TCP_EX
+#define RTE_ETH_RSS_IPV6_UDP_EX                    ETH_RSS_IPV6_UDP_EX
+#define RTE_ETH_RSS_FRAG_IPV6              ETH_RSS_FRAG_IPV6
+#define RTE_ETH_RSS_NONFRAG_IPV6_TCP       ETH_RSS_NONFRAG_IPV6_TCP
+#define RTE_ETH_RSS_NONFRAG_IPV6_UDP       ETH_RSS_NONFRAG_IPV6_UDP
+#define RTE_ETH_RSS_NONFRAG_IPV6_SCTP      ETH_RSS_NONFRAG_IPV6_SCTP
+#define RTE_ETH_RSS_NONFRAG_IPV6_OTHER     ETH_RSS_NONFRAG_IPV6_OTHER
+#define RTE_ETH_RSS_IPV6_EX                ETH_RSS_IPV6_EX
+#define RTE_ETH_RSS_IPV6                   ETH_RSS_IPV6
+#define RTE_ETH_RSS_L2_PAYLOAD             ETH_RSS_L2_PAYLOAD
+#define RTE_ETH_RSS_PORT                   ETH_RSS_PORT
+#define RTE_ETH_RSS_VXLAN                  ETH_RSS_VXLAN
+#define RTE_ETH_RSS_GENEVE                 ETH_RSS_GENEVE
+#define RTE_ETH_RSS_NVGRE                  ETH_RSS_NVGRE
+#define RTE_ETH_RSS_GTPU                   ETH_RSS_GTPU
+#define RTE_ETH_RSS_ESP                            ETH_RSS_ESP
+#define RTE_ETH_RSS_L4_DST_ONLY                    ETH_RSS_L4_DST_ONLY
+#define RTE_ETH_RSS_L4_SRC_ONLY                    ETH_RSS_L4_SRC_ONLY
+#define RTE_ETH_RSS_L3_DST_ONL             ETH_RSS_L3_DST_ONL
+#define RTE_ETH_RSS_L3_SRC_ONLY                    ETH_RSS_L3_SRC_ONLY
+#define RTE_ETH_RETA_GROUP_SIZE                    RTE_RETA_GROUP_SIZE
+#define RTE_ETH_TX_OFFLOAD_IPV4_CKSUM      DEV_TX_OFFLOAD_IPV4_CKSUM
+#define RTE_ETH_TX_OFFLOAD_TCP_CKSUM       DEV_TX_OFFLOAD_TCP_CKSUM
+#define RTE_ETH_TX_OFFLOAD_UDP_CKSUM       DEV_TX_OFFLOAD_UDP_CKSUM
+#define RTE_ETH_TX_OFFLOAD_OUTER_IPV4_CKSUM DEV_TX_OFFLOAD_OUTER_IPV4_CKSUM
+#define RTE_ETH_TX_OFFLOAD_OUTER_UDP_CKSUM  DEV_TX_OFFLOAD_OUTER_UDP_CKSUM
+#define RTE_ETH_TX_OFFLOAD_TCP_TSO         DEV_TX_OFFLOAD_TCP_TSO
+#define RTE_ETH_TX_OFFLOAD_VXLAN_TNL_TSO    DEV_TX_OFFLOAD_VXLAN_TNL_TSO
+#define RTE_ETH_TX_OFFLOAD_MULTI_SEGS      DEV_TX_OFFLOAD_MULTI_SEGS
+#define RTE_ETH_RX_OFFLOAD_IPV4_CKSUM      DEV_RX_OFFLOAD_IPV4_CKSUM
+#define RTE_ETH_RX_OFFLOAD_SCATTER         DEV_RX_OFFLOAD_SCATTER
+#define RTE_ETH_RX_OFFLOAD_TCP_LRO         DEV_RX_OFFLOAD_TCP_LRO
+#define RTE_ETH_MQ_RX_RSS                  ETH_MQ_RX_RSS
+#define RTE_ETH_RX_OFFLOAD_TCP_CKSUM       DEV_RX_OFFLOAD_TCP_CKSUM
+#define RTE_ETH_RX_OFFLOAD_UDP_CKSUM       DEV_RX_OFFLOAD_UDP_CKSUM
+#define RTE_ETH_MQ_RX_NONE                 ETH_MQ_RX_NONE
+#define RTE_ETH_LINK_FULL_DUPLEX           ETH_LINK_FULL_DUPLEX
+#define RTE_ETH_LINK_HALF_DUPLEX           ETH_LINK_HALF_DUPLEX
+#define RTE_ETH_VLAN_STRIP_OFFLOAD         ETH_VLAN_STRIP_OFFLOAD
+#define RTE_ETH_VLAN_FILTER_OFFLOAD        ETH_VLAN_FILTER_OFFLOAD
+#define RTE_ETH_VLAN_EXTEND_OFFLOAD        ETH_VLAN_EXTEND_OFFLOAD
+#define RTE_ETH_LINK_SPEED_200G                    ETH_LINK_SPEED_200G
+#define RTE_ETH_LINK_SPEED_100G                    ETH_LINK_SPEED_100G
+#define RTE_ETH_LINK_SPEED_56G             ETH_LINK_SPEED_56G
+#define RTE_ETH_LINK_SPEED_50G             ETH_LINK_SPEED_50G
+#define RTE_ETH_LINK_SPEED_40G             ETH_LINK_SPEED_40G
+#define RTE_ETH_LINK_SPEED_25G             ETH_LINK_SPEED_25G
+#define RTE_ETH_LINK_SPEED_20G             ETH_LINK_SPEED_20G
+#define RTE_ETH_LINK_SPEED_10G             ETH_LINK_SPEED_10G
+#define RTE_ETH_LINK_SPEED_5G              ETH_LINK_SPEED_5G
+#define RTE_ETH_LINK_SPEED_2_5G                    ETH_LINK_SPEED_2_5G
+#define RTE_ETH_LINK_SPEED_1G              ETH_LINK_SPEED_1G
+#define RTE_ETH_RSS_IP                     ETH_RSS_IP
+#define RTE_ETH_RSS_UDP                            ETH_RSS_UDP
+#define RTE_ETH_RSS_TCP                            ETH_RSS_TCP
 #endif
 
 /*