All Classes Namespaces Files Functions Pages
ByteBlowerPort Class Reference

Logical representation of a network host docked somewhere in the Network Under Test, which can transmit or schedule network traffic, process incoming traffic and run stateful network applications. More...

Methods

 Capability.GetByName
 Returns a Capability object by its name. More...
 
 Capability.IsSupported
 Checks whether a capability is supported. More...
 
 Capability.List.Get
 Returns a list of Capability objects. More...
 
 Description.Get
 Returns a textual description of the object.
 
 Interface.Name.Get
 Returns physical ByteBlower interface code. More...
 
 Interface.Speed.Get
 Returns physical ByteBlower interface speed. More...
 
 Interface.SwitchId.Get
 Returns physical ByteBlower interface switch identifier. More...
 
 Layer2.EthII.Get
 Returns the layer 2 configuration object of this port. More...
 
 Layer2.EthII.Set
 Sets the layer 2 configuration of this port. More...
 
 Layer2.Get
 Returns the layer 2 configuration object of this port. More...
 
 Layer2.Set protocol
 Sets the layer 2 configuration of this port. More...
 
 Layer2_5.Add protocol
 Adds a layer 2.5 configuration to this port. More...
 
 Layer2_5.Get
 Returns the ordered list of layer 2.5 configuration objects of this port. More...
 
 Layer2_5.PPPoE.Add
 Adds a layer 2.5 PPPoE Client to this port. More...
 
 Layer2_5.PPPoE.Get
 Returns the ordered list of layer 2.5 PPPoE objects of this port. More...
 
 Layer2_5.Vlan.Add
 Adds a layer 2.5 VLAN to this port. More...
 
 Layer2_5.Vlan.Get
 Returns the ordered list of layer 2.5 Vlan objects of this port. More...
 
 Layer3.Get
 Returns the layer 3 configuration object of this port. More...
 
 Layer3.IPv4.Get
 Returns the layer 3 IPv4 configuration object of this port. More...
 
 Layer3.IPv4.Set
 Sets the layer 3 IPv4 configuration of this port. More...
 
 Layer3.IPv6.Get
 Returns the layer 3 IPv6 configuration object of this port. More...
 
 Layer3.IPv6.Set
 Sets the layer 3 IPv6 configuration of this port. More...
 
 Layer3.Set protocol
 Sets the layer 3 configuration of this port. More...
 
 MDL.Get
 Returns the port's current Maximum Data Length (MDL), the maximum ethernet frame size that can be transmitted. More...
 
 MDL.Maximum.Get
 Returns the port's highest allowed Maximum Data Length (MDL) value, which is limited by the physical interface. More...
 
 MDL.Set mdl
 Sets the port's Maximum Data Length (MDL), the maximum ethernet frame size that can be transmitted. More...
 
 Name.Get
 Returns physical ByteBlower interface code. More...
 
 Parent.Get
 Returns the parent object.
 
 Protocol.Http.Client.Add
 Creates a HTTP client application to run on this port. More...
 
 Protocol.Http.Client.Get
 Returns the list of all HTTP client applications created on this port. More...
 
 Protocol.Http.MultiClient.Add
 Creates a Layer5.Http.MultiClient object on this port. More...
 
 Protocol.Http.MultiClient.Get
 Returns the list of a Layer5.Http.MultiClient objects on this port. More...
 
 Protocol.Http.MultiServer.Add
 Creates a Layer5.Http.MultiServer object on this port. More...
 
 Protocol.Http.MultiServer.Get
 Returns the list of a Layer5.Http.MultiServer objects on this port. More...
 
 Protocol.Http.Server.Add
 Creates a HTTP server application to run on this port. More...
 
 Protocol.Http.Server.Get
 Returns the list of all HTTP server applications created on this port. More...
 
 Protocol.Rtcp.Add
 Creates a Real-time Transport Control Protocol (RTCP) end-point on this port. More...
 
 Protocol.Rtcp.Get
 Returns the list of all RTCP end-points created on this port. More...
 
 Protocol.Rtp.Add
 Creates a Real-time Transport Protocol (RTP) end-point on this port. More...
 
 Protocol.Rtp.Get
 Returns the list of all RTP end-points created on this port. More...
 
 Protocol.Telnet.Client.Add
 Creates a Telnet client application to run on this port. More...
 
 Protocol.Telnet.Client.Get
 Returns the list of all Telnet client applications created on this port. More...
 
 Result.Clear
 Clears the counters for the ByteBlower port and empties the Result.History. More...
 
 Result.Get
 Returns ByteBlowerPort.ResultSnapshot object containing global RX counters. More...
 
 Result.History.Get
 Returns the history for the counters ByteBlowerPort.ResultHistory for the ByteBlower port. More...
 
 Rx.Capture.Add type
 Creates a capture tool, which captures the data and metadata of incoming frames (possibly restricted by a filter). More...
 
 Rx.Capture.Basic.Add
 Creates a capture tool, which captures the data and metadata of incoming frames (possibly restricted by a filter). More...
 
 Rx.Capture.Basic.Get
 Returns the list of capture tools created on this port. More...
 
 Rx.Capture.Get
 Returns the list of capture tools created on this port. More...
 
 Rx.Latency.Add type
 Creates a latency calculator, which computes latency measurements based on timestamps in received frames (possibly restricted by a filter). More...
 
 Rx.Latency.Basic.Add
 Creates a latency calculator, which computes latency measurements based on timestamps in received frames (possibly restricted by a filter). More...
 
 Rx.Latency.Basic.Get
 Returns the list of latency calculators created on this port. More...
 
 Rx.Latency.Distribution.Add
 Creates a latency calculator, which computes latency measurements based on timestamps in received frames (possibly restricted by a filter). More...
 
 Rx.Latency.Distribution.Get
 Returns the list of latency calculators created on this port. More...
 
 Rx.Latency.Get
 Returns the list of latency calculators created on this port. More...
 
 Rx.OutOfSequence.Add type
 Creates an out-of-sequence detector, which counts such cases based on sequence numbers in received frames (possibly restricted by a filter). More...
 
 Rx.OutOfSequence.Basic.Add
 Creates an out-of-sequence detector, which counts such cases based on sequence numbers in received frames (possibly restricted by a filter). More...
 
 Rx.OutOfSequence.Basic.Get
 Returns the list of out-of-sequence detectors created on this port. More...
 
 Rx.OutOfSequence.Get
 Returns the list of out-of-sequence detectors created on this port. More...
 
 Rx.Trigger.Add type
 Creates a receive trigger, whose counters are updated for each received frame (possibly restricted by a filter). More...
 
 Rx.Trigger.Basic.Add
 Creates a basic receive trigger, whose counters are updated for each received frame (possibly restricted by a filter). More...
 
 Rx.Trigger.Basic.Get
 Returns the list of receive triggers created on this port. More...
 
 Rx.Trigger.Get
 Returns the list of receive triggers created on this port. More...
 
 Rx.Trigger.SizeDistribution.Add
 Creates a size distribution receive trigger, whose counters are updated for each received frame (possibly restricted by a filter). More...
 
 Rx.Trigger.SizeDistribution.Get
 Returns the list of receive triggers created on this port. More...
 
 Server.Get
 Returns the server connection on which this port was created. More...
 
 Start
 Starts all transmit streams and schedulable objects configured on this port. More...
 
 Stop
 Stops all transmit streams and schedulable objects configured on this port. More...
 
 Tunnel.Tcp.Add
 Creates a TCP tunnel object. More...
 
 Tunnel.Tcp.Get
 Returns a list of all TCP Tunnel objects created on this port. More...
 
 Tx.Stream.Add
 Creates a transmit stream, which can be configured to blast layer 2 frames traffic from this port in a stateless way. More...
 
 Tx.Stream.Get
 Returns a list of transmit streams created on this port. More...
 
 Tx.Stream.Start
 Starts all transmit streams and schedulable objects configured on this port. More...
 
 Tx.Stream.Stop
 Stops all transmit streams and schedulable objects configured on this port. More...
 

