Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependents: mbedEndpointNetwork mbedEndpointNetworkMJK
Fork of Nanostack_lib by
inc/net/br_mle_lib.h@12:acef6f596835, 2014-06-30 (annotated)
- Committer:
- Mika Karjalainen 
- Date:
- Mon Jun 30 12:04:13 2014 +0300
- Revision:
- 12:acef6f596835
- Parent:
- 11:1b7aaf37a131
updated Nanostack library release package
Who changed what in which revision?
| User | Revision | Line number | New contents of line | 
|---|---|---|---|
| Mika Karjalainen | 4:c449bead5cf3 | 1 | /** | 
| Mika Karjalainen | 4:c449bead5cf3 | 2 | * \file br_mle_lib.h | 
| Mika Karjalainen | 4:c449bead5cf3 | 3 | * \brief Border Router MLE (Mesh Link Establishment) API when wireless interface is running. | 
| Mika Karjalainen | 4:c449bead5cf3 | 4 | * | 
| Mika Karjalainen | 4:c449bead5cf3 | 5 | * - arm_mle_prepare_update(), Update MLE link parameter(Channel, PAN-ID, allow-join) at Run time | 
| Mika Karjalainen | 4:c449bead5cf3 | 6 | * - arm_mle_update_beacon_payload(), Update Beacon payload optional data part | 
| Mika Karjalainen | 4:c449bead5cf3 | 7 | * - arm_mle_link_request_to_routers(), load MLE entry from NVM | 
| Mika Karjalainen | 4:c449bead5cf3 | 8 | * | 
| Mika Karjalainen | 4:c449bead5cf3 | 9 | * MLE update process recommend minimum delay should be >5000 ms. | 
| Mika Karjalainen | 4:c449bead5cf3 | 10 | * PAN-ID and Channel update cause problems to sleepy Host Node. | 
| Mika Karjalainen | 4:c449bead5cf3 | 11 | * Those nodes never get Multicast packet from parent and loose parent. | 
| Mika Karjalainen | 4:c449bead5cf3 | 12 | * | 
| Mika Karjalainen | 4:c449bead5cf3 | 13 | * MLE link update messages will be delivered by trickle multicast forwarding using multicast address FF03::1. | 
| Mika Karjalainen | 4:c449bead5cf3 | 14 | * | 
| Mika Karjalainen | 4:c449bead5cf3 | 15 | */ | 
| Mika Karjalainen | 12:acef6f596835 | 16 | #ifndef _BR_MLE_LIB_H | 
| Mika Karjalainen | 12:acef6f596835 | 17 | #define _BR_MLE_LIB_H | 
| Mika Karjalainen | 12:acef6f596835 | 18 | #ifdef __cplusplus | 
| jusu_81 | 11:1b7aaf37a131 | 19 | extern "C" { | 
| jusu_81 | 11:1b7aaf37a131 | 20 | #endif | 
| Mika Karjalainen | 12:acef6f596835 | 21 | |
| Mika Karjalainen | 4:c449bead5cf3 | 22 | /* Supported MLE Link layer Parameters changes at Run time*/ | 
| Mika Karjalainen | 4:c449bead5cf3 | 23 | #define MLE_CHANNEL_UPDATE_TYPE 0 /* Update new link layer channel */ | 
| Mika Karjalainen | 4:c449bead5cf3 | 24 | #define MLE_PANID_UPDATE_TYPE 1 /* Update new link layer PAN-ID */ | 
| Mika Karjalainen | 4:c449bead5cf3 | 25 | #define MLE_ALLOW_JOIN_UPDATE_TYPE 2 /* Update Allow Join Bit at Beacon payload */ | 
| Mika Karjalainen | 4:c449bead5cf3 | 26 | |
| Mika Karjalainen | 4:c449bead5cf3 | 27 | /** | 
| Mika Karjalainen | 4:c449bead5cf3 | 28 | * \brief Update MLE link parameter at Run time | 
| Mika Karjalainen | 4:c449bead5cf3 | 29 | * | 
| Mika Karjalainen | 4:c449bead5cf3 | 30 | * \param nwk_id Network interface ID | 
| Mika Karjalainen | 4:c449bead5cf3 | 31 | * \param type MLE_CHANNEL_UPDATE_TYPE, MLE_PANID_UPDATE_TYPE or MLE_ALLOW_JOIN_UPDATE_TYPE | 
| Mika Karjalainen | 4:c449bead5cf3 | 32 | * \param time Interval to Update in milliseconds need to 5000 or bigger. | 
| Mika Karjalainen | 4:c449bead5cf3 | 33 | * \param value indicate channel, pan-id or boolean value for allow join | 
| Mika Karjalainen | 4:c449bead5cf3 | 34 | * | 
| Mika Karjalainen | 4:c449bead5cf3 | 35 | * \return 0 Update process OK | 
| Mika Karjalainen | 4:c449bead5cf3 | 36 | * \return -1 Old update process still active | 
| Mika Karjalainen | 4:c449bead5cf3 | 37 | * \return -2 Unsupported Update Type | 
| Mika Karjalainen | 4:c449bead5cf3 | 38 | * \return -3 Un supported value (channel not between 11-26 or pan id was 0xffff or 0xfffe) | 
| Mika Karjalainen | 4:c449bead5cf3 | 39 | * \return -4 Stack at idle state | 
| Mika Karjalainen | 4:c449bead5cf3 | 40 | * | 
| Mika Karjalainen | 4:c449bead5cf3 | 41 | * List Possible values for specific types: | 
| Mika Karjalainen | 4:c449bead5cf3 | 42 | * - MLE_CHANNEL_UPDATE_TYPE, supported values 11-26 | 
| Mika Karjalainen | 4:c449bead5cf3 | 43 | * - MLE_PAN_ID_UPDATE_TYPE ,supported value 0x0000 -0xfffd | 
| Mika Karjalainen | 4:c449bead5cf3 | 44 | * - MLE_ALLOW_JOIN__UPDATE_TYPE ,16-bit Boolean 0=Disbaled and 1=Enabled | 
| Mika Karjalainen | 4:c449bead5cf3 | 45 | * | 
| Mika Karjalainen | 4:c449bead5cf3 | 46 | * | 
| Mika Karjalainen | 4:c449bead5cf3 | 47 | */ | 
| Mika Karjalainen | 4:c449bead5cf3 | 48 | extern int8_t arm_mle_prepare_update(int8_t nwk_id,uint8_t type, uint32_t time, uint16_t value); | 
| Mika Karjalainen | 4:c449bead5cf3 | 49 | /** | 
| Mika Karjalainen | 4:c449bead5cf3 | 50 | * \brief Update Beacon Payload optional field | 
| Mika Karjalainen | 4:c449bead5cf3 | 51 | * | 
| Mika Karjalainen | 4:c449bead5cf3 | 52 | * \param nwk_id Network interface ID | 
| Mika Karjalainen | 4:c449bead5cf3 | 53 | * \param optional_fields_data pointer to given Optional data | 
| Mika Karjalainen | 4:c449bead5cf3 | 54 | * \param optional_fields_len length of optional data | 
| Mika Karjalainen | 4:c449bead5cf3 | 55 | * \param delay Interval to Update in milliseconds need to 5000 or bigger. | 
| Mika Karjalainen | 4:c449bead5cf3 | 56 | * | 
| Mika Karjalainen | 4:c449bead5cf3 | 57 | * \return 0 Update process OK | 
| Mika Karjalainen | 4:c449bead5cf3 | 58 | * \return -1 Old update process still active or Memory allocation fail | 
| Mika Karjalainen | 4:c449bead5cf3 | 59 | * \return -2 Unsupported Update Type | 
| Mika Karjalainen | 4:c449bead5cf3 | 60 | * \return -4 Stack at idle state | 
| Mika Karjalainen | 4:c449bead5cf3 | 61 | * | 
| Mika Karjalainen | 4:c449bead5cf3 | 62 | */ | 
| Mika Karjalainen | 4:c449bead5cf3 | 63 | extern int8_t arm_mle_update_beacon_payload(int8_t nwk_id, uint8_t *optional_fields_data, uint8_t optional_fields_len, uint32_t delay); | 
| Mika Karjalainen | 4:c449bead5cf3 | 64 | /** | 
| Mika Karjalainen | 4:c449bead5cf3 | 65 | * \brief Send multicast MLE link request to all routers | 
| Mika Karjalainen | 4:c449bead5cf3 | 66 | * | 
| Mika Karjalainen | 4:c449bead5cf3 | 67 | * This function should call when Border Router bootup by loaded NVM setups. | 
| Mika Karjalainen | 4:c449bead5cf3 | 68 | * | 
| Mika Karjalainen | 4:c449bead5cf3 | 69 | * \param nwk_id Network interface ID | 
| Mika Karjalainen | 4:c449bead5cf3 | 70 | * | 
| Mika Karjalainen | 4:c449bead5cf3 | 71 | * \return 0 Update process OK | 
| Mika Karjalainen | 4:c449bead5cf3 | 72 | * \return -1 Memory allocation fail for packet | 
| Mika Karjalainen | 4:c449bead5cf3 | 73 | * | 
| Mika Karjalainen | 4:c449bead5cf3 | 74 | */ | 
| Mika Karjalainen | 4:c449bead5cf3 | 75 | extern int8_t arm_mle_link_request_to_routers(int8_t nwk_id); | 
| Mika Karjalainen | 12:acef6f596835 | 76 | #ifdef __cplusplus | 
| jusu_81 | 11:1b7aaf37a131 | 77 | } | 
| jusu_81 | 11:1b7aaf37a131 | 78 | #endif | 
| Mika Karjalainen | 12:acef6f596835 | 79 | #endif /*_BR_MLE_LIB_H*/ | 
