Hello,
Slightly long mail. Appreciate your time and patience to read it and
answer.
I have a protocol layer running over ethernet. I have my own packet type
(protocol type) which is 0x0A0A (like ETH_P_IP). So, the net_bh() hands
the packets (my packets) over to my layer. I have my own header defined,
which has a sequence no, among other fields. I transfer some dummy traffic
over my layer which are 1035 (packet size, inclusive of my header).
When I just transmit 3-4 packets, I get it at the receiver. But, if I
transfer about a Meg, the packets are dropped. Sometimes, I get just 4
packets out of 1 Meg and sometimes I get 500-600 packets.
What I observe is, the ethernet driver (on the receiver side) itself does
not get my packets. According to the ethernet driver on the sending side,
it shows it has sent 1 Meg of data.
If I send the same amount of data using udp sockets, I get all my data,
which probably shows that the ethernet card and driver seems to be fine.
I also tried sending the data at a very slow rate just to ensure the
ethernet card/driver is not dropping the packets because of high speed
transfer, and even in this case, the same behaviour is observed (not
getting all the packets at the receiver).
Could someone tell me what might be happening?
I am using 2.2.5 kernel. Is it something to do with this?
Thanks,
Pramodh
-
To unsubscribe from this list: send the line "unsubscribe linux-net" in
the body of a message to [EMAIL PROTECTED]