Bug 266721

Summary: Impossible to rename virbr0 to xenbr0
Product: [Fedora] Fedora Reporter: Thomas Schweikle <tschweikle>
Component: xenAssignee: Xen Maintainance List <xen-maint>
Status: CLOSED WONTFIX QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: urgent Docs Contact:
Priority: medium    
Version: 9CC: triage
Target Milestone: ---Keywords: Reopened
Target Release: ---   
Hardware: All   
OS: All   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2008-05-15 07:55:41 EDT Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---
Attachments:
Description Flags
Problem with network-bridge script none

Description Thomas Schweikle 2007-08-30 07:29:24 EDT
Since 
this 
input 
field 
ist 

12345678

eight 
characters 
wide, I 
refuse 
to give 
aditional 
information 
here 
until 
this is 
fixed! 
This is 
urgend. 
Really 
urgend!!
 
exteremly 
urgend!!!

Description 
of 
problem:
It is 
impossible 
to 
rename 
the not 
documented 
default 
virbr0 
to 
xenbr0

Version-
Release 
number 
of 
selected 
component
 (if 
applicable):


How 
reproducible:


Steps 
to 
Reproduce:
1.
2.
3.
  
Actual 
results:


Expected 
results:


Additional 
info:
Comment 1 Thomas Schweikle 2007-08-30 14:51:36 EDT
Since now I have a textfield readable (because of more than only 8 characters 
wide) ...

Description of problem:
It is impossible to rename "virbr0" to "xenbr0".

How reproducible:
Every time.

Steps to Reproduce:
1. Install Fedora 7
2. Install xen-modules
3. Setup some virtual machines
4. change network configuration:
   I want:
   Available devices:
   - eth0
   - eth0.2
   - eth1

   Bridges neccessary:
   - xenbr0 <- eth0
   - xenbr1 <- eth0.2
   - xenbr2 <- eth1
   - xenbr3

   Setup created:
   - /etc/xen/scripts/network-bridge vifnum=0 bridge=xenbr0 netdev=eth0
   - /etc/xen/scripts/network-bridge vifnum=1 bridge=xenbr1 netdev=eth1
   - /etc/xen/scripts/network-bridge vifnum=2 bridge=xenbr2 netdev=eth0.2
   - brctl addbr xenbr3
     ip link set xenbr3 up

Awaited result:
# ip addr1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast qlen 1000
    link/ether 00:02:b3:af:ca:04 brd ff:ff:ff:ff:ff:ff
    inet 192.168.16.76/16 brd 192.168.255.255 scope global eth0
    inet6 fe80::202:b3ff:feaf:ca04/64 scope link 
       valid_lft forever preferred_lft forever
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast qlen 1000
    link/ether 00:02:b3:af:c8:e2 brd ff:ff:ff:ff:ff:ff
    inet6 fe80::202:b3ff:feaf:c8e2/64 scope link 
       valid_lft forever preferred_lft forever
4: eth0.2@eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue 
    link/ether 00:02:b3:af:ca:04 brd ff:ff:ff:ff:ff:ff
    inet 172.16.122.3/24 brd 172.16.122.255 scope global eth0.2
    inet6 fe80::202:b3ff:feaf:ca04/64 scope link 
       valid_lft forever preferred_lft forever
5: xenbr0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue 
    link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff
    inet 192.168.122.1/24 brd 192.168.122.255 scope global xenbr0
    inet6 fe80::200:ff:fe00:0/64 scope link 
       valid_lft forever preferred_lft forever
6: xenbr1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue 
    link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff
    inet 192.168.123.1/24 brd 192.168.123.255 scope global xenbr1
    inet6 fe80::200:ff:fe00:0/64 scope link 
       valid_lft forever preferred_lft forever
5: xenbr2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue 
    link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff
    inet 192.168.124.1/24 brd 192.168.124.255 scope global xenbr2
    inet6 fe80::200:ff:fe00:0/64 scope link 
       valid_lft forever preferred_lft forever
6: xenbr3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue 
    link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff
    inet 192.168.125.1/24 brd 192.168.122.255 scope global xenbr3
    inet6 fe80::200:ff:fe00:0/64 scope link 
       valid_lft forever preferred_lft forever

with
# brctl show
bridge name     bridge id               STP enabled     interfaces
xenbr0          8000.000000000000       no  yes         peth0
xenbr1          8000.000000000000       no  yes         peth1
xenbr2          8000.000000000000       no  yes         peth0.2
xenbr3          8000.000000000000       no  yes


Results:
# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast qlen 1000
    link/ether 00:02:b3:af:ca:04 brd ff:ff:ff:ff:ff:ff
    inet 192.168.16.76/16 brd 192.168.255.255 scope global eth0
    inet6 fe80::202:b3ff:feaf:ca04/64 scope link 
       valid_lft forever preferred_lft forever
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast qlen 1000
    link/ether 00:02:b3:af:c8:e2 brd ff:ff:ff:ff:ff:ff
    inet6 fe80::202:b3ff:feaf:c8e2/64 scope link 
       valid_lft forever preferred_lft forever
4: eth0.2@eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue 
    link/ether 00:02:b3:af:ca:04 brd ff:ff:ff:ff:ff:ff
    inet 172.16.122.3/24 brd 172.16.122.255 scope global eth0.2
    inet6 fe80::202:b3ff:feaf:ca04/64 scope link 
       valid_lft forever preferred_lft forever
5: virbr0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue 
    link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff
    inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0
    inet6 fe80::200:ff:fe00:0/64 scope link 
       valid_lft forever preferred_lft forever

with
# brctl show
bridge name     bridge id               STP enabled     interfaces
virbr0          8000.000000000000       no

No xenbr0, xenbr1, xenbr2, xenbr3. Parameters given to /etc/xen/scripts/network-
bridge seem to be ignored, creating a "virbr0". The additional bridges are not 
created at all.


Additional info:
Using debian, gentoo, or even SUSE it *DOES* work the way described at various 
points in the internet. Using CentOS, Fedora, or Redhat ist does *NOT* work the 
way it is described. This is true for *YOUR OWN DOCUMENTATION*: you are 
refering at various points to "xenbr0", but your configuration ony creates 
"virbr0".

Additionally any change to "/etc/xen/xend-config.sxp" leads to a non working 
xen network setup. As far as I dug into it, this is because any change isn't 
respected in all scripts leading to a setup which binds the interfaces to 
nonexistant bridges if these are renamed:

(network-script 'network-bridge bridge=xenbr0') leads to a bridge created as 
"virbr0", then "peth0" is bound to "xenbr0" (which does not exist).

(network-script 'network-bridge bridge=xenbr1') leads to a bridge created as 
"virbr0", then "peth1" is bound to "xenbr1" (which does not exist).

Adding the network interface does not help out, since "virbr0" seems to be 
hardcoded somewhere.

In my opinion the book "Xen - Virtualizing with Linux" is correct in stating 
that it is somewhat not a good idea to use Fedora or CentOS if you want to set 
up a working xen environment ...
Comment 2 Thomas Schweikle 2007-08-30 15:35:05 EDT
Since now I have a textfield readable (because of more than only 8 characters 
wide) ...

Description of problem:
It is impossible to rename "virbr0" to "xenbr0".

How reproducible:
Every time.

Steps to Reproduce:
1. Install Fedora 7
2. Install xen-modules
3. Setup some virtual machines
4. change network configuration:
   I want:
   Available devices:
   - eth0
   - eth0.2
   - eth1

   Bridges neccessary:
   - xenbr0 <- eth0
   - xenbr1 <- eth0.2
   - xenbr2 <- eth1
   - xenbr3

   Setup created:
   - /etc/xen/scripts/network-bridge vifnum=0 bridge=xenbr0 netdev=eth0
   - /etc/xen/scripts/network-bridge vifnum=1 bridge=xenbr1 netdev=eth1
   - /etc/xen/scripts/network-bridge vifnum=2 bridge=xenbr2 netdev=eth0.2
   - brctl addbr xenbr3
     ip link set xenbr3 up

Awaited result:
# ip addr1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast qlen 1000
    link/ether 00:02:b3:af:ca:04 brd ff:ff:ff:ff:ff:ff
    inet 192.168.16.76/16 brd 192.168.255.255 scope global eth0
    inet6 fe80::202:b3ff:feaf:ca04/64 scope link 
       valid_lft forever preferred_lft forever
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast qlen 1000
    link/ether 00:02:b3:af:c8:e2 brd ff:ff:ff:ff:ff:ff
    inet6 fe80::202:b3ff:feaf:c8e2/64 scope link 
       valid_lft forever preferred_lft forever
