- mention the inversion operator for "some parameters"
- mention the inversion operator for "received-on" to match "tagged"
- don't wrap a short line
- use spaces, not tabs inside a literal block
- quote the inversion operator when describing BNF syntax (easy to miss):
-                 "label" string | "tag" string | [ ! ] "tagged" string |
+                 "label" string | "tag" string | [ "!" ] "tagged" string |


Index: share/man/man5/pf.conf.5
===================================================================
RCS file: /cvs/src/share/man/man5/pf.conf.5,v
retrieving revision 1.558
diff -u -p -r1.558 pf.conf.5
--- share/man/man5/pf.conf.5    15 May 2017 11:24:37 -0000      1.558
+++ share/man/man5/pf.conf.5    15 May 2017 17:30:30 -0000
@@ -131,6 +131,9 @@ matching attributes.
 Certain parameters can be expressed as lists, in which case
 .Xr pfctl 8
 generates all needed rule combinations.
+It's also possible to invert some parameters by specifying the
+.Cm !\&
+operator.
 .Pp
 By default
 .Xr pf 4
@@ -638,12 +641,17 @@ For example, the following rule will dro
 .It Cm prio Ar number
 Only match packets which have the given queueing priority assigned.
 .Pp
-.It Cm received-on Ar interface
+.It Oo Cm \&! Oc Ns Cm received-on Ar interface
 Only match packets which were received on the specified
 .Cm interface
 (or interface group).
 .Cm any
 will match any existing interface except loopback ones.
+Inverse interface matching can also be done by specifying the
+.Cm !\&
+operator before the
+.Cm received-on
+keyword.
 .Pp
 .It Cm rtable Ar number
 Used to select an alternate routing table for the routing lookup.
@@ -733,8 +741,7 @@ to specify that packets must already
 be tagged with the given
 .Ar string
 in order to match the rule.
-Inverse tag matching can also be done
-by specifying the
+Inverse tag matching can also be done by specifying the
 .Cm !\&
 operator before the
 .Cm tagged
@@ -2690,22 +2697,22 @@ filteropt      = user | group | flags | 
                  ( "no" | "keep" | "modulate" | "synproxy" ) "state"
                  [ "(" state-opts ")" ] | "scrub" "(" scrubopts ")" |
                  "fragment" | "allow-opts" | "once" |
-                "divert-packet" "port" port | "divert-reply" |
-                "divert-to" host "port" port |
-                 "label" string | "tag" string | [ ! ] "tagged" string |
+                 "divert-packet" "port" port | "divert-reply" |
+                 "divert-to" host "port" port |
+                 "label" string | "tag" string | [ "!" ] "tagged" string |
                  "set prio" ( number | "(" number [ [ "," ] number ] ")" ) |
                  "set queue" ( string | "(" string [ [ "," ] string ] ")" ) |
                  "rtable" number | "probability" number"%" | "prio" number |
-                "af-to" af "from" ( redirhost | "{" redirhost-list "}" )
-                [ "to" ( redirhost | "{" redirhost-list "}" ) ] |
-                "binat-to" ( redirhost | "{" redirhost-list "}" )
-                [ portspec ] [ pooltype ] |
-                "rdr-to" ( redirhost | "{" redirhost-list "}" )
-                [ portspec ] [ pooltype ] |
-                "nat-to" ( redirhost | "{" redirhost-list "}" )
-                [ portspec ] [ pooltype ] [ "static-port" ] |
-                [ route ] | [ "set tos" tos ] |
-                [ [ "!" ] "received-on" ( interface-name | interface-group ) ]
+                 "af-to" af "from" ( redirhost | "{" redirhost-list "}" )
+                 [ "to" ( redirhost | "{" redirhost-list "}" ) ] |
+                 "binat-to" ( redirhost | "{" redirhost-list "}" )
+                 [ portspec ] [ pooltype ] |
+                 "rdr-to" ( redirhost | "{" redirhost-list "}" )
+                 [ portspec ] [ pooltype ] |
+                 "nat-to" ( redirhost | "{" redirhost-list "}" )
+                 [ portspec ] [ pooltype ] [ "static-port" ] |
+                 [ route ] | [ "set tos" tos ] |
+                 [ [ "!" ] "received-on" ( interface-name | interface-group ) ]
 
 scrubopts      = scrubopt [ [ "," ] scrubopts ]
 scrubopt       = "no-df" | "min-ttl" number | "max-mss" number |

-- 
Michal Mazurek

Reply via email to