Skip to content

Commit cc03296

Browse files
author
Arto Kinnunen
committed
Merge branch 'release_internal' into release_external
* release_internal: Fixed Wi-SUN border router restart after settings change PAE authenticator TLS authentication limit based on dynamic value RPL config update not re-start whole BR again just increment version number and with new parameters. Fixed FHSS testing now it follow configured channel count not a wi-sun configured Default. Remove floating point literals from Thread code RPL link etx validation update
2 parents 89a497a + 59397d1 commit cc03296

15 files changed

+121
-40
lines changed

source/6LoWPAN/Thread/thread_bootstrap.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -955,7 +955,7 @@ static void thread_interface_bootsrap_mode_init(protocol_interface_info_entry_t
955955
cur->thread_info->thread_device_mode = THREAD_DEVICE_MODE_SLEEPY_END_DEVICE;
956956
//SET Sleepy Host To RX on Idle mode for bootsrap
957957
nwk_thread_host_control(cur, NET_HOST_RX_ON_IDLE, 0);
958-
cur->thread_info->childUpdateReqTimer = 0.8 * cur->thread_info->host_link_timeout;
958+
cur->thread_info->childUpdateReqTimer = 8 * cur->thread_info->host_link_timeout / 10;
959959
} else {
960960
tr_debug("Set End node Mode");
961961
cur->thread_info->thread_device_mode = THREAD_DEVICE_MODE_END_DEVICE;

source/6LoWPAN/Thread/thread_common.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -381,7 +381,7 @@ void thread_key_guard_timer_calculate(protocol_interface_info_entry_t *cur, link
381381
}
382382

383383
cur->thread_info->masterSecretMaterial.keyRotation = key_rotation * 3600; // setting value is hours converting to seconds
384-
cur->thread_info->masterSecretMaterial.keySwitchGuardTimer = is_init ? 0 : (key_rotation * 3600 * 0.93);
384+
cur->thread_info->masterSecretMaterial.keySwitchGuardTimer = is_init ? 0 : (key_rotation * 3600 * 93 / 100);
385385
}
386386

387387
void thread_key_guard_timer_reset(protocol_interface_info_entry_t *cur)

source/6LoWPAN/Thread/thread_mle_message_handler.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -892,7 +892,7 @@ static void thread_parse_child_update_response(protocol_interface_info_entry_t *
892892

893893
if (cur->thread_info->thread_device_mode == THREAD_DEVICE_MODE_SLEEPY_END_DEVICE) {
894894
if (cur->thread_info->childUpdateReqTimer < 1) {
895-
cur->thread_info->childUpdateReqTimer = 0.8 * timeout;
895+
cur->thread_info->childUpdateReqTimer = 8 * timeout / 10;
896896
}
897897
}
898898
//This process is ready

source/6LoWPAN/ws/ws_bootstrap.c

Lines changed: 34 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717

1818
#include <string.h>
1919
#include "nsconfig.h"
20+
#ifdef HAVE_WS
2021
#include "ns_types.h"
2122
#include "ns_trace.h"
2223
#include "net_interface.h"
@@ -38,6 +39,7 @@
3839
#include "RPL/rpl_protocol.h"
3940
#include "RPL/rpl_control.h"
4041
#include "RPL/rpl_data.h"
42+
#include "RPL/rpl_policy.h"
4143
#include "Common_Protocols/icmpv6.h"
4244
#include "Common_Protocols/icmpv6_radv.h"
4345
#include "Common_Protocols/ipv6_constants.h"
@@ -73,7 +75,7 @@
7375

7476
#define TRACE_GROUP "wsbs"
7577

76-
#ifdef HAVE_WS
78+
7779

7880
static void ws_bootstrap_event_handler(arm_event_s *event);
7981
static void ws_bootstrap_state_change(protocol_interface_info_entry_t *cur, icmp_state_t nwk_bootstrap_state);
@@ -522,6 +524,9 @@ static int8_t ws_fhss_initialize(protocol_interface_info_entry_t *cur)
522524
return 0;
523525
}
524526
fhss_configuration = *fhss_configuration_copy;
527+
//Overwrite domain channel setup this will over write a default 35 channel
528+
int num_of_channels = channel_list_count_channels(fhss_configuration_copy->unicast_channel_mask);
529+
cur->ws_info->hopping_schdule.number_of_channels = (uint8_t) num_of_channels;
525530
memcpy(cur->ws_info->cfg->fhss.fhss_channel_mask, fhss_configuration_copy->unicast_channel_mask, sizeof(uint32_t) * 8);
526531
cur->ws_info->cfg->fhss.fhss_uc_channel_function = fhss_configuration_copy->ws_uc_channel_function;
527532
cur->ws_info->cfg->fhss.fhss_bc_channel_function = fhss_configuration_copy->ws_bc_channel_function;
@@ -2047,6 +2052,19 @@ int ws_bootstrap_aro_failure(protocol_interface_info_entry_t *cur, const uint8_t
20472052
return 0;
20482053
}
20492054

