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.
Created attachment 6062 [details] Kernel config
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
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
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
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)