8.3.1.3. Port

This module contains the L23 port classes that deal with basic information about, and configuration of L23 test ports. The L23 port command names all have the form P_<xxx> and require a module index id and a port index id. In general, port commands cannot be changed while traffic is on. Additionally, every stream must be disabled before changing parameters that affect the bandwidth of the port.


class P_ARPREPLY[source]

Bases: object

Whether the port replies to ARP requests. The port can reply to incoming ARP requests by mapping the IP address specified for the port to the MAC address specified for the port. ARP/NDP reply generation is independent of whether traffic and capture is on for the port.

class GetDataAttr[source]

Bases: ResponseBodyStruct

on_off

coded byte, whether the port replies to ARP requests.

class SetDataAttr[source]

Bases: RequestBodyStruct

on_off

coded byte, whether the port replies to ARP requests.

get()[source]

Get the status of whether the port replies to ARP requests.

Returns:

the status of whether the port replies to ARP requests

Return type:

P_ARPREPLY.GetDataAttr

set(on_off)[source]

Set the status of whether the port replies to ARP requests.

Parameters:

on_off (OnOff) – whether the port replies to ARP requests

set_off()

Disable the port from replying to incoming ARP requests.

set_on()

Enable the port to reply to incoming ARP requests.

class P_ARPRXTABLE[source]

Bases: object

Port ARP table used to reply to incoming ARP requests.

class GetDataAttr[source]

Bases: ResponseBodyStruct

class SetDataAttr[source]

Bases: RequestBodyStruct

get()[source]

Get the port’s ARP table used to reply to incoming ARP requests.

Returns:

the port’s ARP table used to reply to incoming ARP requests. * IP address to match to the Target IP address in the ARP requests, * The prefix used for address matching, * Whether the target MAC address will be patched with the part of the IP address that is not masked by the prefix, * The target MAC address to return in the ARP reply

Return type:

P_ARPRXTABLE.GetDataAttr

set(chunks)[source]

Set the port’s ARP table used to reply to incoming ARP requests.

Parameters:

chunks (List[subtypes.ArpChunkList]) –

  • IP address to match to the Target IP address in the ARP requests

  • The prefix used for address matching

  • Whether the target MAC address will be patched with the part of the IP address that is not masked by the prefix

  • The target MAC address to return in the ARP reply

class P_ARPV6REPLY[source]

Bases: object

Whether the port generates replies using the IPv6 Network Discovery Protocol. The port can reply to incoming NDP Neighbor Solicitations by mapping the IPv6 address specified for the port to the MAC address specified for the port. NDP reply generation is independent of whether traffic and capture is on for the port.

class GetDataAttr[source]

Bases: ResponseBodyStruct

on_off

coded byte, whether the port replies to NDP Neighbor Solicitations.

class SetDataAttr[source]

Bases: RequestBodyStruct

on_off

coded byte, whether the port replies to NDP Neighbor Solicitations.

get()[source]

Get whether the port replies to NDP Neighbor Solicitations.

Returns:

whether the port replies to NDP Neighbor Solicitations.

Return type:

P_ARPV6REPLY.GetDataAttr

set(on_off)[source]

Set whether the port replies to NDP Neighbor Solicitations.

Parameters:

on_off (OnOff) – whether the port replies to NDP Neighbor Solicitations.

set_off()

Disable the port from replying to NDP Neighbor Solicitations.

set_on()

Enable the port to reply to NDP Neighbor Solicitations.

class P_AUTONEGSELECTION[source]

Bases: object

Whether the port responds to incoming auto-negotiation requests. Only applicable to electrical ports (RJ45).

class GetDataAttr[source]

Bases: ResponseBodyStruct

on_off

coded byte, whether the port replies to auto-neg requests.

class SetDataAttr[source]

Bases: RequestBodyStruct

on_off

coded byte, whether the port replies to auto-neg requests.

get()[source]

Get whether the port responds to incoming auto-negotiation requests.

Returns:

whether the port responds to incoming auto-negotiation requests

Return type:

P_AUTONEGSELECTION.GetDataAttr

set(on_off)[source]

Set whether the port responds to incoming auto-negotiation requests.

Parameters:

on_off (OnOff) – whether the port responds to incoming auto-negotiation requests

class P_AUTOTRAIN[source]

Bases: object

The interval between sending out training packets, allowing a switch to learn the port’s MAC address. Layer-2 switches configure themselves automatically by detecting the source MAC addresses of packets received on each port. If a port only receives, and does not itself transmit test traffic, then the switch will never learn its MAC address. Also, if transmission is very rare the switch will age-out the learned MAC address. By setting the auto-train interval you instruct the port to send switch training packets, independent of whether the port is transmitting test traffic.

class GetDataAttr[source]

Bases: ResponseBodyStruct

interval

integer, specifying the number of seconds between training packets. 0, disable training packets.

class SetDataAttr[source]

Bases: RequestBodyStruct

interval

integer, specifying the number of seconds between training packets. 0, disable training packets.

get()[source]

Get the interval between sending out training packets of the port in seconds.

Returns:

the interval between sending out training packets of the port.

Return type:

P_AUTOTRAIN.GetDataAttr

set(interval)[source]

Set the interval between sending out training packets of the port in seconds.

Parameters:

interval (int) – the interval between sending out training packets of the port

class P_BRRMODE[source]

Bases: object

Selects the Master/Slave setting of 100 Mbit/s, 1000 Mbit/s BroadR-Reach copper interfaces.

class GetDataAttr[source]

Bases: ResponseBodyStruct

mode

coded byte, containing the Master/Slave mode for the port.

class SetDataAttr[source]

Bases: RequestBodyStruct

mode

coded byte, containing the Master/Slave mode for the port.

get()[source]

Get the port’s BroadR-Reach mode.

Returns:

the port’s BroadR-Reach mode

Return type:

P_BRRMODE.GetDataAttr

set(mode)[source]

Set the port’s BroadR-Reach mode.

Parameters:

mode (BRRMode) – the port’s BroadR-Reach mode

set_master()

Set the port’s BRR mode to Master.

set_slave()

Set the port’s BRR mode to Slave.

class P_BRRSTATUS[source]

Bases: object

Get the actual BroadR-Reach status of the port.

class GetDataAttr[source]

Bases: ResponseBodyStruct

mode

coded byte, the port’s actual BroadR-Reach mode.

get()[source]

Get the actual BroadR-Reach status of the port.

Returns:

the actual BroadR-Reach status of the port.

Return type:

P_BRRSTATUS.GetDataAttr

class P_CAPABILITIES[source]

Bases: object

A series of integer values specifying various internal limits of a port. integer: integer, internally defined limit values.

class GetDataAttr[source]

Bases: ResponseBodyStruct

can_adv_phy_man

integer, whether supports advanced PHY management

can_auto_neg_base_r

integer, whether the port currently can perform BASE-R auto-negotiation (as opposed to RJ45 BASE-T)

can_custom_data_fields

integer, whether supports custom data fields

can_dyn_traffic_change

integer, whether supports dynamic traffic change

can_eee

integer, whether supports EEE

can_ext_payload

integer, whether supports extended payload

can_eyescan

Bit 0 ==1 => Sampled Eye Scan supported.

can_fec

bit map encoded, [0] = KR FEC, [1] = KP FEC, [2] = FC FEC, [31] = Mandatory (If this bit is set, you have to have FEC mode turned on in either of the supported mode, but you cannot turn FEC off.)

can_fec_stats

bit map encoded, can this port provide advanced FEC stats of type x? [0] = symbol error distribution

can_hw_reg_access

integer, whether supports hardware register access

integer, whether this port supports link flap

can_manipulate_preamble

integer, whether this port can manipulate the preamble

can_mdi_mdix

integer, whether supports MDI/MDIX

can_micro_tpld

integer, whether supports micro TPLD

can_payload_mode

integer, whether supports payload mode

can_pcs_pma_config

integer, whether this port can provide PCS/PMA configuration and status

can_pfc

integer, whether supports Priority Flow Control

can_pma_error_pulse

integer, whether this port supports ‘PMA pulse error injection’

can_rx_retune

integer, whether supports RX retuning

can_set_autoneg

integer, whether supports auto negotiation

integer, whether this port can set link training

can_sync_traffic_start

integer, whether supports synchronized traffic start

can_tcp_checksum

integer, whether supports TCP with valid checksum

can_tcvr_mii_reg_access

integer, whether supports transceiver MII access

can_tx_eq

integer, whether supports TX EQ settings

can_udp_checksum

integer, whether supports UDP with valid checksum

fec_engines

The number of FEC engines available

has_p2p_loop_partner

integer, whether this port currently has a port-to-port loop partner

is_chimera

integer, whether this is a Chimera port

lane_count

integer, number of lanes (virtual)

latency_histogram_step_max

maximum step size for latency histograms.

latency_histogram_step_min

minimum step size for latency histograms.

layer1_misc
  • Bit 0: Can IEEE variant

  • Bit 1: Can ETC (Ethernet Consortium) PCS variant

  • Bit 2: Can monitor PCS RX Lane Map

  • Bit 3: Can control PCS TX Lane Map

  • Bit 4: Can monitor PCS RX Lane Skew

  • Bit 5: Can control PCS TX Lane Skew

  • Bit 6: Can FEC error injection

length_histogram_step_max

maximum step size for length histograms.

length_histogram_step_min

minimum step size for length histograms.

max_32bit_modifiers

integer, max 32-bit modifiers per stream

max_burst_size

integer, max packets per burst

max_captured_packets

integer, max captured packets at one time

max_fec_correctable_symbol_count

integer, max number of symbols correctable by the current FEC

max_filters

integer, max filters per port

max_header_length

integer, max bytes in auto-generated packet header

max_histogram

integer, max number of sampled histograms

max_i2c_frequency

maximum I2C frequency

max_interframe_gap

integer, max explicit bytes between frames

max_length_terms

integer, max filter length terms per port

max_manual_packets

integer, max manual packets

max_match_term_pos

integer, max match term position in bytes

max_match_terms

integer, max filter match terms per port

max_mbps

integer, max input rate in mbps

max_modifier_bytes

integer, max bytes in modified field

max_modifiers

integer, max 16-bit modifiers per stream

max_nots

integer, max or-terms with nots per filter

max_ors

integer, max or-terms per filter

max_packet_length

integer, max bytes in total packet

max_pattern_length

integer, max bytes in repeating payload pattern

max_percent

integer, max input rate in percent

max_pps

integer, max input rate in pps

max_preamble

integer, max preamble bytes included in frame

max_protocol_segments

integer, max number of protocol segments

max_repeat

integer, max packet repeats for modifier

max_seed

integer, max random seed

max_speed

integer, max wire speed in Mbps, for fastest transceiver and mode

max_speed_reduction

integer, max ppm value of speed reduction

max_streams_per_port

integer, max streams per port

max_tpid

integer, max test payload id

max_tpld_stats

integer, max number of different tplds for rx statistics

max_tx_packet_limit

integer, max stop-after-n-packet limitation

max_xmit_one_packet_length

integer, maximum size (in bytes) of packets, which can be sent using xmitone (replay/streaming interface)

min_i2c_frequency

minimum I2C frequency

min_interframe_gap

integer, min bytes between frames

min_packet_length

integer, min bytes in total packet

p2p_loop_partner

integer, The port-to-port loop partner for the port. N/A = -1.

prbs_inversions_supported

bit map encoded, [0] = lane-based supports inv, [1] = PHY-based supports inv, [2-31] = reserved

prbs_polys_supported

5 integers, bit map for each PRBS type (above). [0] = PRBS7, [1] = PRBS9, [2] = PRBS11, [3] = PRBS15, [4] = PRBS23, [5] = PRBS31, [6] = PRBS58, [7] = PRBS49, [8] = PRBS10, [9] = PRBS20, [10] = PRBS13

prbs_types_supported

bit map encoded, [0] = lane-based, [1] = PHY-based, [2-31] = reserved

reconc_sublayer

integer, Reconciliation Sublayer support, bitmask, 0 = fault signalling not support; 1 = fault signalling supported (XMP: P_FAULTSTATUS/P_FAULTSIGNALING)

reserved_max_1

Reserved.

reserved_max_2

Reserved.

reserved_max_3

Reserved.

reserved_max_4

Reserved.

reserved_max_5

Reserved.

reserved_max_6

Reserved.

reserved_max_7

Reserved.

reserved_max_8

Reserved.

reserved_min_1

Reserved.

reserved_min_2

Reserved.

reserved_min_3

Reserved.