2055+
static int ws_bootstrap_set_domain_rf_config(protocol_interface_info_entry_t *cur)
2056+
{
2057+
phy_rf_channel_configuration_s rf_configs;
2058+
rf_configs.channel_0_center_frequency = (uint32_t)cur->ws_info->hopping_schdule.ch0_freq * 100000;
2059+
rf_configs.channel_spacing = ws_decode_channel_spacing(cur->ws_info->hopping_schdule.channel_spacing);
2060+
rf_configs.datarate = ws_get_datarate_using_operating_mode(cur->ws_info->hopping_schdule.operating_mode);
2061+
rf_configs.modulation_index = ws_get_modulation_index_using_operating_mode(cur->ws_info->hopping_schdule.operating_mode);
2062+
rf_configs.modulation = M_2FSK;
2063+
rf_configs.number_of_channels = cur->ws_info->hopping_schdule.number_of_channels;
2064+
ws_bootstrap_set_rf_config(cur, rf_configs);
2065+
return 0;
2066+
}
2067+
20502068
static void ws_bootstrap_mac_activate(protocol_interface_info_entry_t *cur, uint16_t channel, uint16_t panid, bool coordinator)
20512069
{
20522070
mlme_start_t start_req;
@@ -2455,6 +2473,10 @@ static void ws_bootstrap_rpl_activate(protocol_interface_info_entry_t *cur)
24552473
if (cur->bootsrap_mode != ARM_NWK_BOOTSRAP_MODE_6LoWPAN_BORDER_ROUTER) {
24562474
rpl_control_set_memory_limits(WS_NODE_RPL_SOFT_MEM_LIMIT, WS_NODE_RPL_HARD_MEM_LIMIT);
24572475
}
2476+
// Set RPL Link ETX Validation Threshold to 2.5 - 33.0
2477+
// This setup will set ETX 0x800 to report ICMP error 18% probability
2478+
// When ETX start go over 0x280 forward dropping probability start increase linear to 100% at 0x2100
2479+
rpl_policy_forward_link_etx_threshold_set(0x280, 0x2100);
24582480

24592481
// Set the minimum target refresh to sen DAO registrations before pan timeout
24602482
rpl_control_set_minimum_dao_target_refresh(WS_RPL_DAO_MAX_TIMOUT);
@@ -2475,6 +2497,7 @@ static void ws_bootstrap_network_discovery_configure(protocol_interface_info_ent
24752497
cur->ws_info->network_pan_id = 0xffff;
24762498

24772499
ws_common_regulatory_domain_config(cur, &cur->ws_info->hopping_schdule);
2500+
ws_bootstrap_set_domain_rf_config(cur);
24782501
ws_fhss_configure(cur, true);
24792502

24802503
//Set Network names, Pan information configure, hopping schedule & GTKHash
@@ -2900,12 +2923,18 @@ static void ws_bootstrap_event_handler(arm_event_s *event)
29002923
if (cur->bootsrap_mode == ARM_NWK_BOOTSRAP_MODE_6LoWPAN_BORDER_ROUTER) {
29012924
tr_info("Border router start network");
29022925

2926+
29032927
if (!ws_bbr_ready_to_start(cur)) {
29042928
// Wi-SUN not started yet we wait for Border router permission
29052929
ws_bootstrap_state_change(cur, ER_WAIT_RESTART);
29062930
cur->nwk_nd_re_scan_count = randLIB_get_random_in_range(40, 100);
29072931
return;
29082932
}
2933+
// Clear Old information from stack
2934+
2935+
ws_nud_table_reset(cur);
2936+
ws_bootstrap_neighbor_list_clean(cur);
2937+
ws_bootstrap_ip_stack_reset(cur);
29092938
ws_pae_controller_auth_init(cur);
29102939

29112940
// Randomize fixed channels. Only used if channel plan is fixed.
@@ -2928,9 +2957,10 @@ static void ws_bootstrap_event_handler(arm_event_s *event)
29282957
ws_bbr_pan_version_increase(cur);
29292958

29302959
// Set default parameters for FHSS when starting a discovery
2960+
ws_common_regulatory_domain_config(cur, &cur->ws_info->hopping_schdule);
29312961
ws_fhss_border_router_configure(cur);
2962+
ws_bootstrap_set_domain_rf_config(cur);
29322963
ws_bootstrap_fhss_activate(cur);
2933-
ws_bootstrap_event_operation_start(cur);
29342964

29352965
uint8_t ll_addr[16];
29362966
addr_interface_get_ll_address(cur, ll_addr, 1);
@@ -2949,6 +2979,8 @@ static void ws_bootstrap_event_handler(arm_event_s *event)
29492979

29502980
// Set PAE port to 10254 and authenticator relay to 10253 (and to own ll address)
29512981
ws_pae_controller_authenticator_start(cur, PAE_AUTH_SOCKET_PORT, ll_addr, EAPOL_RELAY_SOCKET_PORT);
2982+
2983+
ws_bootstrap_event_operation_start(cur);
29522984
break;
29532985
}
29542986
ws_pae_controller_supp_init(cur);

source/6LoWPAN/ws/ws_cfg_settings.c

Lines changed: 14 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -273,19 +273,23 @@ int8_t ws_cfg_network_size_set(protocol_interface_info_entry_t *cur, ws_gen_cfg_
273273
nw_size_external_cfg = NULL;
274274
}
275275

276+
uint8_t set_flags = 0;
277+
if (cfg->network_size == NETWORK_SIZE_AUTOMATIC) {
278+
set_flags = CFG_FLAGS_DISABLE_VAL_SET;
279+
}
276280
/* Sets values if changed or network size has been previously automatic (to make sure
277281
the settings are in sync */
278282
if (ws_cfg_timing_validate(&ws_cfg.timing, &nw_size_cfg.timing) == CFG_SETTINGS_CHANGED ||
279283
old_network_size == NETWORK_SIZE_AUTOMATIC) {
280-
ws_cfg_timing_set(cur, &ws_cfg.timing, &nw_size_cfg.timing, 0);
284+
ws_cfg_timing_set(cur, &ws_cfg.timing, &nw_size_cfg.timing, &set_flags);
281285
}
282286
if (ws_cfg_rpl_validate(&ws_cfg.rpl, &nw_size_cfg.rpl) == CFG_SETTINGS_CHANGED ||
283287
old_network_size == NETWORK_SIZE_AUTOMATIC) {
284-
ws_cfg_rpl_set(cur, &ws_cfg.rpl, &nw_size_cfg.rpl, 0);
288+
ws_cfg_rpl_set(cur, &ws_cfg.rpl, &nw_size_cfg.rpl, &set_flags);
285289
}
286290
if (ws_cfg_sec_prot_validate(&ws_cfg.sec_prot, &nw_size_cfg.sec_prot) == CFG_SETTINGS_CHANGED ||
287291
old_network_size == NETWORK_SIZE_AUTOMATIC) {
288-
ws_cfg_sec_prot_set(cur, &ws_cfg.sec_prot, &nw_size_cfg.sec_prot, 0);
292+
ws_cfg_sec_prot_set(cur, &ws_cfg.sec_prot, &nw_size_cfg.sec_prot, &set_flags);
289293
}
290294

291295
// If is in an automatic network size mode, updates automatic configuration
@@ -355,6 +359,7 @@ static void ws_cfg_network_size_config_set_small(ws_cfg_nw_size_t *cfg)
355359
cfg->sec_prot.sec_prot_trickle_imax = SEC_PROT_SMALL_IMAX;
356360
cfg->sec_prot.sec_prot_trickle_timer_exp = SEC_PROT_TIMER_EXPIRATIONS;
357361
cfg->sec_prot.sec_prot_retry_timeout = SEC_PROT_RETRY_TIMEOUT_SMALL;
362+
cfg->sec_prot.sec_max_ongoing_authentication = MAX_SIMULTANEOUS_EAP_TLS_NEGOTIATIONS_SMALL;
358363
}
359364

360365
static void ws_cfg_network_size_config_set_medium(ws_cfg_nw_size_t *cfg)
@@ -380,6 +385,7 @@ static void ws_cfg_network_size_config_set_medium(ws_cfg_nw_size_t *cfg)
380385
cfg->sec_prot.sec_prot_trickle_imax = SEC_PROT_SMALL_IMAX;
381386
cfg->sec_prot.sec_prot_trickle_timer_exp = SEC_PROT_TIMER_EXPIRATIONS;
382387
cfg->sec_prot.sec_prot_retry_timeout = SEC_PROT_RETRY_TIMEOUT_SMALL;
388+
cfg->sec_prot.sec_max_ongoing_authentication = MAX_SIMULTANEOUS_EAP_TLS_NEGOTIATIONS_MEDIUM;
383389
}
384390

