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#

  1. max_speed: integer, maximum wire speed in Mbps, for fastest transceiver and mode. This is L1 Mbps, related to calculating PS_RATEL2BPS and PS_RATEPPS.

  2. max_speed_reduction: integer, maximum ppm value of speed reduction for P_SPEEDREDUCTION.

  3. min_interframe_gap: integer, minimum bytes between frames for P_INTERFRAMEGAP.

  4. max_interframe_gap: integer, maximum explicit bytes between frames for P_INTERFRAMEGAP.

  5. max_preamble: integer, maximum preamble bytes included in frame. Ethernet preamble byte count, include in the IFG byte count.

  6. max_streams_per_port: integer, maximum streams per port. Max length of PS_INDICES: stream_indices, and PS_CREATE max index value.

  7. max_percent: integer, maximum input rate in percent. Maximum incoming traffic rate in percent.

  8. max_pps: integer, maximum input rate in pps. Maximum incoming traffic rate in pps.

  9. max_mbps: integer, maximum input rate in Mbps. Maximum incoming traffic rate in Mbps.

  10. max_seed: integer, maximum random seed for P_RANDOMSEED: seed.

  11. max_tx_packet_limit: integer, maximum stop-after-n-packet limitation for P_TXPACKETLIMIT: packet_count_limit.

  12. max_burst_size: integer, maximum packets per burst for PS_BURST: size.

  13. min_packet_length: integer, minimum bytes in total packet for PS_PACKETLENGTH.

  14. max_packet_length: integer, maximum bytes in total packet for PS_PACKETLENGTH.

  15. max_header_length: integer, maximum bytes in auto-generated packet header for P_MAXHEADERLENGTH.

  16. max_protocol_segments: integer, maximum number of protocol segments. For PS_HEADERPROTOCOL: segments and it should be the same as C_CAPABILITIES: max_protocol_count.

  17. max_pattern_length: integer, maximum bytes in payload pattern. For PS_PAYLOAD: hex_data max length.

  18. max_modifiers: integer, maximum 16-bit modifiers per stream. For PS_MODIFIERCOUNT: modifier_count.

  19. max_modifier_bytes: integer, maximum bytes in a modified field. Fixed to 2 bytes.

  20. max_repeat: integer, maximum repeats for a modifier. For PS_MODIFIER: repetition.

  21. max_tpid: integer, maximum TPLD ID value. For PS_TPLDID: test_payload_identifier.

  22. max_manual_packets: integer, maximum manual packets. Not in use.

  23. max_match_terms: integer, max filter match terms per port. Max length of PM_INDICES: match_term_xindices, and PM_CREATE max index value.

  24. max_length_terms: integer, max filter length terms per port. Max length of PL_INDICES: length_term_xindices, and PL_CREATE max index value.

  25. max_ors: integer, max or-terms per filter.

  26. max_nots: integer, max or-terms with nots per filter.

  27. max_filters: integer, max filters per port. Max length of PF_INDICES: filter_xindices, and PF_CREATE max index value.

  28. max_captured_packets: integer, max captured packets at one time. PC_STATS: packets max value

  29. max_tpld_stats: integer, max number of different TPLDs for RX statistics. Max TPLD index a RX port can handle.

  30. max_histogram: integer, max number of sampled histograms. Max length of PD_INDICES: histogram_indices, and PD_CREATE max index value.

  31. max_32bit_modifiers: integer, max 32-bit modifiers per stream. Max value of PS_MODIFIEREXTCOUNT: ext_modifier_count.

  32. can_set_autoneg: integer, whether supports auto negotiation. For P_AUTONEGSELECTION, and it tells whether the port is a RJ45 port or not.

  33. can_tcp_checksum: integer, whether supports TCP with valid checksum. PS_HEADERPROTOCOL: segments = TCPCHECK supported or not.

  34. can_udp_checksum: integer, whether supports UDP with valid checksum. PS_HEADERPROTOCOL: segments = UDPCHECK supported or not.

  35. 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, and P_LPENABLE.

  36. can_hw_reg_access: integer, whether supports hardware register access. Corresponds to whether PX_RW is supported.

  37. can_tcvr_mii_reg_access: integer, whether supports transceiver MII access. Corresponds to whether PX_MII is supported.

  38. 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, and PP_PHYSIGNALSTATUS.

  39. can_micro_tpld: integer, whether supports micro TPLD. Whether P_TPLDMODE: mode = MICRO is supported.

  40. can_mdi_mdix: integer, whether supports MDI/MDIX. Whether P_MDIXMODE is supported.

  41. can_payload_mode: integer, whether supports payload mode. Whether P_PAYLOADMODE is supported.

  42. can_custom_data_fields: integer, whether supports custom data fields. Whether P_PAYLOADMODE: mode = CDF is supported.

  43. can_ext_payload: integer, whether supports extended payload. Whether P_PAYLOADMODE: mode = EXTPL is supported.

  44. can_dyn_traffic_change: integer, hether supports dynamic traffic change. Whether P_DYNAMIC: on_off = ON is supported.

  45. can_sync_traffic_start: integer, whether supports synchronized traffic start. Whether C_TRAFFICSYNC and C_TRAFFIC are supported or not.

  46. can_pfc: integer, whether supports Priority Flow Control. Whether P_PFCENABLE is supported.

  47. 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, and PP_PHYSETTINGS.

  48. can_fec: integer, for PP_FECMODE. This value is a bit map: [0] = RS FEC KR, [1] = RS FEC KP, [2] = FC FEC, [3] = RS FEC Int [31] = Mandatory. Position [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

  49. can_fec_stats: integer, can this port provide advanced FEC stats of type x? [0] = symbol error distribution. For PP_RXTOTALSTATS.

  50. can_tx_eq: integer, whether supports TX EQ settings PP_PHYTXEQ.

  51. can_rx_retune: integer, whether supports RX retuning PP_PHYRETUNE.

  52. prbs_types_supported: integer, type of PRBS supported [0] = lane-based, [1] = PHY-based, [2-31] = reserved. For PP_PRBSTYPE: prbs_inserted_type.

See also

Detailed explanation in Explanation of prbs_types_supported

  1. prbs_inversions_supported: integer, [0] = lane-based supports inv, [1] = PHY-based supports inv, [2-31] = reserved. For PP_PRBSTYPE: invert.

  2. prbs_polys_supported: integer list, bit map for each PRBS type. For PP_PRBSTYPE: polynomial.

See also

Detailed explanation in Explanation of prbs_polys_supported

  1. serdes_count: integer, number of physical serdes on line-side.

  2. lane_count: integer, number of lanes (virtual).

  3. tx_eq_tap_count: integer, number of TXEQ taps.

  4. tx_eq_tap_max_val: integer, max value of individual TXEQ tap.

  5. tx_eq_tap_max_val: integer, max value of individual TXEQ tap.

  6. tx_eq_tap_max_val: integer, max value of individual TXEQ tap.

  7. tx_eq_tap_max_val: integer, max value of individual TXEQ tap.

  8. tx_eq_tap_max_val: integer, max value of individual TXEQ tap.

  9. tx_eq_tap_max_val: integer, max value of individual TXEQ tap.

  10. tx_eq_tap_max_val: integer, max value of individual TXEQ tap.

  11. tx_eq_tap_max_val: integer, max value of individual TXEQ tap.

  12. tx_eq_tap_max_val: integer, max value of individual TXEQ tap.

  13. tx_eq_tap_max_val: integer, max value of individual TXEQ tap.

  14. tx_eq_tap_min_val: integer, min value of individual TXEQ tap.

  15. tx_eq_tap_min_val: integer, min value of individual TXEQ tap.

  16. tx_eq_tap_min_val: integer, min value of individual TXEQ tap.

  17. tx_eq_tap_min_val: integer, min value of individual TXEQ tap.

  18. tx_eq_tap_min_val: integer, min value of individual TXEQ tap.

  19. tx_eq_tap_min_val: integer, min value of individual TXEQ tap.

  20. tx_eq_tap_min_val: integer, min value of individual TXEQ tap.

  21. tx_eq_tap_min_val: integer, min value of individual TXEQ tap.

  22. tx_eq_tap_min_val: integer, min value of individual TXEQ tap.

  23. 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

  1. max_fec_correctable_symbol_count: integer, max number of symbols correctable by the current FEC.

  2. max_xmit_one_packet_length: integer, maximum size (in bytes) of packets, which can be sent using P_XMITONE (replay/streaming interface). For P_XMITONE: hex_data length.

  3. tx_runt_packet_min_length: integer, minimum TX packet size supported by runt block. Zero = not supported. For P_TXRUNTLENGTH: runt_length.

  4. rx_runt_packet_min_length: integer, minimum RX packet size supported by runt block. Zero = not supported. For P_RXRUNTLENGTH: runt_length.

  5. can_manipulate_preamble: integer, whether this port can manipulate the preamble. Whether P_TXPREAMBLE_REMOVE and P_RXPREAMBLE_INSERT are supported.

  6. can_set_link_train: integer, whether this port can set link training PP_LINKTRAIN.

  7. can_link_flap: integer, whether this port supports link flap. Whether PP_LINKFLAP_ENABLE and PP_LINKFLAP_PARAMS are supported.

  8. can_auto_neg_base_r: integer, whether the port currently can perform BASE-R autonegotiation (as opposed to RJ45 BASE-T). Whether PP_AUTONEG is supported.

  9. can_pma_error_pulse: integer, whether this port supports PMA pulse error injection. Whether PP_PMAERRPUL_ENABLE and PP_PMAERRPUL_PARAMS are supported.

  10. is_chimera: integer, whether this is a E100 Chimera port.

  11. has_p2p_loop_partner: integer, whether this port currently has a port-to-port loop partner. Whether P_LOOPBACK: mode = PORT2PORT is supported.

  12. p2p_loop_partner: integer, The port-to-port loop partner for the port. -1 means N/A. If this is -1, P_LOOPBACK: mode cannot be PORT2PORT.

  13. traffic_engine: integer, the enabled traffic engine on port. 1 = TGA, 2 = uTGA (micro TGA).

  14. 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.

  1. max_match_term_pos: integer, max match term position in bytes

  2. 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).

  3. rxeq_cap_ctle_low_min: integer, min value of CTLE LOW.

  4. rxeq_cap_ctle_high_min: integer, min value of CTLE HIGH.

  5. rxeq_cap_agc_min: integer, min value of Automatic Gain Control.

  6. rxeq_cap_oc_min: integer, min value of Offset Cancellation.

  7. rxeq_cap_cdr_min: integer, min value of CDR, always 0.

  8. rxeq_cap_ffe_pre1_min: integer, min value of FFE Pre 1.

  9. rxeq_cap_ffe_pre2_min: integer, min value of FFE Pre 2.

  10. rxeq_cap_ffe_pre3_min: integer, min value of FFE Pre 3.

  11. rxeq_cap_ffe_pre4_min: integer, min value of FFE Pre 4.

  12. rxeq_cap_ffe_pre5_min: integer, min value of FFE Pre 5.

  13. rxeq_cap_ffe_pre6_min: integer, min value of FFE Pre 6.

  14. rxeq_cap_ffe_pre7_min: integer, min value of FFE Pre 7.

  15. rxeq_cap_ffe_pre8_min: integer, min value of FFE Pre 8.

  16. rxeq_cap_dfe_min: integer, min value of DFE, always 0.

  17. rxeq_cap_ffe_post1_min: integer, min value of FFE Post 1.

  18. rxeq_cap_ffe_post2_min: integer, min value of FFE Post 2.

  19. rxeq_cap_ffe_post3_min: integer, min value of FFE Post 3.

  20. rxeq_cap_ffe_post4_min: integer, min value of FFE Post 4.

  21. rxeq_cap_ffe_post5_min: integer, min value of FFE Post 5.

  22. rxeq_cap_ffe_post6_min: integer, min value of FFE Post 6.

  23. rxeq_cap_ffe_post7_min: integer, min value of FFE Post 7.

  24. rxeq_cap_ffe_post8_min: integer, min value of FFE Post 8.

  25. rxeq_cap_ffe_post9_min: integer, min value of FFE Post 9.

  26. rxeq_cap_ffe_post10_min: integer, min value of FFE Post 10.

  27. rxeq_cap_ffe_post11_min: integer, min value of FFE Post 11.

  28. rxeq_cap_ffe_post12_min: integer, min value of FFE Post 12.

  29. rxeq_cap_ffe_post13_min: integer, min value of FFE Post 13.

  30. rxeq_cap_ffe_post14_min: integer, min value of FFE Post 14.

  31. rxeq_cap_ffe_post15_min: integer, min value of FFE Post 15.

  32. rxeq_cap_ffe_post16_min: integer, min value of FFE Post 16.

  33. rxeq_cap_ffe_post17_min: integer, min value of FFE Post 17.

  34. rxeq_cap_ffe_post18_min: integer, min value of FFE Post 18.

  35. rxeq_cap_ffe_post19_min: integer, min value of FFE Post 19.

  36. rxeq_cap_ffe_post20_min: integer, min value of FFE Post 20.

  37. rxeq_cap_ffe_post21_min: integer, min value of FFE Post 21.

  38. rxeq_cap_ffe_post22_min: integer, min value of FFE Post 22.

  39. rxeq_cap_ffe_post23_min: integer, min value of FFE Post 23.

  40. reserved: integer, reserved.

  41. reserved: integer, reserved.

  42. reserved: integer, reserved.

  43. reserved: integer, reserved.

  44. reserved: integer, reserved.

  45. reserved: integer, reserved.

  46. reserved: integer, reserved.

  47. reserved: integer, reserved.

  48. reserved: integer, reserved.

  49. reserved: integer, reserved.

  50. rxeq_cap_ctle_low_max: integer, max value of CTLE LOW.

  51. rxeq_cap_ctle_high_max: integer, max value of CTLE HIGH.

  52. rxeq_cap_agc_max: integer, max value of Automatic Gain Control.

  53. rxeq_cap_oc_max: integer, max value of Offset Cancellation.

  54. rxeq_cap_cdr_max: integer, max value of CDR, always 0.

  55. rxeq_cap_ffe_pre1_max: integer, max value of FFE Pre 1.

  56. rxeq_cap_ffe_pre2_max: integer, max value of FFE Pre 2.

  57. rxeq_cap_ffe_pre3_max: integer, max value of FFE Pre 3.

  58. rxeq_cap_ffe_pre4_max: integer, max value of FFE Pre 4.

  59. rxeq_cap_ffe_pre5_max: integer, max value of FFE Pre 5.

  60. rxeq_cap_ffe_pre6_max: integer, max value of FFE Pre 6.

  61. rxeq_cap_ffe_pre7_max: integer, max value of FFE Pre 7.

  62. rxeq_cap_ffe_pre8_max: integer, max value of FFE Pre 8.

  63. rxeq_cap_dfe_max: integer, max value of DFE, always 0.

  64. rxeq_cap_ffe_post1_max: integer, max value of FFE Post 1.

  65. rxeq_cap_ffe_post2_max: integer, max value of FFE Post 2.

  66. rxeq_cap_ffe_post3_max: integer, max value of FFE Post 3.

  67. rxeq_cap_ffe_post4_max: integer, max value of FFE Post 4.

  68. rxeq_cap_ffe_post5_max: integer, max value of FFE Post 5.

  69. rxeq_cap_ffe_post6_max: integer, max value of FFE Post 6.

  70. rxeq_cap_ffe_post7_max: integer, max value of FFE Post 7.

  71. rxeq_cap_ffe_post8_max: integer, max value of FFE Post 8.

  72. rxeq_cap_ffe_post9_max: integer, max value of FFE Post 9.

  73. rxeq_cap_ffe_post10_max: integer, max value of FFE Post 10.

  74. rxeq_cap_ffe_post11_max: integer, max value of FFE Post 11.

  75. rxeq_cap_ffe_post12_max: integer, max value of FFE Post 12.

  76. rxeq_cap_ffe_post13_max: integer, max value of FFE Post 13.

  77. rxeq_cap_ffe_post14_max: integer, max value of FFE Post 14.

  78. rxeq_cap_ffe_post15_max: integer, max value of FFE Post 15.

  79. rxeq_cap_ffe_post16_max: integer, max value of FFE Post 16.

  80. rxeq_cap_ffe_post17_max: integer, max value of FFE Post 17.

  81. rxeq_cap_ffe_post18_max: integer, max value of FFE Post 18.

  82. rxeq_cap_ffe_post19_max: integer, max value of FFE Post 19.

  83. rxeq_cap_ffe_post20_max: integer, max value of FFE Post 20.

  84. rxeq_cap_ffe_post21_max: integer, max value of FFE Post 21.

  85. rxeq_cap_ffe_post22_max: integer, max value of FFE Post 22.

  86. rxeq_cap_ffe_post23_max: integer, max value of FFE Post 23.

  87. reserved: integer, reserved.

  88. reserved: integer, reserved.

  89. reserved: integer, reserved.

  90. reserved: integer, reserved.

  91. reserved: integer, reserved.

  92. reserved: integer, reserved.

  93. reserved: integer, reserved.

  94. reserved: integer, reserved.

  95. reserved: integer, reserved.

  96. reserved: integer, reserved.

  97. length_histogram_step_min: integer, minimum step size for length histograms.

  98. length_histogram_step_max: integer, maximum step size for length histograms.

  99. latency_histogram_step_min: integer, minimum step size for latency histograms.

  100. latency_histogram_step_max: integer, maximum step size for latency histograms.

  101. tcvr_i2c_min_freq_khz: integer, Minimum configurable transceiver I2C frequency in kHz. Default is 100 kHz

  102. tcvr_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 limits

  103. can_eyescan: integer, bitmask, Bit 0: Sampled Eyescan supported. Reserved, but not implemented yet: Bit 1: Statistical Eye Scan supported (the Z100 Loki eye-scan).

Example#

# get
input:  0/1 P_CAPABILITIES ?
prbstypessupported and prbspolyssupported explanation

Fig. 3 Explanation of prbs_types_supported and prbs_polys_supported#