import unittest
import socket
from framework import VppTestCase, VppTestRunner
from vpp_ip_route import VppIpRoute, VppRoutePath
import unittest
import socket
from framework import VppTestCase, VppTestRunner
from vpp_ip_route import VppIpRoute, VppRoutePath
from scapy.packet import Raw
from scapy.layers.l2 import Ether
from scapy.layers.inet import IP, UDP
from scapy.packet import Raw
from scapy.layers.l2 import Ether
from scapy.layers.inet import IP, UDP
def setUp(self):
super(TestL2Flood, self).setUp()
# 12 l2 interface and one l3
self.create_pg_interfaces(range(13))
def setUp(self):
super(TestL2Flood, self).setUp()
# 12 l2 interface and one l3
self.create_pg_interfaces(range(13))
#
# add each interface to the BD. 3 interfaces per split horizon group
#
for i in self.pg_interfaces[0:4]:
#
# add each interface to the BD. 3 interfaces per split horizon group
#
for i in self.pg_interfaces[0:4]:
- self.vapi.sw_interface_set_l2_bridge(i.sw_if_index, 1, 2)
- for i in self.lo_interfaces:
- self.vapi.sw_interface_set_l2_bridge(i.sw_if_index, 1, 2,
+ self.vapi.sw_interface_set_l2_bridge(rx_sw_if_index=i.sw_if_index,
+ bd_id=1, shg=2)
+ for i in self.bvi_interfaces:
+ self.vapi.sw_interface_set_l2_bridge(rx_sw_if_index=i.sw_if_index,
+ bd_id=1, shg=2,
port_type=L2_PORT_TYPE.BVI)
p = (Ether(dst="ff:ff:ff:ff:ff:ff",
src="00:00:de:ad:be:ef") /
IP(src="10.10.10.10", dst="1.1.1.1") /
UDP(sport=1234, dport=1234) /
port_type=L2_PORT_TYPE.BVI)
p = (Ether(dst="ff:ff:ff:ff:ff:ff",
src="00:00:de:ad:be:ef") /
IP(src="10.10.10.10", dst="1.1.1.1") /
UDP(sport=1234, dport=1234) /
#
# input on pg0 expect copies on pg1->11
# this is in SHG=0 so its flooded to all, expect the pg0 since that's
# the ingress link
#
#
# input on pg0 expect copies on pg1->11
# this is in SHG=0 so its flooded to all, expect the pg0 since that's
# the ingress link
#
- self.vapi.sw_interface_set_l2_bridge(i.sw_if_index, 1, enable=0)
- for i in self.lo_interfaces:
- self.vapi.sw_interface_set_l2_bridge(i.sw_if_index, 1, 2,
+ self.vapi.sw_interface_set_l2_bridge(rx_sw_if_index=i.sw_if_index,
+ bd_id=1, enable=0)
+ for i in self.bvi_interfaces:
+ self.vapi.sw_interface_set_l2_bridge(rx_sw_if_index=i.sw_if_index,
+ bd_id=1, shg=2,
p = (Ether(dst="ff:ff:ff:ff:ff:ff",
src="00:00:de:ad:be:ef") /
IP(src="10.10.10.10", dst="1.1.1.1") /
UDP(sport=1234, dport=1234) /
p = (Ether(dst="ff:ff:ff:ff:ff:ff",
src="00:00:de:ad:be:ef") /
IP(src="10.10.10.10", dst="1.1.1.1") /
UDP(sport=1234, dport=1234) /
- self.vapi.sw_interface_set_l2_bridge(i.sw_if_index, 1, enable=0)
- self.vapi.bridge_domain_add_del(1, is_add=0)
+ self.vapi.sw_interface_set_l2_bridge(rx_sw_if_index=i.sw_if_index,
+ bd_id=1, enable=0)
+ self.vapi.bridge_domain_add_del(bd_id=1, is_add=0)
#
# add each interface to the BD. 3 interfaces per split horizon group
#
for i in self.pg_interfaces[0:4]:
#
# add each interface to the BD. 3 interfaces per split horizon group
#
for i in self.pg_interfaces[0:4]:
#
p_uu = (Ether(dst="00:00:00:c1:5c:00",
src="00:00:de:ad:be:ef") /
IP(src="10.10.10.10", dst="1.1.1.1") /
UDP(sport=1234, dport=1234) /
#
p_uu = (Ether(dst="00:00:00:c1:5c:00",
src="00:00:de:ad:be:ef") /
IP(src="10.10.10.10", dst="1.1.1.1") /
UDP(sport=1234, dport=1234) /
p_bm = (Ether(dst="ff:ff:ff:ff:ff:ff",
src="00:00:de:ad:be:ef") /
IP(src="10.10.10.10", dst="1.1.1.1") /
UDP(sport=1234, dport=1234) /
p_bm = (Ether(dst="ff:ff:ff:ff:ff:ff",
src="00:00:de:ad:be:ef") /
IP(src="10.10.10.10", dst="1.1.1.1") /
UDP(sport=1234, dport=1234) /
- self.vapi.sw_interface_set_l2_bridge(self.pg8.sw_if_index, 1, 0,
- port_type=L2_PORT_TYPE.UU_FWD)
+ self.vapi.sw_interface_set_l2_bridge(
+ rx_sw_if_index=self.pg8.sw_if_index, bd_id=1, shg=0,
+ port_type=L2_PORT_TYPE.UU_FWD)
- self.vapi.sw_interface_set_l2_bridge(self.pg8.sw_if_index, 1, 0,
- port_type=L2_PORT_TYPE.UU_FWD,
- enable=0)
+ self.vapi.sw_interface_set_l2_bridge(
+ rx_sw_if_index=self.pg8.sw_if_index, bd_id=1, shg=0,
+ port_type=L2_PORT_TYPE.UU_FWD, enable=0)
self.send_and_assert_no_replies(self.pg0, p_uu)
#
# re-add the uu-fwd interface
#
self.send_and_assert_no_replies(self.pg0, p_uu)
#
# re-add the uu-fwd interface
#
- self.vapi.sw_interface_set_l2_bridge(self.pg8.sw_if_index, 1, 0,
- port_type=L2_PORT_TYPE.UU_FWD)
+ self.vapi.sw_interface_set_l2_bridge(
+ rx_sw_if_index=self.pg8.sw_if_index, bd_id=1, shg=0,
+ port_type=L2_PORT_TYPE.UU_FWD)
- self.vapi.sw_interface_set_l2_bridge(self.pg8.sw_if_index, 1, 0,
- port_type=L2_PORT_TYPE.UU_FWD,
- enable=0)
+ self.vapi.sw_interface_set_l2_bridge(
+ rx_sw_if_index=self.pg8.sw_if_index, bd_id=1, shg=0,
+ port_type=L2_PORT_TYPE.UU_FWD, enable=0)
self.send_and_assert_no_replies(self.pg0, p_uu)
#
# cleanup
#
for i in self.pg_interfaces[:4]:
self.send_and_assert_no_replies(self.pg0, p_uu)
#
# cleanup
#
for i in self.pg_interfaces[:4]: