[V1][DTS 1/2] framework/packet: Add GTPU and GENEVE support for packet module.
Ke Xu
ke1.xu at intel.com
Tue Jul 4 08:47:25 CEST 2023
Implemented GTPU and GENEVE layer in packet module.
Packet module only supports limited tunneling layers like VxLAN,
GRE. New packet types are required in recent DPDK releases and
GTPU and GENEVE are required to be added.
Signed-off-by: Ke Xu <ke1.xu at intel.com>
---
framework/packet.py | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/framework/packet.py b/framework/packet.py
index 2c16e7cb..c44c955f 100644
--- a/framework/packet.py
+++ b/framework/packet.py
@@ -17,6 +17,8 @@ import time
from importlib import import_module
from socket import AF_INET6
+from scapy.contrib.geneve import GENEVE
+from scapy.contrib.gtp import GTP_U_Header, GTPPDUSessionContainer
from scapy.contrib.lldp import LLDPDU, LLDPDUManagementAddress
from scapy.contrib.mpls import MPLS
from scapy.contrib.nsh import NSH
@@ -51,6 +53,7 @@ scapy_modules_required = {
"GTPEchoRequest",
"GTPEchoResponse",
],
+ "scapy.contrib.geneve": ["GENEVE"],
"scapy.contrib.lldp": ["LLDPDU", "LLDPDUManagementAddress"],
"scapy.contrib.pfcp": ["PFCP"],
"scapy.contrib.nsh": ["NSH"],
@@ -90,7 +93,7 @@ LayersTypes = {
# <'ether type'=0x0800 'version'=4, 'protocol'=17 'destination port'=4789>
# or
# <'ether type'=0x86DD 'version'=6, 'next header'=17 'destination port'=4789>
- "TUNNEL": ["ip", "gre", "vxlan", "nvgre", "geneve", "grenat"],
+ "TUNNEL": ["ip", "gre", "vxlan", "nvgre", "gtpu", "geneve", "grenat"],
"INNER L2": ["inner_mac", "inner_vlan"],
# inner_ipv4_unknown, inner_ipv6_unknown
"INNER L3": ["inner_ipv4", "inner_ipv4_ext", "inner_ipv6", "inner_ipv6_ext"],
@@ -167,7 +170,8 @@ class scapy(object):
"ipv6_in_ip": IP() / IPv6(src="::1"),
"ipv6_frag_in_ip": IP() / IPv6(src="::1", nh=44) / IPv6ExtHdrFragment(),
"nvgre": GRE(key_present=1, proto=0x6558, key=0x00000100),
- "geneve": "Not Implement",
+ "gtpu": GTP_U_Header(gtp_type=255, teid=0x123456),
+ "geneve": GENEVE(),
}
def __init__(self):
--
2.34.1
More information about the dts
mailing list