Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
View | Details | Raw Unified | Return to bug 184430
Collapse All | Expand All

(-)/root/PATCH/lib/rcscripts/net/ifconfig.sh (-2 / +26 lines)
Lines 63-69 Link Here
63
		set -- "$@" metric ${metric}
63
		set -- "$@" metric ${metric}
64
	fi
64
	fi
65
65
66
	ifconfig "${IFACE}" add "$@"
66
	if [ "$(echo "$@" | grep -q ":" ; echo "$?")" = "0" ] ; then
67
		ifconfig "${IFACE}" inet6 add "$@"
68
	else
69
		ifconfig "${IFACE}" add "$@"
70
	fi
67
}
71
}
68
72
69
_add_route() {
73
_add_route() {
Lines 75-81 Link Here
75
		fi
79
		fi
76
	fi
80
	fi
77
81
78
	route add "$@"
82
	if [ "$(echo "$@" | grep -q ":" ; echo "$?")" = "0" ] ; then
83
		route add -inet6 "$@"
84
	else
85
		route add "$@"
86
	fi
87
}
88
89
_del_route() {
90
	if [ $# -gt 3 ] ; then
91
		if [ "$3" = "gw" -o "$3" = "via" ] ; then
92
			local one=$1 two=$2
93
			shift ; shift; shift
94
			set -- "${one}" "${two}" "$@"
95
		fi
96
	fi
97
98
	if [ "$(echo "$@" | grep -q ":" ; echo "$?")" = "0" ] ; then
99
		route delete -inet6 "$@"
100
	else
101
		route delete "$@"
102
	fi
79
}
103
}
80
104
81
_delete_addresses() {
105
_delete_addresses() {
(-)/root/PATCH/etc/init.d/net.lo0 (+36 lines)
Lines 563-568 Link Here
563
		fi
563
		fi
564
	done
564
	done
565
565
566
	# Remove routes(ifconfig already does this for inet4 but not for inet6 routes)
567
	local hidefirstroute=false first=true routes=
568
	eval "$(_get_array "routes_${IFVAR}")"
569
	if [ "${IFACE}" = "lo" -o "${IFACE}" = "lo0" ] ; then
570
		set -- "127.0.0.0/8 via 127.0.0.1" "$@"
571
		hidefirstroute=true
572
	fi
573
	for cmd in "$@" ; do
574
		if ${first} ; then
575
			first=false
576
			einfo "Removing routes"
577
		fi
578
		eindent
579
		ebegin "${cmd}"
580
		# Work out if we're a host or a net if not told
581
		case "${cmd}" in
582
			*" -net "*|*" -host "*) ;;
583
			*" netmask "*) cmd="-net ${cmd}" ;;
584
			*)
585
				case "${cmd%% *}" in
586
					*.*.*.*/32) cmd="-host ${cmd}" ;;
587
					*.*.*.*/*|0.0.0.0|default) cmd="-net ${cmd}" ;;
588
					*) cmd="-host ${cmd}" ;;
589
				esac
590
				;;
591
		esac
592
		if ${hidefirstroute} ; then
593
			_del_route ${cmd} >/dev/null 2>/dev/null
594
			hidefirstroute=false
595
		else
596
			_del_route ${cmd} >/dev/null
597
		fi
598
		eend $?
599
		eoutdent
600
	done
601
	
566
	# Only delete addresses for non PPP interfaces
602
	# Only delete addresses for non PPP interfaces
567
	if ! type is_ppp >/dev/null 2>/dev/null || ! is_ppp ; then
603
	if ! type is_ppp >/dev/null 2>/dev/null || ! is_ppp ; then
568
		_delete_addresses "${IFACE}"
604
		_delete_addresses "${IFACE}"

Return to bug 184430