diff options
5 files changed, 18 insertions, 78 deletions
diff --git a/scripts/automation/trex_control_plane/stl/services/scapy_server/scapy_service.py b/scripts/automation/trex_control_plane/stl/services/scapy_server/scapy_service.py index 1ad6843c..91257596 100755 --- a/scripts/automation/trex_control_plane/stl/services/scapy_server/scapy_service.py +++ b/scripts/automation/trex_control_plane/stl/services/scapy_server/scapy_service.py @@ -12,8 +12,22 @@ import numbers import inspect import json from pprint import pprint -#from scapy.layers.dns import DNS -#from scapy.contrib.mpls import MPLS + +# add some layers as an example +# need to test more +from scapy.layers.dns import * +from scapy.layers.dhcp import * +from scapy.layers.ipsec import * +from scapy.layers.netflow import * +from scapy.layers.sctp import * +from scapy.layers.tftp import * + +from scapy.contrib.mpls import * +from scapy.contrib.igmp import * +from scapy.contrib.igmpv3 import * + + + #additional_stl_udp_pkts = os.path.abspath(os.path.join(os.pardir,os.pardir,os.pardir,os.pardir, os.pardir,'stl')) #sys.path.append(additional_stl_udp_pkts) diff --git a/scripts/external_libs/scapy-2.3.1/python2/scapy/fields.py b/scripts/external_libs/scapy-2.3.1/python2/scapy/fields.py index 8bb8c970..df85875a 100644 --- a/scripts/external_libs/scapy-2.3.1/python2/scapy/fields.py +++ b/scripts/external_libs/scapy-2.3.1/python2/scapy/fields.py @@ -242,9 +242,7 @@ class SourceIPField(IPField): self.dstname = dstname def i2m(self, pkt, x): if x is None: - iff,x,gw = pkt.route() - if x is None: - x = "0.0.0.0" + x="16.0.0.1" return IPField.i2m(self, pkt, x) def i2h(self, pkt, x): if x is None: diff --git a/scripts/external_libs/scapy-2.3.1/python2/scapy/layers/l2.py b/scripts/external_libs/scapy-2.3.1/python2/scapy/layers/l2.py index 3f80ed7d..bb093042 100644 --- a/scripts/external_libs/scapy-2.3.1/python2/scapy/layers/l2.py +++ b/scripts/external_libs/scapy-2.3.1/python2/scapy/layers/l2.py @@ -84,49 +84,14 @@ def getmacbyip(ip, chainCC=0): class DestMACField(MACField): def __init__(self, name): MACField.__init__(self, name, None) - def i2h(self, pkt, x): - if x is None: - x = conf.neighbor.resolve(pkt,pkt.payload) - if x is None: - x = "ff:ff:ff:ff:ff:ff" - warning("Mac address to reach destination not found. Using broadcast.") - return MACField.i2h(self, pkt, x) - def i2m(self, pkt, x): - return MACField.i2m(self, pkt, self.i2h(pkt, x)) class SourceMACField(MACField): def __init__(self, name): MACField.__init__(self, name, None) - def i2h(self, pkt, x): - if x is None: - iff,a,gw = pkt.payload.route() - if iff: - try: - x = get_if_hwaddr(iff) - except: - pass - if x is None: - x = "00:00:00:00:00:00" - return MACField.i2h(self, pkt, x) - def i2m(self, pkt, x): - return MACField.i2m(self, pkt, self.i2h(pkt, x)) class ARPSourceMACField(MACField): def __init__(self, name): MACField.__init__(self, name, None) - def i2h(self, pkt, x): - if x is None: - iff,a,gw = pkt.route() - if iff: - try: - x = get_if_hwaddr(iff) - except: - pass - if x is None: - x = "00:00:00:00:00:00" - return MACField.i2h(self, pkt, x) - def i2m(self, pkt, x): - return MACField.i2m(self, pkt, self.i2h(pkt, x)) diff --git a/scripts/external_libs/scapy-2.3.1/python3/scapy/fields.py b/scripts/external_libs/scapy-2.3.1/python3/scapy/fields.py index 5482ce87..66ccd552 100644 --- a/scripts/external_libs/scapy-2.3.1/python3/scapy/fields.py +++ b/scripts/external_libs/scapy-2.3.1/python3/scapy/fields.py @@ -250,9 +250,7 @@ class SourceIPField(IPField): self.dstname = dstname def i2m(self, pkt, x): if x is None: - iff,x,gw = pkt.route() - if x is None: - x = "0.0.0.0" + x="16.0.0.1" return IPField.i2m(self, pkt, x) def i2h(self, pkt, x): if x is None: diff --git a/scripts/external_libs/scapy-2.3.1/python3/scapy/layers/l2.py b/scripts/external_libs/scapy-2.3.1/python3/scapy/layers/l2.py index 0d0a1c78..3a57f9c4 100644 --- a/scripts/external_libs/scapy-2.3.1/python3/scapy/layers/l2.py +++ b/scripts/external_libs/scapy-2.3.1/python3/scapy/layers/l2.py @@ -84,49 +84,14 @@ def getmacbyip(ip, chainCC=0): class DestMACField(MACField): def __init__(self, name): MACField.__init__(self, name, None) - def i2h(self, pkt, x): - if x is None: - x = conf.neighbor.resolve(pkt,pkt.payload) - if x is None: - x = "ff:ff:ff:ff:ff:ff" - warning("Mac address to reach destination not found. Using broadcast.") - return MACField.i2h(self, pkt, x) - def i2m(self, pkt, x): - return MACField.i2m(self, pkt, self.i2h(pkt, x)) class SourceMACField(MACField): def __init__(self, name): MACField.__init__(self, name, None) - def i2h(self, pkt, x): - if x is None: - iff,a,gw = pkt.payload.route() - if iff: - try: - x = get_if_hwaddr(iff) - except: - pass - if x is None: - x = "00:00:00:00:00:00" - return MACField.i2h(self, pkt, x) - def i2m(self, pkt, x): - return MACField.i2m(self, pkt, self.i2h(pkt, x)) class ARPSourceMACField(MACField): def __init__(self, name): MACField.__init__(self, name, None) - def i2h(self, pkt, x): - if x is None: - iff,a,gw = pkt.route() - if iff: - try: - x = get_if_hwaddr(iff) - except: - pass - if x is None: - x = "00:00:00:00:00:00" - return MACField.i2h(self, pkt, x) - def i2m(self, pkt, x): - return MACField.i2m(self, pkt, self.i2h(pkt, x)) |