diff options
-rw-r--r-- | test/Makefile | 2 | ||||
-rw-r--r-- | test/lisp.py | 9 | ||||
-rw-r--r-- | test/test_lisp.py | 24 |
3 files changed, 24 insertions, 11 deletions
diff --git a/test/Makefile b/test/Makefile index 5b4a965482c..9f13e90d701 100644 --- a/test/Makefile +++ b/test/Makefile @@ -73,7 +73,7 @@ PYTHON_EXTRA_DEPENDS= endif PYTHON_VENV_PATH=$(VPP_PYTHON_PREFIX)/virtualenv -PYTHON_DEPENDS=$(PYTHON_EXTRA_DEPENDS) psutil faulthandler six scapy==2.4.0 pexpect cryptography subprocess32 cffi syslog-rfc5424-parser git+https://github.com/vpp-dev/py-lispnetworking +PYTHON_DEPENDS=$(PYTHON_EXTRA_DEPENDS) psutil faulthandler six scapy==2.4.0 pexpect cryptography subprocess32 cffi syslog-rfc5424-parser SCAPY_SOURCE=$(shell find $(PYTHON_VENV_PATH) -name site-packages) BUILD_COV_DIR=$(BR)/test-cov diff --git a/test/lisp.py b/test/lisp.py index 865070dff9d..a1f0c1675a0 100644 --- a/test/lisp.py +++ b/test/lisp.py @@ -1,10 +1,4 @@ -from random import randint -from socket import AF_INET, AF_INET6 -from scapy.all import * -from scapy.packet import * from scapy.fields import * -from lisp import * -from framework import * from vpp_object import * @@ -292,7 +286,8 @@ class VppLispAdjacency(VppObject): reid_len=self._reid.prefix_length, vni=self._vni) self._test.registry.register(self, self.test.logger) - def eid_equal(self, eid, eid_type, eid_data, prefix_len): + @staticmethod + def eid_equal(eid, eid_type, eid_data, prefix_len): if eid.eid_type != eid_type: return False diff --git a/test/test_lisp.py b/test/test_lisp.py index cfe8e0af65d..b6272dcb1bd 100644 --- a/test/test_lisp.py +++ b/test/test_lisp.py @@ -1,13 +1,31 @@ #!/usr/bin/env python import unittest -from scapy.packet import Raw +from scapy.fields import BitField, ByteField, FlagsField, IntField +from scapy.packet import bind_layers, Packet, Raw from scapy.layers.inet import IP, UDP, Ether -from py_lispnetworking.lisp import LISP_GPE_Header +from scapy.layers.inet6 import IPv6 -from util import ppp, ForeignAddressFactory from framework import VppTestCase, VppTestRunner from lisp import * +from util import ppp, ForeignAddressFactory + +# From py_lispnetworking.lisp.py: # GNU General Public License v2.0 + + +class LISP_GPE_Header(Packet): + name = "LISP GPE Header" + fields_desc = [ + FlagsField("gpe_flags", None, 6, ["N", "L", "E", "V", "I", "P"]), + BitField("reserved", 0, 18), + ByteField("next_proto", 0), + IntField("iid", 0), + ] +bind_layers(UDP, LISP_GPE_Header, dport=4341) +bind_layers(UDP, LISP_GPE_Header, sport=4341) +bind_layers(LISP_GPE_Header, IP, next_proto=1) +bind_layers(LISP_GPE_Header, IPv6, next_proto=2) +bind_layers(LISP_GPE_Header, Ether, next_proto=3) class Driver(object): |