You seem to have several concepts mixed up.

ARP is not a layer 2 function. It maintains a mapping of directly reachable IP 
addresses to the Ethernet address required to reach them. This is purely a 
function of Layer 3 applying a destination address before passing a packet to 
Layer 2 to be processed.

There is no Linux kernel involvement in this in VPP.

The call tree you see is likely the ARP mechanism sending an update to 
interested parties listening to the API shared memory. By the time that happens 
the ARP table has already been updated.

Chris.

From: [email protected] [mailto:[email protected]] On 
Behalf Of Prerit Jain
Sent: Friday, November 11, 2016 1:37 AM
To: [email protected]
Subject: [vpp-dev] Sharing of L2 tables with kernel

Hi,

VPP provides the ARP functionality, However does it share the L2 tables with 
kernel ?

When ARP input is processed then below functions are called -
       vnet_arp_set_ip4_over_Ethernet
        vl_api_rpc_call_main_thread
            vl_msg_api_send_shmem_nolock

What is the purpose rpc_call_main_thread. Is it for sending the L2 table to 
kernel ??

Regards
Prerit





_______________________________________________
vpp-dev mailing list
[email protected]
https://lists.fd.io/mailman/listinfo/vpp-dev

Reply via email to