Receive-side packet processor which checks out-of-sequence on the incoming frames, matching a filter. More...
Methods | |
Counters.Clear | |
Clears the current counters and resets them to zero. More... | |
Counters.Get | |
Returns the current values of the counters. More... | |
Description.Get | |
Returns a textual description of the object. | |
Filter.Get | |
Returns the current installed BPF filter string. More... | |
Filter.Set bpfString | |
Sets a BPF filter on a RX object. More... | |
FrameTag.Default.Set | |
Resets the receive-side frame tag to its server-default settings. | |
FrameTag.Get | |
Returns the FrameTag.Rx object related to this trigger. More... | |
FrameTag.Set transmittedFrameTag | |
Configure the FrameTag.Rx to match the given FrameTag.Tx. More... | |
Parent.Get | |
Returns the parent object. | |
Result.Clear | |
Resets the counter values to zero and empties the Result.History. More... | |
Result.Get | |
Returns the current accumulated trigger results. More... | |
Result.History.Get | |
Returns the history of the results. More... | |
SequenceTag.Position.Get | |
Returns the current sequence tag position. More... | |
SequenceTag.Position.Set position | |
Sets the position where to look for the sequence tag. More... | |
Receive-side packet processor which checks out-of-sequence on the incoming frames, matching a filter.
This out-of-sequence detection is always active and starts processing frames as soon as it is created. Processing continues until the packet processor is destructed.
The sequence number of a packet is obtained from an out-of-sequence tag in the frame. This tag is configured on the FrameTag.Tx, which can be obtained via Frame::FrameTag.Sequence.Get.
A basic out-of-sequence object can be created via a ByteBlowerPort, using ByteBlowerPort::Rx.OutOfSequence.Add "basic"
This packet processor processes frames received on the ByteBlower interface where its parent ByteBlowerPort is located.
Receive all frames on "trunk-1-33" of some server, matching UDP source or destination port 123.
Rx.OutOfSequence.Basic::Counters.Clear |
Clears the current counters and resets them to zero.
Rx.OutOfSequence.Basic::Counters.Get |
Returns the current values of the counters.
This example returns a list of name-value pairs of packet processor counter values.
Returns:
FramesOutOfSequence 0 NrOfFrames 197
Rx.OutOfSequence.Basic::Filter.Get |
Returns the current installed BPF filter string.
The filter string can be configured using Filter.Set
Suppose we configured the trigger with filter string:
where $ipv4_1
and $ipv4_2
are Layer3.IPv4 objects and $frameSize
is the (layer2) size of the frames (without CRC!). The BPF filter string would then become for example:
Returns:
ip src 10.10.10.2 and ip dst 10.10.10.3 and len = 252
Rx.OutOfSequence.Basic::Filter.Set | bpfString | ||
Sets a BPF filter on a RX object.
bpfString | Valid BPF filter string. For creating valid BPF filter strings, please have a look at http://www.tcpdump.org/#documentation for more information. |
ByteBlower.Rx.* | When the {server-side} RX object could not be resolved. |
ByteBlower.Rx.Filter.CompilationFailed | When an invalid BPF filter string is given. |
ByteBlower.InvalidFilter | When an invalid BPF filter string is given. |
This will filter only UDP traffic.
Set the filter on packets that match:
Rx.OutOfSequence.Basic::FrameTag.Get |
Returns the FrameTag.Rx object related to this trigger.
Each (transmitted) frame can be enabled to have a time tag and/or an sequence tag inserted into the frame. The FrameTag.Rx object on this trigger can be used to define how that transmitted tag is processed.
The FrameTag.Rx object which is returned by this method represents the current configuration of the frame tag processing. This object can be used to configure the processing of the injected frame tag.
For more detailed information about Frame tagging, you can also take a look at ByteBlower API Knowledgebase: Background: Adding FrameTags to your ByteBlower frame - structure and behaviour
In this example, we will retrieve the FrameTag.Rx object for the frame tag:
Returns:
<FrameTag.Rx object>
Rx.OutOfSequence.Basic::FrameTag.Set | transmittedFrameTag | ||
Configure the FrameTag.Rx to match the given FrameTag.Tx.
This method takes a FrameTag.Tx and applies its metrics and format configuration on this trigger's FrameTag.Rx.
The transmitted frame tag (sequence number, time stamp) can be obtained from the Frame (Frame::FrameTag.Sequence.Get, resp. Frame::FrameTag.Time.Get)
transmittedFrameTag | The FrameTag.Tx to obtain the metrics and format configuration from. |
ByteBlower.Server.NotSupported | Unsupported Server Capability: 'Manage TX/RX Frame Tag placement': When a transmitted frame tag with unsupported metrics and/or format is given. |
<tcl_error> | "FrameTag is of incorrect Type": When a transmitted frame tag of invalid type is given (sequence vs. time) |
This example applies the transmitted time tag configuration on the receiver's time tag:
Rx.OutOfSequence.Basic::Result.Clear |
Rx.OutOfSequence.Basic::Result.Get |
Returns the current accumulated trigger results.
Returns:
<Rx.OutOfSequence.Basic.ResultSnapshot object>
Rx.OutOfSequence.Basic::Result.History.Get |
Returns the history of the results.
Returns:
<Rx.OutOfSequence.Basic.ResultHistory object>
Rx.OutOfSequence.Basic::SequenceTag.Position.Get |
Returns the current sequence tag position.
Returns:
16
Rx.OutOfSequence.Basic::SequenceTag.Position.Set | position | ||
Sets the position where to look for the sequence tag.
The default location is 8 (depends on the sequence tag metrics ) which means 8 bytes before the end of the frame.
If out-of-sequence detection is combined with latency measurements the tag (in the transmitted frame) will be on a different location. If latency is also measured this value should be set to 16 (depending on the sequence tag and the latency tag metrics ).
position | The new sequence tag position position expressed as bytes before the end of the frame. A sequence number is 8 bytes long, so this should be at least 8. |