nRF Connect SDK API 3.4.99
Loading...
Searching...
No Matches
dect_net_l2.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2025 Nordic Semiconductor ASA
3 *
4 * SPDX-License-Identifier: LicenseRef-Nordic-5-Clause
5 */
6
13#ifndef DECT_NET_L2_H_
14#define DECT_NET_L2_H_
15
16#ifdef __cplusplus
17extern "C" {
18#endif
19
51#include <zephyr/net/net_if.h>
52#include <zephyr/net/net_l2.h>
53#include <zephyr/net/net_ip.h>
54#include <zephyr/net/net_pkt.h>
55
56#define DECT_MTU CONFIG_NET_L2_DECT_MTU
57
64#define DECT_NET_L2_LONG_RD_ID_NOT_SET 0U
65
111
125
143
144#define DECT_MAX_CHANNELS_IN_RSSI_SCAN 20
145#define DECT_MAX_CHANNELS_IN_NETWORK_SCAN_REQ 20
146#define DECT_MAX_ADDITIONAL_NW_BEACON_CHANNELS 3
147
155
163
169
187
191 uint8_t mcs;
198 int8_t rssi_2;
200 int8_t snr;
201};
202
212
220
222 uint16_t channel;
228 uint32_t network_id;
229
232
233 /* Network beacon data if beacon_type is DECT_SCAN_RESULT_TYPE_NW_BEACON. */
235
239};
240
247typedef void (*dect_scan_result_cb_t)(struct net_if *iface, enum dect_status_values status,
248 struct dect_scan_result_evt *entry);
249
254
259
261#define DECT_CLUSTER_CHANNEL_ANY 0
262
267
275
279
290
294
313
339
347
363
368
399
408
416
428
432 uint32_t long_rd_id;
433
436
439
440 union {
441 /* Valid if association_change_type is DECT_ASSOCIATION_RELEASED. */
442 struct {
445
449
450 /* Valid if association_change_type is DECT_ASSOCIATION_REQ_REJECTED. */
451 struct {
454
460
461 /* Valid if association_change_type is DECT_ASSOCIATION_REQ_FAILED_MDM. */
462 struct {
466 };
467};
468
474
494
506
507/* Note: change also CONFIG_NET_MGMT_EVENT_INFO_DEFAULT_DATA_SIZE
508 * if changing dect_neighbor_list_evt.
509 */
510#define DECT_L2_MAX_NEIGHBOR_LIST_ITEM_COUNT 50
511
514BUILD_ASSERT(CONFIG_NET_MGMT_EVENT_INFO_DEFAULT_DATA_SIZE >=
515 (DECT_L2_MAX_NEIGHBOR_LIST_ITEM_COUNT * sizeof(uint32_t) + sizeof(uint8_t) +
516 sizeof(int)),
517 "CONFIG_NET_MGMT_EVENT_INFO_DEFAULT_DATA_SIZE too small");
518
529
712
735
740
742typedef uint32_t dect_device_type_t;
743
745#define DECT_DEVICE_TYPE_FT 0x01U
746#define DECT_DEVICE_TYPE_PT 0x02U
770
774
779 /* Bitmask of dect_settings_cmd_params_write_scope */
781 /* Returned bitmask of dect_settings_cmd_params_write_scope for failed scopes,
782 * in success zero.
783 */
785};
786
787#define DECT_NW_BEACON_CHANNEL_NOT_USED UINT16_MAX
788
816
822
836
839 bool activate; /* if true, then auto-activate DECT NR+ stack on bootup */
840};
841
842#define DECT_SETT_NETWORK_JOIN_TARGET_FT_ANY 0
843
849
854
857
859 int32_t free_threshold_dbm; /* if equal or less considered as free */
860 /* rssi_scanning_busy_threshold <= possible < rssi_scanning_free_threshold*/
861 int32_t busy_threshold_dbm; /* if higher considered as busy */
862};
863
870
879
884
886 uint8_t max_mcs;
887};
888
890#define DECT_INTEGRITY_KEY_LENGTH 16
891#define DECT_CIPHER_KEY_LENGTH 16
892
900
910
953
957#define DECT_DLC_DISCARD_TIMER_RELEASE_ASSOC_DISABLED 0
958
960#define DECT_DLC_DISCARD_TIMER_RELEASE_ASSOC_COUNT_MAX UINT8_MAX
961
966#if defined(CONFIG_DECT_MDM_NRF_DLC_DISCARD_TIMER_RELEASE_ASSOC_PEER_TRACKING)
967#define DECT_DLC_DISCARD_TIMER_RELEASE_ASSOC_RUNTIME_MAX \
968 DECT_DLC_DISCARD_TIMER_RELEASE_ASSOC_COUNT_MAX
969#else
970#define DECT_DLC_DISCARD_TIMER_RELEASE_ASSOC_RUNTIME_MAX 1
971#endif
972
987
1035
1039 uint32_t long_rd_id;
1040
1042 struct in6_addr local_ipv6_addr;
1043
1046
1048 struct in6_addr global_ipv6_addr;
1049};
1050
1053
1056
1060
1063
1067
1071 child_associations[CONFIG_DECT_CLUSTER_MAX_CHILD_ASSOCIATION_COUNT];
1072
1074 struct net_if *br_net_iface;
1078
1081};
1082
1089 struct net_if_api iface_api;
1090
1097 int (*status_info_get)(const struct device *dev, struct dect_status_info *status_info_out);
1098
1105 int (*settings_read)(const struct device *dev, struct dect_settings *settings_out);
1106
1114 int (*settings_write)(const struct device *dev, struct dect_settings *settings_in);
1115
1121 int (*activate_req)(const struct device *dev);
1122
1129 int (*deactivate_req)(const struct device *dev);
1130
1138 int (*rssi_scan)(const struct device *dev, struct dect_rssi_scan_params *params);
1139
1149 int (*scan)(const struct device *dev, struct dect_scan_params *params,
1151
1158 int (*associate_req)(const struct device *dev, struct dect_associate_req_params *params);
1159
1166 int (*associate_release)(const struct device *dev,
1167 struct dect_associate_rel_params *params);
1168
1175 int (*cluster_start_req)(const struct device *dev,
1176 struct dect_cluster_start_req_params *params);
1177
1184 int (*cluster_reconfig_req)(const struct device *dev,
1185 struct dect_cluster_reconfig_req_params *params);
1186
1193 int (*cluster_stop_req)(const struct device *dev,
1194 struct dect_cluster_stop_req_params *params);
1195
1202 int (*nw_beacon_start_req)(const struct device *dev,
1203 struct dect_nw_beacon_start_req_params *params);
1204
1211 int (*nw_beacon_stop_req)(const struct device *dev,
1212 struct dect_nw_beacon_stop_req_params *params);
1213
1215 int (*send)(const struct device *dev, struct net_pkt *pkt);
1216
1218 int (*neighbor_list_req)(const struct device *dev);
1219
1221 int (*neighbor_info_req)(const struct device *dev,
1222 struct dect_neighbor_info_req_params *params);
1223
1225 int (*cluster_info_req)(const struct device *dev);
1226
1228 int (*network_create_req)(const struct device *dev);
1229
1231 int (*network_remove_req)(const struct device *dev);
1232
1234 int (*network_join_req)(const struct device *dev);
1235
1237 int (*network_unjoin_req)(const struct device *dev);
1238};
1239
1245 struct in6_addr prefix;
1246};
1247
1251 enum net_l2_flags flags;
1252
1255
1257 uint32_t network_id;
1258
1261
1264 struct in6_addr local_ipv6_addr;
1266 struct in6_addr global_ipv6_addr;
1267#if defined(CONFIG_NET_L2_DECT_ULA)
1269 bool ula_ipv6_configured;
1270 struct in6_addr ula_ipv6_addr;
1272 struct in6_addr ula_iface_prefix;
1274 uint8_t ula_iface_plen_bits;
1275#endif
1276};
1277
1278#if defined(CONFIG_NET_L2_DECT) && defined(CONFIG_NET_IPV6)
1285bool dect_net_l2_parent_ipv6_addr_get(struct net_in6_addr *addr);
1286
1287#if defined(CONFIG_NET_L2_DECT_ULA)
1296bool dect_net_l2_ipv6_dect_ula_onlink_prefix_get(struct net_if *dect_iface,
1297 struct net_in6_addr *pfx_out,
1298 uint8_t *prefix_len_bits_out);
1299#else
1300static inline bool dect_net_l2_ipv6_dect_ula_onlink_prefix_get(struct net_if *dect_iface,
1301 struct net_in6_addr *pfx_out,
1302 uint8_t *prefix_len_bits_out)
1303{
1304 ARG_UNUSED(dect_iface);
1305 ARG_UNUSED(pfx_out);
1306 ARG_UNUSED(prefix_len_bits_out);
1307 return false;
1308}
1309#endif
1310#endif
1311
1312#define DECT_L2 DECT
1314
1316#define DECT_L2_CTX_TYPE struct dect_net_l2_context
1317
1326void dect_net_l2_init(struct net_if *iface, struct dect_settings *driver_initial_settings);
1327
1334void dect_net_l2_settings_changed(struct net_if *iface,
1335 struct dect_settings *driver_current_settings);
1336
1344void dect_net_l2_parent_association_created(struct net_if *iface, uint32_t parent_long_rd_id,
1345 struct dect_net_ipv6_prefix_config *ipv6_prefix_config);
1346
1358int dect_net_l2_child_association_created(struct net_if *iface, uint32_t target_long_rd_id);
1359
1368void dect_net_l2_association_removed(struct net_if *iface, uint32_t long_rd_id,
1370 bool neighbor_initiated);
1371
1379void dect_net_l2_parent_ipv6_config_changed(struct net_if *iface, uint32_t parent_long_rd_id,
1380 struct dect_net_ipv6_prefix_config *ipv6_prefix_config);
1381
1385#ifdef __cplusplus
1386}
1387#endif
1388
1389#endif /* DECT_NET_L2_H_ */
dect_nw_beacon_period
Network beacon period.
Definition dect_net_l2.h:115
@ DECT_NW_BEACON_PERIOD_4000MS
Definition dect_net_l2.h:122
@ DECT_NW_BEACON_PERIOD_1500MS
Definition dect_net_l2.h:120
@ DECT_NW_BEACON_PERIOD_100MS
Definition dect_net_l2.h:117
@ DECT_NW_BEACON_PERIOD_500MS
Definition dect_net_l2.h:118
@ DECT_NW_BEACON_PERIOD_50MS
Definition dect_net_l2.h:116
@ DECT_NW_BEACON_PERIOD_1000MS
Definition dect_net_l2.h:119
@ DECT_NW_BEACON_PERIOD_2000MS
Definition dect_net_l2.h:121
dect_status_values
DECT-2020 NR Part 4: MAC specification.
Definition dect_net_l2.h:74
@ DECT_STATUS_NOT_ALLOWED
Definition dect_net_l2.h:82
@ DECT_STATUS_FAIL
Definition dect_net_l2.h:78
@ DECT_STATUS_TX_TIMEOUT
Definition dect_net_l2.h:103
@ DECT_STATUS_INVALID_PARAM
Definition dect_net_l2.h:80
@ DECT_STATUS_TEMP_FAILURE
Definition dect_net_l2.h:88
@ DECT_STATUS_NO_RSSI_RESULTS
Definition dect_net_l2.h:101
@ DECT_STATUS_OK
Definition dect_net_l2.h:76
@ DECT_STATUS_NO_RESOURCES
Definition dect_net_l2.h:93
@ DECT_STATUS_RD_NOT_FOUND
Definition dect_net_l2.h:86
@ DECT_STATUS_NO_MEMORY
Definition dect_net_l2.h:99
@ DECT_STATUS_UNKNOWN
Definition dect_net_l2.h:109
@ DECT_STATUS_NO_CONFIG
Definition dect_net_l2.h:84
@ DECT_STATUS_NW_REJECT
Definition dect_net_l2.h:97
@ DECT_STATUS_NO_RESPONSE
Definition dect_net_l2.h:95
@ DECT_STATUS_OS_ERROR
Definition dect_net_l2.h:106
dect_rssi_scan_result_verdict
RSSI scan result verdict.
Definition dect_net_l2.h:341
@ DECT_RSSI_SCAN_VERDICT_BUSY
Definition dect_net_l2.h:345
@ DECT_RSSI_SCAN_VERDICT_POSSIBLE
Definition dect_net_l2.h:344
@ DECT_RSSI_SCAN_VERDICT_UNKNOWN
Definition dect_net_l2.h:342
@ DECT_RSSI_SCAN_VERDICT_FREE
Definition dect_net_l2.h:343
#define DECT_MAX_CHANNELS_IN_NETWORK_SCAN_REQ
Definition dect_net_l2.h:145
int 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.
#define DECT_INTEGRITY_KEY_LENGTH
Definition dect_net_l2.h:890
dect_settings_region
Region setting.
Definition dect_net_l2.h:865
@ DECT_SETTINGS_REGION_GLOBAL
Definition dect_net_l2.h:868
@ DECT_SETTINGS_REGION_US
Definition dect_net_l2.h:867
@ DECT_SETTINGS_REGION_EU
Definition dect_net_l2.h:866
#define DECT_MAX_ADDITIONAL_NW_BEACON_CHANNELS
Definition dect_net_l2.h:146
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.
#define DECT_L2
Definition dect_net_l2.h:1312
dect_association_change_type
Association change type.
Definition dect_net_l2.h:418
@ DECT_ASSOCIATION_CREATED
Definition dect_net_l2.h:420
@ DECT_ASSOCIATION_REQ_REJECTED
Definition dect_net_l2.h:424
@ DECT_ASSOCIATION_REQ_FAILED_MDM
Definition dect_net_l2.h:426
@ DECT_ASSOCIATION_RELEASED
Definition dect_net_l2.h:422
void dect_net_l2_init(struct net_if *iface, struct dect_settings *driver_initial_settings)
Calls from driver to L2.
dect_security_mode
Security mode.
Definition dect_net_l2.h:894
@ DECT_SECURITY_MODE_NONE
Definition dect_net_l2.h:896
@ DECT_SECURITY_MODE_1
Definition dect_net_l2.h:898
dect_association_release_cause
Association release causes.
Definition dect_net_l2.h:373
@ DECT_RELEASE_CAUSE_OTHER_REASON
Definition dect_net_l2.h:393
@ DECT_RELEASE_CAUSE_CONNECTION_TERMINATION
Definition dect_net_l2.h:375
@ DECT_RELEASE_CAUSE_LONG_INACTIVITY
Definition dect_net_l2.h:379
@ DECT_RELEASE_CAUSE_OTHER_ERROR
Definition dect_net_l2.h:391
@ DECT_RELEASE_CAUSE_CUSTOM_RACH_RESOURCE_FAILURE
Definition dect_net_l2.h:397
@ DECT_RELEASE_CAUSE_SECURITY_ERROR
Definition dect_net_l2.h:389
@ DECT_RELEASE_CAUSE_INSUFFICIENT_RADIO_RESOURCES
Definition dect_net_l2.h:385
@ DECT_RELEASE_CAUSE_BAD_RADIO_QUALITY
Definition dect_net_l2.h:387
@ DECT_RELEASE_CAUSE_INSUFFICIENT_HW_RESOURCES
Definition dect_net_l2.h:383
@ DECT_RELEASE_CAUSE_INCOMPATIBLE_CONFIGURATION
Definition dect_net_l2.h:381
@ DECT_RELEASE_CAUSE_MOBILITY
Definition dect_net_l2.h:377
dect_dlc_sdu_lifetime
DLC SDU discard-timer (lifetime).
Definition dect_net_l2.h:919
@ DECT_DLC_SDU_LIFETIME_200_MS
Definition dect_net_l2.h:934
@ DECT_DLC_SDU_LIFETIME_150_MS
Definition dect_net_l2.h:933
@ DECT_DLC_SDU_LIFETIME_1_S
Definition dect_net_l2.h:939
@ DECT_DLC_SDU_LIFETIME_30_MS
Definition dect_net_l2.h:925
@ DECT_DLC_SDU_LIFETIME_750_MS
Definition dect_net_l2.h:938
@ DECT_DLC_SDU_LIFETIME_60_S
Definition dect_net_l2.h:950
@ DECT_DLC_SDU_LIFETIME_INFINITY
Definition dect_net_l2.h:951
@ DECT_DLC_SDU_LIFETIME_80_MS
Definition dect_net_l2.h:930
@ DECT_DLC_SDU_LIFETIME_3_S
Definition dect_net_l2.h:943
@ DECT_DLC_SDU_LIFETIME_8_S
Definition dect_net_l2.h:947
@ DECT_DLC_SDU_LIFETIME_4_S
Definition dect_net_l2.h:944
@ DECT_DLC_SDU_LIFETIME_50_MS
Definition dect_net_l2.h:927
@ DECT_DLC_SDU_LIFETIME_1_MS
Definition dect_net_l2.h:921
@ DECT_DLC_SDU_LIFETIME_10_MS
Definition dect_net_l2.h:923
@ DECT_DLC_SDU_LIFETIME_90_MS
Definition dect_net_l2.h:931
@ DECT_DLC_SDU_LIFETIME_1_5_S
Definition dect_net_l2.h:940
@ DECT_DLC_SDU_LIFETIME_40_MS
Definition dect_net_l2.h:926
@ DECT_DLC_SDU_LIFETIME_5_S
Definition dect_net_l2.h:945
@ DECT_DLC_SDU_LIFETIME_5_MS
Definition dect_net_l2.h:922
@ DECT_DLC_SDU_LIFETIME_0_5_MS
Definition dect_net_l2.h:920
@ DECT_DLC_SDU_LIFETIME_20_MS
Definition dect_net_l2.h:924
@ DECT_DLC_SDU_LIFETIME_32_S
Definition dect_net_l2.h:949
@ DECT_DLC_SDU_LIFETIME_2_S
Definition dect_net_l2.h:941
@ DECT_DLC_SDU_LIFETIME_16_S
Definition dect_net_l2.h:948
@ DECT_DLC_SDU_LIFETIME_2_5_S
Definition dect_net_l2.h:942
@ DECT_DLC_SDU_LIFETIME_70_MS
Definition dect_net_l2.h:929
@ DECT_DLC_SDU_LIFETIME_100_MS
Definition dect_net_l2.h:932
@ DECT_DLC_SDU_LIFETIME_6_S
Definition dect_net_l2.h:946
@ DECT_DLC_SDU_LIFETIME_300_MS
Definition dect_net_l2.h:936
@ DECT_DLC_SDU_LIFETIME_60_MS
Definition dect_net_l2.h:928
@ DECT_DLC_SDU_LIFETIME_250_MS
Definition dect_net_l2.h:935
@ DECT_DLC_SDU_LIFETIME_500_MS
Definition dect_net_l2.h:937
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.
#define DECT_CIPHER_KEY_LENGTH
Definition dect_net_l2.h:891
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.
dect_settings_cmd_params_write_scope
Settings command parameters write scope bitmap.
Definition dect_net_l2.h:753
@ DECT_SETTINGS_WRITE_SCOPE_NETWORK_JOIN
Definition dect_net_l2.h:766
@ DECT_SETTINGS_WRITE_SCOPE_CLUSTER
Definition dect_net_l2.h:763
@ DECT_SETTINGS_WRITE_SCOPE_NW_BEACON
Definition dect_net_l2.h:764
@ DECT_SETTINGS_WRITE_SCOPE_ASSOCIATION
Definition dect_net_l2.h:765
@ DECT_SETTINGS_WRITE_SCOPE_DLC
Definition dect_net_l2.h:768
@ DECT_SETTINGS_WRITE_SCOPE_BAND_NBR
Definition dect_net_l2.h:761
@ DECT_SETTINGS_WRITE_SCOPE_SECURITY_CONFIGURATION
Definition dect_net_l2.h:767
@ DECT_SETTINGS_WRITE_SCOPE_IDENTITIES
Definition dect_net_l2.h:758
@ DECT_SETTINGS_WRITE_SCOPE_DEVICE_TYPE
Definition dect_net_l2.h:757
@ DECT_SETTINGS_WRITE_SCOPE_RSSI_SCAN
Definition dect_net_l2.h:762
@ DECT_SETTINGS_WRITE_SCOPE_ALL
Definition dect_net_l2.h:754
@ DECT_SETTINGS_WRITE_SCOPE_REGION
Definition dect_net_l2.h:756
@ DECT_SETTINGS_WRITE_SCOPE_TX
Definition dect_net_l2.h:759
@ DECT_SETTINGS_WRITE_SCOPE_POWER_SAVE
Definition dect_net_l2.h:760
@ DECT_SETTINGS_WRITE_SCOPE_AUTO_START
Definition dect_net_l2.h:755
dect_association_reject_time
Association reject times.
Definition dect_net_l2.h:319
@ DECT_ASSOCIATION_REJECT_TIME_30S
Definition dect_net_l2.h:327
@ DECT_ASSOCIATION_REJECT_TIME_600S
Definition dect_net_l2.h:337
@ DECT_ASSOCIATION_REJECT_TIME_120S
Definition dect_net_l2.h:331
@ DECT_ASSOCIATION_REJECT_TIME_0S
Definition dect_net_l2.h:321
@ DECT_ASSOCIATION_REJECT_TIME_300S
Definition dect_net_l2.h:335
@ DECT_ASSOCIATION_REJECT_TIME_180S
Definition dect_net_l2.h:333
@ DECT_ASSOCIATION_REJECT_TIME_60S
Definition dect_net_l2.h:329
@ DECT_ASSOCIATION_REJECT_TIME_10S
Definition dect_net_l2.h:325
@ DECT_ASSOCIATION_REJECT_TIME_5S
Definition dect_net_l2.h:323
#define DECT_L2_MAX_NEIGHBOR_LIST_ITEM_COUNT
Definition dect_net_l2.h:510
dect_neighbor_role
Neighbor role.
Definition dect_net_l2.h:410
@ DECT_NEIGHBOR_ROLE_CHILD
Definition dect_net_l2.h:414
@ DECT_NEIGHBOR_ROLE_PARENT
Definition dect_net_l2.h:412
void dect_net_l2_settings_changed(struct net_if *iface, struct dect_settings *driver_current_settings)
Inform L2 that settings have been changed.
NET_L2_DECLARE_PUBLIC(DECT)
dect_cluster_beacon_period
Cluster beacon period.
Definition dect_net_l2.h:129
@ DECT_CLUSTER_BEACON_PERIOD_16000MS
Definition dect_net_l2.h:139
@ DECT_CLUSTER_BEACON_PERIOD_4000MS
Definition dect_net_l2.h:137
@ DECT_CLUSTER_BEACON_PERIOD_50MS
Definition dect_net_l2.h:131
@ DECT_CLUSTER_BEACON_PERIOD_2000MS
Definition dect_net_l2.h:136
@ DECT_CLUSTER_BEACON_PERIOD_1500MS
Definition dect_net_l2.h:135
@ DECT_CLUSTER_BEACON_PERIOD_8000MS
Definition dect_net_l2.h:138
@ DECT_CLUSTER_BEACON_PERIOD_500MS
Definition dect_net_l2.h:133
@ DECT_CLUSTER_BEACON_PERIOD_100MS
Definition dect_net_l2.h:132
@ DECT_CLUSTER_BEACON_PERIOD_1000MS
Definition dect_net_l2.h:134
@ DECT_CLUSTER_BEACON_PERIOD_32000MS
Definition dect_net_l2.h:140
@ DECT_CLUSTER_BEACON_PERIOD_10MS
Definition dect_net_l2.h:130
dect_scan_result_evt_type
Scan result event type.
Definition dect_net_l2.h:165
@ DECT_SCAN_RESULT_TYPE_CLUSTER_BEACON
Definition dect_net_l2.h:166
@ DECT_SCAN_RESULT_TYPE_NW_BEACON
Definition dect_net_l2.h:167
void(* dect_scan_result_cb_t)(struct net_if *iface, enum dect_status_values status, struct dect_scan_result_evt *entry)
Scan result callback.
Definition dect_net_l2.h:247
#define DECT_MAX_CHANNELS_IN_RSSI_SCAN
Definition dect_net_l2.h:144
uint32_t dect_device_type_t
Definition dect_net_l2.h:742
dect_association_reject_cause
Association reject causes.
Definition dect_net_l2.h:299
@ DECT_ASSOCIATION_REJECT_CAUSE_NO_RADIO_CAPACITY
Definition dect_net_l2.h:301
@ DECT_ASSOCIATION_NO_RESPONSE
Definition dect_net_l2.h:311
@ DECT_ASSOCIATION_REJECT_CAUSE_NO_HW_CAPACITY
Definition dect_net_l2.h:303
@ DECT_ASSOCIATION_REJECT_CAUSE_OTHER_REASON
Definition dect_net_l2.h:309
@ DECT_ASSOCIATION_REJECT_CAUSE_CONFLICTED_SHORT_ID
Definition dect_net_l2.h:305
@ DECT_ASSOCIATION_REJECT_CAUSE_SECURITY_NEEDED
Definition dect_net_l2.h:307
uint32_t target_long_rd_id
Definition dect_net_l2.h:257
Associate release parameters.
Definition dect_net_l2.h:256
uint32_t target_long_rd_id
Definition dect_net_l2.h:252
Associate request parameters.
Definition dect_net_l2.h:251
bool neighbor_initiated
Definition dect_net_l2.h:444
uint32_t long_rd_id
Definition dect_net_l2.h:432
enum dect_association_reject_time reject_time
Definition dect_net_l2.h:458
struct dect_association_changed_evt::@226::@229 association_req_rejected
enum dect_status_values cause
Definition dect_net_l2.h:464
struct dect_association_changed_evt::@226::@230 association_req_failed_mdm
struct dect_association_changed_evt::@226::@228 association_released
enum dect_association_reject_cause reject_cause
Definition dect_net_l2.h:453
enum dect_association_change_type association_change_type
Definition dect_net_l2.h:438
enum dect_association_release_cause release_cause
Definition dect_net_l2.h:447
enum dect_neighbor_role neighbor_role
Definition dect_net_l2.h:435
DECT association changed event.
Definition dect_net_l2.h:430
struct in6_addr local_ipv6_addr
Definition dect_net_l2.h:1042
uint32_t long_rd_id
Definition dect_net_l2.h:1039
struct in6_addr global_ipv6_addr
Definition dect_net_l2.h:1048
bool global_ipv6_addr_set
Definition dect_net_l2.h:1045
Association data.
Definition dect_net_l2.h:1037
enum dect_association_release_cause release_cause
Definition dect_net_l2.h:406
uint32_t long_rd_id
Definition dect_net_l2.h:403
DECT association released event.
Definition dect_net_l2.h:401
uint16_t num_association_failures
Definition dect_net_l2.h:722
uint32_t num_rach_rx_pcc_crc_failures
Definition dect_net_l2.h:730
struct dect_rssi_scan_result_data rssi_result
Definition dect_net_l2.h:732
uint16_t num_association_requests
Definition dect_net_l2.h:720
uint16_t num_neighbors
Definition dect_net_l2.h:724
uint32_t num_rach_rx_pdc
Definition dect_net_l2.h:728
uint16_t num_ftpt_neighbors
Definition dect_net_l2.h:726
enum dect_status_values status
Definition dect_net_l2.h:715
struct dect_cluster_info_evt::dect_cluster_status_info status_info
Cluster info event.
Definition dect_net_l2.h:714
int8_t max_beacon_tx_power_dbm
Definition dect_net_l2.h:271
uint16_t channel
Definition dect_net_l2.h:270
int8_t max_cluster_power_dbm
Definition dect_net_l2.h:272
enum dect_cluster_beacon_period period
Definition dect_net_l2.h:273
Cluster reconfiguration request parameters.
Definition dect_net_l2.h:269
uint16_t channel
Definition dect_net_l2.h:265
Cluster start request parameters.
Definition dect_net_l2.h:264
enum dect_status_values status
Definition dect_net_l2.h:471
uint16_t cluster_channel
Definition dect_net_l2.h:472
DECT cluster start resp event.
Definition dect_net_l2.h:470
Cluster stop request parameters.
Definition dect_net_l2.h:277
enum dect_status_values status
Definition dect_net_l2.h:738
Common response event.
Definition dect_net_l2.h:737
uint16_t num_rx_pdc
Definition dect_net_l2.h:667
uint8_t average_tx_mcs
Definition dect_net_l2.h:605
int16_t average_rx_rssi_2
Definition dect_net_l2.h:646
uint16_t num_rx_pdc_crc_failures
Definition dect_net_l2.h:674
uint16_t num_harq_ack
Definition dect_net_l2.h:688
int8_t average_rx_txpower
Definition dect_net_l2.h:628
uint16_t num_no_response
Definition dect_net_l2.h:681
uint16_t num_arq_retx
Definition dect_net_l2.h:702
uint8_t average_rx_mcs
Definition dect_net_l2.h:620
uint8_t total_missed_cluster_beacons
Definition dect_net_l2.h:586
uint16_t num_harq_nack
Definition dect_net_l2.h:695
uint16_t num_lbt_failures
Definition dect_net_l2.h:660
int8_t average_tx_txpower
Definition dect_net_l2.h:613
uint32_t inactive_time_ms
Definition dect_net_l2.h:709
uint8_t current_consecutive_missed_cluster_beacons
Definition dect_net_l2.h:592
uint16_t num_tx_attempts
Definition dect_net_l2.h:653
int8_t average_rx_snr
Definition dect_net_l2.h:637
uint8_t num_rx_paging
Definition dect_net_l2.h:598
int8_t beacon_average_rx_snr
Definition dect_net_l2.h:578
uint16_t channel
Definition dect_net_l2.h:546
uint32_t long_rd_id
Definition dect_net_l2.h:533
uint32_t time_since_last_rx_ms
Definition dect_net_l2.h:552
int8_t beacon_average_rx_txpower
Definition dect_net_l2.h:562
uint32_t network_id
Definition dect_net_l2.h:549
bool ft_mode
Definition dect_net_l2.h:540
int16_t beacon_average_rx_rssi_2
Definition dect_net_l2.h:570
bool associated
Definition dect_net_l2.h:538
struct dect_rx_signal_info last_rx_signal_info
Definition dect_net_l2.h:555
struct dect_neighbor_info_evt::dect_neighbor_status_info status_info
enum dect_status_values status
Definition dect_net_l2.h:532
Neighbor info event.
Definition dect_net_l2.h:531
uint32_t long_rd_id
Definition dect_net_l2.h:282
Neighbor info request parameters.
Definition dect_net_l2.h:281
uint32_t neighbor_long_rd_ids[50]
Definition dect_net_l2.h:527
uint8_t neighbor_count
Definition dect_net_l2.h:526
enum dect_status_values status
Definition dect_net_l2.h:525
Neighbor list event.
Definition dect_net_l2.h:524
struct in6_addr prefix
Definition dect_net_l2.h:1245
int prefix_len
Definition dect_net_l2.h:1243
IPv6 Address configuration.
Definition dect_net_l2.h:1241
uint32_t transmitter_long_rd_id
Definition dect_net_l2.h:1260
bool global_ipv6_addr_set
Definition dect_net_l2.h:1265
struct in6_addr local_ipv6_addr
Definition dect_net_l2.h:1264
struct in6_addr global_ipv6_addr
Definition dect_net_l2.h:1266
struct dect_net_ipv6_prefix_config ipv6_prefix_cfg
Definition dect_net_l2.h:1263
uint32_t network_id
Definition dect_net_l2.h:1257
enum net_l2_flags flags
Definition dect_net_l2.h:1251
dect_device_type_t device_type
Definition dect_net_l2.h:1254
DECT NR+ L2 context.
Definition dect_net_l2.h:1249
uint16_t next_cluster_channel
Definition dect_net_l2.h:179
uint8_t num_network_beacon_channels
Definition dect_net_l2.h:182
uint16_t network_beacon_channels[3]
Definition dect_net_l2.h:185
uint16_t current_cluster_channel
Definition dect_net_l2.h:176
Network beacon data.
Definition dect_net_l2.h:171
enum dect_status_values dect_err_cause
Definition dect_net_l2.h:490
dect_network_status
Definition dect_net_l2.h:477
@ DECT_NETWORK_STATUS_JOINED
Definition dect_net_l2.h:485
@ DECT_NETWORK_STATUS_CREATED
Definition dect_net_l2.h:481
@ DECT_NETWORK_STATUS_REMOVED
Definition dect_net_l2.h:483
@ DECT_NETWORK_STATUS_UNJOINED
Definition dect_net_l2.h:487
@ DECT_NETWORK_STATUS_FAILURE
Definition dect_net_l2.h:479
int os_err_cause
Definition dect_net_l2.h:492
enum dect_network_status_evt::dect_network_status network_status
DECT network status event.
Definition dect_net_l2.h:476
int(* status_info_get)(const struct device *dev, struct dect_status_info *status_info_out)
Definition dect_net_l2.h:1097
int(* associate_release)(const struct device *dev, struct dect_associate_rel_params *params)
Definition dect_net_l2.h:1166
int(* cluster_info_req)(const struct device *dev)
Definition dect_net_l2.h:1225
int(* cluster_start_req)(const struct device *dev, struct dect_cluster_start_req_params *params)
Definition dect_net_l2.h:1175
int(* neighbor_info_req)(const struct device *dev, struct dect_neighbor_info_req_params *params)
Definition dect_net_l2.h:1221
int(* nw_beacon_stop_req)(const struct device *dev, struct dect_nw_beacon_stop_req_params *params)
Definition dect_net_l2.h:1211
int(* settings_read)(const struct device *dev, struct dect_settings *settings_out)
Definition dect_net_l2.h:1105
int(* deactivate_req)(const struct device *dev)
Definition dect_net_l2.h:1129
int(* neighbor_list_req)(const struct device *dev)
Definition dect_net_l2.h:1218
int(* cluster_stop_req)(const struct device *dev, struct dect_cluster_stop_req_params *params)
Definition dect_net_l2.h:1193
int(* associate_req)(const struct device *dev, struct dect_associate_req_params *params)
Definition dect_net_l2.h:1158
int(* nw_beacon_start_req)(const struct device *dev, struct dect_nw_beacon_start_req_params *params)
Definition dect_net_l2.h:1202
int(* rssi_scan)(const struct device *dev, struct dect_rssi_scan_params *params)
Definition dect_net_l2.h:1138
int(* settings_write)(const struct device *dev, struct dect_settings *settings_in)
Definition dect_net_l2.h:1114
struct net_if_api iface_api
Definition dect_net_l2.h:1089
int(* scan)(const struct device *dev, struct dect_scan_params *params, dect_scan_result_cb_t cb)
Definition dect_net_l2.h:1149
int(* network_join_req)(const struct device *dev)
Definition dect_net_l2.h:1234
int(* cluster_reconfig_req)(const struct device *dev, struct dect_cluster_reconfig_req_params *params)
Definition dect_net_l2.h:1184
int(* network_unjoin_req)(const struct device *dev)
Definition dect_net_l2.h:1237
int(* send)(const struct device *dev, struct net_pkt *pkt)
Definition dect_net_l2.h:1215
int(* network_create_req)(const struct device *dev)
Definition dect_net_l2.h:1228
int(* network_remove_req)(const struct device *dev)
Definition dect_net_l2.h:1231
int(* activate_req)(const struct device *dev)
Definition dect_net_l2.h:1121
DECT NR+ HAL API.
Definition dect_net_l2.h:1084
uint8_t additional_ch_count
Definition dect_net_l2.h:287
uint16_t channel
Definition dect_net_l2.h:286
uint16_t additional_ch_list[3]
Definition dect_net_l2.h:288
Network beacon start request parameters.
Definition dect_net_l2.h:285
Network beacon stop request parameters.
Definition dect_net_l2.h:292
uint8_t route_cost
Definition dect_net_l2.h:206
uint32_t sink_address
Definition dect_net_l2.h:210
uint8_t application_sequence_number
Definition dect_net_l2.h:208
Route info.
Definition dect_net_l2.h:204
uint16_t channel_list[20]
Definition dect_net_l2.h:153
uint8_t band
Definition dect_net_l2.h:150
uint8_t frame_count_to_scan
Definition dect_net_l2.h:151
uint8_t channel_count
Definition dect_net_l2.h:152
RSSI scan parameters.
Definition dect_net_l2.h:149
uint8_t possible_subslot_cnt
Definition dect_net_l2.h:356
enum dect_rssi_scan_result_verdict frame_subslot_verdicts[48]
Definition dect_net_l2.h:351
bool another_cluster_detected_in_channel
Definition dect_net_l2.h:353
uint16_t channel
Definition dect_net_l2.h:350
uint8_t scan_suitable_percent
Definition dect_net_l2.h:354
bool all_subslots_free
Definition dect_net_l2.h:352
uint8_t busy_percentage
Definition dect_net_l2.h:360
uint8_t free_subslot_cnt
Definition dect_net_l2.h:355
uint8_t busy_subslot_cnt
Definition dect_net_l2.h:357
DECT RSSI scan result event.
Definition dect_net_l2.h:349
struct dect_rssi_scan_result_data rssi_scan_result
Definition dect_net_l2.h:366
DECT RSSI scan result event.
Definition dect_net_l2.h:365
uint8_t mcs
Definition dect_net_l2.h:191
int8_t snr
Definition dect_net_l2.h:200
int8_t rssi_2
Definition dect_net_l2.h:198
uint8_t transmit_power
Definition dect_net_l2.h:196
Received signal information.
Definition dect_net_l2.h:189
uint8_t channel_count
Definition dect_net_l2.h:159
uint16_t channel_list[20]
Definition dect_net_l2.h:160
uint8_t band
Definition dect_net_l2.h:158
uint16_t channel_scan_time_ms
Definition dect_net_l2.h:161
Network scan parameters.
Definition dect_net_l2.h:157
struct dect_network_beacon_data network_beacon
Definition dect_net_l2.h:234
uint16_t transmitter_short_rd_id
Definition dect_net_l2.h:224
bool has_route_info
Definition dect_net_l2.h:237
enum dect_scan_result_evt_type beacon_type
Definition dect_net_l2.h:219
struct dect_route_info route_info
Definition dect_net_l2.h:238
uint16_t channel
Definition dect_net_l2.h:222
uint32_t transmitter_long_rd_id
Definition dect_net_l2.h:226
uint32_t network_id
Definition dect_net_l2.h:228
struct dect_rx_signal_info rx_signal_info
Definition dect_net_l2.h:231
DECT scan result event, each result is provided to the net_mgmt_event_callback via its info attribute...
Definition dect_net_l2.h:217
uint8_t max_beacon_rx_failures
Definition dect_net_l2.h:829
int8_t min_sensitivity_dbm
Definition dect_net_l2.h:834
Association settings.
Definition dect_net_l2.h:824
bool activate
Definition dect_net_l2.h:839
Auto-start settings.
Definition dect_net_l2.h:838
int8_t max_beacon_tx_power_dbm
Definition dect_net_l2.h:792
enum dect_cluster_beacon_period beacon_period
Definition dect_net_l2.h:796
uint8_t channel_loaded_percent
Definition dect_net_l2.h:809
int8_t max_cluster_power_dbm
Definition dect_net_l2.h:794
uint32_t neighbor_inactivity_disconnect_timer_ms
Definition dect_net_l2.h:802
uint16_t max_num_neighbors
Definition dect_net_l2.h:798
uint8_t rach_conf_resp_win_length
Definition dect_net_l2.h:814
FT device: cluster settings.
Definition dect_net_l2.h:790
uint16_t failure_scope_bitmap_out
Definition dect_net_l2.h:784
uint16_t write_scope_bitmap
Definition dect_net_l2.h:780
bool reset_to_driver_defaults
Definition dect_net_l2.h:773
Settings command parameters.
Definition dect_net_l2.h:772
int8_t max_power_dbm
Definition dect_net_l2.h:883
uint8_t max_mcs
Definition dect_net_l2.h:886
Common TX settings.
Definition dect_net_l2.h:881
uint8_t discard_timer_release_assoc_count
Definition dect_net_l2.h:980
enum dect_dlc_sdu_lifetime sdu_lifetime
Definition dect_net_l2.h:985
DLC (Data Link Control) settings.
Definition dect_net_l2.h:974
uint32_t transmitter_long_rd_id
Definition dect_net_l2.h:877
uint32_t network_id
Definition dect_net_l2.h:874
Identities settings.
Definition dect_net_l2.h:872
uint16_t channel
Definition dect_net_l2.h:819
enum dect_nw_beacon_period beacon_period
Definition dect_net_l2.h:820
Network beacon settings.
Definition dect_net_l2.h:818
uint32_t target_ft_long_rd_id
Definition dect_net_l2.h:847
Network join settings.
Definition dect_net_l2.h:845
int32_t busy_threshold_dbm
Definition dect_net_l2.h:861
int32_t free_threshold_dbm
Definition dect_net_l2.h:859
uint32_t time_per_channel_ms
Definition dect_net_l2.h:856
uint8_t scan_suitable_percent
Definition dect_net_l2.h:853
RSSI scan settings.
Definition dect_net_l2.h:851
uint8_t cipher_key[16]
Definition dect_net_l2.h:908
uint8_t integrity_key[16]
Definition dect_net_l2.h:907
enum dect_security_mode mode
Definition dect_net_l2.h:904
Security configuration.
Definition dect_net_l2.h:902
struct dect_settings_cmd_params cmd_params
Definition dect_net_l2.h:991
struct dect_settings_cluster cluster
Definition dect_net_l2.h:1018
struct dect_settings_association association
Definition dect_net_l2.h:1024
struct dect_settings_security_conf sec_conf
Definition dect_net_l2.h:1030
struct dect_settings_dlc dlc
Definition dect_net_l2.h:1033
struct dect_settings_network_join network_join
Definition dect_net_l2.h:1027
struct dect_settings_auto_start auto_start
Definition dect_net_l2.h:994
struct dect_settings_common_tx tx
Definition dect_net_l2.h:1006
dect_device_type_t device_type
Definition dect_net_l2.h:1000
bool power_save
Definition dect_net_l2.h:1009
struct dect_settings_rssi_scan rssi_scan
Definition dect_net_l2.h:1015
struct dect_settings_identities identities
Definition dect_net_l2.h:1003
enum dect_settings_region region
Definition dect_net_l2.h:997
uint8_t band_nbr
Definition dect_net_l2.h:1012
struct dect_settings_network_beacon nw_beacon
Definition dect_net_l2.h:1021
DECT NR+ Settings.
Definition dect_net_l2.h:989
enum dect_sink_status_evt::dect_sink_status sink_status
dect_sink_status
Definition dect_net_l2.h:497
@ DECT_SINK_STATUS_DISCONNECTED
Definition dect_net_l2.h:501
@ DECT_SINK_STATUS_CONNECTED
Definition dect_net_l2.h:499
struct net_if * br_iface
Definition dect_net_l2.h:504
DECT sink status event.
Definition dect_net_l2.h:496
bool cluster_running
Definition dect_net_l2.h:1058
bool mdm_activated
Definition dect_net_l2.h:1055
struct in6_addr br_global_ipv6_addr_prefix
Definition dect_net_l2.h:1076
bool nw_beacon_running
Definition dect_net_l2.h:1062
char fw_version_str[100]
Definition dect_net_l2.h:1080
struct net_if * br_net_iface
Definition dect_net_l2.h:1074
bool br_global_ipv6_addr_prefix_set
Definition dect_net_l2.h:1075
uint8_t parent_count
Definition dect_net_l2.h:1065
struct dect_association_data parent_associations[1]
Definition dect_net_l2.h:1066
uint16_t cluster_channel
Definition dect_net_l2.h:1059
int br_global_ipv6_addr_prefix_len
Definition dect_net_l2.h:1077
uint8_t child_count
Definition dect_net_l2.h:1069
struct dect_association_data child_associations[CONFIG_DECT_CLUSTER_MAX_CHILD_ASSOCIATION_COUNT]
Definition dect_net_l2.h:1070
DECT NR+ status information.
Definition dect_net_l2.h:1052