ethernet driver: hard_start_xmit

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Harsha
Date: Thursday, August 30, 2007 - 4:24 am

Hi,

I have written a network device driver (Linux kernel: 2.6.20.1) on ARM
based target board.
I have implemented ether_tx, which is called whenever hard_start_xmit is
called.

--------------------------------------
[ PINGing from BOARD TO OTHER HOST ]

The network driver is working.  I am able to ping to other hosts and i
am able to get the reply without any problem

Q1.  For large packet size say (2048, 4096) after sometime ping exits
saying "sendto: buffer space unavailable"

---------------------------------------
[ PINGing from other HOST to BOARD ]

ping works but only for some time.  It stops working by saying "Request
timed out" after some successful pinging.
The number of times ping succeeds depend on the packet size

Packet size = 64, ping stops working exactly after 449 times
Packet size = 4096, ping stops working exactly after 28 times.

I did some digging and found that when ping stops working, ether_tx(or
hard_start_xmit) is not called at all.  Though the packets are recieved
correctly by ether_rx.  After ping stops, any more ping of any packet
size does not work. Also i found that at this stage if i ping from board
to host it works.

Q2.  What might be the reason for ping to stop?

Regards
harsha




-- 
  Harsha
  hlforums@fmguy.com

-- 
http://www.fastmail.fm - Accessible with your email software
                          or over the web

-
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
ethernet driver: hard_start_xmit, Harsha, (Thu Aug 30, 4:24 am)