Code Review
/
vpp.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
review
|
tree
raw
|
inline
| side by side
vlib epoll: protect against clib file pool expansion
[vpp.git]
/
test
/
vpp_pg_interface.py
diff --git
a/test/vpp_pg_interface.py
b/test/vpp_pg_interface.py
index
81e9714
..
8792e6c
100644
(file)
--- a/
test/vpp_pg_interface.py
+++ b/
test/vpp_pg_interface.py
@@
-3,6
+3,8
@@
import time
import socket
import struct
from traceback import format_exc, format_stack
import socket
import struct
from traceback import format_exc, format_stack
+
+import scapy.compat
from scapy.utils import wrpcap, rdpcap, PcapReader
from scapy.plist import PacketList
from vpp_interface import VppInterface
from scapy.utils import wrpcap, rdpcap, PcapReader
from scapy.plist import PacketList
from vpp_interface import VppInterface
@@
-84,11
+86,11
@@
class VppPGInterface(VppInterface):
def __init__(self, test, pg_index):
""" Create VPP packet-generator interface """
def __init__(self, test, pg_index):
""" Create VPP packet-generator interface """
- r = test.vapi.pg_create_interface(pg_index)
- self._sw_if_index = r.sw_if_index
-
super(VppPGInterface, self).__init__(test)
super(VppPGInterface, self).__init__(test)
+ r = test.vapi.pg_create_interface(pg_index)
+ self.set_sw_if_index(r.sw_if_index)
+
self._in_history_counter = 0
self._out_history_counter = 0
self._out_assert_counter = 0
self._in_history_counter = 0
self._out_history_counter = 0
self._out_assert_counter = 0
@@
-285,7
+287,7
@@
class VppPGInterface(VppInterface):
while time.time() < deadline:
if os.path.isfile(self.out_path):
break
while time.time() < deadline:
if os.path.isfile(self.out_path):
break
-
time
.sleep(0) # yield
+
self._test
.sleep(0) # yield
if os.path.isfile(self.out_path):
self.test.logger.debug("Capture file appeared after %fs" %
(time.time() - (deadline - timeout)))
if os.path.isfile(self.out_path):
self.test.logger.debug("Capture file appeared after %fs" %
(time.time() - (deadline - timeout)))
@@
-353,7
+355,7
@@
class VppPGInterface(VppInterface):
self.test.logger.debug("Polling for packet")
while time.time() < deadline or poll:
if not self.verify_enough_packet_data_in_pcap():
self.test.logger.debug("Polling for packet")
while time.time() < deadline or poll:
if not self.verify_enough_packet_data_in_pcap():
-
time
.sleep(0) # yield
+
self._test
.sleep(0) # yield
poll = False
continue
p = self._pcap_reader.recv()
poll = False
continue
p = self._pcap_reader.recv()
@@
-367,7
+369,7
@@
class VppPGInterface(VppInterface):
"Packet received after %fs" %
(time.time() - (deadline - timeout)))
return p
"Packet received after %fs" %
(time.time() - (deadline - timeout)))
return p
-
time
.sleep(0) # yield
+
self._test
.sleep(0) # yield
poll = False
self.test.logger.debug("Timeout - no packets received")
raise CaptureTimeoutError("Packet didn't arrive within timeout")
poll = False
self.test.logger.debug("Timeout - no packets received")
raise CaptureTimeoutError("Packet didn't arrive within timeout")
@@
-414,7
+416,7
@@
class VppPGInterface(VppInterface):
# Make Dot1AD packet content recognizable to scapy
if arp_reply.type == 0x88a8:
arp_reply.type = 0x8100
# Make Dot1AD packet content recognizable to scapy
if arp_reply.type == 0x88a8:
arp_reply.type = 0x8100
- arp_reply = Ether(s
tr
(arp_reply))
+ arp_reply = Ether(s
capy.compat.raw
(arp_reply))
try:
if arp_reply[ARP].op == ARP.is_at:
self.test.logger.info("VPP %s MAC address is %s " %
try:
if arp_reply[ARP].op == ARP.is_at:
self.test.logger.info("VPP %s MAC address is %s " %
@@
-460,8
+462,11
@@
class VppPGInterface(VppInterface):
ndp_reply = captured_packet.copy() # keep original for exception
# Make Dot1AD packet content recognizable to scapy
if ndp_reply.type == 0x88a8:
ndp_reply = captured_packet.copy() # keep original for exception
# Make Dot1AD packet content recognizable to scapy
if ndp_reply.type == 0x88a8:
+ self._test.logger.info(
+ "Replacing EtherType: 0x88a8 with "
+ "0x8100 and regenerating Ethernet header. ")
ndp_reply.type = 0x8100
ndp_reply.type = 0x8100
- ndp_reply = Ether(s
tr
(ndp_reply))
+ ndp_reply = Ether(s
capy.compat.raw
(ndp_reply))
try:
ndp_na = ndp_reply[ICMPv6ND_NA]
opt = ndp_na[ICMPv6NDOptDstLLAddr]
try:
ndp_na = ndp_reply[ICMPv6ND_NA]
opt = ndp_na[ICMPv6NDOptDstLLAddr]