diff options
author | brooks <brooks@FreeBSD.org> | 2005-08-24 01:23:49 +0000 |
---|---|---|
committer | brooks <brooks@FreeBSD.org> | 2005-08-24 01:23:49 +0000 |
commit | ec73ff7b51b481542cac8b413f8135224dd6d5cb (patch) | |
tree | eb2bb5b286d6b68110242871bc1f6b4e9bf5fb4d /etc | |
parent | 09bbc99b5a768984ec43bc7dc4680a8a9f2311f9 (diff) | |
download | FreeBSD-src-ec73ff7b51b481542cac8b413f8135224dd6d5cb.zip FreeBSD-src-ec73ff7b51b481542cac8b413f8135224dd6d5cb.tar.gz |
- Remove the removable_interfaces variable. /etc/pccard_ether will
now run on any interface.
- Add a new ifconfig_<ifn> keyword, NOAUTO which prevents configuration
of an interface at boot or via /etc/pccard_ether. This allows
/etc/rc.d/netif to be used to start and stop an interface on a purely
manual basis. The decision to affect pccard_ether may be revisited at
a later date.
Requested by: imp, gallatin (removable_interfaces)
Discussed with: sam, Randy Bush (NOAUTO)
Diffstat (limited to 'etc')
-rw-r--r-- | etc/defaults/rc.conf | 1 | ||||
-rw-r--r-- | etc/network.subr | 29 | ||||
-rwxr-xr-x | etc/pccard_ether | 4 |
3 files changed, 29 insertions, 5 deletions
diff --git a/etc/defaults/rc.conf b/etc/defaults/rc.conf index e56ac85..b6e2318 100644 --- a/etc/defaults/rc.conf +++ b/etc/defaults/rc.conf @@ -40,7 +40,6 @@ pccardd_flags="-z" # Additional flags for pccardd. pccard_conf="/etc/defaults/pccard.conf" # pccardd(8) config file powerd_enable="NO" # Run powerd to lower our power usage. powerd_flags="" # Flags to powerd (if enabled). -removable_interfaces="" # Removable network interfaces for /etc/pccard_ether. removable_route_flush="YES" # Flush routes when removing an interface tmpmfs="AUTO" # Set to YES to always create an mfs /tmp, NO to never tmpsize="20m" # Size of mfs /tmp if created diff --git a/etc/network.subr b/etc/network.subr index b54cdbb..ed190bc 100644 --- a/etc/network.subr +++ b/etc/network.subr @@ -135,6 +135,8 @@ ifconfig_getargs() case $_arg in [Dd][Hh][Cc][Pp]) ;; + [Nn][Oo][Aa][Uu][Tt][Oo]) + ;; [Ww][Pp][Aa]) ;; *) @@ -146,6 +148,22 @@ ifconfig_getargs() echo $_args } +# autoif +# Returns 0 if the interface should be automaticly configured at +# boot time and 1 otherwise. +autoif() +{ + _tmpargs=`_ifconfig_getargs $1` + for _arg in $_tmpargs; do + case $_arg in + [Nn][Oo][Aa][Uu][Tt][Oo]) + return 1 + ;; + esac + done + return 0 +} + # dhcpif if # Returns 0 if the interface is a DHCP interface and 1 otherwise. dhcpif() @@ -386,10 +404,17 @@ list_net_interfaces() # case ${network_interfaces} in [Aa][Uu][Tt][Oo]) - _tmplist="`ifconfig -l`" + _prefix='' + _autolist="`ifconfig -l`" + for _if in ${_autolist} ; do + if autoif $_if; then + _tmplist="${_tmplist}${_prefix}${_if}" + [ -z "$_prefix" ] && _prefix=' ' + fi + done ;; *) - _tmplist="${network_interfaces} ${removable_interfaces} ${cloned_interfaces}" + _tmplist="${network_interfaces} ${cloned_interfaces}" ;; esac diff --git a/etc/pccard_ether b/etc/pccard_ether index d752055..04c6f76 100755 --- a/etc/pccard_ether +++ b/etc/pccard_ether @@ -61,8 +61,8 @@ shift load_rc_config pccard_ether -# Ignore interfaces not in removable_interfaces -expr "${removable_interfaces}" : ".*${ifn}" > /dev/null || exit 0 +# Ignore interfaces with the NOAUTO keyword +autoif $ifn || exit 0 if [ -n "$1" ]; then usage |