[ovs-dev] [ovs-dev v3] dpif-netdev: Allow to set max capacity of flow on netdev.

Tonghao Zhang xiangxia.m.yue at gmail.com
Mon Jan 13 02:18:09 UTC 2020

On Sat, Jan 11, 2020 at 12:44 AM Ilya Maximets <i.maximets at ovn.org> wrote:
> On 10.01.2020 03:16, Tonghao Zhang wrote:
> > On Fri, Jan 10, 2020 at 2:04 AM Ben Pfaff <blp at ovn.org> wrote:
> >>
> >> On Thu, Jan 09, 2020 at 04:14:10PM +0100, Ilya Maximets wrote:
> >>> On 09.01.2020 08:36, xiangxia.m.yue at gmail.com wrote:
> >>>> From: Tonghao Zhang <xiangxia.m.yue at gmail.com>
> >>>>
> >>>> For installing more than MAX_FLOWS (65536) flows to netdev datapath.
> >>>> Add the ovs-appctl subcommand "dpif-netdev/pmd-set-max-flow" which
> >>>> can change the flow number which netdev datapath support.
> >>>>
> >>>> Signed-off-by: Tonghao Zhang <xiangxia.m.yue at gmail.com>
> >>>
> >>> Hi.
> >>>
> >>> I'm wondering why we need the flow limit on the datapath level at all?
> >>>
> >>> MAX_FLOWS constant was there from the introduction of dpif-netdev,
> >>> however, later new flow-limit mechanism was implemented that
> >>> controls number of datapath flows in a dynamic way on ofproto level.
> >>>
> >>> So, maybe we can just remove the limit and fully rely on ofproto
> >>> to decide what flow limit we need?  There are no limitations for
> >>> flow table size in dpif-netdev beside the artificial one.
> >>> 'other_config:flow-limit' seems suitable to control this.
> >>>
> >>> Ben, what do you think?
> >>
> >> Hmm, that's a good point.
> >>
> >> Tonghao, do you have a good reason to want to limit flows at this level?
> > Hi Ben, as I explained, we don't use the ofproto layer, and use the
> > ovs-appctl to install flow and
> > offload them to hardware. so the "other_config:flow-limit" and
> > "should_install_flow"  function is called
> > when upcall install the rules, and can't limit it in dpcls layer as I
> > know.  I am not sure installing rule via ovs-appctl
> > is welcome.
> As far as I understand, revalidators will start flow eviction if flow-limit
> is reached while dumping datapath flows.  So, you should start seeing
> flow deletion events if you'll reach ~200K flows installed in dpif-netdev.
As I said, we hope revalidators don't delete the rules  if the rules
is installed by ovs-appctl, but not ofproto.
and the rules can be deleted by ovs-apply only. (Other patch can
support this function.)

And this patch support the limit for hardware limit, for example
hardware support 100K flows, and we can set limit to 100K to
This is easy to manage the flow for us, and that is why we use this
way to install/delete flows.

I am not sure ovs community can support it. and this patch is useful ?
> Anyway, why you need a flow limit on datapath level if you're managing them
> in so tricky way?
> Best regards, Ilya Maximets.

More information about the dev mailing list