File sysconfig-handle-dummy-ifaces.bnc436857.diff of Package sysconfig
--- scripts/functions
+++ scripts/functions 2009/03/05 11:11:49
@@ -102,6 +102,7 @@ is_iface_available () {
ippp*|isdn*|modem*|dsl*|ppp*) return 0 ;;
ipip*|sit*|gre*|tun*|tap*) return 0 ;;
ib*.*|vlan*) return 0 ;;
+ dummy*) return 0 ;;
esac
test "${SCRIPTNAME%%-*}" = ifdown -a \
"$MODE" = hotplug && return 0
@@ -128,7 +129,7 @@ get_ethtool_drv_info () {
[ -x /usr${ethtool} ] && ethtool="/usr${ethtool}" || return 1
fi
local key val
- $ethtool -i "$IF" 2>/dev/null |
+ $ethtool -i "$1" 2>/dev/null |
while read key val ; do
case "$key" in
driver:) printf 'ETHTOOL_DRV_NAME=%q\n' "$val" ;;
@@ -151,11 +152,16 @@ get_iface_type () {
test -f /proc/net/vlan/$IF && TYPE=vlan
test -d /sys/class/net/$IF/bonding && TYPE=bond
test -d /sys/devices/virtual/net/$IF && {
- eval local x `get_ethtool_drv_info $IF`
- test "$ETHTOOL_DRV_NAME" == "tun" && \
- TYPE="$ETHTOOL_DRV_BUS_INFO" || \
- case $IF in tap*) TYPE=tap ;; esac
- # may be another virtual eth iface
+ eval local ETHTOOL_DRV_NAME="" \
+ ETHTOOL_DRV_BUS_INFO="" \
+ `get_ethtool_drv_info $IF`
+ test "$ETHTOOL_DRV_NAME" = "tun" && \
+ TYPE="${ETHTOOL_DRV_BUS_INFO:-$TYPE}" || \
+ case $IF in
+ (tap*) TYPE=tap ;;
+ (dummy*) TYPE=dummy ;;
+ esac
+ # may be another virtual eth iface ...
}
;;
24) TYPE=eth ;; # firewire ;; # IEEE 1394 IPv4 - RFC 2734
@@ -231,6 +237,7 @@ get_iface_type_from_config () {
if [ -z "$TYPE" ] ; then
case $IF in
lo) TYPE=lo;;
+ dummy*) TYPE=dummy;;
ib*) TYPE=ib;;
ip6tnl*) TYPE=ip6tnl;;
mip6mnha*) TYPE=mip6mnha;;
@@ -260,7 +267,7 @@ supported_on_localfs() {
local result=1 # remote-fs requirement as default
case $IFTYPE in
"") result=2 ;;
- lo) result=0 ;;
+ lo|dummy) result=0 ;;
eth|tr) result=0 ;;
ib|ibchild) result=0 ;;
vlan|bridge|bond) result=0 ;;
--- scripts/network
+++ scripts/network 2009/03/05 11:04:19
@@ -424,6 +424,9 @@ while IFS=- read a b; do
TUNNEL_IFACES="$TUNNEL_IFACES $b"
add_to_wordlist VIRTUAL_IFACES $b
;;
+ dummy)
+ add_to_wordlist VIRTUAL_IFACES $b
+ ;;
*)
add_to_wordlist VIRTUAL_IFACES $b