22 Sep, 2015

2 commits

  • This patch cleanups needed_headroom, needed_tailroom and hard_header_len
    fields for wpan and lowpan interfaces.

    For wpan interfaces the worst case mac header len should be part of
    needed_headroom, currently this is set as hard_header_len, but
    hard_header_len should be set to the minimum header length which xmit
    call assumes and this is the minimum frame length of 802.15.4.
    The hard_header_len value will check inside send callbacl of AF_PACKET
    raw sockets.

    For lowpan interfaces, if fragmentation isn't needed the skb will
    call dev_hard_header for 802154 layer and queue it afterwards. This
    happens without new skb allocation, so we need the same headroom and
    tailroom lengths like 802154 inside 802154 6lowpan layer. At least we
    assume as minimum header length an ipv6 header size.

    Signed-off-by: Alexander Aring
    Signed-off-by: Marcel Holtmann

    Alexander Aring
     
  • Sometimes upper-layer protocols wants to generate a new mac header by
    filling "struct ieee802154_hdr" only. These upper-layers sets for the
    address settings the source and dest fields, but not the fc fields for
    indicate the source and dest address mode. This patch changes the
    "ieee802154_hdr_push" function so the fc address fields are set
    according the source and dest fields of "struct ieee802154_hdr".

    Signed-off-by: Alexander Aring
    Signed-off-by: Marcel Holtmann

    Alexander Aring
     

26 Oct, 2014

1 commit

  • This patch moves the ieee802154 header into include/linux instead
    include/net. Similar like wireless which have the ieee80211 header
    inside of include/linux.

    Signed-off-by: Alexander Aring
    Cc: Alan Ott
    Signed-off-by: Marcel Holtmann

    Alexander Aring
     

16 May, 2014

1 commit

  • When dealing with 802.15.4, one often has to know the maximum payload
    size for a given packet. This depends on many factors, one of which is
    whether or not a security header is present in the frame. These
    definitions and functions provide an easy way for any upper layer to
    calculate the maximum payload size for a packet. The first obvious user
    for this is 6lowpan, which duplicates this calculation and gets it
    partially wrong because it ignores security headers.

    Signed-off-by: Phoebe Buckheister
    Signed-off-by: David S. Miller

    Phoebe Buckheister
     

15 Mar, 2014

1 commit

  • This patch provides a set of structures to represent 802.15.4 MAC
    headers, and a set of operations to push/pull/peek these structs from
    skbs. We cannot simply pointer-cast the skb MAC header pointer to these
    structs, because 802.15.4 headers are wildly variable - depending on the
    first three bytes, virtually all other fields of the header may be
    present or not, and be present with different lengths.

    The new header creation/parsing routines also support 802.15.4 security
    headers, which are currently not supported by the mac802154
    implementation of the protocol.

    Signed-off-by: Phoebe Buckheister
    Signed-off-by: David S. Miller

    Phoebe Buckheister