New: skge ipv6 doesn't work after boot
Subsystems (2)
A message that is not in the archive (sent off-list or not yet received): [email protected]/
(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: NoI 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 addr0xf7ffc000irq 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 bothJust to clarify, the ipv6 network setup is working just fine in general, other PCs on the network don't present this issue at all.
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(smemcpy_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; }
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.
Signed-off-by Stephen Hemminger <[email protected]>
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(smemcpy_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
@@ -3856,9 +3856,6 @@ static struct net_device *skge_devinit(smemcpy_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; }
_
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
Signed-off-by Stephen Hemminger <[email protected]>Reported-by George Billios <[email protected]>Cc David Miller <[email protected]>Signed-off-by Andrew Morton <[email protected]>
Applied, thanks.