17#ifndef WISUNBORDERROUTER_H
18#define WISUNBORDERROUTER_H
103 MBED_DEPRECATED_SINCE(
"mbed-os-6.10.0",
"Using NetworkInterface type for mesh_if is deprecated, use WisunInterface instead")
157 mesh_error_t
set_rpl_parameters(uint8_t dio_interval_min, uint8_t dio_interval_doublings, uint8_t dio_redundancy_constant);
171 mesh_error_t
get_rpl_parameters(uint8_t *dio_interval_min, uint8_t *dio_interval_doublings, uint8_t *dio_redundancy_constant);
186 mesh_error_t
validate_rpl_parameters(uint8_t dio_interval_min, uint8_t dio_interval_doublings, uint8_t dio_redundancy_constant);
354 mesh_error_t configure();
355 mesh_error_t apply_configuration(int8_t mesh_if_id);
356 mesh_error_t set_bbr_radius_address(
void);
357 mesh_error_t set_bbr_radius_shared_secret(
void);
358 mesh_error_t set_bbr_radius_timing(
void);
359 char _radius_ipv6_addr[40];
362 .radius_retry_imax = 0,
363 .radius_retry_count = 0
365 char *_shared_secret = NULL;
366 uint16_t _shared_secret_len = 0;
367 int8_t _mesh_if_id = -1;
368 bool _radius_ipv6_addr_set =
false;
369 bool _configured =
false;
370 bool _radius_timing_set =
false;
Common interface that is shared between network devices.
mbed OS API for onboard IP stack abstraction
Wi-SUN Border Router class.
mesh_error_t get_rpl_parameters(uint8_t *dio_interval_min, uint8_t *dio_interval_doublings, uint8_t *dio_redundancy_constant)
Get Wi-SUN RPL DIO trickle parameters.
mesh_error_t set_rpl_parameters(uint8_t dio_interval_min, uint8_t dio_interval_doublings, uint8_t dio_redundancy_constant)
Set Wi-SUN RPL DIO trickle parameters.
mesh_error_t set_radius_shared_secret(uint16_t shared_secret_len, const uint8_t *shared_secret)
Set Wi-SUN RADIUS shared secret.
mesh_error_t set_radius_timing(ws_br_radius_timing_t *timing)
Set Wi-SUN RADIUS timing parameters.
mesh_error_t validate_pan_configuration(uint16_t pan_id)
Validate Wi-SUN PAN configuration parameters.
mesh_error_t info_get(ws_br_info_t *info_ptr)
Get Wi-SUN Border Router information.
int routing_table_get(ws_br_route_info_t *table_ptr, uint16_t table_len)
Get Wi-SUN neighbor table information.
mesh_error_t set_pan_configuration(uint16_t pan_id)
Set Wi-SUN PAN configuration parameters.
mesh_error_t set_radius_server_ipv6_address(const char *address)
Set Wi-SUN RADIUS server IPv6 address.
void stop()
Stop Wi-SUN Border Router.
mesh_error_t get_radius_shared_secret(uint16_t *shared_secret_len, uint8_t *shared_secret)
Get Wi-SUN RADIUS shared secret.
mesh_error_t start(WisunInterface *mesh_if, NetworkInterface *backbone_if)
Start Wi-SUN Border Router.
mesh_error_t get_pan_configuration(uint16_t *pan_id)
Get Wi-SUN PAN configuration parameters.
mesh_error_t get_radius_server_ipv6_address(char *address)
Get Wi-SUN RADIUS server IPv6 address.
mesh_error_t validate_radius_timing(ws_br_radius_timing_t *timing)
Validate Wi-SUN RADIUS timing parameters.
WisunBorderRouter()
Create WisunBorderRouter.
mesh_error_t validate_rpl_parameters(uint8_t dio_interval_min, uint8_t dio_interval_doublings, uint8_t dio_redundancy_constant)
Validate Wi-SUN RPL DIO trickle parameters.
mesh_error_t get_radius_timing(ws_br_radius_timing_t *timing)
Get Wi-SUN RADIUS timing parameters.
mesh_error_t set_dns_query_result(SocketAddress *address, char *domain_name)
Set DNS query result to Nanostack cache.
Wi-SUN mesh network interface class.
Struct br_information Border router dynamic information.
uint8_t rpl_dodag_id[16]
Border router dodag id.
uint8_t ipv6_iid[8]
IID of Border router.
uint8_t ipv6_prefix[8]
Address prefix given to devices in network set to 0 if not available.
uint8_t version
RPL version number.
uint8_t instance_id
Border router instance identifier defined in RPL.
uint64_t host_timestamp
Timestamp of the the device.
uint8_t gateway_addr[16]
Gateway Local Address.
uint16_t device_count
Amount of devices in the network.
Struct ws_br_radius_timing_t is RADIUS timing configuration structure.
uint16_t radius_retry_imax
RADIUS retry trickle timer Imax; in 100ms units; range 1-1200; default 30 (3 seconds)
uint16_t radius_retry_imin
RADIUS retry trickle timer Imin; in 100ms units; range 1-1200; default 20 (2 seconds)
uint8_t radius_retry_count
RADIUS retry trickle count; default 3.
Struct br_route_info is parent child relation structure.
uint8_t target[8]
IID of target device Public IPv6 address can be formed by combining prefix + IID.
uint8_t parent[8]
IID of parent.