public inbox for netdev@vger.kernel.org
 help / color / mirror / Atom feed
From: "Gary Chan" <hpchan5@ie.cuhk.edu.hk>
To: <netdev@vger.kernel.org>
Subject: Linux UDP Implementation
Date: Thu, 31 Aug 2006 13:56:50 +0800	[thread overview]
Message-ID: <00f401c6ccc2$40ad2a90$193aa8c0@mclabhpchan5> (raw)

According to the function call udp_sendmsg() in the source file 
net/ipv4/udp.c (Linux Kernel 2.6.17.11), when an error value is returned 
from the function ip_append_data() due to local device congestion, say 
interface queue overflow,  pending packets in the queue sk->sk_write_queue 
are simply flushed (udp_flush_pending_frames() is invoked) without caching 
for future retransmission.

I called a network API function sendto() to transmit UDP packets in a 
blocking I/O mode at a rate of 100Mbps over the 802.11b wireless ad hoc 
network, the network was overloaded as the maximum transfer rate for 802.11b 
was just 11Mbps. Therefore, the outgoing interface queue must be full and 
UDP packets will be dropped eventually. However, I checked that there was no 
packet loss at the receiver side, i.e. the number of packets sent from the 
sender is equal to that received.

It seems that the implementation (at code level) does not match with the 
actual behaviour. I would like to seek expertise on clarifying my 
understanding in UDP implementation so that this phenomenon can be 
explained.

Thank you. 


             reply	other threads:[~2006-08-31  5:56 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-08-31  5:56 Gary Chan [this message]
     [not found] ` <44F715B5.5070905@hp.com>
2006-09-02  6:27   ` Linux UDP Implementation Gary Chan
2006-09-02 11:42 ` Andi Kleen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='00f401c6ccc2$40ad2a90$193aa8c0@mclabhpchan5' \
    --to=hpchan5@ie.cuhk.edu.hk \
    --cc=netdev@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox