[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAM_iQpXTM9X75RXj6mvTYatL0=TjFyYmFaKLeQBv74zZVFUs6g@mail.gmail.com>
Date: Fri, 24 Mar 2017 10:59:15 -0700
From: Cong Wang <xiyou.wangcong@...il.com>
To: Jiri Pirko <jiri@...nulli.us>
Cc: Linux Kernel Network Developers <netdev@...r.kernel.org>,
David Miller <davem@...emloft.net>,
Jamal Hadi Salim <jhs@...atatu.com>, mlxsw@...lanox.com
Subject: Re: [patch net-next] net: sched: choke: remove dead filter classify code
On Thu, Mar 23, 2017 at 9:02 AM, Jiri Pirko <jiri@...nulli.us> wrote:
> From: Jiri Pirko <jiri@...lanox.com>
>
> sch_choke is classless qdisc so it does not define cl_ops. Therefore
> filter_list cannot be ever changed, being NULL all the time.
> Reason is this check in tc_ctl_tfilter:
Are you sure? According to the definition in comments:
CHOKe (CHOose and Keep for responsive flows, CHOose and Kill for
unresponsive flows) is a variant of RED that penalizes misbehaving flows but
maintains no flow state. The difference from RED is an additional step
during the enqueuing process. If average queue size is over the
low threshold (qmin), a packet is chosen at random from the queue.
If both the new and chosen packet are from the same flow, both
are dropped. Unlike RED, CHOKe is not really a "classful" qdisc because it
needs to access packets in queue randomly. It has a minimal class
interface to allow overriding the builtin flow classifier with
filters.
It should implement filters otherwise how to classify flows in
its definition?
Powered by blists - more mailing lists