byteblowerll.byteblower.ByteBlowerPort

class byteblowerll.byteblower.ByteBlowerPort(*args, **kwargs)

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

A ByteBlowerPort is physically connected (or ‘attached’) to the NUT through the physical ByteBlower interface on which it is created. See ByteBlowerServer.PortCreate() 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)
__init__(*args, **kwargs)

Methods

CapabilityGetByName(name) Returns a Capability object by its name.
CapabilityIsSupported(name) Checks whether a capability is supported.
CapabilityListGet() Returns a list of Capability objects.
DescriptionGet(*args) Gets a textual description for the current object
GetByteBlowerInterface()
InterfaceGet()
InterfaceNameGet() Returns physical ByteBlower interface code.
InterfaceSpeedGet() Returns physical ByteBlower interface speed.
Layer25PPPoEAdd() Adds a layer 2.5 PPPoE Client to this port.
Layer25PPPoEGet() Returns the ordered list of layer 2.5 PPPoE objects of this port.
Layer25PPPoERemove(inPPPoEClient)
Layer25VlanAdd() Adds a layer 2.5 VLAN to this port.
Layer25VlanGet() Returns the ordered list of layer 2.5 Vlan objects of this port.
Layer25VlanRemove(inVlanTag)
Layer2EthIIGet() Returns the layer 2 configuration object of this port.
Layer2EthIISet() Sets the layer 2 configuration of this port.
Layer3IPv4Get() Returns the layer 3 IPv4 configuration object of this port.
Layer3IPv4Set() Sets the layer 3 IPv4 configuration of this port.
Layer3IPv6Get() Returns the layer 3 IPv6 configuration object of this port.
Layer3IPv6Set() Sets the layer 3 IPv6 configuration of this port.
MDLGet() Returns the port’s current Maximum Data Length (MDL), the maximum ethernet frame size that can be transmitted.
MDLMaximumGet() Returns the port’s highest allowed Maximum Data Length (MDL) value, which is limited by the physical interface.
MDLSet(mdl) Sets the port’s Maximum Data Length (MDL), the maximum ethernet frame size that can be transmitted.
ParentGet() Returns the parent object.
ProtocolHttpClientAdd() Creates a HTTP client application to run on this port.
ProtocolHttpClientGet() Returns the list of all HTTP client applications created on this port.
ProtocolHttpClientRemove(arg2)
ProtocolHttpMultiClientAdd() Creates a Layer5.Http.MultiClient object on this port.
ProtocolHttpMultiClientGet() Returns the list of a HttpMultiClient objects on this port.
ProtocolHttpMultiClientRemove(arg2)
ProtocolHttpMultiServerAdd() Creates a HttpMultiServer object on this port.
ProtocolHttpMultiServerGet() Returns the list of HttpMultiServer objects on this port.
ProtocolHttpMultiServerRemove(arg2)
ProtocolHttpServerAdd() Creates a HTTP server application to run on this port.
ProtocolHttpServerGet() Returns the list of all HTTP server applications created on this port.
ProtocolHttpServerRemove(arg2)
ProtocolTelnetClientAdd() Creates a Telnet client application to run on this port.
ProtocolTelnetClientGet() Returns the list of all Telnet client applications created on this port.
ProtocolTelnetClientRemove(arg2)
Refresh() Retrieves the latest data from the server for this object.
ResultClear() Clears the counters for the ByteBlower port and empties the ByteBlowerPortResultHistory.
ResultGet() Returns the result object.
ResultHistoryGet() Returns the history for the counters for the ByteBlower port.
RxCaptureBasicAdd() Creates a capture tool, which captures the data and metadata of incoming frames (possibly restricted by a filter).
RxCaptureBasicGet() Returns the list of capture tools created on this port.
RxCaptureBasicRemove(inCapture)
RxLatencyBasicAdd() Creates a latency calculator, which computes latency measurements based on timestamps in received frames (possibly restricted by a filter).
RxLatencyBasicGet() Returns the list of latency calculators created on this port.
RxLatencyBasicRemove(inLatency)
RxLatencyDistributionAdd() Creates a latency calculator, which computes latency measurements based on timestamps in received frames (possibly restricted by a filter).
RxLatencyDistributionGet() Returns the list of latency calculators created on this port.
RxLatencyDistributionRemove(inLatency)
RxOutOfSequenceBasicAdd() Creates an out-of-sequence detector, which counts such cases based on sequence numbers in received frames (possibly restricted by a filter).
RxOutOfSequenceBasicGet() Returns the list of out-of-sequence detectors created on this port.
RxOutOfSequenceBasicRemove(inOutOfSequence)
RxTriggerBasicAdd() Creates a basic receive trigger, whose counters are updated for each received frame (possibly restricted by a filter).
RxTriggerBasicGet() Returns the list of receive triggers created on this port.
RxTriggerBasicRemove(arg2)
RxTriggerSizeDistributionAdd() Creates a size distribution receive trigger, whose counters are updated for each received frame (possibly restricted by a filter).
RxTriggerSizeDistributionGet() Returns the list of receive triggers created on this port.
RxTriggerSizeDistributionRemove(arg2)
ServerGet()
Start() Starts all transmit streams and schedulable objects configured on this port.
Stop()
TunnelTcpAdd() Creates a TCP tunnel object.
TunnelTcpGet() Returns a list of all TCP Tunnel objects created on this port.
TunnelTcpRemove(arg2)
TxStreamAdd() Creates a transmit stream, which can be configured to blast layer 2 frames traffic from this port in a stateless way.
TxStreamGet() Returns a list of transmit streams created on this port.
TxStreamRemove(inStream)
__init__(*args, **kwargs)