[mac filter] add rssfilter support and integrate whitelist/blacklist to AddressFilter (#1967)

* [mac filter] add rssfilter support and integrate whitelist/blacklist
- provide RssIn filter function to fix the received signal strength for test purpose.
- provide Address filter function which integrates whitelist and blacklist, save (~300B) RAM.
- update cli and spinel-cli to reflect new otLinkFilterX() APIs.
- keep whitelist/blacklist spinel properties the same as before while implemented with new otLinkFilterX() APIs.
- THCI: add setOutBoundLinkQuality() API for DEV-1530
- THCI: update Allow/Block relative APIs
- update some test scripts due to new OT_ERROR_ALEADY when adding duplicate address to whitelist

* update for comments

* add MAC_FIXED_RSS spinel property

* rebase and apply new OutboundFrameBegin(aHeader)

* update OpenThread.py
This commit is contained in:
rongli
2017-07-11 22:38:49 -07:00
committed by Jonathan Hui
parent 16d76db592
commit 502c6ca5d6
50 changed files with 2411 additions and 2106 deletions
+31 -13
View File
@@ -350,11 +350,12 @@ typedef enum _OTLWF_NOTIF_TYPE
// GUID - InterfaceGuid
// otExtAddress - aExtAddr
#define IOCTL_OTLWF_OT_MAC_WHITELIST_ENTRY \
#define IOCTL_OTLWF_OT_NEXT_MAC_WHITELIST \
OTLWF_CTL_CODE(137, METHOD_BUFFERED, FILE_READ_DATA)
// GUID - InterfaceGuid
// uint8_t - aIndex (input)
// otMacWhitelistEntry - aEntry (output)
// uint8_t - aIterator (input)
// uint8_t - aNewIterator (output)
// otMacFilterEntry - aEntry (output)
#define IOCTL_OTLWF_OT_CLEAR_MAC_WHITELIST \
OTLWF_CTL_CODE(138, METHOD_BUFFERED, FILE_WRITE_DATA)
@@ -445,11 +446,12 @@ typedef enum _OTLWF_NOTIF_TYPE
// GUID - InterfaceGuid
// otExtAddress - aExtAddr
#define IOCTL_OTLWF_OT_MAC_BLACKLIST_ENTRY \
#define IOCTL_OTLWF_OT_NEXT_MAC_BLACKLIST \
OTLWF_CTL_CODE(155, METHOD_BUFFERED, FILE_READ_DATA)
// GUID - InterfaceGuid
// uint8_t - aIndex (input)
// otMacBlacklistEntry - aEntry (output)
// uint8_t - aIterator (input)
// uint8_t - aNewIterator (output)
// otMacFilterEntry - aEntry (output)
#define IOCTL_OTLWF_OT_CLEAR_MAC_BLACKLIST \
OTLWF_CTL_CODE(156, METHOD_BUFFERED, FILE_WRITE_DATA)
@@ -478,12 +480,6 @@ typedef enum _OTLWF_NOTIF_TYPE
// GUID - InterfaceGuid
// uint32_t - aPartitionId
#define IOCTL_OTLWF_OT_ASSIGN_LINK_QUALITY \
OTLWF_CTL_CODE(161, METHOD_BUFFERED, FILE_READ_DATA | FILE_WRITE_DATA)
// GUID - InterfaceGuid
// otExtAddress - aExtAddr (input)
// uint8_t - aLinkQuality (input or output)
#define IOCTL_OTLWF_OT_PLATFORM_RESET \
OTLWF_CTL_CODE(162, METHOD_BUFFERED, FILE_WRITE_DATA)
// GUID - InterfaceGuid
@@ -699,8 +695,30 @@ typedef struct otCommissionConfig
// GUID - InterfaceGuid
// int8_t - aParentPriority
#define IOCTL_OTLWF_OT_ADD_MAC_FIXED_RSS \
OTLWF_CTL_CODE(197, METHOD_BUFFERED, FILE_WRITE_DATA)
// GUID - InterfaceGuid
// otExtAddress - aExtAddr (optional)
// int8_t - aRssi
#define IOCTL_OTLWF_OT_REMOVE_MAC_FIXED_RSS \
OTLWF_CTL_CODE(198, METHOD_BUFFERED, FILE_WRITE_DATA)
// GUID - InterfaceGuid
// otExtAddress - aExtAddr (optional)
#define IOCTL_OTLWF_OT_NEXT_MAC_FIXED_RSS \
OTLWF_CTL_CODE(199, METHOD_BUFFERED, FILE_READ_DATA)
// GUID - InterfaceGuid
// uint8_t - aIterator (input)
// uint8_t - aNewIterator (output)
// otMacFilterEntry - aEntry (output)
#define IOCTL_OTLWF_OT_CLEAR_MAC_FIXED_RSS \
OTLWF_CTL_CODE(200, METHOD_BUFFERED, FILE_WRITE_DATA)
// GUID - InterfaceGuid
// OpenThread function IOCTL codes
#define MIN_OTLWF_IOCTL_FUNC_CODE 100
#define MAX_OTLWF_IOCTL_FUNC_CODE 196
#define MAX_OTLWF_IOCTL_FUNC_CODE 200
#endif //__OTLWFIOCTL_H__