Bug 29612

Summary: skge ipv6 doesn't work after boot
Product: Drivers Reporter: George Billios (gbillios)
Component: NetworkAssignee: drivers_network (drivers_network)
Status: RESOLVED INSUFFICIENT_DATA    
Severity: normal CC: alan, florian, higuita
Priority: P1    
Hardware: All   
OS: Linux   
Kernel Version: 2.6.38-rc4 Subsystem:
Regression: No Bisected commit-id:

Description George Billios 2011-02-21 18:41:59 UTC
I have noticed that after the initial boot, ipv6 doesn't work until I either reconnect to the network with or do an ifdown/up cycle. 

The adapter has an ipv6 address, ipv6 routing table seems fine but there is no actual connectivity until I do what described above. During my debugging tries I noticed that ipv6 starts working also when I start capturing data with wireshark. If I enable promiscuous mode it starts working, if I start the capture *without* promiscuous mode it does nothing, as if the card needs a 'push' to start working. 

Here is the relevant skge output from dmesg, kernel version doesn't really matter since I have this issue even with earlier kernels. 

skge 0000:07:01.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16
skge: 1.13 addr 0xf7ffc000 irq 16 chip Yukon-Lite rev 9
skge 0000:07:01.0: eth0: addr 00:22:b0:e7:47:71
skge 0000:07:01.0: eth0: enabling interface
skge 0000:07:01.0: eth0: Link is up at 1000 Mbps, full duplex, flow control both
skge 0000:07:01.0: eth0: disabling interface
skge 0000:07:01.0: eth0: enabling interface
skge 0000:07:01.0: eth0: Link is up at 1000 Mbps, full duplex, flow control both

Just to clarify, the ipv6 network setup is working just fine in general, other PCs on the network don't present this issue at all.
Comment 1 Andrew Morton 2011-02-24 00:22:50 UTC
(switched to email.  Please respond via emailed reply-to-all, not via the
bugzilla web interface).

On Mon, 21 Feb 2011 18:42:21 GMT
bugzilla-daemon@bugzilla.kernel.org wrote:

> https://bugzilla.kernel.org/show_bug.cgi?id=29612
> 
>            Summary: skge ipv6 doesn't work after boot
>            Product: Drivers
>            Version: 2.5
>     Kernel Version: 2.6.38-rc4
>           Platform: All
>         OS/Version: Linux
>               Tree: Mainline
>             Status: NEW
>           Severity: normal
>           Priority: P1
>          Component: Network
>         AssignedTo: drivers_network@kernel-bugs.osdl.org
>         ReportedBy: gbillios@gmail.com
>         Regression: No
> 
> 
> I have noticed that after the initial boot, ipv6 doesn't work until I either
> reconnect to the network with or do an ifdown/up cycle. 
> 
> The adapter has an ipv6 address, ipv6 routing table seems fine but there is
> no
> actual connectivity until I do what described above. During my debugging
> tries
> I noticed that ipv6 starts working also when I start capturing data with
> wireshark. If I enable promiscuous mode it starts working, if I start the
> capture *without* promiscuous mode it does nothing, as if the card needs a
> 'push' to start working. 
> 
> Here is the relevant skge output from dmesg, kernel version doesn't really
> matter since I have this issue even with earlier kernels. 
> 
> skge 0000:07:01.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16
> skge: 1.13 addr 0xf7ffc000 irq 16 chip Yukon-Lite rev 9
> skge 0000:07:01.0: eth0: addr 00:22:b0:e7:47:71
> skge 0000:07:01.0: eth0: enabling interface
> skge 0000:07:01.0: eth0: Link is up at 1000 Mbps, full duplex, flow control
> both
> skge 0000:07:01.0: eth0: disabling interface
> skge 0000:07:01.0: eth0: enabling interface
> skge 0000:07:01.0: eth0: Link is up at 1000 Mbps, full duplex, flow control
> both
> 
> Just to clarify, the ipv6 network setup is working just fine in general,
> other
> PCs on the network don't present this issue at all.
Comment 2 Florian Mickler 2011-03-04 23:39:41 UTC
A commit addressing this bug has been merged for .38-rc8 (or final):

commit cdf64c803e6cfec72259f7bb2654261584bb80a8
Author: Stephen Hemminger <shemminger@linux-foundation.org>
Date:   Wed Feb 23 14:52:43 2011 +0000

    skge: don't mark carrier down at start


If this does not fix the bug, please shout.
Comment 3 George Billios 2011-03-29 16:32:20 UTC
A bit late to reply but in any case it doesn't work. 

Some debugging from the router side shows that the router sends Network Discovery packets to the pc but never gets a reply and thus set the pc to a STALE state.

Funny thing is that as I wrote in the initial report if I run wireshark to debug also from the pc, the moment the ethernet card is set to promiscuous mode it starts to also reply to ND packets from the routers and ipv6 works so there is no point running wireshark from the pc and since I'm lacking a managed switch with port mirroring or an old stupid hub I can't do a debug from the pc side.

One more *IMPORTANT* thing is that this only happens when the card is set to 9000 bytes MTU! If I set the card to 1500 bytes MTU this issues doesn't happen! 

I'm also mostly consecrating on the card driver because testing this on windows on a laptop everything works fine.
Comment 4 Alan 2012-08-16 11:05:00 UTC
Is this still a problem ?