[dpdk-dev] [PATCH 1/2] mbuf: support PPPoE and L2TP in software packet type parser
Xing, Beilei
beilei.xing at intel.com
Wed Dec 20 04:13:08 CET 2017
> -----Original Message-----
> From: Olivier MATZ [mailto:olivier.matz at 6wind.com]
> Sent: Tuesday, December 19, 2017 6:11 PM
> To: Xing, Beilei <beilei.xing at intel.com>
> Cc: Wu, Jingjing <jingjing.wu at intel.com>; dev at dpdk.org; Chilikin, Andrey
> <andrey.chilikin at intel.com>
> Subject: Re: [PATCH 1/2] mbuf: support PPPoE and L2TP in software packet
> type parser
>
> Hi Beilei,
>
> On Tue, Nov 28, 2017 at 06:12:55PM +0800, Beilei Xing wrote:
> > Add support of PPPoE and L2TP in rte_net_get_ptype().
> >
> > Signed-off-by: Beilei Xing <beilei.xing at intel.com>
> > ---
> > lib/librte_mbuf/rte_mbuf_ptype.c | 2 ++
> > lib/librte_mbuf/rte_mbuf_ptype.h | 26 ++++++++++++++++++++++++++
> > 2 files changed, 28 insertions(+)
> >
> > diff --git a/lib/librte_mbuf/rte_mbuf_ptype.c
> > b/lib/librte_mbuf/rte_mbuf_ptype.c
> > index a623226..e0f2a92 100644
> > --- a/lib/librte_mbuf/rte_mbuf_ptype.c
> > +++ b/lib/librte_mbuf/rte_mbuf_ptype.c
> > @@ -47,6 +47,7 @@ const char *rte_get_ptype_l2_name(uint32_t ptype)
> > case RTE_PTYPE_L2_ETHER_NSH: return "L2_ETHER_NSH";
> > case RTE_PTYPE_L2_ETHER_VLAN: return "L2_ETHER_VLAN";
> > case RTE_PTYPE_L2_ETHER_QINQ: return "L2_ETHER_QINQ";
> > + case RTE_PTYPE_L2_ETHER_PPPOE: return "L2_ETHER_PPPOE";
> > default: return "L2_UNKNOWN";
> > }
> > }
> > @@ -92,6 +93,7 @@ const char *rte_get_ptype_tunnel_name(uint32_t
> ptype)
> > case RTE_PTYPE_TUNNEL_GTPC: return "TUNNEL_GTPC";
> > case RTE_PTYPE_TUNNEL_GTPU: return "TUNNEL_GTPU";
> > case RTE_PTYPE_TUNNEL_ESP: return "TUNNEL_ESP";
> > + case RTE_PTYPE_TUNNEL_L2TP: return "TUNNEL_L2TP";
> > default: return "TUNNEL_UNKNOWN";
> > }
> > }
> > diff --git a/lib/librte_mbuf/rte_mbuf_ptype.h
> > b/lib/librte_mbuf/rte_mbuf_ptype.h
> > index 5c62435..256f024 100644
> > --- a/lib/librte_mbuf/rte_mbuf_ptype.h
> > +++ b/lib/librte_mbuf/rte_mbuf_ptype.h
> > @@ -153,6 +153,13 @@ extern "C" {
> > */
> > #define RTE_PTYPE_L2_ETHER_QINQ 0x00000007
> > /**
> > + * PPPOE packet type.
> > + *
> > + * Packet format:
> > + * <'ether type'=[0x8863|0x8864]>
> > + */
> > +#define RTE_PTYPE_L2_ETHER_PPPOE 0x00000008
> > +/**
> > * Mask of layer 2 packet types.
> > * It is used for outer packet for tunneling cases.
> > */
> > @@ -426,6 +433,25 @@ extern "C" {
> > */
> > #define RTE_PTYPE_TUNNEL_ESP 0x00009000
> > /**
> > + * L2TP (Layer 2 Tunneling Protocol) tunnleing packet type.
> > + *
> > + * Packet format:
> > + * <'ether type'=0x0800
> > + * | 'version'=4, 'protocol'=17>
> > + * | 'destination port'=1701>
> > + * or,
> > + * <'ether type'=0x86DD
> > + * | 'version'=6, 'next header'=17
> > + * | 'destination port'=1701>
> > + * or,
> > + * <'ether type'=0x0800
> > + * | 'version'=4, 'protocol'=115>
> > + * or,
> > + * <'ether type'=0x86DD
> > + * | 'version'=6, 'protocol'=115>
> > + */
> > +#define RTE_PTYPE_TUNNEL_L2TP 0x0000a000
> > +/**
> > * Mask of tunneling packet types.
> > */
> > #define RTE_PTYPE_TUNNEL_MASK 0x0000f000
>
> The patch looks good, but it should be renamed:
>
> > mbuf: support PPPoE and L2TP in software packet type parser
>
> The patch just adds the definition of the packet types, it does not add the
> support of these packet types in the software parser, which is located in
> rte_net_get_ptype().
>
> So, I suggest this title instead:
>
> mbuf: add PPPoE and L2TP packet types
Yes, thanks for the comments. Will update in the next version.
>
>
> Thanks
> Olivier
More information about the dev
mailing list