Networking Subsystem
Data Path Frame Processing
Rx Filters
Drop
Event
Host
F
ra
me
s
Rx Filters
1
2
3
Filters
Database
Search for match
Match
Found
No
Match
Execute actions
Drop?
2
1
3
Yes
No
Matching Process
175
SWRU455A – February 2017 – Revised March 2017
Copyright © 2017, Texas Instruments Incorporated
Rx Filters
Figure 11-1. Rx Filters
The Rx filter module includes a database of filters, an interface for defining the filters from the host, a
match process, and actions execution.
•
Database – The filter database is created by the host application and contains the filters definitions and
the relation between the filters. By default, the database is not persistent; when the device resets, the
host application must redefine the filters. There is an option to store the filters database to the FS. If a
database file exists, it automatically loads when the device is powered up.
•
Host interface – The host has a simple interface which lets the user define, delete, enable, disable, or
store existing filters. This interface is part of the WLAN silo.
•
Matching process – The process verifies if a match exists between the received frame and a set of
filters. For each filter, if a match is found, the filter actions are executed. If the actions do not include
dropping the frame, the processing of the frame continues normally. If there is no match between the
frame and any filter, the processing of the frame continues normally.
•
Action execution – If a match is found, all the actions of the matched filter are executed. These actions
are defined as part of the filter definition.
11.2 Matching Process
The filters database is organized as a series of decision trees, according to the network stack layers.
During a reception of a frame, the networking subsystem passes through the filters and checks for
matching between the filters and the received frame. The filters tree traversal is the process of passing
through the filters, and is done such that any filter is visited a maximum of once per frame, and only the
relevant filters are visited. The traversing is done layer by layer among all the trees, and the process stops
when the frame reaches a drop action in one of the trees.
11.2.1 Filter Matching
The basic Rx filter contains three major attributes:
•
Trigger
is the precondition which should be fulfilled before the rule is checked, such as the system
state. For example, the rule can be defined to be active only on promiscuous mode.