4: eth0.2@eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue 
    link/ether 00:02:b3:af:ca:04 brd ff:ff:ff:ff:ff:ff
    inet 172.16.122.3/24 brd 172.16.122.255 scope global eth0.2
    inet6 fe80::202:b3ff:feaf:ca04/64 scope link 
       valid_lft forever preferred_lft forever
5: xenbr0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue 
    link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff
    inet 192.168.122.1/24 brd 192.168.122.255 scope global xenbr0
    inet6 fe80::200:ff:fe00:0/64 scope link 
       valid_lft forever preferred_lft forever
6: xenbr1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue 
    link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff
    inet 192.168.123.1/24 brd 192.168.123.255 scope global xenbr1
    inet6 fe80::200:ff:fe00:0/64 scope link 
       valid_lft forever preferred_lft forever
5: xenbr2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue 
    link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff
    inet 192.168.124.1/24 brd 192.168.124.255 scope global xenbr2
    inet6 fe80::200:ff:fe00:0/64 scope link 
       valid_lft forever preferred_lft forever
6: xenbr3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue 
    link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff
    inet 192.168.125.1/24 brd 192.168.122.255 scope global xenbr3
    inet6 fe80::200:ff:fe00:0/64 scope link 
       valid_lft forever preferred_lft forever

with
# brctl show
bridge name     bridge id               STP enabled     interfaces
xenbr0          8000.000000000000       no  yes         peth0
xenbr1          8000.000000000000       no  yes         peth1
xenbr2          8000.000000000000       no  yes         peth0.2
xenbr3          8000.000000000000       no  yes


Results:
# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast qlen 1000
    link/ether 00:02:b3:af:ca:04 brd ff:ff:ff:ff:ff:ff
    inet 192.168.16.76/16 brd 192.168.255.255 scope global eth0
    inet6 fe80::202:b3ff:feaf:ca04/64 scope link 
       valid_lft forever preferred_lft forever
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast qlen 1000
    link/ether 00:02:b3:af:c8:e2 brd ff:ff:ff:ff:ff:ff
    inet6 fe80::202:b3ff:feaf:c8e2/64 scope link 
       valid_lft forever preferred_lft forever
4: eth0.2@eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue 
    link/ether 00:02:b3:af:ca:04 brd ff:ff:ff:ff:ff:ff
    inet 172.16.122.3/24 brd 172.16.122.255 scope global eth0.2
    inet6 fe80::202:b3ff:feaf:ca04/64 scope link 
       valid_lft forever preferred_lft forever
5: virbr0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue 
    link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff
    inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0
    inet6 fe80::200:ff:fe00:0/64 scope link 
       valid_lft forever preferred_lft forever

with
# brctl show
bridge name     bridge id               STP enabled     interfaces
virbr0          8000.000000000000       no

No xenbr0, xenbr1, xenbr2, xenbr3. Parameters given to /etc/xen/scripts/network-
bridge seem to be ignored, creating a "virbr0". The additional bridges are not 
created at all.


Additional info:
Using debian, gentoo, or even SUSE it *DOES* work the way described at various 
points in the internet. Using CentOS, Fedora, or Redhat ist does *NOT* work the 
way it is described. This is true for *YOUR OWN DOCUMENTATION*: you are 
refering at various points to "xenbr0", but your configuration ony creates 
"virbr0".

Additionally any change to "/etc/xen/xend-config.sxp" leads to a non working 
xen network setup. As far as I dug into it, this is because any change isn't 
respected in all scripts leading to a setup which binds the interfaces to 
nonexistant bridges if these are renamed:

(network-script 'network-bridge bridge=xenbr0') leads to a bridge created as 
"virbr0", then "peth0" is bound to "xenbr0" (which does not exist).

(network-script 'network-bridge bridge=xenbr1') leads to a bridge created as 
"virbr0", then "peth1" is bound to "xenbr1" (which does not exist).

Adding the network interface does not help out, since "virbr0" seems to be 
hardcoded somewhere.

