nRF Connect SDK API 3.3.99
Loading...
Searching...
No Matches
DECT NR+ L2 Networking Layer

DECT NR+ L2 Networking Layer public header. More...

Data Structures

struct  dect_rssi_scan_params
 RSSI scan parameters. More...
 
struct  dect_scan_params
 Network scan parameters. More...
 
struct  dect_network_beacon_data
 Network beacon data. More...
 
struct  dect_rx_signal_info
 Received signal information. More...
 
struct  dect_route_info
 Route info. More...
 
struct  dect_scan_result_evt
 DECT scan result event, each result is provided to the net_mgmt_event_callback via its info attribute (see net_mgmt.h) More...
 
struct  dect_associate_req_params
 Associate request parameters. More...
 
struct  dect_associate_rel_params
 Associate release parameters. More...
 
struct  dect_cluster_start_req_params
 Cluster start request parameters. More...
 
struct  dect_cluster_reconfig_req_params
 Cluster reconfiguration request parameters. More...
 
struct  dect_cluster_stop_req_params
 Cluster stop request parameters. More...
 
struct  dect_neighbor_info_req_params
 Neighbor info request parameters. More...
 
struct  dect_nw_beacon_start_req_params
 Network beacon start request parameters. More...
 
struct  dect_nw_beacon_stop_req_params
 Network beacon stop request parameters. More...
 
struct  dect_rssi_scan_result_data
 DECT RSSI scan result event. More...
 
struct  dect_rssi_scan_result_evt
 DECT RSSI scan result event. More...
 
struct  dect_association_released_evt
 DECT association released event. More...
 
struct  dect_association_changed_evt
 DECT association changed event. More...
 
struct  dect_cluster_start_resp_evt
 DECT cluster start resp event. More...
 
struct  dect_network_status_evt
 DECT network status event. More...
 
struct  dect_sink_status_evt
 DECT sink status event. More...
 
struct  dect_neighbor_list_evt
 Neighbor list event. More...
 
struct  dect_neighbor_info_evt
 Neighbor info event. More...
 
struct  dect_cluster_info_evt
 Cluster info event. More...
 
struct  dect_common_resp_evt
 Common response event. More...
 
struct  dect_settings_cmd_params
 Settings command parameters. More...
 
struct  dect_settings_cluster
 FT device: cluster settings. More...
 
struct  dect_settings_network_beacon
 Network beacon settings. More...
 
struct  dect_settings_association
 Association settings. More...
 
struct  dect_settings_auto_start
 Auto-start settings. More...
 
struct  dect_settings_network_join
 Network join settings. More...
 
struct  dect_settings_rssi_scan
 RSSI scan settings. More...
 
struct  dect_settings_identities
 Identities settings. More...
 
struct  dect_settings_common_tx
 Common TX settings. More...
 
struct  dect_settings_security_conf
 Security configuration. More...
 
struct  dect_settings
 DECT NR+ Settings. More...
 
struct  dect_association_data
 Association data. More...
 
struct  dect_status_info
 DECT NR+ status information. More...
 
struct  dect_nr_hal_api
 DECT NR+ HAL API. More...
 
struct  dect_net_ipv6_prefix_config
 IPv6 Address configuration. More...
 
struct  dect_net_l2_context
 DECT NR+ L2 context. More...
 

Macros

#define DECT_MAX_CHANNELS_IN_RSSI_SCAN   20
 
#define DECT_MAX_CHANNELS_IN_NETWORK_SCAN_REQ   20
 
#define DECT_MAX_ADDITIONAL_NW_BEACON_CHANNELS   3
 
#define DECT_CLUSTER_CHANNEL_ANY   0
 Any suitable channel on set band.
 
#define DECT_L2_MAX_NEIGHBOR_LIST_ITEM_COUNT   50
 
#define DECT_DEVICE_TYPE_FT   0x01U /** Fixed Terminal */
 
#define DECT_DEVICE_TYPE_PT   0x02U /** Portable Terminal */
 
#define DECT_NW_BEACON_CHANNEL_NOT_USED   UINT16_MAX
 
#define DECT_SETT_NETWORK_JOIN_TARGET_FT_ANY   0
 
#define DECT_INTEGRITY_KEY_LENGTH   16
 
#define DECT_CIPHER_KEY_LENGTH   16
 
#define DECT_L2   DECT
 
#define DECT_L2_CTX_TYPE   struct dect_net_l2_context
 

Typedefs

typedef void(* dect_scan_result_cb_t) (struct net_if *iface, enum dect_status_values status, struct dect_scan_result_evt *entry)
 Scan result callback.
 
typedef uint32_t dect_device_type_t
 

Enumerations

