lkml.org 
[lkml]   [2020]   [May]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
SubjectRE: Re: [v3,iproute2 1/2] iproute2:tc:action: add a gate control action
Date
Hi Stephen,  David,


> -----Original Message-----
> From: Stephen Hemminger <stephen@networkplumber.org>
> Sent: 2020年5月5日 8:05
> To: Po Liu <po.liu@nxp.com>
> Cc: davem@davemloft.net; linux-kernel@vger.kernel.org;
> netdev@vger.kernel.org; vinicius.gomes@intel.com; vlad@buslov.dev;
> Claudiu Manoil <claudiu.manoil@nxp.com>; Vladimir Oltean
> <vladimir.oltean@nxp.com>; Alexandru Marginean
> <alexandru.marginean@nxp.com>; michael.chan@broadcom.com;
> vishal@chelsio.com; saeedm@mellanox.com; leon@kernel.org;
> jiri@mellanox.com; idosch@mellanox.com;
> alexandre.belloni@bootlin.com; UNGLinuxDriver@microchip.com;
> kuba@kernel.org; xiyou.wangcong@gmail.com;
> simon.horman@netronome.com; pablo@netfilter.org;
> moshe@mellanox.com; m-karicheri2@ti.com;
> andre.guedes@linux.intel.com
> Subject: [EXT] Re: [v3,iproute2 1/2] iproute2:tc:action: add a gate control
> action
>
> On Sun, 3 May 2020 14:32:50 +0800
> Po Liu <Po.Liu@nxp.com> wrote:
>
> > Introduce a ingress frame gate control flow action.
> > Tc gate action does the work like this:
> > Assume there is a gate allow specified ingress frames can pass at
> > specific time slot, and also drop at specific time slot. Tc filter
> > chooses the ingress frames, and tc gate action would specify what slot
> > does these frames can be passed to device and what time slot would be
> > dropped.
> > Tc gate action would provide an entry list to tell how much time gate
> > keep open and how much time gate keep state close. Gate action also
> > assign a start time to tell when the entry list start. Then driver
> > would repeat the gate entry list cyclically.
> > For the software simulation, gate action require the user assign a
> > time clock type.
> >
> > Below is the setting example in user space. Tc filter a stream source
> > ip address is 192.168.0.20 and gate action own two time slots. One is
> > last 200ms gate open let frame pass another is last 100ms gate close
> > let frames dropped.
> >
> > # tc qdisc add dev eth0 ingress
> > # tc filter add dev eth0 parent ffff: protocol ip \
> >
> > flower src_ip 192.168.0.20 \
> > action gate index 2 clockid CLOCK_TAI \
> > sched-entry open 200000000 -1 -1 \
> > sched-entry close 100000000
> >
> > # tc chain del dev eth0 ingress chain 0
> >
> > "sched-entry" follow the name taprio style. Gate state is
> > "open"/"close". Follow the period nanosecond. Then next -1 is internal
> > priority value means which ingress queue should put to. "-1" means
> > wildcard. The last value optional specifies the maximum number of
> MSDU
> > octets that are permitted to pass the gate during the specified time
> > interval.
> >
> > Below example shows filtering a stream with destination mac address is
> > 10:00:80:00:00:00 and ip type is ICMP, follow the action gate. The
> > gate action would run with one close time slot which means always keep
> close.
> > The time cycle is total 200000000ns. The base-time would calculate by:
> >
> > 1357000000000 + (N + 1) * cycletime
> >
> > When the total value is the future time, it will be the start time.
> > The cycletime here would be 200000000ns for this case.
> >
> > #tc filter add dev eth0 parent ffff: protocol ip \
> > flower skip_hw ip_proto icmp dst_mac 10:00:80:00:00:00 \
> > action gate index 12 base-time 1357000000000 \
> > sched-entry CLOSE 200000000 \
> > clockid CLOCK_TAI
> >
> > Signed-off-by: Po Liu <Po.Liu@nxp.com>
>
> These changes are specific to net-next should be assigned to iproute2-next.
> Will change delegation.

I would push request specific name with iproute2-next for version 4. Thanks!

Thanks a lot!

Br,
Po Liu


\
 
 \ /
  Last update: 2020-05-05 11:27    [W:0.043 / U:0.172 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site