A ByteBlower Frame is an object representing a Frame which can be used in a Tx.Stream for transmission by a ByteBlower Port. More...
Methods | |
Bytes.Get | |
A method which returns the current content of a Frame in a hexadecimal format. More... | |
Bytes.Set bytes | |
A method which sets the content of a Frame in a hexadecimal format. More... | |
Description.Get | |
Returns a textual description of the object. | |
FrameTag.Sequence.Get | |
Returns the FrameTag.Tx object related to the sequence number injection for this frame. More... | |
FrameTag.Time.Get | |
Returns the FrameTag.Tx object related to the timestamp injection for this frame. More... | |
L3.Auto.Checksum.Enable bool | |
Enable or disable the automatic checksum calculation of the Layer3 header of this frame. More... | |
L3.Auto.Checksum.Get | |
Method returning the current configuration of the automatic checksum calculation option. More... | |
L3.Auto.Length.Enable bool | |
Enable or disable the automatic Layer3 header length field calculation of this frame. More... | |
L3.Auto.Length.Get | |
Method returning the current configuration of the automatic Layer3 length field adaption option. More... | |
L4.Auto.Checksum.Enable bool | |
Enable or disable the automatic Layer4 checksum calculation of this frame. More... | |
L4.Auto.Checksum.Get | |
Method returning the current configuration of the automatic Layer4 checksum recalculation option. More... | |
L4.Auto.Length.Enable bool | |
Enable or disable the automatic Layer4 header length field calculation of this frame. More... | |
L4.Auto.Length.Get | |
Method returning the current configuration of the automatic Layer4 length field adaption option. More... | |
Modifier.Field.Add type | |
Adds a frame field modifier. More... | |
Modifier.Field.Get | |
Returns the active frame field modifier(s). More... | |
Modifier.Field.Incremental.Add | |
Adds an incremental frame field modifier. More... | |
Modifier.Field.Incremental.Get | |
Returns the active incremental frame field modifier(s). More... | |
Modifier.Field.Random.Add | |
Adds a random frame field modifier. More... | |
Modifier.Field.Random.Get | |
Returns the active random frame field modifier(s). More... | |
Modifier.Get | |
Returns the active frame size modifier. More... | |
Modifier.Set type | |
Sets a frame size modifier. More... | |
Modifier.Size.Get | |
Returns the active frame size modifier. More... | |
Modifier.Size.Growing.Get | |
Returns the active frame growing size modifier. More... | |
Modifier.Size.Growing.Set | |
Sets a growing frame size modifier. More... | |
Modifier.Size.Random.Get | |
Returns the active frame random size modifier. More... | |
Modifier.Size.Random.Set | |
Sets a random frame size modifier. More... | |
Modifier.Size.Set type | |
Sets a frame size modifier. More... | |
Parent.Get | |
Returns the parent object. | |
Result.Clear | |
Resets the current transmit counters to zero. More... | |
Result.Get | |
Returns the current transmit counters. More... | |
Result.History.Get | |
Returns the current transmit history counters. | |
SequenceTag.Enable bool | |
This method will enable of disable the insertion of a sequence number in the Frame. More... | |
SequenceTag.Get | |
Indicates whether or not a sequence number will be added to each frame. More... | |
TimeTag.Enable bool | |
This method will enable of disable the insertion of a timestamp in the Frame. More... | |
TimeTag.Get | |
Indicates whether or not a time tag will be added to each frame. More... | |
A ByteBlower Frame is an object representing a Frame which can be used in a Tx.Stream for transmission by a ByteBlower Port.
A Frame is used in stateless traffic testing. It will be sent by a ByteBlowerPort. For each Frame, different options can be enabled:
Also the frame can be modified during the test using modifiers:
Frame::Bytes.Get |
A method which returns the current content of a Frame in a hexadecimal format.
This method will return the current content of a Frame. A ByteBlower Frame is an Ethernet Frame, excluding the frame check sequence ( aka CRC ).
The current content of a frame can be requested like this:
Returns:
0001020304050607000102030405060700010203040506070001020304050607000102030405060700010203040506070001020304050607
Frame::Bytes.Set | bytes | ||
A method which sets the content of a Frame in a hexadecimal format.
This method will change the content of a Frame. A ByteBlower Frame is an Ethernet Frame excluding the four CRC bytes. The value can be in different formats, e.g.
ByteBlower.Exception.ConfigError | when the value does contain non-hexadecimal characters or when the length is not even. |
bytes | Bytes can be of any of the following formats :
|
ByteBlower.Exception.API.ConfigError | when the frame is too small (<60 bytes) or when the frame is too big (>8192) |
The content of a frame can be set like this:
Frame::FrameTag.Sequence.Get |
Returns the FrameTag.Tx object related to the sequence number injection for this frame.
Each frame can be enabled to have a sequence number inserted into the frame.
The FrameTag.Tx object which is returned by this method represents the current configuration of the SequenceTag injection. This object can be used to configure the SequenceTag injection.
Returns:
<FrameTag.Tx object>
Frame::FrameTag.Time.Get |
Returns the FrameTag.Tx object related to the timestamp injection for this frame.
Each frame can be enabled to have a timestamp inserted into the frame.
The FrameTag.Tx object which is returned by this method represents the current configuration of the TimeTag injection. This object can be used to configure the TimeTag injection.
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.Tx object for the TimeTag:
Returns:
<FrameTag.Tx object>
Frame::L3.Auto.Checksum.Enable | bool | ||
Enable or disable the automatic checksum calculation of the Layer3 header of this frame.
This method provides the possibility to automatically recalculate the Layer3 checksum. Currently, only IPv4 is supported ( IPv6 has no header checksum ). This calculation will be done at the server side, just before transmitting the frame.
By default, the Layer3 checksum will not be calculated automatically.
ByteBlower.Exception.InvalidValue | when the value is not an integer or true or false |
bool |
|
This example will enable the automatic Layer3 checksum calculation:
This example will disable the automatic Layer3 checksum calculation:
Frame::L3.Auto.Checksum.Get |
Method returning the current configuration of the automatic checksum calculation option.
This method returns the current configuration of the automatic Layer3 checksum calculation.
See Frame::L3.Auto.Checksum.Enable on how to enable this feature.
This examples shows the result when the Layer3 automatic checksum calculation option is enabled:
Returns:
True
Frame::L3.Auto.Length.Enable | bool | ||
Enable or disable the automatic Layer3 header length field calculation of this frame.
This method provides the possibility to automatically recalculate the Layer3 length field. This calculation will be done at the server side, just before transmitting the frame.
ByteBlower.Exception.InvalidValue | when the value is not an integer or true or false |
bool |
|
This example will enable the automatic Layer3 length field adaption:
This example will disable the automatic Layer3 length field adaption:
Frame::L3.Auto.Length.Get |
Method returning the current configuration of the automatic Layer3 length field adaption option.
This method returns the current configuration of the automatic Layer3 length field adaption.
See Frame::L3.Auto.Length.Enable on how to enable this option.
This examples shows the result when the automatic Layer3 length field adaption option is enabled:
Returns:
True
Frame::L4.Auto.Checksum.Enable | bool | ||
Enable or disable the automatic Layer4 checksum calculation of this frame.
This method provides the possibility to automatically recalculate the Layer4 (UDP or TCP) checksum. This calculation will be done at the server side, just before transmitting the frame.
ByteBlower.Exception.InvalidValue | when the value is not an integer or true or false |
bool |
|
This example will enable the automatic Layer4 checksum calculation:
This example will disable the automatic Layer3 checksum calculation:
Frame::L4.Auto.Checksum.Get |
Method returning the current configuration of the automatic Layer4 checksum recalculation option.
This method returns the current configuration of the automatic Layer4 checksum recalculation.
See Frame::L4.Auto.Checksum.Enable on how to enable this option.
This examples shows the result when the automatic Layer4 checksum recalculation option is enabled:
Returns:
True
Frame::L4.Auto.Length.Enable | bool | ||
Enable or disable the automatic Layer4 header length field calculation of this frame.
This method provides the possibility to automatically recalculate the Layer4 (UDP or TCP) length field. This calculation will be done at the server side, just before transmitting the frame.
ByteBlower.Exception.InvalidValue | when the value is not an integer or true or false |
bool |
|
This example will enable the automatic Layer4 length field adaption:
This example will disable the automatic Layer3 length field adaption:
Frame::L4.Auto.Length.Get |
Method returning the current configuration of the automatic Layer4 length field adaption option.
This method returns the current configuration of the automatic Layer4 length field adaption.
See Frame::L4.Auto.Length.Enable on how to enable this option.
This examples shows the result when the automatic Layer4 length field adaption option is enabled:
Returns:
True
Frame::Modifier.Field.Add | type | ||
Adds a frame field modifier.
type | The field modifier type to add.
|
This example adds a random value frame field modifier.
Returns:
<FrameFieldModifier.Random object>
Frame::Modifier.Field.Get |
Returns the active frame field modifier(s).
This example retrieves the current applied field modifiers.
Returns:
[ <FrameFieldModifier.Incremental|FrameFieldModifier.Random object> ... ]
Frame::Modifier.Field.Incremental.Add |
Adds an incremental frame field modifier.
This example adds an incremental value frame field modifier.
Returns:
<FrameFieldModifier.Incremental object>
Frame::Modifier.Field.Incremental.Get |
Returns the active incremental frame field modifier(s).
This example retrieves the current applied field modifiers.
Returns:
[ <FrameFieldModifier.Incremental object> ... ]
Frame::Modifier.Field.Random.Add |
Adds a random frame field modifier.
This example adds a random value frame field modifier.
Returns:
<FrameFieldModifier.Random object>
Frame::Modifier.Field.Random.Get |
Returns the active random frame field modifier(s).
This example retrieves the current applied field modifiers.
Returns:
[ <FrameFieldModifier.Random object> ... ]
Frame::Modifier.Get |
Returns the active frame size modifier.
This example gets the current applied size modifier. E.g. the growing
Returns:
<FrameSizeModifier.Growing object>
Frame::Modifier.Set | type | ||
Sets a frame size modifier.
type | The size modifier type to set.
|
This example sets a growing size frame modifier.
Returns:
<FrameSizeModifier.Growing object>
Frame::Modifier.Size.Get |
Returns the active frame size modifier.
This example gets the current applied size modifier. E.g. the growing
Returns:
<FrameSizeModifier.Growing object>
Frame::Modifier.Size.Growing.Get |
Returns the active frame growing size modifier.
This example gets the current applied size modifier. E.g. the growing
Returns:
<FrameSizeModifier.Growing object>
Frame::Modifier.Size.Growing.Set |
Sets a growing frame size modifier.
This example sets a growing size frame modifier.
Returns:
<FrameSizeModifier.Growing object>
Frame::Modifier.Size.Random.Get |
Returns the active frame random size modifier.
This example gets the current applied size modifier. E.g. the random
Returns:
<FrameSizeModifier.Growing object>
Frame::Modifier.Size.Random.Set |
Sets a random frame size modifier.
This example sets a random size frame modifier.
Returns:
<FrameSizeModifier.Random object>
Frame::Modifier.Size.Set | type | ||
Sets a frame size modifier.
type | The size modifier type to set.
|
This example sets a growing size frame modifier.
Returns:
<FrameSizeModifier.Growing object>
Frame::Result.Clear |
Frame::Result.Get |
Frame::SequenceTag.Enable | bool | ||
This method will enable of disable the insertion of a sequence number in the Frame.
If enabled, a sequence number is inserted into each frame sent. The size and location of the sequence number depends on the ByteBlower server type, and the FrameTagMetrics.
ByteBlower.Exception.InvalidValue | when the value is not an integer or true or false |
bool |
|
In this example, we will enable the sequence number in the frame:
In this example, we will disable the sequence number in the frame:
Frame::SequenceTag.Get |
Indicates whether or not a sequence number will be added to each frame.
This method returns if a sequence number will be inserted when this Frame has been sent or not.
ByteBlower.Exception.InvalidValue | when the value is not an integer or true or false |
In this example, the SequenceTag is enabled on the frame:
Returns:
True
In this example, the SequenceTag is disabled on the frame:
Returns:
False
Frame::TimeTag.Enable | bool | ||
This method will enable of disable the insertion of a timestamp in the Frame.
If enabled, a timestamp is inserted into each frame. The size and location of the timestamp depends on the ByteBlower server type, and the FrameTagMetrics.
ByteBlower.Exception.InvalidValue | when the value is not an integer or true or false |
bool |
|
In this example, we will enable the TimeTag in the frame:
In this example, we will disable the TimeTag in the frame:
Frame::TimeTag.Get |
Indicates whether or not a time tag will be added to each frame.
This method returns if a timestamp will be inserted when this Frame has been sent or not.
ByteBlower.Exception.InvalidValue | when the value is not an integer or true or false |
In this example, the TimeTag is enabled on the frame:
Returns:
True
In this example, the TimeTag is disabled on the frame:
Returns:
False