[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-users] an attempt to explain xen networking
Hi Patrick, The explanation was much needed I guess for new people. The diagrams are cool. I personally would have some questions a) Why is the ARP turned off on the real ethernet b) earlier scripts(2.0.6) did not seem to create a virtual veth0, and copy the mac address and IP from eth0 to veth0.. however they did work too. Was there an apparent issue there ? c) Just in case with two nics, I dont think the network-bridge script is adequate. Note: The natting part (I mean network-nat and vif-nat scripts do not work on debian), but a similar diagram would help :) cheers On 2/1/06, Patrick Wolfe <pwolfe@xxxxxxxxxxxxxx> wrote: > There is a lot of confusion understanding Xen networking. I've attached > two diagrams that may help explain it better for some Xen beginners. I > think I would have benefited from this information when I was just > getting started. > > The first diagram shows basic xen networking when you use network-bridge > and vif-bridge scripts. The second diagram shows xen networking when > using network-route and vif-route. For beginners, I recommand starting > with bridge. I won't even try to explain the -nat scripts here. > > I hope someone finds this information useful. Feel free to send me any > constructive comments, corrections or improvements. > > > ------------------------------ > > When using network-bridge/vif-bridge: > > when xend starts up, it runs the network-bridge script, which: > - creates a new bridge named "xenbr0" > - "real" ethernet interface eth0 is brought down > - the IP and MAC addresses of eth0 are copied to > virtual network interface veth0 > - real interface eth0 is renamed "peth0" > - virtual interface veth0 is renamed "eth0" > - peth0 and vif0.0 are attached to bridge xenbr0 > - the bridge, peth0, eth0 and vif0.0 are brought up > > when a domU starts up, xend (running in dom0) runs the vif-bridge > script, which: > - attaches vif<id#>.0 to xenbr0 > - vif<id#>.0 is brought up > > > ------------------------------ > > when using network-route/vif-route: > > when xend starts up, it runs network-route which: > - enabled ip forwarding within dom0 > > when domU starts up, xend runs (within dom0) vif-route which: > - copies the ip address from eth0 to vif<id#>.0 > - brings up vif<id#>.0 > - adds host static route for domU's ip address specified in > domU.sxp config file, pointing at interface vif<id#>.0 > > > ------------------------------ > > xen creates, by default, seven pair of "connected virtual ethernet > interfaces" for use by dom0. Think of them as two ethernet interfaces > connected by an internal crossover ethernet cable. veth0 is connected > to vif0.0, veth1 is connected to vif0.1, etc, up to veth7 -> vif0.7. > You can use them by configuring IP and MAC addresses on the veth# end, > then attaching the vif0.# end to a bridge. > > Every time you create a running domU instance, it is assigned a new > domain id number. You don't get to pick the number, sorry. The first > domU will be id #1. The second one started will be #2, even if #1 isn't > running anymore. > > For each new domu, xen creates new "connected virtual ethernet > interfaces", with one end of each pair is within the domU and the other > end exists within dom0. For linux domU's, the device name it sees is > named "eth0". The other end of that virtual ethernet interface pair > exists within dom0 as interface "vif<id#>.0". For example, domU #5's > eth0 is attached to vif5.0. If you create multiple network interfaces > for a domU, it's ends will be eth0, eth1, etc, whereas the dom0 end will > be vif<id#>.0, vif<id#>.1, etc. > > When a domU is shutdown, the virtual ethernet interfaces for it are > deleted. > > > ------------------------------ > > Additional Notes: > > - you can change the bridge name from xenbr0 using: > (network-script 'network-bridge bridge=mybridge') > in xend-config.sxp and rebooting or restarting xend > - remember to configure the bridge to attach to in the > domU's config file (domu.sxp) using: > set vif=[ 'bridge=mybridge' ] > or perhaps something like: > set vif=[ 'mac=00:16:3e:01:01:01,bridge=mybridge' ] > > - you can create multiple network interfaces, and attach them > to different bridges using: > set vif=[ 'mac=00:16:3e:70:01:01,bridge=br0', > 'mac=00:16:3e:70:02:01,bridge=br1' ] > > - if you want to use multiple bridges, you must create them > yourself, either manually, or via your own startup script, > or via a custom script to replace network-bridge. For example: > $ cd /etc/xen/scripts > $ cp network-bridge network-custom > $ cp vif-bridge vif-custom > $ vi /etc/xen/xend-config.sxp > (network-script network-custom) > (vif-script vif-custom) > $ vi network-custom > # whatever you want > > - before you connect a physical interface to a bridge, > remember to reset it's mac and turn arp off. For example: > > # ip link set eth1 down > # ip link set eth1 mac fe:ff:ff:ff:ff:ff arp off > # brctl addif br1 eth1 > # ip link set eth1 up > > > ------------------------------ > > Good Luck! > > > -- > > Patrick Wolfe > > email: pwolfe@xxxxxxxxxxxxxx > > > > -----BEGIN PGP SIGNATURE----- > Version: GnuPG v1.4.1 (GNU/Linux) > > iD8DBQBD4MxOIibbc6631koRAm/jAJ95QIPoPTopXljYtgzzZwoU8pKVUwCfSqAK > g9Rafz/AsSVH9OjMFBs0Le8= > =aSkb > -----END PGP SIGNATURE----- > > > _______________________________________________ > Xen-users mailing list > Xen-users@xxxxxxxxxxxxxxxxxxx > http://lists.xensource.com/xen-users > > > _______________________________________________ Xen-users mailing list Xen-users@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-users
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |