08 Jul, 2016

1 commit

  • This patch adds netns support for 802.15.4 subsystem. Most parts are
    copy&pasted from wireless subsystem, it has the identically userspace
    API.

    Cc: Nicolas Dichtel
    Reviewed-by: Stefan Schmidt
    Signed-off-by: Alexander Aring
    Signed-off-by: Marcel Holtmann

    Alexander Aring
     

30 May, 2016

1 commit


27 Apr, 2016

1 commit

  • …etooth/bluetooth-next

    Johan Hedberg says:

    ====================
    pull request: bluetooth-next 2016-04-26

    Here's another set of Bluetooth & 802.15.4 patches for the 4.7 kernel:

    - Cleanups & refactoring of ieee802154 & 6lowpan code
    - Security related additions to ieee802154 and mrf24j40 driver
    - Memory corruption fix to Bluetooth 6lowpan code
    - Race condition fix in vhci driver
    - Enhancements to the atusb 802.15.4 driver

    Please let me know if there are any issues pulling. Thanks.
    ====================

    Signed-off-by: David S. Miller <davem@davemloft.net>

    David S. Miller
     

26 Apr, 2016

1 commit


24 Apr, 2016

1 commit


13 Apr, 2016

1 commit

  • The generation of autoconfigured IPv6 link-local addresses starts with a
    notification on interface up.

    To handle autoconfiguration according to RFC 4944 requires pan id and
    short address to generate an autoconfigured link-local address. This
    patch will avoid changing of these link-layer address configuration
    while lowpan interface is up.

    Reviewed-by: Stefan Schmidt
    Signed-off-by: Alexander Aring
    Acked-by: Jukka Rissanen
    Signed-off-by: Marcel Holtmann

    Alexander Aring
     

03 Oct, 2015

1 commit


30 Sep, 2015

2 commits

  • This patch adds support for accessing mac802154 llsec implementation
    over nl802154. I added for a new Kconfig entry to provide this
    functionality CONFIG_IEEE802154_NL802154_EXPERIMENTAL. This interface is
    still in development. It provides to change security parameters and
    add/del/dump entries of security tables. Later we can add also a get to
    get an entry by unique identifier.

    Cc: Phoebe Buckheister
    Signed-off-by: Alexander Aring
    Signed-off-by: Marcel Holtmann

    Alexander Aring
     
  • This patch uses the nla_get_le64 function instead of doing a force
    converting to le64.

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

    Alexander Aring
     

29 Aug, 2015

1 commit

  • So far we handled boolean input by forcing them with !! and assigning
    them into a bool. This allowed userspace to send values > 1 which were
    used as 1. We should be stricter here and return -EINVAL for all but
    0 or 1.

    Signed-off-by: Stefan Schmidt
    Acked-by: Alexander Aring
    Signed-off-by: Marcel Holtmann

    Stefan Schmidt
     

11 Aug, 2015

1 commit

  • This patch introduce a new mib entry which isn't part of 802.15.4 but
    useful as default behaviour to set the ack request bit or not if we
    don't know if the ack request bit should set. This is currently used for
    stacks like IEEE 802.15.4 6LoWPAN.

    Reviewed-by: Stefan Schmidt
    Signed-off-by: Alexander Aring
    Signed-off-by: Marcel Holtmann

    Alexander Aring
     

04 Jun, 2015

1 commit

  • This patch will export the supported commands by the devices
    to the userspace. This will be useful to check if HardMAC
    drivers can support a specific command or not.

    Signed-off-by: Varka Bhadram
    Acked-by: Alexander Aring
    Signed-off-by: Marcel Holtmann

    Varka Bhadram
     

28 May, 2015

2 commits


27 May, 2015

2 commits


19 May, 2015

