L1 Functions¶
l1 config¶
Execute Tester Command ${rt_handle} command=test_control <additional key=value arguments>
- Purpose:
Configures and modifies an L1 port on a Spirent HLTAPI chassis.
Layer 1 services gives access to the various physicallayer sublayers to configure and test layer 1 implementations on supported interfaces.
Synopsis:
Note: M indicates the argument is `Mandatory`.
l1 config
mode= {config|modify} M
port_handle= <port handle> M
L1 port config
link_recovery_enabled= {true|false}
tx_ppm_adjust= <-100-100>
L1 Port Equalizer Config
ctle_enabled= {true|false}
dfe_enabled= {true|false}
L1 Port PCS
auto_negotiation_enabled= {true|false}
ignore_link_status= {true|false}
link_training_enabled= {true|false}
PAM4 AN/LT Transceiver Config
main_tap <20= to 20>
post_emphasis <20= to 20>
pre_emphasis <20= to 20>
rx_mode= {optical|loopback|dac}
tx_coarse_swing= <0-6>
tx_enabled= {true|false}
transceiver_lane_num= <lane number>
transceiver_lane_num_list= <lane number>
main_tap_list= <value list>
post_emphasis_list= <value list>
pre_emphasis_list= <value list>
rx_mode_list= <value list>
tx_coarse_swing_list= <value list>
tx_enabled_list= <value list>
PCS Lanes Config
pcs_skew_lane_num= <lane number>
tx_skew_bits= <bit number>
pcs_skew_lane_num_list= <lane number list>
tx_skew_bits_list= <bit number list>
PRBS Lanes Config
tx_pattern= {NONE|PRBS7|PRBS9|PRBS15|PRBS23|PRBS31}
invert= {true|false}
prbs_lane_num= <lane number>
prbs_lane_num_list= <lane number list>
tx_pattern_list= <value list>
invert_list= <value list>
Fec Error Injection Config
codeworda_mxity= <bool>
codewordb_mxity= <bool>
startof_codeword_mask <160bit hex or 320bit= hex>
endof_parity_mask <160bit= hex>
Random Error Injection Config
port_error_injector_rate= <string>
error_injectors_lane_num= <lane number>
lane_error_injectors_enabled= {true|false}
error_injectors_lane_num_list= <lane num list>
error_injectors_enabled_list= <value list>
Arguments:
mode
Specifies the action to perform on the specified test port.
The modes are described below::
config - Configures one or more L1 test group arguments on the ports
specified with the port_handle argument. You must
specify the port_handle argument.
modify - Changes the configuration for the L1 port
identified by the port_handle argument. You must
specify the port_handle argument.
port_handle
Specifies the port on which to configure L1 test when
mode is set to create. This argument is `Mandatory` for
create and modify modes.
link_recovery_enabled
Specifies to enable or disable link recovery.
The default is true.
tx_ppm_adjust
Specifies to adjust the clock frequency by parts per
million (PPM) for accuracy.
Possible value range is from -100 to 100.
The default is 0.
When you need to specify a negative value, you must encompass
the value by double quotation marks and braces, such as
{“-5”} or “{-5}”. Other formats like “-5”, {-5} or -5 are
not acceptable.
ctle_enabled
Specifies to enable or disable CTLE (continuous time linear
equalization).
The default is true.
dfe_enabled
Specifies to enable or disable DFE (decision feedback equalizer).
The default is true.
auto_negotiation_enabled
Specifies to enable auto negotiation.
The default is true.
ignore_link_status
Specifies whether to continue sending traffic when a link
fault is detected.
The default is false.
link_training_enabled
Specifies to enable link training.
The default is true.
main_tap
Specifies the undistorted output voltage of the transmit signals.
Possible value range is from -20 to 20.
The default is 0.
When you need to specify a negative value, you must encompass
the value by double quotation marks and braces, such as
{“-5”} or “{-5}”. Other formats like “-5”, {-5} or -5 are
not acceptable.
main_tap_list
Specifies the list of main tap values.
This argument is applicable when transceiver_lane_num_list
is specified.
post_emphasis
The trailing edge predistortion voltage added to the transmit signals.
This value sets the signal strength on the transmitting port.
Possible value range is from -20 to 20.
The default is 0.
When you need to specify a negative value, you must encompass
the value by double quotation marks and braces, such as
{“-5”} or “{-5}”. Other formats like “-5”, {-5} or -5 are
not acceptable.
post_emphasis_list
Specifies the list of post emphasis values.
This argument is applicable when transceiver_lane_num_list
is specified.
pre_emphasis
The leading edge predistortion voltage added to the transmit signals.
This value sets the signal strength on the transmitting port.
Possible value range is from -20 to 20.
The default is 0.
When you need to specify a negative value, you must encompass
the value by double quotation marks and braces, such as
{“-5”} or “{-5}”. Other formats like “-5”, {-5} or -5 are
not acceptable.
pre_emphasis_list
Specifies the list of pre emphasis values.
This argument is applicable when transceiver_lane_num_list
is specified.
rx_mode
Select the mode for lane.
Possible values are optical, loopback, and dac.
The default is loopback.
rx_mode_list
Specifies the list of rx mode values.
This argument is applicable when transceiver_lane_num_list
is specified.
tx_coarse_swing
Specifies transmitter voltage swing as a percentage of the normal
voltage swing.
Possible value range is from 0 to 6.
The default is 0.
tx_coarse_swing_list
Specifies the list of transmitter coarse swing values.
This argument is applicable when transceiver_lane_num_list
is specified.
tx_enabled
Select to enable or disable the transmitter for the lane.
The default is true.
tx_enabled_list
Specifies the list of transmitter enabled values.
This argument is applicable when transceiver_lane_num_list
is specified.
transceiver_lane_num
Specifies the transceiver lane number to configure main_tap,
post_emphasis, pre_emphasis, -tx_enabled, -tx_coarse_swing,
and rx_mode values.
Example: If the value is set to 1, Lane1 transceiver options
will configure.
The default is 0.
transceiver_lane_num_list
Specifies the transceiver lane number list to configure main_tap_list,
post_emphasis_list, pre_emphasis_list, -tx_enabled_list,
tx_coarse_swing_list, and -rx_mode_list values.
Example: If the value is set to "0 1 3", Lane0,Lane1 and Lane3
transceiver options will configure.
tx_skew_bits
Specifies the number of bits of delay to add to the signal.
The default is 0.
tx_skew_bits_list
Specifies the list of transmitter skew bits values.
This argument is applicable when pcs_skew_lane_num_list
is specified.
pcs_skew_lane_num
Specifies the PCS lane number to configure tx_skew_bits value.
Example: If the value is set to 1, lane1 PCS options
will configure.
The default is 0.
pcs_skew_lane_num_list
Specifies the PCS lane number list to configure tx_skew_bits_list
values.
Example: If the value is set to "0 1 3", Lane0,Lane1, and Lane3
pcs options will configure.
tx_pattern
Specifies the PRBS pattern to transmit.
Possible values are PRBS7,PRBS9,PRBS15,PRBS23,PRBS31, and NONE.
The default is NONE.
invert
Specifies to invert tx_pattern value.
This argument is not applicable if the tx_pattern argument value
is set to NONE.
The default is false.
tx_pattern_list
Specifies the list of PRBS pattern values to transmit.
This argument is applicable when prbs_lane_num_list
is specified.
invert_list
Specifies the list of invert values.
This argument is applicable when prbs_lane_num_list
is specified.
prbs_lane_num
Specifies the PRBS lane number to configure tx_pattern and
invert values.
Example: If the value is set to 1, lane1 PRBS options
will configure.
The default is 0.
prbs_lane_num_list
Specifies the PRBS lane number list to configure tx_pattern_list and
invert_list values.
Example: If the value is set to "0 1 3", lane0, lane1, and lane3
PRBS options will configure.
codeworda_mxity
Specifies one or more codewords to inject.
Maximum 3 codewords can be provided for 200/400gig ports.
Example: codeworda_mxity "true true true" (First, Second and Third
checkboxes under FEC Error injection view)
The default is true.
codewordb_mxity
Specifies one or more codewords to inject.
Maximum 3 codewords can be provided for 200/400gig ports.
Example: codeworda_mxity "true true true" (First, Second and Third
checkboxes under FEC Error injection view)
The default is true.
Note: This argument is not supported for 50/100Gig ports.
startof_codeword_mask
Specifies bits to create the startof-codeword mask.
For 200/400gig ports, specify 160bit hex value.
Example: startof_codeword_mask 0000000000000000000000010000000000000001
For 50/100gig ports, specify 320bit hex value.
Example:
startof_codeword_mask
"00000000000000000000000000010000000000000000000010000000000000000000000000000002"
endof_parity_mask
Specifies bits to create the startof-codeword mask.
For 200/400gig ports, specify 160bit hex value.
Example: startof_codeword_mask 0000000000000000000000010000000000000001
This argument is not supported for 50/100gig ports.
The default is 0000000000000000000000000000000000000000.
port_error_injector_rate
Specifies the port error rate, which is allocated across
all the lanes.
The default is 1.0e-3.
lane_error_injectors_enabled
Specifies to enable or disable inject errors on the lane.
The default is true.
error_injectors_enabled_list
Specifies the list of error injectors enabled values.
This argument is applicable when error_injectors_lane_num_list
is specified.
error_injectors_lane_num
Specifies the random error injector lane number to configure
lane_error_injectors_enabled value.
Example: If the value is set to 1, lane1 random error injector options
will configure.
The default is 0.
error_injectors_lane_num_list
Specifies the random error injector lane number list to configure
error_injectors_enabled_list values.
Example: If the value is set to "0 1 3", lane0,lane1 and lane3
random error injector options will configure.
Arguments Unsupported by Save as HLTAPI:
None
- Return Values:
Depending on the specific language that HLTAPI uses, the function returns a keyed list/dictionary/hash (See Introduction for more information on return value formats) using the following keys (with corresponding data):
handles A list of lane handles that identify the L1 ports by the ``l1 config`` function. status Success (1) or failure (0) of the operation. log An error message (if the operation failed).
- Description:
- The
l1 config
function configures and modifies an L1 port options. Use the port_handle argument to identify the port. (The port handle value is contained in the keyed list returned by the connect function.) Use the mode argument to specify the action to perform. (See the mode argument description for information about the actions.)
Examples:
The following example configures all L1 test options for 400gig:
set l1config [l1 config port_handle= "port1" mode= config link_recovery_enabled= true tx_ppm_adjust= "{-1}" auto_negotiation_enabled= false ignore_link_status= false link_training_enabled= false ctle_enabled= true dfe_enabled= true main_tap= 1 post_emphasis= 1 pre_emphasis= 1 rx_mode= loopback tx_coarse_swing= 1 tx_enabled= true transceiver_lane_num= 0 transceiver_lane_num_list= "0 1" main_tap_list= "{-1} {-1}" post_emphasis_list= "1 1" pre_emphasis_list= "1 1" tx_coarse_swing_list= "1 1" tx_enabled_list= "true true" rx_mode_list= "dac loopback" tx_skew_bits= 1 pcs_skew_lane_num= 0 pcs_skew_lane_num_list= "0 1" tx_skew_bits_list= "1 1" tx_pattern= prbs7 invert= false prbs_lane_num= 0 prbs_lane_num_list= "0 1" tx_pattern_list= "prbs7 prbs7" invert_list= "true true" codeworda_mxity= "true" codewordb_mxity= "true" startof_codeword_mask= 0000000000000000000000000000000000000000 endof_parity_mask= 0000000000000000000000000000000000000000 port_error_injector_rate= "1.0e-3" lane_error_injectors_enabled= true error_injectors_lane_num= 1 error_injectors_lane_num_list= "0 1" error_injectors_enabled_list= "true true"
]
Sample output for example shown above:
{handles {port1 {{l1_lane_pcs_handle {l1lanepcsskews1 l1lanepcsskews2 l1lanepcsskews3 l1lanepcsskews4 l1lanepcsskews5 l1lanepcsskews6 l1lanepcsskews7 l1lanepcsskews8 l1lanepcsskews9 l1lanepcsskews10 l1lanepcsskews11 l1lanepcsskews12 l1lanepcsskews13 l1lanepcsskews14 l1lanepcsskews15 l1lanepcsskews16}} {l1_lane_prbs_handle {l1laneprbspam41 l1laneprbspam42 l1laneprbspam43 l1laneprbspam44 l1laneprbspam45 l1laneprbspam46 l1laneprbspam47 l1laneprbspam48}} {l1_lane_txcvrs_handle {l1lanetxcvrspam41 l1lanetxcvrspam42 l1lanetxcvrspam43 l1lanetxcvrspam44 l1lanetxcvrspam45 l1lanetxcvrspam46 l1lanetxcvrspam47 l1lanetxcvrspam48}} {l1_lane_error_injectors_handle {l1laneerrorinjectors1 l1laneerrorinjectors2 l1laneerrorinjectors3 l1laneerrorinjectors4 l1laneerrorinjectors5 l1laneerrorinjectors6 l1laneerrorinjectors7 l1laneerrorinjectors8 l1laneerrorinjectors9 l1laneerrorinjectors10 l1laneerrorinjectors11 l1laneerrorinjectors12 l1laneerrorinjectors13 l1laneerrorinjectors14 l1laneerrorinjectors15 l1laneerrorinjectors16}}}}} {status 1}The following example modifies L1 port arguments:
l1 config port_handle= "port1" mode= modify tx_ppm_adjust= "1" auto_negotiation_enabled= true ignore_link_status= true link_training_enabled= true main_tap= 1 post_emphasis= "{-1}" pre_emphasis= "{-1}" rx_mode= dac tx_coarse_swing= 4 tx_enabled= true transceiver_lane_num= 0 tx_skew_bits= 1 pcs_skew_lane_num= 0 tx_pattern= none invert= false prbs_lane_num= 0 codeworda_mxity= "true" port_error_injector_rate= "1.0e-3" lane_error_injectors_enabled= false error_injectors_lane_num= 1 ]Sample output for example shown above:
{handles {port1 {{l1_lane_pcs_handle {l1lanepcsskews1 l1lanepcsskews2 l1lanepcsskews3 l1lanepcsskews4 l1lanepcsskews5 l1lanepcsskews6 l1lanepcsskews7 l1lanepcsskews8 l1lanepcsskews9 l1lanepcsskews10 l1lanepcsskews11 l1lanepcsskews12 l1lanepcsskews13 l1lanepcsskews14 l1lanepcsskews15 l1lanepcsskews16}} {l1_lane_prbs_handle {l1laneprbspam41 l1laneprbspam42 l1laneprbspam43 l1laneprbspam44 l1laneprbspam45 l1laneprbspam46 l1laneprbspam47 l1laneprbspam48}} {l1_lane_txcvrs_handle {l1lanetxcvrspam41 l1lanetxcvrspam42 l1lanetxcvrspam43 l1lanetxcvrspam44 l1lanetxcvrspam45 l1lanetxcvrspam46 l1lanetxcvrspam47 l1lanetxcvrspam48}} {l1_lane_error_injectors_handle {l1laneerrorinjectors1 l1laneerrorinjectors2 l1laneerrorinjectors3 l1laneerrorinjectors4 l1laneerrorinjectors5 l1laneerrorinjectors6 l1laneerrorinjectors7 l1laneerrorinjectors8 l1laneerrorinjectors9 l1laneerrorinjectors10 l1laneerrorinjectors11 l1laneerrorinjectors12 l1laneerrorinjectors13 l1laneerrorinjectors14 l1laneerrorinjectors15 l1laneerrorinjectors16}}}}} {status 1}
l1 control¶
Execute Tester Command ${rt_handle} command=test_control <additional key=value arguments>
- Purpose:
- Starts, stops L1 tests for the specified port.
Synopsis:
Note: M indicates the argument is `Mandatory`.
l1 control
action= {fec_inject_error|prbs_inject_error|prbs_clear|prbs_reset_pattern|
module_reset|pcs_clear|pcs_clear_history|start_pcs_fault_insertion|
stop_pcs_fault_insertion|restart_an|txcvr_clear|start_txcvr_eye_scan|
stop_txcvr_eye_scan|get_module_registers} M]
port_handle= <port_handle or port_handle list> M
lane_num_list= <lane number list>
link_fault_duration= <fault duration in ms>
link_fault_type= {LOCAL|REMOTE}
link_fault_duration_type= {CONTINUOUS|TIMED}
module_register_page= {lower|upper}
module_register_addr= <integer>
module_register_value= <integer>
module_register_mode= {read|write}
Arguments:
port_handle
Specifies a list of ports on which L1 test will
start, stop and injects errors. It is
`Mandatory` that you specify port_handle.
action
Specifies the action to be taken on the specified port handle.
This argument is `Mandatory`. Possible values are:
fec_inject_error
Injects a single RSFEC codeword error using the
mask bits configured in the Bit Selection section.
It is `Mandatory` that you specify port_handle.
prbs_inject_error
Sends a single error on the enabled PRBS lanes.
Required port_handle and -lane_num_list arguments.
If lane_num_list is not specified, PRBS error will
send to the default lane number 0.
prbs_clear
Clear the PRBS statistics on the specified port
and lanes.
prbs_reset_pattern
Reset the pattern to None for all lanes, which
disables PRBS generation for all lanes.
It is `Mandatory` that you specify port_handle.
module_reset
Reboot the transceiver.
It is `Mandatory` that you specify port_handle.
pcs_clear
Clear the PCS and FEC error statistics.
It is `Mandatory` that you specify port_handle.
pcs_clear_history
Clear the PCS and FEC LED indicators.
It is `Mandatory` that you specify port_handle.
start_pcs_fault_insertion
Start PCS fault insertion.
Specify port_handle, link_fault_duration,
link_fault_duration_type, and link_fault_type
arguments.
stop_pcs_fault_insertion
Stop PCS fault insertion.
It is `Mandatory` that you specify port_handle.
restart_an
Restart auto negotiation.
It is `Mandatory` that you specify port_handle.
txcvr_clear
Clear the transceiver statistics.
Required port_handle and -lane_num_list arguments.
If lane_num_list is not specified, clears transceiver
statistics for the default lane number 0.
start_txcvr_eye_scan
Start the periodic eyescan of the selected PAM4
lanes of the port. The eyescan reports the voltage
characteristics of the PAM4 signal, with enabled
ports overlaid together.
Required port_handle and -lane_num_list arguments.
If lane_num_list is not specified, starts eyescan
for the default lane number 0.
stop_txcvr_eye_scan
Stop the periodic eyescan of the selected PAM4
lanes of the port.
Required port_handle and -lane_num_list arguments.
If lane_num_list is not specified, stops eyescan
for the default lane number 0.
get_module_registers
Write or read the module register value.
Only one value at a time can be configured.
Required port_handle, -module_register_page,
module_register_mode, module_register_addr
and module_register_value.
lane_num_list
Specifies the list of lane numbers or lane handles returned
from l1_config API.
The default is 0.
link_fault_duration
Specifies the fault duration in case of a timed fault in milliseconds.
The default is 0.
link_fault_duration_type
Specifies the type of fault to be generated.
Possible Values::
CONTINUOUS Continuous fault. Must use action stop
to stop the fault
TIMED Timed fault. Occurs for a specified durations
The default is CONTINUOUS.
link_fault_type
Specifies the fault generation type.
Possible Values::
LOCAL Generate a local fault condition. The DUT
presents a remote fault condition.
REMOTE Generate a remote fault condition. The DUT presents
an idle type.
The default is LOCAL.
module_register_page
Specifies the page to view.
Possible values are lower and upper.
module_register_value
Specifies the onebyte hex value of the register.
module_register_addr
Specifies the register address.
module_register_mode
Specifies whether to read or write the register value.
Possible values are read and write.
- Return Values:
Depending on the specific language that HLTAPI uses, the function returns a keyed list/dictionary/hash (See Introduction for more information on return value formats) using the following keys (with corresponding data):
status Success (1) or failure (0) of the operation. log An error message (if the operation failed). port.module_register_handle Returns register handle when you specify action to get_module_registers.
- Description:
- The
l1 control
function controls the L1 traffic through the specified ports. You can use the function to perform several actions: start/stop PCS fault insertion, start/stop eyescan, restart auto negotiation, get module register value, clear PCS stats etc.
Examples:
To start the PRBS error injection on the specified ports and lanes:
l1 control port_handle="port1 port2" action= "prbs_inject_error" lane_num_list= "0 1 2" l1 control port_handle="port1 port2" action= "prbs_inject_error" lane_num_list= "l1laneprbspam41 l1laneprbspam42 l1laneprbspam43"Sample Output:
{status 1}To write/read the module register handle on the specified port:
l1 control port_handle= port1 action= "get_module_registers" module_register_page= lower module_register_mode= write module_register_addr= 26 module_register_value= 11 l1 control port_handle= port1 action= "get_module_registers" module_register_page= lower module_register_mode= read module_register_addr= 26Sample Output:
{module_register_handle l1qsfpddmemorylowerpageconfig25} {module_register_value 11} {status 1}
l1 results¶
Execute Tester Command ${rt_handle} command=test_control <additional key=value arguments>
- Purpose:
- Returns LIVE L1 test results from Spirent TestCenter IQ.
Synopsis:
Note: M indicates the argument is `Mandatory`.
l1 results
port_handle= <port_handle or port_handle list> M
lane_num_list= <lane number list>
result_type= {l1_fec_sym_err_stats|l1_lane_pcs_stats|l1_port_pcs_stats|
l1_port_stats|l1_prbs_pam4_stats|l1_lane_eyescan_stats|
l1_lane_txcvrs_stats} M]
clear_db= {0|1}
Arguments:
port_handle
Specifies a list of ports on which L1 test will
start, stop and injects errors. It is
`Mandatory` that you specify port_handle.
result_type
Specifies the type of L1 results. This
argument is `Mandatory`. Possible values are::
l1_fec_sym_err_stats
Returns LIVE L1 FEC system errors statistics
from Spirent TestCenter IQ.
l1_lane_pcs_stats
Returns LIVE L1 PCS lane statistics
from Spirent TestCenter IQ.
l1_port_pcs_stats
Returns LIVE L1 port PCS statistics
from Spirent TestCenter IQ.
l1_port_stats
Returns LIVE L1 port statistics
from Spirent TestCenter IQ.
l1_prbs_pam4_stats
Returns LIVE L1 PRBS lane statistics
from Spirent TestCenter IQ.
l1_lane_eyescan_stats
Returns LIVE L1 eyescan lane statistics
from Spirent TestCenter IQ.
l1_lane_txcvrs_stats
Returns LIVE L1 transceiver lane statistics
from Spirent TestCenter IQ.
lane_num_list
Specifies the list of lane numbers or lane handles returned
from l1_config API.
If lane numbers are specified, the results will be returned
for the given lane numbers. Otherwise, returns the results for
all lanes.
clear_db
Specifies to stop and delete the TestCenter IQ database at the
end of the test.
Possible values are 0 and 1.
If the value is set to 1, test will stop and delete the db.
If the value is set to 0, test will not stop and delete the db.
Default is 1.
- Return Values:
Depending on the specific language that HLTAPI uses, the function returns a keyed list/dictionary/hash (See Introduction for more information on return value formats) using the following keys (with corresponding data):
status Retrieves a value indicating the success (1) or failure (0) of the operation. log Retrieves a message describing the last error that occurred during the operation. If the operation was successful - {status 1} - the log value is null
The following keys are returned when you specify result_type l1_fec_sym_err_stats:
<port_handle>.<rownumber>.l1_fec_sym_err_bin_num <port_handle>.<rownumber>.num_count
The following keys are returned when you specify result_type l1_port_stats:
<port_handle>.<rownumber>.link_status <port_handle>.<rownumber>.rx_ppm_offset <port_handle>.<rownumber>.fpga_temp <port_handle>.<rownumber>.module_temp <port_handle>.<rownumber>.module_volt
The following keys are returned when you specify result_type l1_lane_pcs_stats:
<port_handle>.<rownumber>.l1_lane_pcs_lane_num <port_handle>.<rownumber>.virtual_lane_num <port_handle>.<rownumber>.lock <port_handle>.<rownumber>.symbol_error <port_handle>.<rownumber>.sync_header_error <port_handle>.<rownumber>.pre_fec_lane_ser <port_handle>.<rownumber>.symbol_errors_total <port_handle>.<rownumber>.symbol_errors_last_sec <port_handle>.<rownumber>.symbol_errors_err_sec <port_handle>.<rownumber>.symbol_errors_per_sec <port_handle>.<rownumber>.rx_skew_bits <port_handle>.<rownumber>.delay
The following keys are returned when you specify result_type l1_prbs_pam4_stats:
<port_handle>.<rownumber>.l1_prbs_pam4_lane_num <port_handle>.<rownumber>.prbs_detected <port_handle>.<rownumber>.rx_pattern <port_handle>.<rownumber>.bitswap <port_handle>.<rownumber>.bit_errors <port_handle>.<rownumber>.sync_sec <port_handle>.<rownumber>.unsync_sec
The following keys are returned when you specify result_type l1_lane_eyescan_stats:
<port_handle>.<rownumber>.l1_lane_eyescan_lane_num <port_handle>.<rownumber>.l1_lane_eyescan_voltage <port_handle>.<rownumber>.num_samples
The following keys are returned when you specify result_type l1_lane_txcvrs_stats:
<port_handle>.<rownumber>.l1_lane_txcvrs_lane_num <port_handle>.<rownumber>.signal <port_handle>.<rownumber>.los_count <port_handle>.<rownumber>.snr <port_handle>.<rownumber>.pre_emphasis <port_handle>.<rownumber>.main_tap <port_handle>.<rownumber>.post_emphasis <port_handle>.<rownumber>.tx_coarse_swing
The following keys are returned when you specify result_type l1_port_pcs_stats:
<port_handle>.<rownumber>.cw_count <port_handle>.<rownumber>.rx_fifo_error <port_handle>.<rownumber>.all_lanes_aligned <port_handle>.<rownumber>.fec_lanes_aligned <port_handle>.<rownumber>.tx_local_fault <port_handle>.<rownumber>.rx_local_fault <port_handle>.<rownumber>.rx_remote_fault <port_handle>.<rownumber>.rx_high_ser <port_handle>.<rownumber>.bip_error <port_handle>.<rownumber>.sync_header_error <port_handle>.<rownumber>.post_fec_ser <port_handle>.<rownumber>.pre_fec_ser <port_handle>.<rownumber>.corrected_cw_total <port_handle>.<rownumber>.corrected_cw_last_sec <port_handle>.<rownumber>.corrected_cw_err_sec <port_handle>.<rownumber>.corrected_cw_per_sec <port_handle>.<rownumber>.uncorrected_cw_total <port_handle>.<rownumber>.uncorrected_cw_last_sec <port_handle>.<rownumber>.uncorrected_cw_err_sec <port_handle>.<rownumber>.uncorrected_cw_per_sec <port_handle>.<rownumber>.symbol_errors_total <port_handle>.<rownumber>.symbol_errors_last_sec <port_handle>.<rownumber>.symbol_errors_err_sec <port_handle>.<rownumber>.symbol_errors_per_sec <port_handle>.<rownumber>.code_violations_total <port_handle>.<rownumber>.code_violations_last_sec <port_handle>.<rownumber>.code_violations_err_sec <port_handle>.<rownumber>.code_violations_per_sec <port_handle>.<rownumber>.bip_errors_total <port_handle>.<rownumber>.bip_errors_last_sec <port_handle>.<rownumber>.bip_errors_err_sec <port_handle>.<rownumber>.bip_errors_per_sec <port_handle>.<rownumber>.control_code_errors_total <port_handle>.<rownumber>.control_code_errors_last_sec <port_handle>.<rownumber>.control_code_errors_err_sec <port_handle>.<rownumber>.control_code_errors_per_sec <port_handle>.<rownumber>.sync_header_errors_total <port_handle>.<rownumber>.sync_header_errors_last_sec <port_handle>.<rownumber>.sync_header_errors_err_sec <port_handle>.<rownumber>.sync_header_errors_per_sec <port_handle>.<rownumber>.sequence_errors_total <port_handle>.<rownumber>.sequence_errors_last_sec <port_handle>.<rownumber>.sequence_errors_err_sec <port_handle>.<rownumber>.sequence_errors_per_sec
- Description:
The
l1 results
function provides information about ports specified for the L1 configuration. JSON package is required to use l1_results function as it internally returns values in JSON format.This function returns the requested data and a status value (1 for success). If there is an error, the function returns the status value (0) and an error message. Function return values are converted from JSON format to a keyed list (supported by the Tcl extension software - TclX). Use the TclX function keylget to retrieve data from the keyed list.
Examples:
To retrieve L1 port statistics from the specified port:
l1 results port_handle= port1 result_type= l1_port_statsSample Output:
{port1 {{l1_port_stats {{0 {{link_status ERROR} {rx_ppm_offset -763} {fpga_temp 48.98408095703121} {module_temp null} {module_volt null}}}}}}} {status 1}To retrieve L1 port statistics from the specified port, also stop and delete the test at the end of execution:
l1 results port_handle= port1 lane_num_list= "0 1 2" result_type= "l1_prbs_pam4_stats" clear_db= 1Sample Output:
{port1 {{l1_prbs_pam4_stats {{0 {{l1_prbs_pam4_lane_num 0} {prbs_detected false} {rx_pattern PRBS} {bitswap NONE} {bit_errors 0} {sync_sec 0} {unsync_sec 0}}} {1 {{l1_prbs_pam4_lane_num 1} {prbs_detected false} {rx_pattern NONE} {bitswap NONE} {bit_errors 0} {sync_sec 0} {unsync_sec 0}}} {2 {{l1_prbs_pam4_lane_num 2} {prbs_detected false} {rx_pattern NONE} {bitswap NONE} {bit_errors 0} {sync_sec 0} {unsync_sec 0}}}}}}} {status 1}End of Procedure Header