All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ben Greear <greearb@candelatech.com>
To: NetDev <netdev@vger.kernel.org>
Subject: How do queue-less virtual devices wake higher level senders?
Date: Mon, 01 Oct 2007 16:49:06 -0700	[thread overview]
Message-ID: <47018772.4060803@candelatech.com> (raw)

Hello!

I am having some trouble figuring out how virtual interfaces
(such as mac-vlans) can wake up writers (such as udp sockets).

For 'real' hardware, it seems that the netif_stop_queue and
netif_wake_queue methods handle stopping and waking the
higher level senders, but for virtual devices with no
queues, how does this work?

In my case, I'm using a virtual Station interface that sits on
top of a wifi radio interface (hacked up madwifi).  I notice
that UDP connections set up for high speed, unidirectional
sends are stalling after a few minutes.  netstat -an shows
a write-buffer that is quite full, but nothing is transmitted.

If I ping or start any other type of traffic on these interfaces,
the udp recovers.  It seems like the udp send logic is just
getting stuck and needs a kick.

I do not see any problems with TCP connections, and if I keep
a slow-speed tcp connection running, the UDP will not hang.

It's likely the bug is in my driver and/or code, so this is
not a bug report..just a question to hopefully help me debug
it further :)

Thanks,
Ben

-- 
Ben Greear <greearb@candelatech.com>
Candela Technologies Inc  http://www.candelatech.com


             reply	other threads:[~2007-10-01 23:49 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-10-01 23:49 Ben Greear [this message]
2007-10-02  0:04 ` How do queue-less virtual devices wake higher level senders? David Miller
2007-10-02  0:24   ` Ben Greear
2007-10-02  3:44     ` David Miller

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=47018772.4060803@candelatech.com \
    --to=greearb@candelatech.com \
    --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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.