Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.
For bugs related to Red Hat Enterprise Linux 5 product line. The current stable release is 5.10. For Red Hat Enterprise Linux 6 and above, please visit Red Hat JIRA https://issues.redhat.com/secure/CreateIssue!default.jspa?pid=12332745 to report new issues.

Bug 337651

Summary: network-bridge do not work with vlan interfaces
Product: Red Hat Enterprise Linux 5 Reporter: Alain RICHARD <alain.richard>
Component: xenAssignee: Daniel Berrangé <berrange>
Status: CLOSED ERRATA QA Contact: Yulia Kopkova <ykopkova>
Severity: medium Docs Contact:
Priority: medium    
Version: 5.0CC: jplans, kajtzu, sputhenp, tao, tis, xen-maint, ykopkova
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2009-01-20 21:13:39 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Alain RICHARD 2007-10-18 10:06:39 UTC
Description of problem:

The network-bridge do not support vlan interfaces. Our setup needs that the main
interface is a vlan one (eth3.1), so we have to invoke the network-bridge script
with something like :

/etc/xen/scripts/network-bridge start vifnum=0 netdev=eth3.1 bridge=vlan1

the problem is that the network-bridge scripts fails to do its job because it
issue a ifdown eth3.1 that removes the vlan 1 on interface eth3. The scripts
already make sure that the interface is not a bonding as a special case, but
must also treat a vlan interface as a special case.

A simple fix :

--- network-bridge      2007-10-18 10:13:26.000000000 +0200
+++ network-bridge.new  2007-10-18 10:13:38.000000000 +0200
@@ -78,6 +78,10 @@
     [ -f "/sys/class/net/$1/bonding/slaves" ]
 }
 
+is_vlan() {
+    [ -f "/proc/net/vlan/$1" ]
+}
+
 is_ifup() {
     ip link show dev $1 | awk '{ exit $3 !~ /[<,]UP[,>]/ }'
 }
@@ -214,7 +218,7 @@
        mac=`ip link show ${netdev} | grep 'link\/ether' | sed -e 's/.*ether
\(..:..:..:..:..:..\).*/\1/'`
        preiftransfer ${netdev}
        transfer_addrs ${netdev} ${vdev}
-       if is_bonding ${netdev} || ! ifdown ${netdev}; then
+       if is_bonding ${netdev} || is_vlan ${netdev} || ! ifdown ${netdev}; then
            # Remember the IP details if necessary.
            get_ip_info ${netdev}
            ip link set ${netdev} down

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

xen-3.0.3-25.0.4.el5

Comment 1 RHEL Program Management 2008-06-02 20:30:21 UTC
This request was evaluated by Red Hat Product Management for inclusion in a Red
Hat Enterprise Linux maintenance release.  Product Management has requested
further review of this request by Red Hat Engineering, for potential
inclusion in a Red Hat Enterprise Linux Update release for currently deployed
products.  This request is not yet committed for inclusion in an Update
release.

Comment 3 Daniel Berrangé 2008-09-09 09:48:49 UTC
Built into xen-3.0.3-72.el5

Comment 8 errata-xmlrpc 2009-01-20 21:13:39 UTC
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on therefore solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.

http://rhn.redhat.com/errata/RHBA-2009-0118.html