def __init__(self, options={}):
self.shutdown = False # Loadbalancers shouldn't reconnect
self.buffer = []
self.loadbalancing_pool = []
self.rr = 0 # RoundRobin iterator counter
self.weighted_rr_queue = [] # Weighted RoundRobin queue
self.secret = options.get('secret','')
self.port = options.get('port',11111)
mode = options.get('mode','rr')
if mode not in self.available_modes.keys():
logging.error('Unknown Mode "{}"!'.format(mode))
self.balancing_mode = self.available_modes.get(mode, 'rr')
_tap = options.get('tap', True)
_name = options.get('name', '')
_mtu = 1496-28-200
self.dev = TapDevice(tap=_tap, name=_name)
self.dev.ifconfig(mtu=_mtu)
asyncore.file_dispatcher.__init__(self, self.dev.getFD())
self.dev.up()
if options.get('tunnel_address', False):
self.dev.ifconfig(address=options.get('tunnel_address'))
logging.debug('Interface ready')
评论列表
文章目录