[ovs-dev] [PATCH v3 0/9] OVS-DPDK flow offload with rte_flow

Darrell Ball dball at vmware.com
Wed Sep 27 18:54:41 UTC 2017



On 9/27/17, 3:41 AM, "Finn Christensen" <fc at napatech.com> wrote:

        -----Original Message-----
        From: Yuanhan Liu [mailto:yliu at fridaylinux.org]
        Sent: 27. september 2017 11:47
        To: Finn Christensen <fc at napatech.com>
        Cc: Darrell Ball <dball at vmware.com>; dev at openvswitch.org; Chandran
        Sugesh <sugesh.chandran at intel.com>; Simon Horman
        <simon.horman at netronome.com>
        Subject: Re: [PATCH v3 0/9] OVS-DPDK flow offload with rte_flow
    
        On Wed, Sep 27, 2017 at 09:12:49AM +0000, Finn Christensen wrote:
        >
        >     [Darrell] It looks fine; of course, if we could drop dependencies on cap
        >     probe, it would be ideal (.
        >
        >
        > [Finn]
        > From a Napatech point of view, we would definitely want to use the
        > RTE_FLOW_ACTION_TYPE_RSS if it were implement. It definitely makes
        > good sense to me. I have 2 reasons for this:
        > 1. It would fit nicely into the way Napatech does flow programming in
        > nic 2. We would be fully RSS controlled through OVS Furthermore,
        > Future RSS splitting on a per megaflow basis will be possible.
        > IMO the "pure_mark_cap_probed" function is a temp work-around to
        make it work.
        > The RSS seems to be a solution to the queue problem.
    
        Finn, that's really good to know! I do agree without this probe, it makes the
        code simpler and cleaner.
    
        Few questions though. Have Napatech already implemented rss action? If
        not, what's the plan?
    
    [Finn]
    Our nic handles rss on a per flow basis, but we have not yet used rte rss action
    for OVS. In OVS we simply handles RSS config outside it.
    The full control of rss through OVS is better though.
    
        And are you okay with following code?
    
        add_mark_action();
        add_rss_action_unconditionally();
    
        flow = rte_create_flow(...);
        if (!flow)
        return -1;
    
        That is, no probes, no feedbacks. If it failed, it just failed (flow offload then
        is just skipped).
    
    [Finn]
    Yes, we can easily make this work. Good suggestion!
    
    
        But I do think some feedbacks are necessary. If we know the rte_flow cap
        in the begnning, we could simply disable the flow offload for a specific port
        if we know it doesn't have offload ability. This would avoid the repeat
        effort of trying to do hw offload completely.
    
    [Finn]
    This seems to be a good idea.

[Darrell] Regarding the general question of capability checking, it is fine to have this support
               in general and we already identified some cases where it would be best to use this
               if we can (the question mostly comes down to support by RTE and drivers).

              Probing is different and we usually use the term for some try and error checking to configure
              something during initialization and see if works and then mark the associated capability as enabled
             or disabled.  We could also use a different kind of probing here in a dynamic fashion, where we try to do
             HWOL and if it fails X times we don’t try again unless we detect the port has been reconfigured,
             for example, in case the capability check is not possible or not implemented yet.


    
    
        --yliu
    Disclaimer: This email and any files transmitted with it may contain confidential information intended for the addressee(s) only. The information is not to be surrendered or copied to unauthorized persons. If you have received this communication in error, please notify the sender immediately and delete this e-mail from your system.
    



More information about the dev mailing list