Hi Cascardo,

Thanks for that ! Got it. 

Do you have an idea on my previous question on vports? How does it map with the 
physical port? I see from the code that vports are used to receive packets 
coming to the switch (ovs_vport_receive) and to send (ovs_vport_send).

I am assuming they are just virtual ports on the Datapath side through which 
the different NICs/devices to connect to the OVS bridge in user space.

Thanks,
Monica 

-----Original Message-----
From: Thadeu Lima de Souza Cascardo [mailto:casca...@redhat.com] 
Sent: Monday, March 14, 2016 8:17 AM
To: Rajasekaran, Monica
Cc: discuss@openvswitch.org
Subject: Re: [ovs-discuss] Queuing a packet to user space

On Wed, Mar 09, 2016 at 11:06:57PM +0000, Rajasekaran, Monica wrote:
> Hi all,
> 
> Once call in the data path hits queue_userspace_packet(), how is the packet 
> received by user space ?
> 
> I understand that recv_upcalls-->dpif_recv() and handle_upcalls() will take 
> care of upcall processing.
> 
> But how are queue_userspace_packet() in the data path and recv_upcalls() in 
> the user space connected? I can't seem to find the link.
> 
> Thanks,
> Monica
> 

They are connected using a netlink socket. Take a look at 
queue_userspace_packet, it calls genlmsg_unicast. At userspace, 
lib/dpif-netlink.c:dpif_netlink_recv__ calls nl_sock_recv.

Regards.
Cascardo.

> _______________________________________________
> discuss mailing list
> discuss@openvswitch.org
> http://openvswitch.org/mailman/listinfo/discuss

_______________________________________________
discuss mailing list
discuss@openvswitch.org
http://openvswitch.org/mailman/listinfo/discuss

Reply via email to