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:
- 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.
- 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:
- 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:
- 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.
- 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.
- 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.
- 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.
- 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
- can_link_flap
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
- can_set_link_train
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
- 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
- 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:
- 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:
- 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.
- 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:
- 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.
- 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:
- 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.
- 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:
- 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:
- 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.
- 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.
- 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.
- 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:
- 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:
ipv4_address (Union[str, int, ipaddress.IPv4Address]) – the IPv4 address of the port
subnet_mask (Union[str, int, ipaddress.IPv4Address]) – the subnet mask of the local network segment for the port
gateway (Union[str, int, ipaddress.IPv4Address]) – he gateway of the local network segment for the port
wild (Union[str, int, ipaddress.IPv4Address]) – wildcards used for ARP and PING replies, and each byte must be 255 (0xFF) or 0 (0x00)
- 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:
- 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:
Last-bit-out to last-bit-in, which measures basic bit-transit time, independent of packet length.
First-bit-out to last-bit-in, which adds the time taken to transmit the packet itself.
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.
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:
- 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.
- 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:
- 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:
- 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:
- 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:
- 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:
- class P_LPSTATUS[source]
Bases:
object
Displays the Energy Efficient Ethernet (EEE) status as reported by the PHY.
- class GetDataAttr[source]
Bases:
ResponseBodyStruct
- link_up
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:
- 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.
- 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:
- 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.
- 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:
- 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:
- 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:
- 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
- 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:
- 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:
- 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:
- set(ipv4_multicast_addresses, operation, second_count)[source]
Set the port’s multicast information (IGMPv2).
- Parameters:
ipv4_multicast_addresses (List[ipaddress.IPv4Address]) – a multicast group address to join or leave
operation (MulticastOperation) – the operation
second_count (int) – the interval between repeated joins in seconds.
- 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:
- set(ipv4_multicast_addresses, operation, second_count, igmp_version)[source]
Set the port’s multicast information (IGMPv2/IGMPv3).
- Parameters:
ipv4_multicast_addresses (List[ipaddress.IPv4Address]) – a multicast group address to join or leave
operation (MulticastExtOperation) – the operation
second_count (int) – the interval between repeated joins in seconds.
igmp_version (IGMPVersion) – IGMP version
- 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:
- 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.
- 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:
- 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:
- 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:
- 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:
- 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:
- 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:
- 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.
- 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:
- 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:
- 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.
- 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.
- 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:
- 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.
- class P_RESET[source]
Bases:
object
Reset port-level parameters to standard values, and delete all streams, filters, capture, and dataset definitions.
- 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:
- 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.
- 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?
- 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.
- 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.
- 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:
- 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.
- 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.
- 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
- 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
- get()[source]
Get the Test Payload mode of the port.
- Returns:
the Test Payload mode of the port
- Return type:
- 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:
- 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
orC_TRAFFICSYNC
command.- class GetDataAttr[source]
Bases:
ResponseBodyStruct
- error
coded byte, specifies the port traffic error.
- 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:
- 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).
- 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:
- 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:
- 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:
- 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:
- 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_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.
- 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.
- 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.
- 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
- 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:
- 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 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.