Messages in this thread | | | From | Po Liu <> | Subject | RE: Re: [v3,iproute2 1/2] iproute2:tc:action: add a gate control action | Date | Tue, 5 May 2020 09:26:29 +0000 |
| |
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
| |