diff options
Diffstat (limited to 'src/plugins/gbp/gbp_route_domain.c')
-rw-r--r-- | src/plugins/gbp/gbp_route_domain.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/plugins/gbp/gbp_route_domain.c b/src/plugins/gbp/gbp_route_domain.c index 67b6915b463..6a3f4fa7f1e 100644 --- a/src/plugins/gbp/gbp_route_domain.c +++ b/src/plugins/gbp/gbp_route_domain.c @@ -15,6 +15,7 @@ #include <plugins/gbp/gbp_route_domain.h> #include <plugins/gbp/gbp_endpoint.h> +#include <plugins/gbp/gbp_sclass.h> #include <vnet/dpo/dvr_dpo.h> #include <vnet/fib/fib_table.h> @@ -182,6 +183,8 @@ gbp_route_domain_add_and_lock (u32 rd_id, &ADJ_BCAST_ADDR, grd->grd_uu_sw_if_index[fproto], rewrite); + + gbp_sclass_enable_ip (grd->grd_uu_sw_if_index[fproto]); } else { @@ -223,6 +226,8 @@ gbp_route_domain_unlock (index_t index) fproto, FIB_SOURCE_PLUGIN_HI); if (INDEX_INVALID != grd->grd_adj[fproto]) adj_unlock (grd->grd_adj[fproto]); + if (~0 != grd->grd_uu_sw_if_index[fproto]) + gbp_sclass_disable_ip (grd->grd_uu_sw_if_index[fproto]); } gbp_route_domain_db_remove (grd); |