H! Thank you very much for all the information!

Nicolas

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

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