kernel_optimize_test/net/6lowpan
Alexander Aring b5af9bdbfe 6lowpan: rework tc and flow label handling
This patch reworks the handling of compression/decompression of traffic
class and flow label handling. The current method is hard to understand,
also doesn't checks if we can read the buffer from skb length.

I tried to put the shifting operations into static inline functions and
comment each steps which I did there to make it hopefully somewhat more
readable. The big mess to deal with that is the that the ipv6 header
bring the order "DSCP + ECN" but iphc uses "ECN + DSCP". Additional the
DCSP + ECN bits are splitted in ipv6_hdr inside the priority and
flow_lbl[0] fields.

I tested these compressions by using fakelb 802.15.4 driver and
manipulate the tc and flow label fields manually in function
"__ip6_local_out" before the skb will be send to lower layers. Then I
looked up the tc and flow label fields in wireshark on a wpan and lowpan
interface.

Signed-off-by: Alexander Aring <alex.aring@gmail.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
2015-10-21 00:49:25 +02:00
..
core.c 6lowpan: move shared settings to lowpan_netdev_setup 2015-10-08 14:25:34 +02:00
iphc.c 6lowpan: rework tc and flow label handling 2015-10-21 00:49:25 +02:00
Kconfig 6lowpan: nhc: add other known rfc6282 compressions 2015-02-14 23:08:44 +01:00
Makefile 6lowpan: add generic 6lowpan netdev private data 2015-08-11 22:05:36 +02:00
nhc_dest.c 6lowpan: nhc: add other known rfc6282 compressions 2015-02-14 23:08:44 +01:00
nhc_fragment.c 6lowpan: nhc: add other known rfc6282 compressions 2015-02-14 23:08:44 +01:00
nhc_hop.c 6lowpan: nhc: add other known rfc6282 compressions 2015-02-14 23:08:44 +01:00
nhc_ipv6.c 6lowpan: nhc: add other known rfc6282 compressions 2015-02-14 23:08:44 +01:00
nhc_mobility.c 6lowpan: nhc: add other known rfc6282 compressions 2015-02-14 23:08:44 +01:00
nhc_routing.c 6lowpan: nhc: add other known rfc6282 compressions 2015-02-14 23:08:44 +01:00
nhc_udp.c 6lowpan: move IPHC functionality defines 2015-10-21 00:49:25 +02:00
nhc.c 6lowpan: nhc: move iphc manipulation out of nhc 2015-10-21 00:49:25 +02:00
nhc.h 6lowpan: nhc: move iphc manipulation out of nhc 2015-10-21 00:49:25 +02:00