Modules#
MAC Address Filtering#
API and Callbacks for the MAC Address Filtering Component.
This plugin artificially limits what the stack hears by filtering the packets just above the lower MAC. The plugin can be configured on the fly via CLI with the short or long address of devices whose packets will be dropped or allowed. There are two lists, a short address list (2-byte node ID) and a long address list (8-byte IEEE address). Each list may be configured as either an allow list or block list. The default is a block list with no addresses configured (accept all packets normally). A separate option allows or drops packets with no address information (e.g., Beacon Requests). NOTE: The radio will still generate and process MAC ACKs for packets. This plugin cannot be used to effect the behavior of MAC ACKs, which are handled by the RAIL library and radio hardware.
API#
Print configuration command.
Filter out the no address command.
Add the short address command.
Set the short address list type.
Set the long address list type.
Add long address.
Clear the short address list.
Clear the long address list.
Add panID.
Delete a panID entry.
Clear the panID list.
Set the list type for panID list.
MAC address filtering reset.
Clear all lists for MAC address filtering.
Delete an entry from short address list.
Delete an entry from long address list.
Get stats for a short address.
Get MAC address filtering stats. Get the allowed, dropped and total packet counts.
API Documentation#
emberAfPluginMacAddressFilteringPrintConfigCommand#
void emberAfPluginMacAddressFilteringPrintConfigCommand (SL_CLI_COMMAND_ARG )
Print configuration command.
Type | Direction | Argument Name | Description |
---|---|---|---|
SL_CLI_COMMAND_ARG | N/A | Ver.: always |
52
of file app/framework/plugin-soc/mac-address-filtering/mac-address-filtering.h
emberAfPluginMacAddressFilteringFilterNoAddressCommand#
void emberAfPluginMacAddressFilteringFilterNoAddressCommand (SL_CLI_COMMAND_ARG )
Filter out the no address command.
Type | Direction | Argument Name | Description |
---|---|---|---|
SL_CLI_COMMAND_ARG | N/A | Ver.: always |
59
of file app/framework/plugin-soc/mac-address-filtering/mac-address-filtering.h
emberAfPluginMacAddressFilteringAddShortAddressCommand#
void emberAfPluginMacAddressFilteringAddShortAddressCommand (SL_CLI_COMMAND_ARG )
Add the short address command.
Type | Direction | Argument Name | Description |
---|---|---|---|
SL_CLI_COMMAND_ARG | N/A | Ver.: always |
66
of file app/framework/plugin-soc/mac-address-filtering/mac-address-filtering.h
emberAfPluginMacAddressFilteringSetShortAddressListType#
void emberAfPluginMacAddressFilteringSetShortAddressListType (SL_CLI_COMMAND_ARG )
Set the short address list type.
Type | Direction | Argument Name | Description |
---|---|---|---|
SL_CLI_COMMAND_ARG | N/A | Ver.: always |
73
of file app/framework/plugin-soc/mac-address-filtering/mac-address-filtering.h
emberAfPluginMacAddressFilteringSetLongAddressListType#
void emberAfPluginMacAddressFilteringSetLongAddressListType (SL_CLI_COMMAND_ARG )
Set the long address list type.
Type | Direction | Argument Name | Description |
---|---|---|---|
SL_CLI_COMMAND_ARG | N/A | Ver.: always |
80
of file app/framework/plugin-soc/mac-address-filtering/mac-address-filtering.h
emberAfPluginMacAddressFilteringAddLongAddressCommand#
void emberAfPluginMacAddressFilteringAddLongAddressCommand (SL_CLI_COMMAND_ARG )
Add long address.
Type | Direction | Argument Name | Description |
---|---|---|---|
SL_CLI_COMMAND_ARG | N/A | Ver.: always |
87
of file app/framework/plugin-soc/mac-address-filtering/mac-address-filtering.h
emberAfPluginMacAddressFilteringClearShortAddressList#
void emberAfPluginMacAddressFilteringClearShortAddressList (SL_CLI_COMMAND_ARG )
Clear the short address list.
Type | Direction | Argument Name | Description |
---|---|---|---|
SL_CLI_COMMAND_ARG | N/A | Ver.: always |
94
of file app/framework/plugin-soc/mac-address-filtering/mac-address-filtering.h
emberAfPluginMacAddressFilteringClearLongAddressList#
void emberAfPluginMacAddressFilteringClearLongAddressList (SL_CLI_COMMAND_ARG )
Clear the long address list.
Type | Direction | Argument Name | Description |
---|---|---|---|
SL_CLI_COMMAND_ARG | N/A | Ver.: always |
101
of file app/framework/plugin-soc/mac-address-filtering/mac-address-filtering.h
emberAfPluginMacAddressFilteringAddPanIdCommand#
void emberAfPluginMacAddressFilteringAddPanIdCommand (SL_CLI_COMMAND_ARG )
Add panID.
Type | Direction | Argument Name | Description |
---|---|---|---|
SL_CLI_COMMAND_ARG | N/A | Ver.: always |
108
of file app/framework/plugin-soc/mac-address-filtering/mac-address-filtering.h
emberAfPluginMacAddressFilteringPanIdDeleteEntry#
void emberAfPluginMacAddressFilteringPanIdDeleteEntry (SL_CLI_COMMAND_ARG )
Delete a panID entry.
Type | Direction | Argument Name | Description |
---|---|---|---|
SL_CLI_COMMAND_ARG | N/A | Ver.: always |
115
of file app/framework/plugin-soc/mac-address-filtering/mac-address-filtering.h
emberAfPluginMacAddressFilteringClearPanIdList#
void emberAfPluginMacAddressFilteringClearPanIdList (SL_CLI_COMMAND_ARG )
Clear the panID list.
Type | Direction | Argument Name | Description |
---|---|---|---|
SL_CLI_COMMAND_ARG | N/A | Ver.: always |
122
of file app/framework/plugin-soc/mac-address-filtering/mac-address-filtering.h
emberAfPluginMacAddressFilteringSetPanIdListType#
void emberAfPluginMacAddressFilteringSetPanIdListType (SL_CLI_COMMAND_ARG )
Set the list type for panID list.
Type | Direction | Argument Name | Description |
---|---|---|---|
SL_CLI_COMMAND_ARG | N/A | Ver.: always |
129
of file app/framework/plugin-soc/mac-address-filtering/mac-address-filtering.h
emberAfPluginMacAddressFilteringReset#
void emberAfPluginMacAddressFilteringReset (SL_CLI_COMMAND_ARG )
MAC address filtering reset.
Type | Direction | Argument Name | Description |
---|---|---|---|
SL_CLI_COMMAND_ARG | N/A | Ver.: always |
136
of file app/framework/plugin-soc/mac-address-filtering/mac-address-filtering.h
emberAfPluginMacAddressFilteringClearAll#
void emberAfPluginMacAddressFilteringClearAll (void )
Clear all lists for MAC address filtering.
Type | Direction | Argument Name | Description |
---|---|---|---|
void | N/A | Ver.: always |
143
of file app/framework/plugin-soc/mac-address-filtering/mac-address-filtering.h
emberAfPluginMacAddressFilteringShortAddressDeleteEntry#
void emberAfPluginMacAddressFilteringShortAddressDeleteEntry (SL_CLI_COMMAND_ARG )
Delete an entry from short address list.
Type | Direction | Argument Name | Description |
---|---|---|---|
SL_CLI_COMMAND_ARG | N/A | Ver.: always |
150
of file app/framework/plugin-soc/mac-address-filtering/mac-address-filtering.h
emberAfPluginMacAddressFilteringLongAddressDeleteEntry#
void emberAfPluginMacAddressFilteringLongAddressDeleteEntry (SL_CLI_COMMAND_ARG )
Delete an entry from long address list.
Type | Direction | Argument Name | Description |
---|---|---|---|
SL_CLI_COMMAND_ARG | N/A | Ver.: always |
157
of file app/framework/plugin-soc/mac-address-filtering/mac-address-filtering.h
emberAfPluginMacAddressFilteringGetStatsForShortAddress#
EmberStatus emberAfPluginMacAddressFilteringGetStatsForShortAddress (uint8_t index, uint32_t * matchCountForIndexPtr)
Get stats for a short address.
Type | Direction | Argument Name | Description |
---|---|---|---|
uint8_t | N/A | index | Ver.: always |
uint32_t * | N/A | matchCountForIndexPtr | Ver.: always |
Returns
EmberStatus status code
167
of file app/framework/plugin-soc/mac-address-filtering/mac-address-filtering.h
emberAfPluginMacAddressFilteringGetStats#
void emberAfPluginMacAddressFilteringGetStats (bool shortMode, uint32_t * allowedPacketCountPtr, uint32_t * droppedPacketCountPtr, uint32_t * totalPacketCountPtr)
Get MAC address filtering stats. Get the allowed, dropped and total packet counts.
Type | Direction | Argument Name | Description |
---|---|---|---|
bool | N/A | shortMode | Ver.: always |
uint32_t * | N/A | allowedPacketCountPtr | Ver.: always |
uint32_t * | N/A | droppedPacketCountPtr | Ver.: always |
uint32_t * | N/A | totalPacketCountPtr | Ver.: always |
177
of file app/framework/plugin-soc/mac-address-filtering/mac-address-filtering.h