P_CAPABILITIES
code: 106
# get
<module-index>/<port-index> P_CAPABILITIES ?
Description
Returns a series of integer values specifying various internal limits of a port.
Actions
get
Parameters
max_speed: integer, maximum wire speed in Mbps, for fastest transceiver and mode. This is L1 Mbps, related to calculatingPS_RATEL2BPSandPS_RATEPPS.max_speed_reduction: integer, maximum ppm value of speed reduction forP_SPEEDREDUCTION.min_interframe_gap: integer, minimum bytes between frames forP_INTERFRAMEGAP.max_interframe_gap: integer, maximum explicit bytes between frames forP_INTERFRAMEGAP.max_preamble: integer, maximum preamble bytes included in frame. Ethernet preamble byte count, include in the IFG byte count.max_streams_per_port: integer, maximum streams per port. Max length ofPS_INDICES: stream_indices, andPS_CREATEmax index value.max_percent: integer, maximum input rate in percent. Maximum incoming traffic rate in percent.max_pps: integer, maximum input rate in pps. Maximum incoming traffic rate in pps.max_mbps: integer, maximum input rate in Mbps. Maximum incoming traffic rate in Mbps.max_seed: integer, maximum random seed forP_RANDOMSEED: seed.max_tx_packet_limit: integer, maximum stop-after-n-packet limitation forP_TXPACKETLIMIT: packet_count_limit.max_burst_size: integer, maximum packets per burst forPS_BURST: size.min_packet_length: integer, minimum bytes in total packet forPS_PACKETLENGTH.max_packet_length: integer, maximum bytes in total packet forPS_PACKETLENGTH.max_header_length: integer, maximum bytes in auto-generated packet header forP_MAXHEADERLENGTH.max_protocol_segments: integer, maximum number of protocol segments. ForPS_HEADERPROTOCOL: segmentsand it should be the same asC_CAPABILITIES: max_protocol_count.max_pattern_length: integer, maximum bytes in payload pattern. ForPS_PAYLOAD: hex_datamax length.max_modifiers: integer, maximum 16-bit modifiers per stream. ForPS_MODIFIERCOUNT: modifier_count.max_modifier_bytes: integer, maximum bytes in a modified field. Fixed to 2 bytes.max_repeat: integer, maximum repeats for a modifier. ForPS_MODIFIER: repetition.max_tpid: integer, maximum TPLD ID value. ForPS_TPLDID: test_payload_identifier.max_manual_packets: integer, maximum manual packets. Not in use.max_match_terms: integer, max filter match terms per port. Max length ofPM_INDICES: match_term_xindices, andPM_CREATEmax index value.max_length_terms: integer, max filter length terms per port. Max length ofPL_INDICES: length_term_xindices, andPL_CREATEmax index value.max_ors: integer, max or-terms per filter.max_nots: integer, max or-terms with nots per filter.max_filters: integer, max filters per port. Max length ofPF_INDICES: filter_xindices, andPF_CREATEmax index value.max_captured_packets: integer, max captured packets at one time.PC_STATS: packetsmax valuemax_tpld_stats: integer, max number of different TPLDs for RX statistics. Max TPLD index a RX port can handle.max_histogram: integer, max number of sampled histograms. Max length ofPD_INDICES: histogram_indices, andPD_CREATEmax index value.max_32bit_modifiers: integer, max 32-bit modifiers per stream. Max value ofPS_MODIFIEREXTCOUNT: ext_modifier_count.can_set_autoneg: integer, whether supports auto negotiation. ForP_AUTONEGSELECTION, and it tells whether the port is a RJ45 port or not.can_tcp_checksum: integer, whether supports TCP with valid checksum.PS_HEADERPROTOCOL: segments = TCPCHECKsupported or not.can_udp_checksum: integer, whether supports UDP with valid checksum.PS_HEADERPROTOCOL: segments = UDPCHECKsupported or not.can_eee: integer, whether supports Energy Efficient Ethernet. Corresponds to whether the following commands are supported:P_LPSUPPORT,P_LPRXPOWER,P_LPSNRMARGIN,P_LPPARTNERAUTONEG,P_LPSTATUS,P_LPTXMODE, andP_LPENABLE.can_hw_reg_access: integer, whether supports hardware register access. Corresponds to whetherPX_RWis supported.can_tcvr_mii_reg_access: integer, whether supports transceiver MII access. Corresponds to whetherPX_MIIis supported.can_adv_phy_man: integer, whether supports advanced PHY management. Corresponds to whether the following commands are supported:PP_PHYTXEQ,PP_PHYRXEQ,PP_PHYRETUNE,PP_PHYAUTOTUNE, andPP_PHYSIGNALSTATUS.can_micro_tpld: integer, whether supports micro TPLD. WhetherP_TPLDMODE: mode = MICROis supported.can_mdi_mdix: integer, whether supports MDI/MDIX. WhetherP_MDIXMODEis supported.can_payload_mode: integer, whether supports payload mode. WhetherP_PAYLOADMODEis supported.can_custom_data_fields: integer, whether supports custom data fields. WhetherP_PAYLOADMODE: mode = CDFis supported.can_ext_payload: integer, whether supports extended payload. WhetherP_PAYLOADMODE: mode = EXTPLis supported.can_dyn_traffic_change: integer, hether supports dynamic traffic change. WhetherP_DYNAMIC: on_off = ONis supported.can_sync_traffic_start: integer, whether supports synchronized traffic start. WhetherC_TRAFFICSYNCandC_TRAFFICare supported or not.can_pfc: integer, whether supports Priority Flow Control. WhetherP_PFCENABLEis supported.can_pcs_pma_config: integer, whether this port can provide PCS/PMA configuration and status. Corresponds to whether the following commands are supported:PP_TXLANEINJECT,PP_TXERRORRATE,PP_TXLANECONFIG,PP_PRBSCONFIG, andPP_PHYSETTINGS.can_fec: integer, bitmask. forPP_FECMODE.
Bit 0: RS-FEC KR
Bit 1: RS-FEC KP
Bit 2: FC FEC
Bit 3: RS-FEC INT
Bit 31: Mandatory
Important
Bit [0] and [1] are mutually exclusive.
If [31] is set, the port does not support OFF.
If [0] is set, the port supports ON, and supposedly RS_FEC and RS_FEC_KR.
If [1] is set, the port supports ON, and supposedly RS_FEC and RS_FEC_KP.
If [2] is set, the port supports FC_FEC.
If [3] is set, the port supports RS_FEC_INT
can_fec_stats: integer, can this port provide advanced FEC stats of type x? [0] = symbol error distribution. ForPP_RXTOTALSTATS.can_tx_eq: integer, whether supports TX EQ settingsPP_PHYTXEQ.can_rx_retune: integer, whether supports RX retuningPP_PHYRETUNE.prbs_types_supported: integer, bitmask, type of PRBS supported. ForPP_PRBSTYPE: prbs_inserted_type.
Bit 0: Lane-based
Bit 1: PHY-based
Bit 2-31: Reserved
See also
Detailed explanation in Explanation of prbs_types_supported
prbs_inversions_supported: integer, bitmask, forPP_PRBSTYPE: invert
Bit 0: Lane-based supports invert
Bit 1: PHY-based supports invert
Bit 2-31: Reserved
prbs_polys_supported: integer list, bit map for each PRBS type. ForPP_PRBSTYPE: polynomial.
See also
Detailed explanation in Explanation of prbs_polys_supported
serdes_count: integer, number of physical serdes on line-side.lane_count: integer, number of lanes (virtual).tx_eq_tap_count: integer, number of TXEQ taps.tx_eq_tap_max_val: integer, max value of individual TXEQ tap.tx_eq_tap_max_val: integer, max value of individual TXEQ tap.tx_eq_tap_max_val: integer, max value of individual TXEQ tap.tx_eq_tap_max_val: integer, max value of individual TXEQ tap.tx_eq_tap_max_val: integer, max value of individual TXEQ tap.tx_eq_tap_max_val: integer, max value of individual TXEQ tap.tx_eq_tap_max_val: integer, max value of individual TXEQ tap.tx_eq_tap_max_val: integer, max value of individual TXEQ tap.tx_eq_tap_max_val: integer, max value of individual TXEQ tap.tx_eq_tap_max_val: integer, max value of individual TXEQ tap.tx_eq_tap_min_val: integer, min value of individual TXEQ tap.tx_eq_tap_min_val: integer, min value of individual TXEQ tap.tx_eq_tap_min_val: integer, min value of individual TXEQ tap.tx_eq_tap_min_val: integer, min value of individual TXEQ tap.tx_eq_tap_min_val: integer, min value of individual TXEQ tap.tx_eq_tap_min_val: integer, min value of individual TXEQ tap.tx_eq_tap_min_val: integer, min value of individual TXEQ tap.tx_eq_tap_min_val: integer, min value of individual TXEQ tap.tx_eq_tap_min_val: integer, min value of individual TXEQ tap.tx_eq_tap_min_val: integer, min value of individual TXEQ tap.
Note
This table shows the meaning of #58 to #77 based on the module type and modulation.
# |
Z800 Freya (112G serdes) |
Z400 Thor (56G serdes, PAM4) |
Z400 Thor (56G serdes, NRZ) |
Z100 Loki (28G serdes, NRZ) |
|---|---|---|---|---|
58 |
max value of pre |
max value of pre |
max value of pre |
max value of pre |
59 |
max value of main |
max value of main |
max value of main |
max value of main |
60 |
max value of post |
max value of post |
max value of post |
max value of post |
61 |
max value of pre2 |
max value of pre2 |
max value of pre2 |
0 |
62 |
max value of pre3 |
max value of post2 |
max value of post2 |
0 |
63 |
0 |
max value of post3 |
max value of post3 |
0 |
64 |
0 |
0 |
0 |
0 |
65 |
0 |
0 |
0 |
0 |
66 |
0 |
0 |
0 |
0 |
67 |
0 |
0 |
0 |
0 |
68 |
min value of pre |
min value of pre |
min value of pre |
min value of pre |
69 |
min value of main |
min value of main |
min value of main |
min value of main |
70 |
min value of post |
min value of post |
min value of post |
min value of post |
71 |
min value of pre2 |
min value of pre2 |
min value of pre2 |
0 |
72 |
min value of pre3 |
min value of post2 |
min value of post2 |
0 |
73 |
0 |
min value of post3 |
min value of post3 |
0 |
74 |
0 |
0 |
0 |
0 |
75 |
0 |
0 |
0 |
0 |
76 |
0 |
0 |
0 |
0 |
77 |
0 |
0 |
0 |
0 |
max_fec_correctable_symbol_count: integer, max number of symbols correctable by the current FEC.max_xmit_one_packet_length: integer, maximum size (in bytes) of packets, which can be sent usingP_XMITONE(replay/streaming interface). ForP_XMITONE: hex_datalength.tx_runt_packet_min_length: integer, minimum TX packet size supported by runt block. Zero = not supported. ForP_TXRUNTLENGTH: runt_length.rx_runt_packet_min_length: integer, minimum RX packet size supported by runt block. Zero = not supported. ForP_RXRUNTLENGTH: runt_length.can_manipulate_preamble: integer, whether this port can manipulate the preamble. WhetherP_TXPREAMBLE_REMOVEandP_RXPREAMBLE_INSERTare supported.can_set_link_train: integer, whether this port can set link trainingPP_LINKTRAIN.can_link_flap: integer, whether this port supports link flap. WhetherPP_LINKFLAP_ENABLEandPP_LINKFLAP_PARAMSare supported.can_auto_neg_base_r: integer, whether the port currently can perform BASE-R autonegotiation (as opposed to RJ45 BASE-T). WhetherPP_AUTONEGis supported.can_pma_error_pulse: integer, whether this port supports PMA pulse error injection. WhetherPP_PMAERRPUL_ENABLEandPP_PMAERRPUL_PARAMSare supported.is_chimera: integer, whether this is a E100 Chimera port.has_p2p_loop_partner: integer, whether this port currently has a port-to-port loop partner. WhetherP_LOOPBACK: mode = PORT2PORTis supported.p2p_loop_partner: integer, The port-to-port loop partner for the port.-1means N/A. If this is -1,P_LOOPBACK: modecannot bePORT2PORT.traffic_engine: integer, the enabled traffic engine on port. 1 = TGA, 2 = uTGA (micro TGA).reconc_sublayer: integer, the Reconciliation Sublayer support
NO_SUPPORT = 0
FAULT_SIGNALING = 1, which means P_FAULTSTATUS and P_FAULTSIGNALLING are supported by the port.
max_match_term_pos: integer, max match term position in bytesstream_misc: integer, bitmask, what streams on this port can do.
Bit 0: Whether the port supports streams with DEC8/INC16/DEC16 payload.
Bit 1: Whether the port supports ``INCPLDFROM0`` stream option (refer to the ``PS_OPTIONS`` command).
rxeq_cap_ctle_low_min: integer, min value of CTLE LOW.rxeq_cap_ctle_high_min: integer, min value of CTLE HIGH.rxeq_cap_agc_min: integer, min value of Automatic Gain Control.rxeq_cap_oc_min: integer, min value of Offset Cancellation.rxeq_cap_cdr_min: integer, min value of CDR, always 0.rxeq_cap_ffe_pre1_min: integer, min value of FFE Pre 1.rxeq_cap_ffe_pre2_min: integer, min value of FFE Pre 2.rxeq_cap_ffe_pre3_min: integer, min value of FFE Pre 3.rxeq_cap_ffe_pre4_min: integer, min value of FFE Pre 4.rxeq_cap_ffe_pre5_min: integer, min value of FFE Pre 5.rxeq_cap_ffe_pre6_min: integer, min value of FFE Pre 6.rxeq_cap_ffe_pre7_min: integer, min value of FFE Pre 7.rxeq_cap_ffe_pre8_min: integer, min value of FFE Pre 8.rxeq_cap_dfe_min: integer, min value of DFE, always 0.rxeq_cap_ffe_post1_min: integer, min value of FFE Post 1.rxeq_cap_ffe_post2_min: integer, min value of FFE Post 2.rxeq_cap_ffe_post3_min: integer, min value of FFE Post 3.rxeq_cap_ffe_post4_min: integer, min value of FFE Post 4.rxeq_cap_ffe_post5_min: integer, min value of FFE Post 5.rxeq_cap_ffe_post6_min: integer, min value of FFE Post 6.rxeq_cap_ffe_post7_min: integer, min value of FFE Post 7.rxeq_cap_ffe_post8_min: integer, min value of FFE Post 8.rxeq_cap_ffe_post9_min: integer, min value of FFE Post 9.rxeq_cap_ffe_post10_min: integer, min value of FFE Post 10.rxeq_cap_ffe_post11_min: integer, min value of FFE Post 11.rxeq_cap_ffe_post12_min: integer, min value of FFE Post 12.rxeq_cap_ffe_post13_min: integer, min value of FFE Post 13.rxeq_cap_ffe_post14_min: integer, min value of FFE Post 14.rxeq_cap_ffe_post15_min: integer, min value of FFE Post 15.rxeq_cap_ffe_post16_min: integer, min value of FFE Post 16.rxeq_cap_ffe_post17_min: integer, min value of FFE Post 17.rxeq_cap_ffe_post18_min: integer, min value of FFE Post 18.rxeq_cap_ffe_post19_min: integer, min value of FFE Post 19.rxeq_cap_ffe_post20_min: integer, min value of FFE Post 20.rxeq_cap_ffe_post21_min: integer, min value of FFE Post 21.rxeq_cap_ffe_post22_min: integer, min value of FFE Post 22.rxeq_cap_ffe_post23_min: integer, min value of FFE Post 23.reserved: integer, reserved.reserved: integer, reserved.reserved: integer, reserved.reserved: integer, reserved.reserved: integer, reserved.reserved: integer, reserved.reserved: integer, reserved.reserved: integer, reserved.reserved: integer, reserved.reserved: integer, reserved.rxeq_cap_ctle_low_max: integer, max value of CTLE LOW.rxeq_cap_ctle_high_max: integer, max value of CTLE HIGH.rxeq_cap_agc_max: integer, max value of Automatic Gain Control.rxeq_cap_oc_max: integer, max value of Offset Cancellation.rxeq_cap_cdr_max: integer, max value of CDR, always 0.rxeq_cap_ffe_pre1_max: integer, max value of FFE Pre 1.rxeq_cap_ffe_pre2_max: integer, max value of FFE Pre 2.rxeq_cap_ffe_pre3_max: integer, max value of FFE Pre 3.rxeq_cap_ffe_pre4_max: integer, max value of FFE Pre 4.rxeq_cap_ffe_pre5_max: integer, max value of FFE Pre 5.rxeq_cap_ffe_pre6_max: integer, max value of FFE Pre 6.rxeq_cap_ffe_pre7_max: integer, max value of FFE Pre 7.rxeq_cap_ffe_pre8_max: integer, max value of FFE Pre 8.rxeq_cap_dfe_max: integer, max value of DFE, always 0.rxeq_cap_ffe_post1_max: integer, max value of FFE Post 1.rxeq_cap_ffe_post2_max: integer, max value of FFE Post 2.rxeq_cap_ffe_post3_max: integer, max value of FFE Post 3.rxeq_cap_ffe_post4_max: integer, max value of FFE Post 4.rxeq_cap_ffe_post5_max: integer, max value of FFE Post 5.rxeq_cap_ffe_post6_max: integer, max value of FFE Post 6.rxeq_cap_ffe_post7_max: integer, max value of FFE Post 7.rxeq_cap_ffe_post8_max: integer, max value of FFE Post 8.rxeq_cap_ffe_post9_max: integer, max value of FFE Post 9.rxeq_cap_ffe_post10_max: integer, max value of FFE Post 10.rxeq_cap_ffe_post11_max: integer, max value of FFE Post 11.rxeq_cap_ffe_post12_max: integer, max value of FFE Post 12.rxeq_cap_ffe_post13_max: integer, max value of FFE Post 13.rxeq_cap_ffe_post14_max: integer, max value of FFE Post 14.rxeq_cap_ffe_post15_max: integer, max value of FFE Post 15.rxeq_cap_ffe_post16_max: integer, max value of FFE Post 16.rxeq_cap_ffe_post17_max: integer, max value of FFE Post 17.rxeq_cap_ffe_post18_max: integer, max value of FFE Post 18.rxeq_cap_ffe_post19_max: integer, max value of FFE Post 19.rxeq_cap_ffe_post20_max: integer, max value of FFE Post 20.rxeq_cap_ffe_post21_max: integer, max value of FFE Post 21.rxeq_cap_ffe_post22_max: integer, max value of FFE Post 22.rxeq_cap_ffe_post23_max: integer, max value of FFE Post 23.reserved: integer, reserved.reserved: integer, reserved.reserved: integer, reserved.reserved: integer, reserved.reserved: integer, reserved.reserved: integer, reserved.reserved: integer, reserved.reserved: integer, reserved.reserved: integer, reserved.reserved: integer, reserved.length_histogram_step_min: integer, minimum step size for length histograms.length_histogram_step_max: integer, maximum step size for length histograms.latency_histogram_step_min: integer, minimum step size for latency histograms.latency_histogram_step_max: integer, maximum step size for latency histograms.tcvr_i2c_min_freq_khz: integer, Minimum configurable transceiver I2C frequency in kHz. Default is 100 kHztcvr_i2c_max_freq_khz: integer, Maximum configurable transceiver I2C frequency in kHz. Default is 100 kHz; value is either based on module HW limits or transceiver capability limitscan_eyescan: integer, bitmask
Bit 0: Sampled Eyescan supported.
Bit 1: Statistical Eye Scan supported (the Z100 Loki eye-scan).
layer1_misc: integer, bitmask
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
Bit 7: Can P/N Polarity Swap
Bit 8: Can Pre-coding
Bit 9: Can Gray-coding
Bit 0: Is Mix length index 0 editable
Bit 1: Is Mix length index 1 editable
Bit 2: Is Mix length index 2 editable
Bit 3: Is Mix length index 3 editable
Bit 4: Is Mix length index 4 editable
Bit 5: Is Mix length index 5 editable
Bit 6: Is Mix length index 6 editable
Bit 7: Is Mix length index 7 editable
Bit 8: Is Mix length index 8 editable
Bit 9: Is Mix length index 9 editable
Bit 10: Is Mix length index 10 editable
Bit 11: Is Mix length index 11 editable
Bit 12: Is Mix length index 12 editable
Bit 13: Is Mix length index 13 editable
Bit 14: Is Mix length index 14 editable
Bit 15: Is Mix length index 15 editable
See also
Detailed explanation in Explanation of editable_mixlength_indices
can_modifier_le: integer, bitmask
Bit 0: Normal modifier (16/24-bit) supports little-endian
Bit 1: Extended modifier (32-bit) supports little-endian
capture_bitmask: integer, bitmask
If all bits are 0, CAPTURE_NOT_SUPPORTED
// Bits [0:11] are for Start triggers
Bit 0: CAPTURE_START_ON
Bit 1: CAPTURE_START_FCSERROR
Bit 2: CAPTURE_START_FILTER
Bit 3: CAPTURE_START_PLDERROR
Bit 4-11: Reserved
// Bits [12:23] are for Stop triggers
Bit 12: CAPTURE_STOP_FULL
Bit 13: CAPTURE_STOP_FCSERROR
Bit 14: CAPTURE_STOP_FILTER
Bit 15: CAPTURE_STOP_PLDERROR
Bit 16: CAPTURE_STOP_USERSTOP
Bit 17-23: Reserved
// Bits [24:31] are for Keep modes
Bit 24: CAPTURE_KEEP_ALL
Bit 25: CAPTURE_KEEP_FCSERR
Bit 26: CAPTURE_KEEP_NOTPLD
Bit 27: CAPTURE_KEEP_TPLD
Bit 28: CAPTURE_KEEP_FILTER
Bit 29: CAPTURE_KEEP_PLDERR
Bit 30-31: Reserved
Example
# get
input: 0/1 P_CAPABILITIES ?
Fig. 3.1 Explanation of prbs_types_supported and prbs_polys_supported
Fig. 3.2 Explanation of editable_mixlength_indices