Filters#
This section describes the ValkyrieManager Filters panel. The panel allows you to configure the filters for the currently selected port.
Overview#
Every port has a filter mechanism for inspecting all the received packets and recognizing particular patterns within the packets. Filters are defined under their own Filters panel in the content area of the ValkyrieManager. Filters are independent of the test payloads and provide an alternative method for analyzing the train of received packets.
Filters are logical conditional expressions on a number of basic true-or-false terms, which can be of two types: match terms and length terms.
Match terms look for a particular pattern of bits at a particular position within each packet.
Length terms look for packets that are longer or shorter than a particular size.
A number of these two terms can then be combined into a single filter condition.
![../_images/port_filter.png](../_images/port_filter.png)
Fig. 81 Port filters#
Filter Details#
Match Terms#
As stated above match terms look for a particular pattern of bits at a particular position within each packet. Like a modifier, a match term will typically correspond to a particular protocol field.
And like a modifier you can select the protocol field where you want to position the filter. However, since a filter is not related to any stream definition you need to manually click the Add button to build the needed protocol segments.
Match terms also consist of a filter mask and a filter value. The mask indicates which part of the value you want to match on. The filter value is the actual value you want to match on.
A match term is identified with the code M<index>
, where <index>
is a non-negative integer identifying the match term.
Length Terms#
As stated above length terms look for packets that are longer or shorter than a particular size. If you want to look for packets that fit within a certain range you will need to define two length terms; one that looks for packets larger than or equal to the minimum size (At Least) and one that looks for packets smaller than or equal to the maximum size (At Most).
A length term is identified with the code L<index>
, where <index>
is a non-negative integer identifying the length term.
Filter Condition#
Each filter consist mainly of a filter condition that combines one or more match terms and one or more length terms. The filter condition is built using a boolean expression using the match and length term identifiers names. The condition can use the usual Boolean operators &
, |
, and ~
. The |
operator has the lowest precedence.
Example: M0 & L0 & ~M1
means match M0 but not M1 and also fulfill L0
Using Filters#
Filters can be used in different ways: the port will accumulate separate statistics for packets satisfying the filter condition, the capture mechanism can use the filters as start/stop/keep criteria, and likewise for the histogram mechanism.