| 1 | -*- Fundamental -*- |
| 2 | |
| 3 | Sections |
| 4 | |
| 5 | [<servername> - <clientaddr>] |
| 6 | [<client>] |
| 7 | [<servername>] usually [SERVER] |
| 8 | [DEFAULT] |
| 9 | |
| 10 | Keys are looked up in that order. |
| 11 | <client> is the client's virtual address. |
| 12 | <servername> must not look like an address. |
| 13 | |
| 14 | Exceptional settings: |
| 15 | |
| 16 | server |
| 17 | Specifies <servername>. |
| 18 | Is looked up in [SERVER] and [DEFAULT] only. |
| 19 | If not specified there, it is SERVER. |
| 20 | |
| 21 | Used by server to select the appropriate parts of the |
| 22 | rest of the configuration. Ignored by the client. |
| 23 | |
| 24 | password |
| 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. |
| 28 | |
| 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). |
| 32 | |
| 33 | The server queue packets for, and accept requests from, each |
| 34 | putative client for which the config search yields a password. |
| 35 | |
| 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. |
| 39 | |
| 40 | Capped 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 | |
| 65 | Ordinary 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 | |
| 104 | Ordinary 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. [""] |