1 | #!/bin/sh
|
---|
2 | # Begin $RC_BASE/init.d/network
|
---|
3 |
|
---|
4 | ### BEGIN INIT INFO
|
---|
5 | # Provides: $network
|
---|
6 | # Required-Start: $local_fs swap localnet
|
---|
7 | # Should-Start: $syslog
|
---|
8 | # Required-Stop: $local_fs swap localnet
|
---|
9 | # Should-Stop: $syslog
|
---|
10 | # Default-Start: 3 4 5
|
---|
11 | # Default-Stop: 0 1 2 6
|
---|
12 | # Short-Description: Starts and configures network interfaces.
|
---|
13 | # Description: Starts and configures network interfaces.
|
---|
14 | # X-LFS-Provided-By: LFS
|
---|
15 | ### END INIT INFO
|
---|
16 |
|
---|
17 | . /lib/lsb/init-functions
|
---|
18 |
|
---|
19 | case "${1}" in
|
---|
20 | start)
|
---|
21 | # Start all network interfaces
|
---|
22 | for dir in ${NETWORK_DEVICES}/ifconfig.*
|
---|
23 | do
|
---|
24 | interface=${dir##*/ifconfig.}
|
---|
25 | # skip if $dir is * (because nothing was found)
|
---|
26 | if [ "${interface}" = "*" ]; then
|
---|
27 | continue
|
---|
28 | fi
|
---|
29 | # Process individual configuration files
|
---|
30 | for file in "${dir}"/* ; do
|
---|
31 | ONBOOT=`grep "ONBOOT" "${file}" | sed 's@^ONBOOT=@@'`
|
---|
32 | case "${ONBOOT}" in
|
---|
33 | Y* | y* | 0)
|
---|
34 | /sbin/ifup -c "${file}" "${interface}"
|
---|
35 | ;;
|
---|
36 | esac
|
---|
37 | done
|
---|
38 | done
|
---|
39 | ;;
|
---|
40 |
|
---|
41 | stop)
|
---|
42 | # Reverse list
|
---|
43 | DIRS=""
|
---|
44 | for dir in /run/network/ifconfig.*
|
---|
45 | do
|
---|
46 | DIRS="${dir} ${DIRS}"
|
---|
47 | done
|
---|
48 |
|
---|
49 | # Stop all network interfaces
|
---|
50 | for dir in ${DIRS}; do
|
---|
51 | interface=${dir##*/ifconfig.}
|
---|
52 | # skip if $dir is * (because nothing was found)
|
---|
53 | if [ "${interface}" = "*" ]; then
|
---|
54 | continue
|
---|
55 | fi
|
---|
56 | # Process individual configuration files
|
---|
57 | for file in "${dir}"/* ; do
|
---|
58 | # No checking necessary if it is in /run/network
|
---|
59 | /sbin/ifdown -c "${file}" "${interface}"
|
---|
60 | done
|
---|
61 | link_status=`/sbin/ip link show "${interface}" | \
|
---|
62 | grep -o "state DOWN"`
|
---|
63 | if [ "${link_status}" != "state DOWN" ]; then
|
---|
64 | message="Shutting down the ${interface} interface..."
|
---|
65 | /sbin/ip addr flush "${interface}" &&
|
---|
66 | /sbin/ip link set "${interface}" down
|
---|
67 | evaluate_retval standard
|
---|
68 | fi
|
---|
69 | done
|
---|
70 | ;;
|
---|
71 |
|
---|
72 | restart)
|
---|
73 | ${0} stop
|
---|
74 | sleep 1
|
---|
75 | ${0} start
|
---|
76 | ;;
|
---|
77 |
|
---|
78 | *)
|
---|
79 | echo "Usage: ${0} {start|stop|restart}"
|
---|
80 | exit 1
|
---|
81 | ;;
|
---|
82 | esac
|
---|
83 |
|
---|
84 | # End $RC_BASE/init.d/network
|
---|