[virtual]
mtu = 1500
-# [host] } maybe computed from `network' (see server defaults)
+# [server] # maybe computed from `network' (see server defaults)
+# [routes] # default is none
[server]
-# url } maybe computed from `addrs' and `port' (see server defaults)
+# url # maybe computed from `addrs' and `port' (see server defaults)
# [<my ip address>]
# password = <password>
'''
-def startup():
- common_startup(defcfg)
+client_cs = None
-startup()
+def set_client(ci,cs,pw):
+ global client_cs
+ global password
+ assert(client_cs is None)
+ client_cs = cs
+ c.client = ci
+ c.max_outstanding = cfg.getint(cs, 'max_requests_outstanding')
+ password = pw
+
+def process_cfg():
+ global url
+ global max_requests_outstanding
+
+ process_cfg_common_always()
+ process_cfg_server()
+
+ try:
+ c.url = cfg.get('server','url')
+ except NoOptionError:
+ process_cfg_saddrs()
+ sa = c.saddrs[0].url()
+
+ process_cfg_clients(set_client)
+
+ try:
+ c.routes = cfg.get('virtual','routes')
+ except NoOptionError:
+ c.routes = ''
+
+ process_cfg_ipif(client_cs,
+ (('local', 'client'),
+ ('peer', 'server'),
+ ('rnets', 'routes')))
+
+def outbound(packet, saddr, daddr):
+ print('OUT ', saddr, daddr, repr(packet))
+ pass
+
+common_startup(defcfg)
+process_cfg()
+start_ipif(c.ipif_command, outbound)
+common_run()