Hello Team, During integration of our software with VPP 19.08 we have found that ipv6 neighbor does not get discovered on first sw_if_index on which ipv6 is enabled. On further analysis we found that, it is due to radv_info->mcast_adj_index being checked against "0" in the following code :-
Function: static_always_inline uword icmp6_router_solicitation (vlib_main_t * vm, vlib_node_runtime_t * node, vlib_frame_t * frame) :- else { adj_index0 = radv_info->mcast_adj_index; *if (adj_index0 == 0) error0 = ICMP6_ERROR_DST_LOOKUP_MISS; else* { next0 = is_dropped ? next0 : ICMP6_ROUTER_SOLICITATION_NEXT_REPLY_RW; vnet_buffer (p0)->ip.adj_index[VLIB_TX] = adj_index0; } } Based on our understanding, "0" is a valid adjacency index. After changing the code as below the problem seems to have been solved. else { adj_index0 = radv_info->mcast_adj_index; *if (adj_index0 == ADJ_INDEX_INVALID )* * error0 = ICMP6_ERROR_DST_LOOKUP_MISS; else* { next0 = is_dropped ? next0 : ICMP6_ROUTER_SOLICITATION_NEXT_REPLY_RW; vnet_buffer (p0)->ip.adj_index[VLIB_TX] = adj_index0; } } Is this fix correct? If yes, can this be fixed in the master branch please. Thanks, Rajith
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#14768): https://lists.fd.io/g/vpp-dev/message/14768 Mute This Topic: https://lists.fd.io/mt/65768746/21656 Group Owner: vpp-dev+ow...@lists.fd.io Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-