X-Git-Url: https://git.distorted.org.uk/~mdw/hippotat/blobdiff_plain/034284c3d2f1bdc9c9c4e7762b40b34a9713f566..ca732796fd94e7bc50750c11377da63880e4beff:/hippotat/__init__.py diff --git a/hippotat/__init__.py b/hippotat/__init__.py index 1baaed3..f51caf5 100644 --- a/hippotat/__init__.py +++ b/hippotat/__init__.py @@ -19,6 +19,46 @@ from configparser import NoOptionError import collections +defcfg = ''' +[DEFAULT] +#[] overrides +max_batch_down = 65536 # used by server, subject to [limits] +max_queue_time = 10 # used by server, subject to [limits] +max_request_time = 54 # used by server, subject to [limits] +target_requests_outstanding = 3 # must match; subject to [limits] on server +max_requests_outstanding = 4 # used by client +max_batch_up = 4000 # used by client + +#[server] or [] overrides +ipif = userv root ipif %(local)s,%(peer)s,%(mtu)s,slip %(rnets)s +# extra interpolations: %(local)s %(peer)s %(rnet)s +# obtained on server [virtual]server [virtual]relay [virtual]network +# from on client [virtual]server [virtual]routes + +[virtual] +mtu = 1500 +routes = '' +# network = / # mandatory for server +# server = # used by both, default is computed from `network' +# relay = # used by server, default from `network' and `server' +# default server is first host in network +# default relay is first host which is not server + +[server] +# addrs = 127.0.0.1 ::1 # mandatory for server +port = 80 # used by server +# url # used by client; default from first `addrs' and `port' + +# [] +# password = # used by both, must match + +[limits] +max_batch_down = 262144 # used by server +max_queue_time = 121 # used by server +max_request_time = 121 # used by server +target_requests_outstanding = 10 # used by server +''' + # these need to be defined here so that they can be imported by import * cfg = ConfigParser() optparser = OptionParser() @@ -80,6 +120,9 @@ class _IpifProcessProtocol(twisted.internet.protocol.ProcessProtocol): for packet in packets: if not len(packet): continue (saddr, daddr) = packet_addrs(packet) + if saddr.is_link_local or daddr.is_link_local: + log_discard(packet, saddr, daddr, 'link-local') + continue self._router(packet, saddr, daddr) def processEnded(self, status): status.raiseException()