diff --git a/test/test_l2_flood.py b/test/test_l2_flood.py
index 8b8a3f0..5a2694c 100644
--- a/test/test_l2_flood.py
+++ b/test/test_l2_flood.py
@@ -192,13 +192,18 @@
             self.vapi.sw_interface_set_l2_bridge(i.sw_if_index, 1, 0)
 
         #
-        # an unknown unicast packet
+        # an unknown unicast and braodcast packets
         #
         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) /
                 Raw('\xa5' * 100))
+        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) /
+                Raw('\xa5' * 100))
 
         #
         # input on pg0, expected copies on pg1->4
@@ -210,6 +215,13 @@
         for i in self.pg_interfaces[1:4]:
             rx0 = i.get_capture(65, timeout=1)
 
+        self.pg0.add_stream(p_bm*65)
+        self.pg_enable_capture(self.pg_interfaces)
+        self.pg_start()
+
+        for i in self.pg_interfaces[1:4]:
+            rx0 = i.get_capture(65, timeout=1)
+
         #
         # use pg8 as the uu-fwd interface
         #
@@ -228,6 +240,13 @@
         for i in self.pg_interfaces[0:4]:
             i.assert_nothing_captured(remark="UU not flooded")
 
+        self.pg0.add_stream(p_bm*65)
+        self.pg_enable_capture(self.pg_interfaces)
+        self.pg_start()
+
+        for i in self.pg_interfaces[1:4]:
+            rx0 = i.get_capture(65, timeout=1)
+
         #
         # remove the uu-fwd interface and expect UU to be flooded again
         #
