On Tue, Apr 10, 2018 at 09:00:34PM +0800, Xueming Li wrote: > This patch adds new tunnel type for MPLS-in-GRE and MPLS-in-UDP. > > MPLS-in-GRE protocol link: > https://tools.ietf.org/html/rfc4023 > > MPLS-in-UDP protocol link: > https://tools.ietf.org/html/rfc7510 > > Signed-off-by: Xueming Li <xuemi...@mellanox.com>
Minor comments below, otherwise: Acked-by: Adrien Mazarguil <adrien.mazarg...@6wind.com> > --- > lib/librte_mbuf/rte_mbuf_ptype.c | 2 ++ > lib/librte_mbuf/rte_mbuf_ptype.h | 34 ++++++++++++++++++++++++++++++++++ > 2 files changed, 36 insertions(+) > > diff --git a/lib/librte_mbuf/rte_mbuf_ptype.c > b/lib/librte_mbuf/rte_mbuf_ptype.c > index 49106c7df..10abfe89c 100644 > --- a/lib/librte_mbuf/rte_mbuf_ptype.c > +++ b/lib/librte_mbuf/rte_mbuf_ptype.c > @@ -66,6 +66,8 @@ const char *rte_get_ptype_tunnel_name(uint32_t ptype) > case RTE_PTYPE_TUNNEL_ESP: return "TUNNEL_ESP"; > case RTE_PTYPE_TUNNEL_L2TP: return "TUNNEL_L2TP"; > case RTE_PTYPE_TUNNEL_VXLAN_GPE: return "TUNNEL_VXLAN_GPE"; > + case RTE_PTYPE_TUNNEL_MPLS_IN_UDP: return "TUNNEL_MPLS-IN-UDP"; > + case RTE_PTYPE_TUNNEL_MPLS_IN_GRE: return "TUNNEL_MPLS-IN-GRE"; > default: return "TUNNEL_UNKNOWN"; > } > } > diff --git a/lib/librte_mbuf/rte_mbuf_ptype.h > b/lib/librte_mbuf/rte_mbuf_ptype.h > index 7caf83312..a70cc7a4e 100644 > --- a/lib/librte_mbuf/rte_mbuf_ptype.h > +++ b/lib/librte_mbuf/rte_mbuf_ptype.h > @@ -436,6 +436,40 @@ extern "C" { > */ > #define RTE_PTYPE_TUNNEL_VXLAN_GPE 0x0000b000 > /** > + * MPLS-in-GRE tunneling packet type. How about mentioning "(RFC 4023)"? > + * > + * Packet format: > + * <'ether type'=0x0800 > + * | 'version'=4, 'protocol'=47 > + * | 'protocol'=0x8847> > + * or, > + * <'ether type'=0x0800 > + * | 'version'=4, 'protocol'=47 > + * | 'protocol'=0x8848> > + * or, > + * <'ether type'=0x86DD > + * | 'version'=6, 'protocol'=47 > + * | 'protocol'=0x8847> > + * or, > + * <'ether type'=0x86DD > + * | 'version'=6, 'next header'=47 > + * | 'protocol'=0x8848> > + */ > +#define RTE_PTYPE_TUNNEL_MPLS_IN_GRE 0x0000c000 > +/** > + * MPLS-in-UDP tunneling packet type. Here also with "(RFC 7510)". > + * > + * Packet format: > + * <'ether type'=0x0800 > + * | 'version'=4, 'protocol'=17 > + * | 'destination port'=6635> > + * or, > + * <'ether type'=0x86DD > + * | 'version'=6, 'next header'=17 > + * | 'destination port'=6635> > + */ > +#define RTE_PTYPE_TUNNEL_MPLS_IN_UDP 0x0000d000 > +/** > * Mask of tunneling packet types. > */ > #define RTE_PTYPE_TUNNEL_MASK 0x0000f000 > -- > 2.13.3 > -- Adrien Mazarguil 6WIND