Modules#

MAC Address Filtering

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 a whitelist or blacklist. The default is a blacklist 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#

void

Print configuration command.

void

filter out the no address command

void

add the short address command

void

set the short address list type

void

set the long address list type

void

Add long address.

void

Clear the short address list.

void

clear the long address list

void
void

Delete a panID entry.

void

Clear the panID list.

void

set list type for panID list

void

MAC address filtering reset.

void

Clear all lists for MAC address filtering.

void

Delete an entry from short address list.

void

Delete an entry from long address list.

EmberStatus
emberAfPluginMacAddressFilteringGetStatsForShortAddress(uint8_t index, uint32_t *matchCountForIndexPtr)

Get stats for a short address.

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.

API Documentation#

emberAfPluginMacAddressFilteringPrintConfigCommand#

void emberAfPluginMacAddressFilteringPrintConfigCommand (SL_CLI_COMMAND_ARG )

Print configuration command.

Parameters
TypeDirectionArgument NameDescription
SL_CLI_COMMAND_ARGN/A

Ver.: always


emberAfPluginMacAddressFilteringFilterNoAddressCommand#

void emberAfPluginMacAddressFilteringFilterNoAddressCommand (SL_CLI_COMMAND_ARG )

filter out the no address command

Parameters
TypeDirectionArgument NameDescription
SL_CLI_COMMAND_ARGN/A

Ver.: always


emberAfPluginMacAddressFilteringAddShortAddressCommand#

void emberAfPluginMacAddressFilteringAddShortAddressCommand (SL_CLI_COMMAND_ARG )

add the short address command

Parameters
TypeDirectionArgument NameDescription
SL_CLI_COMMAND_ARGN/A

Ver.: always


emberAfPluginMacAddressFilteringSetShortAddressListType#

void emberAfPluginMacAddressFilteringSetShortAddressListType (SL_CLI_COMMAND_ARG )

set the short address list type

Parameters
TypeDirectionArgument NameDescription
SL_CLI_COMMAND_ARGN/A

Ver.: always


emberAfPluginMacAddressFilteringSetLongAddressListType#

void emberAfPluginMacAddressFilteringSetLongAddressListType (SL_CLI_COMMAND_ARG )

set the long address list type

Parameters
TypeDirectionArgument NameDescription
SL_CLI_COMMAND_ARGN/A

Ver.: always


emberAfPluginMacAddressFilteringAddLongAddressCommand#

void emberAfPluginMacAddressFilteringAddLongAddressCommand (SL_CLI_COMMAND_ARG )

Add long address.

Parameters
TypeDirectionArgument NameDescription
SL_CLI_COMMAND_ARGN/A

Ver.: always


emberAfPluginMacAddressFilteringClearShortAddressList#

void emberAfPluginMacAddressFilteringClearShortAddressList (SL_CLI_COMMAND_ARG )

Clear the short address list.

Parameters
TypeDirectionArgument NameDescription
SL_CLI_COMMAND_ARGN/A

Ver.: always


emberAfPluginMacAddressFilteringClearLongAddressList#

void emberAfPluginMacAddressFilteringClearLongAddressList (SL_CLI_COMMAND_ARG )

clear the long address list

Parameters
TypeDirectionArgument NameDescription
SL_CLI_COMMAND_ARGN/A

Ver.: always


emberAfPluginMacAddressFilteringAddPanIdCommand#

void emberAfPluginMacAddressFilteringAddPanIdCommand (SL_CLI_COMMAND_ARG )

Add panID.

Parameters
TypeDirectionArgument NameDescription
SL_CLI_COMMAND_ARGN/A

Ver.: always


emberAfPluginMacAddressFilteringPanIdDeleteEntry#

void emberAfPluginMacAddressFilteringPanIdDeleteEntry (SL_CLI_COMMAND_ARG )

Delete a panID entry.

Parameters
TypeDirectionArgument NameDescription
SL_CLI_COMMAND_ARGN/A

Ver.: always


emberAfPluginMacAddressFilteringClearPanIdList#

void emberAfPluginMacAddressFilteringClearPanIdList (SL_CLI_COMMAND_ARG )

Clear the panID list.

Parameters
TypeDirectionArgument NameDescription
SL_CLI_COMMAND_ARGN/A

Ver.: always


emberAfPluginMacAddressFilteringSetPanIdListType#

void emberAfPluginMacAddressFilteringSetPanIdListType (SL_CLI_COMMAND_ARG )

set list type for panID list

Parameters
TypeDirectionArgument NameDescription
SL_CLI_COMMAND_ARGN/A

Ver.: always


emberAfPluginMacAddressFilteringReset#

void emberAfPluginMacAddressFilteringReset (SL_CLI_COMMAND_ARG )

MAC address filtering reset.

Parameters
TypeDirectionArgument NameDescription
SL_CLI_COMMAND_ARGN/A

Ver.: always


emberAfPluginMacAddressFilteringClearAll#

void emberAfPluginMacAddressFilteringClearAll (void )

Clear all lists for MAC address filtering.

Parameters
TypeDirectionArgument NameDescription
voidN/A

Ver.: always


emberAfPluginMacAddressFilteringShortAddressDeleteEntry#

void emberAfPluginMacAddressFilteringShortAddressDeleteEntry (SL_CLI_COMMAND_ARG )

Delete an entry from short address list.

Parameters
TypeDirectionArgument NameDescription
SL_CLI_COMMAND_ARGN/A

Ver.: always


emberAfPluginMacAddressFilteringLongAddressDeleteEntry#

void emberAfPluginMacAddressFilteringLongAddressDeleteEntry (SL_CLI_COMMAND_ARG )

Delete an entry from long address list.

Parameters
TypeDirectionArgument NameDescription
SL_CLI_COMMAND_ARGN/A

Ver.: always


emberAfPluginMacAddressFilteringGetStatsForShortAddress#

EmberStatus emberAfPluginMacAddressFilteringGetStatsForShortAddress (uint8_t index, uint32_t * matchCountForIndexPtr)

Get stats for a short address.

Parameters
TypeDirectionArgument NameDescription
uint8_tN/Aindex

Ver.: always

uint32_t *N/AmatchCountForIndexPtr

Ver.: always

Returns

  • EmberStatus status code


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.

Parameters
TypeDirectionArgument NameDescription
boolN/AshortMode

Ver.: always

uint32_t *N/AallowedPacketCountPtr

Ver.: always

uint32_t *N/AdroppedPacketCountPtr

Ver.: always

uint32_t *N/AtotalPacketCountPtr

Ver.: always