aboutsummaryrefslogtreecommitdiffstats
path: root/src/vnet/mpls
diff options
context:
space:
mode:
Diffstat (limited to 'src/vnet/mpls')
-rw-r--r--src/vnet/mpls/mpls_output.c12
-rw-r--r--src/vnet/mpls/mpls_tunnel.c5
2 files changed, 13 insertions, 4 deletions
diff --git a/src/vnet/mpls/mpls_output.c b/src/vnet/mpls/mpls_output.c
index 0dc12b8d5bd..22e6c1062c3 100644
--- a/src/vnet/mpls/mpls_output.c
+++ b/src/vnet/mpls/mpls_output.c
@@ -185,8 +185,12 @@ mpls_output_inline (vlib_main_t * vm,
}
if (is_midchain)
{
- adj0->sub_type.midchain.fixup_func(vm, adj0, p0);
- adj1->sub_type.midchain.fixup_func(vm, adj1, p1);
+ adj0->sub_type.midchain.fixup_func
+ (vm, adj0, p0,
+ adj0->sub_type.midchain.fixup_data);
+ adj1->sub_type.midchain.fixup_func
+ (vm, adj1, p1,
+ adj1->sub_type.midchain.fixup_data);
}
p0->error = error_node->errors[error0];
@@ -266,7 +270,9 @@ mpls_output_inline (vlib_main_t * vm,
}
if (is_midchain)
{
- adj0->sub_type.midchain.fixup_func(vm, adj0, p0);
+ adj0->sub_type.midchain.fixup_func
+ (vm, adj0, p0,
+ adj0->sub_type.midchain.fixup_data);
}
p0->error = error_node->errors[error0];
diff --git a/src/vnet/mpls/mpls_tunnel.c b/src/vnet/mpls/mpls_tunnel.c
index efd9e2dbc84..8ed2c409ce8 100644
--- a/src/vnet/mpls/mpls_tunnel.c
+++ b/src/vnet/mpls/mpls_tunnel.c
@@ -377,7 +377,8 @@ mpls_tunnel_admin_up_down (vnet_main_t * vnm,
static void
mpls_tunnel_fixup (vlib_main_t *vm,
ip_adjacency_t *adj,
- vlib_buffer_t *b0)
+ vlib_buffer_t *b0,
+ const void*data)
{
/*
* A no-op w.r.t. the header. but reset the 'have we pushed any
@@ -403,6 +404,7 @@ mpls_tunnel_update_adj (vnet_main_t * vnm,
case IP_LOOKUP_NEXT_ARP:
case IP_LOOKUP_NEXT_GLEAN:
adj_nbr_midchain_update_rewrite(ai, mpls_tunnel_fixup,
+ NULL,
ADJ_FLAG_NONE,
mpls_tunnel_build_rewrite_i());
break;
@@ -412,6 +414,7 @@ mpls_tunnel_update_adj (vnet_main_t * vnm,
* There's no MAC fixup, so the last 2 parameters are 0
*/
adj_mcast_midchain_update_rewrite(ai, mpls_tunnel_fixup,
+ NULL,
ADJ_FLAG_NONE,
mpls_tunnel_build_rewrite_i(),
0, 0);