gbp: Add support for arp unicast forward in gbp bridge domain

Type: feature

Change-Id: Id487fe46194d0a89bd5ac53a9f4ff78b5ff6de60
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
diff --git a/src/plugins/gbp/gbp_bridge_domain.c b/src/plugins/gbp/gbp_bridge_domain.c
index 73daa9d..5310545 100644
--- a/src/plugins/gbp/gbp_bridge_domain.c
+++ b/src/plugins/gbp/gbp_bridge_domain.c
@@ -213,7 +213,8 @@
 		       MODE_L2_BRIDGE, gb->gb_bvi_sw_if_index,
 		       bd_index, L2_BD_PORT_TYPE_BVI, 0, 0);
 
-      if (!(flags & GBP_BD_FLAG_UU_FWD_DROP)
+      if ((!(flags & GBP_BD_FLAG_UU_FWD_DROP)
+	   || (flags & GBP_BD_FLAG_UCAST_ARP))
 	  && ~0 != gb->gb_uu_fwd_sw_if_index)
 	{
 	  set_int_l2_mode (vlib_get_main (), vnet_get_main (),
@@ -234,6 +235,12 @@
        */
       bd_set_flags (vlib_get_main (), bd_index, bd_flags, 0);
 
+      if (flags & GBP_BD_FLAG_UCAST_ARP)
+	{
+	  bd_flags = L2_ARP_UFWD;
+	  bd_set_flags (vlib_get_main (), bd_index, bd_flags, 1);
+	}
+
       /*
        * Add the BVI's MAC to the L2FIB
        */