From: Stefan Schmidt <stefan@osg.samsung.com>
To: Alexander Aring <alex.aring@gmail.com>
Cc: linux-wpan@vger.kernel.org, jukka.rissanen@linux.intel.com
Subject: Re: [RFC bluetooth-next 0/4] GHC compression detection
Date: Wed, 16 Sep 2015 17:53:31 +0200 [thread overview]
Message-ID: <55F9907B.7090305@osg.samsung.com> (raw)
In-Reply-To: <20150913135141.GA12307@omega>
Hello.
On 13/09/15 15:51, Alexander Aring wrote:
> Hi,
>
> On Wed, Sep 09, 2015 at 05:26:29PM +0200, Stefan Schmidt wrote:
>> Hello.
>>
>> This is a first stab at RFC7400. So far we only hook into the NHC framework to
>> detect the three registered GHC types (extension header, UDP and ICMPv6).
>> This is aligned with how we detect the NHC frames.
>>
> can we add a "nhc_..." prefix to all module names? Then we have
> something like what netfilter does with "nf_...".
>
You mean like nhc_ghc_udp.c? Fine with me.
>> TODO items:
>> o How to handle reserved and unassigned ranges in the HEADER TYPE?
> Maybe it's better to remove the current nhc_id evaluation. I did this
> stuff with rb-tree by knowning RFC6282 only, there was the one
> information given that "nhc id" is a variable length bitfield only. I
> don't know how the "logic" about assign these nhc id's is, if iana has one.
>
> What I see when I look at [0]. Maybe we could grab the same mechanism like
> evaluate 6lowpan dispatch values, by returning RX_CONTINUE if the nhc_id
> doesn't match. Determined by nhc_id length mask and id.
>
> The rb-tree mechanism is MAYBE faster, but this depends on amount of
> registered entries. I don't think there is ever so much many nhc ids
> that a rb-tree give "huge" benefits that we should use a rb-tree now, or
> it making thinks too much complex. :-/
>
> I just stumble over rb-tree's to search a right datastructure for
> matching variable length bitfields -> "strings". Now I am not sure if
> this was a good idea to do this in that way.
>
> These rbtree's are getting also a benefits only when the nhc_id is more
> than one byte long and this also doesn't exist right now. Also the first
> byte need to have one or more subtree's. Means e.g. the first byte need
> to indicate that another bytes follows.
>
> I suppose they will add some nhc_id byte like "1111 1111" which
> indicates one byte will follows. If this will be only one byte, e.g. the
> "1111 1111" then rbtree is surely the wrong datastructure... but maybe
> they will also add some "1111 1110" which also indicates anothers
> subtree of nhc_id's. I don't know it because there is no information
> about that. Maybe iana [0] will say that with "Unassigned, reserved for
> extensions" and it should stand somewhere in RFC6282, but I don't see
> that somewhere inside of RFC6282 which describes "1111 1111". :-/
>
> They describes something about a nhc class:
>
> "(i.e., k one-bits followed by one zero-bit identify the general class
> of NHC, followed by class-specific bit assignments)."
>
> Maybe they meant something that:
>
> "1111 1111" -> BAR nhc classes
> "1111 1110" -> FOO nhc classes
> .... -> ... nhc classes
>
> Then a rbtree _maybe_ gives some benefit but I also think it doesn't
> matter then, because it's simple not a huge amount of entries there.
The use cases for the NHC ID I have seen so far have been simple. Easy
enough to handle with ID and mask handling like we do the dispatch value
handling.
On the other hand we have the rb-tree logic already in place and used.
Hard to say what future RFC's in this domain might bring and if an
rbtree can play out it benefits.
For reserved and unassigned range we could simple registering these
values from the core.
Right now my gut feeling is that we should leave it as is until it
really gives us trouble.
regards
Stefan Schmidt
next prev parent reply other threads:[~2015-09-16 15:53 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-09-09 15:26 [RFC bluetooth-next 0/4] GHC compression detection Stefan Schmidt
2015-09-09 15:26 ` [RFC bluetooth-next 1/4] 6lowpan: clarify Kconfig entries for upcoming GHC support Stefan Schmidt
2015-09-09 15:26 ` [RFC bluetooth-next 2/4] 6lowpan: add nhc module for GHC extension header detection Stefan Schmidt
2015-09-09 15:26 ` [RFC bluetooth-next 3/4] 6lowpan: add nhc module for GHC UDP detection Stefan Schmidt
2015-09-09 15:26 ` [RFC bluetooth-next 4/4] 6lowpan: add nhc module for GHC ICMPv6 detection Stefan Schmidt
2015-09-13 13:51 ` [RFC bluetooth-next 0/4] GHC compression detection Alexander Aring
2015-09-16 15:53 ` Stefan Schmidt [this message]
2015-09-18 9:35 ` Alexander Aring
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=55F9907B.7090305@osg.samsung.com \
--to=stefan@osg.samsung.com \
--cc=alex.aring@gmail.com \
--cc=jukka.rissanen@linux.intel.com \
--cc=linux-wpan@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.