[dts] [PATCH V2 1/2] add sctp/gre format support in framework/packet module
Yufen Mo
yufengx.mo at intel.com
Tue Jul 26 07:45:02 CEST 2016
From: yufengmx <yufengx.mo at intel.com>
Signed-off-by: yufengmx <yufengx.mo at intel.com>
---
framework/packet.py | 19 +++++++++++++++++++
1 file changed, 19 insertions(+)
diff --git a/framework/packet.py b/framework/packet.py
index a46fd47..30f3b4a 100755
--- a/framework/packet.py
+++ b/framework/packet.py
@@ -255,12 +255,24 @@ class scapy(object):
if chksum is not None:
pkt_layer.chksum = chksum
+ def sctp(self, src=53, dst=53, len=None, chksum=None):
+ self.pkt[SCTP].sport = src
+ self.pkt[SCTP].dport = dst
+ if len is not None:
+ self.pkt[SCTP].len = len
+ if chksum is not None:
+ self.pkt[SCTP].chksum = chksum
+
def raw(self, pkt_layer, payload=None):
if payload is not None:
pkt_layer.load = ''
for hex1, hex2 in payload:
pkt_layer.load += struct.pack("=B", int('%s%s' %(hex1, hex2), 16))
+ def gre(self, proto=None):
+ if proto is not None:
+ self.pkt[GRE].proto = proto
+
def vxlan(self, pkt_layer, vni=0):
pkt_layer.vni = vni
@@ -450,6 +462,7 @@ class Packet(object):
'IPihl': 'ipv4ihl',
'IPFRAG': 'ipv4_ext',
'IPv6': 'ipv6',
+ 'IPv6-TUNNEL':'inner_ipv6',
'IPv6FRAG': 'ipv6_frag',
'IPv6EXT': 'ipv6_ext',
'IPv6EXT2': 'ipv6_ext2',
@@ -565,6 +578,12 @@ class Packet(object):
def _config_layer_tcp(self, pkt_layer, config):
return self.pktgen.tcp(pkt_layer, **config)
+ def _config_layer_sctp(self, pkt_layer, config):
+ return self.pktgen.sctp(**config)
+
+ def _config_layer_gre(self, pkt_layer, config):
+ return self.pktgen.gre(**config)
+
def _config_layer_raw(self, pkt_layer, config):
return self.pktgen.raw(pkt_layer, **config)
--
1.9.3
More information about the dts
mailing list