diff --git a/ext-respondd.py b/ext-respondd.py index 431a5c7c8a4dfbba1528224b89cd20a2088bf5be..bd08a19d55eaa7b37533bfb7f694beadd3ff4883 100755 --- a/ext-respondd.py +++ b/ext-respondd.py @@ -20,7 +20,7 @@ config = { 'bridge': 'br-client', 'batman': 'bat0', 'port': 1001, - 'addr': 'ff02::2:1001', + 'addr': 'ff05::2:1001', 'caching': 5, 'rate_limit': 30, 'rate_limit_burst': 10 diff --git a/lib/respondd_client.py b/lib/respondd_client.py index 3792572d65ade983321ad960dac6514f93066854..13e5c910b4454acb7c76976552cd9c317bfe30cb 100644 --- a/lib/respondd_client.py +++ b/lib/respondd_client.py @@ -39,6 +39,7 @@ class ResponddClient: sock.setsockopt(socket.IPPROTO_IPV6, socket.IPV6_JOIN_GROUP, group + struct.pack('I', if_idx)) def start(self): + self._sock.setsockopt(socket.SOL_SOCKET,socket.SO_BINDTODEVICE,bytes(self._config['bridge'].encode())) self._sock.bind(('::', self._config['port'])) lines = lib.helper.call(['batctl', '-m', self._config['batman'], 'if']) diff --git a/respondd@.service b/respondd@.service new file mode 100644 index 0000000000000000000000000000000000000000..730144d10c30f14a0008a1eb0c5d7eaac3e6d837 --- /dev/null +++ b/respondd@.service @@ -0,0 +1,13 @@ +[Unit] +Description=respondd (respondd status for servers) +After=syslog.target network-online.target + +[Service] +Type=simple +User=root +Group=root +WorkingDirectory=/opt/respondd-%I +ExecStart=/opt/respondd-%I/ext-respondd.py + +[Install] +WantedBy=multi-user.target