reserved_min_4

Reserved.

reserved_min_5

Reserved.

reserved_min_6

Reserved.

reserved_min_7

Reserved.

reserved_min_8

Reserved.

rx_runt_packet_min_length

integer, minimum RX packet size supported by runt block. Zero = not supported

rxeq_cap_agc_max

max value of Automatic Gain Control.

rxeq_cap_agc_min

min value of Automatic Gain Control.

rxeq_cap_cdr_max

max value of CDR, always 0.

rxeq_cap_cdr_min

min value of CDR, always 0.

rxeq_cap_ctle_high_max

max value of CTLE HIGH.

rxeq_cap_ctle_high_min

min value of CTLE HIGH.

rxeq_cap_ctle_low_max

max value of CTLE LOW.

rxeq_cap_ctle_low_min

min value of CTLE LOW.

rxeq_cap_dfe_max

max value of DFE, always 0.

rxeq_cap_dfe_min

min value of DFE, always 0.

rxeq_cap_ffe_post10_max

max value of FFE Post 10.

rxeq_cap_ffe_post10_min

min value of FFE Post 10.

rxeq_cap_ffe_post11_max

max value of FFE Post 11.

rxeq_cap_ffe_post11_min

min value of FFE Post 11.

rxeq_cap_ffe_post12_max

max value of FFE Post 12.

rxeq_cap_ffe_post12_min

min value of FFE Post 12.

rxeq_cap_ffe_post13_max

max value of FFE Post 13.

rxeq_cap_ffe_post13_min

min value of FFE Post 13.

rxeq_cap_ffe_post14_max

max value of FFE Post 14.

rxeq_cap_ffe_post14_min

min value of FFE Post 14.

rxeq_cap_ffe_post15_max

max value of FFE Post 15.

rxeq_cap_ffe_post15_min

min value of FFE Post 15.

rxeq_cap_ffe_post16_max

max value of FFE Post 16.

rxeq_cap_ffe_post16_min

min value of FFE Post 16.

rxeq_cap_ffe_post17_max

max value of FFE Post 17.

rxeq_cap_ffe_post17_min

min value of FFE Post 17.

rxeq_cap_ffe_post18_max

max value of FFE Post 18.

rxeq_cap_ffe_post18_min

min value of FFE Post 18.

rxeq_cap_ffe_post19_max

max value of FFE Post 19.

rxeq_cap_ffe_post19_min

min value of FFE Post 19.

rxeq_cap_ffe_post1_max

max value of FFE Post 1.

rxeq_cap_ffe_post1_min

min value of FFE Post 1.

rxeq_cap_ffe_post20_max

max value of FFE Post 20.

rxeq_cap_ffe_post20_min

min value of FFE Post 20.

rxeq_cap_ffe_post21_max

max value of FFE Post 21.

rxeq_cap_ffe_post21_min

min value of FFE Post 21.

rxeq_cap_ffe_post22_max

max value of FFE Post 22.

rxeq_cap_ffe_post22_min

min value of FFE Post 22.

rxeq_cap_ffe_post23_max

max value of FFE Post 23.

rxeq_cap_ffe_post23_min

min value of FFE Post 23.

rxeq_cap_ffe_post2_max

max value of FFE Post 2.

rxeq_cap_ffe_post2_min

min value of FFE Post 2.

rxeq_cap_ffe_post3_max

max value of FFE Post 3.

rxeq_cap_ffe_post3_min

min value of FFE Post 3.

rxeq_cap_ffe_post4_max

max value of FFE Post 4.

rxeq_cap_ffe_post4_min

min value of FFE Post 4.

rxeq_cap_ffe_post5_max

max value of FFE Post 5.

rxeq_cap_ffe_post5_min

min value of FFE Post 5.

rxeq_cap_ffe_post6_max

max value of FFE Post 6.

rxeq_cap_ffe_post6_min

min value of FFE Post 6.

rxeq_cap_ffe_post7_max

max value of FFE Post 7.

rxeq_cap_ffe_post7_min

min value of FFE Post 7.

rxeq_cap_ffe_post8_max

max value of FFE Post 8.

rxeq_cap_ffe_post8_min

min value of FFE Post 8.

rxeq_cap_ffe_post9_max

max value of FFE Post 9.

rxeq_cap_ffe_post9_min

min value of FFE Post 9.

rxeq_cap_ffe_pre1_max

max value of FFE Pre 1.

rxeq_cap_ffe_pre1_min

min value of FFE Pre 1.

rxeq_cap_ffe_pre2_max

max value of FFE Pre 2.

rxeq_cap_ffe_pre2_min

min value of FFE Pre 2.

rxeq_cap_ffe_pre3_max

max value of FFE Pre 3.

rxeq_cap_ffe_pre3_min

min value of FFE Pre 3.

rxeq_cap_ffe_pre4_max

max value of FFE Pre 4.

rxeq_cap_ffe_pre4_min

min value of FFE Pre 4.

rxeq_cap_ffe_pre5_max

max value of FFE Pre 5.

rxeq_cap_ffe_pre5_min

min value of FFE Pre 5.

rxeq_cap_ffe_pre6_max

max value of FFE Pre 6.

rxeq_cap_ffe_pre6_min

min value of FFE Pre 6.

rxeq_cap_ffe_pre7_max

max value of FFE Pre 7.

rxeq_cap_ffe_pre7_min

min value of FFE Pre 7.

rxeq_cap_ffe_pre8_max

max value of FFE Pre 8.

rxeq_cap_ffe_pre8_min

min value of FFE Pre 8.

rxeq_cap_oc_max

max value of Offset Cancellation.

rxeq_cap_oc_min

min value of Offset Cancellation.

serdes_count

integer, number of physical serdes on line-side

stream_misc

integer, bit pattern, what streams on this port can do. [0]: Whether the port supports streams with DEC8/INC16/DEC16 payload. [1]: Whether the port supports INCPLDFROM0 stream option (refer to the PS_OPTIONS command).

traffic_engine

integer, Enabled traffic engine on port. 0x01 = TGA, 0x02 = uTGA.

tx_eq_tap_count

integer, number of TXEQ taps

tx_eq_tap_max_val

10 integers, max-value of individual TXEQ taps

tx_eq_tap_min_val

10 integers, min-value of individual TXEQ taps

tx_runt_packet_min_length

integer, minimum TX packet size supported by runt block. Zero = not supported

get()[source]

Get the internal limits, aka. capabilities, of the port.

Returns:

the internal limits, aka. capabilities, of the port.

Return type:

P_CAPABILITIES.GetDataAttr

class P_CAPABILITIES_EXT[source]

Bases: object

Get the Port Capabilities in JSON Format. The same as P_CAPABILITIES but in JSON.

class GetDataAttr[source]

Bases: ResponseBodyStruct

data

string, containing the port capabilities in JSON format

get()[source]

Get the port capabilities in JSON Format

Returns:

The Port capabilities in JSON String

Return type:

P_CAPABILITIES_EXT.GetDataAttr

class P_CAPTURE[source]

Bases: object

Whether a port is capturing packets. When on, the port retains the received packets and makes them available for inspection. The capture criteria are configured using the PC_xxx parameters. While capture is on the capture parameters cannot be changed.

class GetDataAttr[source]

Bases: ResponseBodyStruct

on_off

coded byte, whether capture is active for this port.

class SetDataAttr[source]

Bases: RequestBodyStruct

on_off

coded byte, whether capture is active for this port.

get()[source]

Get whether the port is capturing packets.

Returns:

whether the port is capturing packets.

Return type:

P_CAPTURE.GetDataAttr

set(on_off)[source]

Set whether the port is capturing packets.

Parameters:

on_off (StartOrStop) – whether the port is capturing packets.

set_start()

Start packet capturing on the port.

set_stop()

Stop packet capturing on the port.

class P_CHECKSUM[source]

Bases: object

Controls an extra payload integrity checksum, which also covers the header protocols following the Ethernet header. It will therefore catch any modifications to the protocol fields (which should therefore not have modifiers on them).

class GetDataAttr[source]

Bases: ResponseBodyStruct

offset

byte, the offset in the packet where the calculation of the extra checksum is started from. Set to OFF or 0 to disable. Valid enable range is [8 .. 127, ON]. Please observe that ON equals the value 14. Please also observe that P_CHECKSUM ? will return OFF if set to 0 (or OFF) and that P_CHECKSUM ? will return ON if set to 14 (or ON).

class SetDataAttr[source]

Bases: RequestBodyStruct

offset

byte, the offset in the packet where the calculation of the extra checksum is started from. Set to OFF or 0 to disable. Valid enable range is [8 .. 127]. Please observe that ON equals the value 14. Please also observe that P_CHECKSUM ? will return OFF if set to 0 (or OFF) and that P_CHECKSUM ? will return ON if set to 14 (or ON).

get()[source]

Get the offset in the packet where the calculation of the extra checksum is started from. Set to OFF or 0 to disable. Valid enable range is [8 .. 127, ON]. Please observe that ON equals the value 14. Please also observe that P_CHECKSUM ? will return OFF if set to 0 (or OFF) and that P_CHECKSUM ? will return ON if set to 14 (or ON).

Returns:

the offset in the packet where the calculation of the extra checksum is started from

Return type:

P_CHECKSUM.GetDataAttr

set(offset)[source]

Set the offset in the packet where the calculation of the extra checksum is started from. Set to OFF or 0 to disable. Valid enable range is [8 .. 127, ON]. Please observe that ON equals the value 14. Please also observe that P_CHECKSUM ? will return OFF if set to 0 (or OFF) and that P_CHECKSUM ? will return ON if set to 14 (or ON).

Parameters:

offset (int) – the offset in the packet where the calculation of the extra checksum is started from

set_off()

Set port’s payload checksum off (offset = 0).

set_on()

Set port’s payload checksum on (offset = 14).

class P_COMMENT[source]

Bases: object

The description of a port.

class GetDataAttr[source]

Bases: ResponseBodyStruct

comment

string, containing the description of the port.

class SetDataAttr[source]

Bases: RequestBodyStruct

comment

string, containing the description of the port.

get()[source]

Get the description of the port.

Returns:

the description of the port

Return type:

P_COMMENT.GetDataAttr

set(comment)[source]

Set the description of the port.

Parameters:

comment (str) – the description of the port

class P_DYNAMIC[source]

Bases: object

Controls if a >10G port supports dynamic changes when the traffic is running. This command is only supported by ports >10G.

class GetDataAttr[source]

Bases: ResponseBodyStruct

on_off

coded byte, whether dynamic traffic change is enabled.

class SetDataAttr[source]

Bases: RequestBodyStruct

on_off

coded byte, whether dynamic traffic change is enabled.

get()[source]

Get whether the port should support dynamic changes when the traffic is running.

Returns:

whether the port should support dynamic changes when the traffic is running.

Return type:

P_DYNAMIC.GetDataAttr

set(on_off)[source]

Set whether the port should support dynamic changes when the traffic is running.

Parameters:

on_off (OnOff) – whether the port should support dynamic changes when the traffic is running

set_off()

Disable dynamic traffic change on the port.

set_on()

Enable dynamic traffic change on the port.

class P_ERRORS[source]

Bases: object

Obtains the total number of errors detected across all streams on the port, including lost packets, misorder events, and payload errors.

Note

FCS errors are included, which will typically lead to double-counting of lost packets.

class GetDataAttr[source]

Bases: ResponseBodyStruct

error_count

list of long integers, the total number of errors across all streams, and including FCS errors.

get()[source]

Get the total number of errors detected across all streams on the port, including lost packets, misorder events, and payload errors.

Returns:

the total number of errors detected across all streams on the port, including lost packets, misorder events, and payload errors

Return type:

P_ERRORS.GetDataAttr

class P_FAULTSIGNALING[source]

Bases: object

Sets the remote/local fault signaling behavior of the port (performed by the Reconciliation Sub-layer). By default, the port acts according to the standard, i.e. when receiving a bad signal, it transmits “Remote Fault indications”on the output and when receiving a “Remote Fault indication”from the far-side it will transmit IDLE sequences.

class GetDataAttr[source]

Bases: ResponseBodyStruct

fault_signaling

coded byte, specifying remote/local fault signaling behavior of the port.

class SetDataAttr[source]

Bases: RequestBodyStruct

fault_signaling

coded byte, specifying remote/local fault signaling behavior of the port.

get()[source]

Get the remote/local fault signaling behavior of the port (performed by the Reconciliation Sub-layer).

Returns:

remote/local fault signaling behavior of the port

Return type:

