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@11:1b7aaf37a131, 2014-06-25 (annotated)
- Committer:
- jusu_81
- Date:
- Wed Jun 25 21:05:58 2014 +0000
- Revision:
- 11:1b7aaf37a131
- Parent:
- 4:c449bead5cf3
- Child:
- 12:acef6f596835
Added C++ & C Extern C sectors to hedaer files.
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 |
4:c449bead5cf3 | 16 | |
| jusu_81 | 11:1b7aaf37a131 | 17 | #ifdef __cplusplus |
| jusu_81 | 11:1b7aaf37a131 | 18 | extern "C" { |
| jusu_81 | 11:1b7aaf37a131 | 19 | #endif |
| Mika Karjalainen |
4:c449bead5cf3 | 20 | /* Supported MLE Link layer Parameters changes at Run time*/ |
| Mika Karjalainen |
4:c449bead5cf3 | 21 | #define MLE_CHANNEL_UPDATE_TYPE 0 /* Update new link layer channel */ |
| Mika Karjalainen |
4:c449bead5cf3 | 22 | #define MLE_PANID_UPDATE_TYPE 1 /* Update new link layer PAN-ID */ |
| Mika Karjalainen |
4:c449bead5cf3 | 23 | #define MLE_ALLOW_JOIN_UPDATE_TYPE 2 /* Update Allow Join Bit at Beacon payload */ |
| Mika Karjalainen |
4:c449bead5cf3 | 24 | |
| Mika Karjalainen |
4:c449bead5cf3 | 25 | /** |
| Mika Karjalainen |
4:c449bead5cf3 | 26 | * \brief Update MLE link parameter at Run time |
| Mika Karjalainen |
4:c449bead5cf3 | 27 | * |
| Mika Karjalainen |
4:c449bead5cf3 | 28 | * \param nwk_id Network interface ID |
| Mika Karjalainen |
4:c449bead5cf3 | 29 | * \param type MLE_CHANNEL_UPDATE_TYPE, MLE_PANID_UPDATE_TYPE or MLE_ALLOW_JOIN_UPDATE_TYPE |
| Mika Karjalainen |
4:c449bead5cf3 | 30 | * \param time Interval to Update in milliseconds need to 5000 or bigger. |
| Mika Karjalainen |
4:c449bead5cf3 | 31 | * \param value indicate channel, pan-id or boolean value for allow join |
| Mika Karjalainen |
4:c449bead5cf3 | 32 | * |
| Mika Karjalainen |
4:c449bead5cf3 | 33 | * \return 0 Update process OK |
| Mika Karjalainen |
4:c449bead5cf3 | 34 | * \return -1 Old update process still active |
| Mika Karjalainen |
4:c449bead5cf3 | 35 | * \return -2 Unsupported Update Type |
| Mika Karjalainen |
4:c449bead5cf3 | 36 | * \return -3 Un supported value (channel not between 11-26 or pan id was 0xffff or 0xfffe) |
| Mika Karjalainen |
4:c449bead5cf3 | 37 | * \return -4 Stack at idle state |
| Mika Karjalainen |
4:c449bead5cf3 | 38 | * |
| Mika Karjalainen |
4:c449bead5cf3 | 39 | * List Possible values for specific types: |
| Mika Karjalainen |
4:c449bead5cf3 | 40 | * - MLE_CHANNEL_UPDATE_TYPE, supported values 11-26 |
| Mika Karjalainen |
4:c449bead5cf3 | 41 | * - MLE_PAN_ID_UPDATE_TYPE ,supported value 0x0000 -0xfffd |
| Mika Karjalainen |
4:c449bead5cf3 | 42 | * - MLE_ALLOW_JOIN__UPDATE_TYPE ,16-bit Boolean 0=Disbaled and 1=Enabled |
| Mika Karjalainen |
4:c449bead5cf3 | 43 | * |
| Mika Karjalainen |
4:c449bead5cf3 | 44 | * |
| Mika Karjalainen |
4:c449bead5cf3 | 45 | */ |
| Mika Karjalainen |
4:c449bead5cf3 | 46 | extern int8_t arm_mle_prepare_update(int8_t nwk_id,uint8_t type, uint32_t time, uint16_t value); |
| Mika Karjalainen |
4:c449bead5cf3 | 47 | /** |
| Mika Karjalainen |
4:c449bead5cf3 | 48 | * \brief Update Beacon Payload optional field |
| Mika Karjalainen |
4:c449bead5cf3 | 49 | * |
| Mika Karjalainen |
4:c449bead5cf3 | 50 | * \param nwk_id Network interface ID |
| Mika Karjalainen |
4:c449bead5cf3 | 51 | * \param optional_fields_data pointer to given Optional data |
| Mika Karjalainen |
4:c449bead5cf3 | 52 | * \param optional_fields_len length of optional data |
| Mika Karjalainen |
4:c449bead5cf3 | 53 | * \param delay Interval to Update in milliseconds need to 5000 or bigger. |
| Mika Karjalainen |
4:c449bead5cf3 | 54 | * |
| Mika Karjalainen |
4:c449bead5cf3 | 55 | * \return 0 Update process OK |
| Mika Karjalainen |
4:c449bead5cf3 | 56 | * \return -1 Old update process still active or Memory allocation fail |
| Mika Karjalainen |
4:c449bead5cf3 | 57 | * \return -2 Unsupported Update Type |
| Mika Karjalainen |
4:c449bead5cf3 | 58 | * \return -4 Stack at idle state |
| Mika Karjalainen |
4:c449bead5cf3 | 59 | * |
| Mika Karjalainen |
4:c449bead5cf3 | 60 | */ |
| Mika Karjalainen |
4:c449bead5cf3 | 61 | 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 | 62 | /** |
| Mika Karjalainen |
4:c449bead5cf3 | 63 | * \brief Send multicast MLE link request to all routers |
| Mika Karjalainen |
4:c449bead5cf3 | 64 | * |
| Mika Karjalainen |
4:c449bead5cf3 | 65 | * This function should call when Border Router bootup by loaded NVM setups. |
| Mika Karjalainen |
4:c449bead5cf3 | 66 | * |
| Mika Karjalainen |
4:c449bead5cf3 | 67 | * \param nwk_id Network interface ID |
| Mika Karjalainen |
4:c449bead5cf3 | 68 | * |
| Mika Karjalainen |
4:c449bead5cf3 | 69 | * \return 0 Update process OK |
| Mika Karjalainen |
4:c449bead5cf3 | 70 | * \return -1 Memory allocation fail for packet |
| Mika Karjalainen |
4:c449bead5cf3 | 71 | * |
| Mika Karjalainen |
4:c449bead5cf3 | 72 | */ |
| Mika Karjalainen |
4:c449bead5cf3 | 73 | extern int8_t arm_mle_link_request_to_routers(int8_t nwk_id); |
| jusu_81 | 11:1b7aaf37a131 | 74 | #ifdef __cplusplus |
| jusu_81 | 11:1b7aaf37a131 | 75 | } |
| jusu_81 | 11:1b7aaf37a131 | 76 | #endif |
