linux-bluetooth.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [RFC bluetooth-next 0/8] 6lowpan: introduce generic next header compression layer
@ 2014-08-09 19:02 Alexander Aring
  2014-08-09 19:02 ` [RFC bluetooth-next 1/8] 6lowpan: add generic nhc layer interface Alexander Aring
                   ` (7 more replies)
  0 siblings, 8 replies; 11+ messages in thread
From: Alexander Aring @ 2014-08-09 19:02 UTC (permalink / raw)
  To: linux-wpan; +Cc: linux-bluetooth, jukka.rissanen, Alexander Aring

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


^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2014-08-10 15:14 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-08-09 19:02 [RFC bluetooth-next 0/8] 6lowpan: introduce generic next header compression layer Alexander Aring
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

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).