diff --git a/providers/gateway/address.py b/providers/gateway/address.py new file mode 100644 index 0000000..c16ea23 --- /dev/null +++ b/providers/gateway/address.py @@ -0,0 +1,8 @@ +import providers + +class Source(providers.DataSource): + def required_args(self): + return ['mesh_ipv4'] + + def call(self, mesh_ipv4): + return { "ipv4": mesh_ipv4 } diff --git a/providers/gateway/node_id.py b/providers/gateway/node_id.py new file mode 120000 index 0000000..4906303 --- /dev/null +++ b/providers/gateway/node_id.py @@ -0,0 +1 @@ +../nodeinfo/node_id.py \ No newline at end of file diff --git a/respondd.py b/respondd.py index 0d9d422..452bbcf 100755 --- a/respondd.py +++ b/respondd.py @@ -59,12 +59,15 @@ def handle(self): parser.add_argument('-b', dest='batadv_iface', default='bat0', metavar='', help='batman-adv interface (default: bat0)') + parser.add_argument('-m', dest='mesh_ipv4', + metavar='', + help='mesh ipv4 address') args = parser.parse_args() socketserver.ThreadingUDPServer.address_family = socket.AF_INET6 server = socketserver.ThreadingUDPServer( ("", args.port), - get_handler(get_providers(args.directory), {'batadv_dev': args.batadv_iface}) + get_handler(get_providers(args.directory), {'batadv_dev': args.batadv_iface, 'mesh_ipv4': args.mesh_ipv4}) ) if args.mcast_ifaces: diff --git a/respondd.service b/respondd.service index 359ce20..58f1cca 100644 --- a/respondd.service +++ b/respondd.service @@ -3,7 +3,7 @@ Description=Respondd After=network.target [Service] -ExecStart=/opt/mesh-announce/respondd.py -d /opt/mesh-announce/providers -i -i -b +ExecStart=/opt/mesh-announce/respondd.py -d /opt/mesh-announce/providers -i -i -b -m Restart=always Environment=PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin