Basic FrameBlasting Flow

{
   "type": "frame_blasting",
   "name":  "<flow_name:str>",
   "source": {
         "port_group": [
            "<source_group:str>"
         ]
   },
   "destination": {
         "port_group": [
            "<destination_group:str>"
         ]
   },
   "ecn": "<ecn_code_point:str|int>",
   "dscp": "<dscp_code_point:str|int>",
   "add_reverse_direction": "<add_reverse_direction_flow:bool>",
   "initial_time_to_wait": "<initial_time_to_wait:float|int|timedelta>",
   "bitrate": "<flow_bitrate:float>",
   "frame_size": "<frame_size_without_crc:int>",
   "frame_rate": "<frame_rate:float>",
   "number_of_frames": "<number_of_frames:float>",
   "duration": "<flow_duration:float|int|timedelta>",
   "udp_src": "<udp_source_port:int>",
   "udp_dest": "<udp_destination_port:int>",
   "nat_keep_alive": "<activate_nat_keep_alive:bool>",
   "analysis": {
      "latency":"<enable_latency_analysis:bool>",
      "l4s": "'marking' | 'congestion'",
      "mos": "<enable_mos:bool>",
      "max_threshold_latency": "<max_threshold_latency:float>",
      "max_loss_percentage": "<max_loss_percentage:float>",
      "quantile": "<quantile:float>",
      "min_percentile": "<min_percentile:float>",
      "max_percentile": "<max_percentile:float>"
   }
}

Frame blasting flow

Specific parameters for frame blasting flow. The type MUST be defined as frame_blasting.

type

object

properties

  • type

Type of the flow. Defines which specific flow parameters will be possible.

type

string

enum

frame_blasting

  • name

Name of this Flow, defaults to auto-generated name when set to none

type

string

  • source

Specifying the source of transmitted data for this flow

type

object

properties

  • port_group

List of port groups specifying the transmitting ports

type

array

items

Port group

additionalProperties

False

  • destination

Specifying the destination for receiving data for this flow

type

object

properties

  • port_group

List of port groups specifying the receiving ports

type

array

items

Port group

additionalProperties

False

  • ecn

IP ECN

Explicit Congestion Notification code point. Defaults to DEFAULT_IP_ECN (0x00)

oneOf

type

integer

maximum

3

minimum

0

type

string

  • dscp

IP DSCP

Differentiated Services Code Point. Defaults to DEFAULT_IP_DSCP (0x00)

oneOf

type

integer

maximum

63

minimum

0

type

string

  • add_reverse_direction

Enables adding a flow in the reverse direction of the original flow.

The reverse flow uses the same configuration as the original. Defaults to false

type

boolean

  • initial_time_to_wait

Initial time to wait to start the flow in seconds.

Defaults to 0 (start immediately).

type

number

minimum

0

  • bitrate

Rate at which the bits are transmitted (in bits per second).

Excludes the VLAN tag bytes (when applicable), mutual exclusive with frame_rate, defaults to none

type

number

exclusiveMinimum

0

  • frame_size

Frame size in Bytes without CRC, defaults to none

type

integer

minimum

42

  • frame_rate

Rate at which the frames are transmitted (in frames per second).

Mutual exclusive with bitrate. Defaults to DEFAULT_FRAME_RATE (100) when bitrate is not provided.

type

number

exclusiveMinimum

0

  • number_of_frames

Number of frames to transmit.

Defaults to DEFAULT_NUMBER_OF_FRAMES (none == defined by scenario maximum run time).

type

integer

exclusiveMinimum

0

  • duration

Duration of the flow in seconds.

Defaults to none (use number_of_frames instead)

type

number

exclusiveMinimum

0

  • udp_src

UDP port number in range [49152,65534] , defaults to udp_dynamic_port

type

integer

maximum

65535

minimum

0

  • udp_dest

UDP port number in range [49152,65534] , defaults to udp_dynamic_port

type

integer

maximum

65535

minimum

0

  • nat_keep_alive

Enable a flow to keep Network Address (and Port) Translation (NAT/NAPT) entries alive.

The direction will be from the endpoint behind a NAT/NAPT gateway to the port at the public side of the NAT/NAPT gateway. Defaults to false.

We always enable the NAT/NAPT keep alive when the user asks for it, even when:

  • The reverse flow is enabled and source and destination UDP ports are the same

  • The source is the endpoint behind the NAT/NAPT gateway: An initial time to wait on the flow can still cause the NAPT entries at the gateway might still timeout before the traffic starts. This might cause the NAPT gateway to create a new (maybe different!) NAPT entry, causing our traffic analysis to fail (with 100% loss).

type

boolean

  • napt_keep_alive

Deprecated since version v1.1.0: Use nat_keep_alive instead. Will be removed in v1.3.0.

type

boolean

  • analysis

Sets latency related analysis configuration parameters

oneOf

Frame loss analysis parameters

L4S markings analysis

Mean Opinion Score (MOS) analysis

Latency & frame loss analysis parameters

Frame loss analysis parameters

Specific frame loss analysis related parameters

type

object

properties

  • max_loss_percentage

Maximum allowed frame/byte loss in %, defaults to DEFAULT_LOSS_PERCENTAGE (1.0)

type

number

maximum

100

minimum

0

Latency & frame loss analysis parameters

Specific latency & frame loss analysis related parameters

type

object

properties

  • latency

Set to true to enable latency analysis (latency statistics over time, distribution, CDF, CCDF, …), mutual exclusive with l4s and mos, defaults to false

type

boolean

  • max_loss_percentage

Maximum allowed frame/byte loss in %, defaults to DEFAULT_LOSS_PERCENTAGE (1.0)

type

number

maximum

100

minimum

0

  • max_threshold_latency

Maximum latency threshold

Maximum allowed latency in milliseconds, defaults to DEFAULT_MAX_LATENCY_THRESHOLD (5.0)

type

number

  • quantile

Quantile for which the latency must be less than the given maximum latency, defaults to DEFAULT_QUANTILE (99.9)

type

number

maximum

100

minimum

0

  • min_percentile

Lowest percentile boundary of outliers latencies (all latencies < min_percentile are considered as outliers), defaults to MIN_PERCENTILE (10th percentile)

type

number

maximum

100

minimum

0

  • max_percentile

Highest percentile boundary of outliers latencies (all latencies > max_percentile are considered as outliers), defaults to MAX_PERCENTILE (90th percentile)

type

number

maximum

100

minimum

0

L4S markings analysis

Enables L4S markings analysis based on the ECN codepoint

Note

Not supported by ByteBlower Endpoint.

type

object

properties

  • l4s

When set, specifies the type of L4S markings to analyse, mutual exclusive with latency and mos. Could only be set to: congestion or marking, defaults to none

type

string

enum

congestion, marking