Re: NFS problem on Microblaze LE

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

 



J. Bruce Fields wrote:
On Wed, Mar 02, 2011 at 07:20:10PM +0100, Michal Simek wrote:
J. Bruce Fields wrote:
On Wed, Mar 02, 2011 at 05:11:53PM +0100, Michal Simek wrote:
J. Bruce Fields wrote:
On Wed, Mar 02, 2011 at 02:04:18PM +0100, Michal Simek wrote:
Hi,

I am getting some troubles to get nfs work on new Microblaze
little-endian platform and I would like to ask you for some
recommendations how to debug it.

First of all I need to write that Microblaze big-endian platforms have no problem.
The problem only happen if I use mount without -o nolock option
(mount -t nfs 192.168.0.101:/tftpboot/nfs /mnt)
If I use -o nolock option I have no problem to use nfs.

I use xilinx emaclite and axi emac(it is not in the mainline now)
driver and I have no problem to use dhcp, ftp, http, telnet and
other internet protocols.

I compared debug logs on big and little endian platform(rootfs has
the same setting) I found that little-endian got packet which is
shorter than on big endian which I have added to the log below.
The second thing, which I think is connected to the previous point,
is that I am getting BADCRED in rpc_verify_headers.

Is there any option/macro/recommended debug technique how to see
packets? I need to get some clue how to see packet and then how they
are passed to rpc_verify_header function.
A good first step would be to look at the network traffic with
wireshark.
Yes, I am looking at it all the time but I can't see anything weird.
Look at attachment. 192.168.0.101 - host, 192.168.0.103 target.

There are two NULL calls and two reply calls.
Yes, looks normal.  I wonder why everything exept portmap is using udp,
but your debugging traces refer to tcp?

Oh, wait, it's talking about portmap map/unmap calls: could try try
running wireshark on the loopback interface?  (run with -ilo).

It is captured by tcpdump (tcpdump -i lo -e -S -n -vvv -x -w nfs)
If you want to use different setting please let me know. (I have
also verbose node but saving to file should be enough for you).

A little odd; -s0 to get the whole packet might help.

I can't use -s0 because I use older tcpdump but that shouldn't be a problem.
Packet dumps for LE and BE are attached.


You may also want to take a look at it yourself in wireshark.  Probably
you'll see the BADCRED error in one of the replies once you manage to
capture the right stuff.

I have looked at it and I see two things.
1. TCP checksum is incorrect but BE has the same behavior that's why I think it is fine.
2. Packet #9 (V2 UNSET Reply (Call In 8)) contains Reply state: denied and AUTH_ERROR
bad credential (seal broken) that's the confirmation what I saw from the kernel debug logs.

What does it caused this rejection?

I am looking for it in the kernel.


Thanks,
Michal

--
Michal Simek, Ing. (M.Eng)
w: www.monstr.eu p: +42-0-721842854
Maintainer of Linux kernel 2.6 Microblaze Linux - http://www.monstr.eu/fdt/
Microblaze U-BOOT custodian

Attachment: nfs-le3
Description: Binary data

Attachment: nfs-be
Description: Binary data


[Index of Archives]     [Linux Filesystem Development]     [Linux USB Development]     [Linux Media Development]     [Video for Linux]     [Linux NILFS]     [Linux Audio Users]     [Yosemite Info]     [Linux SCSI]

  Powered by Linux