- 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,
- port_type=L2_PORT_TYPE.BVI,
- enable=0)
+ 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,
+ port_type=L2_PORT_TYPE.BVI,
+ enable=0,
+ )
+
+ self.vapi.bridge_domain_add_del_v2(bd_id=1, is_add=0)
+
+ def test_flood_one(self):
+ """L2 no-Flood Test"""
+
+ #
+ # Create a single bridge Domain
+ #
+ self.vapi.bridge_domain_add_del_v2(
+ bd_id=1, is_add=1, flood=1, uu_flood=1, forward=1, learn=1
+ )
+
+ #
+ # add 2 interfaces to the BD. this means a flood goes to only
+ # one member
+ #
+ for i in self.pg_interfaces[:2]:
+ self.vapi.sw_interface_set_l2_bridge(
+ rx_sw_if_index=i.sw_if_index, bd_id=1, shg=0
+ )
+
+ 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)
+ / Raw(b"\xa5" * 100)
+ )
+
+ #
+ # input on pg0 expect copies on pg1
+ #
+ self.send_and_expect(self.pg0, p * NUM_PKTS, self.pg1)