P_FAULTSIGNALING.GetDataAttr

set(fault_signaling)[source]

Set the remote/local fault signaling behavior of the port (performed by the Reconciliation Sub-layer).

Parameters:

fault_signaling (FaultSignaling) – remote/local fault signaling behavior of the port

set_disabled()

Disable the remote/local fault signaling behavior of the port.

set_force_local()

Set the remote/local fault signaling behavior of the port to Forced Local.

set_force_remote()

Set the remote/local fault signaling behavior of the port to Forced Remote.

set_normal()

Set the remote/local fault signaling behavior of the port to Normal.

class P_FAULTSTATUS[source]

Bases: object

Shows if a local or remote fault is currently being detected by the Reconciliation Sub-layer of the port.

class GetDataAttr[source]

Bases: ResponseBodyStruct

local_fault_status

coded byte, specifying the local fault.

remote_fault_status

coded byte, specifying the remote fault.

get()[source]

Get whether a local or remote fault is currently being detected by the Reconciliation Sub-layer of the port.

Returns:

whether a local or remote fault is currently being detected. * specifying the local fault * specifying the remote fault

Return type:

P_FAULTSTATUS.GetDataAttr

class P_FLASH[source]

Bases: object

Make the test port LED for a particular port flash on and off with a 1-second interval. This is helpful when you need to identify a specific port within a chassis.

class GetDataAttr[source]

Bases: ResponseBodyStruct

on_off

coded byte, whether the test port LED is blinking.

class SetDataAttr[source]

Bases: RequestBodyStruct

on_off

coded byte, whether the test port LED is blinking.

get()[source]

Get the status of the LED flashing status of the port.

Returns:

the status of the LED flashing status of the port.

Return type:

P_FLASH.GetDataAttr

set(on_off)[source]

Set the status of the LED flashing status of the port.

Parameters:

on_off (OnOff) – the status of the LED flashing status of the port.

set_off()

Disable port LED from flashing.

set_on()

Enable port LED to flash.

class P_GAPMONITOR[source]

Bases: object

The gap-start and gap-stop criteria for the port’s gap monitor. The gap monitor expects a steady stream of incoming packets, and detects larger-than-allowed gaps between them. Once a gap event is encountered it requires a certain number of consecutive packets below the threshold to end the event.

class GetDataAttr[source]

Bases: ResponseBodyStruct

start

integer, the maximum allowed gap between packets, in microseconds. (0 to 134.000 microseconds) 0 = disable gap monitor.

stop

integer, the minimum number of good packets required. (0 to 1024 packets) 0 = disable gap monitor.

class SetDataAttr[source]

Bases: RequestBodyStruct

start

integer, the maximum allowed gap between packets, in microseconds. (0 to 134.000 microseconds) 0 = disable gap monitor.

stop

integer, the minimum number of good packets required. (0 to 1024 packets) 0 = disable gap monitor.

get()[source]

Get the gap-start and gap-stop criteria for the port’s gap monitor.

Returns:

the gap-start and gap-stop criteria for the port’s gap monitor

Return type:

P_GAPMONITOR.GetDataAttr

set(start, stop)[source]

Set the gap-start and gap-stop criteria for the port’s gap monitor. :param start: the maximum allowed gap between packets, in microseconds. (0 to 134.000 microseconds) 0 = disable gap monitor :type start: int :param stop: the minimum number of good packets required. (0 to 1024 packets) 0 = disable gap monitor :type stop: int

class P_IGMPV3_GROUP_RECORD_BUNDLE[source]

Bases: object

Configure if a single membership report bundles multiple multicast group records to decrease the number of packets sent when using IGMPv3. This command returns <NOTVALID> when the IGMP version is not IGMPv3.

class GetDataAttr[source]

Bases: ResponseBodyStruct

mode

byte, if a single membership report bundles multiple multicast group records to decrease the number of packets sent when using IGMPv3.

class SetDataAttr[source]

Bases: RequestBodyStruct

mode

byte, if a single membership report bundles multiple multicast group records to decrease the number of packets sent when using IGMPv3.

get()[source]

Get the mode of IGMPV3 group record bundle.

Returns:

the mode of IGMPV3 group record bundle.

Return type:

P_IGMPV3_GROUP_RECORD_BUNDLE.GetDataAttr

set(mode)[source]

Set the mode of IGMPV3 group record bundle.

Parameters:

mode – the mode of IGMPV3 group record bundle

Type:

OnOff

class P_INTERFACE[source]

Bases: object

Obtains the name of the physical interface type of a port.

class GetDataAttr[source]

Bases: ResponseBodyStruct

interface

string, describing the interface type.

get()[source]

Get the name of the physical interface type of a port.

Returns:

the name of the physical interface type of a port.

Return type:

P_INTERFACE.GetDataAttr

class P_INTERFRAMEGAP[source]

Bases: object

The minimum gap between packets in the traffic generated for a port. The gap includes the Ethernet preamble.

class GetDataAttr[source]

Bases: ResponseBodyStruct

min_byte_count

integer, specifying the minimum number of byte-times between generated packets.

class SetDataAttr[source]

Bases: RequestBodyStruct

min_byte_count

integer, specifying the minimum number of byte-times between generated packets.

get()[source]

Get the minimum gap between packets in the traffic generated for a port. The gap includes the Ethernet preamble.

Returns:

the minimum gap between packets in the traffic generated for a port. The gap includes the Ethernet preamble.

Return type:

P_INTERFRAMEGAP.GetDataAttr

set(min_byte_count)[source]

Set the minimum gap between packets in the traffic generated for a port. The gap includes the Ethernet preamble.

Parameters:

min_byte_count (int) – the minimum gap between packets in the traffic generated for a port. The gap includes the Ethernet preamble.

class P_IPADDRESS[source]

Bases: object

An IPv4 network configuration specified for a port. The address is used as the default source address field in the IP header of generated traffic, and the configuration is also used for support of the ARP and PING protocols.

class GetDataAttr[source]

Bases: ResponseBodyStruct

gateway

address, the gateway of the local network segment for the port.

ipv4_address

address, the IP address of the port.

subnet_mask

address, the subnet mask of the local network segment for the port.

wild

address, wildcards used for ARP and PING replies, and each byte must be 255 (0xFF) or 0 (0x00).

class SetDataAttr[source]

Bases: RequestBodyStruct

gateway

address, the gateway of the local network segment for the port.

ipv4_address

address, the IP address of the port.

subnet_mask

address, the subnet mask of the local network segment for the port.

wild

address, wildcards used for ARP and PING replies, must be 255 or 0.

get()[source]

Get the IPv4 address, subnet mask, gateway address and wildcard used for ARP and PING replies of the port.

Returns:

the IPv4 address, subnet mask, gateway address and wildcard used for ARP and PING replies of the port

Return type:

P_IPADDRESS.GetDataAttr

set(ipv4_address, subnet_mask, gateway, wild)[source]

Set the IPv4 address, subnet mask, gateway address and wildcard used for ARP and PING replies of the port.

Parameters:
class P_IPV6ADDRESS[source]

Bases: object

An IPv6 network configuration specified for a port. The address is used as the default source address field in the IP header of generated traffic, and the configuration is also used for support of the NDP and PINGv6 protocols.

class GetDataAttr[source]

Bases: ResponseBodyStruct

gateway

address, the gateway of the local network segment for the port.

ipv6_address

address, the IPv6 address of the port.

subnet_prefix

byte, the subnet prefix of the local network segment for the port.

wildcard_prefix

byte, a prefix that makes the port replies to NDP/PING for the masked addresses, valid value 0-255

class SetDataAttr[source]

Bases: RequestBodyStruct

gateway

address, the gateway of the local network segment for the port.

ipv6_address

address, the IPv6 address of the port.

subnet_prefix

byte, the subnet prefix of the local network segment for the port.

wildcard_prefix

byte, a prefix that makes the port replies to NDP/PING for the masked addresses, valid value 0-255

get()[source]

Get the port’s IPv6 address settings.

Returns:

the port’s IPv6 address settings

Return type:

P_IPV6ADDRESS.GetDataAttr

set(ipv6_address, gateway, subnet_prefix, wildcard_prefix)[source]

Set the port’s IPv6 settings.

Parameters:
  • ipv6_address (Union[str, int, ipaddress.IPv6Address]) – the IPv6 address of the port

  • gateway (Union[str, int, ipaddress.IPv6Address]) – the gateway of the local network segment for the port

  • subnet_prefix (int) – the subnet prefix of the local network segment for the port

  • wildcard_prefix (int) – a prefix that makes the port replies to NDP/PING for the masked addresses, valid value 0-255

class P_LATENCYMODE[source]

Bases: object

Latency is measured by inserting a time-stamp in each packet when it is transmitted, and relating it to the time when the packet is received. There are four separate modes for calculating the latency:

  1. Last-bit-out to last-bit-in, which measures basic bit-transit time, independent of packet length.

  2. First-bit-out to last-bit-in, which adds the time taken to transmit the packet itself.

  3. Last-bit-out to first-bit-in, which subtracts the time taken to transmit the packet itself. The same latency mode must be configured for the transmitting port and the receiving port; otherwise invalid measurements will occur.

  4. First-bit-out to first-bit-in, which adds the time taken to transmit the packet itself, and subtracts the time taken to transmit the packet itself. The same latency mode must be configured for the transmitting port and the receiving port; otherwise invalid measurements will occur.

class GetDataAttr[source]

Bases: ResponseBodyStruct

mode

coded byte, which calculation mode to use.

class SetDataAttr[source]

Bases: RequestBodyStruct

mode

coded byte, which calculation mode to use.

get()[source]

Get the latency measurement mode of the port.

Returns:

the latency measurement mode of the port

Return type:

P_LATENCYMODE.GetDataAttr

set(mode)[source]

Set the latency measurement mode of the port.

Parameters:

mode (LatencyMode) – the latency measurement mode of the port

set_first2first()

Set the port latency mode to FIRST2FIRST (First-bit-out to first-bit-in, which adds the time taken to transmit the packet itself, and subtracts the time taken to transmit the packet itself. The same latency mode must be configured for the transmitting port and the receiving port; otherwise invalid measurements will occur).

set_first2last()

Set the port latency mode to FIRST2LAST (First-bit-out to last-bit-in, which adds the time taken to transmit the packet itself).

set_last2first()

Set the port latency mode to LAST2FIRST (Last-bit-out to first-bit-in, which subtracts the time taken to transmit the packet itself. The same latency mode must be configured for the transmitting port and the receiving port; otherwise invalid measurements will occur).

set_last2last()

Set the port latency mode to LAST2LAST (Last-bit-out to last-bit-in, which measures basic bit-transit time, independent of packet length).

class P_LATENCYOFFSET[source]

Bases: object

An offset applied to the latency measurements performed for received traffic containing test payloads. This value affects the minimum, average, and maximum latency values obtained through the PR_TPLDLATENCY command.

class GetDataAttr[source]

Bases: ResponseBodyStruct

offset

integer, specifying the offset for the latency measurements.

class SetDataAttr[source]

Bases: RequestBodyStruct

offset

integer, specifying the offset for the latency measurements.

get()[source]

Get the port latency offset value in nanoseconds.

Returns:

the port latency offset value in nanoseconds

Return type:

P_LATENCYOFFSET.GetDataAttr

set(offset)[source]

Set the port latency offset value in nanoseconds.

Parameters:

offset (int) – the port latency offset value in nanoseconds

class P_LOOPBACK[source]

Bases: object

The loopback mode for a port. Ports can be configured to perform two different kinds of loopback: 1) External RX-to-TX loopback, where the received packets are re-transmitted immediately. The packets are still processed by the receive logic, and can be captured and analyzed. 2) Internal TX-to-RX loopback, where the transmitted packets are received directly by the port itself. This is mainly useful for testing the generated traffic patterns before actual use.

class GetDataAttr[source]

Bases: ResponseBodyStruct

mode

coded byte, specifying the loopback mode of the port.

class SetDataAttr[source]

Bases: RequestBodyStruct

mode

coded byte, specifying the loopback mode of the port.

get()[source]

Get the loop back mode of the port.

Returns:

the loop back mode of the port.

Return type:

P_LOOPBACK.GetDataAttr

set(mode)[source]

Set the loop back mode of the port.

Parameters:

mode (LoopbackMode) – the loop back mode of the port

set_l1rx2tx()

Set the port loop back mode to L1RX2TX, transmit byte-by-byte copy of the incoming packet.

set_l2rx2tx()

Set the port loop back mode to L2RX2TX, swap source and destination MAC addresses.

