blob: ca927b6364ba273d2a3b3c5abd6f1263e304ac74 [file] [log] [blame] [raw]
#!/bin/bash
# Copyright (C) 2000-2008, Parallels, Inc. All rights reserved.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
#
VZCONF=@PKGCONFDIR@/vz.conf
test -f ${VZCONF} || exit 1
test -f @SCRIPTDIR@/vps-functions || exit 1
test -f /etc/init.d/functions && . /etc/init.d/functions
# configure VZNET
modvenet="vznetdev vznet"
## SuSE distro
if [ -f /etc/sysconfig/network/scripts/functions ]; then
vznet=$1
else
CONFIG=${1}
if ! . "$CONFIG"; then
echo "can't source interface config $CONFIG" >&2
exit 1
fi
vznet=$DEVICE
fi
. @SCRIPTDIR@/vps-functions
. ${VZCONF}
veinfo="/proc/vz/veinfo"
# configure interface
for mod in ${modvenet}; do
modprobe ${mod} 2>/dev/null
done
if [ ! -r $veinfo ]; then
echo "can't find venet kernel module" >&2
exit 1
fi
ip link set $vznet up
echo "Bringing up interface $vznet: "
ip addr add 0.0.0.0/0 dev $vznet
echo "Configuring interface $vznet: "
sysctl -w net.ipv4.conf.$vznet.send_redirects=0
if [ "${IPV6}" = "yes" ]; then
echo "Configuring ipv6 $vznet: "
# Fix me: ip addres should be generated
ip -6 addr add fe80::1/128 dev $vznet
fi
if [ -r $veinfo ]; then
vzgetnetdev
for veip in `awk '($1 > 0) { for(i=4;i<=NF;i++) { print $i; } }' < $veinfo`; do
vzarp add $veip
vzaddrouting $veip
done
fi