mirror of
https://git.proxmox.com/git/mirror_iproute2
synced 2025-08-12 09:48:48 +00:00
man: tc-ife.8: man page for ife action
Signed-off-by: Lucas Bates <lucasb@mojatatu.com> Signed-off-by: Jamal Hadi Salim <jhs@mojatatu.com> Acked-by: Phil Sutter <phil@nwl.cc>
This commit is contained in:
parent
3088787c4b
commit
06f9a59170
117
man/man8/tc-ife.8
Normal file
117
man/man8/tc-ife.8
Normal file
@ -0,0 +1,117 @@
|
||||
.TH "IFE action in tc" 8 "22 Apr 2016" "iproute2" "Linux"
|
||||
|
||||
.SH NAME
|
||||
IFE - encapsulate/decapsulate metadata
|
||||
.SH SYNOPSIS
|
||||
.in +8
|
||||
.ti -8
|
||||
.BR tc " ... " action ife"
|
||||
.I DIRECTION ACTION
|
||||
.RB "[ " dst
|
||||
.IR DMAC " ] "
|
||||
.RB "[ " src
|
||||
.IR SMAC " ] "
|
||||
.RB "[ " type
|
||||
.IR TYPE " ] "
|
||||
.R "[ "
|
||||
.IR CONTROL " ] "
|
||||
.RB "[ " index
|
||||
.IR INDEX " ] "
|
||||
|
||||
.ti -8
|
||||
.IR DIRECTION " := { "
|
||||
.BR decode " | " encode " }"
|
||||
|
||||
.ti -8
|
||||
.IR ACTION " := { "
|
||||
.BR allow " | " use " }"
|
||||
|
||||
.ti -8
|
||||
.IR CONTROL " := { "
|
||||
.BR reclassify " | " use " | " pipe " | " drop " | " continue " | " ok " }"
|
||||
.SH DESCRIPTION
|
||||
The
|
||||
.B ife
|
||||
action allows for a sending side to encapsulate arbitrary metadata, which is
|
||||
then decapsulated by the receiving end. The sender runs in encoding mode and
|
||||
the receiver in decode mode. Both sender and receiver must specify the same
|
||||
ethertype. In the future, a registered ethertype may be available as a default.
|
||||
.SH OPTIONS
|
||||
.TP
|
||||
.B decode
|
||||
For the receiving side; decode the metadata if the packet matches.
|
||||
.TP
|
||||
.B encode
|
||||
For the sending side. Encode the specified metadata if the packet matches.
|
||||
.TP
|
||||
.B allow
|
||||
Encode direction only. Allows encoding specified metadata.
|
||||
.TP
|
||||
.B use
|
||||
Encode direction only. Enforce static encoding of specified metadata.
|
||||
.TP
|
||||
.BI dmac " DMAC"
|
||||
.TQ
|
||||
.BI smac " SMAC"
|
||||
Optional six byte destination or source MAC address to encode.
|
||||
.TP
|
||||
.BI type " TYPE"
|
||||
Optional 16-bit ethertype to encode.
|
||||
.TP
|
||||
.BI CONTROL
|
||||
Action to take following an encode/decode.
|
||||
.TP
|
||||
.BI index " INDEX"
|
||||
Assign a unique ID to this action instead of letting the kernel choose one
|
||||
automatically.
|
||||
.I INDEX
|
||||
is a 32bit unsigned integer greater than zero.
|
||||
.SH EXAMPLES
|
||||
|
||||
On the receiving side, match packets with ethertype 0xdead and restart
|
||||
classification so that it will match ICMP on the next rule, at prio 3:
|
||||
.RS
|
||||
.EX
|
||||
# tc qdisc add dev eth0 handle ffff: ingress
|
||||
# tc filter add dev eth0 parent ffff: prio 2 protocol 0xdead \\
|
||||
u32 match u32 0 0 flowid 1:1 \\
|
||||
action ife decode reclassify
|
||||
# tc filter add dev eth0 parent ffff: priod 3 protocol ip \\
|
||||
u32 match ip protocol 0xff flowid 1:1 \\
|
||||
action continue
|
||||
.EE
|
||||
.RE
|
||||
|
||||
Match with skb mark of 17:
|
||||
|
||||
.RS
|
||||
.EX
|
||||
# tc filter add dev eth0 parent ffff: prio 4 protocol ip \\
|
||||
handle 0x11 fw flowid 1:1 \\
|
||||
action ok
|
||||
.EE
|
||||
.RE
|
||||
|
||||
Configure the sending side to encode for the filters above. Use a destination
|
||||
IP address of 192.168.122.237/24, then tag with skb mark of decimal 17. Encode
|
||||
the packaet with ethertype 0xdead, add skb->mark to whitelist of metadatum to
|
||||
send, and rewrite the destination MAC address to 02:15:15:15:15:15.
|
||||
|
||||
.RS
|
||||
.EX
|
||||
# tc qdisc add dev eth0 root handle 1: prio
|
||||
# tc filter add dev eth0 parent 1: protocol ip prio 10 u32 \\
|
||||
match ip dst 192.168.122.237/24 \\
|
||||
match ip protocol 1 0xff \\
|
||||
flowid 1:2 \\
|
||||
action skbedit mark 17 \\
|
||||
action ife encode \\
|
||||
type 0xDEAD \\
|
||||
allow mark \\
|
||||
dst 02:15:15:15:15:15
|
||||
.EE
|
||||
.RE
|
||||
|
||||
.SH SEE ALSO
|
||||
.BR tc (8),
|
||||
.BR tc-u32 (8)
|
Loading…
Reference in New Issue
Block a user