X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fplugins%2Fgbp%2Fgbp_bridge_domain.c;h=02ed97d7452ec8fbb57f11a0f0cf3d2a4d06e3f3;hb=4ba67723d716660c56326ce498b99a060a9471b1;hp=049c89bebabbfbf89cf07879e2c1635a923c329d;hpb=879d11c250a4710759ddefe22afd7fc05bda2946;p=vpp.git diff --git a/src/plugins/gbp/gbp_bridge_domain.c b/src/plugins/gbp/gbp_bridge_domain.c index 049c89bebab..02ed97d7452 100644 --- a/src/plugins/gbp/gbp_bridge_domain.c +++ b/src/plugins/gbp/gbp_bridge_domain.c @@ -15,7 +15,7 @@ #include #include -#include +#include #include #include @@ -113,6 +113,23 @@ gbp_bridge_domain_db_remove (gbp_bridge_domain_t * gb) gbp_bridge_domain_db.gbd_by_bd_index[gb->gb_bd_index] = INDEX_INVALID; } +u8 * +format_gbp_bridge_domain_flags (u8 * s, va_list * args) +{ + gbp_bridge_domain_flags_t gf = va_arg (*args, gbp_bridge_domain_flags_t); + + if (gf) + { + if (gf & GBP_BD_FLAG_DO_NOT_LEARN) + s = format (s, "do-not-learn"); + } + else + { + s = format (s, "none"); + } + return (s); +} + static u8 * format_gbp_bridge_domain_ptr (u8 * s, va_list * args) { @@ -120,13 +137,13 @@ format_gbp_bridge_domain_ptr (u8 * s, va_list * args) vnet_main_t *vnm = vnet_get_main (); if (NULL != gb) - s = format (s, "[%d] bd:[%d,%d], bvi:%U uu-flood:%U locks:%d", + s = format (s, "[%d] bd:[%d,%d], bvi:%U uu-flood:%U flags:%U locks:%d", gb - gbp_bridge_domain_pool, gb->gb_bd_id, gb->gb_bd_index, format_vnet_sw_if_index_name, vnm, gb->gb_bvi_sw_if_index, format_vnet_sw_if_index_name, vnm, gb->gb_uu_fwd_sw_if_index, - gb->gb_locks); + format_gbp_bridge_domain_flags, gb->gb_flags, gb->gb_locks); else s = format (s, "NULL"); @@ -193,14 +210,13 @@ gbp_bridge_domain_add_and_lock (u32 bd_id, set_int_l2_mode (vlib_get_main (), vnet_get_main (), MODE_L2_BRIDGE, gb->gb_uu_fwd_sw_if_index, bd_index, L2_BD_PORT_TYPE_UU_FWD, 0, 0); - gbp_sclass_enable_l2 (gb->gb_uu_fwd_sw_if_index); } if (~0 != gb->gb_bm_flood_sw_if_index) { set_int_l2_mode (vlib_get_main (), vnet_get_main (), MODE_L2_BRIDGE, gb->gb_bm_flood_sw_if_index, bd_index, L2_BD_PORT_TYPE_NORMAL, 0, 0); - gbp_sclass_enable_l2 (gb->gb_bm_flood_sw_if_index); + gbp_learn_enable (gb->gb_bm_flood_sw_if_index, GBP_LEARN_MODE_L2); } /* @@ -250,14 +266,13 @@ gbp_bridge_domain_unlock (index_t index) set_int_l2_mode (vlib_get_main (), vnet_get_main (), MODE_L3, gb->gb_uu_fwd_sw_if_index, gb->gb_bd_index, L2_BD_PORT_TYPE_UU_FWD, 0, 0); - gbp_sclass_disable_l2 (gb->gb_uu_fwd_sw_if_index); } if (~0 != gb->gb_bm_flood_sw_if_index) { set_int_l2_mode (vlib_get_main (), vnet_get_main (), MODE_L3, gb->gb_bm_flood_sw_if_index, gb->gb_bd_index, L2_BD_PORT_TYPE_NORMAL, 0, 0); - gbp_sclass_disable_l2 (gb->gb_bm_flood_sw_if_index); + gbp_learn_enable (gb->gb_bm_flood_sw_if_index, GBP_LEARN_MODE_L2); } gbp_bridge_domain_db_remove (gb);