set_l3rx2tx()

Set the port loop back mode to L3RX2TX, swap source and destination MAC addresses and swap source and destination IP addresses.

set_none()

Set the port loop back mode to non-looped.

set_port2port()

Set the port loop back mode to PORT2PORT, packets received on one port is sent out again on the neighbor port for inline monitoring.

set_txoff2rx()

Set the port loop back mode to TXOFF2RX, port transmitter is off.

set_txon2rx()

Set the port loop back mode to TXON2RX, packet is also transmitted from the port.

class P_LPENABLE[source]

Bases: object

Enables/disables Energy Efficient Ethernet (EEE) on the port.

class GetDataAttr[source]

Bases: ResponseBodyStruct

on_off

coded byte, whether the EEE feature is activated or not.

class SetDataAttr[source]

Bases: RequestBodyStruct

on_off

coded byte, whether the EEE feature is activated or not.

get()[source]

Get whether Energy Efficient Ethernet (EEE) is enabled on the port.

Returns:

whether Energy Efficient Ethernet (EEE) is enabled on the port

Return type:

P_LPENABLE.GetDataAttr

set(on_off)[source]

Set whether Energy Efficient Ethernet (EEE) is enabled on the port.

Parameters:

on_off (OnOff) – whether Energy Efficient Ethernet (EEE) is enabled on the port

set_off()

Disable Energy Efficient Ethernet (EEE) on the port.

set_on()

Enable Energy Efficient Ethernet (EEE) on the port.

class P_LPPARTNERAUTONEG[source]

Bases: object

Displays the EEE capabilities advertised during auto-negotiation by the far side (link partner).

class GetDataAttr[source]

Bases: ResponseBodyStruct

cap_1000base_t

coded byte. specifying whether the link partner is capable of 1000BASE-T.

cap_100base_kx

coded byte. specifying whether the link partner is capable of 100BASE-KX.

cap_100base_tx

coded byte, specifying whether the link partner is capable of 100BASE-TX.

cap_10gbase_kr

coded byte. specifying whether the link partner is capable of 10GBASE-KR.

cap_10gbase_kx4

coded byte. specifying whether the link partner is capable of 10GBASE-KX4.

cap_10gbase_t

coded byte. specifying whether the link partner is capable of 10GBASE-T.

get()[source]
Get the the Energy Efficient Ethernet (EEE) capabilities advertised during auto-negotiation by the far side (link partner).
  • whether the link partner is capable of 100BASE-TX

  • whether the link partner is capable of 1000BASE-T

  • whether the link partner is capable of 10GBASE-T

  • whether the link partner is capable of 100BASE-KX

  • whether the link partner is capable of 10GBASE-KX4

  • whether the link partner is capable of 10GBASE-KR

Returns:

the the Energy Efficient Ethernet (EEE) capabilities advertised during auto-negotiation by the far side (link partner)

Return type:

P_LPPARTNERAUTONEG.GetDataAttr

class P_LPRXPOWER[source]

Bases: object

Obtain the RX power recorded during training for the four channels.

class GetDataAttr[source]

Bases: ResponseBodyStruct

channel_a

integer, the RX power on link channel A.

channel_b

integer, the RX power on link channel B.

channel_c

integer, the RX power on link channel C.

channel_d

integer, the RX power on link channel D.

get()[source]

Get the the RX power recorded during training for the four channels.

Returns:

the the RX power recorded during training for the four channels * the RX power on link channel A * the RX power on link channel B * the RX power on link channel C * the RX power on link channel D

Return type:

P_LPRXPOWER.GetDataAttr

class P_LPSNRMARGIN[source]

Bases: object

Displays the SNR margin on the four link channels (Channel A-D) as reported by the PHY. It is displayed in units of 0.1dB.

class GetDataAttr[source]

Bases: ResponseBodyStruct

channel_a

integer, the SNR margin on link channel A.

channel_b

integer, the SNR margin on link channel B.

channel_c

integer, the SNR margin on link channel C.

channel_d

integer, the SNR margin on link channel D.

get()[source]
Get the SNR margin on the four link channels (Channel A-D) as reported by the PHY. It is displayed in units of 0.1dB.
  • the SNR margin on link channel A

  • the SNR margin on link channel B

  • the SNR margin on link channel C

  • the SNR margin on link channel D

Returns:

the SNR margin on the four link channels (Channel A-D) as reported by the PHY. It is displayed in units of 0.1dB

Return type:

P_LPSNRMARGIN.GetDataAttr

class P_LPSTATUS[source]

Bases: object

Displays the Energy Efficient Ethernet (EEE) status as reported by the PHY.

class GetDataAttr[source]

Bases: ResponseBodyStruct

shows if the link is up (seen from perspective of the the PHY’s PCS).

rxc

shows the current EEE state of the receiver (in low power or active).

rxh

