Home | History | Annotate | Line # | Download | only in tools
      1  1.1  christos filter-rule = [ insert ] action in-out [ options ] [ tos ] [ ttl ]
      2  1.1  christos 	      [ proto ] [ ip ] [ group ] [ tag ] [ pps ] .
      3  1.1  christos 
      4  1.1  christos insert	= "@" decnumber .
      5  1.1  christos action	= block | "pass" | log | "count" | auth | call .
      6  1.1  christos in-out	= "in" | "out" .
      7  1.1  christos options	= [ log ] [ "quick" ] [ onif [ dup ] [ froute ] ] .
      8  1.1  christos tos	= "tos" decnumber | "tos" hexnumber .
      9  1.1  christos ttl	= "ttl" decnumber .
     10  1.1  christos proto	= "proto" protocol .
     11  1.1  christos ip	= srcdst [ flags ] [ with withopt ] [ icmp ] [ keep ] .
     12  1.1  christos group	= [ "head" decnumber ] [ "group" decnumber ] .
     13  1.1  christos pps	= "pps" decnumber .
     14  1.1  christos 
     15  1.1  christos onif	= "on" interface-name [ "out-via" interface-name ] .
     16  1.1  christos block	= "block" [ return-icmp[return-code] | "return-rst" ] .
     17  1.1  christos auth	= "auth" | "preauth" .
     18  1.1  christos log	= "log" [ "body" ] [ "first" ] [ "or-block" ] [ "level" loglevel ] .
     19  1.1  christos tag	= "tag" tagid .
     20  1.1  christos call	= "call" [ "now" ] function-name .
     21  1.1  christos dup	= "dup-to" interface-name[":"ipaddr] .
     22  1.1  christos froute	= "fastroute" | "to" interface-name .
     23  1.1  christos protocol = "tcp/udp" | "udp" | "tcp" | "icmp" | decnumber .
     24  1.1  christos srcdst	= "all" | fromto .
     25  1.1  christos fromto	= "from" object "to" object .
     26  1.1  christos 
     27  1.1  christos return-icmp = "return-icmp" | "return-icmp-as-dest" .
     28  1.1  christos loglevel = facility"."priority | priority .
     29  1.1  christos object	= addr [ port-comp | port-range ] .
     30  1.1  christos addr	= "any" | nummask | host-name [ "mask" ipaddr | "mask" hexnumber ] .
     31  1.1  christos port-comp = "port" compare port-num .
     32  1.1  christos port-range = "port" port-num range port-num .
     33  1.1  christos flags	= "flags" flag { flag } [ "/" flag { flag } ] .
     34  1.1  christos with	= "with" | "and" .
     35  1.1  christos icmp	= "icmp-type" icmp-type [ "code" decnumber ] .
     36  1.1  christos return-code = "("icmp-code")" .
     37  1.1  christos keep	= "keep" "state" [ "limit" number ] | "keep" "frags" .
     38  1.1  christos 
     39  1.1  christos nummask	= host-name [ "/" decnumber ] .
     40  1.1  christos host-name = ipaddr | hostname | "any" .
     41  1.1  christos ipaddr	= host-num "." host-num "." host-num "." host-num .
     42  1.1  christos host-num = digit [ digit [ digit ] ] .
     43  1.1  christos port-num = service-name | decnumber .
     44  1.1  christos 
     45  1.1  christos withopt = [ "not" | "no" ] opttype [ withopt ] .
     46  1.1  christos opttype = "ipopts" | "short" | "nat" | "bad-src" | "lowttl" | "frag" |
     47  1.1  christos           "mbcast" | "opt" ipopts  .
     48  1.1  christos optname	= ipopts [ "," optname ] .
     49  1.1  christos ipopts  = optlist | "sec-class" [ secname ] .
     50  1.1  christos secname	= seclvl [ "," secname ] .
     51  1.1  christos seclvl  = "unclass" | "confid" | "reserv-1" | "reserv-2" | "reserv-3" |
     52  1.1  christos 	  "reserv-4" | "secret" | "topsecret" .
     53  1.1  christos icmp-type = "unreach" | "echo" | "echorep" | "squench" | "redir" |
     54  1.1  christos 	    "timex" | "paramprob" | "timest" | "timestrep" | "inforeq" |
     55  1.1  christos 	    "inforep" | "maskreq" | "maskrep"  | "routerad" |
     56  1.1  christos 	    "routersol" | decnumber .
     57  1.1  christos icmp-code = decumber | "net-unr" | "host-unr" | "proto-unr" | "port-unr" |
     58  1.1  christos 	    "needfrag" | "srcfail" | "net-unk" | "host-unk" | "isolate" |
     59  1.1  christos 	    "net-prohib" | "host-prohib" | "net-tos" | "host-tos" |
     60  1.1  christos 	    "filter-prohib" | "host-preced" | "cutoff-preced" .
     61  1.1  christos optlist	= "nop" | "rr" | "zsu" | "mtup" | "mtur" | "encode" | "ts" | "tr" |
     62  1.1  christos 	  "sec" | "lsrr" | "e-sec" | "cipso" | "satid" | "ssrr" | "addext" |
     63  1.1  christos 	  "visa" | "imitd" | "eip" | "finn" .
     64  1.1  christos facility = "kern" | "user" | "mail" | "daemon" | "auth" | "syslog" |
     65  1.1  christos 	   "lpr" | "news" | "uucp" | "cron" | "ftp" | "authpriv" |
     66  1.1  christos 	   "audit" | "logalert" | "local0" | "local1" | "local2" |
     67  1.1  christos 	   "local3" | "local4" | "local5" | "local6" | "local7" .
     68  1.1  christos priority = "emerg" | "alert" | "crit" | "err" | "warn" | "notice" |
     69  1.1  christos 	   "info" | "debug" .
     70  1.1  christos 
     71  1.1  christos hexnumber = "0" "x" hexstring .
     72  1.1  christos hexstring = hexdigit [ hexstring ] .
     73  1.1  christos decnumber = digit [ decnumber ] .
     74  1.1  christos 
     75  1.1  christos compare = "=" | "!=" | "<" | ">" | "<=" | ">=" | "eq" | "ne" | "lt" | "gt" |
     76  1.1  christos 	  "le" | "ge" .
     77  1.1  christos range	= "<>" | "><" .
     78  1.1  christos hexdigit = digit | "a" | "b" | "c" | "d" | "e" | "f" .
     79  1.1  christos digit	= "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" .
     80  1.1  christos flag	= "F" | "S" | "R" | "P" | "A" | "U" | "C" | "W" .
     81