aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/gbp/gbp_route_domain.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/gbp/gbp_route_domain.c')
-rw-r--r--src/plugins/gbp/gbp_route_domain.c5
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);