From 1ab8166a5481c184ded9abf8da48dd0d391c8ae3 Mon Sep 17 00:00:00 2001 From: Christian Breunig Date: Tue, 15 Aug 2023 12:42:54 +0200 Subject: netplug: T5476: rewrite dhclient helper from Perl -> Python There are two hooks called for bridge, ethernet and bond interfaces if the link-state changes up -> down or down -> up. The helpers are: * /etc/netplug/linkdown.d/dhclient * /etc/netplug/linkup.d/dhclient As those helpers use Linux actions to start/restart the dhclient process in Perl it's time to rewrite it. First goal is to get rid of all Perl code and the second is that we now have a Proper Python library. Instead of checking if the process is running the then restarting it without even systemd noticing (yeah we might get two processes beeing alive) we should: * Add a Python helper that can be used for both up and down (see man 8 netplugd FILES section) * Query the VyOS CLI config if the interface in question has DHCP(v6) configured and is not disabled * Add IPv6 DHCPv6 support MAN page: https://linux.die.net/man/8/netplugd --- src/etc/netplug/linkup.d/vyos-python-helper | 4 ++++ 1 file changed, 4 insertions(+) create mode 100755 src/etc/netplug/linkup.d/vyos-python-helper (limited to 'src/etc/netplug/linkup.d/vyos-python-helper') diff --git a/src/etc/netplug/linkup.d/vyos-python-helper b/src/etc/netplug/linkup.d/vyos-python-helper new file mode 100755 index 000000000..9c59c58ad --- /dev/null +++ b/src/etc/netplug/linkup.d/vyos-python-helper @@ -0,0 +1,4 @@ +#!/bin/sh +PYTHON3=$(which python3) +# Call the real python script and forward commandline arguments +$PYTHON3 /etc/netplug/vyos-netplug-dhcp-client "${@:1}" -- cgit v1.2.3