mbuf: introduce new Tx offload flag for MPLS-in-UDP
authorHarish Patil <harish.patil@cavium.com>
Tue, 27 Jun 2017 07:21:31 +0000 (00:21 -0700)
committerFerruh Yigit <ferruh.yigit@intel.com>
Thu, 6 Jul 2017 13:00:57 +0000 (15:00 +0200)
Some PMDs need to know the tunnel type in order to handle advance TX
features. This patch adds a new TX offload flag for MPLS-in-UDP packets.

Signed-off-by: Harish Patil <harish.patil@cavium.com>
Acked-by: Olivier Matz <olivier.matz@6wind.com>
lib/librte_mbuf/rte_mbuf.c
lib/librte_mbuf/rte_mbuf.h

index ab436b9..26a62b8 100644 (file)
@@ -408,6 +408,7 @@ const char *rte_get_tx_ol_flag_name(uint64_t mask)
        case PKT_TX_TUNNEL_GRE: return "PKT_TX_TUNNEL_GRE";
        case PKT_TX_TUNNEL_IPIP: return "PKT_TX_TUNNEL_IPIP";
        case PKT_TX_TUNNEL_GENEVE: return "PKT_TX_TUNNEL_GENEVE";
+       case PKT_TX_TUNNEL_MPLSINUDP: return "PKT_TX_TUNNEL_MPLSINUDP";
        case PKT_TX_MACSEC: return "PKT_TX_MACSEC";
        default: return NULL;
        }
@@ -439,6 +440,8 @@ rte_get_tx_ol_flag_list(uint64_t mask, char *buf, size_t buflen)
                  "PKT_TX_TUNNEL_NONE" },
                { PKT_TX_TUNNEL_GENEVE, PKT_TX_TUNNEL_MASK,
                  "PKT_TX_TUNNEL_NONE" },
+               { PKT_TX_TUNNEL_MPLSINUDP, PKT_TX_TUNNEL_MASK,
+                 "PKT_TX_TUNNEL_NONE" },
                { PKT_TX_MACSEC, PKT_TX_MACSEC, NULL },
        };
        const char *name;
index fbe8203..55206d9 100644 (file)
@@ -208,6 +208,8 @@ extern "C" {
 #define PKT_TX_TUNNEL_GRE     (0x2ULL << 45)
 #define PKT_TX_TUNNEL_IPIP    (0x3ULL << 45)
 #define PKT_TX_TUNNEL_GENEVE  (0x4ULL << 45)
+/**< TX packet with MPLS-in-UDP RFC 7510 header. */
+#define PKT_TX_TUNNEL_MPLSINUDP (0x5ULL << 45)
 /* add new TX TUNNEL type here */
 #define PKT_TX_TUNNEL_MASK    (0xFULL << 45)