Bug 156625

Summary: switched network devices
Product: [openSUSE] SUSE Linux 10.1 Reporter: Michael Matz <matz>
Component: NetworkAssignee: Michal Zugec <mzugec>
Status: RESOLVED DUPLICATE QA Contact: E-mail List <qa-bugs>
Severity: Normal    
Priority: P5 - None CC: suse-beta
Version: Beta 7   
Target Milestone: ---   
Hardware: Other   
OS: Other   
Whiteboard:
Found By: Other Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---
Attachments: y2logs
info files from 9.2
info files from 10.1
y2logs from 10.1

Description Michael Matz 2006-03-09 18:05:48 UTC
This might actually be a udev problem, or someones elses problem entirely.
It might even be a problem of me completely misremembering.  Anyway:

I updated from 9.2 to 10.1 beta7.  This machine has two network devices,
only one of them actually connected with a cable.  Both of them were
configured statically, so I had ifcfg-eth-bus-pci-...{0f,10}.0 files in 9.2.
I know that I could access our internal net (10.10.0.0/16) and external net.
The eth1 device was the one which was connected and had the default route set.

After the update the default route still is on eth1, but I can't access
anything beyond the internal net, e.g. a ping www.kde.org doesn't work.
I pinged an internal host to see on which interface exactly the packages
go out, and saw that the packages were coming from eth0.  Which means, that
now the cable is connected to the eth0 device, although of course I didn't
switch cables.

I'm not completely sure what to make out of this, also because I don't
remember exactly how the machine worked under 9.2, it was a long time ago
since I last switched it on (I just activated it again for this update to
10.1).

Right now I can't paste anything from that machine to this bugreport, I'll
try doing this tomorrow.  But the current (interesting) routes are as
configured:

  10.10.0.0/16 dev eth0 src 10.10.102.252
  10.10.0.0/16 dev eth1 src 10.10.0.40
  default via 10.10.0.8 dev eth1

The default route doesn't work as the ping shows, and as eth0 is connected
to the cable.  But the above were the same routes also under the old 9.2
installation and I'm fairly sure there external network was working.

It's also interesting that if I switch cable (so that eth1 in fact is now
connected) still nothing works, no external network, _and_ no internal one.
I could only guess that the first route is tried no matter what, which
goes over eth0, which then is not connected.  The strange thing of course
being that also the default route (e.g. to www.kde.org) doesn't seem to work,
although it explicitely mentions eth1 as device.

And now that last interesting thing, which definitely is a bug somewhere.
Although both interfaces are configured statically (to 10.10.0.40 and
10.10.0.41) eth0 nevertheless got a dhcp address (see above 10.10.102.252)
in addition to the configured address.

I mean I could just configure everything again in yast, and it would be fine,
but for now I'd like to understand the issue first, i.e. if it's really a
bug somewhere, before redoing everything.
Comment 1 Martin Vidner 2006-03-10 15:04:40 UTC
Please attach the YaST logs:
http://en.opensuse.org/Bug_Reporting_FAQ#YaST
Comment 2 Michael Matz 2006-03-10 15:16:17 UTC
Created attachment 72283 [details]
y2logs