shows if there has been any recent change in the EEE state on the receiver side (either going into low power mode or leaving low power mode.

txc

shows the current EEE state of the transmitter (in low power or active)

txh

coded bytes, shows if there has been any recent change in the EEE state on the transmission side (either going into low power mode or leaving low power mode.

get()[source]
Get the the Energy Efficient Ethernet (EEE) status as reported by the PHY.
  • if there has been any recent change in the EEE state on the transmission side

  • if there has been any recent change in the EEE state on the receiver side

  • the current EEE state of the transmitter

  • the current EEE state of the receiver

  • if the link is up

Returns:

the the Energy Efficient Ethernet (EEE) status

Return type:

P_LPSTATUS.GetDataAttr

class P_LPSUPPORT[source]

Bases: object

Read EEE capabilities of the port (variable size, one for each supported speed, returns 0s if no EEE).

class GetDataAttr[source]

Bases: ResponseBodyStruct

eee_capabilities

list of integers,EEE capabilities of the port.

get()[source]

Get the EEE capabilities of the port (variable size, one for each supported speed, returns 0s if no EEE).

Returns:

the EEE capabilities of the port (variable size, one for each supported speed, returns 0s if no EEE).

Return type:

P_LPSUPPORT.GetDataAttr

class P_LPTXMODE[source]

Bases: object

Enables/disables the transmission of Low Power Idles (LPIs) on the port. When enabled, the transmit side of the port will automatically enter low-power mode (and leave) low-power mode in periods of low or no traffic. LPIs will only be transmitted if the Link Partner (receiving port) has advertised EEE capability for the selected port speed during EEE auto-negotiation.

class GetDataAttr[source]

Bases: ResponseBodyStruct

on_off

coded byte, whether low power idles will be transmitted or not. OFF (0) ON (1)

class SetDataAttr[source]

Bases: RequestBodyStruct

on_off

coded byte, whether low power idles will be transmitted or not. OFF (0) ON (1)

get()[source]

Get whether the transmission of Low Power Idles (LPIs) is enabled on the port.

Returns:

whether the transmission of Low Power Idles (LPIs) is enabled on the port

Return type:

P_LPTXMODE.GetDataAttr

set(on_off)[source]

Set whether the transmission of Low Power Idles (LPIs) is enabled on the port.

Parameters:

on_off (OnOff) – whether the transmission of Low Power Idles (LPIs) is enabled on the port

set_off()

Disable the transmission of Low Power Idles (LPIs) on the port.

set_on()

Enable the transmission of Low Power Idles (LPIs) on the port.

class P_MACADDRESS[source]

Bases: object

A 48-bit Ethernet MAC address specified for a port. This address is used as the default source MAC field in the header of generated traffic for the port, and is also used for support of the ARP protocol.

class GetDataAttr[source]

Bases: ResponseBodyStruct

mac_address

six hex bytes, specifying the six bytes of the MAC address.

class SetDataAttr[source]

Bases: RequestBodyStruct

mac_address

six hex bytes, specifying the six bytes of the MAC address.

get()[source]

Get the MAC address of the port.

Returns:

the MAC address of the port.

Return type:

P_MACADDRESS.GetDataAttr

set(mac_address)[source]

Set the MAC address of the port.

Parameters:

mac_address (Hex) – the MAC address of the port

class P_MAXHEADERLENGTH[source]

Bases: object

The maximum number of header content bytes that can be freely specified for each generated stream. The remaining payload bytes of the packet are auto-generated.The default is 128 bytes. When a larger number is select there is a corresponding proportional reduction in the number of stream definitions that are available for the port. Possible values: 128 (default), 256, 512, 1024, 2048.

class GetDataAttr[source]

Bases: ResponseBodyStruct

max_header_length

integer, specifying the maximum number of header bytes.

class SetDataAttr[source]

Bases: RequestBodyStruct

max_header_length

integer, specifying the maximum number of header bytes.

get()[source]

Get the maximum number of header content bytes that can be freely specified for each generated stream on the port.

Returns:

the maximum number of header content bytes that can be freely specified for each generated stream on the port

Return type:

P_MAXHEADERLENGTH.GetDataAttr

set(max_header_length)[source]

Set the maximum number of header content bytes that can be freely specified for each generated stream on the port. Possible values: 128 (default), 256, 512, 1024, 2048.

Parameters:

max_header_length (int) – the maximum number of header content bytes that can be freely specified for each generated stream on the port

class P_MCSRCLIST[source]

Bases: object

Multicast source list of the port. Only valid if the IGMP protocol version is IGMPv3 set by P_MULTICASTEXT.

class GetDataAttr[source]

Bases: ResponseBodyStruct

ipv4_addresses

list of addresses, multicast source list addresses (max 8) in Group Record field of the IGMPv3 membership report packet.

class SetDataAttr[source]

Bases: RequestBodyStruct

ipv4_addresses

list of addresses, multicast source list addresses (max 8) in Group Record field of the IGMPv3 membership report packet.

get()[source]

Get the multicast source list of the port. Only valid if the IGMP protocol version is IGMPv3 set by P_MULTICASTEXT.

Returns:

the multicast source list of the port

Return type:

P_MCSRCLIST.GetDataAttr

set(ipv4_addresses)[source]

Set the multicast source list of the port.

Parameters:

ipv4_addresses (List[ipaddress.IPv4Address]) – the multicast source list of the port

class P_MDIXMODE[source]

Bases: object

Selects the MDI/MDIX behavior of copper interfaces (Currently supported on M6SFP and M2SFPT).

class GetDataAttr[source]

Bases: ResponseBodyStruct

mode

coded byte, containing the MDI/MDIX mode for the port.

class SetDataAttr[source]

Bases: RequestBodyStruct

mode

coded byte, containing the MDI/MDIX mode for the port.

get()[source]

Get the MDI/MDIX mode of the port.

Returns:

the MDI/MDIX mode of the port.

Return type:

P_MDIXMODE.GetDataAttr

set(mode)[source]

Set the MDI/MDIX mode of the port.

Parameters:

mode (MDIXMode) – the MDI/MDIX mode of the port.

set_auto()

Set the MDI/MDIX mode of the port to Auto.

set_mdi()

Set the MDI/MDIX mode of the port to MDI.

set_mdix()

Set the MDI/MDIX mode of the port to MDIX.

class P_MIXLENGTH[source]

Bases: object

Allows inspecting the frame sizes defined for each position of the P_MIXWEIGHTS command. By default, the 16 frame sizes are: 56 (not valid for 40G/100G), 60, 64, 70, 78, 92, 256, 496, 512, 570, 576, 594, 1438, 1518, 9216, and 16360. In addition to inspecting these sizes one by one, it also allows changing frame size for positions 0, 1, 14 and 15 (default values 56, 60, 9216 and 16360).

class GetDataAttr[source]

Bases: ResponseBodyStruct

frame_size

integer, frame size of the position

class SetDataAttr[source]

Bases: RequestBodyStruct

frame_size

integer, frame size of the position

get()[source]

Get frame sizes defined for each position of the P_MIXWEIGHTS command. By default, the 16 frame sizes are: 56 (not valid for 40G/100G), 60, 64, 70, 78, 92, 256, 496, 512, 570, 576, 594, 1438, 1518, 9216, and 16360.

Returns:

frame sizes defined for each position of the P_MIXWEIGHTS command

Return type:

P_MIXLENGTH.GetDataAttr

set(frame_size)[source]

Set the frame size defined for positions 0, 1, 14 and 15 (default values 56, 60, 9216 and 16360), in bytes.

Parameters:

frame_size (int) – the frame size for the position.

class P_MIXWEIGHTS[source]

Bases: object

Allow changing the distribution of the MIX packet length by specifying the percentage of each of the 16 possible frame sizes used in the MIX. The sum of the percentage values specified must be 100. The command will affect the mix-distribution for all streams on the port. The possible 16 frame sizes are: 56 (not valid for 40G/100G), 60, 64, 70, 78, 92, 256, 496, 512, 570, 576, 594, 1438, 1518, 9216, and 16360.

class GetDataAttr[source]

Bases: ResponseBodyStruct

weight_1438_bytes

integer, specifying the percentage of 1438-byte frame sizes.

weight_1518_bytes

integer, specifying the percentage of 1518-byte frame sizes.

weight_16360_bytes

integer, specifying the percentage of 16360-byte frame sizes.

weight_256_bytes

integer, specifying the percentage of 256-byte frame sizes.

weight_496_bytes

integer, specifying the percentage of 496-byte frame sizes.

weight_512_bytes

integer, specifying the percentage of 512-byte frame sizes.

weight_56_bytes

integer, specifying the percentage of 56-byte frame sizes.

weight_570_bytes

integer, specifying the percentage of 570-byte frame sizes.

weight_576_bytes

integer, specifying the percentage of 576-byte frame sizes.

weight_594_bytes

integer, specifying the percentage of 594-byte frame sizes.

weight_60_bytes

integer, specifying the percentage of 60-byte frame sizes.

weight_64_bytes

integer, specifying the percentage of 64-byte frame sizes.

weight_70_bytes

integer, specifying the percentage of 70-byte frame sizes.

weight_78_bytes

integer, specifying the percentage of 78-byte frame sizes.

weight_9216_bytes

integer, specifying the percentage of 9216-byte frame sizes.

weight_92_bytes

integer, specifying the percentage of 92-byte frame sizes.

class SetDataAttr[source]

Bases: RequestBodyStruct

weight_1438_bytes

integer, specifying the percentage of 1438-byte frame sizes.

weight_1518_bytes

integer, specifying the percentage of 1518-byte frame sizes.

weight_16360_bytes

integer, specifying the percentage of 16360-byte frame sizes.

weight_256_bytes

integer, specifying the percentage of 256-byte frame sizes.

weight_496_bytes

integer, specifying the percentage of 496-byte frame sizes.

weight_512_bytes

integer, specifying the percentage of 512-byte frame sizes.

weight_56_bytes

integer, specifying the percentage of 56-byte frame sizes.

weight_570_bytes

integer, specifying the percentage of 570-byte frame sizes.

weight_576_bytes

integer, specifying the percentage of 576-byte frame sizes.

weight_594_bytes

integer, specifying the percentage of 594-byte frame sizes.

weight_60_bytes

integer, specifying the percentage of 60-byte frame sizes.

weight_64_bytes

integer, specifying the percentage of 64-byte frame sizes.

weight_70_bytes

integer, specifying the percentage of 70-byte frame sizes.

weight_78_bytes

integer, specifying the percentage of 78-byte frame sizes.

weight_9216_bytes

integer, specifying the percentage of 9216-byte frame sizes.

weight_92_bytes

integer, specifying the percentage of 92-byte frame sizes.

get()[source]

Get the percentage of each of the 16 possible frame sizes used in the MIX. The sum of the percentage values specified must be 100. The command will affect the mix-distribution for all streams on the port. The possible 16 frame sizes are: 56 (not valid for 40G and above), 60, 64, 70, 78, 92, 256, 496, 512, 570, 576, 594, 1438, 1518, 9216, and 16360.

Returns:

the percentage of each of the 16 possible frame sizes used in the MIX.

Return type:

P_MIXWEIGHTS.GetDataAttr

set(weight_56_bytes, weight_60_bytes, weight_64_bytes, weight_70_bytes, weight_78_bytes, weight_92_bytes, weight_256_bytes, weight_496_bytes, weight_512_bytes, weight_570_bytes, weight_576_bytes, weight_594_bytes, weight_1438_bytes, weight_1518_bytes, weight_9216_bytes, weight_16360_bytes)[source]

Set the percentage of each of the 16 possible frame sizes used in the MIX. The sum of the percentage values specified must be 100. The command will affect the mix-distribution for all streams on the port. The possible 16 frame sizes are: 56 (not valid for 40G and above), 60, 64, 70, 78, 92, 256, 496, 512, 570, 576, 594, 1438, 1518, 9216, and 16360.

Parameters:
  • weight_56_bytes (int) – specifying the percentage of 56-byte frame sizes

  • weight_60_bytes (int) – specifying the percentage of 60-byte frame sizes

  • weight_64_bytes (int) – specifying the percentage of 64-byte frame sizes

  • weight_70_bytes (int) – specifying the percentage of 70-byte frame sizes

  • weight_78_bytes (int) – specifying the percentage of 78-byte frame sizes

  • weight_92_bytes (int) – specifying the percentage of 92-byte frame sizes

  • weight_256_bytes (int) – specifying the percentage of 256-byte frame sizes

  • weight_496_bytes (int) – specifying the percentage of 496-byte frame sizes

  • weight_512_bytes (int) – specifying the percentage of 512-byte frame sizes

  • weight_570_bytes (int) – specifying the percentage of 570-byte frame sizes

  • weight_576_bytes (int) – specifying the percentage of 576-byte frame sizes

  • weight_594_bytes (int) – specifying the percentage of 594-byte frame sizes

  • weight_1438_bytes (int) – specifying the percentage of 1438-byte frame sizes

  • weight_1518_bytes (int) – specifying the percentage of 1518-byte frame sizes

  • weight_9216_bytes (int) – specifying the percentage of 9216-byte frame sizes

  • weight_16360_bytes (int) – specifying the percentage of 16360-byte frame sizes

class P_MULTICAST[source]

Bases: object

A multicast mode for a port. Ports can use the IGMPv2 protocol to join or leave multicast groups, either on an on-off basis or repeatedly.

class GetDataAttr[source]

Bases: ResponseBodyStruct

ipv4_multicast_addresses

a multicast group address to join or leave

operation

coded byte, specifying the operation.

second_count

the interval between repeated joins in seconds.

class SetDataAttr[source]

Bases: RequestBodyStruct

ipv4_multicast_addresses

a multicast group address to join or leave

operation

coded byte, specifying the operation.

second_count

the interval between repeated joins in seconds.

get()[source]

Get the port’s multicast information (IGMPv2).

Returns:

the port’s multicast information (IGMPv2)

Return type:

P_MULTICAST.GetDataAttr

set(ipv4_multicast_addresses, operation, second_count)[source]

Set the port’s multicast information (IGMPv2).

Parameters:
set_join(ipv4_multicast_addresses, *, operation=MulticastOperation.JOIN, second_count)

Set port’s multicast operation to Join.

set_leave(ipv4_multicast_addresses, *, operation=MulticastOperation.LEAVE, second_count)

Set port’s multicast operation to Join.

set_off(ipv4_multicast_addresses, *, operation=MulticastOperation.OFF, second_count)

Set port’s multicast operation to Off.

set_on(ipv4_multicast_addresses, *, operation=MulticastOperation.ON, second_count)

Set port’s multicast operation to On.

class P_MULTICASTEXT[source]

Bases: object

A multicast mode for a port. Ports can use the IGMPv2/IGMPv3 protocol to join or leave multicast groups, either on an on-off basis or repeatedly.

class GetDataAttr[source]

Bases: ResponseBodyStruct

igmp_version

coded byte, specifying the IGMP version.

ipv4_multicast_addresses

list of addresses, up to 8 multicast group addresses to receive an operation

operation

coded byte, specifying the operation.

second_count

byte, the interval between repeated joins/excludes in seconds.

class SetDataAttr[source]

Bases: RequestBodyStruct

igmp_version

coded byte, specifying the IGMP version.

ipv4_multicast_addresses

list of addresses, up to 8 multicast group addresses to receive an operation

operation

coded byte, specifying the operation.

second_count

byte, the interval between repeated joins/excludes in seconds.

get()[source]

Get the port’s multicast information (IGMPv2/IGMPv3).

Returns:

the port’s multicast information (IGMPv2/IGMPv3)

Return type:

P_MULTICASTEXT.GetDataAttr

set(ipv4_multicast_addresses, operation, second_count, igmp_version)[source]

Set the port’s multicast information (IGMPv2/IGMPv3).

Parameters:
class P_MULTICASTHDR[source]

Bases: object

Allows addition of a VLAN tag to IGMPv2 and IGPMv3 packets.

class GetDataAttr[source]

Bases: ResponseBodyStruct

dei

byte, drop-eligible indicator

header_count

byte, number of additional headers. Currently only 0 or 1 supported.

header_format

byte, indicates the header format. 0 = no header, 1 = VLAN

pcp

byte, VLAN Priority code point

tag

integer, VLAN tag (VID)

class SetDataAttr[source]

Bases: RequestBodyStruct

dei

byte, drop-eligible indicator.

header_count

byte, number of additional headers. Currently only 0 or 1 supported.

header_format

byte, indicates the header format. 0 = no header, 1 = VLAN

pcp

byte, VLAN Priority code point

tag

integer, VLAN tag (VID)

get()[source]

Get the VLAN tag to the IGMPv2 and IGMPv3 packets of the port.

Returns:

the VLAN tag to the IGMPv2 and IGMPv3 packets of the port

Return type:

P_MULTICASTHDR.GetDataAttr

set(header_count, header_format, tag, pcp, dei)[source]

Set the VLAN tag to the IGMPv2 and IGMPv3 packets of the port.

Parameters:
  • header_count (int) – number of additional headers. Currently only 0 or 1 supported

  • header_format (MulticastHeaderFormat) – indicates the header format

  • tag (int) – VLAN tag (VID)

  • pcp (int) – VLAN Priority code point

  • dei (OnOff) – drop-eligible indicator

class P_NDPRXTABLE[source]

Bases: object

Port NDP table used to reply to incoming NDP Neighbor Solicitation.

class GetDataAttr[source]

Bases: ResponseBodyStruct

class SetDataAttr[source]

Bases: RequestBodyStruct

get()[source]

Get the port’s NDP table used to reply to incoming NDP Neighbor Solicitation.

Returns:

the port’s NDP table used to reply to incoming NDP Neighbor Solicitation. * IP address to match to the Target IP address in the NDP Neighbor Solicitation * The prefix used for address matching * Whether the target MAC address will be patched with the part of the IP address that is not masked by the prefix * The target MAC address to return in the NDP Neighbor Advertisement

Return type:

P_NDPRXTABLE.GetDataAttr

set(chunks)[source]

Set the port’s NDP table used to reply to incoming NDP Neighbor Solicitation.

Parameters:

chunks (List[subtypes.NdpChunkList]) –

  • IP address to match to the Target IP address in the NDP Neighbor Solicitation

  • The prefix used for address matching

  • Whether the target MAC address will be patched with the part of the IP address that is not masked by the prefix

  • The target MAC address to return in the NDP Neighbor Advertisement

class P_PAUSE[source]

Bases: object

Whether a port responds to incoming Ethernet PAUSE frames by holding back outgoing traffic.

class GetDataAttr[source]

Bases: ResponseBodyStruct

on_off

coded byte, whether PAUSE response is enabled.

class SetDataAttr[source]

Bases: RequestBodyStruct

on_off

coded byte, whether PAUSE response is enabled.

get()[source]

Get the status of whether the port responds to incoming Ethernet PAUSE frames by holding back outgoing traffic.

Returns:

the status of whether the port responds to incoming Ethernet PAUSE frames by holding back outgoing traffic.

Return type:

P_PAUSE.GetDataAttr

set(on_off)[source]

Set the status of whether the port responds to incoming Ethernet PAUSE frames by holding back outgoing traffic.

Parameters:

on_off (OnOff) – the status of whether the port responds to incoming Ethernet PAUSE frames by holding back outgoing traffic.

set_off()

Disable the port to respond to incoming Ethernet PAUSE frames.

set_on()

Enable the port to respond to incoming Ethernet PAUSE frames.

class P_PAYLOADMODE[source]

Bases: object

Set this command to configure the port to use different payload modes, i.e. normal, extend payload, and custom payload field, for ALL streams on this port. The extended payload feature allows the definition of a much larger (up to MTU) payload buffer for each stream. The custom payload field feature allows you to define a sequence of custom data fields for each stream. The data fields will then be used in a round robin fashion when packets are sent based on the stream definition.

class GetDataAttr[source]

Bases: ResponseBodyStruct

mode

coded byte, which is the payload mode the port should be set.

class SetDataAttr[source]

Bases: RequestBodyStruct

mode

coded byte, which is the payload mode the port should be set.

get()[source]

Get the port’s payload mode, i.e. normal, extend payload, and custom payload field, for ALL streams on this port.

Returns:

the port’s payload mode, i.e. normal, extend payload, and custom payload field, for ALL streams on this port.

Return type:

P_PAYLOADMODE.GetDataAttr

set(mode)[source]

Set the port’s payload mode, i.e. normal, extend payload, and custom payload field, for ALL streams on this port.

Parameters:

mode (PayloadMode) – the port’s payload mode, i.e. normal, extend payload, and custom payload field, for ALL streams on this port

set_cdf()

Set the port’s payload mode to Custom Payload Field.

set_extpl()

Set the port’s payload mode to Extend Payload.

set_normal()

Set the port’s payload mode to Normal.

class P_PFCENABLE[source]

Bases: object

This setting control whether a port responds to incoming Ethernet Priority Flow Control (PFC) frames, by holding back outgoing traffic for that priority.

class GetDataAttr[source]

Bases: ResponseBodyStruct

cos_0

coded bytes, indicating whether PFC response is enabled for that CoS 0.

cos_1

coded bytes, indicating whether PFC response is enabled for that CoS 1.

cos_2

coded bytes, indicating whether PFC response is enabled for that CoS 2.

cos_3

coded bytes, indicating whether PFC response is enabled for that CoS 3.

cos_4

coded bytes, indicating whether PFC response is enabled for that CoS 4.

cos_5

coded bytes, indicating whether PFC response is enabled for that CoS 5.

cos_6

coded bytes, indicating whether PFC response is enabled for that CoS 6.

cos_7

coded bytes, indicating whether PFC response is enabled for that CoS 7.

class SetDataAttr[source]

Bases: RequestBodyStruct

cos_0

coded bytes, indicating whether PFC response is enabled for that CoS 0.

cos_1

coded bytes, indicating whether PFC response is enabled for that CoS 1.

cos_2

coded bytes, indicating whether PFC response is enabled for that CoS 2.

cos_3

coded bytes, indicating whether PFC response is enabled for that CoS 3.

cos_4

coded bytes, indicating whether PFC response is enabled for that CoS 4.

cos_5

coded bytes, indicating whether PFC response is enabled for that CoS 5.

cos_6

coded bytes, indicating whether PFC response is enabled for that CoS 6.

cos_7

coded bytes, indicating whether PFC response is enabled for that CoS 7.

get()[source]

Get whether the port responds to incoming Ethernet Priority Flow Control (PFC) frames.

Returns:

whether PFC response is enabled for CoS 0, Cos 1, Cos 2, Cos 3, Cos 4, Cos 5, Cos 6, and Cos 7

Return type:

P_PFCENABLE.GetDataAttr

set(cos_0, cos_1, cos_2, cos_3, cos_4, cos_5, cos_6, cos_7)[source]

Set whether the port responds to incoming Ethernet Priority Flow Control (PFC) frames.

Parameters:
  • cos_0 (OnOff) – whether PFC response is enabled for CoS 0

  • cos_1 (OnOff) – whether PFC response is enabled for CoS 1

  • cos_2 (OnOff) – whether PFC response is enabled for CoS 2

  • cos_3 (OnOff) – whether PFC response is enabled for CoS 3

  • cos_4 (OnOff) – whether PFC response is enabled for CoS 4

  • cos_5 (OnOff) – whether PFC response is enabled for CoS 5

  • cos_6 (OnOff) – whether PFC response is enabled for CoS 6

  • cos_7 (OnOff) – whether PFC response is enabled for CoS 7

class P_PINGREPLY[source]

Bases: object

Whether the port replies to IPv4/IPv6 PING. The port can reply to incoming IPv4/IPv6 PING requests to the IP address specified for the port. IPv4/IPv6 PING reply generation is independent of whether traffic and capture is on for the port.

class GetDataAttr[source]

Bases: ResponseBodyStruct

on_off

coded byte, whether the port replies to PING requests.

class SetDataAttr[source]

Bases: RequestBodyStruct

on_off

coded byte, whether the port replies to PING requests.

get()[source]

Get the status of whether the port replies to IPv4/IPv6 PING requests.

Returns:

the status of whether the port replies to IPv4/IPv6 PING requests

Return type:

P_PINGREPLY.GetDataAttr

set(on_off)[source]

Set the status of whether the port replies to IPv4/IPv6 PING requests.

Parameters:

on_off (OnOff) – whether the port replies to IPv4/IPv6 PING requests

set_off()

Enable IPv4/IPv6 PING reply on the port.

set_on()

Enable IPv4/IPv6 PING reply on the port.

class P_PINGV6REPLY[source]

Bases: object

Whether the port generates PINGv6 replies using the ICMP protocol received over IPv6. The port can reply to incoming PINGv6 requests to the IPv6 address specified for the port. PINGv6 reply generation is independent of whether traffic and capture is on for the port.

class GetDataAttr[source]

Bases: ResponseBodyStruct

on_off

coded byte, whether the port replies to PINGv6 requests.

class SetDataAttr[source]

Bases: RequestBodyStruct

on_off

coded byte, whether the port replies to PINGv6 requests.

get()[source]

Get whether the port replies to incoming PINGv6.

Returns:

whether the port replies to incoming PINGv6

Return type:

P_PINGV6REPLY.GetDataAttr

set(on_off)[source]

Set whether the port replies to incoming PINGv6.

Parameters:

on_off (OnOff) – whether the port replies to incoming PINGv6.

set_off()

Disable the port from replying to PINGv6.

set_on()

Enable the port to reply to PINGv6.

class P_RANDOMSEED[source]

Bases: object

A fixed seed value specified for a port. This value is used for a pseudo-random number generator used when generating traffic that requires random variation in packet length, payload, or modified fields. As long as no part of the port configuration is changed, the generated traffic patterns are reproducible when restarting traffic for the port. A specified seed value of -1 instead creates variation by using a new time-based seed value each time traffic generation is restarted.

class GetDataAttr[source]

Bases: ResponseBodyStruct

seed

integer, specifying a fixed seed value for the pseudo-random number generator. -1 = new random sequence for each start.

class SetDataAttr[source]

Bases: RequestBodyStruct

seed

integer, specifying a fixed seed value for the pseudo-random number generator. -1 = new random sequence for each start.

get()[source]

Get the seed value specified for the port.

Returns:

the seed value specified for the port.

Return type:

P_RANDOMSEED.GetDataAttr

set(seed)[source]

Set the seed value for the port.

Parameters:

seed (int) – the seed value for the port

class P_RATEFRACTION[source]

Bases: object

The port-level rate of the traffic transmitted for a port in sequential tx mode, expressed in millionths of the effective rate for the port. The bandwidth consumption includes the inter-frame gaps, and does not depend on the length of the packets for the streams.

class GetDataAttr[source]

Bases: ResponseBodyStruct

port_rate_ppm

integer, port rate expressed as a value between 0 and 1,000,000.

class SetDataAttr[source]

Bases: RequestBodyStruct

port_rate_ppm

integer, port rate expressed as a value between 0 and 1,000,000.

get()[source]

Get the port-level rate of the traffic transmitted for a port in sequential tx mode, expressed in millionths of the effective rate for the port.

Returns:

the port-level rate of the traffic transmitted for a port in sequential tx mode, expressed in millionths of the effective rate for the port.

Return type:

P_RATEFRACTION.GetDataAttr

set(port_rate_ppm)[source]

Set the port-level rate of the traffic transmitted for a port in sequential tx mode, expressed in millionths of the effective rate for the port.

Parameters:

port_rate_ppm (int) – the port-level rate of the traffic transmitted for a port in sequential tx mode, expressed in millionths of the effective rate for the port

class P_RATEL2BPS[source]

Bases: object

The port-level rate of the traffic transmitted for a port in sequential tx mode, expressed in units of bits per-second at layer-2, thus including the Ethernet header but excluding the inter-frame gap. The bandwidth consumption is somewhat dependent on the length of the packets generated for the stream, and also on the inter-frame gap for the port.

class GetDataAttr[source]

Bases: ResponseBodyStruct

port_rate_bps

long integer, port rate expressed as bits-per-second.

class SetDataAttr[source]

Bases: RequestBodyStruct

port_rate_bps

long integer, port rate expressed as bits-per-second.

get()[source]

Get the port-level rate of the traffic transmitted for a port in sequential tx mode, expressed in units of bits per-second at layer-2, thus including the Ethernet header but excluding the inter-frame gap.

Returns:

the port-level rate of the traffic transmitted for a port in sequential tx mode, expressed in units of bits per-second at layer-2, thus including the Ethernet header but excluding the inter-frame gap

Return type:

P_RATEL2BPS.GetDataAttr

set(port_rate_bps)[source]

Set the port-level rate of the traffic transmitted for a port in sequential tx mode, expressed in units of bits per-second at layer-2, thus including the Ethernet header but excluding the inter-frame gap.

Parameters:

port_rate_bps (int) – the port-level rate of the traffic transmitted for a port in sequential tx mode, expressed in units of bits per-second at layer-2, thus including the Ethernet header but excluding the inter-frame gap

class P_RATEPPS[source]

Bases: object

The port-level rate of the traffic transmitted for a port in sequential tx mode, expressed in packets per second. The bandwidth consumption is heavily dependent on the length of the packets generated for the streams, and also on the inter-frame gap for the port.

class GetDataAttr[source]

Bases: ResponseBodyStruct

port_rate_pps

integer, port rate expressed as packets per second.

class SetDataAttr[source]

Bases: RequestBodyStruct

port_rate_pps

integer, port rate expressed as packets per second.

get()[source]

Get the port-level rate of the traffic transmitted for a port in sequential tx mode, expressed in packets per second.

Returns:

the port-level rate of the traffic transmitted for a port in sequential tx mode, expressed in packets per second

Return type:

P_RATEPPS.GetDataAttr

set(port_rate_pps)[source]

Set the port-level rate of the traffic transmitted for a port in sequential tx mode, expressed in packets per second.

Parameters:

port_rate_pps (int) – the port-level rate of the traffic transmitted for a port in sequential tx mode, expressed in packets per second

class P_RECEIVESYNC[source]

Bases: object

Obtains the current in-sync status of a port’s receive interface.

class GetDataAttr[source]

Bases: ResponseBodyStruct

sync_status

coded byte, describing the current sync status of the port.

get()[source]

Get the current in-sync status for a port’s receive interface.

Returns:

the current in-sync status for a port’s receive interface.

Return type:

P_RECEIVESYNC.GetDataAttr

class P_RESERVATION[source]

Bases: object

You set this command to reserve, release, or relinquish a port. The port must be reserved before any of its configuration can be changed, including streams, filters, capture, and datasets.The owner of the session must already have been specified. Reservation will fail if the chassis or module is reserved to other users.

class GetDataAttr[source]

Bases: ResponseBodyStruct

status

coded byte, containing the operation to perform. The reservation parameters are asymmetric with respect to set/get. When set, it contains the operation to perform. When get, it contains the status.

class SetDataAttr[source]

Bases: RequestBodyStruct

operation

coded byte, containing the operation to perform. The reservation parameters are asymmetric with respect to set/get. When set, it contains the operation to perform. When get, it contains the status.

get()[source]

Get the reservation status of the test port.

Returns:

the reservation status of the test port.

Return type:

ReservedStatus

set(operation)[source]

Set the reservation of the test port, i.e., reserve, release, or relinquish.

Parameters:

operation (ReservedAction) – the reservation of the test port, i.e., reserve, release, or relinquish.

set_release()

Release the port from your ownership.

set_relinquish()

Release the port from others’ ownership.

set_reserve()

Reserve the port.

class P_RESERVEDBY[source]

Bases: object

Identify the user who has a port reserved. The empty string if the port is not currently reserved. Note that multiple connections can specify the same name with C_OWNER, but a resource can only be reserved to one connection. Therefore you cannot count on having the port just because it is reserved in your name. The port is reserved to this connection only if P_RESERVATION returns RESERVED_BY_YOU.

class GetDataAttr[source]

Bases: ResponseBodyStruct

username

string, containing the name of the current owner of the port.

get()[source]

Get the username of the user who has the port reserved.

Returns:

the username of the user who has the port reserved.

Return type:

P_RESERVEDBY.GetDataAttr

class P_RESET[source]

Bases: object

Reset port-level parameters to standard values, and delete all streams, filters, capture, and dataset definitions.

class SetDataAttr[source]

Bases: RequestBodyStruct

set()[source]

Reset the port to its default configuration.

class P_RXPREAMBLE_INSERT[source]

Bases: object

Insert preambles to the incoming frames.

class GetDataAttr[source]

Bases: ResponseBodyStruct

on_off

coded byte, insert preamble to incoming frames.

class SetDataAttr[source]

Bases: RequestBodyStruct

on_off

coded byte, insert preamble to incoming frames.

get()[source]

Get whether the port should insert preambles to the incoming frames.

Returns:

whether the port should insert preambles to the incoming frames

Return type:

P_RXPREAMBLE_INSERT.GetDataAttr

set(on_off)[source]

Set whether the port should insert preambles to the incoming frames.

Parameters:

on_off (OnOff) – whether the port should insert preambles to the incoming frames

set_off()

Disable frame preamble insertion on the port.

set_on()

Enable frame preamble insertion on the port.

class P_RXRUNTLENGTH[source]

Bases: object

Enable RX runt length detection to flag if packets are seen with length not being I bytes.

class GetDataAttr[source]

Bases: ResponseBodyStruct

runt_length

integer, enable RX runt length detection to flag if packets are seen with length not being I bytes. Set to -1 to disabled.

class SetDataAttr[source]

Bases: RequestBodyStruct

runt_length

integer, enable RX runt length detection to flag if packets are seen with length not being I bytes. Set to -1 to disabled.

get()[source]

Get RX runt length detection to flag if packets are seen with length not being I bytes. -1 means disabled.

Returns:

RX runt length detection to flag if packets are seen with length not being I bytes. -1 means disabled

Return type:

P_RXRUNTLENGTH.GetDataAttr

set(runt_length)[source]

Set RX runt length detection to flag if packets are seen with length not being I bytes. Set to -1 to disabled.

Parameters:

runt_length (int) – RX runt length detection to flag if packets are seen with length not being I bytes. Set to -1 to disabled.

class P_RXRUNTLEN_ERRS[source]

Bases: object

Sticky clear on read: Have packets with wrong runt length been detected since last read?

class GetDataAttr[source]

Bases: ResponseBodyStruct

status

coded integer, have packets with wrong runt length been detected since last read?

get()[source]

Have packets with wrong runt length been detected since last read?

Returns:

whether packets with wrong runt length been detected since last read

Return type:

P_RXRUNTLEN_ERRS.GetDataAttr

class P_SPEED[source]

Bases: object

Obtains the current physical speed of a port’s interface.

class GetDataAttr[source]

Bases: ResponseBodyStruct

port_speed

integer, current speed in units of Mbps.

get()[source]

Get the current physical speed of the port’s interface.

Returns:

the current physical speed of the port’s interface.

Return type:

P_SPEED.GetDataAttr

class P_SPEEDREDUCTION[source]

Bases: object

A speed reduction applied to the transmitting side of a port, resulting in an effective traffic rate that is slightly lower than the rate of the physical interface. Speed reduction is effectuated by inserting short idle periods in the generated traffic pattern to consume part of the port’s physical bandwidth. The port’s clock speed is not altered.

class GetDataAttr[source]

Bases: ResponseBodyStruct

ppm

integer, specifying the speed reduction in units of parts-per-million.

class SetDataAttr[source]

Bases: RequestBodyStruct

ppm

integer, specifying the speed reduction in units of parts-per-million.

get()[source]

Get the speed reduction ppm value of the test port.

Returns:

the speed reduction ppm value of the test port.

Return type:

P_SPEEDREDUCTION.GetDataAttr

set(ppm)[source]

Set the speed reduction ppm value of the test port.

Parameters:

ppm (int) – the speed reduction ppm value of the test port

class P_SPEEDSELECTION[source]

Bases: object

The speed mode of an autoneg port with an interface type supporting multiple speeds.

Note

This is only a settable command when speed is selected at the port level. Use the M_CFPCONFIGEXT command when speed is selected at the module level.

class GetDataAttr[source]

Bases: ResponseBodyStruct

mode

coded byte, containing the speed mode for the port.

class SetDataAttr[source]

Bases: RequestBodyStruct

mode

coded byte, containing the speed mode for the port.

get()[source]

Get the speed mode of the port with an interface type supporting multiple speeds.

Returns:

the speed mode of the port with an interface type supporting multiple speeds.

Return type:

P_SPEEDSELECTION.GetDataAttr

set(mode)[source]

Set the speed mode of the port with an interface type supporting multiple speeds.

Parameters:

mode (PortSpeedMode) – the speed mode of the port with an interface type supporting multiple speeds

set_auto()

Set the speed mode to auto (all speeds used in auto negotiation).

set_f100g()

Set the speed mode to 100 Gbit/s.

set_f100m()

Set the speed mode to 100 Mbit/s.

set_f100m1g()

Set the speed mode to 100 Mbit/s / 1 Gbit/s.

set_f100m1g10g()

Set the speed mode to 100 Mbit/s / 1 Gbit/s / 10 Gbit/s.

set_f100m1g2500m()

Set the speed mode to 100 Mbit/s / 1 Gbit/s / 2500 Mbit/s.

set_f100mhdx()

Set the speed mode to 100 Mbit/s Half Duplex.

set_f10g()

Set the speed mode to 10 Gbit/s.

set_f10m()

Set the speed mode to 10 Mbit/s.

set_f10m100m()

Set the speed mode to 10/100 Mbit/s.

set_f10mhdx()

Set the speed mode to 10 Mbit/s Half Duplex.

set_f1g()

Set the speed mode to 1 Gbit/s.

set_f2500m()

Set the speed mode to 2500 Mbit/s.

set_f40g()

Set the speed mode to 40 Gbit/s.

set_f5g()

Set the speed mode to 5 Gbit/s.

set_unknown()

Set the speed mode to unknown.

class P_SPEEDS_SUPPORTED[source]

Bases: object

Read the speeds supported by the port. The speeds supported by a port depends on the transceiver inserted into the port. A series of 0/1 values, identifying which speeds are supported by the port.

Note

Ports can support zero (in case of e.g. empty cage), one, or multiple speeds.

class GetDataAttr[source]

Bases: ResponseBodyStruct

auto

auto-negotiated speed, the actual speed depends on the negotiation result.

f100G

100 Gbps.

f100M

100 Mbps.

f100M1G

100/1000 Mbps.

f100M1G10G

100/1000/10000 Mbps.

f100M1G2500M

100/1000/2500 Mbps.

f100MHDX

100 Mbps half duplex.

f10G

10 Gbps.

f10M

10 Mbps.

f10M100M

10/100 Mbps.

f10MHDX

10 Mbps half duplex.

f1600G

1600 Gbps.

f1G

1 Gbps.

f200G

200 Gbps.

f2500M

2500 Mbps.

f25G

25 Gbps.

f400G

400 Gbps.

f40G

40 Gbps.

f50G

50 Gbps.

f5G

5 Gbps.

f800G

800 Gbps.

get()[source]

Get the speeds supported by the port.

Returns:

the speeds supported by the port

Return type:

P_SPEEDS_SUPPORTED.GetDataAttr

class P_STATUS[source]

Bases: object

Get the received signal level for optical ports.

class GetDataAttr[source]

Bases: ResponseBodyStruct

optical_power

list of integers, received signal level for optical ports, in nanowatts, -1 when not available.

get()[source]

Get the received signal level for optical ports, in nanowatts, -1 when not available.

Returns:

the received signal level for optical ports, in nanowatts, -1 when not available

Return type:

P_STATUS.GetDataAttr

class P_TCVRSTATUS[source]

Bases: object

Get various tcvr status information. RX loss status of the individual RX optical lanes (only 4 lanes are supported currently).

class GetDataAttr[source]

Bases: ResponseBodyStruct

rx_loss_lane_0

RX loss of lane 0

rx_loss_lane_1

RX loss of lane 1

rx_loss_lane_2

RX loss of lane 2

rx_loss_lane_3

RX loss of lane 3

get()[source]

Get various transceiver status information.

Returns:

various tcvr status information. RX loss status of the individual RX optical lanes (only 4 lanes are supported currently).

Return type:

P_TCVRSTATUS.GetDataAttr

class P_TPLDMODE[source]

Bases: object

Sets the size of the Xena Test Payload (TPLD) used to track streams, perform latency measurements etc. Default is “Normal”, which is a 20 byte TPLD. “Micro” is a condensed version, which is useful when generating very small packets with relatively long headers (like IPv6). It has the following characteristics compared to the “normal” TPLD. When the TPLDMODE is changed, it will affect ALL streams on the port. 1) Only 6 byte long. 2) Less accurate mechanism to separate Xena-generated packets from other packets is the network - it is recommended not to have too much other traffic going into the receive Xena port, when micro TPLD is used. 3) No sequence checking (packet loss or packet misordering). The number of received packets for each stream can still be compared to the number of transmitted packets to detect packet loss once traffic has been stopped. Note: Currently not available on M6SFP, M2SFPT, M6RJ45+/M2RJ45+, M2CFP40, M1CFP100, M2SFP+4SFP

