From: Alexander Aring <aar@pengutronix.de>
To: netdev@vger.kernel.org
Cc: linux-wpan@vger.kernel.org
Subject: drop all fragments inside tx queue if one gets dropped
Date: Wed, 20 Apr 2016 11:52:22 +0200 [thread overview]
Message-ID: <57175156.3050501@pengutronix.de> (raw)
Hi,
On linux-wpan we had a discussion about setting the right tx_queue_len
and came to some issues in 802.15.4 6LoWPAN networks.
Our hardware parameters are:
- Bandwidth: 250kb/s
- One framebuffer at hardware side for transmit a frame.
- MTU - 127 bytes (without mac headers)
To provide 6LoWPAN (IPv6) on such interface, we have two interfaces.
One wpan interface (which works on 802.15.4 layer and has a queue) and
another lowpan interface (gets IPv6 and queue 6LoWPAN into wpan
interface, has no queue - it's virtual interface).
If the IPv6 packets needs fragmentation, mostly if payload is 127 bytes.
We have the following situation:
- 6lowpan interface gets IPv6 packet:
- generate 6LoWPAN fragments
- dev_queue_xmit(wpan_dev, frag1)
- dev_queue_xmit(wpan_dev, frag2)
- dev_queue_xmit(wpan_dev, frag3)
- dev_queue_xmit(wpan_dev, ...)
And then a lot of fragments laying inside the tx_queue and waits to
transfer to the transceiver which has only one framebuffer to transmit
one frame and waits for tx completion to transfer the next one.
My question is, if qdisc drops some fragment because the queue is full
or something else. Exists there some way to remove all fragments inside
the queue? If one fragment will be dropped and all related are still
inside the queue then we send mostly garbage.
I want to add a behaviour which drops all related fragments for
6LoWPAN fragmentation at first, if the payload is above 1280 bytes, then
we have also IPv6 fragmentation on it. In future I also like to remove
all related 6LoWPAN fragments which are related according to the IPv6
fragment.
- Alex
next reply other threads:[~2016-04-20 9:52 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-04-20 9:52 Alexander Aring [this message]
2016-04-20 20:15 ` drop all fragments inside tx queue if one gets dropped Michael Richardson
2016-04-20 20:45 ` Rick Jones
2016-04-21 17:48 ` Michael Richardson
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=57175156.3050501@pengutronix.de \
--to=aar@pengutronix.de \
--cc=linux-wpan@vger.kernel.org \
--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;
as well as URLs for NNTP newsgroup(s).