Hey folks, I created a DomU, installed Linux, and then realized I''d only given it 1 NIC so brought it down to edit the cfg file to give it another NIC. Originally I just had : vif = [''''] And so I guess the defaults worked for the 1 NIC. So I changed it to : vif = [''mac=00:1e:68:8e:31:b8,bridge=xenbr0'',''mac=00:1e:68:8e:31:b9,bridge=xenbr1''] Where those MAC addresses are from the bridge in dom0, as seen here : My Dom0 has : eth0 Link encap:Ethernet HWaddr 00:1e:68:8e:31:b8 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:524414 errors:0 dropped:0 overruns:0 frame:0 TX packets:519320 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:450798894 (450.7 MB) TX bytes:362453554 (362.4 MB) Interrupt:18 Memory:dffe0000-e0000000 eth1 Link encap:Ethernet HWaddr 00:1e:68:8e:31:b9 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:126552 errors:0 dropped:395 overruns:0 frame:0 TX packets:188670 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:15672743 (15.6 MB) TX bytes:234429457 (234.4 MB) Interrupt:19 Memory:dffa0000-dffc0000 lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:65536 Metric:1 RX packets:91690 errors:0 dropped:0 overruns:0 frame:0 TX packets:91690 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:444750187 (444.7 MB) TX bytes:444750187 (444.7 MB) xenbr0 Link encap:Ethernet HWaddr 00:1e:68:8e:31:b8 inet addr:192.168.160.11 Bcast:192.168.160.255 Mask:255.255.255.0 inet6 addr: fe80::21e:68ff:fe8e:31b8/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:425590 errors:0 dropped:0 overruns:0 frame:0 TX packets:310648 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:321506246 (321.5 MB) TX bytes:346274373 (346.2 MB) xenbr1 Link encap:Ethernet HWaddr 00:1e:68:8e:31:b9 inet addr:10.246.159.41 Bcast:10.246.159.255 Mask:255.255.255.0 inet6 addr: fe80::21e:68ff:fe8e:31b9/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:117018 errors:0 dropped:40 overruns:0 frame:0 TX packets:46216 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:11644847 (11.6 MB) TX bytes:224274081 (224.2 MB) But when I try to bring this up I get : root@solexa1:/etc/xen# xl create /etc/xen/openfreezer.cfg Parsing config from /etc/xen/openfreezer.cfg xc: info: VIRTUAL MEMORY ARRANGEMENT: Loader: 0000000000100000->000000000017c328 TOTAL: 0000000000000000->000000017f800000 ENTRY ADDRESS: 0000000000100608 xc: info: PHYSICAL MEMORY ALLOCATION: 4KB PAGES: 0x0000000000000200 2MB PAGES: 0x00000000000003fb 1GB PAGES: 0x0000000000000004 libxl: error: libxl_dm.c:1212:device_model_spawn_outcome: domain 8 device model: spawn failed (rc=-3) libxl: error: libxl_exec.c:118:libxl_report_child_exitstatus: /etc/xen/scripts/vif-bridge add [504] exited with error status 1 libxl: error: libxl_exec.c:118:libxl_report_child_exitstatus: /etc/xen/scripts/vif-bridge add [527] exited with error status 1 libxl: error: libxl_create.c:1099:domcreate_attach_pci: unable to add nic devices libxl: error: libxl_dm.c:1245:libxl__destroy_device_model: Device Model already exited root@solexa1:/etc/xen# -- “Don''t eat anything you''ve ever seen advertised on TV” - Michael Pollan, author of "In Defense of Food"
p.s.everything right out of apt here : root@solexa1:/etc/xen# uname -a Linux solexa1 3.8.0-25-generic #37-Ubuntu SMP Thu Jun 6 20:47:07 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux root@solexa1:/etc/xen# lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 13.04 Release: 13.04 Codename: raring root@solexa1:/etc/xen# -- “Don''t eat anything you''ve ever seen advertised on TV” - Michael Pollan, author of "In Defense of Food"
On Thu, Jul 4, 2013 at 2:23 PM, Alan McKay <alan.mckay@gmail.com> wrote:> vif = [''mac=00:1e:68:8e:31:b8,bridge=xenbr0'',''mac=00:1e:68:8e:31:b9,bridge=xenbr1'']So I''m thinking that maybe I''m not supposed to specify the mac of the bridge itself so I used precisely the example from http://wiki.xen.org/wiki/Xen_Networking which is vif = [ ''mac=00:16:3e:70:01:01,bridge=xenbr0'', ''mac=00:16:3e:70:02:01,bridge=xenbr1'' ] Though I changed the bridge names to match mine. Still same failure. And also same with : vif = [''bridge=xenbr0'', ''bridge=xenbr1''] -- “Don''t eat anything you''ve ever seen advertised on TV” - Michael Pollan, author of "In Defense of Food"
Oh, should have included this too root@solexa1:/etc/xen# dpkg --list | grep -i xen ii libxen-4.2 4.2.1-0ubuntu3.3 amd64 Public libs for Xen ii libxenstore3.0 4.2.1-0ubuntu3.3 amd64 Xenstore communications library for Xen ii xen-hypervisor-4.2-amd64 4.2.1-0ubuntu3.3 amd64 Xen Hypervisor on AMD64 ii xen-utils-4.2 4.2.1-0ubuntu3.3 amd64 XEN administrative tools ii xen-utils-common 4.2.1-0ubuntu3.3 all Xen administrative tools - common files ii xenstore-utils 4.2.1-0ubuntu3.3 amd64 Xenstore utilities for Xen root@solexa1:/etc/xen# -- “Don''t eat anything you''ve ever seen advertised on TV” - Michael Pollan, author of "In Defense of Food"
Dammit - problem with my keyboard chair interface! I thought I had made no changes other than the vifs but it seems I also messed up my : boot="c" And once I corrected that I''m good Sorry :-( -- “Don''t eat anything you''ve ever seen advertised on TV” - Michael Pollan, author of "In Defense of Food"
07/04/2013 11:23 AM, Alan McKay wrote:> Hey folks, > > I created a DomU, installed Linux, and then realized I''d only given it > 1 NIC so brought it down to edit the cfg file to give it another NIC. > > Originally I just had : > > vif = [''''] > > And so I guess the defaults worked for the 1 NIC. So I changed it to : > > vif = [''mac=00:1e:68:8e:31:b8,bridge=xenbr0'',''mac=00:1e:68:8e:31:b9,bridge=xenbr1''] > > Where those MAC addresses are from the bridge in dom0, as seen here : > > My Dom0 has : > > eth0 Link encap:Ethernet HWaddr 00:1e:68:8e:31:b8 > UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 > RX packets:524414 errors:0 dropped:0 overruns:0 frame:0 > TX packets:519320 errors:0 dropped:0 overruns:0 carrier:0 > collisions:0 txqueuelen:1000 > RX bytes:450798894 (450.7 MB) TX bytes:362453554 (362.4 MB) > Interrupt:18 Memory:dffe0000-e0000000 > > eth1 Link encap:Ethernet HWaddr 00:1e:68:8e:31:b9 > UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 > RX packets:126552 errors:0 dropped:395 overruns:0 frame:0 > TX packets:188670 errors:0 dropped:0 overruns:0 carrier:0 > collisions:0 txqueuelen:1000 > RX bytes:15672743 (15.6 MB) TX bytes:234429457 (234.4 MB) > Interrupt:19 Memory:dffa0000-dffc0000Your virtual interfaces (vif) have been given the macs of actual interfaces and is causing a collision. The domU will always lose that battle. Change your vif line to use arbitrary macs in the Xen OUI space (00:16:e3). Doesn''t HAVE to be in that space but I think it''s a good habit. vif = [ ''mac=00:16:3e:xx:yy:zz,bridge=xenbr0'', ''mac=00:16:3e:aa:bb:cc,bridge=xenbr1'' ]
On Thu, 2013-07-04 at 14:38 -0400, Alan McKay wrote:> On Thu, Jul 4, 2013 at 2:23 PM, Alan McKay <alan.mckay@gmail.com> wrote: > > vif = [''mac=00:1e:68:8e:31:b8,bridge=xenbr0'',''mac=00:1e:68:8e:31:b9,bridge=xenbr1''] > > So I''m thinking that maybe I''m not supposed to specify the mac of the > bridge itselfThat''s right, these need to be MAC addresses for the virtual device itself, which must be unique on your network segment. You can either use address from an OUI which you control (unlikely in most cases), from the Xen OUI (00:16:3e:xx:xx:xx) or any address with the locally administered bit set. Most people just pick a random address from either of the last two. I wrote a CGI script to generate correctly formed randomized MAC addresses: http://www.hellion.org.uk/cgi-bin/randmac.pl Ian.