From owner-freebsd-hackers Thu May 23 09:31:00 1996 Return-Path: owner-hackers Received: (from root@localhost) by freefall.freebsd.org (8.7.3/8.7.3) id JAA26531 for hackers-outgoing; Thu, 23 May 1996 09:31:00 -0700 (PDT) Received: from lobster.wellfleet.com (lobster.corpeast.baynetworks.com [192.32.253.3]) by freefall.freebsd.org (8.7.3/8.7.3) with SMTP id JAA26524 for ; Thu, 23 May 1996 09:30:57 -0700 (PDT) Received: from pobox.BayNetworks.com by lobster.wellfleet.com (SMI-8.6/SMI-4.1) id MAA20638; Thu, 23 May 1996 12:32:24 -0400 Received: from tuva.engeast.baynetworks.com by pobox.BayNetworks.com (4.1/SMI-4.1) id AA26983; Thu, 23 May 96 12:30:19 EDT Received: from localhost.engeast.baynetworks.com (localhost.engeast.baynetworks.com [127.0.0.1]) by tuva.engeast.baynetworks.com (8.6.12/8.6.12) with SMTP id MAA16425 for ; Thu, 23 May 1996 12:30:18 -0400 Message-Id: <199605231630.MAA16425@tuva.engeast.baynetworks.com> X-Authentication-Warning: tuva.engeast.baynetworks.com: Host localhost.engeast.baynetworks.com didn't use HELO protocol X-Mailer: exmh version 1.6.5 12/11/95 To: freebsd-hackers@freebsd.org Subject: NFS interop problems... Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Date: Thu, 23 May 1996 12:30:18 -0400 From: Robert Withrow Sender: owner-hackers@freebsd.org X-Loop: FreeBSD.org Precedence: bulk I'm suffering from the (I think) well known interop problem with sun nfs servers, where you send a request to one port on the server and you get the reply from another port on the server, which FreeBSD (rightfully, I guess) tosses. [BTW, is there any easy workaround for this? Putting a static route for the client on the erver seems to work...] Something I don't understand is this: When I first try to mount the problem filesystem, the first datagram that get sent is this (cozumel-le0 is the server and tuva is the client): Ethernet Header byte 0 Destination 00:00:a2:c3:65:da 48 bits Wellfleet Source 00:c0:a8:35:cd:85 48 bits GVC Corporation Ethertype 0x800 16 bits IP Header (Internet Protocol) byte 14 Version IP 4 bits Header Length 5 32-bit words 4 bits Precedence ROUTINE 3 bits Type of Service NORMAL_SERVICE 4 bits Unused 0 1 bits Total Length 120 bytes 16 bits Identification 2582 16 bits Flags, Unused 0 1 bits Flags, DF bit MAY_FRAGMENT 1 bits Flags, MF bit LAST_FRAGMENT 1 bits Fragment Offset 0 * 8 octets 13 bits Time To Live 64 seconds/hops 8 bits Protocol UDP 8 bits Checksum 0x851d 16 bits Source Address tuva 32 bits Destination Address cozumel-le0 32 bits UDP Header byte 34 Source Port 0x40b 16 bits Destination Port 0x801 16 bits Length 100 bytes 16 bits Checksum 0x14f9 16 bits DATA byte 42 0: 00000001 00000000 00000002 000186a3 ................ 10: 00000002 00000001 00000001 00000014 ................ 20: 00000000 00000000 00000000 00000000 ................ 30: 00000000 00000000 00000000 00000707 ................ 40: 00000001 000a0000 00006f40 16df2c62 ..........o@..,b 50: 000a0000 00006f40 16df2c62 ......o@..,b And the reply I get (from cozumel, not cozumel-le0, sign), is this: Ethernet Header byte 0 Destination 00:00:a2:c3:65:da 48 bits Wellfleet Source 00:c0:a8:35:cd:85 48 bits GVC Corporation Ethertype 0x800 16 bits IP Header (Internet Protocol) byte 14 Version IP 4 bits Header Length 5 32-bit words 4 bits Precedence ROUTINE 3 bits Type of Service NORMAL_SERVICE 4 bits Unused 0 1 bits Total Length 56 bytes 16 bits Identification 2583 16 bits Flags, Unused 0 1 bits Flags, DF bit MAY_FRAGMENT 1 bits Flags, MF bit LAST_FRAGMENT 1 bits Fragment Offset 0 * 8 octets 13 bits Time To Live 255 seconds/hops 8 bits Protocol ICMP 8 bits Checksum 0x2dec 16 bits Source Address tuva 32 bits Destination Address cozumel 32 bits ICMP Header byte 34 Type Dest_Unreach 8 bits ICMP Destination Unreachable byte 35 Code PORT_UNREACHABLE 8 bits Checksum 0x2968 16 bits Unused 0 32 bits IP Header (Internet Protocol) byte 42 Version IP 4 bits Header Length 5 32-bit words 4 bits Precedence ROUTINE 3 bits Type of Service NORMAL_SERVICE 4 bits Unused 0 1 bits Total Length 124 bytes 16 bits Identification 208 16 bits Flags, Unused 0 1 bits Flags, DF bit MAY_FRAGMENT 1 bits Flags, MF bit LAST_FRAGMENT 1 bits Fragment Offset 0 * 8 octets 13 bits Time To Live 253 seconds/hops 8 bits Protocol UDP 8 bits Checksum 0 16 bits Source Address cozumel 32 bits Destination Address tuva 32 bits UDP Header byte 62 Source Port 0x801 16 bits Destination Port 0x40b 16 bits Length 104 bytes 16 bits Checksum NONE 16 bits So, The FreeBSD machine sends something to port 2049 (0x801) and I get a ``port unreachable'' from the server... The question is: What is port 2049? In /etc/services I see: nfsd 2049/udp nfs # NFS server daemon #PROBLEMS!============================================================= shilp 2049/tcp shilp 2049/udp #PROBLEMS!============================================================= What is this all about? -- Robert Withrow -- (+1 508 436 8256) BWithrow@BayNetworks.com