diff options
author | Pawel Jakub Dawidek <pjd@FreeBSD.org> | 2004-10-30 13:44:06 +0000 |
---|---|---|
committer | Pawel Jakub Dawidek <pjd@FreeBSD.org> | 2004-10-30 13:44:06 +0000 |
commit | 1f8197cf4d1485f4ae8a7381c0a286b47b61caf6 (patch) | |
tree | 8b33932a48beb2cd86ecc804ea6123b37da7fcc4 | |
parent | 9bb402796d900ab350c948194690ce1bce621951 (diff) | |
download | src-1f8197cf4d1485f4ae8a7381c0a286b47b61caf6.tar.gz src-1f8197cf4d1485f4ae8a7381c0a286b47b61caf6.zip |
Allow to change interfaces name on boot time.
Now, one should be able to put something like this into /etc/rc.conf:
ifconfig_fxp0_name="net0"
ifconfig_net0="inet 10.0.0.1/16"
Reviewed by: green
Notes
Notes:
svn path=/head/; revision=137070
-rw-r--r-- | etc/defaults/rc.conf | 1 | ||||
-rw-r--r-- | etc/network.subr | 21 | ||||
-rw-r--r-- | etc/rc.d/netif | 3 | ||||
-rw-r--r-- | share/man/man5/rc.conf.5 | 6 |
4 files changed, 31 insertions, 0 deletions
diff --git a/etc/defaults/rc.conf b/etc/defaults/rc.conf index 29ba08c64912..0916c3498a0d 100644 --- a/etc/defaults/rc.conf +++ b/etc/defaults/rc.conf @@ -129,6 +129,7 @@ cloned_interfaces="" # List of cloned network interfaces to create. ifconfig_lo0="inet 127.0.0.1" # default loopback device configuration. #ifconfig_lo0_alias0="inet 127.0.0.254 netmask 0xffffffff" # Sample alias entry. #ifconfig_ed0_ipx="ipx 0x00010010" # Sample IPX address family entry. +#ifconfig_fxp0_name="net0" # Change interface name from fxp0 to net0. # # If you have any sppp(4) interfaces above, you might also want to set # the following parameters. Refer to spppcontrol(8) for their meaning. diff --git a/etc/network.subr b/etc/network.subr index b413e014331d..090f847374e7 100644 --- a/etc/network.subr +++ b/etc/network.subr @@ -250,6 +250,23 @@ ipx_down() return $_ret } +# ifnet_rename +# Rename all requested interfaces. +# +ifnet_rename() +{ + + _ifn_list="`list_net_interfaces all`" + [ -z "$_ifn_list" ] && return 0 + for _if in ${_ifn_list} ; do + eval _ifname=\$ifconfig_${_if}_name + if [ ! -z "$_ifname" ]; then + ifconfig $_if name $_ifname + fi + done + return 0 +} + # # list_net_interfaces type # List all network interfaces. The type of interface returned @@ -257,6 +274,7 @@ ipx_down() # argument can be any of the following: # nodhcp - all interfaces, excluding DHCP configured interfaces # dhcp - list only DHCP configured interfaces +# all - all interfaces # If no argument is specified all network interfaces are output. # Note that the list will include cloned interfaces if applicable. # Cloned interfaces must already exist to have a chance to appear @@ -325,6 +343,9 @@ list_net_interfaces() dhcp) echo $_dhcplist ;; + all) + echo $_nodhcplist $_dhcplist + ;; esac return 0 } diff --git a/etc/rc.d/netif b/etc/rc.d/netif index 029076c1dd96..58a9476b3a83 100644 --- a/etc/rc.d/netif +++ b/etc/rc.d/netif @@ -56,6 +56,9 @@ network_start() # Create IPv6<-->IPv4 tunnels gif_up + + # Rename interfaces. + ifnet_rename fi # Configure the interface(s). diff --git a/share/man/man5/rc.conf.5 b/share/man/man5/rc.conf.5 index 1db6f84d8f68..ca5ffa3aeede 100644 --- a/share/man/man5/rc.conf.5 +++ b/share/man/man5/rc.conf.5 @@ -928,6 +928,12 @@ it is possible to use something like: .Bd -literal ifconfig_ed0="DHCP" .Ed +.Pp +It is also possible to rename interface by doing: +.Bd -literal +ifconfig_ed0_name="net0" +ifconfig_net0="inet 10.0.0.1 netmask 0xffff0000" +.Ed .It Va ipv6_network_interfaces .Pq Vt str This is the IPv6 equivalent of |