enum  dect_status_values {
  DECT_STATUS_OK = 0x0000 , DECT_STATUS_FAIL = 0x0001 , DECT_STATUS_INVALID_PARAM = 0x0002 , DECT_STATUS_NOT_ALLOWED = 0x0003 ,
  DECT_STATUS_NO_CONFIG = 0x0004 , DECT_STATUS_RD_NOT_FOUND = 0x0005 , DECT_STATUS_TEMP_FAILURE = 0x0006 , DECT_STATUS_NO_RESOURCES = 0x0007 ,
  DECT_STATUS_NO_RESPONSE = 0x0008 , DECT_STATUS_NW_REJECT = 0x0009 , DECT_STATUS_NO_MEMORY = 0x000A , DECT_STATUS_NO_RSSI_RESULTS = 0x000B ,
  DECT_STATUS_TX_TIMEOUT = 0x000C , DECT_STATUS_OS_ERROR = 0xFFFE , DECT_STATUS_UNKNOWN = 0xFFFF
}
 DECT-2020 NR Part 4: MAC specification. More...
 
enum  dect_nw_beacon_period {
  DECT_NW_BEACON_PERIOD_50MS = 0 , DECT_NW_BEACON_PERIOD_100MS = 1 , DECT_NW_BEACON_PERIOD_500MS = 2 , DECT_NW_BEACON_PERIOD_1000MS = 3 ,
  DECT_NW_BEACON_PERIOD_1500MS = 4 , DECT_NW_BEACON_PERIOD_2000MS = 5 , DECT_NW_BEACON_PERIOD_4000MS = 6
}
 Network beacon period. More...
 
enum  dect_cluster_beacon_period {
  DECT_CLUSTER_BEACON_PERIOD_10MS = 0 , DECT_CLUSTER_BEACON_PERIOD_50MS = 1 , DECT_CLUSTER_BEACON_PERIOD_100MS = 2 , DECT_CLUSTER_BEACON_PERIOD_500MS = 3 ,
  DECT_CLUSTER_BEACON_PERIOD_1000MS = 4 , DECT_CLUSTER_BEACON_PERIOD_1500MS = 5 , DECT_CLUSTER_BEACON_PERIOD_2000MS = 6 , DECT_CLUSTER_BEACON_PERIOD_4000MS = 7 ,
  DECT_CLUSTER_BEACON_PERIOD_8000MS = 8 , DECT_CLUSTER_BEACON_PERIOD_16000MS = 9 , DECT_CLUSTER_BEACON_PERIOD_32000MS = 10
}
 Cluster beacon period. More...
 
enum  dect_scan_result_evt_type { DECT_SCAN_RESULT_TYPE_CLUSTER_BEACON = 0 , DECT_SCAN_RESULT_TYPE_NW_BEACON }
 Scan result event type. More...
 
enum  dect_association_reject_cause {
  DECT_ASSOCIATION_REJECT_CAUSE_NO_RADIO_CAPACITY = 0 , DECT_ASSOCIATION_REJECT_CAUSE_NO_HW_CAPACITY = 1 , DECT_ASSOCIATION_REJECT_CAUSE_CONFLICTED_SHORT_ID = 2 , DECT_ASSOCIATION_REJECT_CAUSE_SECURITY_NEEDED = 3 ,
  DECT_ASSOCIATION_REJECT_CAUSE_OTHER_REASON = 5 , DECT_ASSOCIATION_NO_RESPONSE = 6
}
 Association reject causes. More...
 
enum  dect_association_reject_time {
  DECT_ASSOCIATION_REJECT_TIME_0S = 0 , DECT_ASSOCIATION_REJECT_TIME_5S = 1 , DECT_ASSOCIATION_REJECT_TIME_10S = 2 , DECT_ASSOCIATION_REJECT_TIME_30S = 3 ,
  DECT_ASSOCIATION_REJECT_TIME_60S = 4 , DECT_ASSOCIATION_REJECT_TIME_120S = 5 , DECT_ASSOCIATION_REJECT_TIME_180S = 6 , DECT_ASSOCIATION_REJECT_TIME_300S = 7 ,
  DECT_ASSOCIATION_REJECT_TIME_600S = 8
}
 Association reject times. More...
 
enum  dect_rssi_scan_result_verdict { DECT_RSSI_SCAN_VERDICT_UNKNOWN , DECT_RSSI_SCAN_VERDICT_FREE , DECT_RSSI_SCAN_VERDICT_POSSIBLE , DECT_RSSI_SCAN_VERDICT_BUSY }
 RSSI scan result verdict. More...
 
