Mirror/redirect action in tc(8)

NAME
mirred - mirror/redirect action

SYNOPSIS
tc ... action mirred DIRECTION ACTION [ index INDEX ] dev DEVICENAME
DIRECTION := { ingress | egress }
ACTION := { mirror | redirect }

DESCRIPTION
The mirred action allows to redirect or mirror packets to another network interface on the same system. It is typically used in combination with the ifb pseudo device to create a shrared instance where QoS happens, but serves well for debugging or monitoring purposes, too.

OPTIONS

ingress
egress
    Specify the direction in which the packet shall appear on the destination interface. Currently only egress is implemented.

mirror
redirect
    Define whether the packet should be copied (mirror) or moved (redirect) to the destination interface.

index INDEX
    Assign a unique ID to this action instead of letting the kernel choose one automatically. INDEX is a 32bit unsigned integer greater than zero.

dev DEVICENAME
    Specify the network interface to redirect or mirror to.

EXAMPLES
Limit ingress bandwidth on eth0 to 1mbit/s, redirect exceeding traffic to lo for debugging purposes:
        # tc qdisc add dev eth0 handle ffff: ingress
        # tc filter add dev eth0 parent ffff: u32 \
        	match u32 0 0 \
        	action police rate 1mbit burst 100k conform-exceed pipe \
        	action mirred egress redirect dev lo
Use an ifb interface to send ingress traffic on eth0 through an instance of sfq:
        # 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 \
        	match u32 0 0 \
        	action mirred egress redirect dev ifb0

SEE ALSO
tc(8), tc-u32(8)