Bug 64806

Summary: (NET HAMACHI) packet receive errors
Product: [Retired] Red Hat Linux Reporter: Need Real Name <aander07>
Component: kernelAssignee: Jeff Garzik <jgarzik>
Status: CLOSED CURRENTRELEASE QA Contact: Brian Brock <bbrock>
Severity: medium Docs Contact:
Priority: medium    
Version: 7.2CC: peterm
Target Milestone: ---   
Target Release: ---   
Hardware: i386   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2004-09-30 15:39:34 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Need Real Name 2002-05-13 02:38:13 UTC
Description of Problem:

Packet Engines GNIC-II "Hamachi" gigabit ethernet adapters do not correctly
receive network traffic.  The card on the other end of the link does receive the
traffic, and generates a response, but the hamachi card does not receive the
traffic correctly.

Digging into the driver, the card is claiming that there is a frame error in
hamachi_rx(), but the sending card (an e1000) is known to work correctly, thus
it looks like an error in the hamachi driver since this happens with multiple cards.

Version-Release number of selected component (if applicable):

Tested under 2.4.9-31

Steps to Reproduce:
1. Hook up a hamachi card to another gigabyte ethernet card. 
2. Try to generate traffic.
3. Observe the error counters increase with no IP traffic being passed.

Actual Results:

The transmitting card receives packets from the hamachi card, generates a
response, but the hamachi card registers all inbound packets as errors.

Expected Results:

The hamachi card should be able to receive packets cleanly.

Comment 1 Arjan van de Ven 2002-05-21 12:26:36 UTC
Is this a system where you can try the 7.3 kernel on? There were a few fixes to
this driver in that kernel...

(If not I can get you the 7.3 driver compiled for the 7.2 kernel)

Comment 2 Need Real Name 2002-10-27 00:44:01 UTC
OK, I finally made time to get this setup working again, this time using
Hamachi cards on both ends of the link.

machine1: 2.2.22-6.2.2smp, 6.2 based machine
machine2: 2.4.18-17.8.0, 8.0 based machine

The two machines can now ping each other, I can ssh between them, but when I
try to do large file operations (such as FTP), or generate a high packet count
(such as a ping -f) the 2.4.18-17.8.0 machine starts logging these types of
kernel messages repeatedly:

eth1: Hamachi interrupt, status 0101.
 In hamachi_rx(), entry 453 status 50000068.
  hamachi_rx() status was 00c00052.
eth1: Hamachi interrupt, status 0000.
eth1: exiting interrupt, status=0x0000.
eth1: Hamachi transmit frame #2860 queued in slot 43.
eth1: Hamachi Autonegotiation status 00a4, LPA 48e0.
eth1: Autonegotiation regs 1000 00a4 0400 0000 08e0 48e0.
eth1: Hamachi transmit frame #2861 queued in slot 44.
eth1: Hamachi interrupt, status 0101.
 In hamachi_rx(), entry 454 status 50000050.
  hamachi_rx() status was 00c00040.
eth1: Hamachi interrupt, status 0000.
eth1: exiting interrupt, status=0x0000.
eth1: Hamachi Autonegotiation status 00a4, LPA 48e0.
eth1: Autonegotiation regs 1000 00a4 0400 0000 08e0 48e0.

machine2 does not log any kernel messages, only machine1.

For reference, when the hamachi driver is loaded on machine2, it gives the
following output:

hamachi.c:v1.01+LK1.0.1 5/18/2001  Written by Donald Becker
   Some modifications by Eric kasten <kasten.edu>
   Further modifications by Keith Underwood <keithu.edu>
PCI: Found IRQ 11 for device 00:09.0
   EEPROM status is 02 after 66 ticks.
   EEPROM status is 02 after 67 ticks.
   EEPROM status is 02 after 68 ticks.
   EEPROM status is 02 after 67 ticks.
   EEPROM status is 02 after 68 ticks.
   EEPROM status is 02 after 67 ticks.
divert: allocating divert_blk for eth1
eth1: Hamachi GNIC-II type 20911 at 0xd890d000, 00:e0:b1:04:22:ef, IRQ 11.
eth1:  32-bit 33 Mhz PCI bus (60), Virtual Jumpers 30, LPA 0000.
eth1: hamachi_open() irq 11.
max_tx_latency: 0, max_tx_gap: 0, min_tx_pkt: 48
max_rx_latency: 17, max_rx_gap: 5, min_rx_pkt: 24
rx_int_var: 180511, tx_int_var: 300000
eth1: Done hamachi_open(), status: Rx 2101 Tx 0.
eth1: Hamachi interrupt, status 20000.
eth1: Link changed: AutoNegotiation Ctrl 1000, Status 00a0 48e0 Intr status 0000.
eth1: Hamachi interrupt, status 0000.
eth1: exiting interrupt, status=0x0000.
eth1: Hamachi transmit frame #1 queued in slot 0.
eth1: Hamachi transmit frame #2 queued in slot 1.
eth1: Hamachi transmit frame #3 queued in slot 2.
eth1: Hamachi transmit frame #4 queued in slot 3.
eth1: Hamachi transmit frame #5 queued in slot 4.
eth1: Hamachi transmit frame #6 queued in slot 5.
eth1: Hamachi Autonegotiation status 00a4, LPA 48e0.
eth1: Autonegotiation regs 1000 00a4 0400 0000 08e0 48e0.

on machine1 it gives:

Found Hamachi GNIC-II at PCI address 0xfedfe004, IRQ 9.
hamachi.c:v1.01 5/16/2000  Written by Donald Becker
   Some modifications by Eric kasten <kasten.edu>
   Further modifications by Keith Underwood <keithu.edu>
   Support by many others
   http://www.scyld.com/network/hamachi.html
   or
   http://www.parl.clemson.edu/~keithu/drivers/hamachi.html

so this is a definate improvement over the previous behavior, but it still
needs a little help.

lspci -v output for this card:

machine2:
00:09.0 Ethernet controller: Packet Engines Inc. PCI Ethernet Adapter (rev 02)
        Subsystem: Packet Engines Inc.: Unknown device 0001
        Flags: bus master, medium devsel, latency 32, IRQ 11
        Memory at f4000000 (64-bit, non-prefetchable) [size=4K]
        Capabilities: [44] Power Management version 1

machine1:
00:13.0 Ethernet controller: Packet Engines Inc.: Unknown device 0911 (rev 02)
        Subsystem: Packet Engines Inc.: Unknown device 0001
        Flags: bus master, fast Back2Back, medium devsel, latency 132, IRQ 9
        Memory at fedfe000 (64-bit, non-prefetchable)
        Capabilities: [44] Power Management version 1


Comment 3 Need Real Name 2002-10-27 00:48:04 UTC
sorry, to be clear, only machine2, the 2.4.18-17.8.0 box, logs the error
messages, machine1, the 2.2.22-6.2.2smp box does not log any error messages.

Comment 4 Bugzilla owner 2004-09-30 15:39:34 UTC
Thanks for the bug report. However, Red Hat no longer maintains this version of
the product. Please upgrade to the latest version and open a new bug if the problem
persists.

The Fedora Legacy project (http://fedoralegacy.org/) maintains some older releases, 
and if you believe this bug is interesting to them, please report the problem in
the bug tracker at: http://bugzilla.fedora.us/