8.3.3.4. Impairment Distribution

This module contains the impairment port distribution commands.


class PED_ACCBURST[source]

Bases: object

Configuration of Accumulate & Burst distribution (DELAY only).

Note

If the delay is less than minimum latency, value is set to minimum latency. If the delay is greater than maximum latency, value is set to maximum latency.

get()[source]

Get the configuration of Accumulate & Burst distribution (DELAY only).

Returns:

the configuration of Accumulate & Burst distribution (DELAY only)

Return type:

PED_ACCBURST.GetDataAttr

set(delay)[source]

Set the configuration of Accumulate & Burst distribution (DELAY only).

Parameters:

delay (int) – specifies the burst delay time. Units = nanosecond (must multiples of 100 ns). Default value: minimum latency.

class PED_BER[source]

Bases: object

Configuration of Bit Error Rate distribution.

get()[source]

Get the configuration of Bit Error Rate distribution.

Returns:

the configuration of Bit Error Rate distribution

Return type:

PED_BER.GetDataAttr

set(coef, exp)[source]

Set the configuration of Bit Error Rate distribution.

Parameters:
  • coef (int) – specifies the coefficient for BER. Default value: 1 (Range is 1 to 9).

  • exp (int) – specifies the exponent for BER. Default value: -10 (Range is -18 to -1).

class PED_CONST[source]

Bases: object

Configuration of Constant Delay distribution (DELAY only). Unit is ns (must be multiples of 100ns). Default value: Minimum supported per speed and FEC mode.

Note

If the latency is less than minimum latency, value is set to minimum latency. If the latency is greater than maximum latency, value is set to maximum latency.

get()[source]

Get the configuration of Constant Delay distribution (DELAY only).

Returns:

the configuration of Constant Delay distribution (DELAY only)

Return type:

PED_CONST.GetDataAttr

set(delay)[source]

Set the configuration of Constant Delay distribution (DELAY only).

Parameters:

delay (int) – specifies the constant delay/latency time. Unit is nanosecond (must be multiples of 100 ns). Default value: Minimum supported per speed and FEC mode.

class PED_CUST[source]

Bases: object

Associate a custom distribution to a flow and impairment type.

Note

Before associating a custom distribution, the below validation checks are applied.

In case of _impairment_type_xindex != DELAY, (1) Custom values should be less than or equal to max allowed (4194288). (2) Custom distribution bust contain 512 values.

In case of _impairment_type_xindex = DELAY, (1) Custom values should be less than or equal to the maximum latency. (2) Custom values should be greater than or equal to minimum latency. (3) Custom distribution should contain 1024 values.

get()[source]

Get the custom distribution identifier that is associated to a flow and impairment type.

Returns:

custom distribution identifier

Return type:

PED_CUST.GetDataAttr

set(cust_id)[source]

Associate a custom distribution to a flow and impairment type.

Parameters:

cust_id (int) – custom distribution identifier

class PED_ENABLE[source]

Bases: object

Control whether this impairment distribution is enabled.

Note

This command is not applicable for PE_BANDPOLICER and PE_BANDSHAPER because they have a separate ON / OFF parameter.

get()[source]

Get the status of this impairment distribution.

Returns:

the status of this impairment distribution

Return type:

PED_ENABLE.GetDataAttr

set(action)[source]

Set the status of this impairment distribution.

Parameters:

action (OnOff) – the status of this impairment distribution

set_off()

Disable impairment distribution

set_on()

Enable impairment distribution

class PED_FIXED[source]

Bases: object

Configuration of Fixed Rate distribution. This is predictable distribution with nearly equal distance between impairments, to match the configured probability.

Note

In case of misordering, a special limit applies, probability * (depth + 1) should be less than 1000000.

get()[source]

Get the probability of a Fixed Rate distribution.

Returns:

the fixed probability in ppm. Default value is 0.

Return type:

PED_FIXED.GetDataAttr

set(probability)[source]

Set the probability of a Fixed Rate distribution.

Parameters:

probability (int) – the fixed probability in ppm. Default value is 0.

class PED_FIXEDBURST[source]

Bases: object

Configuration of Fixed Burst distribution.

Note

In case of _impairment_type_xindex = MISO, burst size is fixed to 1.

get()[source]

Get the configuration of Fixed Burst distribution.

Returns:

configuration of Fixed Burst distribution.

Return type:

PED_FIXEDBURST.GetDataAttr

set(burst_size)[source]

Set the configuration of Fixed Burst distribution.

Parameters:

burst_size (int) – specifies the burst size (Range 1 - 16383). Default value = 1.

class PED_GAMMA[source]

Bases: object

Configuration of Gamma distribution.

Note

Mean and Standard deviation are calculated from Shape and Scale parameters and validation is performed using those. standard deviation = [SQRT(shape * scale * scale)]mean = [shape * scale].

In case of _impairment_type_xindex != DELAY, (1) mean plus 4 times standard deviation should be less than or equal to max allowed(4194288). (2)shape and scale should be greater than or equal to 0.

In case of _impairment_type_xindex = DELAY, mean plus 4 times standard deviation should be less than or equal to the maximum latency.

get()[source]

Get the configuration of Gamma distribution.

Returns:

the configuration of Gamma distribution

Return type:

PED_GAMMA.GetDataAttr

set(shape, scale)[source]

Set the configuration of Gamma distribution.

Parameters:
  • shape (int) – specifies the shape. Units: none. Default value: 0.

  • scale (int) – specifies the Gamma function scale parameter.

class PED_GAUSS[source]

Bases: object

Configuration of Gaussian distribution.

Note

In case of _impairment_type_xindex != DELAY:
  1. mean plus 3 times standard deviation should be less than or equal to max allowed (4194288).

  2. mean should always be at least 3 times the standard deviation, this to ensure that the impairment distance is always positive.

In case of _impairment_type_xindex = DELAY:
  1. mean plus 3 times standard deviation should be less than or equal to the maximum latency.

  2. mean minus 3 times the standard deviation should be greater than or equal to minimum latency.

get()[source]

Get the configuration of Gaussian distribution.

Returns:

the configuration of Gaussian distribution

Return type:

PED_GAUSS.GetDataAttr

set(mean, std_deviation)[source]

Set the configuration of Gaussian distribution.

Parameters:
  • mean (int) – specifies the Gaussian mean.

  • std_deviation (int) – specifies the Gaussian standard deviation.

class PED_GE[source]

Bases: object

Configuration of Gilbert-Elliot distribution.

get()[source]

Get the configuration of Gilbert-Elliot distribution.

Returns:

the configuration of Gilbert-Elliot distribution.

Return type:

PED_GE.GetDataAttr

set(good_state_prob, good_state_trans_prob, bad_state_prob, bad_state_trans_prob)[source]

Set the configuration of Gilbert-Elliot distribution.

Parameters:
  • good_state_prob (int) – specifies the good state probability in ppm. Default value: 0.

  • good_state_trans_prob (int) – specifies the good state transition probability in ppm. Default value: 0.

  • bad_state_prob (int) – specifies the bad state probability in ppm. Default value: 0.

  • bad_state_trans_prob (int) – specifies the bad state transition probability in ppm. Default value: 0.

class PED_OFF[source]

Bases: object

Configure Impairments Distribution to OFF. Assigning a different distribution than OFF to an impairment will activate the impairment. To de-activate the impairment assign distribution OFF.

set()[source]

Configure Impairments Distribution to OFF. Assigning a different distribution than OFF to an impairment will activate the impairment. To de-activate the impairment assign distribution OFF.

class PED_ONESHOTSTATUS[source]

Bases: object

Retrieves the one-shot completion status.

Note

The return value is only valid, if the configured distribution is either accumulate & burst (DELAY) or fixed burst (non-DELAY).

get()[source]

Get the one-shot completion status.

Returns:

the one-shot completion status

Return type:

PED_ONESHOTSTATUS.GetDataAttr

class PED_POISSON[source]

Bases: object

Configuration of “Poisson” distribution.

Note

Standard deviation is derived from mean, i.e., standard deviation = SQRT(mean).

In case of _impairment_type_xindex != DELAY, mean plus 3 times standard deviation should be less than or equal to max allowed (4194288).

In case of _impairment_type_xindex = DELAY, mean plus 3 times standard deviation should be less than or equal to the maximum latency.

get()[source]

Get the configuration of Poisson distribution.

