#!/bin/sh
#  Copyright (C) 2012, 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
#
#
# Set up a new network device using the iproute2 package.
# Useful for running in non-OpenVZ kernels.
#
# Parameters are passed in environment variables.
# Required parameters:
#   VEID	- container ID
#   HNAME       - desired device name as seen by the host
#   VNAME       - desired device name as seen by the container
#
# If NNAME == VNAME, a network interface is moved to inside CT.
# Otherwise, a pair of veth devices (HNAME and VNAME) is created
# in container, and then the HNAME is moved to host namespace.
#
# Optional parameters (for HNAME != VNAME case):
#   HMAC        - host devices's MAC address
#   VMAC        - container device's MAC address
#   BRIDGE      - a bridge name to add HNAME to

. /etc/vz/vz.conf
. /usr/libexec/vzctl/scripts/vps-functions

vzcheckvar VEID
vzcheckvar VNAME
vzcheckvar HNAME

if [ "x$HNAME" = "x$VNAME" ]; then
	vzmoveif
else
	vzcreatepair
	vzadjustmacs
	vzconfbridge
fi

exit 0