Class overview

Logical representation of a network host docked somewhere in the Network Under Test, which can transmit or schedule network traffic, process incoming traffic and run stateful network applications.

A ByteBlowerPort is physically connected (or 'attached') to the network under test (NUT) through the physical ByteBlower interface on which it is created. See ByteBlowerServer::Port.Create for more information.

Multiple ports may be created on the same physical interface. From a network view, they are just different (simulated) hosts within a shared (datalink or layer 2) subnet. This means traffic to one port created on an interface is seen by all ports on that interface.

Most test scenarios start with one or more ByteBlower ports that are configured to do the following things

  • become part of the network (layer2, layer3, perform DHCP, join multicast groups, ...)
  • schedule network traffic streams for transmission (TX objects)
  • configure incoming packet processors (RX objects) that look for matching packets and e.g. count them
  • start network applications such as HTTP servers
  • schedule network application actions (called 'schedulable objects') such an HTTP client application sending out an HTTP request

When such ports are subsequently activated, the scheduled streams and network actions are performed at the configured time.

From that moment, relevant result data may be pulled from those streams (TX statistics), incoming packet processors (RX statistics) and network applications (application and session statistics).

Destroying a port will clean up everything that is configured on that port in a clean way:

  • streams, incoming packet processors and network applications are teared down, their results are gone
  • the port leaves all multicast groups of which it is part (but doesn't wait for confirmation)
  • the port releases its DHCP lease (but doesn't wait for confirmation)

Definition at line 1430 of file api.tcl.

Method documentation

ByteBlowerPort::Capability.GetByName

Returns a Capability object by its name.

Since
2.6.0
Returns
A Capability OID
Exceptions
ByteBlower.Exception.API.ConfigErrorUnsupportedConfig error message when the Capability is not supported
Example
1 $port Capability.GetByName "Tx.Latency"

Returns:

<Capability object> 

Definition at line 1446 of file api.tcl.

ByteBlowerPort::Capability.IsSupported

Checks whether a capability is supported.

Since
2.6.0
Returns
1 if it is supported, 0 if not
Example
1 $port Capability.IsSupported "Tx.Latency"

Returns:

0 

Definition at line 1460 of file api.tcl.

ByteBlowerPort::Capability.List.Get

Returns a list of Capability objects.

Since
2.6.0
Returns
A list of all Capability objects
Example
1 $port Capability.List.Get

Returns:

[ <Capability object> ... ] 

Definition at line 1474 of file api.tcl.

ByteBlowerPort::Interface.Name.Get

Returns physical ByteBlower interface code.

Each ByteBlower port is created on a physical ByteBlower interface of a server. This interface determines where the port will be 'attached' to the Network Under Test.

See ByteBlowerServer::Port.Create for more information and to see how an interface name is structured.

Returns
String code representing the physical interface name (e.g. trunk-1-4 or nontrunk-1).
Example
1 $port Interface.Name.Get

Returns:

trunk-2-44 

Definition at line 1495 of file api.tcl.

ByteBlowerPort::Interface.Speed.Get

Returns physical ByteBlower interface speed.

Each ByteBlower port is created on a physical ByteBlower interface of a server. This interface determines where the port will be 'attached' to the Network Under Test.

See ByteBlowerServer::Port.Create for more information and to see how an interface name is structured.

Returns
The maximum speed in bits per second a ByteBlower Interface can transmit. This does not take any VLAN overhead into account!
Example
1 $port Interface.Speed.Get

Returns:

1000000000 

Definition at line 1511 of file api.tcl.

ByteBlowerPort::Interface.SwitchId.Get

Returns physical ByteBlower interface switch identifier.

Each ByteBlower port is created on a physical ByteBlower interface of a server. This interface determines where the port will be 'attached' to the Network Under Test.

On Trunking interfaces, the interface is attached to a switch. Per physical interface, the switch has an unique identifier

Returns
Identifier of the switch
Example
1 $port Interface.SwitchId.Get

Returns:

1 

Definition at line 1527 of file api.tcl.

ByteBlowerPort::Layer2.EthII.Get

Returns the layer 2 configuration object of this port.

Since
2.5.0
Returns
Layer 2 configuration object. Its object type is Layer2.EthernetII
Exceptions
ByteBlower.Exception.API.ConfigErrorWhen the layer 2 configuration is not yet set.
Example
1 $port Layer2.EthII.Get

Returns:

<Layer2.EthernetII object> 

Definition at line 1543 of file api.tcl.

ByteBlowerPort::Layer2.EthII.Set

Sets the layer 2 configuration of this port.

Since
2.5.0

Once the layer 2 configuration is set, it cannot be destroyed or overwritten.

Returns
Created layer 2 configuration object. Its an Layer2.EthernetII object.
Exceptions
ByteBlower.Exception.API.ConfigErrorWhen the layer 2 configuration is already set.
Example

Configure $port's network connection as an Ethernet interface.

1 $port Layer2.EthII.Set

Returns:

<Layer2.EthernetII object> 


See also Tutorial: 3. Create our src-port and dst-port for an extended example

Definition at line 1561 of file api.tcl.

ByteBlowerPort::Layer2.Get

Returns the layer 2 configuration object of this port.

Deprecated:
since 2.5.0, please use Layer2.EthII.Get
Returns
Layer 2 configuration object. Its object type depends on the type used in Layer2.Set:
EthII
Layer2.EthernetII object
Exceptions
ByteBlower.Exception.API.ConfigErrorWhen the layer 2 configuration is not yet set.
Example
1 $port Layer2.Get

Returns:

<Layer2 object> 

Definition at line 1577 of file api.tcl.

ByteBlowerPort::Layer2.Set   protocol  

Sets the layer 2 configuration of this port.

Deprecated:
since 2.5.0, please use Layer2.EthII.Set

Once the layer 2 configuration is set, it cannot be destroyed or overwritten.

Only EthernetII is supported.

Parameters
protocolLayer 2 configuration type to be used. Case is ignored.
EthII
EthernetII protocol
Returns
Created layer 2 configuration object. Its object type depends on <protocol>:
EthII
Layer2.EthernetII object
Exceptions
ByteBlower.Exception.InvalidValue.EnumWhen <protocol> is an unknown value.
ByteBlower.Exception.API.ConfigErrorWhen the layer 2 configuration is already set.
Example

Configure $port's network connection as an Ethernet interface.

1 $port Layer2.Set ethII

Returns:

<Layer2.EthernetII object> 


See also Tutorial: 3. Create our src-port and dst-port for an extended example

Definition at line 1601 of file api.tcl.

ByteBlowerPort::Layer2_5.Add   protocol  

Adds a layer 2.5 configuration to this port.

Deprecated:
since 2.5.0, please use Layer2_5.Vlan.Add or Layer2_5.PPPoE.Add

Multiple layer 2.5 configurations can be added. They will be stacked on top each other in the the port's network stack from the bottom up.

Once a layer 2.5 configuration is added to a port, it cannot be destroyed or removed.

Since
2.3.0: Support for stacking multiple VLAN tags. Adding a second VLAN tag on an older server will throw a technical exception.
Parameters
protocolLayer 2.5 configuration type to be added. Case is ignored.
VLAN
802.1Q VLAN protocol
PPPoE
PPPoE client
Returns
Created layer 2.5 configuration object. Its object type depends on <protocol>:
VLAN
Layer2_5.Vlan object
PPPoE
Layer2_5.Pppoe.Client object
Exceptions
ByteBlower.Exception.InvalidValue.EnumWhen <protocol> is an unknown value.
ByteBlower.Exception.API.ConfigErrorWhen an underlying layer 2 or layer 2.5 configuration is not yet fully configured.
Example

Configure $port's network connection as a VLAN-enabled virtual interface.

1 $port Layer2_5.Add vlan

Returns:

<Layer2_5.Vlan object> 

Definition at line 1627 of file api.tcl.

ByteBlowerPort::Layer2_5.Get

Returns the ordered list of layer 2.5 configuration objects of this port.

Deprecated:
since 2.5.0, please use Layer2_5.Vlan.Get or Layer2_5.PPPoE.Get
Returns
List of layer 2.5 configuration objects in order of addition. Possibly empty. Their individual object types depend on the types used in Layer2_5.Add:
VLAN
Layer2_5.Vlan object
PPPoE
Layer2_5.Pppoe.Client object
Example
1 $port Layer2_5.Get

Returns:

[ <Layer2_5 object> ... ] 

Definition at line 1641 of file api.tcl.

ByteBlowerPort::Layer2_5.PPPoE.Add

Adds a layer 2.5 PPPoE Client to this port.

Since
2.5.0

Once a layer 2.5 configuration is added to a port, it cannot be destroyed or removed.

Returns
Created Layer2_5.Pppoe.Client objects.
Exceptions
ByteBlower.Exception.API.ConfigErrorWhen an underlying layer 2 or layer 2.5 configuration is not yet fully configured.
Example

Configure $port's network connection as a VLAN-enabled virtual interface.

1 $port Layer2_5.PPPoE.Add

Returns:

<Layer2_5.Pppoe.Client object> 

Definition at line 1659 of file api.tcl.

ByteBlowerPort::Layer2_5.PPPoE.Get

Returns the ordered list of layer 2.5 PPPoE objects of this port.

Since
2.5.0

PPPoE objects can be added by Layer2_5.PPPoE.Add.

Returns
List of layer 2.5 configuration objects in order of addition. Possibly empty.
Example
1 $port Layer2_5.PPPoE.Get

Returns:

[ <Layer2_5.Pppoe.Client object> ... ] 

Definition at line 1675 of file api.tcl.

ByteBlowerPort::Layer2_5.Vlan.Add

Adds a layer 2.5 VLAN to this port.

Since
2.5.0

Multiple layer 2.5 configurations can be added. They will be stacked on top each other in the the port's network stack from the bottom up.

Once a layer 2.5 configuration is added to a port, it cannot be destroyed or removed.

Since
2.3.0: Support for stacking multiple VLAN tags. Adding a second VLAN tag on an older server will throw a technical exception.
Returns
Created Layer2_5.Vlan objects.
Exceptions
ByteBlower.Exception.API.ConfigErrorWhen an underlying layer 2 or layer 2.5 configuration is not yet fully configured.
Example

Configure $port's network connection as a VLAN-enabled virtual interface.

1 $port Layer2_5.Vlan.Add

Returns:

<Layer2_5.Vlan object> 

Definition at line 1697 of file api.tcl.

ByteBlowerPort::Layer2_5.Vlan.Get

Returns the ordered list of layer 2.5 Vlan objects of this port.

Since
2.5.0

VLAN objects can be added by Layer2_5.Vlan.Add.

Returns
List of layer 2.5 configuration objects in order of addition. Possibly empty.
Example
1 $port Layer2_5.Vlan.Get

Returns:

[ <Layer2_5.Vlan object> ... ] 

Definition at line 1713 of file api.tcl.

ByteBlowerPort::Layer3.Get

Returns the layer 3 configuration object of this port.

Deprecated:
since 2.5.0, please use Layer3.IPv4.Get or Layer3.IPv6.Get
Returns
Layer 3 configuration object. Its object type depends on the type used in Layer3.Set:
IPv4
Layer3.IPv4 object
IPv6
Layer3.IPv6 object
Exceptions
ByteBlower.Exception.API.ConfigErrorWhen the layer 3 configuration is not yet set.
Example
1 $port Layer3.Get

Returns:

<Layer3 object> 

Definition at line 1729 of file api.tcl.

ByteBlowerPort::Layer3.IPv4.Get

Returns the layer 3 IPv4 configuration object of this port.

Since
2.5.0
Returns
Layer 3 configuration object. Its object type is Layer3.IPv4.
Exceptions
ByteBlower.Exception.API.ConfigErrorWhen the layer 3 configuration is not yet set.
Example
1 $port Layer3.Get

Returns:

<Layer3.IPv4 object> 

Definition at line 1745 of file api.tcl.

ByteBlowerPort::Layer3.IPv4.Set

Sets the layer 3 IPv4 configuration of this port.

Since
2.5.0

Once a layer 3 configuration is set, it cannot be destroyed or overwritten.

Both IPv4 and IPv6 are supported. Dual stack is not available on a single port, but can be achieved by creating 2 separate ports with identical layer 2 and (possibly) layer 2.5 configurations.

Returns
Created layer 3 configuration object. Layer3.IPv4 object.
Exceptions
ByteBlower.Exception.API.ConfigErrorWhen an underlying layer 2 or layer 2.5 configuration is not yet fully configured.
ByteBlower.Exception.API.ConfigErrorWhen the layer 3 configuration is already set.
Example

Configure port's network connection as an IPv4 host.

1 $port Layer3.IPv4.Set

Returns:

<Layer3.IPv4 object> 


See also Tutorial: 3. Create our src-port and dst-port for an extended example

Definition at line 1767 of file api.tcl.

ByteBlowerPort::Layer3.IPv6.Get

Returns the layer 3 IPv6 configuration object of this port.

Since
2.5.0
Returns
Layer 3 configuration object. Its object type is Layer3.IPv6.
Exceptions
ByteBlower.Exception.API.ConfigErrorWhen the layer 3 configuration is not yet set.
Example
1 $port Layer3.IPv6.Get

Returns:

<Layer3.IPv6 object> 

Definition at line 1783 of file api.tcl.

ByteBlowerPort::Layer3.IPv6.Set

Sets the layer 3 IPv6 configuration of this port.

Since
2.5.0

Once a layer 3 configuration is set, it cannot be destroyed or overwritten.

Both IPv4 and IPv6 are supported. Dual stack is not available on a single port, but can be achieved by creating 2 separate ports with identical layer 2 and (possibly) layer 2.5 configurations.

Returns
Created layer 3 configuration object. Layer3.IPv6 object.
Exceptions
ByteBlower.Exception.API.ConfigErrorWhen an underlying layer 2 or layer 2.5 configuration is not yet fully configured.
ByteBlower.Exception.API.ConfigErrorWhen the layer 3 configuration is already set.
Example

Configure port's network connection as an IPv6 host.

1 $port Layer3.IPv6.Set

Returns:

<Layer3.IPv6 object> 


See also Tutorial: 3. Create our src-port and dst-port for an extended example

Definition at line 1805 of file api.tcl.

ByteBlowerPort::Layer3.Set   protocol  

Sets the layer 3 configuration of this port.

Deprecated:
since 2.5.0, please use Layer3.IPv4.Set or Layer3.IPv6.Set

Once a layer 3 configuration is set, it cannot be destroyed or overwritten.

Both IPv4 and IPv6 are supported. Dual stack is not available on a single port, but can be achieved by creating 2 separate ports with identical layer 2 and (possibly) layer 2.5 configurations.

Parameters
protocolLayer 3 configuration type to be used. Case is ignored.
IPv4
IPv4 protocol
IPv6
IPv6 protocol
Returns
Created layer 3 configuration object. Its object type depends on <protocol>:
IPv4
Layer3.IPv4 object
IPv6
Layer3.IPv6 object
Exceptions
ByteBlower.Exception.InvalidValue.EnumWhen <protocol> is an unknown value.
ByteBlower.Exception.API.ConfigErrorWhen an underlying layer 2 or layer 2.5 configuration is not yet fully configured.
ByteBlower.Exception.API.ConfigErrorWhen the layer 3 configuration is already set.
Example

Configure port's network connection as an IPv4 host.

1 $port Layer3.Set ipv4

Returns:

<Layer3.IPv4 object> 


See also Tutorial: 3. Create our src-port and dst-port for an extended example

Definition at line 1831 of file api.tcl.

ByteBlowerPort::MDL.Get

Returns the port's current Maximum Data Length (MDL), the maximum ethernet frame size that can be transmitted.

The MDL is the maximum size (in bytes) for any ethernet packet leaving the port. It includes the ethernet header, but excludes CRC, preamble and interframe gap. To calculate the maximum size of the layer 2 payload, substract the 14 bytes of the ethernet header.

This payload may be a layer 3 IP packet, a layer 2.5 VLAN tag followed by such a layer 3 IP packet or anything else.

The MDL value defaults to 1514, which corresponds with a layer 2 payload of 1500 bytes.

This value is used by the protocol stack. For example, the announced TCP Maximum Segment Size (MSS) is based on this MDL value. This value also limits the number of bytes that can be placed in a Frame when calling Frame::Bytes.Set.

Note
For ports without layer 2.5 configurations, the default MDL of 1514 will also lead to a maximum layer 3 packet size of 1500. This value is often called the Maximum Transmission Unit or MTU of an interface. When a port has a VLAN configuration however, the MTU will only be 1496 by default! Consider increasing the MDL to 1518 in such cases to simulate typical real-world behavior.
On trunking interfaces the ByteBlower server adds a temporary VLAN automatically, to select an interface (e.g. trunk-1-10) on the ByteBlower switch. This is hidden from the user and has no influence on the MDL value. See ByteBlowerPort::MDL.Maximum.Get for more information.
Returns
Current MDL value in bytes.
Example

Typical values for a trunking and non-trunking port.

1 $trunking_port MDL.Get

Returns:

1514 
1 $nontrunking_port MDL.Get

Returns:

1514 

Definition at line 1855 of file api.tcl.

ByteBlowerPort::MDL.Maximum.Get

Returns the port's highest allowed Maximum Data Length (MDL) value, which is limited by the physical interface.

The MDL of a ByteBlower port places a limit on the size of ethernet frames that may be sent on that port. It can be modified by the user through MDL.Set. The MDL value (in bytes) covers the whole ethernet packet, but excluding CRC, preamble and interframe gap.

The physical ByteBlower interface (e.g. nontrunk-1) on which a port is created places an upper bound on the allowed MDL values. Through this method, this property can be retrieved at runtime.

The typical value of the maximum MDL is 9014 on non-trunking interfaces and 9010 on trunking interfaces.

Note
On trunking interfaces the ByteBlower server adds a temporary VLAN automatically, to select an interface (e.g. trunk-1-10) on the ByteBlower switch. This is hidden from the user. However, it also means that from a user perspective, the maximum MDL value of the same physical interface is 4 bytes less when it's configured as a trunking interface.
Returns
Physical upper bound for the MDL in bytes.
Example

Typical values for a trunking and a non-trunking port.

1 $trunking_port MDL.Maximum.Get

Returns:

9010 
1 $nonTrunking_port MDL.Maximum.Get

Returns:

9014 

Definition at line 1875 of file api.tcl.

ByteBlowerPort::MDL.Set   mdl  

Sets the port's Maximum Data Length (MDL), the maximum ethernet frame size that can be transmitted.

See MDL.Get for more information.

Parameters
mdlNew MDL value in bytes. Should be less then the value returned by ByteBlowerPort::MDL.Maximum.Get.
Exceptions
ByteBlower.Exception.InvalidValue.IntegerWhen <mdl> is no integer.
TBDWhen the provided value was larger than the maximum supported MDL. TODO: Decide on this exception and document (Tim, February 2015)
Example
1 $port MDL.Set 1024

Definition at line 1893 of file api.tcl.

ByteBlowerPort::Name.Get

Returns physical ByteBlower interface code.

Deprecated:
This method is marked as deprecated, because ByteBlower port objects are nameless. This method actually returns the ByteBlower physical interface code, which should be retrieved using Interface.Name.Get instead.

See Interface.Name.Get for more information.

Returns
String code representing the physical interface name (e.g. trunk-1-4 or nontrunk-1).
Example
1 $port Name.Get

Returns:

trunk-2-44 

Definition at line 1909 of file api.tcl.

ByteBlowerPort::Protocol.Http.Client.Add

Creates a HTTP client application to run on this port.

A Layer5.Http.Client application can initiate customized HTTP sessions that are typically used to emulate a TCP connection.

It allows configuring the special HTTP requests to which a running Layer5.Http.Server application responds. For example, an HTTP client can ask (GET) for a response of a specified size or time or may send (PUT) a payload of a specified size or time itself.

Besides constructing such special HTTP requests, the HTTP client can interact with any normal webserver by configuring its URL.

Returns
Created Layer5.Http.Client object.
Example
1 $port Protocol.HTTP.Client.Add

Returns:

<Layer5.Http.Client object> 

Definition at line 1932 of file api.tcl.

ByteBlowerPort::Protocol.Http.Client.Get

Returns the list of all HTTP client applications created on this port.

See Protocol.Http.Client.Add for more information.

Returns
List of all Layer5.Http.Client applications on this port. May be empty.
Example
1 $port Protocol.Http.Client.Get

Returns:

[ <Layer5.Http.Client object> ... ] 

Definition at line 1946 of file api.tcl.

ByteBlowerPort::Protocol.Http.MultiClient.Add

Creates a Layer5.Http.MultiClient object on this port.

Example
1 $port Protocol.Http.MultiClient.Add

Returns:

<Layer5.Http.MultiClient object> 

Definition at line 1956 of file api.tcl.

ByteBlowerPort::Protocol.Http.MultiClient.Get

Returns the list of a Layer5.Http.MultiClient objects on this port.

Example
1 $port Protocol.Http.MultiClient.Get

Returns:

[ <Layer5.Http.MultiClient object> ... ] 

Definition at line 1966 of file api.tcl.

ByteBlowerPort::Protocol.Http.MultiServer.Add

Creates a Layer5.Http.MultiServer object on this port.

Example
1 $port Protocol.Http.MultiServer.Add

Returns:

<Layer5.Http.MultiServer object> 

Definition at line 1976 of file api.tcl.

ByteBlowerPort::Protocol.Http.MultiServer.Get

Returns the list of a Layer5.Http.MultiServer objects on this port.

Example
1 $port Protocol.Http.MultiServer.Get

Returns:

[ <Layer5.Http.MultiServer object> ... ] 

Definition at line 1986 of file api.tcl.

ByteBlowerPort::Protocol.Http.Server.Add

Creates a HTTP server application to run on this port.

An Layer5.Http.Server application is a customized HTTP server that is typically used to emulate a TCP connection.

It listens for special HTTP requests (send by Layer5.Http.Client applications) and responds in the desired way. For example, an HTTP request may ask (GET) for a response of a specified size and the HTTP server will emulate sending such a file back.

Returns
Created Layer5.Http.Server object.
Example
1 $port Protocol.HTTP.Server.Add

Returns:

<Layer5.Http.Server object> 

Definition at line 2002 of file api.tcl.

ByteBlowerPort::Protocol.Http.Server.Get

Returns the list of all HTTP server applications created on this port.

See Protocol.Http.Server.Add for more information.

Returns
List of all Layer5.Http.Server applications on this port. May be empty.
Example
1 $port Protocol.Http.Server.Get

Returns:

[ <Layer5.Http.Server object> ... ] 

Definition at line 2016 of file api.tcl.

ByteBlowerPort::Protocol.Rtcp.Add

Creates a Real-time Transport Control Protocol (RTCP) end-point on this port.

A Layer5.Rtcp end-point can communicate with its peers, either on external hosts or on other ByteBlower ports.

It is used together with its sister protocol RTP (see Protocol.Rtp.Add) for multimedia streaming scenarios, in which the RTP flow carries the data and RTCP provides out-of-band statistics and control information for it.

Returns
Created Layer5.Rtcp object.
Example
1 $port Protocol.Rtcp.Add

Returns:

<Layer5.Rtcp object> 

Definition at line 2032 of file api.tcl.

ByteBlowerPort::Protocol.Rtcp.Get

Returns the list of all RTCP end-points created on this port.

See Protocol.Rtcp.Add for more information.

Returns
List of all Layer5.Rtcp end-points on this port. May be empty.
Example
1 $port Protocol.Rtcp.Get

Returns:

[ <Layer5.Rtcp object> ... ] 

Definition at line 2046 of file api.tcl.

ByteBlowerPort::Protocol.Rtp.Add

Creates a Real-time Transport Protocol (RTP) end-point on this port.

A Layer5.Rtp end-point can communicate with its peers, either on external hosts or on other ByteBlower ports.

It defines a standardized packet format for audio and video streaming and is typically (but not necessarily) used together with its sister protocol RTCP (see Protocol.Rtcp.Add).

Returns
Created Layer5.Rtp object.
Example
1 $port Protocol.Rtp.Add

Returns:

<Layer5.Rtp object> 

Definition at line 2062 of file api.tcl.

ByteBlowerPort::Protocol.Rtp.Get

Returns the list of all RTP end-points created on this port.

See Protocol.Rtp.Add for more information.

Returns
List of all Layer5.Rtp end-points on this port. May be empty.
Example
1 $port Protocol.Rtp.Get

Returns:

[ <Layer5.Rtp object> ... ] 

Definition at line 2076 of file api.tcl.

ByteBlowerPort::Protocol.Telnet.Client.Add

Creates a Telnet client application to run on this port.

Since
API 2.2.0

A Layer5.Telnet.Client application can contact and interact with an external Telnet server.

Apart from simulating such scenarios for its own sake, this application can be used to contact important nodes within the Network Under Test (e.g. a router) and retrieve relevant statistics from it.

Returns
Created Layer5.Telnet.Client object.
Example
1 $port Protocol.Telnet.Client.Add

Returns:

<Layer5.Telnet.Client object> 

Definition at line 2094 of file api.tcl.

ByteBlowerPort::Protocol.Telnet.Client.Get

Returns the list of all Telnet client applications created on this port.

Since
API 2.2.0

See Protocol.Telnet.Client.Add for more information.

Returns
List of all Layer5.Telnet.Client applications on this port. May be empty.
Example
1 $port Protocol.Telnet.Client.Get

Returns:

[ <Layer5.Telnet.Client object> ... ] 

Definition at line 2110 of file api.tcl.

ByteBlowerPort::Result.Clear

Clears the counters for the ByteBlower port and empties the Result.History.

Example
1 $port Result.Clear

Definition at line 2120 of file api.tcl.

ByteBlowerPort::Result.Get

Returns ByteBlowerPort.ResultSnapshot object containing global RX counters.

Returns
A result object which contains the packet count, byte count etc for this ByteBlower port.
Example
1 $port Result.Get

Returns:

<ByteBlowerPort.ResultSnapshot object> 

Definition at line 2130 of file api.tcl.

ByteBlowerPort::Result.History.Get

Returns the history for the counters ByteBlowerPort.ResultHistory for the ByteBlower port.

Returns
A history object with counter objects which contains the packet count, byte count etc for this ByteBlower port.
Example
1 $port Result.History.Get

Returns:

<ByteBlowerPort.ResultHistory object> 

Definition at line 2140 of file api.tcl.

ByteBlowerPort::Rx.Capture.Add   type  

Creates a capture tool, which captures the data and metadata of incoming frames (possibly restricted by a filter).

Deprecated:
since 2.5.0, please use Rx.Capture.Basic.Add

Like all incoming packet processors (or 'Rx' objects), this object listens to incoming traffic matching a configurable BPF filter and performs some action when it arrives.

Typically, the filter should limit the matching packets to the interesting traffic, especially since capturing all incoming bytes at high rates may place a heavy load on the server.

Note
Unlike other Rx objects, the capture tool is not activated as soon as it is created.

See the class documentation of the returned types for more information.

Warning
Using this tool requires a lot of system resources. Try to avoid capturing at high rates or for a long time. Set the capture filter as strict as possible to avoid unwanted traffic. When too much incoming traffic must be processed, the ByteBlower server may become unstable.
Note
It is also possible to log in to the server and capture there. Note that when capturing a trunking interface (i.e. connected to a switch) you will see an extra VLAN tag that shows to or from which interface the traffic goes. This is currently only available on the 1x00 series, where the Linux tcpdump tool can sniff the server's (native) data interfaces.
Note
This functionality is also available with a stand-alone command-line tool. It can be found and downloaded on our support portal .
Parameters
typeCapture tool type to be created. Case is ignored.
basic
Capture tool that stores both the frame data and some metadata.
Default: basic
Returns
Created capture tool object. Its object type depends on <type>:
basic
Rx.Capture.RawPacket object
Exceptions
ByteBlower.Exception.InvalidValue.EnumWhen <type> is an unknown value.
Example
1 $port Rx.Capture.Add

Returns:

<Rx.Capture.RawPacket object> 

Definition at line 2176 of file api.tcl.

ByteBlowerPort::Rx.Capture.Basic.Add

Creates a capture tool, which captures the data and metadata of incoming frames (possibly restricted by a filter).

Since
2.5.0

Like all incoming packet processors (or 'Rx' objects), this object listens to incoming traffic matching a configurable BPF filter and performs some action when it arrives.

Typically, the filter should limit the matching packets to the interesting traffic, especially since capturing all incoming bytes at high rates may place a heavy load on the server.

Note
Unlike other Rx objects, the capture tool is not activated as soon as it is created.

See the class documentation of the returned types for more information.

Warning
Using this tool requires a lot of system resources. Try to avoid capturing at high rates or for a long time. Set the capture filter as strict as possible to avoid unwanted traffic. When too much incoming traffic must be processed, the ByteBlower server may become unstable.
Note
It is also possible to log in to the server and capture there. Note that when capturing a trunking interface (i.e. connected to a switch) you will see an extra VLAN tag that shows to or from which interface the traffic goes. This is currently only possible on the 1x00 series, where the Linux tcpdump tool can sniff the server's (native) data interfaces.
This functionality is also available with a stand-alone command-line tool. It can be found and downloaded on our support portal .

The returned capture tool is a basic capture tool stores both the frame data and some metadata.

Returns
Created capture tool object. Its object type is Rx.Capture.RawPacket.
Example
1 $port Rx.Capture.Basic.Add

Returns:

<Rx.Capture.RawPacket object> 

Definition at line 2210 of file api.tcl.

ByteBlowerPort::Rx.Capture.Basic.Get

Returns the list of capture tools created on this port.

Since
2.5.0

See Rx.Capture.Basic.Add for more information.

Returns
List of all capture tools created on this port. Possibly empty. The object types are Rx.Capture.RawPacket.
Example
1 $port Rx.Capture.Basic.Get

Returns:

[ <Rx.Capture.RawPacket object> ... ] 

Definition at line 2226 of file api.tcl.

ByteBlowerPort::Rx.Capture.Get

Returns the list of capture tools created on this port.

Deprecated:
since 2.5.0, please use Rx.Capture.Basic.Get

See Rx.Capture.Add for more information.

Returns
List of all capture tools created on this port. Possibly empty. Their individual object types depend on the types used in Rx.Capture.Add:
basic
Rx.Capture.RawPacket object
Example
1 $port Rx.Capture.Get

Returns:

[ <Rx.Capture object> ... ] 

Definition at line 2242 of file api.tcl.

ByteBlowerPort::Rx.Latency.Add   type  

Creates a latency calculator, which computes latency measurements based on timestamps in received frames (possibly restricted by a filter).

Deprecated:
since 2.5.0, please use Rx.Latency.Basic.Add or Rx.Latency.Distribution.Add

Like all incoming packet processors (or 'Rx' objects), this object listens to incoming traffic matching a configurable BPF filter and performs some action when it arrives.

Typically, the filter should limit the matching traffic to the Tx.Stream whose transmitted frames actually contain the required timestamps!

The latency calculator is activated as soon as it is created, so don't forget to reset its counters after setting the filter and initializing your test.

See the class documentation of the returned types for more information. See Frame for information on timestamping.

Parameters
typeReceive latency calculator type to be created. Case is ignored.
basic
Calculator that counts timestamped frames and computes minimum, average and maximum latency plus jitter.
distribution
Calculator that computes all values of a basic calculator plus a histogram containing a latency distribution.
Default: basic
Returns
Created latency calculator object. Its object type depends on <type>:
basic
Rx.Latency.Basic object
distribution
Rx.Latency.Distribution object
Exceptions
ByteBlower.Exception.InvalidValue.EnumWhen <type> is an unknown value.
Example
1 $port Rx.Latency.Add

Returns:

<Rx.Latency.Basic object> 
1 $port Rx.Latency.Add distribution

Returns:

<Rx.Latency.Distribution object> 

Definition at line 2268 of file api.tcl.

ByteBlowerPort::Rx.Latency.Basic.Add

Creates a latency calculator, which computes latency measurements based on timestamps in received frames (possibly restricted by a filter).

Since
2.5.0

Like all incoming packet processors (or 'Rx' objects), this object listens to incoming traffic matching a configurable BPF filter and performs some action when it arrives.

Typically, the filter should limit the matching traffic to the Tx.Stream whose transmitted frames actually contain the required timestamps!

The latency calculator is activated as soon as it is created, so don't forget to reset its counters after setting the filter and initializing your test.

See the class documentation of the returned types for more information. See Frame for information on timestamping.

Returns
Created latency calculator object. Its object type is Rx.Latency.Basic
Example
1 $port Rx.Latency.Basic.Add

Returns:

<Rx.Latency.Basic object> 

Definition at line 2290 of file api.tcl.

ByteBlowerPort::Rx.Latency.Basic.Get

Returns the list of latency calculators created on this port.

Since
2.5.0

See Rx.Latency.Basic.Add for more information.

Returns
List of all latency calculators created on this port. Possibly empty.
Example
1 $port Rx.Latency.Basic.Get

Returns:

[ <Rx.Latency.Basic object> ... ] 

Definition at line 2306 of file api.tcl.

ByteBlowerPort::Rx.Latency.Distribution.Add

Creates a latency calculator, which computes latency measurements based on timestamps in received frames (possibly restricted by a filter).

Since
2.5.0

Like all incoming packet processors (or 'Rx' objects), this object listens to incoming traffic matching a configurable BPF filter and performs some action when it arrives.

Typically, the filter should limit the matching traffic to the Tx.Stream whose transmitted frames actually contain the required timestamps!

The latency calculator is activated as soon as it is created, so don't forget to reset its counters after setting the filter and initializing your test.

See the class documentation of the returned types for more information. See Frame for information on timestamping.

Returns
Created latency calculator object. Its object type is Rx.Latency.Distribution
Example
1 $port Rx.Latency.Distribution.Add

Returns:

<Rx.Latency.Distribution object> 

Definition at line 2328 of file api.tcl.

ByteBlowerPort::Rx.Latency.Distribution.Get

Returns the list of latency calculators created on this port.

Since
2.5.0

See Rx.Latency.Distribution.Add for more information.

Returns
List of all latency calculators created on this port. Possibly empty.
Example
1 $port Rx.Latency.Distribution.Get

Returns:

[ <Rx.Distribution.Basic object> ... ] 

Definition at line 2344 of file api.tcl.

ByteBlowerPort::Rx.Latency.Get

Returns the list of latency calculators created on this port.

Deprecated:
since 2.5.0, please use Rx.Latency.Basic.Get or Rx.Latency.Distribution.Get

See Rx.Latency.Add for more information.

Returns
List of all latency calculators created on this port. Possibly empty. Their individual object types depend on the types used in Rx.Latency.Add:
basic
Rx.Latency.Basic object
distribution
Rx.Latency.Distribution object
Example
1 $port Rx.Latency.Get

Returns:

[ <Rx.Latency object> ... ] 

Definition at line 2360 of file api.tcl.

ByteBlowerPort::Rx.OutOfSequence.Add   type  

Creates an out-of-sequence detector, which counts such cases based on sequence numbers in received frames (possibly restricted by a filter).

Deprecated:
since 2.5.0, please use Rx.OutOfSequence.Basic.Add

Like all incoming packet processors (or 'Rx' objects), this object listens to incoming traffic matching a configurable BPF filter and performs some action when it arrives.

Typically, the filter should limit the matching traffic to the Tx.Stream whose transmitted frames actually contain the required sequence numbers!

The out-of-sequence detector is activated as soon as it is created, so don't forget to reset its counters after setting the filter and initializing your test.

See the class documentation of the returned types for more information. See Frame for information on timestamping.

Parameters
typeOut-of-sequence detector type to be created. Case is ignored.
basic
Detector that counts that counts frames with sequence numbers and counts the out-of-order arrivals.
Default: basic
Returns
Created out-of-sequence detector object. Its object type depends on <type>:
basic
Rx.OutOfSequence.Basic object
Exceptions
ByteBlower.Exception.InvalidValue.EnumWhen <type> is an unknown value.
Example
1 $port Rx.OutOfSequence.Add

Returns:

<Rx.OutOfSequence.Basic object> 

Definition at line 2386 of file api.tcl.

ByteBlowerPort::Rx.OutOfSequence.Basic.Add

Creates an out-of-sequence detector, which counts such cases based on sequence numbers in received frames (possibly restricted by a filter).

Since
2.5.0

Like all incoming packet processors (or 'Rx' objects), this object listens to incoming traffic matching a configurable BPF filter and performs some action when it arrives.

Typically, the filter should limit the matching traffic to the Tx.Stream whose transmitted frames actually contain the required sequence numbers!

The out-of-sequence detector is activated as soon as it is created, so don't forget to reset its counters after setting the filter and initializing your test.

See the class documentation of the returned types for more information. See Frame for information on timestamping.

The Out-of-sequence detector type to be created is a detector that counts frames with sequence numbers and counts the out-of-order arrivals.

Returns
Created out-of-sequence detector object. Its object type is Rx.OutOfSequence.Basic.
Example
1 $port Rx.OutOfSequence.Basic.Add

Returns:

<Rx.OutOfSequence.Basic object> 

Definition at line 2410 of file api.tcl.

ByteBlowerPort::Rx.OutOfSequence.Basic.Get

Returns the list of out-of-sequence detectors created on this port.

Since
2.5.0

See Rx.OutOfSequence.Basic.Add for more information.

Returns
List of all basic out-of-sequence detectors created on this port. Possibly empty. The object types are Rx.OutOfSequence.Basic.
Example
1 $port Rx.OutOfSequence.Basic.Get

Returns:

[ <Rx.OutOfSequence.Basic object> ... ] 

Definition at line 2426 of file api.tcl.

ByteBlowerPort::Rx.OutOfSequence.Get

Returns the list of out-of-sequence detectors created on this port.

Deprecated:
since 2.5.0, please use Rx.OutOfSequence.Basic.Get

See Rx.OutOfSequence.Add for more information.

Returns
List of all out-of-sequence detectors created on this port. Possibly empty. Their individual object types depend on the types used in Rx.OutOfSequence.Add:
basic
Rx.OutOfSequence.Basic object
Example
1 $port Rx.OutOfSequence.Get

Returns:

[ <Rx.OutOfSequence object> ... ] 

Definition at line 2442 of file api.tcl.

ByteBlowerPort::Rx.Trigger.Add   type  

Creates a receive trigger, whose counters are updated for each received frame (possibly restricted by a filter).

Deprecated:
since 2.5.0, please use Rx.Trigger.Basic.Add and Rx.Trigger.SizeDistribution.Add

Like all incoming packet processors (or 'Rx' objects), this object listens to incoming traffic matching a configurable BPF filter and performs some action when it arrives.

The receive trigger is activated as soon as it is created, so don't forget to reset its counters after setting the filter and initializing your test.

See the class documentation of the returned types for more information.

Parameters
typeReceive trigger type to be created. Case is ignored.
basic
Trigger that counts frames, bytes, times of first and last packets, etc.
sizedistribution
Trigger that counts all statistics of basic trigger plus the number of packets per framesize.
Default: basic
Returns
Created receive trigger object. Its object type depends on <type>:
basic
Rx.Trigger.Basic object
sizedistribution
Rx.Trigger.SizeDistribution object
Exceptions
ByteBlower.Exception.InvalidValue.EnumWhen <type> is an unknown value.
Example
1 $port Rx.Trigger.Add

Returns:

<Rx.Trigger.Basic object> 
1 $port Rx.Trigger.Add sizedistribution

Returns:

<Rx.Trigger.SizeDistribution object> 

Definition at line 2466 of file api.tcl.

ByteBlowerPort::Rx.Trigger.Basic.Add

Creates a basic receive trigger, whose counters are updated for each received frame (possibly restricted by a filter).

Since
2.5.0

Like all incoming packet processors (or 'Rx' objects), this object listens to incoming traffic matching a configurable BPF filter and performs some action when it arrives.

The receive trigger is activated as soon as it is created, so don't forget to reset its counters after setting the filter and initializing your test.

See the class documentation of the returned types for more information.

Returns
Created receive trigger object. Rx.Trigger.Basic object
Example
1 $port Rx.Trigger.Basic.Add

Returns:

<Rx.Trigger.Basic object> 

Definition at line 2486 of file api.tcl.

ByteBlowerPort::Rx.Trigger.Basic.Get

Returns the list of receive triggers created on this port.

Since
2.5.0

See Rx.Trigger.Basic.Add for more information.

Returns
List of all receive triggers on this port. Rx.Trigger.Basic
Example
1 $port Rx.Trigger.Basic.Get

Returns:

[ <Rx.TriggerBasic object> ... ] 

Definition at line 2502 of file api.tcl.

ByteBlowerPort::Rx.Trigger.Get

Returns the list of receive triggers created on this port.

Deprecated:
since 2.5.0. Please use Rx.Trigger.Basic.Get and Rx.Trigger.SizeDistribution.Get

See Rx.Trigger.Add for more information.

Returns
List of all receive triggers on this port. Possibly empty. Their individual object types depend on the types used in Rx.Trigger.Add:
basic
Rx.Trigger.Basic object
sizedistribution
Rx.Trigger.SizeDistribution object
Example
1 $port Rx.Trigger.Get

Returns:

[ <Rx.Trigger object> ... ] 

Definition at line 2518 of file api.tcl.

ByteBlowerPort::Rx.Trigger.SizeDistribution.Add

Creates a size distribution receive trigger, whose counters are updated for each received frame (possibly restricted by a filter).

Since
2.5.0

Like all incoming packet processors (or 'Rx' objects), this object listens to incoming traffic matching a configurable BPF filter and performs some action when it arrives.

The receive trigger is activated as soon as it is created, so don't forget to reset its counters after setting the filter and initializing your test.

See the class documentation of the returned types for more information.

Returns
Created receive trigger object. Rx.Trigger.SizeDistribution
Example
1 $port Rx.Trigger.SizeDistribution.Add

Returns:

<Rx.Trigger.SizeDistribution object> 

Definition at line 2538 of file api.tcl.

ByteBlowerPort::Rx.Trigger.SizeDistribution.Get

Returns the list of receive triggers created on this port.

Since
2.5.0

See Rx.Trigger.SizeDistribution.Add for more information.

Returns
List of all receive triggers on this port. Rx.Trigger.SizeDistribution
Example
1 $port Rx.Trigger.SizeDistribution.Get

Returns:

[ <Rx.TriggerSizeDistribution object> ... ] 

Definition at line 2554 of file api.tcl.

ByteBlowerPort::Server.Get

Returns the server connection on which this port was created.

Returns
ByteBlowerServer object on which this port was created.
Example
1 $port Server.Get

Returns:

<ByteBlowerServer object> 

Definition at line 2566 of file api.tcl.

ByteBlowerPort::Start

Starts all transmit streams and schedulable objects configured on this port.

See ByteBlower::Ports.Start, which does the same for a set of ports, for more information.

Example
1 $port Start

Definition at line 2578 of file api.tcl.

ByteBlowerPort::Stop

Stops all transmit streams and schedulable objects configured on this port.

See ByteBlower::Ports.Stop, which does the same for a set of ports, for more information.

Example
1 $port Stop

Definition at line 2590 of file api.tcl.

ByteBlowerPort::Tunnel.Tcp.Add

Creates a TCP tunnel object.

A Layer4.Tcp.Tunnel can be used to configure TCP port forwarding between the user's office network and the lab network.

Through the protocol, a client can requesting dynamic changes to the firewall or NAT port forwarding settings of a (PCP-enabled) gateway.

Returns
Created Layer4.Tcp.Tunnel object.
Example
1 $port Tunnel.Tcp.Add

Returns:

<Layer4.Tcp.Tunnel object> 

Definition at line 2606 of file api.tcl.

ByteBlowerPort::Tunnel.Tcp.Get

Returns a list of all TCP Tunnel objects created on this port.

See Tunnel.Tcp.Add for more information.

Returns
List of created Layer4.Tcp.Tunnel objects on this port.

Definition at line 2616 of file api.tcl.

ByteBlowerPort::Tx.Stream.Add

Creates a transmit stream, which can be configured to blast layer 2 frames traffic from this port in a stateless way.

Initially, a stream does not contain any traffic. It must still be configured by adding content (in the form of Frame objects) and timing information (especially the interframe gap). See Tx.Stream for more information.

A Tx.Stream can be compared to the transmitting part of a frame blasting flow in the GUI.

Returns
Created Tx.Stream object.
Example
1 $port Tx.Stream.Add

Returns:

<Tx.Stream object> 

Definition at line 2632 of file api.tcl.

ByteBlowerPort::Tx.Stream.Get

Returns a list of transmit streams created on this port.

Returns
List of Tx.Stream objects created on this port. May be empty.
Example
1 $port Tx.Stream.Get

Returns:

[ <Tx.Stream object> ... ] 

Definition at line 2644 of file api.tcl.

ByteBlowerPort::Tx.Stream.Start

Starts all transmit streams and schedulable objects configured on this port.

Deprecated:
Use method Start instead. This call starts both traffic streams and schedulable objects configured on this port, so its name is confusing.

See Start for more information.

Warning
Semantics for this method may be modified in future, so it only starts transmit streams. To start both transmit streams and schedulable objects, use Start instead.
Example
1 $port Start

Definition at line 2660 of file api.tcl.

ByteBlowerPort::Tx.Stream.Stop

Stops all transmit streams and schedulable objects configured on this port.

Deprecated:
Use method Stop instead. This call stops both traffic streams and schedulable objects configured on this port, so its name is confusing.

See Stop for more information.

Warning
Semantics for this method may be modified in future, so it only stops transmit streams. To stop both transmit streams and schedulable objects, use Stop instead.
Example
1 $port Tx.Stream.Stop

Definition at line 2676 of file api.tcl.