summaryrefslogtreecommitdiffstats
path: root/vnet/vnet/ip/ip_init.c
diff options
context:
space:
mode:
authorDave Barach <dave@barachs.net>2016-08-17 11:54:30 -0400
committerKeith Burns <alagalah@gmail.com>2016-08-19 18:42:04 +0000
commit5331c72daa9f7d345915a865df898cff652289ac (patch)
tree91f6d8fa0fa32f4052790d83d97c1402158ef67e /vnet/vnet/ip/ip_init.c
parent5e15c91b6c2b5fbd7f989c5dc4edde506d254926 (diff)
VPP-337 Add per interface IN filtering
- ip post-rewrite feature subgraph arc support Change-Id: Ia4b07197463021ade916326231af246e2559a290 Signed-off-by: Dave Barach <dave@barachs.net> Signed-off-by: Keith Burns (alagalah) <alagalah@gmail.com>
Diffstat (limited to 'vnet/vnet/ip/ip_init.c')
-rw-r--r--vnet/vnet/ip/ip_init.c22
1 files changed, 22 insertions, 0 deletions
diff --git a/vnet/vnet/ip/ip_init.c b/vnet/vnet/ip/ip_init.c
index c0c1c9560bc..02da6647be3 100644
--- a/vnet/vnet/ip/ip_init.c
+++ b/vnet/vnet/ip/ip_init.c
@@ -140,3 +140,25 @@ do { \
}
VLIB_INIT_FUNCTION (ip_main_init);
+
+void
+vnet_config_update_tx_feature_count (ip_lookup_main_t * lm,
+ ip_config_main_t * tx_cm,
+ u32 sw_if_index,
+ int is_add)
+{
+ ASSERT (tx_cm == &lm->feature_config_mains[VNET_IP_TX_FEAT]);
+
+ vec_validate (lm->tx_feature_count_by_sw_if_index, sw_if_index);
+
+ lm->tx_feature_count_by_sw_if_index[sw_if_index] += is_add ? 1 : -1;
+
+ ASSERT (lm->tx_feature_count_by_sw_if_index[sw_if_index] >= 0);
+
+ lm->tx_sw_if_has_ip_output_features =
+ clib_bitmap_set (lm->tx_sw_if_has_ip_output_features, sw_if_index,
+ lm->tx_feature_count_by_sw_if_index[sw_if_index] > 0);
+}
+
+
+