summaryrefslogtreecommitdiffstats
path: root/src/vnet/adj
diff options
context:
space:
mode:
authorNeale Ranns <nranns@cisco.com>2019-12-02 23:10:08 +0000
committerOle Trøan <otroan@employees.org>2019-12-03 19:27:53 +0000
commitc8972fe506c78530a3e4085453e86a0b85b245ef (patch)
tree08a549b4e1bc9b941fefdceb0a0e7d2efd02b4b5 /src/vnet/adj
parenta6460e46f379315e872819af139ae2c87e8e06f3 (diff)
fib feature: Code mechanics to decouple dependency of feature on adj
Type: refactor Signed-off-by: Neale Ranns <nranns@cisco.com> Change-Id: I1d8b88fe1eefc850865297b4f025b97e6373a6bd
Diffstat (limited to 'src/vnet/adj')
-rw-r--r--src/vnet/adj/adj.c7
-rw-r--r--src/vnet/adj/adj.h6
2 files changed, 5 insertions, 8 deletions
diff --git a/src/vnet/adj/adj.c b/src/vnet/adj/adj.c
index 0966d97cc6d..a603925e905 100644
--- a/src/vnet/adj/adj.c
+++ b/src/vnet/adj/adj.c
@@ -405,10 +405,11 @@ adj_feature_update_walk_cb (adj_index_t ai,
return (ADJ_WALK_RC_CONTINUE);
}
-void
+static void
adj_feature_update (u32 sw_if_index,
u8 arc_index,
- u8 is_enable)
+ u8 is_enable,
+ void *data)
{
/*
* Walk all the adjacencies on the interface to update the cached
@@ -590,6 +591,8 @@ adj_module_init (vlib_main_t * vm)
adj_midchain_module_init();
adj_mcast_module_init();
+ vnet_feature_register(adj_feature_update, NULL);
+
return (NULL);
}
diff --git a/src/vnet/adj/adj.h b/src/vnet/adj/adj.h
index 9d1577fe911..58e5ebf5d98 100644
--- a/src/vnet/adj/adj.h
+++ b/src/vnet/adj/adj.h
@@ -390,12 +390,6 @@ extern int adj_is_up (adj_index_t ai);
extern const u8* adj_get_rewrite (adj_index_t ai);
/**
- * @brief Notify the adjacency subsystem that the features settings for
- * an interface have changed
- */
-extern void adj_feature_update (u32 sw_if_index, u8 arc_index, u8 is_enable);
-
-/**
* @brief descend the FIB graph looking for loops
*
* @param ai