|
|
4aca6e |
From 980b5be50cff93260780d41435e2e92e9de02744 Mon Sep 17 00:00:00 2001
|
|
|
4aca6e |
From: Phil Sutter <psutter@redhat.com>
|
|
|
4aca6e |
Date: Fri, 17 Mar 2017 13:18:52 +0100
|
|
|
4aca6e |
Subject: [PATCH] tc: add a man page for flower filter
|
|
|
4aca6e |
|
|
|
4aca6e |
Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1422629
|
|
|
4aca6e |
Upstream Status: iproute2.git commit b3aa12a401d27
|
|
|
4aca6e |
|
|
|
4aca6e |
commit b3aa12a401d27911ebd48fe13f77783d471c07d2
|
|
|
4aca6e |
Author: Phil Sutter <phil@nwl.cc>
|
|
|
4aca6e |
Date: Fri Oct 23 19:47:11 2015 +0200
|
|
|
4aca6e |
|
|
|
4aca6e |
tc: add a man page for flower filter
|
|
|
4aca6e |
|
|
|
4aca6e |
Cc: Jiri Pirko <jiri@resnulli.us>
|
|
|
4aca6e |
Signed-off-by: Phil Sutter <phil@nwl.cc>
|
|
|
4aca6e |
---
|
|
|
4aca6e |
man/man8/tc-flower.8 | 113 +++++++++++++++++++++++++++++++++++++++++++++++++++
|
|
|
4aca6e |
1 file changed, 113 insertions(+)
|
|
|
4aca6e |
create mode 100644 man/man8/tc-flower.8
|
|
|
4aca6e |
|
|
|
4aca6e |
diff --git a/man/man8/tc-flower.8 b/man/man8/tc-flower.8
|
|
|
4aca6e |
new file mode 100644
|
|
|
4aca6e |
index 0000000..df4d8e1
|
|
|
4aca6e |
--- /dev/null
|
|
|
4aca6e |
+++ b/man/man8/tc-flower.8
|
|
|
4aca6e |
@@ -0,0 +1,113 @@
|
|
|
4aca6e |
+.TH "Flower filter in tc" 8 "22 Oct 2015" "iproute2" "Linux"
|
|
|
4aca6e |
+
|
|
|
4aca6e |
+.SH NAME
|
|
|
4aca6e |
+flower \- flow based traffic control filter
|
|
|
4aca6e |
+.SH SYNOPSIS
|
|
|
4aca6e |
+.in +8
|
|
|
4aca6e |
+.ti -8
|
|
|
4aca6e |
+.BR tc " " filter " ... " flower " [ "
|
|
|
4aca6e |
+.IR MATCH_LIST " ] [ "
|
|
|
4aca6e |
+.B action
|
|
|
4aca6e |
+.IR ACTION_SPEC " ] [ "
|
|
|
4aca6e |
+.B classid
|
|
|
4aca6e |
+.IR CLASSID " ]"
|
|
|
4aca6e |
+
|
|
|
4aca6e |
+.ti -8
|
|
|
4aca6e |
+.IR MATCH_LIST " := [ " MATCH_LIST " ] " MATCH
|
|
|
4aca6e |
+
|
|
|
4aca6e |
+.ti -8
|
|
|
4aca6e |
+.IR MATCH " := { "
|
|
|
4aca6e |
+.B indev
|
|
|
4aca6e |
+.IR ifname " | { "
|
|
|
4aca6e |
+.BR dst_mac " | " src_mac " } "
|
|
|
4aca6e |
+.IR mac_address " | "
|
|
|
4aca6e |
+.BR eth_type " { " ipv4 " | " ipv6 " | "
|
|
|
4aca6e |
+.IR ETH_TYPE " } | "
|
|
|
4aca6e |
+.BR ip_proto " { " tcp " | " udp " | "
|
|
|
4aca6e |
+.IR IP_PROTO " } | { "
|
|
|
4aca6e |
+.BR dst_ip " | " src_ip " } { "
|
|
|
4aca6e |
+.IR ipv4_address " | " ipv6_address " } | { "
|
|
|
4aca6e |
+.BR dst_port " | " src_port " } "
|
|
|
4aca6e |
+.IR port_number " }"
|
|
|
4aca6e |
+.SH DESCRIPTION
|
|
|
4aca6e |
+The
|
|
|
4aca6e |
+.B flower
|
|
|
4aca6e |
+filter matches flows to the set of keys specified and assigns an arbitrarily
|
|
|
4aca6e |
+chosen class ID to packets belonging to them. Additionally (or alternatively) an
|
|
|
4aca6e |
+action from the generic action framework may be called.
|
|
|
4aca6e |
+.SH OPTIONS
|
|
|
4aca6e |
+.TP
|
|
|
4aca6e |
+.BI action " ACTION_SPEC"
|
|
|
4aca6e |
+Apply an action from the generic actions framework on matching packets.
|
|
|
4aca6e |
+.TP
|
|
|
4aca6e |
+.BI classid " CLASSID"
|
|
|
4aca6e |
+Specify a class to pass matching packets on to.
|
|
|
4aca6e |
+.I CLASSID
|
|
|
4aca6e |
+is in the form
|
|
|
4aca6e |
+.BR X : Y ", while " X " and " Y
|
|
|
4aca6e |
+are interpreted as numbers in hexadecimal format.
|
|
|
4aca6e |
+.TP
|
|
|
4aca6e |
+.BI indev " ifname"
|
|
|
4aca6e |
+Match on incoming interface name. Obviously this makes sense only for forwarded
|
|
|
4aca6e |
+flows.
|
|
|
4aca6e |
+.I ifname
|
|
|
4aca6e |
+is the name of an interface which must exist at the time of
|
|
|
4aca6e |
+.B tc
|
|
|
4aca6e |
+invocation.
|
|
|
4aca6e |
+.TP
|
|
|
4aca6e |
+.BI dst_mac " mac_address"
|
|
|
4aca6e |
+.TQ
|
|
|
4aca6e |
+.BI src_mac " mac_address"
|
|
|
4aca6e |
+Match on source or destination MAC address.
|
|
|
4aca6e |
+.TP
|
|
|
4aca6e |
+.BI eth_type " ETH_TYPE"
|
|
|
4aca6e |
+Match on layer three protocol.
|
|
|
4aca6e |
+.I ETH_TYPE
|
|
|
4aca6e |
+may be either
|
|
|
4aca6e |
+.BR ipv4 , ipv6
|
|
|
4aca6e |
+or an unsigned 16bit value in hexadecimal format.
|
|
|
4aca6e |
+.TP
|
|
|
4aca6e |
+.BI ip_proto " IP_PROTO"
|
|
|
4aca6e |
+Match on layer four protocol.
|
|
|
4aca6e |
+.I IP_PROTO
|
|
|
4aca6e |
+may be either
|
|
|
4aca6e |
+.BR tcp , udp
|
|
|
4aca6e |
+or an unsigned 8bit value in hexadecimal format.
|
|
|
4aca6e |
+.TP
|
|
|
4aca6e |
+.BI dst_ip " ADDRESS"
|
|
|
4aca6e |
+.TQ
|
|
|
4aca6e |
+.BI src_ip " ADDRESS"
|
|
|
4aca6e |
+Match on source or destination IP address.
|
|
|
4aca6e |
+.I ADDRESS
|
|
|
4aca6e |
+must be a valid IPv4 or IPv6 address, depending on
|
|
|
4aca6e |
+.BR ether_type ,
|
|
|
4aca6e |
+which has to be specified in beforehand.
|
|
|
4aca6e |
+.TP
|
|
|
4aca6e |
+.BI dst_port " NUMBER"
|
|
|
4aca6e |
+.TQ
|
|
|
4aca6e |
+.BI src_port " NUMBER"
|
|
|
4aca6e |
+Match on layer 4 protocol source or destination port number. Only available for
|
|
|
4aca6e |
+.BR ip_proto " values " udp " and " tcp ,
|
|
|
4aca6e |
+which has to be specified in beforehand.
|
|
|
4aca6e |
+.SH NOTES
|
|
|
4aca6e |
+As stated above where applicable, matches of a certain layer implicitly depend
|
|
|
4aca6e |
+on the matches of the next lower layer. Precisely, layer one and two matches (
|
|
|
4aca6e |
+.BR indev , dst_mac , src_mac " and " eth_type )
|
|
|
4aca6e |
+have no dependency, layer three matches (
|
|
|
4aca6e |
+.BR ip_proto , dst_ip " and " src_ip )
|
|
|
4aca6e |
+require
|
|
|
4aca6e |
+.B eth_type
|
|
|
4aca6e |
+being set to either
|
|
|
4aca6e |
+.BR ipv4 " or " ipv6 ,
|
|
|
4aca6e |
+and finally layer four matches (
|
|
|
4aca6e |
+.BR dst_port " and " src_port )
|
|
|
4aca6e |
+depend on
|
|
|
4aca6e |
+.B ip_proto
|
|
|
4aca6e |
+being set to either
|
|
|
4aca6e |
+.BR tcp " or " udp .
|
|
|
4aca6e |
+.P
|
|
|
4aca6e |
+There can be only used one mask per one prio. If user needs to specify different
|
|
|
4aca6e |
+mask, he has to use different prio.
|
|
|
4aca6e |
+.SH SEE ALSO
|
|
|
4aca6e |
+.BR tc (8),
|
|
|
4aca6e |
+.BR tc-flow (8)
|
|
|
4aca6e |
--
|
|
|
4aca6e |
1.8.3.1
|
|
|
4aca6e |
|