1. 25 9月, 2015 1 次提交
  2. 22 9月, 2015 2 次提交
    • A
      ieee802154: change needed headroom/tailroom · 87a93e4e
      Alexander Aring 提交于
      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: NAlexander Aring <alex.aring@gmail.com>
      Signed-off-by: NMarcel Holtmann <marcel@holtmann.org>
      87a93e4e
    • A
      ieee802154: introduce wpan_dev_header_ops · 838b83d6
      Alexander Aring 提交于
      The current header_ops callback structure of net device are used mostly
      from 802.15.4 upper-layers. Because this callback structure is a very
      generic one, which is also used by e.g. DGRAM AF_PACKET sockets, we
      can't make this callback structure 802.15.4 specific which is currently
      is.
      
      I saw the smallest "constraint" for calling this callback with
      dev_hard_header/dev_parse_header by AF_PACKET which assign a 8 byte
      array for address void pointers. Currently 802.15.4 specific protocols
      like af802154 and 6LoWPAN will assign the "struct ieee802154_addr" as
      these parameters which is greater than 8 bytes. The current callback
      implementation for header_ops.create assumes always a complete
      "struct ieee802154_addr" which AF_PACKET can't never handled and is
      greater than 8 bytes.
      
      For that reason we introduce now a "generic" create/parse header_ops
      callback which allows handling with intra-pan extended addresses only.
      This allows a small use-case with AF_PACKET to send "somehow" a valid
      dataframe over DGRAM.
      
      To keeping the current dev_hard_header behaviour we introduce a similar
      callback structure "wpan_dev_header_ops" which contains 802.15.4 specific
      upper-layer header creation functionality, which can be called by
      wpan_dev_hard_header.
      Signed-off-by: NAlexander Aring <alex.aring@gmail.com>
      Signed-off-by: NMarcel Holtmann <marcel@holtmann.org>
      838b83d6
  3. 11 8月, 2015 2 次提交
    • A
      mac802154: change frame_retries behaviour · 89c7d788
      Alexander Aring 提交于
      This patch changes the default minimum value of frame_retries to 0 and
      changes the frame_retries default value to 3 which is also 802.15.4
      default.
      
      We don't use the frame_retries "-1" value as indicator for no-aret mode
      anymore, instead we checking on the ack request bit inside the 802.15.4
      frame control field. This allows a acknowledge handling per frame. This
      checking is done by transceiver or inside xmit callback of driver layer.
      
      If a transceiver doesn't support ARET handling the transmit
      functionality ignores ack frames then, which isn't well but should not
      effect anything of current functionality.
      Reviewed-by: NStefan Schmidt <stefan@osg.samsung.com>
      Signed-off-by: NAlexander Aring <alex.aring@gmail.com>
      Signed-off-by: NMarcel Holtmann <marcel@holtmann.org>
      89c7d788
    • A
      mac802154: fix wpan mac setting while lowpan is there · 09095fdc
      Alexander Aring 提交于
      If we currently change the mac address inside the wpan interface while
      we have a lowpan interface on top of the wpan interface, the mac address
      setting doesn't reach the lowpan interface. The effect would be that the
      IPv6 lowpan interface has the old SLAAC address and isn't working
      anymore because the lowpan interface use in internal mechanism sometimes
      dev->addr which is the old mac address of the wpan interface.
      
      This patch checks if a wpan interface belongs to lowpan interface, if
      yes then we need to check if the lowpan interface is down and change the
      mac address also at the lowpan interface. When the lowpan interface will
      be set up afterwards, it will use the correct SLAAC address which based
      on the updated mac address setting.
      Reviewed-by: NStefan Schmidt <stefan@osg.samsung.com>
      Tested-by: NStefan Schmidt <stefan@osg.samsung.com>
      Signed-off-by: NAlexander Aring <alex.aring@gmail.com>
      Signed-off-by: NMarcel Holtmann <marcel@holtmann.org>
      09095fdc
  4. 23 7月, 2015 2 次提交
  5. 17 6月, 2015 2 次提交
  6. 15 6月, 2015 2 次提交
  7. 09 6月, 2015 1 次提交
  8. 07 6月, 2015 1 次提交
  9. 31 5月, 2015 1 次提交
  10. 27 5月, 2015 1 次提交
  11. 23 5月, 2015 4 次提交
  12. 01 5月, 2015 1 次提交
  13. 28 3月, 2015 1 次提交
  14. 20 12月, 2014 2 次提交
  15. 26 11月, 2014 1 次提交
  16. 17 11月, 2014 3 次提交
  17. 13 11月, 2014 1 次提交
    • A
      mac802154: add interframe spacing time handling · 61f2dcba
      Alexander Aring 提交于
      This patch adds a new interframe spacing time handling into mac802154
      layer. Interframe spacing time is a time period between each transmit.
      This patch adds a high resolution timer into mac802154 and starts on
      xmit complete with corresponding interframe spacing expire time if
      ifs_handling is true. We make it variable because it depends if
      interframe spacing time is handled by transceiver or mac802154. At the
      timer complete function we wake the netdev queue again. This avoids
      new frame transmit in range of interframe spacing time.
      
      For synced driver we add no handling of interframe spacing time. This
      is currently a lack of support in all synced xmit drivers. I suppose
      it's working because the latency of workqueue which is needed to call
      spi_sync.
      Signed-off-by: NAlexander Aring <alex.aring@gmail.com>
      Signed-off-by: NMarcel Holtmann <marcel@holtmann.org>
      61f2dcba
  18. 12 11月, 2014 4 次提交
  19. 10 11月, 2014 5 次提交
  20. 06 11月, 2014 3 次提交