ia64/xen-unstable

view netbsd-2.0-xen-sparse/nbmake-xen @ 7446:18eb059ae471

New network-bridge script and associated gubbins.

This is Kurt Garloff's reworked network-bridge script:

* we got rid of ifconfig
* it works for netdev != eth0
* arp on and off are symmetric as are ifdown and ifup
* ifup will be passed the ifcfg config file name if needed
(the ifup may otherwise figure that the veth0 hardware is
NOT the same as the original ${netdev} and not use the same
config -- this happens on SUSE. Charles Coffing tracked this
one down.)

Plus Kurt's avoid-dash patch:

the network setup scripts on SUSE have trouble with the bridge
name xen-br0; they don't expect the '-'.
Arguably this should be fixed.
But I assume there's more scripts out there which may not like it,
so I suggest the following patch to rename xen-br0 to xenbr0.

Plus Charles Duffy's patch to support multiple bridges:

The attached patch allows the network-bridge script to be used to
generate multiple bridges corresponding to different physical
interfaces. It adds a new parameter, "vifnum", used to refer both to
the loopback interface to be used and to set defaults regarding the
physical interface and bridge name.

Thus, if one wishes to start xenbr0 on eth0 and xenbr1 on eth1, one
need only call:

network-bridge start ## vifnum is 0 by default
network-bridge start vifnum=1

...well, that and set loopback.nloopbacks=2 in the Dom0 kernel
parameters.

Plus renaming of virtnum to vifnum in Charles' patch, as requested by Ian Pratt.

Plus a fix to DevController to allocate vif IDs starting from 0 (i.e. vif2.0
is now domain 2's first vif, as opposed to vif2.1 in the recent past).

Plus tidying up inside network-bridge using some helper variables.

Signed-off-by: Ewan Mellor <ewan@xensource.com>
author emellor@leeni.uk.xensource.com
date Wed Oct 19 16:24:54 2005 +0100 (2005-10-19)
parents 0a4b76b6b5a0
children
line source
1 #! /bin/sh
2 # Set proper variables to allow easy "make" building of a NetBSD subtree.
3 # Generated from: $NetBSD: build.sh,v 1.126 2004/02/04 11:23:40 lukem Exp $
4 #
6 : ${HOS:=$(uname -s | tr /A-Z/ /a-z/)}
7 : ${HARCH:=$(uname -m 2>/dev/null || echo i386)}
8 : ${NETBSD_RELEASE:=$(basename $(cd $(dirname $0) && pwd) | sed 's/netbsd-\([0-9]\+\.[0-9]\+\).*/\1/')}
9 : ${NETBSD_VERSION:=$(basename $(cd $(dirname $0) && pwd) | sed 's/netbsd-\([0-9]\+\.[0-9]\+.*\)-xen.*/\1/')}
10 : ${TOPDIR:=$(cd $(dirname $0) && pwd | sed 's/\(netbsd-[0-9]\+\.[0-9]\+.*-xen[^/]*\)/\1/')}
12 case "$HARCH" in
13 i586|i686)
14 HARCH=i386
15 ;;
16 esac
18 NETBSDSRCDIR="$TOPDIR"; export NETBSDSRCDIR
19 DESTDIR="$TOPDIR/root"; export DESTDIR
20 unset MAKEOBJDIRPREFIX
21 MAKEOBJDIR='${.CURDIR:C,^'"$TOPDIR,$TOPDIR/obj,}"; export MAKEOBJDIR
22 RELEASEDIR="$TOPDIR/release"; export RELEASEDIR
23 MKUNPRIVED='yes'; export MKUNPRIVED
24 MAKEVERBOSE='1'; export MAKEVERBOSE
25 LC_ALL='C'; export LC_ALL
26 TOOLDIR="$TOPDIR/../netbsd-${NETBSD_RELEASE}-tools/$HOS-$HARCH"; export TOOLDIR
27 MACHINE='i386'; export MACHINE
28 MACHINE_ARCH='i386'; export MACHINE_ARCH
29 MAKEFLAGS="-de -m $TOPDIR/share/mk MKOBJDIRS=yes"; export MAKEFLAGS
30 BUILDID="${NETBSD_RELEASE}"; export BUILDID
31 USETOOLS=yes; export USETOOLS
33 exec "${TOOLDIR}/bin/nbmake" ${1+"$@"}