diff options
author | Neale Ranns <nranns@cisco.com> | 2018-01-29 10:43:33 -0800 |
---|---|---|
committer | Florin Coras <florin.coras@gmail.com> | 2018-01-30 08:54:29 +0000 |
commit | db14f5aff69311d13a0a90baa3567e92f3faa783 (patch) | |
tree | 2ee6edb0d8b82b840fdc90b62f782ea0b95bc8f0 /src/vnet/adj/adj_midchain.c | |
parent | bb16d3ffecd357907d01f2785ac78edf0292cfd3 (diff) |
Allow the provider of a midchain adjacency to pass context data that is returned in the fixup function
Change-Id: I458e6e03b03e27775df33a2fd302743126d6ac44
Signed-off-by: Neale Ranns <nranns@cisco.com>
Diffstat (limited to 'src/vnet/adj/adj_midchain.c')
-rw-r--r-- | src/vnet/adj/adj_midchain.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/vnet/adj/adj_midchain.c b/src/vnet/adj/adj_midchain.c index 370fa4652f8..9fd3246b15a 100644 --- a/src/vnet/adj/adj_midchain.c +++ b/src/vnet/adj/adj_midchain.c @@ -460,6 +460,7 @@ adj_nbr_midchain_get_feature_node (ip_adjacency_t *adj) void adj_midchain_setup (adj_index_t adj_index, adj_midchain_fixup_t fixup, + const void *data, adj_flags_t flags) { u32 feature_index, tx_node; @@ -471,6 +472,7 @@ adj_midchain_setup (adj_index_t adj_index, adj = adj_get(adj_index); adj->sub_type.midchain.fixup_func = fixup; + adj->sub_type.midchain.fixup_data = data; adj->ia_flags |= flags; arc_index = adj_midchain_get_feature_arc_index_for_link_type (adj); @@ -503,6 +505,7 @@ adj_midchain_setup (adj_index_t adj_index, void adj_nbr_midchain_update_rewrite (adj_index_t adj_index, adj_midchain_fixup_t fixup, + const void *fixup_data, adj_flags_t flags, u8 *rewrite) { @@ -522,7 +525,7 @@ adj_nbr_midchain_update_rewrite (adj_index_t adj_index, */ ASSERT(NULL != rewrite); - adj_midchain_setup(adj_index, fixup, flags); + adj_midchain_setup(adj_index, fixup, fixup_data, flags); /* * update the rewirte with the workers paused. |