class GetDataAttr[source]

Bases: ResponseBodyStruct

mode

coded byte, specifying TPLD’s mode.

class SetDataAttr[source]

Bases: RequestBodyStruct

mode

coded byte, specifying TPLD’s mode.

get()[source]

Get the Test Payload mode of the port.

Returns:

the Test Payload mode of the port

Return type:

P_TPLDMODE.GetDataAttr

set(mode)[source]

Set the Test Payload mode of the port.

Parameters:

mode (TPLDMode) – the Test Payload mode of the port.

set_micro()

Set the Test Payload mode of the port to Micro.

set_normal()

Set the Test Payload mode of the port to Normal.

class P_TRAFFIC[source]

Bases: object

Whether a port is transmitting packets. When on, the port generates a sequence of packets with contributions from each stream that is enabled. The streams are configured using the PS_xxx parameters.

Note

If any of the specified packet sizes cannot fit into the packet generator, this command will return FAILED and not start the traffic. While traffic is on the streams for this port cannot be enabled or disabled, and the configuration of those streams that are enabled cannot be changed.

class GetDataAttr[source]

Bases: ResponseBodyStruct

on_off

coded byte, determines whether to start or stop traffic generation on this port.

class SetDataAttr[source]

Bases: RequestBodyStruct

on_off

