At this point, coreutils should be providing /bin/hostname instead of
net-tools. If users wish to set an NIS/YS domain name, they should use
core/yptools.
Signed-off-by: Dave Reisner
---
PKGBUILD | 2 +-
network | 45 ++++++++++++++++-----------------------------
rc.conf | 17 ++++++++++-------
rc.sysinit | 10 ++--------
4 files changed, 29 insertions(+), 45 deletions(-)
diff --git a/PKGBUILD b/PKGBUILD
index 6f862e8..206f41b 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -10,7 +10,7 @@ conflicts=('initscripts')
provides=('initscripts=9999')
backup=(etc/inittab etc/rc.conf etc/rc.local etc/rc.local.shutdown)
depends=('glibc' 'bash' 'grep' 'coreutils' 'udev>=139-1'
- 'net-tools' 'ncurses' 'kbd' 'findutils' 'sysvinit')
+ 'iproute2' 'ncurses' 'kbd' 'findutils' 'sysvinit')
optdepends=('bridge-utils: Network bridging support'
'dhcpcd: DHCP network configuration'
'ifenslave: Networking bonding support'
diff --git a/network b/network
index 27df68a..aeddef2 100755
--- a/network
+++ b/network
@@ -8,31 +8,25 @@ for s in wireless bonding bridges dhcpcd; do
done
ifup() {
- local ifcfg=${!1}
+ local ifname ifcfg=${!1}
if [[ ! $1 ]]; then
echo "usage: $0 ifup "
return 1
fi
- # Get the name of the interface from the first token in the string
- if [[ $ifcfg = dhcp ]]; then
- ifname=$1
- else
- ifname=${ifcfg%% *}
- fi
-
- /sbin/ifconfig $ifname up
+ # Split the config string into interface name and config
+ read -r ifname ifcfg <<< "$ifcfg"
+ /usr/sbin/ip link set up dev $ifname || return 1
wi_up $1 || return 1
- if [[ $ifcfg = dhcp ]]; then
+ if [[ "$ifcfg" = dhcp ]]; then
# remove the .pid file if it exists
- /bin/rm -f /var/run/dhcpcd-${1}.pid >/dev/null 2>&1
- /bin/rm -f /var/run/dhcpcd-${1}.cache >/dev/null 2>&1
- /sbin/dhcpcd $DHCPCD_ARGS ${1}
+ /bin/rm -f /var/run/dhcpcd-$ifname.{pid,cache} >/dev/null 2>&1
+ /sbin/dhcpcd $DHCPCD_ARGS $ifname
else
- /sbin/ifconfig $ifcfg
+ /usr/sbin/ip addr add $ifcfg dev $ifname
fi
}
@@ -42,8 +36,7 @@ wi_up() {
[[ ${!iwcfg} ]] || return 0
/usr/sbin/iwconfig ${!iwcfg}
- [[ $WIRELESS_TIMEOUT ]] || WIRELESS_TIMEOUT=2
- sleep $WIRELESS_TIMEOUT
+ sleep ${WIRELESS_TIMEOUT:-2}
bssid=$(iwgetid $1 -ra)
if [[ $bssid = 00:00:00:00:00:00 ]]; then
@@ -64,8 +57,10 @@ ifdown() {
if [[ $ifcfg = dhcp && -f /var/run/dhcpcd-${1}.pid ]]; then
/sbin/dhcpcd -k ${1} >/dev/null 2>&1
fi
+
# Always bring the interface itself down
- /sbin/ifconfig ${1} down >/dev/null 2>&1
+ /usr/sbin/ip addr flush dev $1
+ /usr/sbin/ip link set down dev $1
}
iflist() {
@@ -87,11 +82,7 @@ rtup() {
return 1
fi
- if [[ $routecfg =~ :: ]]; then
- /sbin/route -A inet6 add $routecfg
- else
- /sbin/route add $routecfg
- fi
+ /usr/sbin/ip route add $routecfg
}
rtdown() {
@@ -102,11 +93,7 @@ rtdown() {
return 1
fi
- if [[ $routecfg =~ :: ]]; then
- /sbin/route -A inet6 del $routecfg
- else
- /sbin/route del $routecfg
- fi
+ /usr/sbin/ip route del $routecfg
}
rtlist() {
@@ -144,8 +131,8 @@ bridge_up() {
for br in "${BRIDGE_INTERFACES[@]}"; do
if [[ "$br" = ${br#!} ]]; then
# if the bridge already exists, remove it
- if [[ $(/sbin/ifconfig $br 2>/dev/null) ]]; then
- /sbin/ifconfig $br down
+ if [[ -d /sys/class/net/$br ]]; then
+ ifdown $br
/usr/sbin/brctl delbr $br
fi
/usr/sbin/brctl addbr $br
diff --git a/rc.conf b/rc.conf
index d2b0517..d96bea6 100644
--- a/rc.conf
+++ b/rc.conf
@@ -59,29 +59,32 @@ USELVM="no"
#
HOSTNAME="myhost"
-# Use 'ifconfig -a' or 'ls /sys/class/net/' to see all available interfaces.
+# Use 'ip addr' or 'ls /sys/class/net/' to see all available interfaces.
#
# Interfaces to start at boot-up (in this order)
# Declare each interface then list in INTERFACES
# - prefix an entry in INTERFACES with a ! to disable it
# - no hyphens in your interface names - Bash doesn't like it
-#
+#
# DHCP: Set your interface to "dhcp" (eth0="dhcp")
# Wireless: See network profiles below
#
-#Static IP example
-#eth0="eth0 192.168.0.2 netmask 255.255.255.0 broadcast 192.168.0.255"
-eth0="dhcp"
+# Static IP example
+#eth0="eth0 192.168.0.2/24"
+
+# Dynamic IP example
+eth0="eth0 dhcp"
+
INTERFACES=(eth0)
# Routes to start at boot-up (in this order)
# Declare each route then list in ROUTES
# - prefix an entry in ROUTES with a ! to disable it
#
-gateway="default gw 192.168.0.1"
+gateway="default via 192.168.0.1"
ROUTES=(!gateway)
-
+
# Setting this to "yes" will skip network shutdown.
# This is required if your root device is on NFS.
NETWORK_PERSIST="no"
diff --git a/rc.sysinit b/rc.sysinit
index bf2f83e..08a0768 100755
--- a/rc.sysinit
+++ b/rc.sysinit
@@ -111,8 +111,8 @@ fi
run_hook sysinit_udevsettled
# bring up the loopback interface
-[[ -d /sys/class/net/lo ]] && \
- status "Bringing up loopback interface" /sbin/ifconfig lo 127.0.0.1 up
+[[ -d /sys/class/net/lo ]] &&
+ status "Bringing up loopback interface" /usr/sbin/ip link set up dev lo
# SoftRAID devices detection
if [[ "$USEMDADM" = yes && -x /sbin/mdadm ]]; then
@@ -351,12 +351,6 @@ if [[ $HOSTNAME ]]; then
status "Setting Hostname: $HOSTNAME" /bin/hostname "$HOSTNAME"
fi
-# Set the NIS domain name, if necessary
-[[ -f /etc/conf.d/nisdomainname ]] && . /etc/conf.d/nisdomainname
-if [[ $NISDOMAINNAME ]]; then
- status "Setting NIS Domain Name: $NISDOMAINNAME" /bin/nisdomainname "$NISDOMAINNAME"
-fi
-
status "Updating Module Dependencies" /sbin/depmod -A
# Flush old locale settings
--
1.7.4.1