• Phoebe Buckheister's avatar
    mac802154: add llsec structures and mutators · 5d637d5a
    Phoebe Buckheister authored
    This patch adds containers and mutators for the major ieee802154_llsec
    structures to mac802154. Most of the (rather simple) ieee802154_llsec
    structs are wrapped only to provide an rcu_head for orderly disposal,
    but some structs - llsec keys notably - require more complex
    bookkeeping.
    
    Since each llsec key may be referenced by a number of llsec key table
    entries (with differing key ids, but the same actual key), we want to
    save memory and not allocate crypto transforms for each entry in the
    table. Thus, the mac802154 llsec key is reference-counted instead.
    Further, each key will have four associated crypto transforms - three
    CCM transforms for the authsizes 4/8/16 and one CTR transform for
    unauthenticated encryption. If we had a CCM* transform that allowed
    authsize 0, and authsize as part of requests instead of transforms, this
    would not be necessary.
    Signed-off-by: default avatarPhoebe Buckheister <phoebe.buckheister@itwm.fraunhofer.de>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    5d637d5a
llsec.c 12.6 KB