Thanks! One small question - if the neighbor is not resolved yet, will the
lookup yield a glean adjacency? If that is the case, depending on the type
of the result, I should punt the packet to either ip6_rewrite or
ip6_discover_neighbor?

Thanks,
-nagp

On Wed, Apr 12, 2017 at 10:40 PM, Neale Ranns (nranns) <nra...@cisco.com>
wrote:

>
>
> Hi nagp,
>
>
>
> I do indeed mean the result of a ip6_fib_table_lookup. The goal of a
> lookup is ultimately to find the adjacency to use (and thus eventually get
> to ip6_rwrite node). Since you know the adjacency’s full description, it is
> more efficient to retrieve it directly from the adjacency data-base and go
> directly to ip6_rewrite.
>
>
>
> As you say, if one where to do a lookup for a link-local address in the
> FIB, then one should use the interface as part of the key, i.e. a /160
> lookup, or perhaps in a per-interface link-local address only ‘FIB’. But
> VPP has no such function. The adjacency data-base serves this purpose*.
>
>
>
> Regards,
>
> Neale
>
>
>
> *if you are using this in the data-plane though, we should consider
> alternatives.
>
>
>
> *From: *Nagaprabhanjan Bellaru <nagp.li...@gmail.com>
> *Date: *Wednesday, 12 April 2017 at 14:04
> *To: *"Neale Ranns (nranns)" <nra...@cisco.com>
> *Cc: *vpp-dev <vpp-dev@lists.fd.io>
> *Subject: *Re: [vpp-dev] How to send packets from control plane to a link
> local IPv6 address?
>
>
>
> Thanks Neale!
>
> By the "result of the lookup" do you mean looking up through
> ip6_fib_table_lookup? I don't this lookup taking a interface also (for the
> link local case). Please correct my understanding.
>
> Thanks,
>
> -nagp
>
>
>
> On Wed, Apr 12, 2017 at 4:30 PM, Neale Ranns (nranns) <nra...@cisco.com>
> wrote:
>
> Hi nagp,
>
>
>
> If you know the destination address is link local and you know on which
> interface, then the result of the lookup will result in the adjacency for
> that link-local address on that interface, i.e. the adjacency you would get
> back from;
>
>   adj_index_t ai = adj_nbr_add_or_lock(FIB_PROTOCOL_IP6, VNET_LINK_IP6,
> <ll_add>, <interface>);
>
>
>
> now you have the adjacency, the lookup is not required, so you can send
> the packet directly to ip6_rewrite/ip6_discover_neighbor. There is an
> example of this in the BFD code (see bfd_udp_input()).
>
>
>
> Hth,
>
> neale
>
>
>
> *From: *<vpp-dev-boun...@lists.fd.io> on behalf of Nagaprabhanjan Bellaru
> <nagp.li...@gmail.com>
> *Date: *Wednesday, 12 April 2017 at 11:27
> *To: *vpp-dev <vpp-dev@lists.fd.io>
> *Subject: *[vpp-dev] How to send packets from control plane to a link
> local IPv6 address?
>
>
>
> Hi,
>
> How can I send packets to a link local IPv6 address? I know the interface
> on which the packet has to be sent, but when I enqueue the packet to
> "ip6_lookup" node, how can I encode the interface such that the neighor
> resolution happens on that interface and the packet gets transmitted?
>
> Thanks,
>
> -nagp
>
>
>
>
_______________________________________________
vpp-dev mailing list
vpp-dev@lists.fd.io
https://lists.fd.io/mailman/listinfo/vpp-dev

Reply via email to