netdev
[Top] [All Lists]

NFS/UDP/Token Ring/Sockets dropped

To: netdev@xxxxxxxxxxx
Subject: NFS/UDP/Token Ring/Sockets dropped
From: mike_phillips@xxxxxxxxxxx
Date: Sun, 1 Apr 2001 20:33:14 -0300
Cc: burts@xxxxxxxxxx
Sender: owner-netdev@xxxxxxxxxxx
All,

We're getting problems mounting nfs over token-ring (specifically 
olympic).

In olympic we set the buffer size to match the mtu which defaults to 4096. 
When we receive a packet if it fits all in one buffer the skbuff is just 
swapped and transferred to the network layers. 

The problem comes when the skbuff hits the socket layers, there is a test 
in sock.h for skb->truesize >= sk->rcvbuf. rcvbuf is set to 2048 and 
truesize is coming in much larger and therefore the test is failing and 
the packet not getting put on the sk->receive_queue.

So, the question is where should the fix for this go ? I can alter olympic 
to memcpy the packet into a skbuff that is allocated to the length of th 
packet (which we already do if the packet spans multiple buffers) but then 
we lose the efficiency from just swapping the buffers or should sock.h 
test against skb->len rather than skb->truesize or is there a third option 
?

Mike
Linux Token Ring Project
http://www.linuxtr.net



<Prev in Thread] Current Thread [Next in Thread>
  • NFS/UDP/Token Ring/Sockets dropped, mike_phillips <=