enum  dect_association_release_cause {
  DECT_RELEASE_CAUSE_CONNECTION_TERMINATION = 0 , DECT_RELEASE_CAUSE_MOBILITY , DECT_RELEASE_CAUSE_LONG_INACTIVITY , DECT_RELEASE_CAUSE_INCOMPATIBLE_CONFIGURATION ,
  DECT_RELEASE_CAUSE_INSUFFICIENT_HW_RESOURCES , DECT_RELEASE_CAUSE_INSUFFICIENT_RADIO_RESOURCES , DECT_RELEASE_CAUSE_BAD_RADIO_QUALITY , DECT_RELEASE_CAUSE_SECURITY_ERROR ,
  DECT_RELEASE_CAUSE_OTHER_ERROR , DECT_RELEASE_CAUSE_OTHER_REASON , DECT_RELEASE_CAUSE_CUSTOM_RACH_RESOURCE_FAILURE
}
 Association release causes. More...
 
enum  dect_neighbor_role { DECT_NEIGHBOR_ROLE_PARENT = 0 , DECT_NEIGHBOR_ROLE_CHILD = 1 }
 Neighbor role. More...
 
enum  dect_association_change_type { DECT_ASSOCIATION_CREATED = 0 , DECT_ASSOCIATION_RELEASED = 1 , DECT_ASSOCIATION_REQ_REJECTED = 2 , DECT_ASSOCIATION_REQ_FAILED_MDM = 3 }
 Association change type. More...
 
enum  dect_settings_cmd_params_write_scope {
  DECT_SETTINGS_WRITE_SCOPE_ALL = 0xFFFF , DECT_SETTINGS_WRITE_SCOPE_AUTO_START = 0x0001 , DECT_SETTINGS_WRITE_SCOPE_REGION = 0x0002 , DECT_SETTINGS_WRITE_SCOPE_DEVICE_TYPE = 0x0004 ,
  DECT_SETTINGS_WRITE_SCOPE_IDENTITIES = 0x0008 , DECT_SETTINGS_WRITE_SCOPE_TX = 0x0010 , DECT_SETTINGS_WRITE_SCOPE_POWER_SAVE = 0x0020 , DECT_SETTINGS_WRITE_SCOPE_BAND_NBR = 0x0040 ,
  DECT_SETTINGS_WRITE_SCOPE_RSSI_SCAN = 0x0080 , DECT_SETTINGS_WRITE_SCOPE_CLUSTER = 0x0100 , DECT_SETTINGS_WRITE_SCOPE_NW_BEACON = 0x0200 , DECT_SETTINGS_WRITE_SCOPE_ASSOCIATION = 0x0400 ,
  DECT_SETTINGS_WRITE_SCOPE_NETWORK_JOIN = 0x0800 , DECT_SETTINGS_WRITE_SCOPE_SECURITY_CONFIGURATION = 0x1000
}
 Settings command parameters write scope bitmap. More...
 
enum  dect_settings_region { DECT_SETTINGS_REGION_EU = 0 , DECT_SETTINGS_REGION_US = 1 , DECT_SETTINGS_REGION_GLOBAL }
 Region setting. More...
 
enum  dect_security_mode { DECT_SECURITY_MODE_NONE = 0 , DECT_SECURITY_MODE_1 = 1 }
 Security mode. More...
 

Functions

 NET_L2_DECLARE_PUBLIC (DECT)
 
void dect_net_l2_init (struct net_if *iface, struct dect_settings *driver_initial_settings)
 Calls from driver to L2.
 
void dect_net_l2_settings_changed (struct net_if *iface, struct dect_settings *driver_current_settings)
 Inform L2 that settings have been changed.
 
void dect_net_l2_parent_association_created (struct net_if *iface, uint32_t parent_long_rd_id, struct dect_net_ipv6_prefix_config *ipv6_prefix_config)
 Inform L2 that association with a parent has been created. PT device.
 
void dect_net_l2_child_association_created (struct net_if *iface, uint32_t target_long_rd_id)
 Inform L2 that association with a child has been created. FT device.
 
void dect_net_l2_association_removed (struct net_if *iface, uint32_t long_rd_id, enum dect_association_release_cause cause, bool neighbor_initiated)
 Inform L2 that association has been released.
 
void dect_net_l2_parent_ipv6_config_changed (struct net_if *iface, uint32_t parent_long_rd_id, struct dect_net_ipv6_prefix_config *ipv6_prefix_config)
 PT device: Inform L2 that IPv6 address configuration of a parent has changed.
 

Detailed Description

DECT NR+ L2 Networking Layer public header.

This header file contains the public API for the DECT NR+ L2 Networking Layer.

Implements DECT NR+-aware IPv6 networking layer that integrates with Zephyr networking stack. It provides intelligent packet routing based on DECT cluster topology and RD ID addressing.