On 25/11/15 10:18, Kury Nicolas wrote:
Thank you, I understand!

One question more and I hope it will be the last.

In OVS, we talk about fast path and slow path. Is there a such thing in 
OVS-DPDK ? If my understanding is correct:
With OVS(generic):
- Fast path: the datapath (kernel module) know the rules and can process the 
paquet.
- Slow path. If the datapath (kernel module) doesn't know the rules, the packet 
is transmitted to dpi and then ofproto-dpif. Then ofproto-dpif check is the 
rules exist in the flow table of OpenFlow. If yes, the rules are added in the 
datapath (kernel module) and the following packets will use the fast path. If 
not, the rules will be asked to the OpenFlow controller.

With OVS-DPDK, are there also 2 flow tables ? The  datapath flow table 
(dpif-netdev) and OpenFlow flow table (ofproto-dpif) ? When the datapath 
(dpif-netdev) doesn't know the rules, the packet is sent to ofproto-dpif that 
check the rules in the OpenFlow flow table etc. ?


There is a somewhat similar thing in dpif-netdev: dp_netdev_input() calls emc_processing() first, which tries to match a per-thread exact-match table based on the packet's RSS hash. If it's unsuccessful, it calls fast_path_processing(), which first tries the classifier with dpcls_lookup(), and if nothing helps it executes an upcall to ofproto directly.


Thank you!
Nicolas


________________________________________
De : Justin Pettit <[email protected]>
Envoyé : mercredi 25 novembre 2015 09:41
À : Kury Nicolas
Cc : [email protected]
Objet : Re: [ovs-discuss] Architecture Open vSwitch with DPDK

On Nov 25, 2015, at 12:30 AM, Kury Nicolas <[email protected]> 
wrote:

Hi

Thank your very much for the answer! I have also read and watched some 
presentation about OVS and now I understand better.

I have found a presentation about OVS-DPDK and there are some points I'm not 
sure to understand. Screenshot: http://s29.postimg.org/ig8us188n/ovs_dpdk.png
- The elements "ovs kernel module" and "kernel packet processing" and only used 
by dpif-linux, right ?

dpif-netlink, but yes.

- The element "User Space Forwarding", is it dpif-netdev ?

Correct.

In the PORTING.md section of OVS,  I have some difficulties to understand the 
interation between a netdev provider and a dpif provider. Which one carries the 
packet, first ? The netdev provider or the dpif provider ?

netdev.

- With OVS-DPDK, I guess netdev-dpdk is the first element to receive the packet 
and transmits it to the dpif-netdev (userspace), right ? Then dpif-netdev check 
the rules in the flow table and if they match, execute the action, and 
transmits it back to netdev-dpdk ?

That all sounds correct.

- So... in OVS generic without DPDK,  does the netdev-linux receive the packet 
first and transmit it to the dpif-netlink ? Then dpif-netlink transmits it to 
the datapath in kernel ? I think I'm wrong.

In the kernel version, netdev is not involved in packet handling.  It would be 
passed from the kernel module directly to dpif-netlink to dpif.

--Justin
_______________________________________________
discuss mailing list
[email protected]
http://openvswitch.org/mailman/listinfo/discuss

_______________________________________________
discuss mailing list
[email protected]
http://openvswitch.org/mailman/listinfo/discuss

Reply via email to