1. 01 3月, 2014 1 次提交
    • A
      6lowpan: fix fragmentation on sending side · 96cb3eb7
      Alexander Aring 提交于
      This patch fix the fragmentation on sending side according to rfc4944.
      
      Also add improvement to use the full payload of a PDU which calculate
      the nearest divided to 8 payload length for the fragmentation datagram
      size attribute.
      
      The main issue is that the datagram size of fragmentation header use the
      ipv6 payload length, but rfc4944 says it's the ipv6 payload length inclusive
      network header size (and transport header size if compressed).
      Signed-off-by: NAlexander Aring <alex.aring@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      96cb3eb7
  2. 11 2月, 2014 1 次提交
  3. 10 2月, 2014 1 次提交
  4. 06 1月, 2014 1 次提交
    • D
      net: 6lowpan: fix lowpan_header_create non-compression memcpy call · 965801e1
      Daniel Borkmann 提交于
      In function lowpan_header_create(), we invoke the following code
      construct:
      
        struct ipv6hdr *hdr;
        ...
        hdr = ipv6_hdr(skb);
        ...
        if (...)
          memcpy(hc06_ptr + 1, &hdr->flow_lbl[1], 2);
        else
          memcpy(hc06_ptr, &hdr, 4);
      
      Where the else path of the condition, that is, non-compression
      path, calls memcpy() with a pointer to struct ipv6hdr *hdr as
      source, thus two levels of indirection. This cannot be correct,
      and likely only one level of pointer was intended as source
      buffer for memcpy() here.
      
      Fixes: 44331fe2 ("IEEE802.15.4: 6LoWPAN basic support")
      Signed-off-by: NDaniel Borkmann <dborkman@redhat.com>
      Cc: Alexander Smirnov <alex.bluesman.smirnov@gmail.com>
      Cc: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
      Cc: Werner Almesberger <werner@almesberger.net>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      965801e1
  5. 13 12月, 2013 1 次提交
  6. 12 12月, 2013 1 次提交
  7. 15 11月, 2013 1 次提交
    • J
      6lowpan: Uncompression of traffic class field was incorrect · 1188f054
      Jukka Rissanen 提交于
      If priority/traffic class field in IPv6 header is set (seen when
      using ssh), the uncompression sets the TC and Flow fields incorrectly.
      
      Example:
      
      This is IPv6 header of a sent packet. Note the priority/TC (=1) in
      the first byte.
      
      00000000: 61 00 00 00 00 2c 06 40 fe 80 00 00 00 00 00 00
      00000010: 02 02 72 ff fe c6 42 10 fe 80 00 00 00 00 00 00
      00000020: 02 1e ab ff fe 4c 52 57
      
      This gets compressed like this in the sending side
      
      00000000: 72 31 04 06 02 1e ab ff fe 4c 52 57 ec c2 00 16
      00000010: aa 2d fe 92 86 4e be c6 ....
      
      In the receiving end, the packet gets uncompressed to this
      IPv6 header
      
      00000000: 60 06 06 02 00 2a 1e 40 fe 80 00 00 00 00 00 00
      00000010: 02 02 72 ff fe c6 42 10 fe 80 00 00 00 00 00 00
      00000020: ab ff fe 4c 52 57 ec c2
      
      First four bytes are set incorrectly and we have also lost
      two bytes from destination address.
      
      The fix is to switch the case values in switch statement
      when checking the TC field.
      Signed-off-by: NJukka Rissanen <jukka.rissanen@linux.intel.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      1188f054
  8. 08 11月, 2013 1 次提交
  9. 31 10月, 2013 4 次提交
  10. 29 10月, 2013 5 次提交
  11. 09 10月, 2013 2 次提交
  12. 21 8月, 2013 5 次提交
  13. 29 5月, 2013 1 次提交
  14. 08 4月, 2013 1 次提交
  15. 27 3月, 2013 11 次提交
  16. 07 2月, 2013 2 次提交
  17. 19 1月, 2013 1 次提交