From: Arınç ÜNAL Date: Sat, 13 Apr 2024 14:48:48 +0000 (+0300) Subject: man: use clsact qdisc for port mirroring examples on matchall and mirred X-Git-Tag: v6.9.0~8 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=dedcf62f3956ab671813e9461d8780a0e8b1e6ac;p=thirdparty%2Fiproute2.git man: use clsact qdisc for port mirroring examples on matchall and mirred The clsact qdisc supports ingress and egress. Instead of using two qdiscs to do ingress and egress port mirroring, clsact can be used. Therefore, use clsact for the port mirroring examples on the tc-matchall.8 and tc-mirred.8 documents. Signed-off-by: Arınç ÜNAL Signed-off-by: Stephen Hemminger --- diff --git a/man/man8/tc-matchall.8 b/man/man8/tc-matchall.8 index d0224066..538cf745 100644 --- a/man/man8/tc-matchall.8 +++ b/man/man8/tc-matchall.8 @@ -37,39 +37,39 @@ To create ingress mirroring from port eth1 to port eth2: .RS .EX -tc qdisc add dev eth1 handle ffff: ingress -tc filter add dev eth1 parent ffff: \\ +tc qdisc add dev eth1 handle ffff: clsact +tc filter add dev eth1 ingress \\ matchall skip_sw \\ action mirred egress mirror \\ dev eth2 .EE .RE -The first command creates an ingress qdisc with handle +The first command creates a clsact qdisc with handle .BR ffff: on device .BR eth1 where the second command attaches a matchall filters on it that mirrors the -packets to device eth2. +packets to device eth2 for ingress. To create egress mirroring from port eth1 to port eth2: .RS .EX -tc qdisc add dev eth1 handle 1: root prio -tc filter add dev eth1 parent 1: \\ +tc qdisc add dev eth1 handle ffff: clsact +tc filter add dev eth1 egress \\ matchall skip_sw \\ action mirred egress mirror \\ dev eth2 .EE .RE -The first command creates an egress qdisc with handle -.BR 1: -that replaces the root qdisc on device +The first command creates a clsact qdisc with handle +.BR ffff: +on device .BR eth1 where the second command attaches a matchall filters on it that mirrors the -packets to device eth2. +packets to device eth2 for egress. To sample one of every 100 packets flowing into interface eth0 to psample group 12: diff --git a/man/man8/tc-mirred.8 b/man/man8/tc-mirred.8 index cf199bd7..46d894ce 100644 --- a/man/man8/tc-mirred.8 +++ b/man/man8/tc-mirred.8 @@ -75,8 +75,8 @@ debugging purposes: .RS .EX -# tc qdisc add dev eth0 handle ffff: ingress -# tc filter add dev eth0 parent ffff: u32 \\ +# tc qdisc add dev eth0 handle ffff: clsact +# tc filter add dev eth0 ingress u32 \\ match u32 0 0 \\ action police rate 1mbit burst 100k conform-exceed pipe \\ action mirred egress redirect dev lo @@ -90,8 +90,8 @@ with e.g. tcpdump: .EX # ip link add dummy0 type dummy # ip link set dummy0 up -# tc qdisc add dev eth0 handle ffff: ingress -# tc filter add dev eth0 parent ffff: protocol ip \\ +# tc qdisc add dev eth0 handle ffff: clsact +# tc filter add dev eth0 ingress protocol ip \\ u32 match ip protocol 1 0xff \\ action mirred egress mirror dev dummy0 .EE @@ -107,8 +107,8 @@ interface, it is possible to send ingress traffic through an instance of # modprobe ifb # ip link set ifb0 up # tc qdisc add dev ifb0 root sfq -# tc qdisc add dev eth0 handle ffff: ingress -# tc filter add dev eth0 parent ffff: u32 \\ +# tc qdisc add dev eth0 handle ffff: clsact +# tc filter add dev eth0 ingress u32 \\ match u32 0 0 \\ action mirred egress redirect dev ifb0 .EE