dpdk: update packet offload flags 96/34896/1
authorDamjan Marion <damarion@cisco.com>
Wed, 12 Jan 2022 18:17:26 +0000 (19:17 +0100)
committerDamjan Marion <damarion@cisco.com>
Wed, 12 Jan 2022 18:35:17 +0000 (19:35 +0100)
Type: improvement
Change-Id: Ib2c55dd2a246a690b2089f5c0b88508f732281f2
Signed-off-by: Damjan Marion <damarion@cisco.com>
src/plugins/dpdk/device/dpdk_priv.h
src/plugins/dpdk/device/format.c

index 535a532..e170134 100644 (file)
@@ -112,34 +112,55 @@ dpdk_update_counters (dpdk_device_t * xd, f64 now)
 }
 
 #if RTE_VERSION < RTE_VERSION_NUM(21, 11, 0, 0)
-#define RTE_MBUF_F_RX_VLAN              PKT_RX_VLAN
-#define RTE_MBUF_F_RX_RSS_HASH          PKT_RX_RSS_HASH
-#define RTE_MBUF_F_RX_FDIR              PKT_RX_FDIR
-#define RTE_MBUF_F_RX_L4_CKSUM_BAD      PKT_RX_L4_CKSUM_BAD
-#define RTE_MBUF_F_RX_IP_CKSUM_BAD      PKT_RX_IP_CKSUM_BAD
-#define RTE_MBUF_F_RX_OUTER_IP_CKSUM_BAD PKT_RX_OUTER_IP_CKSUM_BAD
-#define RTE_MBUF_F_RX_VLAN_STRIPPED     PKT_RX_VLAN_STRIPPED
-#define RTE_MBUF_F_RX_IP_CKSUM_GOOD     PKT_RX_IP_CKSUM_GOOD
-#define RTE_MBUF_F_RX_L4_CKSUM_GOOD     PKT_RX_L4_CKSUM_GOOD
-#define RTE_MBUF_F_RX_IEEE1588_PTP      PKT_RX_IEEE1588_PTP
-#define RTE_MBUF_F_RX_IEEE1588_TMST     PKT_RX_IEEE1588_TMST
-#define RTE_MBUF_F_RX_LRO               PKT_RX_LRO
-#define RTE_MBUF_F_RX_QINQ_STRIPPED     PKT_RX_QINQ_STRIPPED
-#define RTE_MBUF_F_RX_FDIR_ID           PKT_RX_FDIR_ID
-#define RTE_MBUF_F_TX_VLAN_PKT          PKT_TX_VLAN_PKT
-#define RTE_MBUF_F_TX_TUNNEL_VXLAN      PKT_TX_TUNNEL_VXLAN
-#define RTE_MBUF_F_TX_IP_CKSUM          PKT_TX_IP_CKSUM
-#define RTE_MBUF_F_TX_TCP_CKSUM                 PKT_TX_TCP_CKSUM
-#define RTE_MBUF_F_TX_UDP_CKSUM                 PKT_TX_UDP_CKSUM
-#define RTE_MBUF_F_TX_SCTP_CKSUM        PKT_TX_SCTP_CKSUM
-#define RTE_MBUF_F_TX_OUTER_IP_CKSUM    PKT_TX_OUTER_IP_CKSUM
-#define RTE_MBUF_F_TX_TCP_SEG           PKT_TX_TCP_SEG
-#define RTE_MBUF_F_TX_IEEE1588_TMST     PKT_TX_IEEE1588_TMST
-#define RTE_MBUF_F_TX_IPV4              PKT_TX_IPV4
-#define RTE_MBUF_F_TX_IPV6              PKT_TX_IPV6
-#define RTE_MBUF_F_TX_OUTER_IPV4        PKT_TX_OUTER_IPV4
-#define RTE_MBUF_F_TX_OUTER_IPV6        PKT_TX_OUTER_IPV6
-#define RTE_MBUF_F_TX_UDP_SEG           PKT_TX_UDP_SEG
+#define RTE_MBUF_F_RX_FDIR               PKT_RX_FDIR
+#define RTE_MBUF_F_RX_FDIR_FLX           PKT_RX_FDIR_FLX
+#define RTE_MBUF_F_RX_FDIR_ID            PKT_RX_FDIR_ID
+#define RTE_MBUF_F_RX_IEEE1588_PTP       PKT_RX_IEEE1588_PTP
+#define RTE_MBUF_F_RX_IEEE1588_TMST      PKT_RX_IEEE1588_TMST
+#define RTE_MBUF_F_RX_IP_CKSUM_BAD       PKT_RX_IP_CKSUM_BAD
+#define RTE_MBUF_F_RX_IP_CKSUM_GOOD      PKT_RX_IP_CKSUM_GOOD
+#define RTE_MBUF_F_RX_IP_CKSUM_NONE      PKT_RX_IP_CKSUM_GOOD
+#define RTE_MBUF_F_RX_L4_CKSUM_BAD       PKT_RX_L4_CKSUM_BAD
+#define RTE_MBUF_F_RX_L4_CKSUM_GOOD      PKT_RX_L4_CKSUM_GOOD
+#define RTE_MBUF_F_RX_L4_CKSUM_NONE      PKT_RX_L4_CKSUM_GOOD
+#define RTE_MBUF_F_RX_LRO                PKT_RX_LRO
+#define RTE_MBUF_F_RX_OUTER_IP_CKSUM_BAD  PKT_RX_OUTER_IP_CKSUM_BAD
+#define RTE_MBUF_F_RX_OUTER_L4_CKSUM_BAD  PKT_RX_OUTER_L4_CKSUM_GOOD
+#define RTE_MBUF_F_RX_OUTER_L4_CKSUM_GOOD PKT_RX_OUTER_L4_CKSUM_GOOD
+#define RTE_MBUF_F_RX_OUTER_L4_CKSUM_NONE PKT_RX_OUTER_L4_CKSUM_GOOD
+#define RTE_MBUF_F_RX_QINQ               PKT_RX_QINQ
+#define RTE_MBUF_F_RX_QINQ_STRIPPED      PKT_RX_QINQ_STRIPPED
+#define RTE_MBUF_F_RX_RSS_HASH           PKT_RX_RSS_HASH
+#define RTE_MBUF_F_RX_SEC_OFFLOAD        PKT_RX_SEC_OFFLOAD
+#define RTE_MBUF_F_RX_SEC_OFFLOAD_FAILED  PKT_RX_SEC_OFFLOAD_FAILED
+#define RTE_MBUF_F_RX_VLAN               PKT_RX_VLAN
+#define RTE_MBUF_F_RX_VLAN_STRIPPED      PKT_RX_VLAN_STRIPPED
+#define RTE_MBUF_F_TX_IEEE1588_TMST      PKT_TX_IEEE1588_TMST
+#define RTE_MBUF_F_TX_IPV4               PKT_TX_IPV4
+#define RTE_MBUF_F_TX_IPV6               PKT_TX_IPV6
+#define RTE_MBUF_F_TX_IP_CKSUM           PKT_TX_IP_CKSUM
+#define RTE_MBUF_F_TX_MACSEC             PKT_TX_MACSEC
+#define RTE_MBUF_F_TX_OUTER_IPV4         PKT_TX_OUTER_IPV4
+#define RTE_MBUF_F_TX_OUTER_IPV6         PKT_TX_OUTER_IPV6
+#define RTE_MBUF_F_TX_OUTER_IP_CKSUM     PKT_TX_OUTER_IP_CKSUM
+#define RTE_MBUF_F_TX_OUTER_UDP_CKSUM    PKT_TX_OUTER_UDP_CKSUM
+#define RTE_MBUF_F_TX_QINQ               PKT_TX_QINQ
+#define RTE_MBUF_F_TX_SCTP_CKSUM         PKT_TX_SCTP_CKSUM
+#define RTE_MBUF_F_TX_SEC_OFFLOAD        PKT_TX_SEC_OFFLOAD
+#define RTE_MBUF_F_TX_TCP_CKSUM                  PKT_TX_TCP_CKSUM
+#define RTE_MBUF_F_TX_TCP_SEG            PKT_TX_TCP_SEG
+#define RTE_MBUF_F_TX_TUNNEL_GENEVE      PKT_TX_TUNNEL_GENEVE
+#define RTE_MBUF_F_TX_TUNNEL_GRE         PKT_TX_TUNNEL_GRE
+#define RTE_MBUF_F_TX_TUNNEL_GTP         PKT_TX_TUNNEL_GTP
+#define RTE_MBUF_F_TX_TUNNEL_IP                  PKT_TX_TUNNEL_IP
+#define RTE_MBUF_F_TX_TUNNEL_IPIP        PKT_TX_TUNNEL_IPIP
+#define RTE_MBUF_F_TX_TUNNEL_MPLSINUDP   PKT_TX_TUNNEL_MPLSINUDP
+#define RTE_MBUF_F_TX_TUNNEL_UDP         PKT_TX_TUNNEL_UDP
+#define RTE_MBUF_F_TX_TUNNEL_VXLAN       PKT_TX_TUNNEL_VXLAN
+#define RTE_MBUF_F_TX_TUNNEL_VXLAN_GPE   PKT_TX_TUNNEL_VXLAN_GPE
+#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
 #endif
 
 /*
index 9b33e9b..20f5f74 100644 (file)
 #endif
 
 #define foreach_dpdk_pkt_rx_offload_flag                                      \
-  _ (RX_VLAN, "RX packet is a 802.1q VLAN packet")                            \
-  _ (RX_RSS_HASH, "RX packet with RSS hash result")                           \
   _ (RX_FDIR, "RX packet with FDIR infos")                                    \
-  _ (RX_L4_CKSUM_BAD, "L4 cksum of RX pkt. is not OK")                        \
+  _ (RX_FDIR_FLX, "RX packet with FDIR_FLX info")                             \
+  _ (RX_FDIR_ID, "RX packet with FDIR_ID info")                               \
+  _ (RX_IEEE1588_PTP, "RX IEEE1588 L2 Ethernet PT Packet")                    \
+  _ (RX_IEEE1588_TMST, "RX IEEE1588 L2/L4 timestamped packet")                \
   _ (RX_IP_CKSUM_BAD, "IP cksum of RX pkt. is not OK")                        \
-  _ (RX_OUTER_IP_CKSUM_BAD, "External IP header checksum error")              \
-  _ (RX_VLAN_STRIPPED, "RX packet VLAN tag stripped")                         \
   _ (RX_IP_CKSUM_GOOD, "IP cksum of RX pkt. is valid")                        \
+  _ (RX_IP_CKSUM_NONE, "no IP cksum of RX pkt.")                              \
+  _ (RX_L4_CKSUM_BAD, "L4 cksum of RX pkt. is not OK")                        \
   _ (RX_L4_CKSUM_GOOD, "L4 cksum of RX pkt. is valid")                        \
-  _ (RX_IEEE1588_PTP, "RX IEEE1588 L2 Ethernet PT Packet")                    \
-  _ (RX_IEEE1588_TMST, "RX IEEE1588 L2/L4 timestamped packet")                \
+  _ (RX_L4_CKSUM_NONE, "no L4 cksum of RX pkt.")                              \
   _ (RX_LRO, "LRO packet")                                                    \
-  _ (RX_QINQ_STRIPPED, "RX packet QinQ tags stripped")
+  _ (RX_OUTER_IP_CKSUM_BAD, "External IP header checksum error")              \
+  _ (RX_OUTER_L4_CKSUM_BAD, "External L4 header checksum error")              \
+  _ (RX_OUTER_L4_CKSUM_GOOD, "External L4 header checksum OK")                \
+  _ (RX_QINQ, "RX packet with QinQ tags")                                     \
+  _ (RX_QINQ_STRIPPED, "RX packet QinQ tags stripped")                        \
+  _ (RX_RSS_HASH, "RX packet with RSS hash result")                           \
+  _ (RX_SEC_OFFLOAD, "RX packet with security offload")                       \
+  _ (RX_SEC_OFFLOAD_FAILED, "RX packet with security offload failed")         \
+  _ (RX_VLAN, "RX packet is a 802.1q VLAN packet")                            \
+  _ (RX_VLAN_STRIPPED, "RX packet VLAN tag stripped")
 
 #define foreach_dpdk_pkt_type                                           \
   _ (L2, ETHER, "Ethernet packet")                                      \
   _ (INNER_L4, NONFRAG, "Inner non-fragmented IP packet")
 
 #define foreach_dpdk_pkt_tx_offload_flag                                      \
-  _ (TX_VLAN_PKT, "TX packet is a 802.1q VLAN packet")                        \
-  _ (TX_TUNNEL_VXLAN, "TX packet is a VXLAN packet")                          \
+  _ (TX_IEEE1588_TMST, "TX IEEE1588 packet to timestamp")                     \
+  _ (TX_IPV4, "TX IPV4")                                                      \
+  _ (TX_IPV6, "TX IPV6")                                                      \
   _ (TX_IP_CKSUM, "IP cksum of TX pkt. computed by NIC")                      \
-  _ (TX_TCP_CKSUM, "TCP cksum of TX pkt. computed by NIC")                    \
-  _ (TX_SCTP_CKSUM, "SCTP cksum of TX pkt. computed by NIC")                  \
+  _ (TX_MACSEC, "TX MACSEC")                                                  \
+  _ (TX_OUTER_IPV4, "TX outer IPV4")                                          \
+  _ (TX_OUTER_IPV6, "TX outer IPV6")                                          \
   _ (TX_OUTER_IP_CKSUM, "Outer IP cksum of Tx pkt. computed by NIC")          \
+  _ (TX_OUTER_UDP_CKSUM, "TX outer UDP cksum")                                \
+  _ (TX_QINQ, "TX QINQ")                                                      \
+  _ (TX_SCTP_CKSUM, "SCTP cksum of TX pkt. computed by NIC")                  \
+  _ (TX_SEC_OFFLOAD, "TX SEC OFFLOAD")                                        \
+  _ (TX_TCP_CKSUM, "TCP cksum of TX pkt. computed by NIC")                    \
   _ (TX_TCP_SEG, "TSO of TX pkt. done by NIC")                                \
-  _ (TX_IEEE1588_TMST, "TX IEEE1588 packet to timestamp")
+  _ (TX_TUNNEL_GENEVE, "TX tunnel GENEVE")                                    \
+  _ (TX_TUNNEL_GRE, "TX tunnel GRE")                                          \
+  _ (TX_TUNNEL_GTP, "TX tunnel GTP")                                          \
+  _ (TX_TUNNEL_IP, "TX tunnel IP")                                            \
+  _ (TX_TUNNEL_IPIP, "TX tunnel IPIP")                                        \
+  _ (TX_TUNNEL_MPLSINUDP, "TX tunnel MPLSinUDP")                              \
+  _ (TX_TUNNEL_UDP, "TX tunnel UDP")                                          \
+  _ (TX_TUNNEL_VXLAN, "TX packet is a VXLAN packet")                          \
+  _ (TX_TUNNEL_VXLAN_GPE, "TX tunnel VXLAN GPE")                              \
+  _ (TX_UDP_CKSUM, "TX UDP cksum")                                            \
+  _ (TX_UDP_SEG, "TX UDP SEG")                                                \
+  _ (TX_VLAN, "TX packet is a 802.1q VLAN packet")
 
 #define foreach_dpdk_pkt_offload_flag           \
   foreach_dpdk_pkt_rx_offload_flag              \