Bug 125985

Summary: must reboot to change existing 802.1q interface
Product: Red Hat Enterprise Linux 3 Reporter: Ted Kaczmarek <tkaczmar>
Component: kernelAssignee: John W. Linville <linville>
Status: CLOSED NOTABUG QA Contact:
Severity: medium Docs Contact:
Priority: medium    
Version: 3.0CC: petrides, riel
Target Milestone: ---   
Target Release: ---   
Hardware: i686   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2004-08-24 15:37:43 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 Ted Kaczmarek 2004-06-14 20:14:34 UTC
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.6)
Gecko/20040510 Epiphany/1.2.4

Description of problem:
Trying to change tag on existing 802.1q interface fails.


Version-Release number of selected component (if applicable):
kernel-smp-2.4.21-15.EL vconfig-1.6-2

How reproducible:
Always

Steps to Reproduce:
1.configure eth0 with no ip, eth0.16-67.43.47.20/28,
eth0.215-192.168.225.229, eth0.1819- 208.190.19.22, eth1 with no ip,
eth1.15-67.43.47.4 , eth1.500-198.191.57.9/28, and
eth1.502-198.191.57.25/28
2.route add dev 224.0.0.0/4 dev eth1.500, route add dev 224.0.0.0/4
dev eth1.501
3. Migrate eth1.500 to eth1.501 and eth1.501 to eth1.502, update
multicast routes accordingly.
    

Actual Results:  eth1.500 and eth1.501 come up with duplicate ip
addresses, eth1.500 should not even have existed anymore.

Expected Results:  IP addresses get updated properly

Additional info:

Tried bringing machine down to init 1, service network stop, rmmod
802.1q and then init 3. The duplicate eth1.500 and eth1.501 interfaces
still existed. Rebooting the machine with identical configs did work,
the eth1.500 was not created on boot.

Comment 1 John W. Linville 2004-08-24 15:11:16 UTC
What procedure did you use to "migrate eth1.500 to eth1.501"?  I'm
guessing it was something like this:

   cd /etc/sysconfig/network-scripts
   mv ifcfg-eth1.500 ifcfg-eth1.501
   <edit ifcfg-eth1.501 to correct reference to eth1.500>
   service network restart

The above is pretty much what I did to recreate the issue you've
reported.  The deal is that the procedure is flawed.  The ifdown
script that needs to use vconfig to remove the old vlan interface
depends on the corresponding ifcfg-* scripts to still have correct
info for the "old" interface.  Since (in the procedure above)
ifcfg-eth1.500 no longer exists, there is no way for ifdown to run the
required "vconfig rem eth1.500".

I suggest this alternative procedure:

   service network stop
   cd /etc/sysconfig/network-scripts
   mv ifcfg-eth1.500 ifcfg-eth1.501
   <edit ifcfg-eth1.501 to correct reference to eth1.500>
   service network start

This should produce the desired results.  Don't feel bad, I did the
same thing just yesterday... :-)

If this doesn't resolve the issue, then please post the exact
procedure used for migrating the config so that I can get a "good"
recreate.

Comment 2 Ted Kaczmarek 2004-08-24 15:37:43 UTC
Thanks, that explains it :-)