385391
static void ws_cfg_network_size_config_set_large(ws_cfg_nw_size_t *cfg)
@@ -405,6 +411,7 @@ static void ws_cfg_network_size_config_set_large(ws_cfg_nw_size_t *cfg)
405411
cfg->sec_prot.sec_prot_trickle_imax = SEC_PROT_LARGE_IMAX;
406412
cfg->sec_prot.sec_prot_trickle_timer_exp = SEC_PROT_TIMER_EXPIRATIONS;
407413
cfg->sec_prot.sec_prot_retry_timeout = SEC_PROT_RETRY_TIMEOUT_LARGE;
414+
cfg->sec_prot.sec_max_ongoing_authentication = MAX_SIMULTANEOUS_EAP_TLS_NEGOTIATIONS_LARGE;
408415
}
409416

410417
static void ws_cfg_network_size_config_set_certificate(ws_cfg_nw_size_t *cfg)
@@ -430,6 +437,7 @@ static void ws_cfg_network_size_config_set_certificate(ws_cfg_nw_size_t *cfg)
430437
cfg->sec_prot.sec_prot_trickle_imax = SEC_PROT_SMALL_IMAX;
431438
cfg->sec_prot.sec_prot_trickle_timer_exp = SEC_PROT_TIMER_EXPIRATIONS;
432439
cfg->sec_prot.sec_prot_retry_timeout = SEC_PROT_RETRY_TIMEOUT_SMALL;
440+
cfg->sec_prot.sec_max_ongoing_authentication = MAX_SIMULTANEOUS_EAP_TLS_NEGOTIATIONS_SMALL;
433441
}
434442

