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]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to