Bug 5280 - Multicasting problem in skge (OSPF)
Summary: Multicasting problem in skge (OSPF)
Status: CLOSED CODE_FIX
Alias: None
Product: Drivers
Classification: Unclassified
Component: Network (show other bugs)
Hardware: i386 Linux
: P2 normal
Assignee: Stephen Hemminger
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-09-20 15:47 UTC by Damjan Georgievski
Modified: 2006-02-03 15:31 UTC (History)
1 user (show)

See Also:
Kernel Version: 2.6.13
Subsystem:
Regression: ---
Bisected commit-id:


Attachments
Kernel config (40.21 KB, text/plain)
2005-09-20 15:49 UTC, Damjan Georgievski
Details

Description Damjan Georgievski 2005-09-20 15:47:27 UTC
Most recent kernel where this bug did not occur: -na-
Distribution: Slackware-10.1
Hardware Environment: i386/PC

I have a problem with the skge driver on a vanilla 2.6.13 kernel.

I have 3 DLink DGE-530T PCI cards in several PC routers, the PCI id is:
01:09.0 Class 0200: 1186:4c00 (rev 11).

I use OSPF on the network, so I have quagga-0.98.3 installed on the
routers. As you probably know OSPF works by multicasting HELLO messages.

At first (after power-up) everything works ok.

But after some time of operation (2 days) some (only some) of the
ethernet cards would stop receiving the multicast packets, and the
router would remove its OSPF neighbour and its routes.

Now, the moment I start 'tcpdump' on that interface, and the interface goes in
promisc mode, the card suddenly starts to receive the multicast messages
and OSPF is established again.

I tried to turn on the 'allmulti' option
(/sbin/ip link set dev eth1 allmulticast on)
but it doesn't make any difference.

The problem is not easyly reproducible, I have some 40+ routers with the exact
same configuration, and this only happens from time to time on some of them.
There's no rule on which router it happens.
Comment 1 Damjan Georgievski 2005-09-20 15:49:59 UTC
Created attachment 6062 [details]
Kernel config
Comment 2 Damjan Georgievski 2005-09-20 15:50:41 UTC
These are the modules I have loaded:
af_packet              15688  0
ipv6                  221312  17
b44                    18660  0
mii                     4224  1 b44
skge                   32048  0
uhci_hcd               28752  0
ehci_hcd               26664  0
usbhid                 40288  0
usbcore                98780  4 uhci_hcd,ehci_hcd,usbhid
evdev                   6912  0
processor              18812  0
button                  4816  0
Comment 3 Damjan Georgievski 2005-09-21 00:39:45 UTC
This is the output from ethtool -s eth2, but the card has been working ok for
some time now.

NIC statistics:
     tx_bytes: 56605490263
     rx_bytes: 10245266665
     tx_broadcast: 49332
     rx_broadcast: 17303
     tx_multicast: 372212
     rx_multicast: 1416783
     tx_unicast: 60403633
     rx_unicast: 56818979
     tx_mac_pause: 0
     rx_mac_pause: 0
     collisions: 0
     multi_collisions: 0
     aborted: 0
     late_collision: 0
     fifo_underrun: 0
     fifo_overflow: 0
     rx_toolong: 0
     rx_jabber: 0
     rx_runt: 0
     rx_too_long: 0
     rx_fcs_error: 0
Comment 4 Damjan Georgievski 2005-09-22 08:06:27 UTC
This is the output of 'ethtool -S eth2' on a NIC that just stoped receiveing
multicast packets, I don't see nothing strange:

NIC statistics:
     tx_bytes: 1005264173
     rx_bytes: 172451530
     tx_broadcast: 4672
     rx_broadcast: 27
     tx_multicast: 116173
     rx_multicast: 96129
     tx_unicast: 1119544
     rx_unicast: 1227931
     tx_mac_pause: 0
     rx_mac_pause: 0
     collisions: 0
     multi_collisions: 0
     aborted: 0
     late_collision: 0
     fifo_underrun: 0
     fifo_overflow: 0
     rx_toolong: 0
     rx_jabber: 0
     rx_runt: 0
     rx_too_long: 0
     rx_fcs_error: 0
Comment 5 Stephen Hemminger 2006-01-18 12:05:19 UTC
A problem was found in skge where if link went up/down, that the multicast bits
were not being reloaded. This is fixed in driver latest driver version (2.6.15.1)

Note You need to log in before you can comment on or make changes to this bug.