coded byte, determines whether to start or stop traffic generation on this port.

get()[source]

Get the traffic generation status of the port.

Returns:

the traffic generation status of the port

Return type:

P_TRAFFIC.GetDataAttr

set(on_off)[source]

Set the traffic generation status of the port.

Parameters:

on_off (StartOrStop) – the traffic generation status of the port.

set_start()

Start the traffic generation of the port.

set_stop()

Stop the traffic generation of the port.

class P_TRAFFICERR[source]

Bases: object

Obtain the traffic error which has occurred in the last *_TRAFFIC or C_TRAFFICSYNC command.

class GetDataAttr[source]

Bases: ResponseBodyStruct

error

coded byte, specifies the port traffic error.

get()[source]

Get traffic error which has occurred in the last *_TRAFFIC or C_TRAFFICSYNC command.

Returns:

traffic error which has occurred in the last *_TRAFFIC or C_TRAFFICSYNC command

Return type:

P_TRAFFICERR.GetDataAttr

class P_TXBURSTPERIOD[source]

Bases: object

In Burst TX mode this command defines the time from the start of one sequence of bursts (from a number of streams) to the start of next sequence of bursts. NB: Only used when Port TX Mode is “BURST”.

class GetDataAttr[source]

Bases: ResponseBodyStruct

burst_period

integer, burst period expressed in microseconds.

class SetDataAttr[source]

Bases: RequestBodyStruct

burst_period

integer, burst period expressed in microseconds.

get()[source]

Get the duration in microseconds from the start of one sequence of bursts (from a number of streams) to the start of next sequence of bursts in Burst TX mode.

Returns:

the duration in microseconds from the start of one sequence of bursts (from a number of streams) to the start of next sequence of bursts

Return type:

P_TXBURSTPERIOD.GetDataAttr

set(burst_period)[source]

Set the duration in microseconds from the start of one sequence of bursts (from a number of streams) to the start of next sequence of bursts in Burst TX mode.

Parameters:

burst_period (int) – the duration in microseconds from the start of one sequence of bursts (from a number of streams) to the start of next sequence of bursts in Burst TX mode

class P_TXDELAY[source]

Bases: object

Sets a variable delay from a traffic start command received by the port until it starts transmitting. The delay is specified in multiples of 64 microseconds. Valid values are 0-31250 (0 to 2,000,000 microseconds).

Note

You must use C_TRAFFIC instead of P_TRAFFIC to start traffic for P_TXDELAY to take effect.

