Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/release_internal' into release_e…
Browse files Browse the repository at this point in the history
…xternal

* origin/release_internal: (23 commits)
  Corrected covery warning on delay_us multiplication
  Updated changelog
  Corrected nw size set on automatic mode
  Updated unit tests
  Added waiting queue to EAPOL authentications to Border Router
  Wi-SUN border router starts faster in static configuration
  Local repair start and stop clear advertised_dodag_membership_since_last_repair when state is updated.
  RPL dio send update
  Wi-SUN Border router uses Static address as DODAGID
  Additional check to detect parent connection problem
  WS management: domain configuration functions implemented (ARMmbed#2567)
  Added new Callback to RPL indicate Multicast DIS received from RPL Parent
  Bootstrap and EAPOL treats all MAC TX failure causes similarly
  Add support for anonymous addressing in Wi-SUN border router (ARMmbed#2565)
  CFG: API for PHY mode id and channel plan id get & validate (ARMmbed#2564)
  Added Socket reference limitter
  Wi-SUN MTU size update and IPv6 minium MTU routing skip
  Added throttling of number of simultaneous EAPOL authentications
  Source route handler call Wi-Sun border router alive function.
  Added support for dynamic RPL default lifetime
  ...
  • Loading branch information
Arto Kinnunen committed Feb 23, 2021
2 parents 91f3ff6 + c825b04 commit 25b9124
Show file tree
Hide file tree
Showing 49 changed files with 1,195 additions and 614 deletions.
4 changes: 4 additions & 0 deletions nanostack/ws_bbr_api.h
Expand Up @@ -99,6 +99,7 @@ int ws_bbr_start(int8_t interface_id, int8_t backbone_interface_id);
#define BBR_REQUIRE_DAO_REFRESH 0x0000 /**< Deprecated DAO Refresh is now the default functionality*/
#define BBR_PERIODIC_VERSION_INC 0x0010 /**< Increment PAN version number Periodically*/
#define BBR_GUA_SLAAC 0x0020 /**< in Global prefix use SLAAC address generation to reduce traffic during bootstrap */
#define BBR_DHCP_ANONYMOUS 0x0040 /**< Generate anonymous addresses from DHCP server */

/**
* Configure border router features.
Expand All @@ -108,6 +109,9 @@ int ws_bbr_start(int8_t interface_id, int8_t backbone_interface_id);
* BBR_ULA_C Configure Mesh local ULA prefix with SLAAC address
* BBR_GUA_ROUTE Add more specific route for GUA
* BBR_BB_WAIT Start Wi-SUN network only when backbone is ready
* BBR_DHCP_ANONYMOUS if true give anonymous address (16 bit suffix) to
* optimize data in RF interface (saves 12 bytes per hop)
* or false to reduce RAM usage in Border router as assigned address list is not needed (40 bytes per device).
*
* By default Wi-SUN network is started and is treated as separate interface even if backbone is not available.
*
Expand Down
163 changes: 107 additions & 56 deletions nanostack/ws_management_api.h
Expand Up @@ -95,6 +95,30 @@ extern "C" {
*/
#define WS_MANAGEMENT_API_VER_2 /**< Management API version */

/**
* Deprecated!
* Configure PHY mode ID of Wi-SUN stack as defined by Wi-SUN FAN 1.1.
*
* \param interface_id Network interface ID.
* \param phy_mode_id PHY mode ID. Default 255 (not used).
*
* \return 0, Init OK.
* \return <0 Init fail.
*/
#define ws_management_phy_mode_id_set(interface_id, phy_mode_id) ws_management_domain_configuration_set(interface_id, 0, phy_mode_id, 0)

/**
* Deprecated!
* Configure Channel plan ID of Wi-SUN stack as defined by Wi-SUN FAN 1.1.
*
* \param interface_id Network interface ID.
* \param channel_plan_id Channel plan ID. Default 255 (not used).
*
* \return 0, Init OK.
* \return <0 Init fail.
*/
#define ws_management_channel_plan_id_set(interface_id, channel_plan_id) ws_management_domain_configuration_set(interface_id, 0, 0, channel_plan_id)

/**
* \brief Struct ws_statistics defines the Wi-SUN statistics storage structure.
*/
Expand Down Expand Up @@ -187,80 +211,107 @@ int ws_management_network_name_validate(
char *network_name_ptr);

/**
* Configure PHY mode ID of Wi-SUN stack as defined by Wi-SUN FAN 1.1.
* Set domain configuration of Wi-SUN stack.
*
* Change the default configuration for Wi-SUN PHY operation.
*
* Supported values:
* FSK without FEC:
* PHY mode ID | Symbol Rate (kbps) | Modulation Index
* 1 50 0.5
* 2 50 1.0
* 3 100 0.5
* 4 100 1.0
* 5 150 0.5
* 6 200 0.5
* 7 200 1.0
* 8 300 0.5
*
* FSK with FEC:
* PHY mode ID | Symbol Rate (kbps) | Modulation Index
* 17 50 0.5
* 18 50 1.0
* 19 100 0.5
* 20 100 1.0
* 21 150 0.5
* 22 200 0.5
* 23 200 1.0
* 24 300 0.5
*
* OFDM:
* PHY mode ID | Option | MCS | Data rate (kbps)
* 34 1 2 400
* 35 1 3 800
* 36 1 4 1200
* 37 1 5 1600
* 38 1 6 2400
* 51 2 3 400
* 52 2 4 600
* 53 2 5 800
* 54 2 6 1200
* 68 3 4 300
* 69 3 5 400
* 70 3 6 600
* 84 4 4 150
* 85 4 5 200
* 86 4 6 300
*
* if value of 255 is given then previous value is used.
* Regulatory domain: "NA"(0x01), "KR"(0x09), "EU"(0x03), "IN"(0x05), "BZ"(0x07), "JP"(0x09), "WW"(0x00)
*
* PHY mode ID:
* FSK without FEC:
* PHY mode ID | Symbol Rate (kbps) | Modulation Index
* 1 50 0.5
* 2 50 1.0
* 3 100 0.5
* 4 100 1.0
* 5 150 0.5
* 6 200 0.5
* 7 200 1.0
* 8 300 0.5
*
* FSK with FEC:
* PHY mode ID | Symbol Rate (kbps) | Modulation Index
* 17 50 0.5
* 18 50 1.0
* 19 100 0.5
* 20 100 1.0
* 21 150 0.5
* 22 200 0.5
* 23 200 1.0
* 24 300 0.5
*
* OFDM:
* PHY mode ID | Option | MCS | Data rate (kbps)
* 34 1 2 400
* 35 1 3 800
* 36 1 4 1200
* 37 1 5 1600
* 38 1 6 2400
* 51 2 3 400
* 52 2 4 600
* 53 2 5 800
* 54 2 6 1200
* 68 3 4 300
* 69 3 5 400
* 70 3 6 600
* 84 4 4 150
* 85 4 5 200
* 86 4 6 300
*
* Channel plan ID:
* North America (NA): (1), (2), (5)
* Brazil (BZ): (1), (2), (5)
*
* If value of 0 is given then previous value is used.
* If value of 255 is given then default value is used.
*
* \param interface_id Network interface ID.
* \param phy_mode_id PHY mode ID. Default 255 (not used).
* \param regulatory_domain Regulatory domain.
* \param phy_mode_id PHY mode ID.
* \param channel_plan_id Channel plan ID.
*
* \return 0, Init OK.
* \return <0 Init fail.
* \return 0, OK.
* \return <0 Fail.
*/
int ws_management_phy_mode_id_set(
int ws_management_domain_configuration_set(
int8_t interface_id,
uint8_t phy_mode_id);
uint8_t regulatory_domain,
uint8_t phy_mode_id,
uint8_t channel_plan_id);

/**
* Configure Channel plan ID of Wi-SUN stack as defined by Wi-SUN FAN 1.1.
*
* Change the default channel configuration for Wi-SUN.
* Get domain configuration of Wi-SUN stack.
*
* Supported values: TBD
* \param interface_id Network interface ID.
* \param regulatory_domain Regulatory domain.
* \param phy_mode_id PHY mode ID.
* \param channel_plan_id Channel plan ID.
*
* if value of 255 is given then previous value is used.
* \return 0, OK.
* \return <0 Fail.
*/
int ws_management_domain_configuration_get(
int8_t interface_id,
uint8_t *regulatory_domain,
uint8_t *phy_mode_id,
uint8_t *channel_plan_id);

/**
* Validate domain configuration of Wi-SUN stack.
*
* \param interface_id Network interface ID.
* \param channel_plan_id Channel plan ID. Default 255 (not used).
* \param regulatory_domain Regulatory domain.
* \param phy_mode_id PHY mode ID.
* \param channel_plan_id Channel plan ID.
*
* \return 0, Init OK.
* \return <0 Init fail.
* \return 0, OK.
* \return <0 Fail.
*/
int ws_management_channel_plan_id_set(
int ws_management_domain_configuration_validate(
int8_t interface_id,
uint8_t regulatory_domain,
uint8_t phy_mode_id,
uint8_t channel_plan_id);

/**
Expand Down
Expand Up @@ -2184,7 +2184,7 @@ void nwk_6lowpan_nd_address_registartion_ready(protocol_interface_info_entry_t *
// arm_nwk_6lowpan_rpl_dodag_poison from a previous connection may have left force_leaf set
rpl_control_force_leaf(protocol_6lowpan_rpl_domain, false);
rpl_control_set_domain_on_interface(cur, protocol_6lowpan_rpl_domain, true);
rpl_control_set_callback(protocol_6lowpan_rpl_domain, protocol_6lowpan_bootstrap_rpl_callback, NULL, NULL, cur);
rpl_control_set_callback(protocol_6lowpan_rpl_domain, protocol_6lowpan_bootstrap_rpl_callback, NULL, NULL, NULL, cur);
}
// Send unicast DIS to coordinator
nwk_bootstrap_icmp_rpl_dis_coord_msg_tx(cur);
Expand Down
2 changes: 1 addition & 1 deletion source/6LoWPAN/Thread/thread_management_if.c
Expand Up @@ -699,7 +699,7 @@ int thread_dhcpv6_server_set_anonymous_addressing(int8_t interface_id, uint8_t *
return -1;
}

return DHCPv6_server_service_set_address_autonous_flag(interface_id, prefix_ptr, anonymous, false);
return DHCPv6_server_service_set_address_generation_anonymous(interface_id, prefix_ptr, anonymous, false);
#else
(void) interface_id;
(void) prefix_ptr;
Expand Down

0 comments on commit 25b9124

Please sign in to comment.