* [dts] [PATCH V1 1/3][scapy vxlan] dep/vxlan: modify class name from Vxlan to VXLAN
@ 2019-07-23 0:50 lihong
2019-07-23 0:50 ` [dts] [PATCH V1 2/3][scapy vxlan] framework: update vxlan " lihong
` (2 more replies)
0 siblings, 3 replies; 6+ messages in thread
From: lihong @ 2019-07-23 0:50 UTC (permalink / raw)
To: dts; +Cc: lihong
from scapy 2.3.3, the vxlan is supported by default, so unify the
class name between high version and low version.
Signed-off-by: lihong <lihongx.ma@intel.com>
---
dep/vxlan.py | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/dep/vxlan.py b/dep/vxlan.py
index 8fc914b..d160718 100644
--- a/dep/vxlan.py
+++ b/dep/vxlan.py
@@ -13,16 +13,16 @@ vxlanmagic = "0x8"
VXLAN_PORT=4789
-class Vxlan(Packet):
- name = "Virtual eXtensible Local Area Network"
- fields_desc = [ByteField("flag", 8),
+class VXLAN(Packet):
+ name = "VXLAN"
+ fields_desc = [ByteField("flags", 8),
X3BytesField("reserved1", 0),
X3BytesField("vni", 0),
ByteField("reserved2", 0)]
def guess_payload_class(self, payload):
if self.flag == vxlanmagic:
- return Vxlan
+ return VXLAN
else:
return Packet.guess_payload_class(self, payload)
@@ -30,5 +30,5 @@ class Vxlan(Packet):
return self.sprintf("VXLAN (vni=%VXLAN.vni%)")
split_layers(UDP, DNS, sport=53)
-bind_layers(UDP, Vxlan, dport=VXLAN_PORT)
-bind_layers(Vxlan, Ether)
+bind_layers(UDP, VXLAN, dport=VXLAN_PORT)
+bind_layers(VXLAN, Ether)
--
2.7.4
^ permalink raw reply [flat|nested] 6+ messages in thread
* [dts] [PATCH V1 2/3][scapy vxlan] framework: update vxlan name from Vxlan to VXLAN
2019-07-23 0:50 [dts] [PATCH V1 1/3][scapy vxlan] dep/vxlan: modify class name from Vxlan to VXLAN lihong
@ 2019-07-23 0:50 ` lihong
2019-07-23 9:13 ` Zhu, ShuaiX
2019-07-23 0:50 ` [dts] [PATCH V1 3/3][scapy vxlan] tests: " lihong
2019-07-23 9:13 ` [dts] [PATCH V1 1/3][scapy vxlan] dep/vxlan: modify class " Zhu, ShuaiX
2 siblings, 1 reply; 6+ messages in thread
From: lihong @ 2019-07-23 0:50 UTC (permalink / raw)
To: dts; +Cc: lihong
depend on dep/vxlan.py, update Vxlan to VXLAN
Signed-off-by: lihong <lihongx.ma@intel.com>
---
framework/etgen.py | 12 ++++++------
framework/packet.py | 4 ++--
framework/pktgen_ixia.py | 14 +++++++-------
3 files changed, 15 insertions(+), 15 deletions(-)
diff --git a/framework/etgen.py b/framework/etgen.py
index cd6829d..212b9c2 100644
--- a/framework/etgen.py
+++ b/framework/etgen.py
@@ -238,19 +238,19 @@ class IxiaPacketGenerator(SSHConnection):
def parse_pcap(self, fpcap):
dump_str1 = "cmds = []\n"
dump_str2 = "for i in rdpcap('%s', -1):\n" % fpcap
- dump_str3 = " if 'Vxlan' in i.command():\n" + \
+ dump_str3 = " if 'VXLAN' in i.command():\n" + \
" vxlan_str = ''\n" + \
- " l = len(i[Vxlan])\n" + \
- " vxlan = str(i[Vxlan])\n" + \
+ " l = len(i[VXLAN])\n" + \
+ " vxlan = str(i[VXLAN])\n" + \
" first = True\n" + \
" for j in range(l):\n" + \
" if first:\n" + \
- " vxlan_str += \"Vxlan(hexval='%02X\" %ord(vxlan[j])\n" + \
+ " vxlan_str += \"VXLAN(hexval='%02X\" %ord(vxlan[j])\n" + \
" first = False\n" + \
" else:\n" + \
" vxlan_str += \" %02X\" %ord(vxlan[j])\n" + \
" vxlan_str += \"\')\"\n" + \
- " command = re.sub(r\"Vxlan(.*)\", vxlan_str, i.command())\n" + \
+ " command = re.sub(r\"VXLAN(.*)\", vxlan_str, i.command())\n" + \
" else:\n" + \
" command = i.command()\n" + \
" cmds.append(command)\n" + \
@@ -375,7 +375,7 @@ class IxiaPacketGenerator(SSHConnection):
match = pat.match(header)
params = eval('dict(%s)' % match.group(2))
method_name = match.group(1)
- if method_name == 'Vxlan':
+ if method_name == 'VXLAN':
method = getattr(self, method_name.lower())
method(txport, **params)
break
diff --git a/framework/packet.py b/framework/packet.py
index d39479f..502d85c 100755
--- a/framework/packet.py
+++ b/framework/packet.py
@@ -65,7 +65,7 @@ DTS_PATH = exec_file.replace('/framework/packet.py', '')
DEP_FOLDER = DTS_PATH + '/dep'
sys.path.append(DEP_FOLDER)
-from vxlan import Vxlan
+from vxlan import VXLAN
from nvgre import NVGRE, IPPROTO_NVGRE
from lldp import LLDP, LLDPManagementAddress
from Dot1BR import Dot1BR
@@ -123,7 +123,7 @@ class scapy(object):
'icmp': ICMP(),
'gre': GRE(),
'raw': Raw(),
- 'vxlan': Vxlan(),
+ 'vxlan': VXLAN(),
'inner_mac': Ether(),
'inner_vlan': Dot1Q(),
diff --git a/framework/pktgen_ixia.py b/framework/pktgen_ixia.py
index 80481fe..2895c6b 100644
--- a/framework/pktgen_ixia.py
+++ b/framework/pktgen_ixia.py
@@ -141,19 +141,19 @@ class Ixia(SSHConnection):
dump_str1 = "cmds = []\n"
dump_str2 = "for i in rdpcap('%s', -1):\n" % pcap_path
- dump_str3 = " if 'Vxlan' in i.command():\n" + \
+ dump_str3 = " if 'VXLAN' in i.command():\n" + \
" vxlan_str = ''\n" + \
- " l = len(i[Vxlan])\n" + \
- " vxlan = str(i[Vxlan])\n" + \
+ " l = len(i[VXLAN])\n" + \
+ " vxlan = str(i[VXLAN])\n" + \
" first = True\n" + \
" for j in range(l):\n" + \
" if first:\n" + \
- " vxlan_str += \"Vxlan(hexval='%02X\" %ord(vxlan[j])\n" + \
+ " vxlan_str += \"VXLAN(hexval='%02X\" %ord(vxlan[j])\n" + \
" first = False\n" + \
" else:\n" + \
" vxlan_str += \" %02X\" %ord(vxlan[j])\n" + \
" vxlan_str += \"\')\"\n" + \
- " command = re.sub(r\"Vxlan(.*)\", vxlan_str, i.command())\n" + \
+ " command = re.sub(r\"VXLAN(.*)\", vxlan_str, i.command())\n" + \
" else:\n" + \
" command = i.command()\n" + \
" cmds.append(command)\n" + \
@@ -502,7 +502,7 @@ class Ixia(SSHConnection):
match = pat.match(header)
params = eval('dict(%s)' % match.group(2))
method_name = match.group(1)
- if method_name == 'Vxlan':
+ if method_name == 'VXLAN':
method = getattr(self, method_name.lower())
method(ixia_port, vm.get('fields_config', {}), **params)
break
@@ -1747,4 +1747,4 @@ class IxiaPacketGenerator(PacketGenerator):
''' close ixia session '''
if self._conn is not None:
self._disconnect()
- return
\ No newline at end of file
+ return
--
2.7.4
^ permalink raw reply [flat|nested] 6+ messages in thread
* [dts] [PATCH V1 3/3][scapy vxlan] tests: update vxlan name from Vxlan to VXLAN
2019-07-23 0:50 [dts] [PATCH V1 1/3][scapy vxlan] dep/vxlan: modify class name from Vxlan to VXLAN lihong
2019-07-23 0:50 ` [dts] [PATCH V1 2/3][scapy vxlan] framework: update vxlan " lihong
@ 2019-07-23 0:50 ` lihong
2019-07-23 9:14 ` Zhu, ShuaiX
2019-07-23 9:13 ` [dts] [PATCH V1 1/3][scapy vxlan] dep/vxlan: modify class " Zhu, ShuaiX
2 siblings, 1 reply; 6+ messages in thread
From: lihong @ 2019-07-23 0:50 UTC (permalink / raw)
To: dts; +Cc: lihong
depend on dep/vxlan.py, update Vxlan to VXLAN
Signed-off-by: lihong <lihongx.ma@intel.com>
---
tests/TestSuite_cloud_filter.py | 8 +++----
tests/TestSuite_generic_flow_api.py | 16 ++++++-------
tests/TestSuite_tso.py | 4 ++--
tests/TestSuite_vxlan.py | 34 ++++++++++++++--------------
tests/TestSuite_vxlan_gpe_support_in_i40e.py | 12 +++++++---
tests/TestSuite_vxlan_sample.py | 20 ++++++++--------
6 files changed, 50 insertions(+), 44 deletions(-)
diff --git a/tests/TestSuite_cloud_filter.py b/tests/TestSuite_cloud_filter.py
index d4fe129..74b3be7 100644
--- a/tests/TestSuite_cloud_filter.py
+++ b/tests/TestSuite_cloud_filter.py
@@ -17,12 +17,12 @@ from packet import Packet, load_pcapfile
from scapy.layers.inet import UDP, IP
from scapy.packet import split_layers, bind_layers
-from vxlan import Vxlan
+from vxlan import VXLAN
from vxlan import VXLAN_PORT
CLOUD_PORT = 8472
-split_layers(UDP, Vxlan, dport=VXLAN_PORT)
-bind_layers(UDP, Vxlan, dport=CLOUD_PORT)
+split_layers(UDP, VXLAN, dport=VXLAN_PORT)
+bind_layers(UDP, VXLAN, dport=CLOUD_PORT)
#
#
@@ -350,7 +350,7 @@ class TestCloudFilter(TestCase):
dport = cap_pkt[UDP].dport
self.verify(dport == CLOUD_PORT,
"Captured packet is not vxlan packet")
- inner_ip = cap_pkt[Vxlan][IP].dst
+ inner_ip = cap_pkt['VXLAN'][IP].dst
self.verify(inner_ip == cloud_cfg.cf_rule['iip'],
"Inner ip not matched")
except:
diff --git a/tests/TestSuite_generic_flow_api.py b/tests/TestSuite_generic_flow_api.py
index a7810fd..3daf77f 100644
--- a/tests/TestSuite_generic_flow_api.py
+++ b/tests/TestSuite_generic_flow_api.py
@@ -154,7 +154,7 @@ class TestGeneric_flow_api(TestCase):
dir_module = cwd + r'/' + 'dep'
self.tester.scapy_append('sys.path.append("%s")' % dir_module)
if module == "vxlan":
- self.tester.scapy_append("from vxlan import Vxlan")
+ self.tester.scapy_append("from vxlan import VXLAN")
elif module == "nvgre":
self.tester.scapy_append('from nvgre import NVGRE')
@@ -312,7 +312,7 @@ class TestGeneric_flow_api(TestCase):
rule_created = 1
# Enable vxlan packet sending
- if "Vxlan" in flow_pkt:
+ if "VXLAN" in flow_pkt:
self.load_module("vxlan")
elif "NVGRE" in flow_pkt:
self.load_module("nvgre")
@@ -569,10 +569,10 @@ class TestGeneric_flow_api(TestCase):
if 'vni' in flows:
vni = self.generate_random_int(0, MAX_VLAN)
flow_str += "vni is %d " % vni
- pkt += "/Vxlan(vni=%d)" % vni
+ pkt += "/VXLAN(vni=%d)" % vni
extrapacket['vni'] = str(vni)
else:
- pkt += "/Vxlan()"
+ pkt += "/VXLAN()"
elif flow_type == "nvgre":
flow_str += "/ nvgre "
if 'tni' in flows:
@@ -1515,22 +1515,22 @@ class TestGeneric_flow_api(TestCase):
self.load_module("vxlan")
self.tester.scapy_append(
- 'sendp([Ether(dst="%s")/IP()/UDP()/Vxlan()/Ether(dst="%s")/Dot1Q(vlan=11)/IP()/TCP()/Raw("x" * 20)], iface="%s")' % (self.outer_mac, self.inner_mac, self.tester_itf))
+ 'sendp([Ether(dst="%s")/IP()/UDP()/VXLAN()/Ether(dst="%s")/Dot1Q(vlan=11)/IP()/TCP()/Raw("x" * 20)], iface="%s")' % (self.outer_mac, self.inner_mac, self.tester_itf))
self.verify_result("pf", expect_rxpkts="1", expect_queue=extrapkt_rulenum['queue'][0], verify_mac=self.outer_mac)
self.load_module("vxlan")
self.tester.scapy_append(
- 'sendp([Ether(dst="%s")/IP()/UDP()/Vxlan(vni=5)/Ether(dst="%s")/IP()/TCP()/Raw("x" * 20)], iface="%s")' % (self.outer_mac, self.wrong_mac, self.tester_itf))
+ 'sendp([Ether(dst="%s")/IP()/UDP()/VXLAN(vni=5)/Ether(dst="%s")/IP()/TCP()/Raw("x" * 20)], iface="%s")' % (self.outer_mac, self.wrong_mac, self.tester_itf))
self.verify_result("pf", expect_rxpkts="1", expect_queue="0", verify_mac=self.outer_mac)
self.load_module("vxlan")
self.tester.scapy_append(
- 'sendp([Ether(dst="%s")/IP()/UDP()/Vxlan(vni=%s)/Ether(dst="%s")/Dot1Q(vlan=%s)/IP()/TCP()/Raw("x" * 20)], iface="%s")' % (self.outer_mac, extra_packet[5]['vni'], self.wrong_mac, extra_packet[5]['invlan'], self.tester_itf))
+ 'sendp([Ether(dst="%s")/IP()/UDP()/VXLAN(vni=%s)/Ether(dst="%s")/Dot1Q(vlan=%s)/IP()/TCP()/Raw("x" * 20)], iface="%s")' % (self.outer_mac, extra_packet[5]['vni'], self.wrong_mac, extra_packet[5]['invlan'], self.tester_itf))
self.verify_result("vf0", expect_rxpkts="1", expect_queue="0", verify_mac=self.outer_mac)
self.load_module("vxlan")
self.tester.scapy_append(
- 'sendp([Ether(dst="%s")/IP()/UDP()/Vxlan(vni=%s)/Ether(dst="%s")/IP()/TCP()/Raw("x" * 20)], iface="%s")' % (self.wrong_mac, extra_packet[6]['vni'], self.inner_mac, self.tester_itf))
+ 'sendp([Ether(dst="%s")/IP()/UDP()/VXLAN(vni=%s)/Ether(dst="%s")/IP()/TCP()/Raw("x" * 20)], iface="%s")' % (self.wrong_mac, extra_packet[6]['vni'], self.inner_mac, self.tester_itf))
self.verify_result("vf1", expect_rxpkts="0", expect_queue="NULL", verify_mac=self.wrong_mac)
rule_num = extrapkt_rulenum['rulenum']
self.verify_rulenum(rule_num)
diff --git a/tests/TestSuite_tso.py b/tests/TestSuite_tso.py
index 34294cc..36e00fe 100644
--- a/tests/TestSuite_tso.py
+++ b/tests/TestSuite_tso.py
@@ -104,7 +104,7 @@ class TestTSO(TestCase):
cwd = os.getcwd()
dir_module = cwd + r'/' + 'dep'
self.tester.scapy_append('sys.path.append("%s")' % dir_module)
- self.tester.scapy_append("from vxlan import Vxlan")
+ self.tester.scapy_append("from vxlan import VXLAN")
self.tester.scapy_append('from nvgre import NVGRE')
def tcpdump_start_sniffing(self, ifaces=[]):
@@ -300,7 +300,7 @@ class TestTSO(TestCase):
self.tcpdump_start_sniffing([tx_interface, rx_interface])
self.load_module()
out = self.dut.send_expect("clear port info all", "testpmd> ", 120)
- self.tester.scapy_append('sendp([Ether(dst="%s",src="52:00:00:00:00:00")/IP(src="192.168.1.1",dst="192.168.1.2")/UDP(sport=1021,dport=4789)/Vxlan()/Ether(dst="%s",src="52:00:00:00:00:00")/IP(src="192.168.1.1",dst="192.168.1.2")/TCP(sport=1021,dport=1021)/("X"*%s)], iface="%s")' % (mac, mac, loading_size, tx_interface))
+ self.tester.scapy_append('sendp([Ether(dst="%s",src="52:00:00:00:00:00")/IP(src="192.168.1.1",dst="192.168.1.2")/UDP(sport=1021,dport=4789)/VXLAN()/Ether(dst="%s",src="52:00:00:00:00:00")/IP(src="192.168.1.1",dst="192.168.1.2")/TCP(sport=1021,dport=1021)/("X"*%s)], iface="%s")' % (mac, mac, loading_size, tx_interface))
out = self.tester.scapy_execute()
out = self.dut.send_expect("show port stats all", "testpmd> ", 120)
print out
diff --git a/tests/TestSuite_vxlan.py b/tests/TestSuite_vxlan.py
index 12ab458..4183169 100644
--- a/tests/TestSuite_vxlan.py
+++ b/tests/TestSuite_vxlan.py
@@ -17,7 +17,7 @@ from scapy.utils import wrpcap, rdpcap
from scapy.layers.inet import Ether, IP, TCP, UDP
from scapy.layers.inet6 import IPv6
from scapy.layers.l2 import Dot1Q
-from vxlan import Vxlan
+from vxlan import VXLAN
from scapy.layers.sctp import SCTP, SCTPChunkData
from scapy.sendrecv import sniff
from scapy.config import conf
@@ -178,7 +178,7 @@ class VxlanTestConfig(object):
outer[UDP].chksum = 1
if self.outer_udp_dst == VXLAN_PORT:
- self.pkt = outer / Vxlan(vni=self.vni) / inner
+ self.pkt = outer / VXLAN(vni=self.vni) / inner
else:
self.pkt = outer / ("X" * self.payload_size)
@@ -207,8 +207,8 @@ class VxlanTestConfig(object):
if payload.guess_payload_class(payload).name == "IP":
chk_sums['outer_ip'] = hex(payload[IP].chksum)
- if pkts[0].haslayer(Vxlan) == 1:
- inner = pkts[0][Vxlan]
+ if pkts[0].haslayer('VXLAN') == 1:
+ inner = pkts[0]['VXLAN']
if inner.haslayer(IP) == 1:
chk_sums['inner_ip'] = hex(inner[IP].chksum)
if inner[IP].proto == 6:
@@ -240,7 +240,7 @@ class VxlanTestConfig(object):
cwd = os.getcwd()
dir_vxlan_module = cwd + r'/' + FOLDERS['Depends']
self.test_case.tester.scapy_append("sys.path.append('%s')" % dir_vxlan_module)
- self.test_case.tester.scapy_append("from vxlan import Vxlan")
+ self.test_case.tester.scapy_append("from vxlan import VXLAN")
self.test_case.tester.scapy_append(
'pcap = rdpcap("%s")' % self.pcap_file)
self.test_case.tester.scapy_append(
@@ -341,29 +341,29 @@ class TestVxlan(TestCase, IxiaPacketGenerator):
self.tunnel_perf = [
{'Packet': 'Normal', 'tunnel_filter': 'None',
'recvqueue': 'Single', 'Mpps': {}, 'pct': {}},
- {'Packet': 'Vxlan', 'tunnel_filter': 'None',
+ {'Packet': 'VXLAN', 'tunnel_filter': 'None',
'recvqueue': 'Single', 'Mpps': {}, 'pct': {}},
- {'Packet': 'Vxlan', 'tunnel_filter': 'imac-ivlan',
+ {'Packet': 'VXLAN', 'tunnel_filter': 'imac-ivlan',
'recvqueue': 'Single', 'Mpps': {}, 'pct': {}},
- {'Packet': 'Vxlan', 'tunnel_filter': 'imac-ivlan-tenid',
+ {'Packet': 'VXLAN', 'tunnel_filter': 'imac-ivlan-tenid',
'recvqueue': 'Single', 'Mpps': {}, 'pct': {}},
- {'Packet': 'Vxlan', 'tunnel_filter': 'imac-tenid',
+ {'Packet': 'VXLAN', 'tunnel_filter': 'imac-tenid',
'recvqueue': 'Single', 'Mpps': {}, 'pct': {}},
- {'Packet': 'Vxlan', 'tunnel_filter': 'imac',
+ {'Packet': 'VXLAN', 'tunnel_filter': 'imac',
'recvqueue': 'Single', 'Mpps': {}, 'pct': {}},
- {'Packet': 'Vxlan', 'tunnel_filter': 'omac-imac-tenid',
+ {'Packet': 'VXLAN', 'tunnel_filter': 'omac-imac-tenid',
'recvqueue': 'Single', 'Mpps': {}, 'pct': {}},
- {'Packet': 'Vxlan', 'tunnel_filter': 'None',
+ {'Packet': 'VXLAN', 'tunnel_filter': 'None',
'recvqueue': 'Multi', 'Mpps': {}, 'pct': {}},
- {'Packet': 'Vxlan', 'tunnel_filter': 'imac-ivlan',
+ {'Packet': 'VXLAN', 'tunnel_filter': 'imac-ivlan',
'recvqueue': 'Multi', 'Mpps': {}, 'pct': {}},
- {'Packet': 'Vxlan', 'tunnel_filter': 'imac-ivlan-tenid',
+ {'Packet': 'VXLAN', 'tunnel_filter': 'imac-ivlan-tenid',
'recvqueue': 'Multi', 'Mpps': {}, 'pct': {}},
- {'Packet': 'Vxlan', 'tunnel_filter': 'imac-tenid',
+ {'Packet': 'VXLAN', 'tunnel_filter': 'imac-tenid',
'recvqueue': 'Multi', 'Mpps': {}, 'pct': {}},
- {'Packet': 'Vxlan', 'tunnel_filter': 'imac',
+ {'Packet': 'VXLAN', 'tunnel_filter': 'imac',
'recvqueue': 'Multi', 'Mpps': {}, 'pct': {}},
- {'Packet': 'Vxlan', 'tunnel_filter':
+ {'Packet': 'VXLAN', 'tunnel_filter':
'omac-imac-tenid', 'recvqueue': 'Multi'}
]
diff --git a/tests/TestSuite_vxlan_gpe_support_in_i40e.py b/tests/TestSuite_vxlan_gpe_support_in_i40e.py
index f87c541..aa3ee82 100644
--- a/tests/TestSuite_vxlan_gpe_support_in_i40e.py
+++ b/tests/TestSuite_vxlan_gpe_support_in_i40e.py
@@ -43,7 +43,7 @@ from pmd_output import PmdOutput
from scapy.utils import wrpcap, rdpcap
from scapy.layers.inet import Ether, IP, UDP
from scapy.layers.l2 import Dot1Q
-from vxlan import Vxlan
+from vxlan import VXLAN
from scapy.config import conf
from test_case import TestCase
from settings import FOLDERS
@@ -110,7 +110,7 @@ class VxlanGpeTestConfig(object):
outer[UDP].dport = self.outer_udp_dst
if self.outer_udp_dst == VXLAN_GPE_PORT:
- self.pkt = outer / Vxlan(vni=self.vni) / inner
+ self.pkt = outer / VXLAN(vni=self.vni) / inner
else:
self.pkt = outer / ("X" * self.payload_size)
@@ -124,7 +124,7 @@ class VxlanGpeTestConfig(object):
cwd = os.getcwd()
dir_vxlan_module = cwd + r'/' + FOLDERS['Depends']
self.test_case.tester.scapy_append("sys.path.append('%s')" % dir_vxlan_module)
- self.test_case.tester.scapy_append("from vxlan import Vxlan")
+ self.test_case.tester.scapy_append("from vxlan import VXLAN")
self.test_case.tester.scapy_append(
'pcap = rdpcap("%s")' % self.pcap_file)
self.test_case.tester.scapy_append(
@@ -231,6 +231,10 @@ class TestVxlanGpeSupportInI40e(TestCase):
# send one VXLAN-GPE type packet
packet = 'sendp([Ether(dst="%s")/IP(src="18.0.0.1")/UDP(dport=%d, sport=43)/' % (mac, VXLAN_GPE_PORT) + \
'VXLAN(flags=12)/IP(src="10.0.0.1")], iface="%s", count=1)' % self.tester_iface
+ cwd = os.getcwd()
+ dir_vxlan_module = cwd + r'/' + FOLDERS['Depends']
+ self.tester.scapy_append("sys.path.append('%s')" % dir_vxlan_module)
+ self.tester.scapy_append("from vxlan import VXLAN")
self.tester.scapy_append(packet)
self.tester.scapy_execute()
out = self.dut.get_session_output(timeout=5)
@@ -239,6 +243,8 @@ class TestVxlanGpeSupportInI40e(TestCase):
# delete the VXLAN-GPE packet type, testpmd should treat the packet as a normal UDP packet
self.pmdout.execute_cmd('port config 0 udp_tunnel_port rm vxlan-gpe %s' % VXLAN_GPE_PORT)
+ self.tester.scapy_append("sys.path.append('%s')" % dir_vxlan_module)
+ self.tester.scapy_append("from vxlan import VXLAN")
self.tester.scapy_append(packet)
self.tester.scapy_execute()
out = self.dut.get_session_output(timeout=5)
diff --git a/tests/TestSuite_vxlan_sample.py b/tests/TestSuite_vxlan_sample.py
index 2033866..5bc9269 100644
--- a/tests/TestSuite_vxlan_sample.py
+++ b/tests/TestSuite_vxlan_sample.py
@@ -54,7 +54,7 @@ from scapy.utils import wrpcap, rdpcap
from scapy.layers.inet import Ether, IP, TCP, UDP
from scapy.layers.inet6 import IPv6
from scapy.layers.l2 import Dot1Q
-from vxlan import Vxlan
+from vxlan import VXLAN
from scapy.layers.sctp import SCTP, SCTPChunkData
from scapy.sendrecv import sniff
from scapy.config import conf
@@ -310,10 +310,10 @@ class TestVxlanSample(TestCase):
pkts = self.transfer_capture_file()
self.verify(len(pkts) >= 1, "Failed to capture packets")
- self.verify(pkts[0].haslayer(Vxlan) == 1,
+ self.verify(pkts[0].haslayer('VXLAN') == 1,
"Packet not encapsulated")
try:
- payload = str(pkts[0][UDP][Vxlan][UDP].payload)
+ payload = str(pkts[0][UDP]['VXLAN'][UDP].payload)
for i in range(18):
self.verify(ord(payload[i]) == 88, "Check udp data failed")
except:
@@ -344,7 +344,7 @@ class TestVxlanSample(TestCase):
pkts = self.transfer_capture_file()
# check packet number and payload
self.verify(len(pkts) >= 1, "Failed to capture packets")
- self.verify(pkts[0].haslayer(Vxlan) == 0,
+ self.verify(pkts[0].haslayer('VXLAN') == 0,
"Packet not de-encapsulated")
try:
@@ -380,10 +380,10 @@ class TestVxlanSample(TestCase):
# check packet number and payload
self.verify(len(pkts) >= 1, "Failed to capture packets")
- self.verify(pkts[0].haslayer(Vxlan) == 1,
+ self.verify(pkts[0].haslayer('VXLAN') == 1,
"Packet not encapsulated")
try:
- payload = str(pkts[0][UDP][Vxlan][UDP].payload)
+ payload = str(pkts[0][UDP]['VXLAN'][UDP].payload)
for i in range(18):
self.verify(ord(payload[i]) == 88, "Check udp data failed")
except:
@@ -428,7 +428,7 @@ class TestVxlanSample(TestCase):
pkts = self.transfer_capture_file()
# check packet number and payload
self.verify(len(pkts) >= 1, "Failed to capture packets")
- self.verify(pkts[0].haslayer(Vxlan) == 1,
+ self.verify(pkts[0].haslayer('VXLAN') == 1,
"Packet not encapsulated")
chksums = vxlan_pkt.get_chksums(pcap='vxlan_cap.pcap')
print utils.GREEN("Checksum : %s" % chksums)
@@ -466,7 +466,7 @@ class TestVxlanSample(TestCase):
# calculation checksum, and check it
for pkt in pkts:
- inner = pkt[Vxlan]
+ inner = pkt['VXLAN']
inner_ip_chksum = inner[IP].chksum
del inner.chksum
inner[IP] = inner[IP].__class__(str(inner[IP]))
@@ -484,10 +484,10 @@ class TestVxlanSample(TestCase):
length = 0
for pkt in pkts:
- self.verify(pkt.haslayer(Vxlan) == 1,
+ self.verify(pkt.haslayer('VXLAN') == 1,
"Packet not encapsulated")
try:
- payload = str(pkt[UDP][Vxlan][TCP].payload)
+ payload = str(pkt[UDP]['VXLAN'][TCP].payload)
self.verify(len(payload) <= self.def_mss,
"TCP payload oversized")
length += len(payload)
--
2.7.4
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [dts] [PATCH V1 1/3][scapy vxlan] dep/vxlan: modify class name from Vxlan to VXLAN
2019-07-23 0:50 [dts] [PATCH V1 1/3][scapy vxlan] dep/vxlan: modify class name from Vxlan to VXLAN lihong
2019-07-23 0:50 ` [dts] [PATCH V1 2/3][scapy vxlan] framework: update vxlan " lihong
2019-07-23 0:50 ` [dts] [PATCH V1 3/3][scapy vxlan] tests: " lihong
@ 2019-07-23 9:13 ` Zhu, ShuaiX
2 siblings, 0 replies; 6+ messages in thread
From: Zhu, ShuaiX @ 2019-07-23 9:13 UTC (permalink / raw)
To: Ma, LihongX, dts; +Cc: Ma, LihongX, Zhu, ShuaiX
Tested-by: Zhu, ShuaiX <shuaix.zhu@intel.com>
> -----Original Message-----
> From: dts [mailto:dts-bounces@dpdk.org] On Behalf Of lihong
> Sent: Tuesday, July 23, 2019 8:51 AM
> To: dts@dpdk.org
> Cc: Ma, LihongX <lihongx.ma@intel.com>
> Subject: [dts] [PATCH V1 1/3][scapy vxlan] dep/vxlan: modify class name from
> Vxlan to VXLAN
>
> from scapy 2.3.3, the vxlan is supported by default, so unify the class name
> between high version and low version.
>
> Signed-off-by: lihong <lihongx.ma@intel.com>
> ---
> dep/vxlan.py | 12 ++++++------
> 1 file changed, 6 insertions(+), 6 deletions(-)
>
> diff --git a/dep/vxlan.py b/dep/vxlan.py index 8fc914b..d160718 100644
> --- a/dep/vxlan.py
> +++ b/dep/vxlan.py
> @@ -13,16 +13,16 @@ vxlanmagic = "0x8"
>
> VXLAN_PORT=4789
>
> -class Vxlan(Packet):
> - name = "Virtual eXtensible Local Area Network"
> - fields_desc = [ByteField("flag", 8),
> +class VXLAN(Packet):
> + name = "VXLAN"
> + fields_desc = [ByteField("flags", 8),
> X3BytesField("reserved1", 0),
> X3BytesField("vni", 0),
> ByteField("reserved2", 0)]
>
> def guess_payload_class(self, payload):
> if self.flag == vxlanmagic:
> - return Vxlan
> + return VXLAN
> else:
> return Packet.guess_payload_class(self, payload)
>
> @@ -30,5 +30,5 @@ class Vxlan(Packet):
> return self.sprintf("VXLAN (vni=%VXLAN.vni%)")
>
> split_layers(UDP, DNS, sport=53)
> -bind_layers(UDP, Vxlan, dport=VXLAN_PORT) -bind_layers(Vxlan, Ether)
> +bind_layers(UDP, VXLAN, dport=VXLAN_PORT) bind_layers(VXLAN, Ether)
> --
> 2.7.4
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [dts] [PATCH V1 2/3][scapy vxlan] framework: update vxlan name from Vxlan to VXLAN
2019-07-23 0:50 ` [dts] [PATCH V1 2/3][scapy vxlan] framework: update vxlan " lihong
@ 2019-07-23 9:13 ` Zhu, ShuaiX
0 siblings, 0 replies; 6+ messages in thread
From: Zhu, ShuaiX @ 2019-07-23 9:13 UTC (permalink / raw)
To: Ma, LihongX, dts; +Cc: Ma, LihongX, Zhu, ShuaiX
Tested-by: Zhu, ShuaiX <shuaix.zhu@intel.com>
> -----Original Message-----
> From: dts [mailto:dts-bounces@dpdk.org] On Behalf Of lihong
> Sent: Tuesday, July 23, 2019 8:51 AM
> To: dts@dpdk.org
> Cc: Ma, LihongX <lihongx.ma@intel.com>
> Subject: [dts] [PATCH V1 2/3][scapy vxlan] framework: update vxlan name from
> Vxlan to VXLAN
>
> depend on dep/vxlan.py, update Vxlan to VXLAN
>
> Signed-off-by: lihong <lihongx.ma@intel.com>
> ---
> framework/etgen.py | 12 ++++++------
> framework/packet.py | 4 ++--
> framework/pktgen_ixia.py | 14 +++++++-------
> 3 files changed, 15 insertions(+), 15 deletions(-)
>
> diff --git a/framework/etgen.py b/framework/etgen.py index cd6829d..212b9c2
> 100644
> --- a/framework/etgen.py
> +++ b/framework/etgen.py
> @@ -238,19 +238,19 @@ class IxiaPacketGenerator(SSHConnection):
> def parse_pcap(self, fpcap):
> dump_str1 = "cmds = []\n"
> dump_str2 = "for i in rdpcap('%s', -1):\n" % fpcap
> - dump_str3 = " if 'Vxlan' in i.command():\n" + \
> + dump_str3 = " if 'VXLAN' in i.command():\n" + \
> " vxlan_str = ''\n" + \
> - " l = len(i[Vxlan])\n" + \
> - " vxlan = str(i[Vxlan])\n" + \
> + " l = len(i[VXLAN])\n" + \
> + " vxlan = str(i[VXLAN])\n" + \
> " first = True\n" + \
> " for j in range(l):\n" + \
> " if first:\n" + \
> - " vxlan_str +=
> \"Vxlan(hexval='%02X\" %ord(vxlan[j])\n" + \
> + " vxlan_str +=
> \"VXLAN(hexval='%02X\" %ord(vxlan[j])\n" + \
> " first = False\n" + \
> " else:\n" + \
> " vxlan_str +=
> \" %02X\" %ord(vxlan[j])\n" + \
> " vxlan_str += \"\')\"\n" + \
> - " command = re.sub(r\"Vxlan(.*)\", vxlan_str,
> i.command())\n" + \
> + " command = re.sub(r\"VXLAN(.*)\", vxlan_str,
> i.command())\n" + \
> " else:\n" + \
> " command = i.command()\n" + \
> " cmds.append(command)\n" + \
> @@ -375,7 +375,7 @@ class IxiaPacketGenerator(SSHConnection):
> match = pat.match(header)
> params = eval('dict(%s)' % match.group(2))
> method_name = match.group(1)
> - if method_name == 'Vxlan':
> + if method_name == 'VXLAN':
> method = getattr(self, method_name.lower())
> method(txport, **params)
> break
> diff --git a/framework/packet.py b/framework/packet.py index d39479f..502d85c
> 100755
> --- a/framework/packet.py
> +++ b/framework/packet.py
> @@ -65,7 +65,7 @@ DTS_PATH = exec_file.replace('/framework/packet.py', '')
> DEP_FOLDER = DTS_PATH + '/dep'
> sys.path.append(DEP_FOLDER)
>
> -from vxlan import Vxlan
> +from vxlan import VXLAN
> from nvgre import NVGRE, IPPROTO_NVGRE
> from lldp import LLDP, LLDPManagementAddress from Dot1BR import Dot1BR
> @@ -123,7 +123,7 @@ class scapy(object):
> 'icmp': ICMP(),
> 'gre': GRE(),
> 'raw': Raw(),
> - 'vxlan': Vxlan(),
> + 'vxlan': VXLAN(),
>
> 'inner_mac': Ether(),
> 'inner_vlan': Dot1Q(),
> diff --git a/framework/pktgen_ixia.py b/framework/pktgen_ixia.py index
> 80481fe..2895c6b 100644
> --- a/framework/pktgen_ixia.py
> +++ b/framework/pktgen_ixia.py
> @@ -141,19 +141,19 @@ class Ixia(SSHConnection):
>
> dump_str1 = "cmds = []\n"
> dump_str2 = "for i in rdpcap('%s', -1):\n" % pcap_path
> - dump_str3 = " if 'Vxlan' in i.command():\n" + \
> + dump_str3 = " if 'VXLAN' in i.command():\n" + \
> " vxlan_str = ''\n" + \
> - " l = len(i[Vxlan])\n" + \
> - " vxlan = str(i[Vxlan])\n" + \
> + " l = len(i[VXLAN])\n" + \
> + " vxlan = str(i[VXLAN])\n" + \
> " first = True\n" + \
> " for j in range(l):\n" + \
> " if first:\n" + \
> - " vxlan_str +=
> \"Vxlan(hexval='%02X\" %ord(vxlan[j])\n" + \
> + " vxlan_str +=
> \"VXLAN(hexval='%02X\" %ord(vxlan[j])\n" + \
> " first = False\n" + \
> " else:\n" + \
> " vxlan_str +=
> \" %02X\" %ord(vxlan[j])\n" + \
> " vxlan_str += \"\')\"\n" + \
> - " command = re.sub(r\"Vxlan(.*)\", vxlan_str,
> i.command())\n" + \
> + " command = re.sub(r\"VXLAN(.*)\", vxlan_str,
> i.command())\n" + \
> " else:\n" + \
> " command = i.command()\n" + \
> " cmds.append(command)\n" + \
> @@ -502,7 +502,7 @@ class Ixia(SSHConnection):
> match = pat.match(header)
> params = eval('dict(%s)' % match.group(2))
> method_name = match.group(1)
> - if method_name == 'Vxlan':
> + if method_name == 'VXLAN':
> method = getattr(self, method_name.lower())
> method(ixia_port, vm.get('fields_config', {}), **params)
> break
> @@ -1747,4 +1747,4 @@ class IxiaPacketGenerator(PacketGenerator):
> ''' close ixia session '''
> if self._conn is not None:
> self._disconnect()
> - return
> \ No newline at end of file
> + return
> --
> 2.7.4
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [dts] [PATCH V1 3/3][scapy vxlan] tests: update vxlan name from Vxlan to VXLAN
2019-07-23 0:50 ` [dts] [PATCH V1 3/3][scapy vxlan] tests: " lihong
@ 2019-07-23 9:14 ` Zhu, ShuaiX
0 siblings, 0 replies; 6+ messages in thread
From: Zhu, ShuaiX @ 2019-07-23 9:14 UTC (permalink / raw)
To: Ma, LihongX, dts; +Cc: Ma, LihongX, Zhu, ShuaiX
Tested-by: Zhu, ShuaiX <shuaix.zhu@intel.com>
> -----Original Message-----
> From: dts [mailto:dts-bounces@dpdk.org] On Behalf Of lihong
> Sent: Tuesday, July 23, 2019 8:51 AM
> To: dts@dpdk.org
> Cc: Ma, LihongX <lihongx.ma@intel.com>
> Subject: [dts] [PATCH V1 3/3][scapy vxlan] tests: update vxlan name from Vxlan
> to VXLAN
>
> depend on dep/vxlan.py, update Vxlan to VXLAN
>
> Signed-off-by: lihong <lihongx.ma@intel.com>
> ---
> tests/TestSuite_cloud_filter.py | 8 +++----
> tests/TestSuite_generic_flow_api.py | 16 ++++++-------
> tests/TestSuite_tso.py | 4 ++--
> tests/TestSuite_vxlan.py | 34
> ++++++++++++++--------------
> tests/TestSuite_vxlan_gpe_support_in_i40e.py | 12 +++++++---
> tests/TestSuite_vxlan_sample.py | 20 ++++++++--------
> 6 files changed, 50 insertions(+), 44 deletions(-)
>
> diff --git a/tests/TestSuite_cloud_filter.py b/tests/TestSuite_cloud_filter.py
> index d4fe129..74b3be7 100644
> --- a/tests/TestSuite_cloud_filter.py
> +++ b/tests/TestSuite_cloud_filter.py
> @@ -17,12 +17,12 @@ from packet import Packet, load_pcapfile from
> scapy.layers.inet import UDP, IP from scapy.packet import split_layers,
> bind_layers
>
> -from vxlan import Vxlan
> +from vxlan import VXLAN
> from vxlan import VXLAN_PORT
>
> CLOUD_PORT = 8472
> -split_layers(UDP, Vxlan, dport=VXLAN_PORT) -bind_layers(UDP, Vxlan,
> dport=CLOUD_PORT)
> +split_layers(UDP, VXLAN, dport=VXLAN_PORT) bind_layers(UDP, VXLAN,
> +dport=CLOUD_PORT)
>
> #
> #
> @@ -350,7 +350,7 @@ class TestCloudFilter(TestCase):
> dport = cap_pkt[UDP].dport
> self.verify(dport == CLOUD_PORT,
> "Captured packet is not vxlan packet")
> - inner_ip = cap_pkt[Vxlan][IP].dst
> + inner_ip = cap_pkt['VXLAN'][IP].dst
> self.verify(inner_ip == cloud_cfg.cf_rule['iip'],
> "Inner ip not matched")
> except:
> diff --git a/tests/TestSuite_generic_flow_api.py
> b/tests/TestSuite_generic_flow_api.py
> index a7810fd..3daf77f 100644
> --- a/tests/TestSuite_generic_flow_api.py
> +++ b/tests/TestSuite_generic_flow_api.py
> @@ -154,7 +154,7 @@ class TestGeneric_flow_api(TestCase):
> dir_module = cwd + r'/' + 'dep'
> self.tester.scapy_append('sys.path.append("%s")' % dir_module)
> if module == "vxlan":
> - self.tester.scapy_append("from vxlan import Vxlan")
> + self.tester.scapy_append("from vxlan import VXLAN")
> elif module == "nvgre":
> self.tester.scapy_append('from nvgre import NVGRE')
>
> @@ -312,7 +312,7 @@ class TestGeneric_flow_api(TestCase):
> rule_created = 1
>
> # Enable vxlan packet sending
> - if "Vxlan" in flow_pkt:
> + if "VXLAN" in flow_pkt:
> self.load_module("vxlan")
> elif "NVGRE" in flow_pkt:
> self.load_module("nvgre") @@ -569,10 +569,10 @@
> class TestGeneric_flow_api(TestCase):
> if 'vni' in flows:
> vni = self.generate_random_int(0, MAX_VLAN)
> flow_str += "vni is %d " % vni
> - pkt += "/Vxlan(vni=%d)" % vni
> + pkt += "/VXLAN(vni=%d)" % vni
> extrapacket['vni'] = str(vni)
> else:
> - pkt += "/Vxlan()"
> + pkt += "/VXLAN()"
> elif flow_type == "nvgre":
> flow_str += "/ nvgre "
> if 'tni' in flows:
> @@ -1515,22 +1515,22 @@ class TestGeneric_flow_api(TestCase):
>
> self.load_module("vxlan")
> self.tester.scapy_append(
> -
> 'sendp([Ether(dst="%s")/IP()/UDP()/Vxlan()/Ether(dst="%s")/Dot1Q(vlan=11)/I
> P()/TCP()/Raw("x" * 20)], iface="%s")' % (self.outer_mac, self.inner_mac,
> self.tester_itf))
> +
> + 'sendp([Ether(dst="%s")/IP()/UDP()/VXLAN()/Ether(dst="%s")/Dot1Q(vlan=
> + 11)/IP()/TCP()/Raw("x" * 20)], iface="%s")' % (self.outer_mac,
> + self.inner_mac, self.tester_itf))
> self.verify_result("pf", expect_rxpkts="1",
> expect_queue=extrapkt_rulenum['queue'][0], verify_mac=self.outer_mac)
>
> self.load_module("vxlan")
> self.tester.scapy_append(
> -
> 'sendp([Ether(dst="%s")/IP()/UDP()/Vxlan(vni=5)/Ether(dst="%s")/IP()/TCP()/R
> aw("x" * 20)], iface="%s")' % (self.outer_mac, self.wrong_mac, self.tester_itf))
> +
> + 'sendp([Ether(dst="%s")/IP()/UDP()/VXLAN(vni=5)/Ether(dst="%s")/IP()/T
> + CP()/Raw("x" * 20)], iface="%s")' % (self.outer_mac, self.wrong_mac,
> + self.tester_itf))
> self.verify_result("pf", expect_rxpkts="1", expect_queue="0",
> verify_mac=self.outer_mac)
>
> self.load_module("vxlan")
> self.tester.scapy_append(
> -
> 'sendp([Ether(dst="%s")/IP()/UDP()/Vxlan(vni=%s)/Ether(dst="%s")/Dot1Q(vlan
> =%s)/IP()/TCP()/Raw("x" * 20)], iface="%s")' % (self.outer_mac,
> extra_packet[5]['vni'], self.wrong_mac, extra_packet[5]['invlan'], self.tester_itf))
> +
> + 'sendp([Ether(dst="%s")/IP()/UDP()/VXLAN(vni=%s)/Ether(dst="%s")/Dot1Q
> + (vlan=%s)/IP()/TCP()/Raw("x" * 20)], iface="%s")' % (self.outer_mac,
> + extra_packet[5]['vni'], self.wrong_mac, extra_packet[5]['invlan'],
> + self.tester_itf))
> self.verify_result("vf0", expect_rxpkts="1", expect_queue="0",
> verify_mac=self.outer_mac)
>
> self.load_module("vxlan")
> self.tester.scapy_append(
> -
> 'sendp([Ether(dst="%s")/IP()/UDP()/Vxlan(vni=%s)/Ether(dst="%s")/IP()/TCP()/
> Raw("x" * 20)], iface="%s")' % (self.wrong_mac, extra_packet[6]['vni'],
> self.inner_mac, self.tester_itf))
> +
> + 'sendp([Ether(dst="%s")/IP()/UDP()/VXLAN(vni=%s)/Ether(dst="%s")/IP()/
> + TCP()/Raw("x" * 20)], iface="%s")' % (self.wrong_mac,
> + extra_packet[6]['vni'], self.inner_mac, self.tester_itf))
> self.verify_result("vf1", expect_rxpkts="0", expect_queue="NULL",
> verify_mac=self.wrong_mac)
> rule_num = extrapkt_rulenum['rulenum']
> self.verify_rulenum(rule_num)
> diff --git a/tests/TestSuite_tso.py b/tests/TestSuite_tso.py index
> 34294cc..36e00fe 100644
> --- a/tests/TestSuite_tso.py
> +++ b/tests/TestSuite_tso.py
> @@ -104,7 +104,7 @@ class TestTSO(TestCase):
> cwd = os.getcwd()
> dir_module = cwd + r'/' + 'dep'
> self.tester.scapy_append('sys.path.append("%s")' % dir_module)
> - self.tester.scapy_append("from vxlan import Vxlan")
> + self.tester.scapy_append("from vxlan import VXLAN")
> self.tester.scapy_append('from nvgre import NVGRE')
>
> def tcpdump_start_sniffing(self, ifaces=[]):
> @@ -300,7 +300,7 @@ class TestTSO(TestCase):
> self.tcpdump_start_sniffing([tx_interface, rx_interface])
> self.load_module()
> out = self.dut.send_expect("clear port info all", "testpmd> ", 120)
> -
> self.tester.scapy_append('sendp([Ether(dst="%s",src="52:00:00:00:00:00")/IP(sr
> c="192.168.1.1",dst="192.168.1.2")/UDP(sport=1021,dport=4789)/Vxlan()/Ether(
> dst="%s",src="52:00:00:00:00:00")/IP(src="192.168.1.1",dst="192.168.1.2")/TCP(s
> port=1021,dport=1021)/("X"*%s)], iface="%s")' % (mac, mac, loading_size,
> tx_interface))
> +
> + self.tester.scapy_append('sendp([Ether(dst="%s",src="52:00:00:00:00:00
> + ")/IP(src="192.168.1.1",dst="192.168.1.2")/UDP(sport=1021,dport=4789)/
> + VXLAN()/Ether(dst="%s",src="52:00:00:00:00:00")/IP(src="192.168.1.1",d
> + st="192.168.1.2")/TCP(sport=1021,dport=1021)/("X"*%s)], iface="%s")' %
> + (mac, mac, loading_size, tx_interface))
> out = self.tester.scapy_execute()
> out = self.dut.send_expect("show port stats all", "testpmd> ",
> 120)
> print out
> diff --git a/tests/TestSuite_vxlan.py b/tests/TestSuite_vxlan.py index
> 12ab458..4183169 100644
> --- a/tests/TestSuite_vxlan.py
> +++ b/tests/TestSuite_vxlan.py
> @@ -17,7 +17,7 @@ from scapy.utils import wrpcap, rdpcap from
> scapy.layers.inet import Ether, IP, TCP, UDP from scapy.layers.inet6 import IPv6
> from scapy.layers.l2 import Dot1Q -from vxlan import Vxlan
> +from vxlan import VXLAN
> from scapy.layers.sctp import SCTP, SCTPChunkData from scapy.sendrecv
> import sniff from scapy.config import conf @@ -178,7 +178,7 @@ class
> VxlanTestConfig(object):
> outer[UDP].chksum = 1
>
> if self.outer_udp_dst == VXLAN_PORT:
> - self.pkt = outer / Vxlan(vni=self.vni) / inner
> + self.pkt = outer / VXLAN(vni=self.vni) / inner
> else:
> self.pkt = outer / ("X" * self.payload_size)
>
> @@ -207,8 +207,8 @@ class VxlanTestConfig(object):
> if payload.guess_payload_class(payload).name == "IP":
> chk_sums['outer_ip'] = hex(payload[IP].chksum)
>
> - if pkts[0].haslayer(Vxlan) == 1:
> - inner = pkts[0][Vxlan]
> + if pkts[0].haslayer('VXLAN') == 1:
> + inner = pkts[0]['VXLAN']
> if inner.haslayer(IP) == 1:
> chk_sums['inner_ip'] = hex(inner[IP].chksum)
> if inner[IP].proto == 6:
> @@ -240,7 +240,7 @@ class VxlanTestConfig(object):
> cwd = os.getcwd()
> dir_vxlan_module = cwd + r'/' + FOLDERS['Depends']
> self.test_case.tester.scapy_append("sys.path.append('%s')" %
> dir_vxlan_module)
> - self.test_case.tester.scapy_append("from vxlan import Vxlan")
> + self.test_case.tester.scapy_append("from vxlan import VXLAN")
> self.test_case.tester.scapy_append(
> 'pcap = rdpcap("%s")' % self.pcap_file)
> self.test_case.tester.scapy_append(
> @@ -341,29 +341,29 @@ class TestVxlan(TestCase, IxiaPacketGenerator):
> self.tunnel_perf = [
> {'Packet': 'Normal', 'tunnel_filter': 'None',
> 'recvqueue': 'Single', 'Mpps': {}, 'pct': {}},
> - {'Packet': 'Vxlan', 'tunnel_filter': 'None',
> + {'Packet': 'VXLAN', 'tunnel_filter': 'None',
> 'recvqueue': 'Single', 'Mpps': {}, 'pct': {}},
> - {'Packet': 'Vxlan', 'tunnel_filter': 'imac-ivlan',
> + {'Packet': 'VXLAN', 'tunnel_filter': 'imac-ivlan',
> 'recvqueue': 'Single', 'Mpps': {}, 'pct': {}},
> - {'Packet': 'Vxlan', 'tunnel_filter': 'imac-ivlan-tenid',
> + {'Packet': 'VXLAN', 'tunnel_filter': 'imac-ivlan-tenid',
> 'recvqueue': 'Single', 'Mpps': {}, 'pct': {}},
> - {'Packet': 'Vxlan', 'tunnel_filter': 'imac-tenid',
> + {'Packet': 'VXLAN', 'tunnel_filter': 'imac-tenid',
> 'recvqueue': 'Single', 'Mpps': {}, 'pct': {}},
> - {'Packet': 'Vxlan', 'tunnel_filter': 'imac',
> + {'Packet': 'VXLAN', 'tunnel_filter': 'imac',
> 'recvqueue': 'Single', 'Mpps': {}, 'pct': {}},
> - {'Packet': 'Vxlan', 'tunnel_filter': 'omac-imac-tenid',
> + {'Packet': 'VXLAN', 'tunnel_filter': 'omac-imac-tenid',
> 'recvqueue': 'Single', 'Mpps': {}, 'pct': {}},
> - {'Packet': 'Vxlan', 'tunnel_filter': 'None',
> + {'Packet': 'VXLAN', 'tunnel_filter': 'None',
> 'recvqueue': 'Multi', 'Mpps': {}, 'pct': {}},
> - {'Packet': 'Vxlan', 'tunnel_filter': 'imac-ivlan',
> + {'Packet': 'VXLAN', 'tunnel_filter': 'imac-ivlan',
> 'recvqueue': 'Multi', 'Mpps': {}, 'pct': {}},
> - {'Packet': 'Vxlan', 'tunnel_filter': 'imac-ivlan-tenid',
> + {'Packet': 'VXLAN', 'tunnel_filter': 'imac-ivlan-tenid',
> 'recvqueue': 'Multi', 'Mpps': {}, 'pct': {}},
> - {'Packet': 'Vxlan', 'tunnel_filter': 'imac-tenid',
> + {'Packet': 'VXLAN', 'tunnel_filter': 'imac-tenid',
> 'recvqueue': 'Multi', 'Mpps': {}, 'pct': {}},
> - {'Packet': 'Vxlan', 'tunnel_filter': 'imac',
> + {'Packet': 'VXLAN', 'tunnel_filter': 'imac',
> 'recvqueue': 'Multi', 'Mpps': {}, 'pct': {}},
> - {'Packet': 'Vxlan', 'tunnel_filter':
> + {'Packet': 'VXLAN', 'tunnel_filter':
> 'omac-imac-tenid', 'recvqueue': 'Multi'}
> ]
>
> diff --git a/tests/TestSuite_vxlan_gpe_support_in_i40e.py
> b/tests/TestSuite_vxlan_gpe_support_in_i40e.py
> index f87c541..aa3ee82 100644
> --- a/tests/TestSuite_vxlan_gpe_support_in_i40e.py
> +++ b/tests/TestSuite_vxlan_gpe_support_in_i40e.py
> @@ -43,7 +43,7 @@ from pmd_output import PmdOutput from scapy.utils
> import wrpcap, rdpcap from scapy.layers.inet import Ether, IP, UDP from
> scapy.layers.l2 import Dot1Q -from vxlan import Vxlan
> +from vxlan import VXLAN
> from scapy.config import conf
> from test_case import TestCase
> from settings import FOLDERS
> @@ -110,7 +110,7 @@ class VxlanGpeTestConfig(object):
> outer[UDP].dport = self.outer_udp_dst
>
> if self.outer_udp_dst == VXLAN_GPE_PORT:
> - self.pkt = outer / Vxlan(vni=self.vni) / inner
> + self.pkt = outer / VXLAN(vni=self.vni) / inner
> else:
> self.pkt = outer / ("X" * self.payload_size)
>
> @@ -124,7 +124,7 @@ class VxlanGpeTestConfig(object):
> cwd = os.getcwd()
> dir_vxlan_module = cwd + r'/' + FOLDERS['Depends']
> self.test_case.tester.scapy_append("sys.path.append('%s')" %
> dir_vxlan_module)
> - self.test_case.tester.scapy_append("from vxlan import Vxlan")
> + self.test_case.tester.scapy_append("from vxlan import VXLAN")
> self.test_case.tester.scapy_append(
> 'pcap = rdpcap("%s")' % self.pcap_file)
> self.test_case.tester.scapy_append(
> @@ -231,6 +231,10 @@ class TestVxlanGpeSupportInI40e(TestCase):
> # send one VXLAN-GPE type packet
> packet = 'sendp([Ether(dst="%s")/IP(src="18.0.0.1")/UDP(dport=%d,
> sport=43)/' % (mac, VXLAN_GPE_PORT) + \
> 'VXLAN(flags=12)/IP(src="10.0.0.1")], iface="%s", count=1)' %
> self.tester_iface
> + cwd = os.getcwd()
> + dir_vxlan_module = cwd + r'/' + FOLDERS['Depends']
> + self.tester.scapy_append("sys.path.append('%s')" %
> dir_vxlan_module)
> + self.tester.scapy_append("from vxlan import VXLAN")
> self.tester.scapy_append(packet)
> self.tester.scapy_execute()
> out = self.dut.get_session_output(timeout=5)
> @@ -239,6 +243,8 @@ class TestVxlanGpeSupportInI40e(TestCase):
>
> # delete the VXLAN-GPE packet type, testpmd should treat the packet
> as a normal UDP packet
> self.pmdout.execute_cmd('port config 0 udp_tunnel_port rm
> vxlan-gpe %s' % VXLAN_GPE_PORT)
> + self.tester.scapy_append("sys.path.append('%s')" %
> dir_vxlan_module)
> + self.tester.scapy_append("from vxlan import VXLAN")
> self.tester.scapy_append(packet)
> self.tester.scapy_execute()
> out = self.dut.get_session_output(timeout=5)
> diff --git a/tests/TestSuite_vxlan_sample.py b/tests/TestSuite_vxlan_sample.py
> index 2033866..5bc9269 100644
> --- a/tests/TestSuite_vxlan_sample.py
> +++ b/tests/TestSuite_vxlan_sample.py
> @@ -54,7 +54,7 @@ from scapy.utils import wrpcap, rdpcap from
> scapy.layers.inet import Ether, IP, TCP, UDP from scapy.layers.inet6 import IPv6
> from scapy.layers.l2 import Dot1Q -from vxlan import Vxlan
> +from vxlan import VXLAN
> from scapy.layers.sctp import SCTP, SCTPChunkData from scapy.sendrecv
> import sniff from scapy.config import conf @@ -310,10 +310,10 @@ class
> TestVxlanSample(TestCase):
>
> pkts = self.transfer_capture_file()
> self.verify(len(pkts) >= 1, "Failed to capture packets")
> - self.verify(pkts[0].haslayer(Vxlan) == 1,
> + self.verify(pkts[0].haslayer('VXLAN') == 1,
> "Packet not encapsulated")
> try:
> - payload = str(pkts[0][UDP][Vxlan][UDP].payload)
> + payload = str(pkts[0][UDP]['VXLAN'][UDP].payload)
> for i in range(18):
> self.verify(ord(payload[i]) == 88, "Check udp data
> failed")
> except:
> @@ -344,7 +344,7 @@ class TestVxlanSample(TestCase):
> pkts = self.transfer_capture_file()
> # check packet number and payload
> self.verify(len(pkts) >= 1, "Failed to capture packets")
> - self.verify(pkts[0].haslayer(Vxlan) == 0,
> + self.verify(pkts[0].haslayer('VXLAN') == 0,
> "Packet not de-encapsulated")
>
> try:
> @@ -380,10 +380,10 @@ class TestVxlanSample(TestCase):
>
> # check packet number and payload
> self.verify(len(pkts) >= 1, "Failed to capture packets")
> - self.verify(pkts[0].haslayer(Vxlan) == 1,
> + self.verify(pkts[0].haslayer('VXLAN') == 1,
> "Packet not encapsulated")
> try:
> - payload = str(pkts[0][UDP][Vxlan][UDP].payload)
> + payload = str(pkts[0][UDP]['VXLAN'][UDP].payload)
> for i in range(18):
> self.verify(ord(payload[i]) == 88, "Check udp data
> failed")
> except:
> @@ -428,7 +428,7 @@ class TestVxlanSample(TestCase):
> pkts = self.transfer_capture_file()
> # check packet number and payload
> self.verify(len(pkts) >= 1, "Failed to capture packets")
> - self.verify(pkts[0].haslayer(Vxlan) == 1,
> + self.verify(pkts[0].haslayer('VXLAN') == 1,
> "Packet not encapsulated")
> chksums = vxlan_pkt.get_chksums(pcap='vxlan_cap.pcap')
> print utils.GREEN("Checksum : %s" % chksums) @@ -466,7 +466,7
> @@ class TestVxlanSample(TestCase):
>
> # calculation checksum, and check it
> for pkt in pkts:
> - inner = pkt[Vxlan]
> + inner = pkt['VXLAN']
> inner_ip_chksum = inner[IP].chksum
> del inner.chksum
> inner[IP] = inner[IP].__class__(str(inner[IP]))
> @@ -484,10 +484,10 @@ class TestVxlanSample(TestCase):
>
> length = 0
> for pkt in pkts:
> - self.verify(pkt.haslayer(Vxlan) == 1,
> + self.verify(pkt.haslayer('VXLAN') == 1,
> "Packet not encapsulated")
> try:
> - payload = str(pkt[UDP][Vxlan][TCP].payload)
> + payload = str(pkt[UDP]['VXLAN'][TCP].payload)
> self.verify(len(payload) <= self.def_mss,
> "TCP payload oversized")
> length += len(payload)
> --
> 2.7.4
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2019-07-23 9:21 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-07-23 0:50 [dts] [PATCH V1 1/3][scapy vxlan] dep/vxlan: modify class name from Vxlan to VXLAN lihong
2019-07-23 0:50 ` [dts] [PATCH V1 2/3][scapy vxlan] framework: update vxlan " lihong
2019-07-23 9:13 ` Zhu, ShuaiX
2019-07-23 0:50 ` [dts] [PATCH V1 3/3][scapy vxlan] tests: " lihong
2019-07-23 9:14 ` Zhu, ShuaiX
2019-07-23 9:13 ` [dts] [PATCH V1 1/3][scapy vxlan] dep/vxlan: modify class " Zhu, ShuaiX
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).