Linux IEEE 802.15.4 and 6LoWPAN development
 help / color / mirror / Atom feed
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


             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