- Issue #1:

Yesterday I spent a couple hours scratching my head over why tcpdump (freshly 
built from source) was having such a hard time interpreting NFS traffic on 
Alpha Linux.  I tracked the problem down to the size of the rm_xid field of 
struct rpc_msg.  It's declared as a u_long, which is 8 bytes on Alpha, when 
it's only 4 bytes on the wire.  This of course puts rm_direction and 
everything else at the wrong offset, confusing tcpdump.

I already filed a glibc bug report about this.  It's #2226 in the libc GNATS 
database, which you can get to from the glibc home page:

http://www.gnu.org/software/libc/libc.html

It seemed worth sending an e-mail to the tcpdump list as well, as this could 
be interpreted as a tcpdump bug.  (Perhaps it's unsafe to assume that casting 
raw packet data to a struct rpc_msg * will work?)

In fact, the latest e-mail I've received on this from the glibc developers 
suggests that they may punt:

Thorsten Kukuk <[EMAIL PROTECTED]> wrote:
> We can nothing do without breaking all RPC applications on Alpha.
> This mistake was done at the very first Alpha port.
> Even fixing it in glibc with a new symbol version for backward
> compatibility breaks a lot of old programs.

- Issue #2:

My particular situation necessitated some hacking the tcpdump code before I 
could even get to this problem.  I'm working with a userland NFS server that 
operates on a non-standard port.  tcpdump will normally only interpret UDP 
packets to/from port 2049 as NFS.  Even with -T rpc, it fails to decode the 
packets properly.

Eric Werme in our Tru64 UNIX group ([EMAIL PROTECTED]) had previously helped 
me debug a problem with this server by using tcpdump.  When I asked him about 
this, it became clear that he's working with a separate codebase with some 
unique features:

> When prototype NFS V3 code wandered in here, I immediately wrote decodes
> for it and kept going with mount, NIS, etc, most of which have no fixed
> port.

> The original tcpdump only decoded NFS V2, and I'll readily believe it
> keyed off 2049.

> Our tcpdump keys off the RPC program number [...]

> Feel free to mention to the tcpdump.org folks that I'm willing help
> get this stuff into tcpdump.

For my purposes, having the ability to automatically recognize NFS traffic on 
a port other than 2049 would be very helpful.

--Kenneth C. Schalk
  Alpha Microprocessor Development Group
  Compaq Computer


-
This is the TCPDUMP workers list. It is archived at
http://www.tcpdump.org/lists/workers/index.html
To unsubscribe use mailto:[EMAIL PROTECTED]?body=unsubscribe

Reply via email to