]> CyberLeo.Net >> Repos - FreeBSD/releng/10.0.git/blob - contrib/ipfilter/iplang/BNF
- Copy stable/10 (r259064) to releng/10.0 as part of the
[FreeBSD/releng/10.0.git] / contrib / ipfilter / iplang / BNF
1 line ::= iface | arp | send | defrouter | ipv4line .
2
3 iface ::= ifhdr "{" ifaceopts "}" ";" .
4 ifhdr ::= "interface" | "iface" .
5 ifaceopts ::= "ifname" name | "mtu" mtu | "v4addr" ipaddr |
6               "eaddr" eaddr .
7
8 send ::= "send" ";" | "send" "{" sendbodyopts "}" ";" .
9 sendbodyopts ::= sendbody [ sendbodyopts ] .
10 sendbody ::= "ifname" name | "via" ipaddr .
11
12 defrouter ::= "router" ipaddr .
13
14 arp ::= "arp" "{" arpbodyopts "}" ";" .
15 arpbodyopts ::= arpbody [ arpbodyopts ] .
16 arpbody ::= "v4addr" ipaddr | "eaddr" eaddr .
17
18 bodyline ::= ipv4line | tcpline | udpline | icmpline | dataline .
19
20 ipv4line ::= "ipv4" "{" ipv4bodyopts "}" ";" .
21 ipv4bodyopts ::= ipv4body [ ipv4bodyopts ] | bodyline .
22 ipv4body ::= "proto" protocol | "src" ipaddr | "dst" ipaddr |
23              "off" number | "v" number | "hl" number| "id" number |
24              "ttl" number | "tos" number | "sum" number | "len" number |
25              "opt" "{" ipv4optlist "}" ";" .
26 ipv4optlist ::= ipv4option [ ipv4optlist ] .
27 ipv4optlist = "nop" | "rr" | "zsu" | "mtup" | "mtur" | "encode" | "ts" |
28               "tr" | "sec" | "lsrr" | "e-sec" | "cipso" | "satid" |
29               "ssrr" | "addext" | "visa" | "imitd" | "eip" | "finn" |
30               "secclass" ipv4secclass.
31 ipv4secclass := "unclass" | "confid" | "reserv-1" | "reserv-2" |
32                 "reserv-3" | "reserv-4" | "secret" | "topsecret" .
33
34 tcpline ::= "tcp" "{" tcpbodyopts "}" ";" .
35 tcpbodyopts ::= tcpbody [ tcpbodyopts ] | bodyline .
36 tcpbody ::= "sport" port | "dport" port | "seq" number | "ack" number |
37             "off" number | "urp" number | "win" number | "sum" number |
38             "flags" tcpflags | data .
39
40 udpline ::= "udp" "{" udpbodyopts "}" ";" .
41 udpbodyopts ::= udpbody [ udpbodyopts ] | bodyline .
42 udpbody ::= "sport" port | "dport" port | "len" number | "sum" number |
43             data .
44
45 icmpline ::= "icmp" "{" icmpbodyopts "}" ";" .
46 icmpbodyopts ::= icmpbody [ icmpbodyopts ] | bodyline .
47 icmpbody ::= "type" icmptype [ "code" icmpcode ] .
48 icmptype ::= "echorep" | "echorep" "{" echoopts "}" ";" | "unreach" |
49              "unreach" "{" unreachtype "}" ";" | "squench" | "redir" |
50              "redir" "{" redirtype "}" ";" | "echo" "{" echoopts "}" ";" |
51              "echo" | "routerad" | "routersol" | "timex" |
52              "timex" "{" timextype "}" ";" | "paramprob" |
53              "paramprob" "{" parapptype "}" ";" | "timest" | "timestrep" |
54              "inforeq" | "inforep" | "maskreq" | "maskrep" .
55
56 echoopts ::= echoopts [ icmpechoopts ] .
57 unreachtype ::= "net-unr" | "host-unr" | "proto-unr" | "port-unr" |
58              "needfrag" | "srcfail" | "net-unk" | "host-unk" | "isolate" |
59              "net-prohib" | "host-prohib" | "net-tos" | "host-tos" |
60              "filter-prohib" | "host-preced" | "cutoff-preced" .
61 redirtype ::= "net-redir" | "host-redir" | "tos-net-redir" |
62               "tos-host-redir" .
63 timextype ::= "intrans" | "reass" .
64 paramptype ::= "optabsent" .
65
66 data    ::= "data" "{" databodyopts "}" ";" .
67 databodyopts ::= "len" number | "value" string | "file" filename .
68
69 icmpechoopts ::= "icmpseq" number | "icmpid" number .