mirror of
https://github.com/espressif/openthread.git
synced 2026-07-28 22:57:47 +00:00
[ncp] emit link-local and mesh-local addresses before full table (#3844)
This commit changes the emitted properties from NCP such that the mesh-local address (and prefix) are emitted before the entire IP address table. This ensures that a host driver is aware of the mesh-local prefix when it receives the full address table and can correctly filter RLOC addresses (if desired).
This commit is contained in:
committed by
Jonathan Hui
parent
a1b2d354b1
commit
ddda77cd85
@@ -49,52 +49,52 @@ namespace Ncp {
|
||||
const ChangedPropsSet::Entry ChangedPropsSet::mSupportedProps[] = {
|
||||
// Spinel property , Status (if prop is `LAST_STATUS`), IsFilterable?
|
||||
|
||||
{SPINEL_PROP_LAST_STATUS, SPINEL_STATUS_RESET_UNKNOWN, false}, // 0
|
||||
{SPINEL_PROP_STREAM_DEBUG, SPINEL_STATUS_OK, true}, // 1
|
||||
{SPINEL_PROP_IPV6_ADDRESS_TABLE, SPINEL_STATUS_OK, true}, // 2
|
||||
{SPINEL_PROP_NET_ROLE, SPINEL_STATUS_OK, true}, // 3
|
||||
{SPINEL_PROP_IPV6_LL_ADDR, SPINEL_STATUS_OK, true}, // 4
|
||||
{SPINEL_PROP_IPV6_ML_ADDR, SPINEL_STATUS_OK, true}, // 5
|
||||
{SPINEL_PROP_NET_PARTITION_ID, SPINEL_STATUS_OK, true}, // 6
|
||||
{SPINEL_PROP_NET_KEY_SEQUENCE_COUNTER, SPINEL_STATUS_OK, true}, // 7
|
||||
{SPINEL_PROP_THREAD_LEADER_NETWORK_DATA, SPINEL_STATUS_OK, true}, // 8
|
||||
{SPINEL_PROP_THREAD_CHILD_TABLE, SPINEL_STATUS_OK, true}, // 9
|
||||
{SPINEL_PROP_THREAD_ON_MESH_NETS, SPINEL_STATUS_OK, true}, // 10
|
||||
{SPINEL_PROP_THREAD_OFF_MESH_ROUTES, SPINEL_STATUS_OK, true}, // 11
|
||||
{SPINEL_PROP_NET_STACK_UP, SPINEL_STATUS_OK, true}, // 12
|
||||
{SPINEL_PROP_NET_REQUIRE_JOIN_EXISTING, SPINEL_STATUS_OK, true}, // 13
|
||||
{SPINEL_PROP_LAST_STATUS, SPINEL_STATUS_NOMEM, true}, // 14
|
||||
{SPINEL_PROP_LAST_STATUS, SPINEL_STATUS_DROPPED, true}, // 15
|
||||
{SPINEL_PROP_LAST_STATUS, SPINEL_STATUS_RESET_UNKNOWN, false},
|
||||
{SPINEL_PROP_STREAM_DEBUG, SPINEL_STATUS_OK, true},
|
||||
{SPINEL_PROP_IPV6_LL_ADDR, SPINEL_STATUS_OK, true},
|
||||
{SPINEL_PROP_IPV6_ML_ADDR, SPINEL_STATUS_OK, true},
|
||||
{SPINEL_PROP_IPV6_ADDRESS_TABLE, SPINEL_STATUS_OK, true},
|
||||
{SPINEL_PROP_NET_ROLE, SPINEL_STATUS_OK, true},
|
||||
{SPINEL_PROP_NET_PARTITION_ID, SPINEL_STATUS_OK, true},
|
||||
{SPINEL_PROP_NET_KEY_SEQUENCE_COUNTER, SPINEL_STATUS_OK, true},
|
||||
{SPINEL_PROP_THREAD_LEADER_NETWORK_DATA, SPINEL_STATUS_OK, true},
|
||||
{SPINEL_PROP_THREAD_CHILD_TABLE, SPINEL_STATUS_OK, true},
|
||||
{SPINEL_PROP_THREAD_ON_MESH_NETS, SPINEL_STATUS_OK, true},
|
||||
{SPINEL_PROP_THREAD_OFF_MESH_ROUTES, SPINEL_STATUS_OK, true},
|
||||
{SPINEL_PROP_NET_STACK_UP, SPINEL_STATUS_OK, true},
|
||||
{SPINEL_PROP_NET_REQUIRE_JOIN_EXISTING, SPINEL_STATUS_OK, true},
|
||||
{SPINEL_PROP_LAST_STATUS, SPINEL_STATUS_NOMEM, true},
|
||||
{SPINEL_PROP_LAST_STATUS, SPINEL_STATUS_DROPPED, true},
|
||||
#if OPENTHREAD_ENABLE_JAM_DETECTION
|
||||
{SPINEL_PROP_JAM_DETECTED, SPINEL_STATUS_OK, true}, // 16
|
||||
{SPINEL_PROP_JAM_DETECTED, SPINEL_STATUS_OK, true},
|
||||
#endif
|
||||
#if OPENTHREAD_ENABLE_LEGACY
|
||||
{SPINEL_PROP_NEST_LEGACY_ULA_PREFIX, SPINEL_STATUS_OK, true}, // 17
|
||||
{SPINEL_PROP_NEST_LEGACY_LAST_NODE_JOINED, SPINEL_STATUS_OK, true}, // 18
|
||||
{SPINEL_PROP_NEST_LEGACY_ULA_PREFIX, SPINEL_STATUS_OK, true},
|
||||
{SPINEL_PROP_NEST_LEGACY_LAST_NODE_JOINED, SPINEL_STATUS_OK, true},
|
||||
#endif
|
||||
{SPINEL_PROP_LAST_STATUS, SPINEL_STATUS_JOIN_FAILURE, false}, // 19
|
||||
{SPINEL_PROP_MAC_SCAN_STATE, SPINEL_STATUS_OK, false}, // 20
|
||||
{SPINEL_PROP_IPV6_MULTICAST_ADDRESS_TABLE, SPINEL_STATUS_OK, true}, // 21
|
||||
{SPINEL_PROP_PHY_CHAN, SPINEL_STATUS_OK, true}, // 22
|
||||
{SPINEL_PROP_MAC_15_4_PANID, SPINEL_STATUS_OK, true}, // 23
|
||||
{SPINEL_PROP_NET_NETWORK_NAME, SPINEL_STATUS_OK, true}, // 24
|
||||
{SPINEL_PROP_NET_XPANID, SPINEL_STATUS_OK, true}, // 25
|
||||
{SPINEL_PROP_NET_MASTER_KEY, SPINEL_STATUS_OK, true}, // 26
|
||||
{SPINEL_PROP_NET_PSKC, SPINEL_STATUS_OK, true}, // 27
|
||||
{SPINEL_PROP_PHY_CHAN_SUPPORTED, SPINEL_STATUS_OK, true}, // 28
|
||||
{SPINEL_PROP_LAST_STATUS, SPINEL_STATUS_JOIN_FAILURE, false},
|
||||
{SPINEL_PROP_MAC_SCAN_STATE, SPINEL_STATUS_OK, false},
|
||||
{SPINEL_PROP_IPV6_MULTICAST_ADDRESS_TABLE, SPINEL_STATUS_OK, true},
|
||||
{SPINEL_PROP_PHY_CHAN, SPINEL_STATUS_OK, true},
|
||||
{SPINEL_PROP_MAC_15_4_PANID, SPINEL_STATUS_OK, true},
|
||||
{SPINEL_PROP_NET_NETWORK_NAME, SPINEL_STATUS_OK, true},
|
||||
{SPINEL_PROP_NET_XPANID, SPINEL_STATUS_OK, true},
|
||||
{SPINEL_PROP_NET_MASTER_KEY, SPINEL_STATUS_OK, true},
|
||||
{SPINEL_PROP_NET_PSKC, SPINEL_STATUS_OK, true},
|
||||
{SPINEL_PROP_PHY_CHAN_SUPPORTED, SPINEL_STATUS_OK, true},
|
||||
#if OPENTHREAD_ENABLE_CHANNEL_MANAGER
|
||||
{SPINEL_PROP_CHANNEL_MANAGER_NEW_CHANNEL, SPINEL_STATUS_OK, true}, // 29
|
||||
{SPINEL_PROP_CHANNEL_MANAGER_NEW_CHANNEL, SPINEL_STATUS_OK, true},
|
||||
#endif
|
||||
#if OPENTHREAD_ENABLE_JOINER
|
||||
{SPINEL_PROP_LAST_STATUS, SPINEL_STATUS_JOIN_NO_PEERS, false}, // 30
|
||||
{SPINEL_PROP_LAST_STATUS, SPINEL_STATUS_JOIN_SECURITY, false}, // 31
|
||||
{SPINEL_PROP_LAST_STATUS, SPINEL_STATUS_JOIN_RSP_TIMEOUT, false}, // 32
|
||||
{SPINEL_PROP_LAST_STATUS, SPINEL_STATUS_JOIN_SUCCESS, false}, // 33
|
||||
{SPINEL_PROP_LAST_STATUS, SPINEL_STATUS_JOIN_NO_PEERS, false},
|
||||
{SPINEL_PROP_LAST_STATUS, SPINEL_STATUS_JOIN_SECURITY, false},
|
||||
{SPINEL_PROP_LAST_STATUS, SPINEL_STATUS_JOIN_RSP_TIMEOUT, false},
|
||||
{SPINEL_PROP_LAST_STATUS, SPINEL_STATUS_JOIN_SUCCESS, false},
|
||||
#endif
|
||||
#if OPENTHREAD_CONFIG_ENABLE_TIME_SYNC
|
||||
{SPINEL_PROP_THREAD_NETWORK_TIME, SPINEL_STATUS_OK, false}, // 34
|
||||
{SPINEL_PROP_THREAD_NETWORK_TIME, SPINEL_STATUS_OK, false},
|
||||
#endif
|
||||
{SPINEL_PROP_PARENT_RESPONSE_INFO, SPINEL_STATUS_OK, true}, // 35
|
||||
{SPINEL_PROP_PARENT_RESPONSE_INFO, SPINEL_STATUS_OK, true},
|
||||
};
|
||||
|
||||
uint8_t ChangedPropsSet::GetNumEntries(void) const
|
||||
|
||||
Reference in New Issue
Block a user