mbuf: support GTP in software packet type parser

Add support of GTP-C and GTP-U tunnels in rte_net_get_ptype().

Signed-off-by: Beilei Xing <beilei.xing@intel.com>
Acked-by: Olivier Matz <olivier.matz@6wind.com>
Reviewed-by: Seán Harte <seanbh@gmail.com>
This commit is contained in:
Beilei Xing 2017-10-05 16:14:51 +08:00 committed by Ferruh Yigit
parent 942f03c920
commit b378e12e2a
2 changed files with 34 additions and 0 deletions

View File

@ -89,6 +89,8 @@ const char *rte_get_ptype_tunnel_name(uint32_t ptype)
case RTE_PTYPE_TUNNEL_NVGRE: return "TUNNEL_NVGRE";
case RTE_PTYPE_TUNNEL_GENEVE: return "TUNNEL_GENEVE";
case RTE_PTYPE_TUNNEL_GRENAT: return "TUNNEL_GRENAT";
case RTE_PTYPE_TUNNEL_GTPC: return "TUNNEL_GTPC";
case RTE_PTYPE_TUNNEL_GTPU: return "TUNNEL_GTPU";
default: return "TUNNEL_UNKNOWN";
}
}

View File

@ -382,6 +382,38 @@ extern "C" {
* capability.
*/
#define RTE_PTYPE_TUNNEL_GRENAT 0x00006000
/**
* GTP-C (GPRS Tunnelling Protocol) control tunneling packet type.
* Packet format:
* <'ether type'=0x0800
* | 'version'=4, 'protocol'=17
* | 'destination port'=2123>
* or,
* <'ether type'=0x86DD
* | 'version'=6, 'next header'=17
* | 'destination port'=2123>
* or,
* <'ether type'=0x0800
* | 'version'=4, 'protocol'=17
* | 'source port'=2123>
* or,
* <'ether type'=0x86DD
* | 'version'=6, 'next header'=17
* | 'source port'=2123>
*/
#define RTE_PTYPE_TUNNEL_GTPC 0x00007000
/**
* GTP-U (GPRS Tunnelling Protocol) user data tunneling packet type.
* Packet format:
* <'ether type'=0x0800
* | 'version'=4, 'protocol'=17
* | 'destination port'=2152>
* or,
* <'ether type'=0x86DD
* | 'version'=6, 'next header'=17
* | 'destination port'=2152>
*/
#define RTE_PTYPE_TUNNEL_GTPU 0x00008000
/**
* Mask of tunneling packet types.
*/