llsec: Permit dynamic security levels
This commit is contained in:
parent
0379af3624
commit
10d8b05bc6
22 changed files with 137 additions and 122 deletions
|
@ -56,28 +56,13 @@
|
|||
#include "net/mac/frame802154.h"
|
||||
#include "net/ip/uip.h"
|
||||
|
||||
#ifdef LLSEC802154_CONF_SECURITY_LEVEL
|
||||
#define LLSEC802154_SECURITY_LEVEL LLSEC802154_CONF_SECURITY_LEVEL
|
||||
#else /* LLSEC802154_CONF_SECURITY_LEVEL */
|
||||
#define LLSEC802154_SECURITY_LEVEL FRAME802154_SECURITY_LEVEL_NONE
|
||||
#endif /* LLSEC802154_CONF_SECURITY_LEVEL */
|
||||
#ifdef LLSEC802154_CONF_ENABLED
|
||||
#define LLSEC802154_ENABLED LLSEC802154_CONF_ENABLED
|
||||
#else /* LLSEC802154_CONF_ENABLED */
|
||||
#define LLSEC802154_ENABLED 0
|
||||
#endif /* LLSEC802154_CONF_ENABLED */
|
||||
|
||||
#if ((LLSEC802154_SECURITY_LEVEL < 0) || (LLSEC802154_SECURITY_LEVEL > 7))
|
||||
#error "unsupported security level"
|
||||
#endif
|
||||
|
||||
#define LLSEC802154_SECURITY_LEVEL_MIC (LLSEC802154_SECURITY_LEVEL & 3)
|
||||
#if LLSEC802154_SECURITY_LEVEL_MIC
|
||||
#define LLSEC802154_MIC_LENGTH (2 << LLSEC802154_SECURITY_LEVEL_MIC)
|
||||
#else
|
||||
#define LLSEC802154_MIC_LENGTH 0
|
||||
#endif
|
||||
|
||||
#ifdef LLSEC802154_CONF_USES_ENCRYPTION
|
||||
#define LLSEC802154_USES_ENCRYPTION LLSEC802154_CONF_USES_ENCRYPTION
|
||||
#else /* LLSEC802154_CONF_USES_ENCRYPTION */
|
||||
#define LLSEC802154_USES_ENCRYPTION (LLSEC802154_SECURITY_LEVEL & (1 << 2))
|
||||
#endif /* LLSEC802154_CONF_USES_ENCRYPTION */
|
||||
#define LLSEC802154_MIC_LEN(sec_lvl) (2 << (sec_lvl & 3))
|
||||
|
||||
#ifdef LLSEC802154_CONF_USES_EXPLICIT_KEYS
|
||||
#define LLSEC802154_USES_EXPLICIT_KEYS LLSEC802154_CONF_USES_EXPLICIT_KEYS
|
||||
|
@ -88,9 +73,15 @@
|
|||
#ifdef LLSEC802154_CONF_USES_FRAME_COUNTER
|
||||
#define LLSEC802154_USES_FRAME_COUNTER LLSEC802154_CONF_USES_FRAME_COUNTER
|
||||
#else /* LLSEC802154_CONF_USES_FRAME_COUNTER */
|
||||
#define LLSEC802154_USES_FRAME_COUNTER (LLSEC802154_SECURITY_LEVEL != FRAME802154_SECURITY_LEVEL_NONE)
|
||||
#define LLSEC802154_USES_FRAME_COUNTER LLSEC802154_ENABLED
|
||||
#endif /* LLSEC802154_CONF_USES_FRAME_COUNTER */
|
||||
|
||||
#ifdef LLSEC802154_CONF_USES_AUX_HEADER
|
||||
#define LLSEC802154_USES_AUX_HEADER LLSEC802154_CONF_USES_AUX_HEADER
|
||||
#else /* LLSEC802154_CONF_USES_AUX_HEADER */
|
||||
#define LLSEC802154_USES_AUX_HEADER LLSEC802154_ENABLED
|
||||
#endif /* LLSEC802154_CONF_USES_AUX_HEADER */
|
||||
|
||||
#if UIP_BYTE_ORDER == UIP_LITTLE_ENDIAN
|
||||
#define LLSEC802154_HTONS(n) (n)
|
||||
#define LLSEC802154_HTONL(n) (n)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue