From 0d65d11053395bde7bd8c36439e9025e50ea8028 Mon Sep 17 00:00:00 2001 From: Dave Barach Date: Fri, 16 Mar 2018 15:21:35 -0400 Subject: Fix a long-latent bi=0 bug in vlib_buffer_add_data Change vlib_buffer_add_data() so it interprets ~0 to mean please allocate a new buffer, instead of 0. Fixed a couple of calls to pass ~0 instead of 0. Zero has always been a valid buffer index, we never happened to actually use it until recent buffer allocator changes. The presenting symptom: ASSERT failure when running "make TEST=test_mpls test-debug" Change-Id: Ic909913c1d464b3434d6d47e0c58f978806854d5 Signed-off-by: Dave Barach --- src/vnet/srp/node.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/vnet/srp') diff --git a/src/vnet/srp/node.c b/src/vnet/srp/node.c index 9123c4c7735..acb770e52c8 100644 --- a/src/vnet/srp/node.c +++ b/src/vnet/srp/node.c @@ -334,7 +334,7 @@ srp_topology_packet (vlib_main_t * vm, u32 sw_if_index, u8 ** contents) u32 bi; bi = vlib_buffer_add_data (vm, VLIB_BUFFER_DEFAULT_FREE_LIST_INDEX, - /* buffer to append to */ 0, + /* buffer to append to */ ~0, *contents, vec_len (*contents)); b = vlib_get_buffer (vm, bi); vnet_buffer (b)->sw_if_index[VLIB_RX] = vnet_buffer (b)->sw_if_index[VLIB_TX] = sw_if_index; @@ -621,7 +621,7 @@ static void tx_ips_packet (srp_interface_t * si, sizeof (i[0]) - STRUCT_OFFSET_OF (srp_ips_header_t, control))); bi = vlib_buffer_add_data (vm, VLIB_BUFFER_DEFAULT_FREE_LIST_INDEX, - /* buffer to append to */ 0, + /* buffer to append to */ ~0, i, sizeof (i[0])); /* FIXME trace. */ -- cgit 1.2.3-korg