Bug 496557

Summary: Physical interface of Bridge has IPv6 addresses
Product: [Fedora] Fedora Reporter: Allen Kistler <ackistler>
Component: initscriptsAssignee: Bill Nottingham <notting>
Status: CLOSED DUPLICATE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: low    
Version: 11CC: iarlyy, notting, rvokal, tomek
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-06-19 20:03:50 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:
Attachments:
Description Flags
patch to ifup-eth that requires setting LINKDELAY
none
patch to ifup-eth that does NOT require setting LINKDELAY
none
patch to ifup-eth that does NOT require setting LINKDELAY none

Description Allen Kistler 2009-04-20 04:00:47 UTC
Created attachment 340283 [details]
patch to ifup-eth that requires setting LINKDELAY

Description of problem:
The physical interfaces on a Linux bridge should not have any IP address.  On an IPv6-enabled host, however, interfaces have at least a Link-Local address, which is undesirable, at the very least.

Version-Release number of selected component (if applicable):
initscripts-8.94-1.i586

How reproducible:
Always

Steps to Reproduce:
1. Configure eth1 to have no address and "BRIDGE=br0" (e.g.)
2. ifup eth1
3. ifconfig eth1 (or "ip addr show eth1", if you prefer)
  
Actual results:
eth1      Link encap:Ethernet  HWaddr 00:24:81:23:D2:71  
          inet6 addr: fe80::224:81ff:fe23:d271/64 Scope:Link
          UP BROADCAST RUNNING PROMISC MULTICAST  MTU:1500  Metric:1

Expected results:
eth1      Link encap:Ethernet  HWaddr 00:24:81:23:D2:71  
          UP BROADCAST RUNNING PROMISC MULTICAST  MTU:1500  Metric:1

Additional info:
/etc/sysconfig/network-scripts/ifup-eth essentially short-circuits most interface processing if the ifcfg file has a BRIDGE= line in it.  It attempts to clear any address, add the interface to the specified bridge group, then aborts any further processing on it.  To that extent, it does not disable IPv6 on the interface.

I've got two alternatives for patches.

One condition is that disabling IPv6 only appears to work after IPv6 has initialized on the interface to begin with.  That usually requires setting LINKDELAY in the ifcfg file as well.  In my testing, I found 3 to be the largest required delay across a couple different machines, however it varied from machine to machine.

Alternative #1 requires the admin to set LINKDELAY in the ifcfg file.

Alternative #2 does not require setting LINKDELAY.  I like it a little better for that reason, but it's also a little riskier, with a while loop that waits whatever time, short or long, for IPv6 to stabilize to be cleared.

Comment 1 Allen Kistler 2009-04-20 04:01:47 UTC
Created attachment 340284 [details]
patch to ifup-eth that does NOT require setting LINKDELAY

Comment 2 Allen Kistler 2009-04-20 04:50:38 UTC
Created attachment 340287 [details]
patch to ifup-eth that does NOT require setting LINKDELAY

edit an indentation
change sleep to /bin/sleep

Comment 3 Allen Kistler 2009-04-20 06:43:32 UTC
Comment on attachment 340287 [details]
patch to ifup-eth that does NOT require setting LINKDELAY

Ah, the acid test: rebooting.

Upon initially loading the ipv6 module, the existence the while loop tests for is there, but it's useless.  There's no getting away from using LINKDELAY.  Scratch the second alternative.  Folks just have to make sure they make LINKDELAY large enough.

Comment 4 iarly selbir 2009-06-01 23:35:48 UTC
Thanks for your report.

Assigning it


Fedora Bugzappers Team

Comment 5 Allen Kistler 2009-06-02 08:04:23 UTC
I've got a better patch that doesn't require LINKDELAY.
I'll polish it a bit and send it your way shortly.

Comment 6 Bug Zapper 2009-06-09 14:11:07 UTC
This bug appears to have been reported against 'rawhide' during the Fedora 11 development cycle.
Changing version to '11'.

More information and reason for this action is here:
http://fedoraproject.org/wiki/BugZappers/HouseKeeping

Comment 7 Allen Kistler 2009-06-19 20:03:50 UTC
I had some trouble reproducing the problem.  Then I noticed I was testing on a box where I had already applied the patch for Bug 496444.

Since applying that patch solves this problem, too, I'm closing this report.

If folks have put "IPV6INIT=yes" in /etc/sysconfig/network (wrongly, I think) instead of in the individual ifcfg files, they just have to make sure that they put "IPV6INIT=no" in ifcfg-br0 to override the "yes" in network.

*** This bug has been marked as a duplicate of bug 496444 ***