chiark / gitweb /
mtu: Add mtu parameter to SlipStreamDecoder and start_ipif
[hippotat.git] / hippotatlib / __init__.py
index 6c60eefc9cd410453d741ab047db0041ec00b099..6423ba346f77fbdc3d5ce332dcc2eb295177f648 100644 (file)
@@ -228,7 +228,7 @@ def ipnetwork(input):
 #---------- ipif (SLIP) subprocess ----------
 
 class SlipStreamDecoder():
-  def __init__(self, desc, on_packet):
+  def __init__(self, desc, on_packet, mtu):
     self._buffer = b''
     self._on_packet = on_packet
     self._desc = desc
@@ -261,9 +261,9 @@ class SlipStreamDecoder():
     self._maybe_packet(packets[0])
 
 class _IpifProcessProtocol(twisted.internet.protocol.ProcessProtocol):
-  def __init__(self, router):
+  def __init__(self, router, mtu):
     self._router = router
-    self._decoder = SlipStreamDecoder('ipif', self.slip_on_packet)
+    self._decoder = SlipStreamDecoder('ipif', self.slip_on_packet, mtu)
   def connectionMade(self): pass
   def outReceived(self, data):
     self._decoder.inputdata(data)
@@ -276,8 +276,8 @@ class _IpifProcessProtocol(twisted.internet.protocol.ProcessProtocol):
   def processEnded(self, status):
     status.raiseException()
 
-def start_ipif(command, router):
-  ipif = _IpifProcessProtocol(router)
+def start_ipif(command, router, mtu):
+  ipif = _IpifProcessProtocol(router, mtu)
   reactor.spawnProcess(ipif,
                        '/bin/sh',['sh','-xc', command],
                        childFDs={0:'w', 1:'r', 2:2},