diff options
author | 2016-08-17 11:54:30 -0400 | |
---|---|---|
committer | 2016-08-19 18:42:04 +0000 | |
commit | 5331c72daa9f7d345915a865df898cff652289ac (patch) | |
tree | 91f6d8fa0fa32f4052790d83d97c1402158ef67e /vnet/vnet/ip/ip_init.c | |
parent | 5e15c91b6c2b5fbd7f989c5dc4edde506d254926 (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.c | 22 |
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); +} + + + |