mirror of
https://git.kernel.org/pub/scm/network/iproute2/iproute2.git
synced 2024-12-04 23:34:47 +08:00
tc: flower: document that *_ip parameters take a PREFIX as an argument.
* The argument to src_ip, dst_ip, enc_src_ip and enc_dst_ip take an optional prefix length which is used to provide a mask to limit the scope of matching. * This is documented as a PREFIX in keeping with ip-route(8). Example of uses of IPv4 and IPv6 prefixes tc qdisc add dev eth0 ingress tc filter add dev eth0 protocol ip parent ffff: flower \ indev eth0 dst_ip 192.168.1.1 action drop tc filter add dev eth0 protocol ip parent ffff: flower \ indev eth0 src_ip 10.0.0.0/8 action drop tc filter add dev eth0 protocol ipv6 parent ffff: flower \ indev eth0 src_ip 2001:DB8:1::/48 action drop tc filter add dev eth0 protocol ipv6 parent ffff: flower \ indev eth0 dst_ip 2001:DB8::1 action drop Signed-off-by: Simon Horman <simon.horman@netronome.com>
This commit is contained in:
parent
ee9369a05f
commit
a8a1dccd2a
@ -31,8 +31,8 @@ flower \- flow based traffic control filter
|
||||
.IR ETH_TYPE " } | "
|
||||
.BR ip_proto " { " tcp " | " udp " | " sctp " | " icmp " | " icmpv6 " | "
|
||||
.IR IP_PROTO " } | { "
|
||||
.BR dst_ip " | " src_ip " } { "
|
||||
.IR ipv4_address " | " ipv6_address " } | { "
|
||||
.BR dst_ip " | " src_ip " } "
|
||||
.IR PREFIX " | { "
|
||||
.BR dst_port " | " src_port " } "
|
||||
.IR port_number " } | "
|
||||
.B enc_key_id
|
||||
@ -103,14 +103,14 @@ may be
|
||||
.BR tcp ", " udp ", " sctp ", " icmp ", " icmpv6
|
||||
or an unsigned 8bit value in hexadecimal format.
|
||||
.TP
|
||||
.BI dst_ip " ADDRESS"
|
||||
.BI dst_ip " PREFIX"
|
||||
.TQ
|
||||
.BI src_ip " ADDRESS"
|
||||
.BI src_ip " PREFIX"
|
||||
Match on source or destination IP address.
|
||||
.I ADDRESS
|
||||
must be a valid IPv4 or IPv6 address, depending on
|
||||
.BR protocol
|
||||
option of tc filter.
|
||||
.I PREFIX
|
||||
must be a valid IPv4 or IPv6 address, depending on the \fBprotocol\fR
|
||||
option to tc filter, optionally followed by a slash and the prefix length.
|
||||
If the prefix is missing, \fBtc\fR assumes a full-length host match.
|
||||
.TP
|
||||
.BI dst_port " NUMBER"
|
||||
.TQ
|
||||
@ -128,16 +128,16 @@ which have to be specified in beforehand.
|
||||
.TP
|
||||
.BI enc_key_id " NUMBER"
|
||||
.TQ
|
||||
.BI enc_dst_ip " ADDRESS"
|
||||
.BI enc_dst_ip " PREFIX"
|
||||
.TQ
|
||||
.BI enc_src_ip " ADDRESS"
|
||||
.TQ
|
||||
.BI enc_dst_port " NUMBER"
|
||||
.BI enc_src_ip " PREFIX"
|
||||
Match on IP tunnel metadata. Key id
|
||||
.I NUMBER
|
||||
is a 32 bit tunnel key id (e.g. VNI for VXLAN tunnel).
|
||||
.I ADDRESS
|
||||
must be a valid IPv4 or IPv6 address. Dst port
|
||||
.I PREFIX
|
||||
must be a valid IPv4 or IPv6 address optionally followed by a slash and the
|
||||
prefix length. If the prefix is missing, \fBtc\fR assumes a full-length
|
||||
host match. Dst port
|
||||
.I NUMBER
|
||||
is a 16 bit UDP dst port.
|
||||
.SH NOTES
|
||||
|
@ -48,14 +48,14 @@ static void explain(void)
|
||||
" dst_mac MAC-ADDR |\n"
|
||||
" src_mac MAC-ADDR |\n"
|
||||
" ip_proto [tcp | udp | sctp | icmp | icmpv6 | IP-PROTO ] |\n"
|
||||
" dst_ip [ IPV4-ADDR | IPV6-ADDR ] |\n"
|
||||
" src_ip [ IPV4-ADDR | IPV6-ADDR ] |\n"
|
||||
" dst_ip PREFIX |\n"
|
||||
" src_ip PREFIX |\n"
|
||||
" dst_port PORT-NUMBER |\n"
|
||||
" src_port PORT-NUMBER |\n"
|
||||
" type ICMP-TYPE |\n"
|
||||
" code ICMP-CODE }\n"
|
||||
" enc_dst_ip [ IPV4-ADDR | IPV6-ADDR ] |\n"
|
||||
" enc_src_ip [ IPV4-ADDR | IPV6-ADDR ] |\n"
|
||||
" enc_dst_ip PREFIX |\n"
|
||||
" enc_src_ip PREFIX |\n"
|
||||
" enc_key_id [ KEY-ID ] }\n"
|
||||
" FILTERID := X:Y:Z\n"
|
||||
" ACTION-SPEC := ... look at individual actions\n"
|
||||
|
Loading…
Reference in New Issue
Block a user