On Tue, 2006-02-21 at 08:26 +1300, Nicholas Lee wrote:
> On 21/02/06, Patrick Wolfe <pwolfe@xxxxxxxxxxxxxx> wrote:
> > external network and the xenbr0 bridge. It does not have any IP address
> > associated with it, so there is no reason for it to support ARP.
>
> Right, but if ARP is enabled will it wont cause problems?
If ARP is enabled on a physical ethernet interface that is setup with
the mac address FE:FF:FF:FF:FF:FF, I doubt any problem will occur, but
why risk it?
> Thing is a virtual ethernet device is only created for eth0 by xend.
> AFAICT with the default scripts if you setup a second bridge network
> with either a real physical or a dummy interface a second virtual
> veth/vif is not created.
There are two sets of virtual ethernet interface pair that Xen creates.
The first set are for use by dom0. That's the eight connected pairs
from veth0<->vif0.0, veth1<->vif0.1 through veth7<->vif0.7.
That's all that exists when you first boot up dom0. When you create a
new domU, a new virtual ethernet interface pair is created out of thin
air. One end is the ethernet interface of the domU (eth0 for linux, xn0
for bsd), the other end is the vif#.0 in dom0. The "#" character is
actually the virtual machine number.
If you want to create a second bridge, attach a physical interface to
it, and attach a domU to that bridge, without dom0 having an interface
with it, you will need to write some script somewhere that will create
the bridge and set it up, setup the physical interface and attach it to
the bridge, and then you can "xm create" the domU, passing the second
bridge's name in the vif statement. For example:
#
# xen virtual machine configuration file
#
name = "fire1"
memory = 64
kernel = "/boot/vmlinuz-2.6.12.6-xen"
ramdisk = "/boot/initrd.img-2.6.12.6-xen"
root = "/dev/sda1"
disk=[ 'phy:/dev/vg0/fire1root,sda1,w',
'phy:/dev/vg0/fire1swap,sda2,w' ]
vif=[ 'mac=00:16:3E:70:01:01,bridge=br0eth0',
'mac=00:16:3E:70:02:01,bridge=br1dmz' ]
This is the fire1.sxp config file I use on my desktop. It specifies
that the fire1 system connects to two different bridges - br0eth0 which
happens to be connected to the physical interface eth0, and br1dmz,
which is where all the rest of my domU's connect their eth0 interface.
You don't have to connect dom0 to the second bridge. You don't have to
rename the physical interface as "peth1" either. I think the only
reason they did that renaming thing, is that some scripts and people
would get confused if their dom0's ethernet interface was named
different than the default interface of each of their domUs.
> Main reason I'm trying to figure this out is on my problem host, I'm
> struggling with what seems to be a problem with bridging and working
> correct. (See and early email.) Pings work, tcp (ssh) doesn't. eth0
> bridge works locally, eth1 bridge doesn't work locally. Only remotely.
That sounds like the well known issue with checksum offloading not
working in the xen virtual ethernet drivers. I had the same problem, at
first. You just need to run:
ethtool -K eth0 tx off
on every one of your interfaces in every domU and dom0 whenever they are
brought up.
If you're using debian, just add:
pre-up ethtool -K eth0 tx off
to every domU's /etc/network/interfaces file, right after the "iface
eth0 inet dhcp" line. If you're using some other distro, like redhat or
suse, well, I'm not intimately familiar with how they set their network
interfaces up to know where to add that command.
--
Patrick Wolfe
email: pwolfe@xxxxxxxxxxxxxx
signature.asc
Description: This is a digitally signed message part
_______________________________________________
Xen-users mailing list
Xen-users@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-users
|