These are the logfiles from inside the system
during installation (i.e. installation is _not_ yet
finished).  The screen is the network test screen,
where I noticed that something was fishy and made
this bugreport.  I did not yet touch the system.
Although I slowly come to the conclusion that maybe
I should simply find out why I have two 10.10/16
routes and perhaps simply change the default route
to be on eth0.
Comment 3 Michael Matz 2006-03-10 15:16:56 UTC
Forgot to remove the NEEDINFO.
Comment 4 Gerald Pfeifer 2006-04-28 23:36:09 UTC
Martin, have you had a chance to look into this?  How to proceed from here?
Comment 5 Martin Vidner 2006-05-02 08:27:14 UTC
Weird. This is NOT a duplicate of bug 116537.
Michael, please attach also /etc/sysconfig/network/ifcfg*
Comment 6 Michael Matz 2006-05-02 13:27:57 UTC
Hmm, I fear I meanwhile have reconfigured the machine, and the old files
are not available anymore :-(  I still have the old 9.2 partition, so perhaps
I can retry an update to the current 10.1 RC.
Comment 7 Martin Vidner 2006-05-02 13:35:11 UTC
Even the original ifcfgs from the 9.2 system are a good start. Also look in /var/adm/backup.
Comment 8 Michael Matz 2006-05-02 14:49:04 UTC
Created attachment 81272 [details]
info files from 9.2

This tarball contains the current configuration
of the 9.2 machine, before any update or anything.
eth0 is connected with a cable.  I can ping
internally and externally, i.e. the 10.10/16 route
and the default route work (over eth0).  I've
included hwinfo output, ip addr and ip route output,
and the relevant files from /etc/sysconfig/network/ .
As can be seen both interfaces are configured
statically.

So I verified everything I only darkly remembered
in the initial report.  I'm now going to update
this machine to the current RC of 10.1 and will
report back.
Comment 9 Michael Matz 2006-05-03 14:12:37 UTC
I'm now in the update after the intermediate boot in the testing of the
networking, i.e. it tries to download the release notes.  This fails.
The update of the network cards seems to be mostly okay now, except for
the default route.  As I don't want to change the setup by hand right now
(because there's only one chance to look at this intermediate boot) I can't
copy over any files.  I'll do this once I rebooted into the system for good.
But some observations anyway:

The network devices are ordered correctly, i.e. eth0 now is the same
network card as eth0 in the old system (verified via MAC address).
As I installed via SLP (over NFS) I got a dynamic address for eth0,
to which my static IP was added afterwards, so that eth0 now has IPs
10.10.100.142 and 10.10.2.41.  eth1 also got the correct IP (10.10.2.40).
So far everything is okay.

The internal routes also are okay, but not the default route.  Namely:
10.10.0.0/16 dev eth0 proto kernel scope link src 10.10.100.242
10.10.0.0/16 dev eth1 proto kernel scope link src 10.10.2.40
169.254.0.0/16 dev eth0 scope link
127.0.0.0/8 dev lo scope link
default via 10.10.0.8 dev eth1

So the 10.10 routes are fine (going over both interfaces), so I can indeed
ping internal hosts in the 10.10 net.  Remember that the machine still
is connected via eth0.  eth1 has no cable connected.  Now look at the
default route.  It goes over eth1.  That's why I can't reach any global
hosts, and the download of release notes hence fails.
I see this in y2log (not pasted but written from screen):

2006-05-02 17:38:09 <3> ries(4178) [YCP] clients/inst_netsetup.ycp:151 Setting up device: /sbin/ifconfig eth0 up 10.10.100.242 netmask 255.255.0.0
2006-05-02 17:38:09 <3> ries(4178) [YCP] clients/inst_netsetup.ycp:158 Setting up route: /sbin/route add default gw 10.10.0.8

Thats the only mention of the word "route" I can find in y2log.  From
the surrounding output I can see that eth1 did not yet have and address.
I can only speculate that this command sets the default route via the
last interface (eth1) as no interface is explicitely mentioned, and that this
lasts until later in the installation leading to the failed connections.

In /var/log/YaST2/internet-test/messages I see that ifstatus-route eth0
actually mentions that the default route is configured for eth0.  But in the
list of active routes this is missing.

I'm now going to finish the installation without the internet test, then
reboot into the real system, and then copy over the interesting files.
Comment 10 Michael Matz 2006-05-03 14:51:25 UTC
I've rebooted.  The default route still is going over eth1, i.e. the
unconnected one.  I'll attach the logs and a tarball with output similar to
comment #8 momentarily.
Comment 11 Michael Matz 2006-05-03 14:52:35 UTC
Created attachment 81762 [details]
info files from 10.1

This is output from ip addr, ip.route, hwinfo
and the /etc/sysconfig/network directory of the
updated system.
Comment 12 Michael Matz 2006-05-03 14:53:33 UTC
Created attachment 81765 [details]
y2logs from 10.1

And this is the tarball from save_y2logs of the
updated system.
Comment 13 Martin Vidner 2006-08-28 11:52:38 UTC
Reassigning to the new maintainer of yast2-network.
Comment 14 Michal Zugec 2007-03-13 14:00:23 UTC
It'a already fixed bug. 


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