Returns:

the configuration of Poisson distribution

Return type:

PED_POISSON.GetDataAttr

set(mean)[source]

Set the configuration of Poisson distribution.

Parameters:

mean (int) – specifies the Poisson mean value.

class PED_RANDOM[source]

Bases: object

Configuration of Random Rate distribution. Packets are impaired randomly based on a per packet probability. This way the impaired fraction of packets will be equal to the configured probability over time. Random probability in ppm (i.e. 1 means 0.0001%)

get()[source]

Get the probability of a Random Rate distribution.

Returns:

specifies the random probability in ppm. Default value is 0.

Return type:

PED_RANDOM.GetDataAttr

set(probability)[source]

Set the probability of a Random Rate distribution.

Parameters:

probability (int) – specifies the random probability in ppm. Default value is 0.

class PED_RANDOMBURST[source]

Bases: object

Configuration of Random Burst distribution.

get()[source]

Get the configuration of Random Burst distribution.

Returns:

configuration of Random Burst distribution.

Return type:

PED_RANDOMBURST.GetDataAttr

set(minimum, maximum, probability)[source]

Set the configuration of Random Burst distribution.

Parameters:
  • minimum (int) – specifies minimum burst size. Default value: 0 (Range 0 to 65535)

  • maximum (int) – specifies maximum burst size. Default value: 0 (Range 0 to 65535)

  • probability (int) – specifies the per packet probability of initiating a burst in ppm. Default value: 0.

class PED_SCHEDULE[source]

Bases: object

Configure the impairment scheduler function. The configuration of the scheduler depends on the kind of distribution to schedule: (1) Burst distributions: “Fixed Burst” and “Accumulate and Burst”. (2) Non-Burst distributions: All others. For burst distributions, the scheduler can be configured for “One-shot” operation or “Repeat Operation”. When running in “Repeat Operation” the “Repeat Period” must be configured. For non-burst distributions, the scheduler can be configured operate in either “Continuous” or “Repeat Period” modes. When running in “Repeat Period” configuration of “Duration” and “Repeat Period” is required.

get()[source]

Get the impairment scheduler configuration.

Returns:

the impairment scheduler configuration

Return type:

PED_SCHEDULE.GetDataAttr

set(duration, period)[source]

Set the impairment scheduler configuration.

Parameters:
  • duration (int) – specifies the “on” period. Units = multiples of 10 ms (range 1 to 65535), default is 1

  • period (int) – specifies the “total” period. Units = multiples of 10 ms (range 0 to 65535), default is 0

class PED_STEP[source]

Bases: object

Configuration of Step distribution (DELAY only).

Note

If the low/high is less than minimum latency, value is set to minimum latency. If the low/high is greater than maximum latency, value is set to maximum latency.

get()[source]

Get the configuration of Step distribution (DELAY only).

Returns:

the configuration of Step distribution (DELAY only)

Return type:

PED_STEP.GetDataAttr

set(low, high)[source]

Set the configuration of Step distribution (DELAY only).

Parameters:
  • low (int) – specifies the packet delay in the ‘low’ state of the step. Units = nanosecond (must be multiples of 100 ns).

  • high (int) – specifies the packet delay in the ‘high’ state of the step. Units = nanosecond (must be multiples of 100 ns).

class PED_UNI[source]

Bases: object

Configuration of Uniform distribution.

Note

If minimum is less than minimum , value is set to minimum. If minimum is greater than maximum, value is set to maximum.

get()[source]

Get the configuration of Uniform distribution.

Returns:

the configuration of Uniform distribution.

Return type:

PED_UNI.GetDataAttr

set(minimum, maximum)[source]

Set the configuration of Uniform distribution.

Parameters:
  • minimum (int) – in case of iid != DELAY, specifies the minimum no. of packets. Default value: 0 (Range 0 to 4194288). In case of iid = DELAY, specifies the minimum latency limit. Unit is nanosecond (must be multiples of 100 ns). Default value: minimum latency.

  • maximum (int) – in case of iid != DELAY, specifies the maximum no. of packets. Default value: 0 (Range 0 to 4194288). In case of iid = DELAY, specifies the maximum latency limit. Unit is nanosecond (must be multiples of 100 ns). Default value: minimum latency.