[2927] in linux-net channel archive
ARP breaks after raw mode socket usage?
daemon@ATHENA.MIT.EDU (Peter Desnoyers)
Fri May 17 01:20:03 1996
Date: Thu, 16 May 1996 17:42:27 -0400
From: Peter Desnoyers <pjd@midnight.com>
To: linux-net@vger.rutgers.edu
Reply-To: pjd@midnight.com (Peter Desnoyers 617/890-1001)
Any help people can provide me with on the following problem would be
appreciated:
I'm running 1.3.85 with 5 ethernet cards - a 3c509 and a Znyx 314 quad
card - and am having some strange ARP problems after running an
application which sets ports into promiscuous mode and reads and
writes raw packets. Versions of the drivers are in the syslog entries
I've appended below.
The 3c509 provides my main net connectivity; I am running the raw mode
test program only on ports on the quad card. (I put the 3Com card in
for this purpose to try to establish whether this bug was in the Tulip
driver or more general)
After running my program, the following symptoms occur:
- broadcast packets do not appear to be received correctly. (or is it
transmitted? I'm not sure) I have YP configured for broadcast; ypcat
fails unless I edit yp.conf to use a specific - i.e. unicast - server
and restart ypbind.
- the following message occasionally appears in the syslog when I try
to ping a device which isn't already in my ARP table:
May 16 14:16:42 aout kernel: ARP: arp called for own IP address
- on other occasions when I ping devices not in the ARP table I end up
sending the packet to my own Ethernet address:
ETHER: ---- Ethernet Header ----
ETHER:
ETHER: Destination = 00:A0:24:20:04:64
ETHER: Source = 00:A0:24:20:04:64
ETHER: Type = 0x0800 (DOD IP)
ETHER:
....
IP: Protocol = ICMP (1)
IP: Header Checksum = 0x715C (Correct)
IP: Source Address = 137.103.210.40
IP: Destination Address = 137.103.210.20
IP:
ICMP: ---- ICMP Packet ----
ICMP:
ICMP: Type = 8 (Echo)
.....
00 A0 24 20 04 64 00 A0 24 20 04 64 08 00 45 00 ..$ .d..$ .d..E.
00 54 52 41 00 00 40 01 71 5C 89 67 D2 28 89 67 .TRA..@.q\.g.(.g
D2 14 08 00 9B CE 90 05 07 00 4E 8E 9B 31 E3 68 ..........N..1.h
0D 00 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 14 15 ................
16 17 18 19 1A 1B 1C 1D 1E 1F 20 21 22 23 24 25 .......... !"#$%
26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 &'()*+,-./012345
36 37 67
Note that all the traffic related to these symptoms is on eth4, the
3c509, while the program which caused it to get wedged was on eth1 and
eth2.
- when I run the raw mode application on the same port as I use for my
main net access, I occasionally see the following message:
May 16 10:58:24 aout kernel: double lock on socket at 00140c2b
Although I haven't tried running with a newer kernel, I did glance
through all the patches to net/ipv4/* from 1.3.86 to 1.3.97 and didn't
see any changes that looked like they were targeted towards such a
bug. Could be wrong, though.
Anyway, any information or help on what's going on and how to fix it
would be greatly appreciated.
...............................................................................
Peter Desnoyers : Midnight Networks Inc. 200 Fifth Avenue Waltham MA 02154
pjd@midnight.com : Ph. 617/890-1001 Fax -0028 The Best in Network Software
3c509 version:
May 16 14:05:04 aout kernel: 3c509: WARNING! Module load-time probing works reliably only for EISA bus!!
May 16 14:05:04 aout kernel: loading device 'eth4'...
May 16 14:05:04 aout kernel: eth4: 3c509 at 0x300 tag 1, BNC port, address 00 a0 24 20 04 64, IRQ 10.
May 16 14:05:04 aout kernel: 3c509.c:1.07 6/15/95 becker@cesdis.gsfc.nasa.gov
tulip version:
May 16 14:05:04 aout kernel: tulip.c:v0.10 8/11/95 becker@cesdis.gsfc.nasa.gov
May 16 14:05:04 aout kernel: +0.71 4/14/96 http://www.dsl.tutics.tut.ac.jp/~linux/tulip.html
May 16 14:05:04 aout kernel: eth0: ZNYX312 (DEC 21040 Tulip) at 0xf000, 00:c0:95:f0:24:4c, IRQ 11
May 16 14:05:04 aout kernel: eth1: ZNYX312 (DEC 21040 Tulip) at 0xf100, 00:c0:95:f0:24:4d, IRQ 11
May 16 14:05:04 aout kernel: eth2: ZNYX312 (DEC 21040 Tulip) at 0xf200, 00:c0:95:f0:24:4e, IRQ 11
May 16 14:05:04 aout kernel: eth3: ZNYX312 (DEC 21040 Tulip) at 0xf300, 00:c0:95:f0:24:4f, IRQ 11