class GetDataAttr[source]

Bases: ResponseBodyStruct

delay_val

integer, TX delay in multiples of 64 microseconds. (TX delay = delay_val * 64 microseconds).

class SetDataAttr[source]

Bases: RequestBodyStruct

delay_val

integer, TX delay in multiples of 64 microseconds. (TX delay = delay_val * 64 microseconds).

get()[source]

Get the delay from a traffic start command received by the port until the port starts transmitting packets, in microseconds.

Returns:

the delay from a traffic start command received by the port until the port starts transmitting packets, in microseconds.

Return type:

P_TXDELAY.GetDataAttr

set(delay_val)[source]

Set the delay from a traffic start command received by the port until the port starts transmitting packets, in microseconds.

Parameters:

delay_val (int) – the delay specified in multiples of 64 microseconds.

class P_TXENABLE[source]

Bases: object

Whether a port should enable its transmitter, or keep the outgoing link down.

class GetDataAttr[source]

Bases: ResponseBodyStruct

on_off

coded byte, whether the transmitter is enabled or disabled.

class SetDataAttr[source]

Bases: RequestBodyStruct

on_off

coded byte, whether the transmitter is enabled or disabled.

get()[source]

Get the port’s transmitter status.

Returns:

the port’s transmitter status

Return type:

P_TXENABLE.GetDataAttr

set(on_off)[source]

Set the the port’s transmitter status.

Parameters:

on_off (OnOff) – the port’s transmitter status

set_off()

Disable the port’s transmitter and keep the outgoing link down.

set_on()

Enable the port’s transmitter.

class P_TXMODE[source]

Bases: object

The scheduling mode for outgoing traffic from the port, specifying how multiple logical streams are merged onto one physical port. There are four primary modes: Normal Interleaved: The streams are treated independently, and are merged into a combined traffic pattern for the port, which honors each stream’s ideal packet placements as well as possible. This is the default mode. Strict Uniform: This is a slight variation of normal interleaved scheduling, which emphasizes strict uniformity of the inter-packet-gaps as more important than hitting the stream rates absolutely precisely. Sequential: Each stream in turn contribute one or more packets, before continuing to the next stream, in a cyclical pattern. The count of packets for each stream is obtained from the PS_PACKETLIMIT command value for the stream. The individual rates for each stream are ignored, and instead the overall rate is determined at the port-level. This in turn determines the rates for each stream, taking into account their packet lengths and counts. The maximum number of packets in a cycle (i.e. the sum of PS_PACKETLIMIT for all enabled streams) is 500. If the packet number is larger than 500, will be returned when attempting to start the traffic (P_TRAFFIC ON). Burst*: When this mode is selected, frames from the streams on a port are sent as bursts as depicted below: The Burst Period is defined in the P_TXBURSTPERIOD command. For the individual streams the number of packets in a burst is defined by the PS_BURST command, while the Inter Packet Gap and the Inter Burst Gap are defined by the PS_BURSTGAP command.

class GetDataAttr[source]

Bases: ResponseBodyStruct

mode

coded byte, containing the loopback mode for the port: NORMAL (interleaved packet scheduling), STRICTUNIFORM (strict uniform mode), SEQUENTIAL (sequential packet scheduling), BURST (burst mode).

class SetDataAttr[source]

Bases: RequestBodyStruct

mode

coded byte, containing the loopback mode for the port: NORMAL (interleaved packet scheduling), STRICTUNIFORM (strict uniform mode), SEQUENTIAL (sequential packet scheduling), BURST (burst mode).

get()[source]

Get the scheduling mode for outgoing traffic from the port.

Returns:

the scheduling mode for outgoing traffic from the port, containing the loopback mode for the port: NORMAL (interleaved packet scheduling), STRICTUNIFORM (strict uniform mode), SEQUENTIAL (sequential packet scheduling), BURST (burst mode).

Return type:

P_TXMODE.GetDataAttr

set(mode)[source]

Set the the scheduling mode for outgoing traffic from the port.

Parameters:

mode (TXMode) – the scheduling mode for outgoing traffic from the port, containing the loopback mode for the port: NORMAL (interleaved packet scheduling), STRICTUNIFORM (strict uniform mode), SEQUENTIAL (sequential packet scheduling), BURST (burst mode).

set_burst()

Set the port scheduling mode to Burst.

set_normal()

Set the port scheduling mode to Normal.

set_sequential()

Set the port scheduling mode to Sequential.

set_strictuniform()

Set the port scheduling mode to Strict Uniform.

class P_TXPACKETLIMIT[source]

Bases: object

The number of packets that will be transmitted from a port when traffic is started on the port. A value of 0 or -1 makes the port transmit continuously. Traffic from the streams on the port can however also be set to stop after transmitting a number of packets.

class GetDataAttr[source]

Bases: ResponseBodyStruct

packet_count_limit

integer, number of packets that will be transmitted by the port.

class SetDataAttr[source]

Bases: RequestBodyStruct

packet_count_limit

integer, number of packets that will be transmitted by the port.

get()[source]

Get the number of packets that will be transmitted from the port when traffic is started on the port.

Returns:

the number of packets that will be transmitted from the port when traffic is started on the port.

Return type:

P_TXPACKETLIMIT.GetDataAttr

set(packet_count_limit)[source]
Set the number of packets that will be transmitted from the port when traffic is started on the port.

A value of 0 or -1 makes the port transmit continuously. Traffic from the streams on the port can however also be set to stop after transmitting a number of packets.

Parameters:

packet_count_limit (int) – the number of packets that will be transmitted from the port when traffic is started on the port

class P_TXPREAMBLE_REMOVE[source]

Bases: object

Remove preamble from outgoing frames.

class GetDataAttr[source]

Bases: ResponseBodyStruct

on_off

coded byte, remove preamble from outgoing frames.

class SetDataAttr[source]

Bases: RequestBodyStruct

on_off

coded byte, remove preamble from outgoing frames.

get()[source]

Get whether the preambles from outgoing frames are to be removed by the port.

Returns:

whether the preambles from outgoing frames are to be removed by the port

Return type:

P_TXPREAMBLE_REMOVE.GetDataAttr

set(on_off)[source]

Set whether the preambles from outgoing frames are to be removed by the port.

Parameters:

on_off (OnOff) – whether the preambles from outgoing frames are to be removed by the port

set_off()

Disable frame preamble removal on the port.

set_on()

Enable frame preamble removal on the port.

class P_TXPREPARE[source]

Bases: object

Prepare port for transmission

class SetDataAttr[source]

Bases: RequestBodyStruct

set()[source]

Set the port to prepare for packet transmission.

class P_TXRUNTLENGTH[source]

Bases: object

Enable TX runt feature to cut all packets to a number of bytes.

class GetDataAttr[source]

Bases: ResponseBodyStruct

runt_length

integer, enable TX runt feature to cut all packets to I bytes. Set to -1 to disable.

class SetDataAttr[source]

Bases: RequestBodyStruct

runt_length

integer, enable TX runt feature to cut all packets to I bytes. Set to -1 to disable.

get()[source]

Get the TX runt feature to cut all packets to I bytes. -1 means disabled.

Returns:

the TX runt feature to cut all packets to I bytes

Return type:

P_TXRUNTLENGTH.GetDataAttr

set(runt_length)[source]

Set TX runt feature to cut all packets to I bytes. Set to -1 to disable.

Parameters:

runt_length (int) – enable TX runt feature to cut all packets to I bytes. Set to -1 to disable.

class P_TXTIME[source]

Bases: object

How long the port has been transmitting, the elapsed time since traffic was started.

class GetDataAttr[source]

Bases: ResponseBodyStruct

microseconds

long integer, elapsed time since traffic was started.

get()[source]

Get how long the port has been transmitting, the elapsed time since traffic was started in microseconds.

Returns:

how long the port has been transmitting, the elapsed time since traffic was started in microseconds

Return type:

P_TXTIME.GetDataAttr

class P_TXTIMELIMIT[source]

Bases: object

A port-level time-limit on how long it keeps transmitting when started. After the elapsed time traffic must be stopped and restarted. This complements the stream-level PS_PACKETLIMIT function.

class GetDataAttr[source]

Bases: ResponseBodyStruct

microseconds

long integer, time limit after which the port stops transmitting.

class SetDataAttr[source]

Bases: RequestBodyStruct

microseconds

long integer, time limit after which the port stops transmitting.

get()[source]

Get the port-level time-limit on how long it keeps transmitting when started in microseconds.

Returns:

port-level time-limit on how long it keeps transmitting when started in microseconds.

Return type:

P_TXTIMELIMIT.GetDataAttr

set(microseconds)[source]

Set the port-level time-limit on how long it keeps transmitting when started in microseconds. Maximum can be 2^63.

Parameters:

microseconds (int) – the port-level time-limit on how long it keeps transmitting when started in microseconds. Maximum can be 2^63

class P_UAT_FLR[source]

Bases: object

This command defines the threshold for the Frame Loss Ratio, where a second is declared as a Severely Errored Second (SES). In Valkyrie1564 UnAvailable Time (UAT) is declared after 10 consecutive SES has been detected

class GetDataAttr[source]

Bases: ResponseBodyStruct

frame_loss_ratio

byte, specifies the Frame Loss Ratio threshold for SES as a fraction of 1 * 100 (i.e. if the threshold is 0.50, value is 50)

class SetDataAttr[source]

Bases: RequestBodyStruct

frame_loss_ratio

byte, Frame Loss Ratio specified as a number times 1/100, 0..100

get()[source]

Get the the threshold for the Frame Loss Ratio, where a second is declared as a Severely Errored Second (SES).

Returns:

specifies the Frame Loss Ratio threshold for SES as a fraction of 1 * 100 (i.e. if the threshold is 0.50, value is 50)

Return type:

P_UAT_FLR.GetDataAttr

set(frame_loss_ratio)[source]

Set the the threshold for the Frame Loss Ratio, where a second is declared as a Severely Errored Second (SES).

Parameters:

frame_loss_ratio (int) – Frame Loss Ratio specified as a number times 1/100, 0..100

class P_UAT_MODE[source]

Bases: object

This command defines if a port is currently used by test suite Valkyrie1564, which means that UAT (UnAvailable Time) will be detected for the port.

class GetDataAttr[source]

Bases: ResponseBodyStruct

delay

integer,time in milliseconds to wait before detection of UAT is started. Default value: 500. This parameter is ignored when state is set to OFF.

mode

specifies the state of the affected stream counters

class SetDataAttr[source]

Bases: RequestBodyStruct

delay

integer, time in milliseconds to wait before detection of UAT is started. Default value: 500. This parameter is ignored when state is set to OFF.

mode

specifies the state of the affected stream counters

get()[source]

Get the state of the affected stream counters and time in milliseconds to wait before detection of UAT is started. Default value: 500. This command is ignored when state is set to OFF.

Returns:

the state of the affected stream counters and time in milliseconds to wait before detection of UAT is started. Default value: 500. This command is ignored when state is set to OFF.

Return type:

P_UAT_MODE.GetDataAttr

set(mode, delay)[source]

Set the UAT mode of the port.

Parameters:
  • mode (OnOff) – the state of the affected stream counters

  • delay (int) – time in milliseconds to wait before detection of UAT is started. Default value: 500. This command is ignored when state is set to OFF

set_off(delay)

Disable UAT on the port.

set_on(delay)

Enable UAT on the port.

class P_XMITONE[source]

Bases: object

Transmits a single packet from a port, independent of the stream definitions, and independent of whether traffic is on. A valid Frame Check Sum is written into the final four bytes.

class SetDataAttr[source]

Bases: RequestBodyStruct

hex_data

list of hex bytes, the data content of the packet to be transmitted.

set(hex_data)[source]

Transmits a single packet from a port, independent of the stream definitions, and independent of whether traffic is on. A valid Frame Check Sum is written into the final four bytes.

Parameters:

hex_data – raw bytes of the packet in hex to transmit

Return type:

List[str]

class P_XMITONETIME[source]

Bases: object

The time at which the latest packet was transmitted using the P_XMITONE command. The time reference is the same used by the time stamps of captured packets.

class GetDataAttr[source]

Bases: ResponseBodyStruct

nanoseconds

long integer, the time at which packet was transmitted.

get()[source]

Get the time at which the latest packet was transmitted using the P_XMITONE command in nanoseconds.

Returns:

the time at which the latest packet was transmitted using the P_XMITONE command in nanoseconds

Return type:

P_XMITONETIME.GetDataAttr