[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Strange NFS/networking problem



Hello there,
I have a problem with my network and I hope somebody can help me here.
I'm running slink with kernel 2.2.9. I have a NFS related problem I
think but I cannot solve it.
I'm mounting my mail directoy from another debian slink 2.0.36 box
via NFS. Since I'm using kernel 2.2.9 on my mail client machine
the nfs sometimes hangs when re-writing my mail file on the nfs host,
for example when deleting/moving mails.
I have packet filters installed on both machines and after I removed
all filters on my nfs client (kernel 2.2.9) nfs woke up and was available
again.
So what I did was figuring out which packets were blocked. They are
udp packets sent from port 800. There's no port 800 in /etc/services.

my console says:
kernel: RPC: sendmsg returned error 1 (while nfs is hanging)

rcpinfo -p <client> says:
   program vers proto   port
    100000    2   tcp    111  portmapper
    100000    2   udp    111  portmapper
    100021    1   udp   1024  nlockmgr
    100021    3   udp   1024  nlockmgr
    100021    1   tcp   1024  nlockmgr
    100021    3   tcp   1024  nlockmgr
    100003    2   udp   2049  nfs
    100003    2   tcp   2049  nfs
    100005    1   udp    863  mountd
    100005    2   udp    863  mountd
    100005    1   tcp    866  mountd
    100005    2   tcp    866  mountd

No port 800 here.


rpcinfo -p <nfs-host> says:
   program vers proto   port
    100000    2   tcp    111  portmapper
    100000    2   udp    111  portmapper
    100003    2   udp   2049  nfs
    100003    2   tcp   2049  nfs
    100005    1   udp    921  mountd
    100005    2   udp    921  mountd
    100005    1   tcp    924  mountd
    100005    2   tcp    924  mountd

No port 800 either.

So where the hell are those packets from port 800 coming?!
I found /proc/net/udp and had a look into it. There's a coloum named
'local_adress' and 800 is 320h so I found a line matching this:

  sl  local_address rem_address   st tx_queue rx_queue tr tm->when retrnsmt   uid  timeout inode                               
  14: 00000000:0320 00000000:0000 07 00000000:00000000 00:00000000 00000000     0        0 18                                  

It shows that somehow inode 18 might be involved in this. So I began
to search for inode 18 and found /proc/devices having this inode number.

Right now I'm absolutely confused about where that port 800 is coming
from, how /proc/devices can be source of UDP packets and why my NFS
is hanging (sometimes) on rewriting files.
btw. I'm using mutt as mail client but I don't know whether this
is important.

Does somebody has a clue?


-- 
Daniel Dorau                                      woodst@cs.tu-berlin.de 
<< If a train stops at a trainstation, what happens at a workstation? >>
       PGP key available, send mail with 'Subject: send pgp key' 
            fingerprint: 8D7E0B2F9E2E5338  DB7B24742E8B2EAE 


Reply to: