.\" Automatically generated by Pandoc 3.1.3 .nh .\" .\" Define V font for inline verbatim, using C font in formats .\" that render this, and otherwise B font. .ie "\f[CB]x\f[]"x" \{\ . ftr V B . ftr VI BI . ftr VB B . ftr VBI BI .\} .el \{\ . ftr V CR . ftr VI CI . ftr VB CB . ftr VBI CBI .\} .TH "fireqos-match" "5" "Built 30 Mar 2024" "FireQOS Reference" "3.1.7" .hy .SH NAME .PP fireqos-match - QOS traffic match .SH SYNOPSIS .PP {match|match4|match6|match46} \f[I]optional-match-params\f[R] .SH DESCRIPTION .PP Writing \f[V]match\f[R] inherits the IPv4/IPv6 version from its enclosing class (see fireqos-class(5)). .PP Writing \f[V]match4\f[R] includes only IPv4 traffic in the match. .PP Writing \f[V]match6\f[R] includes only IPv6 traffic in the match. .PP Writing \f[V]match46\f[R] includes both IPv4 and IPv6 traffic in the match. .PP You can add as many \f[V]match\f[R] statements as you like to a FireQOS configuration. They assign traffic to a class: by default to the class after which they are declared. .PP The sequence that matches appear in the configuration defines their priority, with the first match being given a \f[V]prio\f[R] of 10, with 10 added for each subsequent match (10, 20, 30, \&...). .PP Matches can have their priority assigned explicitly with the \f[V]prio\f[R] parameter. See fireqos-params-match(5). .PP If one \f[V]match\f[R] statement generates multiple tc(8) \f[V]filter\f[R] statements, all filters generated by the same \f[V]match\f[R] statement will have the same \f[V]prio\f[R]. .RS .PP \f[B]Note\f[R] .PP \f[V]match\f[R] rules are attached to the parent of the \f[V]class\f[R] they appear in. Within the configuration they are written under a class, but in reality they are attached to their class parent, so that they classify the parent\[cq]s traffic that they match, into the class. .RE .PP It is also possible to group all \f[V]match\f[R] statements together below the classes. This allows them to be arranged in preferred order, without the need for any explicit \f[V]prio\f[R] parameters. In this case however, each match statement must specify to which class it classifies the packets it matches, using the \f[V]class\f[R] parameter. See fireqos-params-match(5) and the examples below. .PP You can also write \f[V]client\f[R] and \f[V]server\f[R] statements, much like FireHOL allows, with the same service definitions. For FireQOS however, the client ports are ignored. \f[V]server\f[R] statements match the server ports on this linux side, while \f[V]client\f[R] statements match the server ports on the remote side. .PP Example: .IP .nf \f[C] server_myrtp_ports=\[dq]10000:10100\[dq] interface eth0 lan bidirectional rate 1Gbit class voip server sip client sip server myrtp class dns server dns class mail server smtp \f[R] .fi .SH PARAMETERS .TP \f[I]optional-match-params\f[R] The set of optional parameters which describe this match. See fireqos-params-match(5). .SH EXAMPLES .PP Match traffic within classes: .IP .nf \f[C] interface eth0 lan output rate 1Gbit class voip match udp ports 5060,10000:10100 class dns match udp port 53 class mail match tcp port 25 \f[R] .fi .PP Matches split out and explicitly assigning traffic to classes (N.B. without the \f[V]class\f[R] parameters, all traffic would be classified into `mail'): .IP .nf \f[C] interface eth0 lan output rate 1Gbit class voip class dns class mail match udp ports 5060,10000:10100 class voip match tcp port 25 class mail match tcp port 80 class web \f[R] .fi .SH SEE ALSO .IP \[bu] 2 fireqos-params-match(5) - QOS match parameters .IP \[bu] 2 fireqos(1) - FireQOS program .IP \[bu] 2 fireqos.conf(5) - FireQOS configuration file .IP \[bu] 2 fireqos-interface(5) - QOS interface definition .IP \[bu] 2 fireqos-class(5) - QOS class definition .IP \[bu] 2 FireHOL Website (http://firehol.org/) .IP \[bu] 2 FireQOS Online PDF Manual (http://firehol.org/fireqos-manual.pdf) .IP \[bu] 2 FireQOS Online Documentation (http://firehol.org/documentation/) .IP \[bu] 2 tc(8) (http://lartc.org/manpages/tc.html) - show / manipulate traffic control settings .SH AUTHORS FireHOL Team.