From 4af5f4a9136a64af51e3eabfd60e5c4cf94cf77d Mon Sep 17 00:00:00 2001 From: Samin Guo Date: Tue, 6 Dec 2022 16:09:08 +0800 Subject: [PATCH] package/ifupdown-scripts: add hotplug support When you plug the network cable, you can call ifplugd to automatically release and obtain the IP Signed-off-by: Samin Guo --- package/ifupdown-scripts/ifupdown-scripts.mk | 28 ++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/package/ifupdown-scripts/ifupdown-scripts.mk b/package/ifupdown-scripts/ifupdown-scripts.mk index 97f88959..0c8f6635 100644 --- a/package/ifupdown-scripts/ifupdown-scripts.mk +++ b/package/ifupdown-scripts/ifupdown-scripts.mk @@ -18,8 +18,21 @@ define IFUPDOWN_SCRIPTS_LOCALHOST endef IFUPDOWN_SCRIPTS_DHCP_IFACE = $(call qstrip,$(BR2_SYSTEM_DHCP)) +IFUPDOWN_SCRIPTS_DHCP_HOTPLUG = $(call qstrip,$(BR2_PACKAGE_IFPLUGD)) ifneq ($(IFUPDOWN_SCRIPTS_DHCP_IFACE),) +ifneq ($(IFUPDOWN_SCRIPTS_DHCP_HOTPLUG),) +define IFUPDOWN_SCRIPTS_DHCP + ( \ + echo ; \ + echo "allow-hotplug $(IFUPDOWN_SCRIPTS_DHCP_IFACE)"; \ + echo "iface $(IFUPDOWN_SCRIPTS_DHCP_IFACE) inet dhcp"; \ + echo " pre-up /etc/network/nfs_check"; \ + echo " wait-delay 15"; \ + echo " hostname \$$(hostname)"; \ + ) >> $(TARGET_DIR)/etc/network/interfaces +endef +else define IFUPDOWN_SCRIPTS_DHCP ( \ echo ; \ @@ -30,6 +43,7 @@ define IFUPDOWN_SCRIPTS_DHCP echo " hostname \$$(hostname)"; \ ) >> $(TARGET_DIR)/etc/network/interfaces endef +endif define IFUPDOWN_SCRIPTS_DHCP_OPENRC echo "ifup $(IFUPDOWN_SCRIPTS_DHCP_IFACE)" \ > $(TARGET_DIR)/etc/ifup.$(IFUPDOWN_SCRIPTS_DHCP_IFACE) @@ -39,8 +53,21 @@ endef endif IFUPDOWN_SCRIPTS_DHCP_DUAL_IFACE = $(call qstrip,$(BR2_SYSTEM_DHCP_DUAL)) +IFUPDOWN_SCRIPTS_DHCP_DUAL_IFACE_HOTPLUG = $(call qstrip,$BR2_PACKAGE_IFPLUGD)) ifneq ($(IFUPDOWN_SCRIPTS_DHCP_DUAL_IFACE),) +ifneq ($(IFUPDOWN_SCRIPTS_DHCP_DUAL_IFACE_HOTPLUG),) +define IFUPDOWN_SCRIPTS_DHCP_DUAL + ( \ + echo ; \ + echo "allow-hotplug $(IFUPDOWN_SCRIPTS_DHCP_DUAL_IFACE)"; \ + echo "iface $(IFUPDOWN_SCRIPTS_DHCP_DUAL_IFACE) inet dhcp"; \ + echo " pre-up /etc/network/nfs_check"; \ + echo " wait-delay 15"; \ + echo " hostname \$$(hostname)"; \ + ) >> $(TARGET_DIR)/etc/network/interfaces +endef +else define IFUPDOWN_SCRIPTS_DHCP_DUAL ( \ echo ; \ @@ -51,6 +78,7 @@ define IFUPDOWN_SCRIPTS_DHCP_DUAL echo " hostname \$$(hostname)"; \ ) >> $(TARGET_DIR)/etc/network/interfaces endef +endif define IFUPDOWN_SCRIPTS_DHCP_DUAL_OPENRC echo "ifup $(IFUPDOWN_SCRIPTS_DHCP_DUAL_IFACE)" \ > $(TARGET_DIR)/etc/ifup.$(IFUPDOWN_SCRIPTS_DHCP_DUAL_IFACE)