]> CyberLeo.Net >> Repos - FreeBSD/releng/10.0.git/blob - contrib/ipfilter/tools/BNF.ipnat
- Copy stable/10 (r259064) to releng/10.0 as part of the
[FreeBSD/releng/10.0.git] / contrib / ipfilter / tools / BNF.ipnat
1 ipmap :: = mapblock | redir | map .
2
3 map ::= mapit ifname ipmask "->" ipmask [ mapport | mapicmpid ] .
4 map ::= mapit ifname fromto "->" ipmask [ mapport | mapicmpid ] .
5 mapblock ::= "map-block" ifname ipmask "->" ipmask [ ports ] .
6 redir ::= "rdr" ifname ipmask dport "->" ip [ "," ip ] [ ports ] options .
7
8 dport ::= "port" portnum [ "-" portnum ] .
9 ports ::= "ports" numports | "auto" .
10 mapit ::= "map" | "bimap" .
11 fromto ::= "from" object "to" object .
12 ipmask ::= ip "/" bits | ip "/" mask | ip "netmask" mask .
13 mapport ::= "portmap" tcpudp portnumber ":" portnumber .
14 mapicmpid ::= "icmpidmap" icmp idnumber ":" idnumber .
15 options ::= [ tcpudp ] [ rr ] .
16
17 object  = addr [ port-comp | port-range ] .
18 addr    = "any" | nummask | host-name [ "mask" ipaddr | "mask" hexnumber ] .
19 port-comp = "port" compare port-num .
20 port-range = "port" port-num range port-num .
21
22 rr ::= "round-robin" .
23 tcpudp ::= "tcp" | "udp" | "tcp/udp" .
24 portnumber ::= number { numbers } | "auto" .
25 idnumber ::= number { numbers } .
26 ifname ::= 'A' - 'Z' { 'A' - 'Z' } numbers .
27
28 numbers ::= '0' | '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9' .