Explorar el Código

ifupdown: Add dual network dhcp

For visionfive2, there are two network interface
Add dual network dhcp for the 2nd interface

Signed-off-by: Jianlong Huang <jianlong.huang@starfivetech.com>
Jianlong Huang hace 1 año
padre
commit
491e262342
Se han modificado 2 ficheros con 40 adiciones y 0 borrados
  1. 25 0
      package/ifupdown-scripts/ifupdown-scripts.mk
  2. 15 0
      system/Config.in

+ 25 - 0
package/ifupdown-scripts/ifupdown-scripts.mk

@@ -38,6 +38,27 @@ define IFUPDOWN_SCRIPTS_DHCP_OPENRC
 endef
 endef
 endif
 endif
 
 
+IFUPDOWN_SCRIPTS_DHCP_DUAL_IFACE = $(call qstrip,$(BR2_SYSTEM_DHCP_DUAL))
+
+ifneq ($(IFUPDOWN_SCRIPTS_DHCP_DUAL_IFACE),)
+define IFUPDOWN_SCRIPTS_DHCP_DUAL
+	( \
+		echo ; \
+		echo "auto $(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
+define IFUPDOWN_SCRIPTS_DHCP_DUAL_OPENRC
+	echo "ifup $(IFUPDOWN_SCRIPTS_DHCP_DUAL_IFACE)" \
+		> $(TARGET_DIR)/etc/ifup.$(IFUPDOWN_SCRIPTS_DHCP_DUAL_IFACE)
+	echo "ifdown $(IFUPDOWN_SCRIPTS_DHCP_DUAL_IFACE)" \
+		> $(TARGET_DIR)/etc/ifdown.$(IFUPDOWN_SCRIPTS_DHCP_DUAL_IFACE)
+endef
+endif
+
 define IFUPDOWN_SCRIPTS_INSTALL_TARGET_CMDS
 define IFUPDOWN_SCRIPTS_INSTALL_TARGET_CMDS
 	$(INSTALL) -m 0755 -D $(IFUPDOWN_SCRIPTS_PKGDIR)/nfs_check \
 	$(INSTALL) -m 0755 -D $(IFUPDOWN_SCRIPTS_PKGDIR)/nfs_check \
 		$(TARGET_DIR)/etc/network/nfs_check
 		$(TARGET_DIR)/etc/network/nfs_check
@@ -48,6 +69,8 @@ define IFUPDOWN_SCRIPTS_INSTALL_INIT_OPENRC
 	$(IFUPDOWN_SCRIPTS_PREAMBLE)
 	$(IFUPDOWN_SCRIPTS_PREAMBLE)
 	$(IFUPDOWN_SCRIPTS_DHCP)
 	$(IFUPDOWN_SCRIPTS_DHCP)
 	$(IFUPDOWN_SCRIPTS_DHCP_OPENRC)
 	$(IFUPDOWN_SCRIPTS_DHCP_OPENRC)
+	$(IFUPDOWN_SCRIPTS_DHCP_DUAL)
+	$(IFUPDOWN_SCRIPTS_DHCP_DUAL_OPENRC)
 endef
 endef
 
 
 define IFUPDOWN_SCRIPTS_INSTALL_INIT_SYSV
 define IFUPDOWN_SCRIPTS_INSTALL_INIT_SYSV
@@ -56,6 +79,7 @@ define IFUPDOWN_SCRIPTS_INSTALL_INIT_SYSV
 	$(IFUPDOWN_SCRIPTS_PREAMBLE)
 	$(IFUPDOWN_SCRIPTS_PREAMBLE)
 	$(IFUPDOWN_SCRIPTS_LOCALHOST)
 	$(IFUPDOWN_SCRIPTS_LOCALHOST)
 	$(IFUPDOWN_SCRIPTS_DHCP)
 	$(IFUPDOWN_SCRIPTS_DHCP)
+	$(IFUPDOWN_SCRIPTS_DHCP_DUAL)
 endef
 endef
 
 
 # ifupdown-scripts can not be selected when systemd-networkd is
 # ifupdown-scripts can not be selected when systemd-networkd is
@@ -67,6 +91,7 @@ define IFUPDOWN_SCRIPTS_INSTALL_INIT_SYSTEMD
 	$(IFUPDOWN_SCRIPTS_PREAMBLE)
 	$(IFUPDOWN_SCRIPTS_PREAMBLE)
 	$(IFUPDOWN_SCRIPTS_LOCALHOST)
 	$(IFUPDOWN_SCRIPTS_LOCALHOST)
 	$(IFUPDOWN_SCRIPTS_DHCP)
 	$(IFUPDOWN_SCRIPTS_DHCP)
+	$(IFUPDOWN_SCRIPTS_DHCP_DUAL)
 endef
 endef
 
 
 $(eval $(generic-package))
 $(eval $(generic-package))

+ 15 - 0
system/Config.in

@@ -403,6 +403,21 @@ config BR2_SYSTEM_DHCP
 	  overwrite /etc/network/interfaces or add a networkd
 	  overwrite /etc/network/interfaces or add a networkd
 	  configuration file.
 	  configuration file.
 
 
+config BR2_SYSTEM_DHCP_DUAL
+	string "Dual Network interface for the 2nd to configure through DHCP"
+	default ""
+	depends on BR2_PACKAGE_BUSYBOX || BR2_PACKAGE_IFUPDOWN || \
+		BR2_PACKAGE_SYSTEMD_NETWORKD
+	help
+	  Enter here the name of the network interface (E.G. eth1) to
+	  automatically configure through DHCP at bootup.
+
+	  If left empty, no automatic DHCP requests will take place.
+
+	  For more complicated network setups use an overlay to
+	  overwrite /etc/network/interfaces or add a networkd
+	  configuration file.
+
 comment "automatic network configuration via DHCP needs ifupdown or busybox or networkd or netifrc"
 comment "automatic network configuration via DHCP needs ifupdown or busybox or networkd or netifrc"
 	depends on !(BR2_PACKAGE_BUSYBOX || BR2_PACKAGE_IFUPDOWN || \
 	depends on !(BR2_PACKAGE_BUSYBOX || BR2_PACKAGE_IFUPDOWN || \
 		BR2_PACKAGE_SYSTEMD_NETWORKD || BR2_PACKAGE_NETIFRC)
 		BR2_PACKAGE_SYSTEMD_NETWORKD || BR2_PACKAGE_NETIFRC)