Skip to contentSkip to conversation

New: skge ipv6 doesn't work after boot

Bugme-new Applied Andrew Morton 3 participants 4 messages Feb 24, 2011 – Feb 25, 2011 1 message not in the archive

Subsystems (2)
lore
Share & tools
lore

A message that is not in the archive (sent off-list or not yet received): [email protected]/

#1 lore raw

(switched to email. Please respond via emailed reply-to-all, not via the bugzilla web interface).

Quoted 44 lines · On Mon, 21 Feb 2011 18:42:21 GMT [email protected] 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: [email protected]
        ReportedBy: [email protected]
        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.

#2 lore raw

PATCH 1/1 skge: don't mark carrier down at start

The API for network devices has changed so that setting carrier off at probe is no longer required. This should fix the IPv6 addrconf issue.

drivers/net/skge.c +0 -3
@@ -3856,9 +3856,6 @@ static struct net_device *skge_devinit(s
 	memcpy_fromio(dev->dev_addr, hw->regs + B2_MAC_1 + port*8, ETH_ALEN);
 	memcpy(dev->perm_addr, dev->dev_addr, dev->addr_len);
 
-	/* device is off until link detection */
-	netif_carrier_off(dev);
-
 	return dev;
 }
 
#3 lore raw

Re: [PATCH] skge: don't mark carrier down at start

Quoted 10 lines · On Wed, 23 Feb 2011 16:44:49 -0800 Stephen Hemminger…

The API for network devices has changed so that setting carrier off at probe is no longer required. This should fix the IPv6 addrconf issue.

drivers/net/skge.c static struct net_device *skge_devinit(s · line 3860

Quoted 8 lines
drivers/net/skge.c +0 -3
@@ -3856,9 +3856,6 @@ static struct net_device *skge_devinit(s
 	memcpy_fromio(dev->dev_addr, hw->regs + B2_MAC_1 + port*8, ETH_ALEN);
 	memcpy(dev->perm_addr, dev->dev_addr, dev->addr_len);
 
-	/* device is off until link detection */
-	netif_carrier_off(dev);
-
 	return dev;
 }

Thanks, but please don't forget to acknowledge the bug reporter's efforts.

Also, quoting the bugzilla URL in the changelog helps when people come along to close off open bug reports.

From: Stephen Hemminger <[email protected]>

The API for network devices has changed so that setting carrier off at probe is no longer required. This should fix the IPv6 addrconf issue.

Addresses https://bugzilla.kernel.org/show_bug.cgi?id=29612

---

 drivers/net/skge.c |    3 ---
 1 file changed, 3 deletions(-)
drivers/net/skge.c renamed from drivers/net/skge.c~skge-dont-mark-carrier-down-at-start +0 -3
diff -puN drivers/net/skge.c~skge-dont-mark-carrier-down-at-start drivers/net/skge.c
@@ -3856,9 +3856,6 @@ static struct net_device *skge_devinit(s
 	memcpy_fromio(dev->dev_addr, hw->regs + B2_MAC_1 + port*8, ETH_ALEN);
 	memcpy(dev->perm_addr, dev->dev_addr, dev->addr_len);
 
-	/* device is off until link detection */
-	netif_carrier_off(dev);
-
 	return dev;
 }
 

_

maintainer Applied
#4 lore raw

Re: [PATCH] skge: don't mark carrier down at start

From: Andrew Morton <[email protected]>
Date: Wed, 23 Feb 2011 16:52:43 -0800

Quoted 11 lines

From: Stephen Hemminger <[email protected]>

The API for network devices has changed so that setting carrier off at probe is no longer required. This should fix the IPv6 addrconf issue.

Addresses https://bugzilla.kernel.org/show_bug.cgi?id=29612

Applied, thanks.