View | Details | Raw Unified | Return to bug 27931
Collapse All | Expand All

(-)file_not_specified_in_diff (-5 / +60 lines)
Line  Link Here
0
-- etc/dists/scripts/etcnet-add_ip.sh
0
++ etc/dists/scripts/etcnet-add_ip.sh
Lines 58-63 destroy_venet_config() Link Here
58
		error "Cannot destroy $dir" ${VZ_FS_NO_DISK_SPACE}
58
		error "Cannot destroy $dir" ${VZ_FS_NO_DISK_SPACE}
59
}
59
}
60
60
61
del_ipv6_conf()
62
{
63
	local dir="$1"; shift
64
65
	if [ -f "$dir/ipv6address" ]; then
66
		rm -f "$dir/ipv6address" ||
67
			error "Cannot remove $dir/ipv6address" ${VZ_FS_NO_DISK_SPACE}
68
	fi
69
70
	if [ -f "$dir/ipv6route" ]; then
71
		rm -f "$dir/ipv6route" ||
72
			error "Cannot remove $dir/ipv6route" ${VZ_FS_NO_DISK_SPACE}
73
	fi
74
75
	del_param ".tmp/$VENET_DEV/options" "CONFIG_IPV6=yes"
76
77
}
78
79
61
setup_network()
80
setup_network()
62
{
81
{
63
	# Purge old venet0 interface settings
82
	# Purge old venet0 interface settings
Lines 74-79 setup_network() Link Here
74
		echo '127.0.0.1	localhost.localdomain localhost' >"$HOSTFILE"
93
		echo '127.0.0.1	localhost.localdomain localhost' >"$HOSTFILE"
75
}
94
}
76
95
96
77
create_alias()
97
create_alias()
78
{
98
{
79
	local ip="$1"; shift
99
	local ip="$1"; shift
Lines 84-89 create_alias() Link Here
84
		error "Cannot create .tmp/$VENET_DEV/ipv4address" ${VZ_FS_NO_DISK_SPACE}
104
		error "Cannot create .tmp/$VENET_DEV/ipv4address" ${VZ_FS_NO_DISK_SPACE}
85
}
105
}
86
106
107
add_ip6() {
108
	local ip="$1"; shift
109
	local mask="$1"; shift
110
111
	[ "${IPV6}" != "yes" ] && return
112
113
	if ! grep -qw "$ip" ".tmp/$VENET_DEV/ipv6address" 2>/dev/null; then
114
		echo "2000::/3 dev $VENET_DEV" > ".tmp/$VENET_DEV/ipv6route" ||
115
			error "Cannot create .tmp/$VENET_DEV/ipv6route" ${VZ_FS_NO_DISK_SPACE}
116
117
		echo "$ip/$mask" >> ".tmp/$VENET_DEV/ipv6address" ||
118
			error "Cannot create .tmp/$VENET_DEV/ipv6address" ${VZ_FS_NO_DISK_SPACE}
119
120
		put_param ".tmp/$VENET_DEV/options" "CONFIG_IPV6" "yes"
121
	fi
122
}
123
124
87
backup_configs()
125
backup_configs()
88
{
126
{
89
	rm -rf .tmp && mkdir -p .tmp ||
127
	rm -rf .tmp && mkdir -p .tmp ||
Lines 125-132 add_ip() Link Here
125
		local i=0 ipm
163
		local i=0 ipm
126
		for ipm; do
164
		for ipm; do
127
			ip_conv $ipm
165
			ip_conv $ipm
128
			i="$(find_unused_alias "$(($i+1))")"
166
			if [ -z "$_IPV6ADDR" ]; then
129
			create_alias "$_IP" "$_MASK" "$i"
167
				i="$(find_unused_alias "$(($i+1))")"
168
				create_alias "$_IP" "$_MASK" "$i"
169
			else
170
				if [ "$IPDELALL" = "yes" ]; then
171
				     del_ipv6_conf "$VENET_DEV"
172
				fi
173
				add_ip6 "${_IP}" "${_MASK}"
174
			fi
130
		done
175
		done
131
176
132
		move_configs
177
		move_configs
133
-- etc/dists/scripts/etcnet-del_ip.sh
178
++ etc/dists/scripts/etcnet-del_ip.sh
Lines 59-66 del_ip() Link Here
59
	local ipm quoted
59
	local ipm quoted
60
	for ipm; do
60
	for ipm; do
61
		ip_conv $ipm
61
		ip_conv $ipm
62
62
		quoted="$(quote_sed_regexp "$_IP/$_MASK")"
63
		quoted="$(quote_sed_regexp "$_IP/$_MASK")"
63
		sed -i -e "/^$quoted/d" "$VENET_DEV/ipv4address"
64
		if [ -n "$_IPV6ADDR" ]; then
65
			sed -i -e "/^$quoted/d" "$VENET_DEV/ipv6address"
66
			if [ ! -s "$VENET_DEV/ipv6address" ]; then
67
				rm -f -- "$VENET_DEV/ipv6address"
68
				rm -f -- "$VENET_DEV/ipv6route"
69
				sed -i -e "/^CONFIG_IPV6/d" "$VENET_DEV/options"
70
			fi
71
		else
72
			sed -i -e "/^$quoted/d" "$VENET_DEV/ipv4address"
73
		fi
64
		ip addr del dev "$VENET_DEV" "$_IP/$_MASK"
74
		ip addr del dev "$VENET_DEV" "$_IP/$_MASK"
65
	done
75
	done
66
76

Return to bug 27931