435443
static int8_t ws_cfg_gen_default_set(ws_gen_cfg_t *cfg)
@@ -721,10 +729,6 @@ int8_t ws_cfg_rpl_set(protocol_interface_info_entry_t *cur, ws_rpl_cfg_t *cfg, w
721729

722730
*cfg = *new_cfg;
723731

724-
if (cur && !(cfg_flags & CFG_FLAGS_BOOTSTRAP_RESTART_DISABLE)) {
725-
ws_bootstrap_restart_delayed(cur->id);
726-
}
727-
728732
return CFG_SETTINGS_OK;
729733
}
730734

@@ -974,7 +978,7 @@ static int8_t ws_cfg_sec_prot_default_set(ws_sec_prot_cfg_t *cfg)
974978
cfg->sec_prot_trickle_imax = SEC_PROT_SMALL_IMAX;
975979
cfg->sec_prot_trickle_timer_exp = 2;
976980
cfg->sec_prot_retry_timeout = SEC_PROT_RETRY_TIMEOUT_SMALL;
977-
981+
cfg->sec_max_ongoing_authentication = MAX_SIMULTANEOUS_EAP_TLS_NEGOTIATIONS_MEDIUM;
978982
return CFG_SETTINGS_OK;
979983
}
980984

@@ -994,7 +998,8 @@ int8_t ws_cfg_sec_prot_validate(ws_sec_prot_cfg_t *cfg, ws_sec_prot_cfg_t *new_c
994998
if (cfg->sec_prot_trickle_imin != new_cfg->sec_prot_trickle_imin ||
995999
cfg->sec_prot_trickle_imax != new_cfg->sec_prot_trickle_imax ||
9961000
cfg->sec_prot_trickle_timer_exp != new_cfg->sec_prot_trickle_timer_exp ||
997-
cfg->sec_prot_retry_timeout != new_cfg->sec_prot_retry_timeout) {
1001+
cfg->sec_prot_retry_timeout != new_cfg->sec_prot_retry_timeout ||
1002+
cfg->sec_max_ongoing_authentication != new_cfg->sec_max_ongoing_authentication) {
9981003

9991004
return CFG_SETTINGS_CHANGED;
10001005
}

source/6LoWPAN/ws/ws_cfg_settings.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -110,6 +110,7 @@ typedef struct ws_sec_prot_cfg_s {
110110
uint16_t sec_prot_trickle_imin; /**< Security protocol trickle parameters Imin; seconds; default 30 */
111111
uint16_t sec_prot_trickle_imax; /**< Security protocol trickle parameters Imax; seconds; default 90 */
112112
uint8_t sec_prot_trickle_timer_exp; /**< Security protocol trickle timer expirations; default 2 */
113+
uint16_t sec_max_ongoing_authentication; /**< Pae authenticator max Accept ongoing authentication count */
113114
} ws_sec_prot_cfg_t;
114115

115116
/**

source/6LoWPAN/ws/ws_common.c

Lines changed: 4 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ int8_t ws_generate_channel_list(uint32_t *channel_mask, uint16_t number_of_chann
5959
return 0;
6060
}
6161

62-
static uint32_t ws_decode_channel_spacing(uint8_t channel_spacing)
62+
uint32_t ws_decode_channel_spacing(uint8_t channel_spacing)
6363
{
6464
if (CHANNEL_SPACING_100 == channel_spacing) {
6565
return 100000;
@@ -75,7 +75,7 @@ static uint32_t ws_decode_channel_spacing(uint8_t channel_spacing)
7575
return 0;
7676
}
7777

78-
static uint32_t ws_get_datarate_using_operating_mode(uint8_t operating_mode)
78+
uint32_t ws_get_datarate_using_operating_mode(uint8_t operating_mode)
7979
{
8080
if ((OPERATING_MODE_1a == operating_mode) || (OPERATING_MODE_1b == operating_mode)) {
8181
return 50000;
@@ -91,7 +91,7 @@ static uint32_t ws_get_datarate_using_operating_mode(uint8_t operating_mode)
9191
return 0;
9292
}
9393

94-
static phy_modulation_index_e ws_get_modulation_index_using_operating_mode(uint8_t operating_mode)
94+
phy_modulation_index_e ws_get_modulation_index_using_operating_mode(uint8_t operating_mode)
9595
{
9696
if ((OPERATING_MODE_1b == operating_mode) || (OPERATING_MODE_2b == operating_mode) || (OPERATING_MODE_4b == operating_mode)) {
9797
return MODULATION_INDEX_1_0;
@@ -100,21 +100,9 @@ static phy_modulation_index_e ws_get_modulation_index_using_operating_mode(uint8
100100
}
101101
}
102102

103-
static int ws_set_domain_rf_config(protocol_interface_info_entry_t *cur)
104-
{
105-
phy_rf_channel_configuration_s rf_configs;
106-
rf_configs.channel_0_center_frequency = (uint32_t)cur->ws_info->hopping_schdule.ch0_freq * 100000;
107-
rf_configs.channel_spacing = ws_decode_channel_spacing(cur->ws_info->hopping_schdule.channel_spacing);
108-
rf_configs.datarate = ws_get_datarate_using_operating_mode(cur->ws_info->hopping_schdule.operating_mode);
109-
rf_configs.modulation_index = ws_get_modulation_index_using_operating_mode(cur->ws_info->hopping_schdule.operating_mode);
110-
rf_configs.modulation = M_2FSK;
111-
rf_configs.number_of_channels = cur->ws_info->hopping_schdule.number_of_channels;
112-
ws_bootstrap_set_rf_config(cur, rf_configs);
113-
return 0;
114-
}
115-
116103
int8_t ws_common_regulatory_domain_config(protocol_interface_info_entry_t *cur, ws_hopping_schedule_t *hopping_schdule)
117104
{
105+
(void)cur;
118106
if (ws_get_datarate_using_operating_mode(hopping_schdule->operating_mode) == 0) {
119107
//Unsupported operation mode
120108
return -1;
@@ -201,10 +189,6 @@ int8_t ws_common_regulatory_domain_config(protocol_interface_info_entry_t *cur,
201189
if (!hopping_schdule->number_of_channels) {
202190
return -1;
203191
}
204-
205-
if (cur) {
206-
ws_set_domain_rf_config(cur);
207-
}
208192
return 0;
209193
}
210194

source/6LoWPAN/ws/ws_common.h

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -114,6 +114,12 @@ typedef struct ws_info_s {
114114

115115
int8_t ws_generate_channel_list(uint32_t *channel_mask, uint16_t number_of_channels, uint8_t regulatory_domain);
116116

117+
uint32_t ws_decode_channel_spacing(uint8_t channel_spacing);
118+
119+
uint32_t ws_get_datarate_using_operating_mode(uint8_t operating_mode);
120+
121+
phy_modulation_index_e ws_get_modulation_index_using_operating_mode(uint8_t operating_mode);
122+
117123
int8_t ws_common_regulatory_domain_config(protocol_interface_info_entry_t *cur, ws_hopping_schedule_t *hopping_schdule);
118124

119125
uint16_t ws_common_channel_number_calc(uint8_t regulatory_domain, uint8_t operating_class);

source/6LoWPAN/ws/ws_config.h

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -199,6 +199,11 @@ extern uint8_t DEVICE_MIN_SENS;
199199

200200
#define SEC_PROT_TIMER_EXPIRATIONS 2 // Number of retries
201201

202+
// Maximum number of simultaneous EAP-TLS negotiations
203+
#define MAX_SIMULTANEOUS_EAP_TLS_NEGOTIATIONS_SMALL 3
204+
#define MAX_SIMULTANEOUS_EAP_TLS_NEGOTIATIONS_MEDIUM 20
205+
#define MAX_SIMULTANEOUS_EAP_TLS_NEGOTIATIONS_LARGE 50
206+
202207
/*
203208
* Security protocol timer configuration parameters
204209
*/

source/6LoWPAN/ws/ws_pae_auth.c

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -59,8 +59,6 @@
5959
// Wait for for supplicant to indicate activity (e.g. to send a message)
6060
#define WAIT_FOR_AUTHENTICATION_TICKS 5 * 60 * 10 // 5 minutes
6161

62-
// Maximum number of simultaneous EAP-TLS negotiations
63-
#define MAX_SIMULTANEOUS_EAP_TLS_NEGOTIATIONS 3
6462

6563
/* If EAP-TLS is delayed due to simultaneous negotiations limit, defines how
6664
long to wait for previous negotiation to complete */
@@ -941,7 +939,7 @@ static void ws_pae_auth_next_kmp_trigger(pae_auth_t *pae_auth, supp_entry_t *sup
941939
supplicant. Otherwise supplicant must re-send initial EAPOL-Key
942940
to try again using its trickle schedule */
943941
uint16_t ongoing_eap_tls_cnt = ws_pae_lib_supp_list_kmp_count(&pae_auth->active_supp_list, IEEE_802_1X_MKA);
944-
if (ongoing_eap_tls_cnt >= MAX_SIMULTANEOUS_EAP_TLS_NEGOTIATIONS) {
942+
if (ongoing_eap_tls_cnt >= pae_auth->sec_prot_cfg->sec_max_ongoing_authentication) {
945943
supp_entry->retry_ticks = EAP_TLS_NEGOTIATION_TRIGGER_TIMEOUT;
946944
tr_info("EAP-TLS max ongoing reached, count %i, delayed: eui-64: %s", ongoing_eap_tls_cnt, trace_array(supp_entry->addr.eui_64, 8));
947945
return;

source/6LoWPAN/ws/ws_pae_controller.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -603,6 +603,7 @@ int8_t ws_pae_controller_configure(protocol_interface_info_entry_t *interface_pt
603603
controller->sec_prot_cfg.sec_prot_trickle_params.k = 0;
604604
controller->sec_prot_cfg.sec_prot_trickle_params.TimerExpirations = sec_prot_cfg->sec_prot_trickle_timer_exp;
605605
controller->sec_prot_cfg.sec_prot_retry_timeout = sec_prot_cfg->sec_prot_retry_timeout * 10;
606+
controller->sec_prot_cfg.sec_max_ongoing_authentication = sec_prot_cfg->sec_max_ongoing_authentication;
606607
}
607608

608609
if (sec_timer_cfg) {

source/RPL/rpl_control.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -206,7 +206,6 @@ uint8_t rpl_policy_mrhof_parent_set_size_get(const rpl_domain_t *domain);
206206
#define rpl_control_address_register_done(interface, ll_addr, status) (false)
207207
#define rpl_policy_mrhof_parent_set_size_get(domain) (0)
208208
#define rpl_control_set_mrhof_parent_set_size(parent_set_size)
209-
210209
#endif /* HAVE_RPL */
211210

212211
#endif /* RPL_CONTROL_H_ */

0 commit comments

Comments
 (0)