From: Alexander Aring <alex.aring@gmail.com>
To: Stefan Schmidt <stefan@osg.samsung.com>
Cc: linux-wpan@vger.kernel.org, jukka.rissanen@linux.intel.com,
linux-bluetooth@vger.kernel.org
Subject: Re: [PATCH bluetooth-next 2/4] 6lowpan: add nhc module for GHC extension header detection
Date: Fri, 18 Sep 2015 23:44:19 +0200 [thread overview]
Message-ID: <20150918214415.GA6872@omega> (raw)
In-Reply-To: <1442577168-23183-3-git-send-email-stefan@osg.samsung.com>
Hi,
On Fri, Sep 18, 2015 at 01:52:46PM +0200, Stefan Schmidt wrote:
> Signed-off-by: Stefan Schmidt <stefan@osg.samsung.com>
> ---
> net/6lowpan/Kconfig | 5 +++++
> net/6lowpan/Makefile | 3 +++
> net/6lowpan/nhc_ghc_extension_header.c | 27 +++++++++++++++++++++++++++
> 3 files changed, 35 insertions(+)
> create mode 100644 net/6lowpan/nhc_ghc_extension_header.c
>
> diff --git a/net/6lowpan/Kconfig b/net/6lowpan/Kconfig
> index 6af7a46..f541f50 100644
> --- a/net/6lowpan/Kconfig
> +++ b/net/6lowpan/Kconfig
> @@ -59,4 +59,9 @@ config 6LOWPAN_NHC_UDP
> ---help---
> 6LoWPAN IPv6 UDP Header compression according to RFC6282.
>
> +config 6LOWPAN_GHC_EXTENSION_HEADER
> + tristate "GHC Extension Header Support"
> + default y
> + ---help---
> +
> endif
> diff --git a/net/6lowpan/Makefile b/net/6lowpan/Makefile
> index c6ffc55..2b42bd0 100644
> --- a/net/6lowpan/Makefile
> +++ b/net/6lowpan/Makefile
> @@ -10,3 +10,6 @@ obj-$(CONFIG_6LOWPAN_NHC_IPV6) += nhc_ipv6.o
> obj-$(CONFIG_6LOWPAN_NHC_MOBILITY) += nhc_mobility.o
> obj-$(CONFIG_6LOWPAN_NHC_ROUTING) += nhc_routing.o
> obj-$(CONFIG_6LOWPAN_NHC_UDP) += nhc_udp.o
> +
> +#rfc7400 ghcs
> +obj-$(CONFIG_6LOWPAN_GHC_EXTENSION_HEADER) += nhc_ghc_extension_header.o
> diff --git a/net/6lowpan/nhc_ghc_extension_header.c b/net/6lowpan/nhc_ghc_extension_header.c
> new file mode 100644
> index 0000000..eeeabfa
> --- /dev/null
> +++ b/net/6lowpan/nhc_ghc_extension_header.c
> @@ -0,0 +1,27 @@
> +/*
> + * 6LoWPAN Extension Header compression according to RFC7400
> + *
> + * This program is free software; you can redistribute it and/or
> + * modify it under the terms of the GNU General Public License
> + * as published by the Free Software Foundation; either version
> + * 2 of the License, or (at your option) any later version.
> + */
> +
> +#include "nhc.h"
> +
> +#define LOWPAN_GHC_EXTENSION_HEADER_IDLEN 1
> +#define LOWPAN_GHC_EXTENSION_HEADER_ID_0 0xb0
> +#define LOWPAN_GHC_EXTENSION_HEADER_MASK_0 0xf8
> +
Sorry,
This is actually wrong.
http://tools.ietf.org/html/rfc7400#section-3.2
describes the id with:
1 0 1 1 E I D H
whereas E I D is the same like
http://tools.ietf.org/html/rfc6282#section-4.2
So this header compression should be splitted in 5 modules for each
extension header:
1 0 1 1 0 0 0 NH -> Hop-by-Hop
1 0 1 1 0 0 1 NH -> Routing
1 0 1 1 0 1 0 NH -> Fragment
....
like we have it in the others extension headers for RFC6282.
Maybe make also the name smaller
LOWPAN_GHC_EXT_HDR_HOP_XXXX
use the same coding style like the others extension header modules.
also _maybe_ change the to module name "nhc_ghc_ext_hdr_foobar".
> +static void ext_ghid_setup(struct lowpan_nhc *nhc)
> +{
> + nhc->id[0] = LOWPAN_GHC_EXTENSION_HEADER_ID_0;
> + nhc->idmask[0] = LOWPAN_GHC_EXTENSION_HEADER_MASK_0;
> +}
> +
> +LOWPAN_NHC(ghc_extension_header, "RFC7400 Extension Header", NEXTHDR_HOP, 0,
Care about the right NEXTHDR_FOOBAR value here.
btw:
Something is wrong at iana registration:
https://www.iana.org/assignments/_6lowpan-parameters/_6lowpan-parameters.xhtml#lowpan_nhc
For RFC6282 they did each entry for each extension header, for GHC not.
Don't know why :-(
Also iana says it's
10110EEN whereas RFC7400 says it's 1011EIDN
^
|
I don't know where this bit comes from.
- Alex
next prev parent reply other threads:[~2015-09-18 21:44 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-09-18 11:52 [PATCH bluetooth-next 0/4] GHC compression detection Stefan Schmidt
2015-09-18 11:52 ` [PATCH bluetooth-next 1/4] 6lowpan: clarify Kconfig entries for upcoming GHC support Stefan Schmidt
2015-09-18 11:52 ` [PATCH bluetooth-next 2/4] 6lowpan: add nhc module for GHC extension header detection Stefan Schmidt
2015-09-18 21:44 ` Alexander Aring [this message]
2015-09-18 22:14 ` Alexander Aring
2015-11-25 13:50 ` Stefan Schmidt
2015-11-25 13:50 ` Stefan Schmidt
2015-09-18 11:52 ` [PATCH bluetooth-next 3/4] 6lowpan: add nhc module for GHC UDP detection Stefan Schmidt
2015-09-18 21:50 ` Alexander Aring
2015-11-25 13:49 ` Stefan Schmidt
2015-09-18 11:52 ` [PATCH bluetooth-next 4/4] 6lowpan: add nhc module for GHC ICMPv6 detection Stefan Schmidt
2015-09-18 21:51 ` Alexander Aring
2015-11-25 13:50 ` Stefan Schmidt
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=20150918214415.GA6872@omega \
--to=alex.aring@gmail.com \
--cc=jukka.rissanen@linux.intel.com \
--cc=linux-bluetooth@vger.kernel.org \
--cc=linux-wpan@vger.kernel.org \
--cc=stefan@osg.samsung.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 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.