In my opinion the book "Xen - Virtualizing with Linux" is correct in stating 
that it is somewhat not a good idea to use Fedora or CentOS if you want to set 
up a working xen environment ...
Comment 3 Daniel Berrange 2007-08-30 15:44:45 EDT
virbr0 is nothing todo with XenD, or the network-bridge script. virbr0 is
created & managed by libvirt and you should not try to rename it.

For Xend's network-bridge script to create a xenbr0 or xenbr1, you need to have
 /etc/sysconfig/network-scripts/ifcfg-ethN  configured to start upon boot.
Comment 4 Thomas Schweikle 2007-08-31 04:26:18 EDT
OK. But:
- why isn't this documented?
- why is this bridge used by xen if it does not have anything to do with xen?
- why is libvirt a dependancy to xen?

btw I do have the neccessary interfaces up and running:
ifcfg-eth0:
  DEVICE=eth0
  BOOTPROTO=dhcp
  HWADDR=00:02:B3:AF:CA:04
  IPV6_AUTOCONF=yes
  ONBOOT=yes
  TYPE=Ethernet

ifcfg-eth0.2:
  DEVICE=eth0.2
  VLAN=yes
  ONBOOT=yes
  PEERDNS=yes
  USERCTL=no
  BOOTPROTO=none
  NOZEROCONF=yes
  IPADDR=172.16.122.3
  NETWORK=172.16.122.0
  NETMASK=255.255.255.0

ifcfg-eth1:
  TYPE=Ethernet
  DEVICE=eth1
  ONBOOT=yes
  PEERDNS=yes
  USERCTL=no
  BOOTPROTO=none
  NOZEROCONF=yes
  HWADDR=00:02:B3:AF:C8:E2

if your assumption had been correct, I should see "xenbr0", "xenbr1", and 
"xenbr2", but none of them is created. The only existing bridge is "virbr0".
- why are "xenbr0", "xenbr1", and "xenbr2" not created, but there is an 
existing "virbr0" xen is bound to?
Comment 5 Piotr Gackiewicz 2007-10-29 06:02:48 EDT
Created attachment 241451 [details]
Problem with network-bridge script

I have spotted a problem in network-bridge script.
Problems described above might be related to this problem.
In named script, renaming ${tdev} to final bridge name fails, because ${tdev}
interface is up.

Attached patch (for xen-3.1.0-6.fc7) corrects this bug.
cd /etc/xen/scripts && patch -p0 < network-bridge.patch
Comment 6 Bug Zapper 2008-05-14 10:10:01 EDT
This message is a reminder that Fedora 7 is nearing the end of life. Approximately 30 (thirty) days from now Fedora will stop maintaining and issuing updates for Fedora 7. It is Fedora's policy to close all bug reports from releases that are no longer maintained. At that time this bug will be closed as WONTFIX if it remains open with a Fedora 'version' of '7'.

Package Maintainer: If you wish for this bug to remain open because you plan to fix it in a currently maintained version, simply change the 'version' to a later Fedora version prior to Fedora 7's end of life.

Bug Reporter: Thank you for reporting this issue and we are sorry that we may not be able to fix it before Fedora 7 is end of life. If you would still like to see this bug fixed and are able to reproduce it against a later version of Fedora please change the 'version' of this bug. If you are unable to change the version, please add a comment here and someone will do it for you.

Although we aim to fix as many bugs as possible during every release's lifetime, sometimes those efforts are overtaken by events. Often a more recent Fedora release includes newer upstream software that fixes bugs or makes them obsolete. If possible, it is recommended that you try the newest available Fedora distribution to see if your bug still exists.

Please read the Release Notes for the newest Fedora distribution to make sure it will meet your needs:
http://docs.fedoraproject.org/release-notes/

The process we are following is described here: http://fedoraproject.org/wiki/BugZappers/HouseKeeping
Comment 7 Thomas Schweikle 2008-05-15 01:27:37 EDT
Exists for Fedora 8 and 9 too.
Comment 8 Daniel Berrange 2008-05-15 07:55:41 EDT
This is not a bug. virbr0 is the intended name for the libvirt default network.
xenbr0 is for Xen network bridge which is completely separate. Bugzilla is also
not a question & answer forum - use the mailing lists for that.