8 commits

  • This patch add support to nl802154 to dump all phy capabilities which is
    inside the wpan_phy_supported struct. Also we introduce a new method to
    dumping supported channels. The new method will offer a easier interface
    and has lesser netlink traffic.

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

    Alexander Aring
     
  • This patch adds capability flags for supported interface types.

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

    Alexander Aring
     
  • This patch introduce a flag property for the wpan phy structure.
    The current flag settings in ieee802154_hw are accessable in mac802154
    layer only which is okay for flags which indicates MAC handling which
    are done by phy. For real PHY layer settings like cca mode, transmit
    power, cca energy detection level.

    The difference between these flags are that the MAC handling flags are
    only handled in mac802154/HardMac layer e.g. on an interface up. The phy
    settings are direct netlink calls from nl802154 into the driver layer
    and the nl802154 need to have a chance to check if the driver supports
    this handling before sending to the next layer.

    We also check now on PHY flags while dumping and setting pib attributes.
    In comparing with MIB attributes the 802.15.4 gives us an default value
    which we assume when a transceiver implement less functionality. In case
    of MIB settings the nl802154 layer doesn't need to check on the
    ieee802154_hw flags then.

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

    Alexander Aring
     
  • This patch adds support for phy supported handling for all other already
    existing handling 802.15.4 functionality. We assume now a fully 802.15.4
    complaint transceiver at phy allocation. If a transceiver can support
    802.15.4 default values only, then the values should be overwirtten by
    values the transceiver supports. If the transceiver doesn't set the
    according hardware flags, we assume the 802.15.4 defaults now which
    cannot be changed.

    Signed-off-by: Alexander Aring
    Suggested-by: Phoebe Buckheister
    Signed-off-by: Marcel Holtmann

    Alexander Aring
     
  • This patch introduce the wpan_phy_supported struct for wpan_phy. There
    is currently no way to check if a transceiver can handle IEEE 802.15.4
    complaint values. With this struct we can check before if the
    transceiver supports these values before sending to driver layer.

    Signed-off-by: Alexander Aring
    Suggested-by: Phoebe Buckheister
    Acked-by: Varka Bhadram
    Cc: Alan Ott
    Signed-off-by: Marcel Holtmann

    Alexander Aring
     
  • This patch change the transmit power from s8 to s32. This prepares to store a
    mbm value instead dbm inside the transmit power variable. The old
    interface keep the a s8 dbm value, which should be backward compatibility
    when assign s8 to s32.

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

    Alexander Aring
     
  • This patch moves the value validation out of softmac layer. We need
    to be sure now that this value is accepted by the transceiver/mac802154 or
    "possible" hardmac drivers before calling rdev-ops.

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

    Alexander Aring
     
  • This patch cleanups the -EINVAL cases by combining them in one
    condition.

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

    Alexander Aring
     

01 May, 2015

1 commit

  • This code is based on commit 6bab2e19c5ffd
    ("cfg80211: pass name_assign_type to rdev_add_virtual_intf()")

    This will expose in sysfs whether the ifname of a IEEE-802.15.4
    device is set by userspace or generated by the kernel.
    We are using two types of name_assign_types
    o NET_NAME_ENUM: Default interface name provided by kernel
    o NET_NAME_USER: Interface name provided by user.

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

    Varka Bhadram
     

18 Jan, 2015

1 commit

  • Contrary to common expectations for an "int" return, these functions
    return only a positive value -- if used correctly they cannot even
    return 0 because the message header will necessarily be in the skb.

    This makes the very common pattern of

    if (genlmsg_end(...) < 0) { ... }

    be a whole bunch of dead code. Many places also simply do

    return nlmsg_end(...);

    and the caller is expected to deal with it.

    This also commonly (at least for me) causes errors, because it is very
    common to write

    if (my_function(...))
    /* error condition */

    and if my_function() does "return nlmsg_end()" this is of course wrong.

    Additionally, there's not a single place in the kernel that actually
    needs the message length returned, and if anyone needs it later then
    it'll be very easy to just use skb->len there.

    Remove this, and make the functions void. This removes a bunch of dead
    code as described above. The patch adds lines because I did

    - return nlmsg_end(...);
    + nlmsg_end(...);
    + return 0;

    I could have preserved all the function's return values by returning
    skb->len, but instead I've audited all the places calling the affected
    functions and found that none cared. A few places actually compared
    the return value with < 0 with no change in behaviour, so I opted for the more
    efficient version.

    One instance of the error I've made numerous times now is also present
    in net/phonet/pn_netlink.c in the route_dumpit() function - it didn't
    check for
    Signed-off-by: David S. Miller

    Johannes Berg
     

19 Dec, 2014

2 commits


17 Nov, 2014

5 commits


12 Nov, 2014

7 commits