dwww Home | Manual pages | Find package

GATE(8)                              Linux                              GATE(8)

NAME
       gate - Stream Gate Action

SYNOPSIS
       tc  ...  action gate
               [ base-time BASETIME ] [ clockid CLOCKID ]
               sched-entry <gate state> <interval 1> [ <internal priority> <max
       octets> ]
               sched-entry <gate state> <interval 2> [ <internal priority> <max
       octets> ]
               sched-entry <gate state> <interval 3> [ <internal priority> <max
       octets> ]
               ......
               sched-entry <gate state> <interval N> [ <internal priority> <max
       octets> ]

DESCRIPTION
       GATE  action  allows  specified ingress frames can be passed at specific
       time slot, or be dropped at specific time slot. Tc  filter  filters  the
       ingress  frames,  then  tc gate action would specify which time slot and
       how many bytes these frames can be passed to device and which time  slot
       frames  would  be  dropped.  Gate action also assign a base-time to tell
       when the entry list start.  Then gate action would start to  repeat  the
       gate  entry  list  cyclically  at the start base-time.  For the software
       simulation, gate action requires the user assign  reference  time  clock
       type.

PARAMETERS
       base-time
              Specifies  the instant in nanoseconds, defining the time when the
              schedule starts. If 'base-time' is a time in the past, the sched-
              ule will start at

              base-time + (N * cycle-time)

              where N is the smallest integer so the resulting time is  greater
              than  "now",  and "cycle-time" is the sum of all the intervals of
              the entries in the schedule. Without  base-time  specified,  will
              default to be 0.

       clockid
              Specifies the clock to be used by qdisc's internal timer for mea-
              suring  time  and  scheduling events. Not valid if gate action is
              used for offloading filter.  For example, tc filter command  with
              skip_sw parameter.

       sched-entry
              There  may  multiple sched-entry parameters in a single schedule.
              Each one has the format:

              sched-entry <gate state> <interval> [  <internal  priority>  <max
              octets> ]

              <gate  state>  means  gate states. 'open' keep gate open, 'close'
              keep gate close.
              <interval> means how much nano seconds for this time slot.
              <internal priority> means internal priority value. Present of the
              internal receiving queue for this stream.  "-1"  means  wildcard.
              <internal  priority>  and  <max octets> can be omit default to be
              "-1" which both
               value to be "-1" for this <sched-entry>.
              <max octets> means how many octets size could pass in  this  time
              slot.  Dropped  if overlimited. "-1" means wildcard. <max octets>
              can be omit default to be "-1" which value to be  "-1"  for  this
              <sched-entry>.
              Note  that <internal priority> and <max octets> are nothing mean-
              ing for gate state is "close" in a "sched-entry". All frames  are
              dropped when "sched-entry" with "close" state.

EXAMPLES
       The  following  example  shows  tc  filter frames source ip match to the
       192.168.0.20 will keep the gate open for 200ms and limit the traffic  to
       8MB  in  this  sched-entry.  Then  keep the traffic gate to be close for
       100ms.  Frames arrived at gate close state would be  dropped.  Then  the
       cycle  would  run the gate entries periodically. The schedule will start
       at instant 200.0s using the reference CLOCK_TAI. The  schedule  is  com-
       posed of two entries each of 300ms duration.

       # tc qdisc add dev eth0 ingress
       # tc filter add dev eth0 parent ffff: protocol ip \
                  flower skip_hw src_ip 192.168.0.20 \
                  action gate index 2 clockid CLOCK_TAI \
                  base-time 200000000000ns \
                  sched-entry open 200000000ns -1 8000000b \
                  sched-entry close 100000000ns

       Following  commands is an example to filter a stream source mac match to
       the 10:00:80:00:00:00 icmp frames will be dropped at any time with cycle
       200ms.  With a default basetime 0 and clockid is CLOCK_TAI as default.

       # tc qdisc add dev eth0 ingress
       # tc filter add dev eth0 parent ffff:  protocol ip \
            flower ip_proto icmp dst_mac 10:00:80:00:00:00 \
            action gate index 12 sched-entry close 200000000ns

AUTHORS
       Po Liu <Po.Liu@nxp.com>

iproute2                          12 Mar 2020                           GATE(8)

Generated by dwww version 1.16 on Tue Dec 16 06:43:51 CET 2025.