Re: [PATCH bluetooth-next 00/16] ieee802154: 6lowpan: cleanup and rework dispatch evaluation

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Alex,

> this patch series contains a rework of 802.15.4 6LoWPAN receive handling.
> We need to check on some things before which never checked before, like
> is 802.15.4 dataframe, if we can access skb->data[0] (could be that skb->len
> is 0 then), etc.
> 
> Also various bug fixes like the masking for fragmentation dispatch value which
> is currently wrong. Also we should again check the dispatch value after successful
> reassembly a fragment, we currently assume always a iphc header there. This is wrong
> it could also be a non-compressed header. This can occur if the compressed header is
> larger than lower interface MTU size, we doesn't react on this while transmit which
> is another issue. Nevertheless we also don't reach this case at worst-case compression
> currently.
> 
> I introduced a complete new handling for the dispatch values based on mac80211
> receive handling mechanism.
> 
> - Alex
> 
> Cc: Jukka Rissanen <jukka.rissanen@xxxxxxxxxxxxxxx>
> 
> changes since PATCH:
> - rebase to current bluetooth-next/master
> - remove unnecessary else branch in fragmentation handling
> - add more detailed "why" in the commit message of "ieee802154: 6lowpan:
>   register packet layer while open"
> - replace magic numbers for getting dgram size high bytes by some defines.
> - Add the "Updated Last" date at iana code commentary for dispatch values. 
> - Add Jukka into Cc: because we touch the 6LoWPAN generic branch. (Should only
>   802.15.4 related changes there, see "ieee820154: 6lowpan: dispatch
>   evaluation rework"
> - Add several "Reviewed-by: Stefan Schmidt <stefan@xxxxxxxxxxxxxxx>", thanks
>   for giving some feedback. 
> 
> changes since v2:
> - I know there is some patch on net-next which occurs in merge conflicts, I
>   will wait until this patch is in bluetooth-next before sending as PATCH.
> - fix the "ieee820154: 6lowpan: dispatch evaluation rework" by also doing
>   dispatch evaluation on FRAG1. Also we do now FRAG1 uncompression (if iphc)
>   on-the-fly. This is currently solved by doing special lltype handling
>   in generic 6LoWPAN. Maybe we can introduce some "payload_len" parameter
>   to the uncompression functions, to avoid the use of skb->cb.
>   The complete patch looks different now, I fixup also some other patches into
>   this patch.
>   Also add skb_unshare on dispatches where we manipulate the skb data.
>   Change address handling for fragmentation for parse again skb_mac_header instead
>   using skb->cb which was filled from lower layer.
> - replace the removal of wdev running patch "ieee802154: 6lowpan: change if
>   lowpan dev is running".
> - add lowpan_dff dispatch.
> - change reserved dispatch values to use ranges.
> - add "ieee802154: 6lowpan: register packet layer while open".
> - add "ieee802154: 6lowpan: remove check on null".
> - change order at "ieee802154: 6lowpan: trivial checks at" to check on
>   "wdev->type != ARPHRD_IEEE802154" at first.
> - change "ieee802154: 6lowpan: check on valid 802.15.4 frame", we don't need
>   to check on addr none. Dataframes which belongs to a "node" type should always
>   have source and destination addresses. This need to be handled in the lower layers.
> - add "ieee802154: 6lowpan: remove tx full-size" which removes a ugly workaround
>   to calculate the full size of iphc packet. We don't need it since we use FRAG1
>   uncompression on the fly. Also change this behaviour for transmit and remove
>   the ugly workaround functions.
> 
> Alexander Aring (16):
>  ieee802154: 6lowpan: change dev vars to wdev and ldev
>  ieee802154: 6lowpan: register packet layer while open
>  ieee802154: 6lowpan: remove check on null
>  ieee802154: 6lowpan: remove set to zero
>  ieee802154: 6lowpan: remove EXPORT_SYMBOL
>  ieee802154: 6lowpan: change if lowpan dev is running
>  ieee802154: 6lowpan: cleanup pull of iphc bytes
>  ieee802154: 6lowpan: trivial checks at first
>  ieee802154: 6lowpan: earlier skb->dev switch
>  ieee820154: 6lowpan: dispatch evaluation rework
>  ieee802154: 6lowpan: add generic lowpan header check
>  ieee802154: 6lowpan: add handler for all dispatch values
>  ieee802154: 6lowpan: add check for reserved dispatch
>  ieee802154: 6lowpan: check on valid 802.15.4 frame
>  ieee802154: 6lowpan: remove packet type to host
>  ieee802154: 6lowpan: remove tx full-size calc workaround
> 
> include/linux/ieee802154.h          |  25 +++
> include/net/6lowpan.h               | 144 +++------------
> include/net/mac802154.h             |  15 ++
> net/6lowpan/iphc.c                  |  13 +-
> net/6lowpan/nhc_udp.c               |  13 +-
> net/ieee802154/6lowpan/6lowpan_i.h  |  14 +-
> net/ieee802154/6lowpan/core.c       | 116 ++++++------
> net/ieee802154/6lowpan/reassembly.c | 157 +++++++++++-----
> net/ieee802154/6lowpan/rx.c         | 352 ++++++++++++++++++++++++++++--------
> net/ieee802154/6lowpan/tx.c         |  51 +++---
> 10 files changed, 572 insertions(+), 328 deletions(-)

all 16 patches have been applied to bluetooth-next tree.

Regards

Marcel

--
To unsubscribe from this list: send the line "unsubscribe linux-wpan" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Linux Audio Users]     [Photo]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux