[dpdk-dev] [PATCH v2 3/5] ethdev: introduce tunnel type MPLS-in-GRE and MPLS-in-UDP

Adrien Mazarguil adrien.mazarguil at 6wind.com
Wed Apr 11 11:58:28 CEST 2018


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 <xuemingl at mellanox.com>

Minor comments below, otherwise:

Acked-by: Adrien Mazarguil <adrien.mazarguil at 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


More information about the dev mailing list