X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvnet%2Fdhcpv6%2Fproxy_node.c;h=4dd2239ffaa26b32deda3f6b44bc18e11f0d6d6f;hb=refs%2Fchanges%2F14%2F4714%2F2;hp=40df35cd0597d52f0f05c58cea3891485211e437;hpb=a9a951f8e5ed6e172fbfbdbb6cb690c67fa2f715;p=vpp.git diff --git a/src/vnet/dhcpv6/proxy_node.c b/src/vnet/dhcpv6/proxy_node.c index 40df35cd059..4dd2239ffaa 100644 --- a/src/vnet/dhcpv6/proxy_node.c +++ b/src/vnet/dhcpv6/proxy_node.c @@ -244,7 +244,11 @@ dhcpv6_proxy_to_server_input (vlib_main_t * vm, /* Send to DHCPV6 server via the configured FIB */ rx_sw_if_index = sw_if_index = vnet_buffer(b0)->sw_if_index[VLIB_RX]; rx_fib_idx = im->fib_index_by_sw_if_index [rx_sw_if_index]; - server_idx = dpm->dhcp6_server_index_by_rx_fib_index[rx_fib_idx]; + + if (vec_len(dpm->dhcp6_server_index_by_rx_fib_index) <= rx_fib_idx) + goto no_server; + + server_idx = dpm->dhcp6_server_index_by_rx_fib_index[rx_fib_idx]; if (PREDICT_FALSE (pool_is_free_index (dpm->dhcp6_servers, server_idx)))