X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fplugins%2Flb%2Fnode.c;h=a2c35bd8e724517497df8a387ab9c5be1e33adae;hb=0937fdfa86ce61c54f37d142aabae45463a959e5;hp=8163e35a06e5070abd81a0a288ad1a2533dbee64;hpb=219cc90cb435cfcfb5154c6c0e49bd4d60aae769;p=vpp.git diff --git a/src/plugins/lb/node.c b/src/plugins/lb/node.c index 8163e35a06e..a2c35bd8e72 100644 --- a/src/plugins/lb/node.c +++ b/src/plugins/lb/node.c @@ -343,7 +343,7 @@ lb_node_fn (vlib_main_t * vm, vip_index0, lb_time, &available_index0, &asindex0); - if (PREDICT_TRUE(asindex0 != ~0)) + if (PREDICT_TRUE(asindex0 != 0)) { //Found an existing entry counter = LB_VIP_COUNTER_NEXT_PACKET; @@ -646,13 +646,14 @@ lb_nodeport_node_fn (vlib_main_t * vm, vlib_node_runtime_t * node, entry0 = hash_get_mem(lbm->vip_index_by_nodeport, &(udp_0->dst_port)); //Enqueue to next - vnet_buffer(p0)->ip.adj_index[VLIB_TX] = entry0[0]; + vnet_buffer(p0)->ip.adj_index[VLIB_TX] = entry0 ? entry0[0] + : ADJ_INDEX_INVALID; if (PREDICT_FALSE(p0->flags & VLIB_BUFFER_IS_TRACED)) { lb_nodeport_trace_t *tr = vlib_add_trace (vm, node, p0, sizeof(*tr)); - tr->vip_index = entry0[0]; + tr->vip_index = entry0 ? entry0[0] : ADJ_INDEX_INVALID; tr->node_port = (u32) clib_net_to_host_u16 (udp_0->dst_port); }