Skip to contentSkip to conversation

Packet loss in IP/UDP Stack?

DISCUSSION Martin Rauh 2 participants 3 messages Jan 26, 2001 – Jan 31, 2001

lore
Share & tools
lore
#0 lore raw

Hi folks,

It seems that we are loosing packets in the UDP stack. Somebody might think that this is not astonishing, but the packets are not lost at the network layer. They seem to get lost in the IP/UDP Layer of the receiving box.

We have got the following configuration:
Two linux boxes (P4, 733 MHz, 256 MB RAM, kernel 2.4.0)
are directly connected with two syskonnect sk98xx
gigabit ethernet cards. We are sending a file from one host to the other

with UDP. About half of the file is lost in the receiving application. But according to the statistics in /proc/net/dev no errors (fifo, frame, dropped...)
occured in the network layer. Even the transmitted and received data at the network layer (tx-bytes, -packets) are identical to the amount of the transfered file (plus network overhead).

Doas anybody know where the loss occurs? Is there a loss at the network layer or in the higher protocol layers?

Many Thanks,

Martin Rauh

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected]
Please read the FAQ at http://www.tux.org/lkml/

#1 lore raw
Quoted 19 lines · Martin Rauh

Hi folks,

It seems that we are loosing packets in the UDP stack. Somebody might think that this is not astonishing, but the packets are not lost at the network layer. They seem to get lost in the IP/UDP Layer of the receiving box.

We have got the following configuration:
Two linux boxes (P4, 733 MHz, 256 MB RAM, kernel 2.4.0)
are directly connected with two syskonnect sk98xx
gigabit ethernet cards. We are sending a file from one host to the other

with UDP. About half of the file is lost in the receiving application. But according to the statistics in /proc/net/dev no errors (fifo, frame, dropped...)
occured in the network layer. Even the transmitted and received data at the network layer (tx-bytes, -packets) are identical to the amount of the transfered file (plus network overhead).

Quoted 2 lines

Doas anybody know where the loss occurs? Is there a loss at the network layer or in the higher protocol layers?

UDP by default has 64K buffer and drops packets when it overflows. You can check that using netstat -s.
You can increase it use the SO_{SND,RCV}BUF socket options and/or the net/core/[rw]mem_* sysctls.

-Andi
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected]
Please read the FAQ at http://www.tux.org/lkml/

#2 lore raw
In reply to Martin Rauh

The UDP packet loss went away by setting the rmem_max and rmem_default in /proc/sys/net/core on the receiving linux box to about 80 percent of the size of the
transfered file (~50MB).

Many thanks for the fast help!

greetings,

Martin Rauh

Quoted 30 lines · Andi Kleen
Quoted 19 lines · Martin Rauh

Hi folks,

It seems that we are loosing packets in the UDP stack. Somebody might think that this is not astonishing, but the packets are not lost at the network layer. They seem to get lost in the IP/UDP Layer of the receiving box.

We have got the following configuration:
Two linux boxes (P4, 733 MHz, 256 MB RAM, kernel 2.4.0)
are directly connected with two syskonnect sk98xx
gigabit ethernet cards. We are sending a file from one host to the other

with UDP. About half of the file is lost in the receiving application. But according to the statistics in /proc/net/dev no errors (fifo, frame, dropped...)
occured in the network layer. Even the transmitted and received data at the network layer (tx-bytes, -packets) are identical to the amount of the transfered file (plus network overhead).

Quoted 2 lines

Doas anybody know where the loss occurs? Is there a loss at the network layer or in the higher protocol layers?

UDP by default has 64K buffer and drops packets when it overflows. You can check that using netstat -s.
You can increase it use the SO_{SND,RCV}BUF socket options and/or the net/core/[rw]mem_* sysctls.

(quoted diff) +0 -2
-Andi
-
Quoted 3 lines

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected]
Please read the FAQ at http://www.tux.org/lkml/

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected]
Please read the FAQ at http://www.tux.org/lkml/