Code Review
/
vpp.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
review
|
tree
raw
|
inline
| side by side
vpp_papi_provider: Remove more wrapper functions.
[vpp.git]
/
test
/
test_l2_fib.py
diff --git
a/test/test_l2_fib.py
b/test/test_l2_fib.py
index
ba2f787
..
97915a3
100644
(file)
--- a/
test/test_l2_fib.py
+++ b/
test/test_l2_fib.py
@@
-69,6
+69,12
@@
from scapy.layers.inet import IP, UDP
from framework import VppTestCase, VppTestRunner
from util import Host, ppp
from framework import VppTestCase, VppTestRunner
from util import Host, ppp
+from vpp_papi import mac_pton
+
+# from src/vnet/l2/l2_fib.h
+MAC_EVENT_ACTION_ADD = 0
+MAC_EVENT_ACTION_DELETE = 1
+MAC_EVENT_ACTION_MOVE = 2
class TestL2fib(VppTestCase):
class TestL2fib(VppTestCase):
@@
-76,7
+82,8
@@
class TestL2fib(VppTestCase):
@classmethod
def bd_ifs(cls, bd_id):
@classmethod
def bd_ifs(cls, bd_id):
- return range((bd_id - 1) * cls.n_ifs_per_bd, bd_id * cls.n_ifs_per_bd)
+ return range((bd_id - 1) * cls.n_ifs_per_bd,
+ bd_id * cls.n_ifs_per_bd - 1)
@classmethod
def setUpClass(cls):
@classmethod
def setUpClass(cls):
@@
-93,7
+100,7
@@
class TestL2fib(VppTestCase):
n_brs = cls.n_brs = range(1, 3)
cls.n_ifs_per_bd = 4
n_ifs = range(cls.n_ifs_per_bd * len(cls.n_brs))
n_brs = cls.n_brs = range(1, 3)
cls.n_ifs_per_bd = 4
n_ifs = range(cls.n_ifs_per_bd * len(cls.n_brs))
- # Create
4
pg interfaces
+ # Create pg interfaces
cls.create_pg_interfaces(n_ifs)
cls.flows = dict()
cls.create_pg_interfaces(n_ifs)
cls.flows = dict()
@@
-110,12
+117,12
@@
class TestL2fib(VppTestCase):
for bd_id in n_brs:
# Create BD with MAC learning and unknown unicast flooding
# disabled and put interfaces to this BD
for bd_id in n_brs:
# Create BD with MAC learning and unknown unicast flooding
# disabled and put interfaces to this BD
- cls.vapi.bridge_domain_add_del(
-
bd_id=bd_id, uu_flood=0,
learn=0)
+ cls.vapi.bridge_domain_add_del(
bd_id=bd_id, uu_flood=0,
+
learn=0)
ifs = [cls.pg_interfaces[i] for i in cls.bd_ifs(bd_id)]
for pg_if in ifs:
ifs = [cls.pg_interfaces[i] for i in cls.bd_ifs(bd_id)]
for pg_if in ifs:
- cls.vapi.sw_interface_set_l2_bridge(
pg_if.sw_if_index,
-
bd_id=bd_id)
+ cls.vapi.sw_interface_set_l2_bridge(
+
rx_sw_if_index=pg_if.sw_if_index,
bd_id=bd_id)
# Set up all interfaces
for i in cls.pg_interfaces:
# Set up all interfaces
for i in cls.pg_interfaces:
@@
-176,7
+183,7
@@
class TestL2fib(VppTestCase):
:param int bd_id: BD to teach
:param dict hosts: dict of hosts per interface
"""
:param int bd_id: BD to teach
:param dict hosts: dict of hosts per interface
"""
- self.vapi.bridge_flags(bd_id
, 1,
1)
+ self.vapi.bridge_flags(bd_id
=bd_id, is_set=1, flags=
1)
ifs = [self.pg_interfaces[i] for i in self.bd_ifs(bd_id)]
for pg_if in ifs:
swif = pg_if.sw_if_index
ifs = [self.pg_interfaces[i] for i in self.bd_ifs(bd_id)]
for pg_if in ifs:
swif = pg_if.sw_if_index
@@
-199,7
+206,7
@@
class TestL2fib(VppTestCase):
swif = pg_if.sw_if_index
for host in hosts[swif]:
self.vapi.l2fib_add_del(
swif = pg_if.sw_if_index
for host in hosts[swif]:
self.vapi.l2fib_add_del(
-
host.mac
, bd_id, swif, static_mac=1)
+
mac_pton(host.mac)
, bd_id, swif, static_mac=1)
def delete_l2_fib_entry(self, bd_id, hosts):
"""
def delete_l2_fib_entry(self, bd_id, hosts):
"""
@@
-212,7
+219,7
@@
class TestL2fib(VppTestCase):
swif = pg_if.sw_if_index
for host in hosts[swif]:
self.vapi.l2fib_add_del(
swif = pg_if.sw_if_index
for host in hosts[swif]:
self.vapi.l2fib_add_del(
-
host.mac
, bd_id, swif, is_add=0)
+
mac_pton(host.mac)
, bd_id, swif, is_add=0)
def flush_int(self, swif, learned_hosts):
"""
def flush_int(self, swif, learned_hosts):
"""
@@
-292,7
+299,7
@@
class TestL2fib(VppTestCase):
last_info[i.sw_if_index] = None
dst_sw_if_index = pg_if.sw_if_index
for packet in capture:
last_info[i.sw_if_index] = None
dst_sw_if_index = pg_if.sw_if_index
for packet in capture:
- payload_info = self.payload_to_info(
str(packet[Raw])
)
+ payload_info = self.payload_to_info(
packet[Raw]
)
try:
ip = packet[IP]
udp = packet[UDP]
try:
ip = packet[IP]
udp = packet[UDP]
@@
-336,7
+343,7
@@
class TestL2fib(VppTestCase):
if pkts:
i.add_stream(pkts)
if pkts:
i.add_stream(pkts)
- self.vapi.bridge_flags(bd_id
, 0,
1)
+ self.vapi.bridge_flags(bd_id
=bd_id, is_set=0, flags=
1)
# Enable packet capture and start packet sending
self.pg_enable_capture(ifs)
self.pg_start()
# Enable packet capture and start packet sending
self.pg_enable_capture(ifs)
self.pg_start()
@@
-364,7
+371,7
@@
class TestL2fib(VppTestCase):
if pkts:
i.add_stream(pkts)
if pkts:
i.add_stream(pkts)
- self.vapi.bridge_flags(bd_id
, 0,
1)
+ self.vapi.bridge_flags(bd_id
=bd_id, is_set=0, flags=
1)
# Enable packet capture and start packet sending
self.pg_enable_capture(ifs)
self.pg_start()
# Enable packet capture and start packet sending
self.pg_enable_capture(ifs)
self.pg_start()
@@
-385,8
+392,8
@@
class TestL2fib(VppTestCase):
self.config_l2_fib_entries(bd_id, hosts)
self.run_verify_test(bd_id, hosts, hosts)
self.config_l2_fib_entries(bd_id, hosts)
self.run_verify_test(bd_id, hosts, hosts)
- def test_l2_fib_delete12(self):
- """ L2 FIB - program 100
+
delete 12 MACs
+ def test_l2_fib_
program100_
delete12(self):
+ """ L2 FIB - program 100
,
delete 12 MACs
"""
bd_id = 1
hosts = self.create_hosts(100, subnet=17)
"""
bd_id = 1
hosts = self.create_hosts(100, subnet=17)
@@
-397,8
+404,8
@@
class TestL2fib(VppTestCase):
self.run_verify_test(bd_id, hosts, hosts)
self.run_verify_negat_test(bd_id, hosts, del_hosts)
self.run_verify_test(bd_id, hosts, hosts)
self.run_verify_negat_test(bd_id, hosts, del_hosts)
- def test_l2_fib_
add
100_add100(self):
- """ L2 FIB - program 100
+
100 MACs
+ def test_l2_fib_
program
100_add100(self):
+ """ L2 FIB - program 100
, add
100 MACs
"""
bd_id = 1
hosts = self.create_hosts(100, subnet=17)
"""
bd_id = 1
hosts = self.create_hosts(100, subnet=17)
@@
-408,7
+415,7
@@
class TestL2fib(VppTestCase):
self.run_verify_test(bd_id, hosts, hosts2)
def test_l2_fib_program10_learn10(self):
self.run_verify_test(bd_id, hosts, hosts2)
def test_l2_fib_program10_learn10(self):
- """ L2 FIB -
P
rogram 10 MACs, learn 10
+ """ L2 FIB -
p
rogram 10 MACs, learn 10
"""
hosts = self.create_hosts(20, subnet=35)
lhosts = self.split_hosts(hosts, 10)
"""
hosts = self.create_hosts(20, subnet=35)
lhosts = self.split_hosts(hosts, 10)
@@
-475,7
+482,7
@@
class TestL2fib(VppTestCase):
bd1 = 1
hosts = self.create_hosts(10, subnet=39)
bd1 = 1
hosts = self.create_hosts(10, subnet=39)
- self.vapi.want_
macs_learn
_events()
+ self.vapi.want_
l2_macs
_events()
self.learn_hosts(bd1, hosts)
self.sleep(1)
self.learn_hosts(bd1, hosts)
self.sleep(1)
@@
-483,10
+490,10
@@
class TestL2fib(VppTestCase):
evs = self.vapi.collect_events()
learned_macs = {
e.mac[i].mac_addr for e in evs for i in range(e.n_macs)
evs = self.vapi.collect_events()
learned_macs = {
e.mac[i].mac_addr for e in evs for i in range(e.n_macs)
- if
not e.mac[i].is_del
}
+ if
e.mac[i].action == MAC_EVENT_ACTION_ADD
}
macs = {h.bin_mac for swif in self.bd_ifs(bd1)
for h in hosts[self.pg_interfaces[swif].sw_if_index]}
macs = {h.bin_mac for swif in self.bd_ifs(bd1)
for h in hosts[self.pg_interfaces[swif].sw_if_index]}
- self.vapi.want_
macs_learn
_events(enable_disable=0)
+ self.vapi.want_
l2_macs
_events(enable_disable=0)
self.assertEqual(len(learned_macs ^ macs), 0)
def test_l2_fib_macs_learn_max(self):
self.assertEqual(len(learned_macs ^ macs), 0)
def test_l2_fib_macs_learn_max(self):
@@
-496,18
+503,18
@@
class TestL2fib(VppTestCase):
hosts = self.create_hosts(10, subnet=40)
ev_macs = 1
hosts = self.create_hosts(10, subnet=40)
ev_macs = 1
- self.vapi.want_
macs_learn
_events(max_macs_in_event=ev_macs)
+ self.vapi.want_
l2_macs
_events(max_macs_in_event=ev_macs)
self.learn_hosts(bd1, hosts)
self.sleep(1)
self.logger.info(self.vapi.ppcli("show l2fib"))
evs = self.vapi.collect_events()
self.learn_hosts(bd1, hosts)
self.sleep(1)
self.logger.info(self.vapi.ppcli("show l2fib"))
evs = self.vapi.collect_events()
- self.vapi.want_
macs_learn
_events(enable_disable=0)
+ self.vapi.want_
l2_macs
_events(enable_disable=0)
self.assertGreater(len(evs), 0)
learned_macs = {
e.mac[i].mac_addr for e in evs for i in range(e.n_macs)
self.assertGreater(len(evs), 0)
learned_macs = {
e.mac[i].mac_addr for e in evs for i in range(e.n_macs)
- if
not e.mac[i].is_del
}
+ if
e.mac[i].action == MAC_EVENT_ACTION_ADD
}
macs = {h.bin_mac for swif in self.bd_ifs(bd1)
for h in hosts[self.pg_interfaces[swif].sw_if_index]}
macs = {h.bin_mac for swif in self.bd_ifs(bd1)
for h in hosts[self.pg_interfaces[swif].sw_if_index]}