[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