Historic archive of defunct list bloat-devel@lists.bufferbloat.net
 help / color / mirror / Atom feed
From: Justin McCann <jneilm@gmail.com>
To: Fred Baker <fred@cisco.com>
Cc: bloat <bloat-devel@lists.bufferbloat.net>
Subject: Re: Getting current interface queue sizes
Date: Sun, 6 Mar 2011 17:31:53 -0500	[thread overview]
Message-ID: <AANLkTimmJ1LZfee81Sww3426gpNU2jVPZ6U+TwjQMRWo@mail.gmail.com> (raw)
In-Reply-To: <7A1666CF-3E98-4668-A265-F89B50D23909@cisco.com>

[-- Attachment #1: Type: text/plain, Size: 2209 bytes --]

On Mon, Feb 28, 2011 at 7:29 PM, Fred Baker <fred@cisco.com> wrote:

>
> On Feb 28, 2011, at 2:26 PM, Justin McCann wrote:
>
> > This may be well-known, but how does one retrieve the current outgoing
> and incoming queue sizes from the link-layer interfaces? I mean the number
> of packets/bytes in the various queues, not the size of the buffers
> (potential queue size). I've mucked around with ethtool and netlink to grab
> other statistics, but haven't found any way to pull the current queue sizes
> into userspace.
>
> When the SNMP MIB was first developed, they originally specified ifOutQLen
> as "The length of the output packet queue (in packets)." One problem: Cisco
> implements that as "how many packets can I put into the queue in the deepest
> possible case". The outfit I worked for before Cisco implemented it as "what
> is the current depth of the output queue". Interoperable implementation...
>
>
> There are a few issues with the "current" model. Suppose you are in this
> network
> ...

and you ask the target what the length of its Ethernet queue is. When you
> get the answer, what is the length of its Ethernet queue?
> ...

At the time the NMS receives the response, there's a reasonable chance that
> the queue is absolutely empty. Or that it is twice as full as it was before.
> Or some other number. All you can really say is that at the time the agent
> answered the question, the queue had ifOutQLen packets in it.
>
> The object got deprecated on the grounds that it didn't make a lot of
> sense.
>

Thanks for your response. This is more research-related, trying to detect
what parts of the stack on an end host are exhibiting and/or causing network
stalls a few RTTs or more in duration. I'm also watching the number of bytes
and packets sent/received, and when activity stops altogether, looking at
the queue sizes shows where things are getting held up. I don't think the
approach would be as useful for a middlebox that is just doing best-effort
forwarding, but it would probably work if the box was acting as a TCP proxy.
So, it's not bufferbloat-related per se, but I figure having the information
doesn't hurt, as long as it's not misused like you mention.

    Justin

[-- Attachment #2: Type: text/html, Size: 2823 bytes --]

  reply	other threads:[~2011-03-07 18:29 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-02-28 22:26 Justin McCann
2011-03-01  0:29 ` Fred Baker
2011-03-06 22:31   ` Justin McCann [this message]
2011-03-07  7:21     ` Fred Baker
2011-03-07 18:28       ` Jim Gettys
2011-03-07 21:18         ` Justin McCann

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=AANLkTimmJ1LZfee81Sww3426gpNU2jVPZ6U+TwjQMRWo@mail.gmail.com \
    --to=jneilm@gmail.com \
    --cc=bloat-devel@lists.bufferbloat.net \
    --cc=fred@cisco.com \
    /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