summaryrefslogtreecommitdiffstats
path: root/etc
diff options
context:
space:
mode:
authorbrooks <brooks@FreeBSD.org>2005-08-24 01:23:49 +0000
committerbrooks <brooks@FreeBSD.org>2005-08-24 01:23:49 +0000
commitec73ff7b51b481542cac8b413f8135224dd6d5cb (patch)
treeeb2bb5b286d6b68110242871bc1f6b4e9bf5fb4d /etc
parent09bbc99b5a768984ec43bc7dc4680a8a9f2311f9 (diff)
downloadFreeBSD-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.conf1
-rw-r--r--etc/network.subr29
-rwxr-xr-xetc/pccard_ether4
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
OpenPOWER on IntegriCloud