From: Neale Ranns <ne...@graphiant.com> Sent: Monday, April 19, 2021 3:34 AM To: hem...@mnkcg.com; vpp-dev@lists.fd.io Subject: Re: [vpp-dev] dst mac-address look up? From: hem...@mnkcg.com <mailto:hem...@mnkcg.com> <hem...@mnkcg.com <mailto:hem...@mnkcg.com> > Date: Sunday, 18 April 2021 at 19:25 To: Neale Ranns <ne...@graphiant.com <mailto:ne...@graphiant.com> >, vpp-dev@lists.fd.io <mailto:vpp-dev@lists.fd.io> <vpp-dev@lists.fd.io <mailto:vpp-dev@lists.fd.io> > Subject: RE: [vpp-dev] dst mac-address look up? [If the adjacency is incomplete, then there is no ip_neghbor. It's the ip_neighbor that provides the dst mac that completes the adjacency. Think of the adjacency as the cache in the data-plane of all the data that the control-plane provides to forward a packet to a given neighbour (src,dst mac, vlan tags and ether-type). You can't forward to that neighbour until we have the dst mac, so one of the reasons we have incomplete adjacencies is so that when packets need to be forwarded to a neighbour whose dst mac is not yet known we generate rate-limited ARP/ND requests. So I would advise that the result of your 6-tuple lookup is the adjacency, then you can send the packets to ip4-arp-inline, if it's incomplete, or ip4-rewrite if it is complete. Using the ipX node, rather than interface-output, means you get ttl decrement plus checksum update, fragmentation and features (ACL, NAT etc). Uou might find the example of the ABF plugin useful as an example of building lookup tables that resolve through adjacencies (or any other fib like path).] The adjacency is incomplete for the egress interface, i.e., interface rewrite string is not setup yet. However, the ARP cache does have a complete adjacency and this is why the arp cache is looked up and ipn-> pn_fib_entry_index is correct. There are reasons the plugin is using interface output and computes checksum and ttl decrement. If the VPP node ends up using ACL and NAT, I agree, interface-output should change to ipX node. I do have to use interface-output for certain uses cases. It would be good to add changes to VPP I have proposed in latest gerrit review. https://gerrit.fd.io/r/c/vpp/+/32023 Thanks, Hemant
smime.p7s
Description: S/MIME cryptographic signature
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#19249): https://lists.fd.io/g/vpp-dev/message/19249 Mute This Topic: https://lists.fd.io/mt/82127329/21656 Group Owner: vpp-dev+ow...@lists.fd.io Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-