mbuf: add PPPoE and L2TP packet types

Add support of PPPoE and L2TP packet types.

Signed-off-by: Beilei Xing <beilei.xing@intel.com>
Acked-by: Olivier Matz <olivier.matz@6wind.com>
This commit is contained in:
Beilei Xing 2018-01-04 18:46:20 +08:00 committed by Ferruh Yigit
parent 46ea969177
commit 108b6a28e8
2 changed files with 28 additions and 0 deletions

View File

@ -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";
}
}

View File

@ -152,6 +152,13 @@ extern "C" {
* <'ether type'=[0x88A8]>
*/
#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.
@ -425,6 +432,25 @@ extern "C" {
* | 'version'=6, 'next header'=51>
*/
#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.
*/