From: Alexander Aring <alex.aring@gmail.com>
To: linux-wpan@vger.kernel.org
Cc: linux-bluetooth@vger.kernel.org, jukka.rissanen@linux.intel.com,
Alexander Aring <alex.aring@gmail.com>
Subject: [RFC bluetooth-next 0/8] 6lowpan: introduce generic next header compression layer
Date: Sat, 9 Aug 2014 21:02:15 +0200 [thread overview]
Message-ID: <1407610943-27701-1-git-send-email-alex.aring@gmail.com> (raw)
Hi,
this patch series introduce a generic interface for the 6LoWPAN header
compression. Inside the 6LoWPAN header there is a variable length next
header id if the compression bit inside the IPHC header is set. [0]
This implementation use a red-black tree to find the nhc structure with
the received variable length nhc id. Then it call the uncompression callback
on received side. On sending side it used the nexthdr attribute of IPv6 header
and call the compression callback on sending side.
We currently support only one next header compression, this is UDP. The callbacks
for compression and uncompression contains the necessary informations to do UDP
compression/uncompression only. If you need more informations inside the callbacks
feel free to change it while supporting new next header compression formats.
It's just a basic support to handle this in a more generic way instead of hacking
everything in iphc.c file.
Also adding basic support for RFC6282 next header compression values. We don't
these, but we should drop these packets then instead sending garbage to next
layer.
It's currently RFC, if nobody screams I will send "real" patches. Maybe we can
do some things better.
- Alex
[0] http://tools.ietf.org/html/rfc6282#section-4.1
Alexander Aring (8):
6lowpan: add generic nhc layer interface
6lowpan: nhc layer udp compression
6lowpan: add hop-by-hop options skeleton
6lowpan: add routing skeleton
6lowpan: add fragment skeleton
6lowpan: add destination options skeleton
6lowpan: add mobility skeleton
6lowpan: add ipv6 skeleton
net/6lowpan/Makefile | 1 +
net/6lowpan/iphc.c | 184 +++++-------------------------------
net/6lowpan/nhc/Makefile | 10 ++
net/6lowpan/nhc/core.c | 238 +++++++++++++++++++++++++++++++++++++++++++++++
net/6lowpan/nhc/core.h | 122 ++++++++++++++++++++++++
net/6lowpan/nhc/dest.c | 49 ++++++++++
net/6lowpan/nhc/dest.h | 11 +++
net/6lowpan/nhc/frag.c | 49 ++++++++++
net/6lowpan/nhc/frag.h | 11 +++
net/6lowpan/nhc/hop.c | 48 ++++++++++
net/6lowpan/nhc/hop.h | 11 +++
net/6lowpan/nhc/ipv6.c | 48 ++++++++++
net/6lowpan/nhc/ipv6.h | 11 +++
net/6lowpan/nhc/mobil.c | 49 ++++++++++
net/6lowpan/nhc/mobil.h | 11 +++
net/6lowpan/nhc/route.c | 48 ++++++++++
net/6lowpan/nhc/route.h | 11 +++
net/6lowpan/nhc/udp.c | 173 ++++++++++++++++++++++++++++++++++
net/6lowpan/nhc/udp.h | 9 ++
19 files changed, 931 insertions(+), 163 deletions(-)
create mode 100644 net/6lowpan/nhc/Makefile
create mode 100644 net/6lowpan/nhc/core.c
create mode 100644 net/6lowpan/nhc/core.h
create mode 100644 net/6lowpan/nhc/dest.c
create mode 100644 net/6lowpan/nhc/dest.h
create mode 100644 net/6lowpan/nhc/frag.c
create mode 100644 net/6lowpan/nhc/frag.h
create mode 100644 net/6lowpan/nhc/hop.c
create mode 100644 net/6lowpan/nhc/hop.h
create mode 100644 net/6lowpan/nhc/ipv6.c
create mode 100644 net/6lowpan/nhc/ipv6.h
create mode 100644 net/6lowpan/nhc/mobil.c
create mode 100644 net/6lowpan/nhc/mobil.h
create mode 100644 net/6lowpan/nhc/route.c
create mode 100644 net/6lowpan/nhc/route.h
create mode 100644 net/6lowpan/nhc/udp.c
create mode 100644 net/6lowpan/nhc/udp.h
--
2.0.3
next reply other threads:[~2014-08-09 19:02 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-08-09 19:02 Alexander Aring [this message]
2014-08-09 19:02 ` [RFC bluetooth-next 1/8] 6lowpan: add generic nhc layer interface Alexander Aring
2014-08-10 15:02 ` Alexander Aring
2014-08-10 15:14 ` Alexander Aring
2014-08-09 19:02 ` [RFC bluetooth-next 2/8] 6lowpan: nhc layer udp compression Alexander Aring
2014-08-09 19:02 ` [RFC bluetooth-next 3/8] 6lowpan: add hop-by-hop options skeleton Alexander Aring
2014-08-09 19:02 ` [RFC bluetooth-next 4/8] 6lowpan: add routing skeleton Alexander Aring
2014-08-09 19:02 ` [RFC bluetooth-next 5/8] 6lowpan: add fragment skeleton Alexander Aring
2014-08-09 19:02 ` [RFC bluetooth-next 6/8] 6lowpan: add destination options skeleton Alexander Aring
2014-08-09 19:02 ` [RFC bluetooth-next 7/8] 6lowpan: add mobility skeleton Alexander Aring
2014-08-09 19:02 ` [RFC bluetooth-next 8/8] 6lowpan: add ipv6 skeleton 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=1407610943-27701-1-git-send-email-alex.aring@gmail.com \
--to=alex.aring@gmail.com \
--cc=jukka.rissanen@linux.intel.com \
--cc=linux-bluetooth@vger.kernel.org \
--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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox