new config definition
[hippotat] / README.config
CommitLineData
abb06ac1
IJ
1-*- Fundamental -*-
2
3Sections
4
5 [<servername> - <clientaddr>]
9e445690
IJ
6 [<client>]
7 [<servername>] usually [SERVER]
abb06ac1
IJ
8 [DEFAULT]
9
9e445690
IJ
10Keys are looked up in that order.
11<client> is the client's virtual address.
12<servername> must not look like an address.
abb06ac1
IJ
13
14Exceptional settings:
15
16 server
abb06ac1
IJ
17 Specifies <servername>.
18 Is looked up in [SERVER] and [DEFAULT] only.
19 If not specified there, it is SERVER.
20
9e445690
IJ
21 Used by server to select the appropriate parts of the
22 rest of the configuration. Ignored by the client.
23
abb06ac1 24 password
9e445690
IJ
25 Looked up in the usual way, but used by client and server to
26 determine which possible peerings to try to set up, and which to
27 ignore.
abb06ac1 28
9e445690
IJ
29 We define the sets of putative clients and servers, as follows:
30 all those, for which there is any section (even an empty one)
31 whose name is based on <client> or <servername> (as applicable).
abb06ac1 32
9e445690
IJ
33 The server queue packets for, and accept requests from, each
34 putative client for which the config search yields a password.
abb06ac1 35
9e445690
IJ
36 Each client will create a local interface, and try to communicate
37 with the server, for each possible pair (putative server,
38 putative client) for which the config search yields a password.
abb06ac1
IJ
39
40Capped settings:
41
42 Values in <servername> are a cap (maximum) on those from the
43 other sections (including DEFAULT):
44
45 max_batch_down
46 Size limit for response payloads (server only) [65536 bytes]
47
48 max_queue_time
49 Discard downwards packets after this long (server only) [10 s]
50
51 http_timeout
52 (On server) return with empty payload any http request oustanding
53 for this long
54 (On client) give up on any http request outstanding for
55 for this long plus http_timeout_grace
56 Client's effective timeout must be at least server's (checked).
57 [30 s]
58
59 target_requests_outstanding
60 (On server) whenever number of outstanding requests for
61 a client exceeds this, return oldest with empty payload
62 (On client) try to keep this many requests outstanding.
63 Must match between client and server (checked). [3]
64
65Ordinary settings, used by client and server:
66
67 ipif
68 Command to run to create and communicate with local network
69 interface. Passed to sh -c. Must speak SLIP on stdin/stdout.
70 The following additional interpolations aare substituted:
71 %(local)s %(peer)s %(rnet)s
72 on server <vaddr> <vrelay> <vnetwork>
73 on client <client> <vaddr> <vroutes>
74 ["userv root ipif %(local)s,%(peer)s,%(mtu)s,slip %(rnets)s"]
75
76 addrs
77 Public IP (v4 or v6) address(es) of the server;
78 space-separated.
79 (On server) mandatory; used for bind. No default.
80 (On client) used only to construct default url.
81
82 vnetwork
83 Private network range (<prefix>/<length>). Must contain all
84 <client>s. Must contain <vaddr> and <vrelay>, and used
85 to compute their defaults. [172.24.230.192/28]
86
87 vaddr
88 Address of server's virtual interface.
89
90 vrelay
91 Virtual point-to-point address used for tunnel routing
92 (does not appear in packets).
93 [first host entry in <vnetwork> other than <vaddr>,
94 so 172.24.230.194]
95
96 port
97 Public port number of the server. [80]
98 (On server) used for bind.
99 (On client) used only to construct default url.
100
101 mtu
102 Must match exactly. (checked) [1500 bytes]
103
104Ordinary settings, used by client only:
105
106 http_timeout_grace
107 See http_timeout. [5 s]
108
109 max_requests_outstanding
110 Client will hold off sending more requests than this to
111 server even if it has data to send. [6]
112
113 max_batch_up
114 Size limit for request payloads. [4000 bytes]
115
116 http_retry
117 If a request fails, wait this long before considering it
118 "finished" - to limit rate of futile requests. [5 s]
119
120 url
121 Public url of server.
122 [http://<first-entry-in-addrs>:<port>/]
123
124 vroutes
125 Virtual addresses (in CIDR syntax) to be found at the server
126 end, space-separated. Routes to those will be created on
127 the client. [""]