• A
    6lowpan: rework tc and flow label handling · b5af9bdb
    Alexander Aring 提交于
    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: NAlexander Aring <alex.aring@gmail.com>
    Signed-off-by: NMarcel Holtmann <marcel@holtmann.org>
    b5af9bdb
iphc.c 25.3 KB