<NodesDefinition>
<config  field_mand="name, descr, size" />
<config  field_attr="name" type="ascii" />
<config  field_attr="descr" type="ascii" />
<config  field_attr="size" type="hexa" />
<config  field_attr="type" type="ascii" />
<config  field_attr="rw" type="enum" >
	<enum  name="OP" value="OP" />
	<enum  name="ReadOnly" value="RO" />
	<enum  name="ReadWrite" value="RW" />
	<enum  name="WriteOnly" value="WO" />
</config>
<config  field_attr="access" type="enum" >
	<enum  name="Index" value="INDEX" />
	<enum  name="OP" value="OP" />
	<enum  name="ReadOnly" value="RO" />
	<enum  name="ReadWrite" value="RW" />
	<enum  name="WriteOnly" value="WO" />
</config>
<config  field_attr="enum" type="enumval" />
<config  big_endian_arr="1" />
<config  field_attr="selected_by" type="ascii" used_for="node" />
<config  field_attr="union_selector" type="ascii" used_for="node" />
<config  field_attr="mlxconfig_desc" type="ascii" />
<config  field_attr="mlxconfig_name" type="ascii" />
<config  field_attr="xuefi" type="ascii" />
<config  field_attr="supported_from_version" type="ascii" />
<config  field_attr="dependency" type="ascii" />
<config  field_attr="valid_bit" type="ascii" />
<config  field_attr="tempvars" type="ascii" />
<config  field_attr="minval" type="ascii" />
<config  field_attr="maxval" type="ascii" />
<config  field_attr="rule" type="ascii" />
<config  field_attr="regex" type="ascii" />
<config  field_attr="capability" type="ascii" />
<config  field_attr="target" type="ascii" />
<config  field_attr="version" type="ascii" />
<info source_doc_name="" source_doc_version="Rev 1.55.246" />
<node name="FMQC_ext" descr="" size="0xc.0" >
	<field name="lp" descr="local port\;CPU port is not supported\;" access="INDEX" offset="0x0.0" size="0x0.10" />
	<field name="s" descr="status\;0: failure \;1: success" access="RO" offset="0x0.16" size="0x0.1" />
	<field name="modifier_cluster" descr="modifier cluster\;Reserved when status != success" access="RO" offset="0x4.0" size="0x0.11" />
</node>

<node name="FSDB_ext" descr="" size="0x78.0" >
	<field name="acl_group_id" descr="ACL Group Identifier or ACL group element\;For ACL group identifier, range of group id is 0..cap_max_acl_groups-1.\;For ACL group element, range of group element is 0..cap_max_acl_tot_groups-1." access="INDEX" offset="0x0.0" size="0x0.16" />
	<field name="sem_op" descr="0: nop - no operation\;1: lock_semaphore\;2: unlock\;Note - Reserved when db_op is remove/remove all or when an EMAD query operation." access="OP" enum="nop=0x0,lock_semaphore=0x1,unlock=0x2" offset="0x4.0" size="0x0.2" />
	<field name="db_op" descr="0: nop\;1: read - reads 64bit value \;2: write_data\;3: remove_entry_with_failure_indication\;4: remove_entry_w/o_failure_indication\;5: remove_all_partition_entries\;\;Note-\;- remove must be set with sem_op = unlock\;- write can&quot;t be set with sem_op = lock\;- when db_op = remove_all (5), only partition_id relevant\;\;Reserved when EMAD query operation.\;\;" access="OP" enum="nop=0x0,read=0x1,write_data=0x2,remove_entry_with_failure_indication=0x3,remove_entry_w_o_failure_indication=0x4,remove_all_partition_entries=0x5" offset="0x4.4" size="0x0.3" />
	<field name="partition_id" descr="Valid values 0..(cap_max_sf_db_parititions-1). \;Indicates to which partition to associate the entry" access="INDEX" offset="0x4.8" size="0x0.3" />
	<field name="fr" descr="Failure Reason\;\;0: db_overflow \;1: max_semaphore_counter \;2: unlock_invalid_entry \;3: remove_invalid_entry \;4: insertion_failure \;5-7: reserved \;\;\;\;\;Reserved when s = success (1) or when db_op = remove all entries (5) or on EMAD query" access="RO" enum="db_overflow=0x0,max_semaphore_counter=0x1,unlock_invalid_entry=0x2,remove_invalid_entry=0x3,insertion_failure=0x4" offset="0x4.16" size="0x0.3" />
	<field name="sem_lock_cnt" descr="counter of retries of semaphore locks, stuck at max value\;\;Reserved when EMAD write operation." access="RO" offset="0x8.0" size="0x0.16" />
	<field name="sem_val" descr="Last semaphore value for the read entry\;0: sem_unlocked\;1: sem_locked\;\;reserved when db_op = remove (3-5)" access="RO" enum="sem_unlocked=0x0,sem_locked=0x1" offset="0x8.24" size="0x0.1" />
	<field name="a" descr="activity bit indication\;0: no_activity\;1: active\;\;Reserved when EMAD write operation.\;\;" access="RO" enum="no_activity=0x0,active=0x1" offset="0x8.25" size="0x0.1" />
	<field name="hit" descr="hit indication\;0: entry_was_not_found_in_db \;1: entry_was_found_in_db \;\;Note- Reserved when db_op is remove all (5).\;" access="RO" enum="entry_was_not_found_in_db=0x0,entry_was_found_in_db=0x1" offset="0x8.26" size="0x0.1" />
	<field name="s" descr="Status bit\;0: operation_failure\;1: operation_success\;\;Reserved when EMAD query operation." access="RO" enum="operation_failure=0x0,operation_success=0x1" offset="0x8.31" size="0x0.1" />
	<field name="data" descr="read/write data\;Reserved when db_op = remove or remove_all" subnode="uint64" access="RW" offset="0x10.0" size="0x8.0" />
	<field name="key_data" descr="ACL Key data as described in Section 11.7.1, &quot;Flex2 ACL Key Blocks Layout&quot;, on page 3497\;The key must be masked according to the ERP (if ERPs exist for the region) or according to master_mask (if no ERPs for the region)" access="INDEX" high_bound="23" low_bound="0" offset="0x18.0" size="0x60.0" />
</node>

<node name="FSFH_ext" descr="" size="0xac.0" >
	<field name="failure_reason" descr="0: db_overflow\;1: max_semaphore_counter\;2: unlock_invalid_entry\;3: remove_invalid_entry\;4: insertion_failure\;5-7: reserved" access="INDEX" enum="db_overflow=0x0,max_semaphore_counter=0x1,unlock_invalid_entry=0x2,remove_invalid_entry=0x3,insertion_failure=0x4" offset="0x0.0" size="0x0.3" />
	<field name="action_info" descr="Action-set to perform when rule is matched.\;See Section 3091, &quot;Flexible Action Set: Supported Actions&quot;, on page 3698.\;Must be zero padded if action set is shorter." subnode="flexible_action_set_ext" access="RW" offset="0x4.0" size="0xa8.0" />
</node>

<node name="FSGCR_ext" descr="" size="0xc.0" >
	<field name="sem_lock_protection_en" descr="Semaphore Lock Counter Protection:\;0: sem_protct_dis - disable semaphore lock protection\;1: sem_protct_en - enable semaphore lock protection. Can trigger FSFH.failure_reason of type &quot;max semaphore counter&quot; in case of num of lock retries violates sem_poll_max_retries.\;\;Can be changed on the fly\;\;" access="RW" enum="sem_protct_dis=0x0,sem_protct_en=0x1" offset="0x0.0" size="0x0.1" />
	<field name="failure_on_invalid_lock" descr="0: ignore_failure - ignore failure on unlocking an invalid entry\;1: treat_failure - Treat unlocking of invalid entry as a failure\;\;Can be changed on the fly" access="RW" enum="ignore_failure=0x0,treat_failure=0x1" offset="0x0.1" size="0x0.1" />
	<field name="sem_poll_max_retries" descr="Polling retry counter\;valid values: 1-255\;\;Can be changed on the fly.\;" access="RW" offset="0x4.0" size="0x0.8" />
	<field name="ticket_cb_index" descr="valid values: 0..(cap_max_custom_byte_sets-1).\;when ticket machine is enabled on rx port, HW is storing ticket info in the specified cb index\;\;Can&apos;t be changed on the fly nor during traffic\;[Spectrum-6] Reserved in Spectrum-6 onwards." access="RW" offset="0x4.16" size="0x0.4" />
	<field name="linear_group_id" descr="For ACL group identifier, range of group id is 0..cap_max_acl_groups-1.\;For ACL group element, range of group element is 0..cap_max_acl_tot_groups-1.\;Used to indicate the group id allocated for the linear key\;" access="RW" offset="0x8.0" size="0x0.16" />
</node>

<node name="FSHE_ext" descr="" size="0x8.0" >
	<field name="op" descr="0: read\;1: read_and_clear" access="OP" enum="read=0x0,read_and_clear=0x1" offset="0x0.0" size="0x0.2" />
	<field name="hw_errors" descr="0: ticket_machine_error - [Spectrum-6] Reserved in Spectrum-6 onwards.\;1-31: reserved" access="RO" enum="ticket_machine_error=0x0" offset="0x4.0" size="0x4.0" />
</node>

<node name="FSPS_ext" descr="" size="0x10.0" >
	<field name="partition_id" descr="partition index\;valid values: 0..(cap_max_sf_db_partitions-1)" access="INDEX" offset="0x0.0" size="0x0.3" />
	<field name="tbw" descr="Trigger by crossing warning threshold" access="RO" offset="0x0.8" size="0x0.1" />
	<field name="tbm" descr="Trigger by crossing max threshold" access="RO" offset="0x0.9" size="0x0.1" />
	<field name="warning_threshold" descr="warning threshold." access="RO" offset="0x4.0" size="0x0.24" />
	<field name="max_threshold" descr="maximum threshold." access="RO" offset="0x8.0" size="0x0.24" />
	<field name="occupancy" descr="entries occupancy gauge\;Returns actual KVD lines count" access="RO" offset="0xC.0" size="0x4.0" />
</node>

<node name="FSTM_ext" descr="" size="0x414.0" >
	<field name="record_num" descr="Number of valid port configuration records" access="OP" offset="0x0.0" size="0x0.9" />
	<field name="port_ticket_info" descr="list of port_ticket_info * 260 which indicates per port whether ticket machine should be enabled or disabled." subnode="fstm_port_ticket_info_ext" access="RW" high_bound="259" low_bound="0" offset="0x4.0" size="0x410.0" />
</node>

<node name="High_bit_error_rate_configuration_page_ext" descr="" size="0x4.0" >
	<field name="en" descr="enable hi_ber monitoring" access="RW" offset="0x0.31" size="0x0.1" />
</node>

<node name="High_symbol_error_rate_configuration_page_ext" descr="" size="0x8.0" >
	<field name="en" descr="enable hi_ser monitoring and action" access="RW" offset="0x0.31" size="0x0.1" />
	<field name="symbol_err_thr" descr="Number of errored symbols in 8192 codewords window to declare hi_ser" access="RW" offset="0x4.0" size="0x0.24" />
	<field name="hi_ser_action" descr="Select hi_ser consequent action:\;0x00: no action\;0x01: alignment loss\;0x02: hi_ber action" access="RW" offset="0x4.29" size="0x0.2" />
</node>

<node name="IB_long_portcntrs_attribute_grp_data_ext" descr="" size="0xf8.0" >
	<field name="symbol_error_counter_high" descr="For counter description please refer to the InfiniBand specification" access="RO" offset="0x0.0" size="0x4.0" />
	<field name="symbol_error_counter_low" descr="For counter description please refer to the InfiniBand specification" access="RO" offset="0x4.0" size="0x4.0" />
	<field name="link_error_recovery_counter_high" descr="For counter description please refer to the InfiniBand specification\;" access="RO" offset="0x8.0" size="0x4.0" />
	<field name="link_error_recovery_counter_low" descr="For counter description please refer to the InfiniBand specification\;" access="RO" offset="0xC.0" size="0x4.0" />
	<field name="link_downed_counter_high" descr="For counter description please refer to the InfiniBand specification" access="RO" offset="0x10.0" size="0x4.0" />
	<field name="link_downed_counter_low" descr="For counter description please refer to the InfiniBand specification" access="RO" offset="0x14.0" size="0x4.0" />
	<field name="port_rcv_errors_high" descr="For counter description please refer to the InfiniBand specification\;" access="RO" offset="0x18.0" size="0x4.0" />
	<field name="port_rcv_errors_low" descr="For counter description please refer to the InfiniBand specification\;" access="RO" offset="0x1C.0" size="0x4.0" />
	<field name="port_rcv_remote_physical_errors_high" descr="For counter description please refer to the InfiniBand specification" access="RO" offset="0x20.0" size="0x4.0" />
	<field name="port_rcv_remote_physical_errors_low" descr="For counter description please refer to the InfiniBand specification" access="RO" offset="0x24.0" size="0x4.0" />
	<field name="port_rcv_switch_relay_errors_high" descr="For counter description please refer to the InfiniBand specification\;" access="RO" offset="0x28.0" size="0x4.0" />
	<field name="port_rcv_switch_relay_errors_low" descr="For counter description please refer to the InfiniBand specification\;" access="RO" offset="0x2C.0" size="0x4.0" />
	<field name="port_xmit_discards_high" descr="For counter description please refer to the InfiniBand specification\;" access="RO" offset="0x30.0" size="0x4.0" />
	<field name="port_xmit_discards_low" descr="For counter description please refer to the InfiniBand specification\;" access="RO" offset="0x34.0" size="0x4.0" />
	<field name="port_xmit_constraint_errors_high" descr="For counter description please refer to the InfiniBand specification\;" access="RO" offset="0x38.0" size="0x4.0" />
	<field name="port_xmit_constraint_errors_low" descr="For counter description please refer to the InfiniBand specification\;" access="RO" offset="0x3C.0" size="0x4.0" />
	<field name="port_rcv_constraint_errors_high" descr="For counter description please refer to the InfiniBand specification" access="RO" offset="0x40.0" size="0x4.0" />
	<field name="port_rcv_constraint_errors_low" descr="For counter description please refer to the InfiniBand specification" access="RO" offset="0x44.0" size="0x4.0" />
	<field name="local_link_integrity_errors_high" descr="For counter description please refer to the InfiniBand specification\;" access="RO" offset="0x48.0" size="0x4.0" />
	<field name="local_link_integrity_errors_low" descr="For counter description please refer to the InfiniBand specification\;" access="RO" offset="0x4C.0" size="0x4.0" />
	<field name="excessive_buffer_overrun_errors_high" descr="For counter description please refer to the InfiniBand specification" access="RO" offset="0x50.0" size="0x4.0" />
	<field name="excessive_buffer_overrun_errors_low" descr="For counter description please refer to the InfiniBand specification" access="RO" offset="0x54.0" size="0x4.0" />
	<field name="vl_15_dropped_high" descr="For counter description please refer to the InfiniBand specification\;" access="RO" offset="0x58.0" size="0x4.0" />
	<field name="vl_15_dropped_low" descr="For counter description please refer to the InfiniBand specification\;" access="RO" offset="0x5C.0" size="0x4.0" />
	<field name="port_xmit_data_high" descr="For counter description please refer to the InfiniBand specification" access="RO" offset="0x60.0" size="0x4.0" />
	<field name="port_xmit_data_low" descr="For counter description please refer to the InfiniBand specification" access="RO" offset="0x64.0" size="0x4.0" />
	<field name="port_rcv_data_high" descr="For counter description please refer to the InfiniBand specification\;" access="RO" offset="0x68.0" size="0x4.0" />
	<field name="port_rcv_data_low" descr="For counter description please refer to the InfiniBand specification\;" access="RO" offset="0x6C.0" size="0x4.0" />
	<field name="port_xmit_pkts_high" descr="For counter description please refer to the InfiniBand specification" access="RO" offset="0x70.0" size="0x4.0" />
	<field name="port_xmit_pkts_low" descr="For counter description please refer to the InfiniBand specification" access="RO" offset="0x74.0" size="0x4.0" />
	<field name="port_rcv_pkts_high" descr="For counter description please refer to the InfiniBand specification\;" access="RO" offset="0x78.0" size="0x4.0" />
	<field name="port_rcv_pkts_low" descr="For counter description please refer to the InfiniBand specification\;" access="RO" offset="0x7C.0" size="0x4.0" />
	<field name="port_xmit_wait_high" descr="For counter description please refer to the InfiniBand specification\;" access="RO" offset="0x80.0" size="0x4.0" />
	<field name="port_xmit_wait_low" descr="For counter description please refer to the InfiniBand specification\;" access="RO" offset="0x84.0" size="0x4.0" />
	<field name="qp1_dropped_high" descr="For counter description please refer to the InfiniBand specification" access="RO" offset="0x88.0" size="0x4.0" />
	<field name="qp1_dropped_low" descr="For counter description please refer to the InfiniBand specification" access="RO" offset="0x8C.0" size="0x4.0" />
	<field name="port_unicast_xmit_pkts_high" descr="For counter description please refer to the InfiniBand specification" access="RO" offset="0x90.0" size="0x4.0" />
	<field name="port_unicast_xmit_pkts_low" descr="For counter description please refer to the InfiniBand specification" access="RO" offset="0x94.0" size="0x4.0" />
	<field name="port_multicast_xmit_pkts_high" descr="For counter description please refer to the InfiniBand specification" access="RO" offset="0x98.0" size="0x4.0" />
	<field name="port_multicast_xmit_pkts_low" descr="For counter description please refer to the InfiniBand specification" access="RO" offset="0x9C.0" size="0x4.0" />
	<field name="port_unicast_rcv_pkts_high" descr="For counter description please refer to the InfiniBand specification" access="RO" offset="0xA0.0" size="0x4.0" />
	<field name="port_unicast_rcv_pkts_low" descr="For counter description please refer to the InfiniBand specification" access="RO" offset="0xA4.0" size="0x4.0" />
	<field name="port_multicast_rcv_pkts_high" descr="For counter description please refer to the InfiniBand specification" access="RO" offset="0xA8.0" size="0x4.0" />
	<field name="port_multicast_rcv_pkts_low" descr="For counter description please refer to the InfiniBand specification" access="RO" offset="0xAC.0" size="0x4.0" />
</node>

<node name="IB_portcntrs_attribute_grp_data_ext" descr="" size="0xf8.0" >
	<field name="link_downed_counter" descr="For counter description please refer to the InfiniBand specification\;" access="RO" offset="0x0.0" size="0x0.8" />
	<field name="link_error_recovery_counter" descr="For counter description please refer to the InfiniBand specification\;" access="RO" offset="0x0.8" size="0x0.8" />
	<field name="symbol_error_counter" descr="For counter description please refer to the InfiniBand specification\;" access="RO" offset="0x0.16" size="0x0.16" />
	<field name="port_rcv_remote_physical_errors" descr="For counter description please refer to the InfiniBand specification\;" access="RO" offset="0x4.0" size="0x0.16" />
	<field name="port_rcv_errors" descr="For counter description please refer to the InfiniBand specification\;" access="RO" offset="0x4.16" size="0x0.16" />
	<field name="port_xmit_discards" descr="For counter description please refer to the InfiniBand specification\;" access="RO" offset="0x8.0" size="0x0.16" />
	<field name="port_rcv_switch_relay_errors" descr="For counter description please refer to the InfiniBand specification\;" access="RO" offset="0x8.16" size="0x0.16" />
	<field name="excessive_buffer_overrun_errors" descr="For counter description please refer to the InfiniBand specification\;" access="RO" offset="0xC.0" size="0x0.4" />
	<field name="local_link_integrity_errors" descr="For counter description please refer to the InfiniBand specification\;" access="RO" offset="0xC.4" size="0x0.4" />
	<field name="port_rcv_constraint_errors" descr="For counter description please refer to the InfiniBand specification\;" access="RO" offset="0xC.16" size="0x0.8" />
	<field name="port_xmit_constraint_errors" descr="For counter description please refer to the InfiniBand specification\;" access="RO" offset="0xC.24" size="0x0.8" />
	<field name="vl_15_dropped" descr="For counter description please refer to the InfiniBand specification\;" access="RO" offset="0x10.0" size="0x0.16" />
	<field name="qp1_dropped" descr="For counter description please refer to the InfiniBand specification\;" access="RO" offset="0x10.16" size="0x0.16" />
	<field name="port_xmit_data" descr="For counter description please refer to the InfiniBand specification\;" access="RO" offset="0x14.0" size="0x4.0" />
	<field name="port_rcv_data" descr="For counter description please refer to the InfiniBand specification\;" access="RO" offset="0x18.0" size="0x4.0" />
	<field name="port_xmit_pkts" descr="For counter description please refer to the InfiniBand specification\;" access="RO" offset="0x1C.0" size="0x4.0" />
	<field name="port_rcv_pkts" descr="For counter description please refer to the InfiniBand specification\;" access="RO" offset="0x20.0" size="0x4.0" />
	<field name="port_xmit_wait" descr="For counter description please refer to the InfiniBand specification\;" access="RO" offset="0x24.0" size="0x4.0" />
</node>

<node name="ITGCR_reg_ext" descr="" size="0x8.0" >
	<field name="l4_validity" descr="0: USE_L4_FROM_L3 - use layer 4 offset as post layer 3 (valid L4 header is not mandatory). Hence, L3 offset + L3 header size.\;1: USE_PARSED_L4 - packet must have a valid (and known) parsed L4 header" access="RW" enum="USE_L4_FROM_L3=0x0,USE_PARSED_L4=0x1" offset="0x0.0" size="0x0.1" />
	<field name="def_masking_size" descr="Default masking offset.\;Minimum masking offset from Spectrum-6.\;See Section 6.1.2, &quot;Parsing Based Masking&quot;, on page 1893.\;\;In Spectrum-4 and Spectrum-5, if there is no match for a masking offset, and ITPR.dd != 1, the default masking size is taken for masking.\;\;From Spectrum-6, the masking offset is taken as the maximum between the default masking size and the matched masking offset. If there is no match for an offset, the default masking size is taken for masking.\;\;Units of 1B\;Granularity of 2B\;Min value: 48B for Spectrum-4 and Spectrum-5, 14B from Spectrum-6.\;Max value: 508B" access="RW" offset="0x4.0" size="0x0.10" />
</node>

<node name="ITPR_reg_ext" descr="" size="0x14.0" >
	<field name="trunc_prof" descr="Truncation profile\;Default mapping:\;0..7: Mirror agents profiles\;8: ARN\;9: CNP\;\;12-15: ACL" access="INDEX" offset="0x0.0" size="0x0.4" />
	<field name="tr_size" descr="Truncation size\;Units of 1B\;Granularity of 4B\;Min value: 64B\;\;Note: \;when mode = STATIC_AND_MASK (2), max size is 512B\;" access="RW" offset="0x4.0" size="0x0.14" />
	<field name="mode" descr="Mode:\;0: DISABLE - \;1: STATIC_ONLY - static truncation only\;2: STATIC_AND_MASK - static truncation + parsing based masking\;\;STATIC_AND_MASK mode is not supported for trimming." access="RW" enum="DISABLE=0x0,STATIC_ONLY=0x1,STATIC_AND_MASK=0x2" offset="0x8.0" size="0x0.2" />
	<field name="ip_len_fix" descr="[DWIP]\;IP length fix.\;When enabled, IP length field is fixed after truncation.\;0: No change (default)\;1: Update IP length field after truncation\;[DWIP] Supported from Spectrum-6 for trimming only for trunc_prof=0." access="RW" offset="0x8.9" size="0x0.1" />
	<field name="masking_label_en" descr="Bitmask use the following bitmap headers as base for packet masking:\;0: CB_SET_0\;1: CB_SET_1\;2: PAYLOAD \;3: INNER_L4_HEADER \;4: INNER_L3_HEADER\;5: INNER_L2_HEADER\;6: OUTER_L4_HEADER\;7: OUTER_L3_HEADER\;8: OUTER_L2_HEADER\;\;" access="RW" offset="0xC.0" size="0x0.9" />
	<field name="addition_masking_offset_en" descr="Bitmask defines per label (bitmap) whether addition_masking_offset should be added to the label in case of masking:\;0: CB_SET_0\;1: CB_SET_1\;2: PAYLOAD \;3: INNER_L4_HEADER \;4: INNER_L3_HEADER\;5: INNER_L2_HEADER\;6: OUTER_L4_HEADER\;7: OUTER_L3_HEADER\;8: OUTER_L2_HEADER\;\;Reserved when mode != STATIC_AND_MASK (2)" access="RW" offset="0x10.0" size="0x0.9" />
	<field name="addition_masking_offset" descr="Number of bytes to be added on top of the matching label upon masking is applied\;\;Units of 1B\;Granularity of 2B\;Max value: 508 bytes\;\;Reserved when mode != STATIC_AND_MASK (2)" access="RW" offset="0x10.16" size="0x0.9" />
</node>

<node name="MCFS_ext" descr="" size="0x20.0" >
	<field name="slot_index" descr="Slot index\;0: Main board" access="INDEX" offset="0x0.12" size="0x0.4" />
	<field name="module" descr="Module number\;Switch: Range 0 .. MGPIR.max_modules_per_slot -1" access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="freq" descr="Module Frequency\;0: 400_KHz(default)\;1: 1_MHz\;2: 100_KHz\;3: Reserved" access="RW" offset="0x4.0" size="0x0.2" />
</node>

<node name="MFMI_ext" descr="" size="0x18.0" >
	<field name="fm_state" descr="Specifies the current FM state.\;FM states as follows:\;0: Reserved\;1: Offline\;2: Standby\;3: Configured\;4: Reserved (Timeoout)\;5: Error" access="RO" offset="0x4.0" size="0x0.4" />
	<field name="time_point_last_restart" descr="Epoch timestamp of FM restart, in seconds.\;This value is stable as long FM didn&apos;t restart." subnode="uint64" access="RO" offset="0x8.0" size="0x8.0" />
	<field name="duration_since_last_restart" descr="Time passed since last restart, in seconds.\;Should be incremented in each report." subnode="uint64" access="RO" offset="0x10.0" size="0x8.0" />
</node>

<node name="MLPC_ext" descr="" size="0x40.0" >
	<field name="lp_msb" descr="port MSB\;Used to identify the L1 controller associated to the desired HW counters." access="INDEX" offset="0x0.12" size="0x0.2" />
	<field name="local_port" descr="port\;Used to identify the L1 controller associated to the desired HW counters." access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="cnt_64bit" descr="Bit mask to configure extended 64 bits long counters.\;Bit per even HW counter. When bit [i] is set, counter[2i] and counter[2i+1] will be used to form a 64-bit counter.\;The odd counter cnt_sel[2i+1], will serve as the selector to configure the 64 bit counter.\;The odd counter cnt_val[2i+1], will serve as the LSB of the counter.\;The even counter cnt_val[2i], will serve as the MSB of the counter." access="RW" offset="0x4.0" size="0x0.4" />
	<field name="stop_at_ff" descr="When set, when one of the perf counters reaches FFs, all the counters will stop counting." access="RW" offset="0x4.29" size="0x0.1" />
	<field name="counter_rst" descr="Force reset for all the counters. \;Must be 0 for Get operation." access="WO" offset="0x4.30" size="0x0.1" />
	<field name="counter_en" descr="Enable for the HW counters" access="RW" offset="0x4.31" size="0x0.1" />
	<field name="cnt_type_hi" descr="[DWIP]\;HW counter type - high bits." access="RW" high_bound="7" low_bound="0" offset="0x8.28" size="0x4.0" />
	<field name="force_count_mask" descr="Force count bit mask, when bit[i] is set, pref_counter&lt;i&gt; will count with no consideration of any enable/reset/stop signals." access="RW" offset="0xC.0" size="0x0.8" />
	<field name="cnt_type" descr="HW counter type - low bits.\;[DWIP] See Table 631, &quot;L1 Performance Counter Type,&quot; on page 1151" access="RW" high_bound="7" low_bound="0" offset="0x10.28" size="0x4.0" />
	<field name="cnt_val" descr="HW counter value.\;The counter value can be configured to an initial value before enabling the feature." access="RW" high_bound="7" low_bound="0" offset="0x20.0" size="0x20.0" />
</node>

<node name="MMAG_ext" descr="" size="0x10.0" >
	<field name="local_module" descr="Local module index\;Switch: Range 0 .. MGPIR.number_of_modules -1" access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="ga" descr="Geographical Address of the ASIC which controls the module\;\;Reserved when module type is chip2chip or backplane." access="RO" offset="0x4.0" size="0x0.4" />
	<field name="global_module" descr="Global module number\;" access="RO" offset="0x8.0" size="0x0.8" />
	<field name="module_type" descr="module_type:\;0: Backplane_with_4_lanes\;1: QSFP\;2: SFP\;3: No_Cage\;4: Backplane_with_single_lane\;8: Backplane_with_two_lanes\;10: Chip2Chip4x\;11: Chip2Chip2x\;12: Chip2Chip1x\;14: QSFP_DD\;15: OSFP\;16: SFP_DD\;17: DSFP\;18: Chip2Chip8x\;19: Twisted_Pair\;20: Backplane_with_8_lanes\;21: Loopback \;22: OE_16x\;23: OSFP_ELS\;24: QSFP_2x\;25: CPO_32x" access="RO" offset="0xC.0" size="0x0.8" />
</node>

<node name="MMAM_ext" descr="" size="0x10.0" >
	<field name="module" descr="(Global) Module number\;Switch: Range 0 .. MGPIR.max_modules_per_slot -1\;" access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="ga" descr="Geographical Address of the ASIC which controls the module\;\;Reserved when module type is chip2chip or backplane." access="RO" offset="0x4.0" size="0x0.4" />
	<field name="local_module" descr="Local module number" access="RO" offset="0x8.0" size="0x0.8" />
	<field name="module_type" descr="module_type:\;0: Backplane_with_4_lanes\;1: QSFP\;2: SFP\;3: No_Cage\;4: Backplane_with_single_lane\;8: Backplane_with_two_lanes\;10: Chip2Chip4x\;11: Chip2Chip2x\;12: Chip2Chip1x\;14: QSFP_DD\;15: OSFP\;16: SFP_DD\;17: DSFP\;18: Chip2Chip8x\;19: Twisted_Pair\;20: Backplane_with_8_lanes\;21: Loopback \;22: OE_16x\;23: OSFP_ELS\;24: QSFP_2x\;25: CPO_32x" access="RO" offset="0xC.0" size="0x0.8" />
</node>

<node name="MMCR_ext" descr="" size="0x50.0" >
	<field name="next_module_control" descr="Next Module Control\;bit 0: indication for module 0. \;bit 1: indication for module 1.\;..\;bit 127: indication of module 127.\;\;For each module, \;0: FW controls module\;1: SW controls module\;\;Valid bits: 0 .. (MGPIR.max_modules_per_slot -1)\;Rest of the bits are ignored.\;\;This field is not used as RW but as an index." access="RW" high_bound="3" low_bound="0" offset="0x0.0" size="0x10.0" />
	<field name="module_control_mask" descr="Module Control Mask\;bit 0: indication for module 0. \;bit 1: indication for module 1.\;..\;bit 127: indication of module 127.\;\;On read:\;FW will return mask = 0xffff from module 0 until (MGPIR.max_modules_per_slot -1)\;\;On write:\;0: ignore module_control\;1: Set according to module_control\;Valid bits: 0 .. (MGPIR.max_modules_per_slot -1)\;Rest of the bits are ignored." access="RW" high_bound="3" low_bound="0" offset="0x20.0" size="0x10.0" />
	<field name="curr_module_control" descr="Current Module Control\;bit 0: indication for module 0. \;bit 1: indication for module 1.\;..\;bit 127: indication of module 127.\;\;For each module, \;0: FW controls module\;1: SW controls module\;\;Valid bits: 0 .. (MGPIR.max_modules_per_slot -1)\;Rest of the bits are ignored.\;" access="RO" high_bound="3" low_bound="0" offset="0x40.0" size="0x10.0" />
</node>

<node name="MOCBR_ext" descr="" size="0xc.0" >
	<field name="e" descr="0: Meter by reference feature is disabled\;1: Meter by reference feature is enabled" access="RW" offset="0x0.0" size="0x0.2" />
	<field name="l" descr="Long index\;0: Use short indexing (only 16bit is taken from cb set LSB)\;1: Use long indexing (16 bit is taken from cb set LSB and additional 3 bits are taken from cb set +1). \;Cbset is defined in COUNTER_BY_REF_PARAM.cbset.\;See Table 3120, &quot;COUNTER_BY_REF_PARAM Block Layout,&quot; on page 3725" access="RW" offset="0x4.0" size="0x0.1" />
	<field name="base_counter_index" descr="Range for flow counters: \;0 .. cap_shared_counter_pool_size - 1\;Range for accuFlow counters: \;cap_start_accuflow .. cap_start_accuflow + cap_max_accuflow - 1\;Used to calculate the desired counter index.\;Counter Index = MOCBR.base_counter_index + (cbset value)" access="RW" offset="0x8.0" size="0x0.24" />
</node>

<node name="MOCBS_ext" descr="" size="0xc.0" >
	<field name="op" descr="Operation.\;0: Read_only \;1: Read_and_Clear_cause" access="OP" enum="Read_only=0x0,Read_and_Clear_cause=0x1" offset="0x0.0" size="0x0.2" />
	<field name="cnt_err" descr="0: No indication of counter Id calculation mismatch\;1: Global Counter Id calculation mismatch indication" access="RO" offset="0x4.0" size="0x0.1" />
</node>

<node name="MOFTC_bitmap512_ext" descr="" size="0x88.0" >
	<field name="port_bitmask" descr="Port bitmask request.\;Port 0 (bit 0, cpu port) and ports beyond cap_max_switch_ports are reserved.\;Service ports are allowed.\;8x ports are not allowed." access="RW" high_bound="15" low_bound="0" offset="0x0.0" size="0x40.0" />
	<field name="port_bitmask_actual" descr="Prio bitmask actual.\;FW may choose to provide more ports than requested.\;FW will not choose to provide more TC/PG/Prio than requested." access="RO" high_bound="15" low_bound="0" offset="0x40.0" size="0x40.0" />
</node>

<node name="MOFTC_bitmap544_ext" descr="" size="0x88.0" >
	<field name="port_bitmask" descr="Port bitmask request\;Port 0 (bit 0, cpu port) and ports beyond cap_max_switch_ports are reserved.\;Service ports are allowed.\;8x ports are not allowed." access="RW" high_bound="16" low_bound="0" offset="0x0.0" size="0x44.0" />
	<field name="port_bitmask_actual" descr="Prio bitmask actual.\;FW may choose to provide more ports than requested.\;FW will not choose to provide more TC/PG/Prio than requested." access="RO" high_bound="16" low_bound="0" offset="0x44.0" size="0x44.0" />
</node>

<node name="MOFTC_ext" descr="" size="0x108.0" >
	<field name="clear_mbo" descr="Clear Max Buff Occupancy\;Will clear the max_buff_occupancy gauge once after the first sample. This clear field does not clear other counters.\;\;Applicable for the Traffic Classes enabled by tc_bitmask and Port Groups enabled by pg_bitmask.\;\;Values:\;0: not_clear\;1: clear" access="RW" enum="not_clear=0x0,clear=0x1" offset="0x0.31" size="0x0.1" />
	<field name="prio_bitmask" descr="Priority bitmask" access="RW" offset="0x4.0" size="0x0.8" />
	<field name="tc_bitmask" descr="Traffic Class bitmask" access="RW" offset="0x8.0" size="0x0.17" />
	<field name="pg_bitmask" descr="PG bitmask" access="RW" offset="0xC.0" size="0x0.9" />
	<field name="metadata_bitmask" descr="For each bit, see definition in the sample, see Table , &quot;,&quot; on page 1414" access="RW" offset="0x10.0" size="0x4.0" />
	<field name="global_counters_bitmask" descr="For each bit, see definition in the sample see Table , &quot;,&quot; on page 1414" access="RW" offset="0x18.0" size="0x4.0" />
	<field name="port_counters_bitmask" descr="For each bit, see definition in the sample see Table , &quot;,&quot; on page 1414" subnode="uint64" access="RW" offset="0x20.0" size="0x8.0" />
	<field name="egress_pool_bitmask" descr="[DWIP]\;Egress pool bitmask" access="RW" offset="0x28.0" size="0x0.16" />
	<field name="ingress_pool_bitmask" descr="[DWIP]\;Ingress pool bitmask" access="RW" offset="0x2C.0" size="0x0.16" />
	<field name="flow_counter_base_0" descr="Base of the flow counters to read. Set 0\;Range 0.. cap_shared_counter_pool_size-2" access="RW" offset="0x30.0" size="0x0.24" />
	<field name="flow_counter_num_0" descr="Number of consecutive counters to read. Set 0" access="RW" offset="0x34.0" size="0x0.16" />
	<field name="flow_counter_base_1" descr="Base of the flow counters to read. Set 1\;Range 0.. cap_shared_counter_pool_size-2" access="RW" offset="0x38.0" size="0x0.24" />
	<field name="flow_counter_num_1" descr="Number of consecutive counters to read. Set 1" access="RW" offset="0x3C.0" size="0x0.16" />
	<field name="bitmap_size" descr="0: BITMAP_512 - supported by Spectrum-4.\;1: BITMAP_544 - supported by Spectrum-5 and Spectrum-6." access="OP" enum="BITMAP_512=0x0,BITMAP_544=0x1" offset="0x7C.0" size="0x0.4" />
	<field name="port_bitmask" descr="See Table 1239, &quot;MOFTC - 512 Port Bitmap Layout,&quot; on page 1697\;See Table 1241, &quot;MOFTC - 544 Port Bitmap Layout,&quot; on page 1698" subnode="MOFTC_port_bitmask_auto_ext" access="RW" offset="0x80.0" size="0x88.0" union_selector="$(parent).bitmap_size" />
</node>

<node name="MOFTC_port_bitmask_auto_ext" descr="" attr_is_union="1" size="0x88.0" >
	<field name="MOFTC_bitmap512_ext" descr="" subnode="MOFTC_bitmap512_ext" offset="0x0.0" selected_by="BITMAP_512" size="0x88.0" />
	<field name="MOFTC_bitmap544_ext" descr="" subnode="MOFTC_bitmap544_ext" offset="0x0.0" selected_by="BITMAP_544" size="0x88.0" />
</node>

<node name="MOFTD_ext" descr="" size="0x24.0" >
	<field name="num_rec" descr="number of records (entries) in this register. \;Entry is 32bit.\;" access="RO" offset="0x0.0" size="0x0.12" />
	<field name="itr_index" descr="Iteration counter value" access="RO" offset="0x4.0" size="0x0.16" />
	<field name="num_entries_in_itr" descr="num_of_entries in an iteration" access="RO" offset="0x8.0" size="0x0.20" />
	<field name="entry_index" descr="Index of the first entry in this chunk (MOFTD)\;Example:\;num_entries_in_itr=20,000:\;1st chunk (MOFTD) had 9000 entries, entry_index=0\;2nd chunk (MOFTD) has 9000 entries, entry_index=9000\;3rd chunk (MOFTD) has 2000 entries, entry_index=18,000" access="RO" offset="0xC.0" size="0x0.20" />
	<field name="num_entries_per_port" descr="Number of entries per port (entry is 32bit)\;If there are no ports then value is 0" access="RO" offset="0x10.0" size="0x0.12" />
	<field name="first_port_in_chunk" descr="First port in this chunk (in this MOFTD)\;Reserved when num_entries_per_port = 0" access="RO" offset="0x10.16" size="0x0.10" />
	<field name="user_cookie" descr="Cookie from MOCS" subnode="uint64" access="RO" offset="0x18.0" size="0x8.0" />
	<field name="entry" descr="Entries from the sample.\;See Table 933, &quot;HFT Sample,&quot; on page 1414" access="RO" arr_is_dynamic="1" high_bound="VARIABLE" low_bound="0" offset="0x20.0" size="0x4.0" size_condition="$(parent).num_rec" />
</node>

<node name="MPRC_ext" descr="" size="0x48.0" >
	<field name="clr" descr="Clear Counters.\;0: do not clear.\;1: clear." access="OP" offset="0x0.31" size="0x0.1" />
	<field name="transmit_queue" descr="See Table  1729, &quot;Ethernet OOB Port Counters Data Fields,&quot; on page  2294" subnode="uint64" access="RO" offset="0x8.0" size="0x8.0" />
	<field name="no_buffer_discard_uc" descr="See Table  1729, &quot;Ethernet OOB Port Counters Data Fields,&quot; on page  2294" subnode="uint64" access="RO" offset="0x10.0" size="0x8.0" />
	<field name="packets" descr="See Table 240, &quot;HTGC - Trap Group Counter Set Layout,&quot; on page 697 for description." subnode="uint64" access="RO" offset="0x18.0" size="0x8.0" />
	<field name="bytes" descr="See Table 240, &quot;HTGC - Trap Group Counter Set Layout,&quot; on page 697 for description." subnode="uint64" access="RO" offset="0x20.0" size="0x8.0" />
	<field name="sll_discards" descr="See Table 240, &quot;HTGC - Trap Group Counter Set Layout,&quot; on page 697 for description." subnode="uint64" access="RO" offset="0x28.0" size="0x8.0" />
	<field name="hll_discards" descr="See Table 240, &quot;HTGC - Trap Group Counter Set Layout,&quot; on page 697 for description." subnode="uint64" access="RO" offset="0x30.0" size="0x8.0" />
	<field name="policer_drop" descr="count the number of packet FW dropped due to the policer configured in MPRE." subnode="uint64" access="RO" offset="0x40.0" size="0x8.0" />
</node>

<node name="MRFV_CVB_ext" descr="" size="0x8.0" >
	<field name="cvb_data_index" descr="[Arcus2]: Index of LUT entry.\;\;[ArcusE]:\;CVB Voltage = -4 + 0.5 * cvb_data_index\;cvb_data_index valid values 0 .. 15\;Process Sigma &lt;-&gt; DVDD (mV)\;-4.0: 856.00\;-3.5: 847.75\;-3.0: 839.50\;-2.5: 831.25\;-2.0: 823.00\;-1.5: 814.75\;-1.0: 806.50\;-0.5: 798.25\;0 (nominal): 790.00\;0.5: 781.75\;1.0: 773.50\;1.5: 765.25\;2.0: 757.00\;2.5: 748.75\;3.0: 740.50\;3.5: 732.25\;4.0: 724.00\;Reserved when selector = 1" access="RO" offset="0x0.0" size="0x0.5" />
	<field name="cnt_out" descr="[DWIP][Internal]\;Valid only if selector = 0.\;The minimum value of ISM cnt_out value, normalized by VDD value, which is used to determine the selected LUT entry index." access="RO" offset="0x0.6" size="0x0.20" />
	<field name="tav_cvb_voltage_msb" descr="MSB bits of the TAV voltage" access="RO" offset="0x0.26" size="0x0.4" />
	<field name="selector_cause" descr="[DWIP] [Internal]\;Valid only if selector = 1.\;0: Fuses are valid.\;1: Fuses are invalid but LUT entry not located." access="RO" offset="0x0.30" size="0x0.1" />
	<field name="selector" descr="[Arcus]:\;0: cvb_data_index is valid\;1: cvb_voltage is valid\;\;\;[Arcus2]:\;0: cvb_data_index is valid, and cvb_voltage exposes the value in LUT.\;1: cvb_data_index is not valid, and cvb_voltage exposes values from fuses (if selector_cause = 0)." access="RO" offset="0x0.31" size="0x0.1" />
	<field name="cvb_voltage" descr="CVB Voltage\;Returns required CVB voltage in mV.\;Reserved when selector = 0" access="RO" offset="0x4.0" size="0x0.16" />
	<field name="voltage_type" descr="The voltage type of the cvb_voltage\;0: DVDD\;1: AVDD\;2: VDD" access="INDEX" offset="0x4.16" size="0x0.3" />
	<field name="tav_cvb_voltage" descr="TAV CVB Voltage\;Returns required TAV CVB voltage in mV.\;Used in Retimer only.\;Value of 0 means not valid voltage, host should ignore this value.\;" access="RO" offset="0x4.20" size="0x0.12" />
</node>

<node name="MRFV_PVS_MAIN_ext" descr="" size="0x4.0" >
	<field name="pvs_main_data" descr="VDD Main Data. &quot;PVS&quot; prefix in name exists due to historical reasons.\;Range 0.675 - 0.75\;Vdd = 750mV - (fuse value - 1)*5mV" access="RO" offset="0x0.0" size="0x0.7" />
</node>

<node name="MRFV_PVS_TILE_ext" descr="" size="0x4.0" >
	<field name="pvs_tile_data" descr="VDD tile Data. PVS&quot; prefix in name exists due to historical reasons.\;Range 0.675 - 0.72\;Vdd = 750mV - (fuse value - 1)*5mV" access="RO" offset="0x0.0" size="0x0.7" />
</node>

<node name="MRFV_RAW_AND_VALUE_ext" descr="" size="0xc.0" >
	<field name="raw_fuses_highest_bit" descr="Raw Fuses Highest bit. Indicates the highest bit in raw_fuses field which is part of the fuse data.\;For example, if raw_fuses [15:0] contains the fuse data, this field&apos;s value is 15." access="RO" offset="0x0.0" size="0x0.5" />
	<field name="value_valid" descr="Value valid.\;0: value_base and value_exponent are NOT valid.\;1: value_base and value_exponent are valid.\;\;For the following fuse_ids (assuming a valid instance_id is provided), the value is valid:\;11: raw_and_value_vdd.\;12: raw_and_value_pl_avdd.\;13: raw_and_value_pl_dvdd.\;14: raw_and_value_p_avdd.\;15: raw_and_value_p_dvdd.\;16: raw_and_value_dvdd_sg.\;" access="RO" offset="0x0.31" size="0x0.1" />
	<field name="raw_fuses" descr="Raw fuses.\;Only the least significant &lt;raw_fuses_width&gt; bits are valid." access="RO" offset="0x4.0" size="0x4.0" />
	<field name="value_exponent" descr="The exponent part of the value.\;This field is signed, and negative values are represented using 2&apos;s complement." access="RO" offset="0x8.0" size="0x0.6" />
	<field name="value_base" descr="The base part of the value.\;This field is signed, and negative values are represented using 2&apos;s complement.\;\;The value is:\;value_base x 10 ^ value_exponent.\;\;Units:\;Power: [W].\;Voltage: [V].\;Time: [Sec].\;Current: [A].\;Capacitance: [F]." access="RO" offset="0x8.6" size="0x0.26" />
</node>

<node name="MRFV_ULT_ext" descr="" size="0xc.0" >
	<field name="ult_lot_digit_1" descr="" access="RO" offset="0x0.0" size="0x0.8" />
	<field name="ult_lot_digit_2" descr="" access="RO" offset="0x0.8" size="0x0.8" />
	<field name="ult_lot_digit_3" descr="" access="RO" offset="0x0.16" size="0x0.8" />
	<field name="ult_lot_digit_4" descr="" access="RO" offset="0x0.24" size="0x0.8" />
	<field name="ult_lot_digit_5" descr="" access="RO" offset="0x4.0" size="0x0.8" />
	<field name="ult_lot_digit_6" descr="" access="RO" offset="0x4.8" size="0x0.8" />
	<field name="ult_lot_digit_7" descr="" access="RO" offset="0x4.16" size="0x0.8" />
	<field name="ult_lot_digit_8" descr="" access="RO" offset="0x4.24" size="0x0.8" />
	<field name="ult_y" descr="" access="RO" offset="0x8.0" size="0x0.8" />
	<field name="ult_x" descr="" access="RO" offset="0x8.8" size="0x0.8" />
	<field name="ult_wafer_number" descr="" access="RO" offset="0x8.16" size="0x0.8" />
	<field name="ult_err_detection" descr="" access="RO" offset="0x8.29" size="0x0.3" />
</node>

<node name="MRFV_data_auto_ext" descr="" attr_is_union="1" size="0xc.0" >
	<field name="MRFV_CVB_ext" descr="" subnode="MRFV_CVB_ext" offset="0x0.0" selected_by="cvb" size="0x8.0" />
	<field name="MRFV_PVS_MAIN_ext" descr="" subnode="MRFV_PVS_MAIN_ext" offset="0x0.0" selected_by="vdd_main_die" size="0x4.0" />
	<field name="MRFV_PVS_TILE_ext" descr="" subnode="MRFV_PVS_TILE_ext" offset="0x0.0" selected_by="vdd_tile_0" size="0x4.0" />
	<field name="MRFV_RAW_AND_VALUE_ext" descr="" subnode="MRFV_RAW_AND_VALUE_ext" offset="0x0.0" selected_by="raw_and_value_vdd" size="0xc.0" />
	<field name="MRFV_ULT_ext" descr="" subnode="MRFV_ULT_ext" offset="0x0.0" selected_by="ULT" size="0xc.0" />
</node>

<node name="MRFV_ext" descr="" size="0x40.0" >
	<field name="fuse_id" descr="Fuse Index\;0: cvb - CVB Main Die, used for Retimer\;1: ULT - used for Retimer\;2: vdd_main_die - (used from SPC-4)\;3: vdd_tile_0 - (used from SPC-4)\;4: vdd_tile_1 - (used from SPC-4)\;5: vdd_tile_2 - (used from SPC-4)\;6: vdd_tile_3 - (used from SPC-4)\;7: vdd_tile_4 - (used from SPC-4)\;8: vdd_tile_5 - (used from SPC-4)\;9: vdd_tile_6 - (used from SPC-4)\;10: vdd_tile_7 - (used from SPC-4)\;[DWIP]:\;11: raw_and_value_vdd - Use instance_id for the specific instance. Valid on SPC6.\;12: raw_and_value_pl_avdd - Use instance_id for the specific instance. Valid on SPC6.\;13: raw_and_value_pl_dvdd - Use instance_id for the specific instance. Valid on SPC6.\;14: raw_and_value_p_avdd - Use instance_id for the specific instance. Valid on SPC6.\;15: raw_and_value_p_dvdd - Use instance_id for the specific instance. Valid on SPC6.\;16: raw_and_value_dvdd_sg - Use instance_id for the specific instance. Valid on SPC6.\;Other values reserved\;Reserved when fm = 1" access="INDEX" enum="cvb=0x0,ULT=0x1,vdd_main_die=0x2,vdd_tile_0=0x3,vdd_tile_1=0x4,vdd_tile_2=0x5,vdd_tile_3=0x6,vdd_tile_4=0x7,vdd_tile_5=0x8,vdd_tile_6=0x9,vdd_tile_7=0xa,raw_and_value_vdd=0xb,raw_and_value_pl_avdd=0xc,raw_and_value_pl_dvdd=0xd,raw_and_value_p_avdd=0xe,raw_and_value_p_dvdd=0xf,raw_and_value_dvdd_sg=0x10" offset="0x0.0" size="0x0.8" />
	<field name="instance_id" descr="[DWIP]:\;Instance ID. For a fuse that has multiple instances, this field provides the Instance ID.\;For the common case where it&apos;s a single instance per asic, instance ID 0 denotes the main/die [0] instance, and subsequent instance ID X denotes the instance of tile [X-1] / die [X].\;For a given fuse_id, if an invalid instance_id is provided, BAD_PARAM is returned." access="INDEX" offset="0x0.8" size="0x0.8" />
	<field name="fm" descr="Fuse Mismatch\;0: No fuse mismatch\;1: Fuse mismatch found\;2-3: Reserved" access="RO" offset="0x0.24" size="0x0.2" />
	<field name="v" descr="Valid bit\;0: Fuse reading is not supported for this system\;1: Response is valid\;2-3: Reserved\;Reserved when fm = 1" access="RO" offset="0x0.30" size="0x0.2" />
	<field name="data" descr="Data\;See Table 735, &quot;MRFV entry - CVB Layout,&quot; on page 1234\;See Table 737, &quot;MRFV entry - ULT Layout,&quot; on page 1236\;See Table 739, &quot;MRFV entry - VDD_MAIN Layout,&quot; on page 1237\;See Table 741, &quot;MRFV entry - VDD_Tile Layout,&quot; on page 1238\;See Table 743, &quot;MRFV entry - RAW_AND_VALUE Layout,&quot; on page 1239\;Reserved when fm = 1" subnode="MRFV_data_auto_ext" access="RO" offset="0x10.0" size="0xc.0" union_selector="$(parent).fuse_id" />
</node>

<node name="MSECQ_reg_ext" descr="" size="0x40.0" >
	<field name="local_enhanced_ssm_code" descr="The enhanced SSM code to be delivered when on holdover." access="RO" offset="0x4.0" size="0x0.8" />
	<field name="local_ssm_code" descr="The SSM code to be delivered when on holdover." access="RO" offset="0x4.8" size="0x0.4" />
	<field name="network_option" descr="The network option of this device (as defined in ITU-T G.781).\;1: Network option 1\;2: Network option 2" access="RO" offset="0x4.12" size="0x0.2" />
	<field name="local_clock_identity" descr="The SyncE clock identity of the device." subnode="uint64" access="RO" offset="0x8.0" size="0x8.0" />
</node>

<node name="MSEES_reg_ext" descr="" size="0x40.0" >
	<field name="lp_msb" descr="2-bit expansion of the local port. Represents the local_port[9:8] bits" access="INDEX" offset="0x0.12" size="0x0.2" />
	<field name="pnat" descr="Port number access type, determines the way local_port is interpreted:\;0: Local port number\;1: Label port number\;3: Out of band or PCI" access="INDEX" offset="0x0.14" size="0x0.2" />
	<field name="local_port" descr="Local port number\;Not supported for CPU port" access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="field_select" descr="Field select indicates which fields to modify in write operation to this register. \;Bit 0: enable field_select\;Bit 1: admin_status\;Bit 2: admin_freq_measure\;Bits 3-31: Reserved" access="WO" offset="0x4.0" size="0x4.0" />
	<field name="failure_reason" descr="0: undefined error \;1: port down\;2: too high frequency_diff\;3: network synchronizer device error\;4: lack of resources for tracking \;5-255: reserved for future use \;\;Note: Reserved when oper_status is different than 4 or 5" access="RO" offset="0x8.0" size="0x0.9" />
	<field name="oper_freq_measure" descr="0: frequency_diff field is not valid\;1: frequency_diff field is valid" access="RO" offset="0x8.9" size="0x0.1" />
	<field name="admin_freq_measure" descr="0: don&apos;t measure frequency_diff\;1: measure frequency_diff" access="RW" offset="0x8.10" size="0x0.1" />
	<field name="ho_acq" descr="Holdover acquired.\;0: The device does not have enough data to go into holdover.\;1: The device has enough data to go into holdover." access="RO" offset="0x8.23" size="0x0.1" />
	<field name="oper_status" descr="0: free running - the device is using internal oscillator as timing source \;1: self track - the device is in sync with this timing source\;2: other track - the device is in sync with other timing source\;3: holdover - the device is using the internal oscillator and past information as a timing source.\;4: Holdover due to failure (see field failure_reason)\;5: Free running due to failure (see field failure_reason)." access="RO" offset="0x8.24" size="0x0.4" />
	<field name="admin_status" descr="0: holdover/free running - the device will use internal oscillator as timing source. \;Free running is the default value.\;Device holdover / free running will take place only if admin status = 0 across all other ports.\;1: track - the device will sync to this timing source. When writing admin status = 1 to a port, all other ports will move to admin status = 0." access="RW" offset="0x8.28" size="0x0.4" />
	<field name="frequency_diff" descr="The FFO (Fractional Frequency Offset) between the rx and tx symbol rate: (rx_frequency- tx_frequency) /rx_frequency.\;Value is in ppt (2&apos;s complement).\;Any value larger than 0x7FFFFFFF represented as 0x7FFFFFFF. \;Any value smaller than 0x80000000 represented as 0x80000000.\;\;Note: Reserved when oper_freq is different than &apos;1&apos;." access="RO" offset="0xC.0" size="0x4.0" />
</node>

<node name="MSPI_ext" descr="" size="0x18.0" >
	<field name="vendor_id" descr="Vendor Id:\;0: Renesas\;1: SiTime 148\;2: SiTime 348\;3: TI\;4-15: Reserved\;Reserved when synce_support = 0" access="RO" offset="0x0.0" size="0x0.4" />
	<field name="clk_dev" descr="Clock Device\;Valid values 0..cap_max_clock_sync_dev-1.\;Supported for SPC-4 only\;" access="INDEX" offset="0x0.16" size="0x0.2" />
	<field name="synce_support" descr="SyncE Support:\;0: SyncE is not supported by FW\;1: SyncE is supported by FW" access="RO" offset="0x0.31" size="0x0.1" />
	<field name="config_version_id" descr="Configuration version id\;\;Reserved when synce_support = 0" access="RO" offset="0x4.0" size="0x0.16" />
	<field name="bcc" descr="burned configuration count\;Counts how many times the configuration was burned to the clock sync&apos; device. Non cleared counter \;\;Reserved when synce_support = 0" access="RO" offset="0x8.0" size="0x0.8" />
	<field name="obs_temperature" descr="On Board Sensor Temperature \;Units of 0.125 Celsius degrees.\;For negative values 2&apos;s complement is used (for example: -\;3.25 Celsius will read as 0xFFE6)" access="RO" offset="0x10.0" size="0x0.16" />
	<field name="obtv" descr="On Board Temperature validity\;0: temperature data is not valid\;1: temperature data is valid" access="RO" offset="0x10.31" size="0x0.1" />
	<field name="bis_temperature" descr="Built In Sensor Temperature \;Units of 0.125 Celsius degrees.\;For negative values 2&apos;s complement is used (for example: -\;3.25 Celsius will read as 0xFFE6)" access="RO" offset="0x14.0" size="0x0.16" />
	<field name="bitv" descr="Built In OCXO sensor Temperature validity\;0: temperature data is not valid\;1: temperature data is valid\;" access="RO" offset="0x14.31" size="0x0.1" />
</node>

<node name="PPCR_ext" descr="" size="0x10.0" >
	<field name="lp_msb" descr="Local port[9:8]\;Reserved for HCA" access="INDEX" offset="0x0.12" size="0x0.2" />
	<field name="local_port" descr="Local port number.\;" access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="asymmetry_enable" descr="[DWIP]\;Indicate whether asymmetry is enabled or not.\;\;For HCA, reserved if PPCR.asymmetry_enable_supported=0" access="RO" offset="0x4.30" size="0x0.1" />
	<field name="asymmetry_enable_supported" descr="[DWIP]\;Indicate whether asymmetry_enable supported or not.\;Reserved for switch.\;" access="RO" offset="0x4.31" size="0x0.1" />
	<field name="aggregated_port" descr="Aggregated Port number to be reflected in MAD.\;0 means N/A\;\;Reserved for HCA" access="RW" offset="0x8.0" size="0x0.8" />
	<field name="plane" descr="Plane number to be reflected in MAD.\;0 means N/A\;\;Reserved for HCA" access="RW" offset="0x8.16" size="0x0.3" />
	<field name="split" descr="When planarized  the FW shall respond to Hierarchy Info.Split with the following split value.\;In this use case it represents the split of the APort.\;\;When split = 0, the FW shall send Hierarchy Info without the split field. (meaning it is NA)\;\;When Non planarized (num_of_planes = 0), Hierarchy Info.Split will reflect the actual split value, when 2X- it&apos;ll hold the location within the 4x.\;\;0: NA\;1: Split 1.\;2: Split 2.\;3-7: Reserved\;Reserved for HCA" access="RW" offset="0x8.24" size="0x0.3" />
	<field name="num_of_planes" descr="The number of planes comprising this Aggregated port\;" access="RW" offset="0xC.0" size="0x0.8" />
	<field name="p_type" descr="[DWIP]\;Planarization Type\;0: non planarized\;1: planirized_gen1\;2-7: Reserved" access="RW" offset="0xC.16" size="0x0.3" />
</node>

<node name="PPIR_ext" descr="" size="0x8.0" >
	<field name="lcnf_pln" descr="Last Core Negotiation Failed due to Planarized.\;When there is no match between local and remote fields compared to local config by PPCR\;" access="RO" offset="0x0.0" size="0x0.1" />
	<field name="lpnf_phy" descr="Last Phy Negotiation Failed due to Phy\;No partner detected for a long period" access="RO" offset="0x0.8" size="0x0.1" />
	<field name="lpnf_no_hcd" descr="Last Phy Negotiation Failed due to Highest Common Denominator mismatch.\;" access="RO" offset="0x0.9" size="0x0.1" />
	<field name="lp_msb" descr="Local port[9:8]" access="INDEX" offset="0x0.12" size="0x0.2" />
	<field name="local_port" descr="Local port number." access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="peer_num_of_planes" descr="The number of planes comprising the peer Aggregated port\;" access="RO" offset="0x4.0" size="0x0.8" />
	<field name="peer_p_type" descr="Peer Planarization Type\;0: non planarized\;1: planirized_gen1\;2-7: Reserved" access="RO" offset="0x4.16" size="0x0.3" />
</node>

<node name="SF_PAGE_DUMP_MODE_0_ext" descr="" size="0x50.0" >
	<field name="key_54B" descr="See Table 2754, &quot;Flex2 Key 54B Layout,&quot; on page 3498" subnode="flex2_key_54b_ext" access="RO" offset="0x0.0" size="0x38.0" />
	<field name="a" descr="Activity bit\;0: inactive\;1: active" access="RO" enum="inactive=0x0,active=0x1" offset="0x38.16" size="0x0.1" />
	<field name="sem_s" descr="semaphore state\;0: unlocked\;1: locked" access="RO" enum="unlocked=0x0,locked=0x1" offset="0x38.19" size="0x0.1" />
	<field name="partition" descr="Partition id" access="RO" offset="0x38.20" size="0x0.3" />
	<field name="key_size" descr="3: key_size_54_bytes" access="RO" enum="key_size_54_bytes=0x3" offset="0x38.28" size="0x0.2" />
	<field name="valid" descr="0: page_not_valid\;1: page_valid" access="RO" enum="page_not_valid=0x0,page_valid=0x1" offset="0x38.31" size="0x0.1" />
	<field name="data" descr="" subnode="uint64" access="RO" offset="0x40.0" size="0x8.0" />
	<field name="region_id" descr="region id" access="RO" offset="0x48.0" size="0x0.16" />
	<field name="sem_count" descr="semaphore count" access="RO" offset="0x48.16" size="0x0.16" />
</node>

<node name="SF_PAGE_DUMP_MODE_1_RECORD_ext" descr="" size="0x28.0" >
	<field name="key_18B" descr="See Table 2758, &quot;Flex2 Key 18B Layout,&quot; on page 3501" subnode="flex2_key_18b_ext" access="RO" offset="0x0.0" size="0x14.0" />
	<field name="a" descr="activity bit\;0: inactive\;1: active\;\;Reserved when valid = 0" access="RW" offset="0x14.16" size="0x0.1" />
	<field name="sem_s" descr="Semaphore state\;0: unlocked\;1: locked" access="RO" offset="0x14.19" size="0x0.1" />
	<field name="partition" descr="Partition id" access="RO" offset="0x14.20" size="0x0.3" />
	<field name="key_size" descr="0: key_size_9_bytes\;1: key_size_18_bytes" access="RO" enum="key_size_9_bytes=0x0,key_size_18_bytes=0x1" offset="0x14.28" size="0x0.2" />
	<field name="valid" descr="0: record is not valid\;1: record is valid" access="RO" offset="0x14.31" size="0x0.1" />
	<field name="data" descr="" subnode="uint64" access="RO" offset="0x18.0" size="0x8.0" />
	<field name="region_id" descr="region id" access="RO" offset="0x20.0" size="0x0.16" />
	<field name="sem_count" descr="semaphore count" access="RO" offset="0x20.16" size="0x0.16" />
</node>

<node name="SF_PAGE_DUMP_MODE_1_ext" descr="" size="0x50.0" >
	<field name="record" descr="See Table 3871, &quot;SF Record Type 1 Layout,&quot; on page 4544" subnode="SF_PAGE_DUMP_MODE_1_RECORD_ext" access="RO" high_bound="1" low_bound="0" offset="0x0.0" size="0x50.0" />
</node>

<node name="SLCR_V2_ext" descr="" size="0x50.0" >
	<field name="type" descr="Hash type\;0: CRC (default)\;1: XOR \;2: Random\;3: CRC2, For Spectrum-2 and on\;\; \;" access="RW" offset="0x0.0" size="0x0.4" />
	<field name="sh" descr="0: Disabled\;1: Symmetric hash \;When set, the hash calculation will result in the same hash value as when the source address (layer 2 and layer 3) is swapped. This ensures that the same conversions will result in the same hash value.\;Note: When this bit is set, enabling addresses in outer_header_fields_enables and inner_header_fields_enables\;For SwitchX/-2 must be in couples - both source and destination. This includes the following sets:\;- SMAC, DMAC\;- SIP, DIP\;- TCP/UDP source port, TCP/UDP destination port\;- SID, DID, for SwitchX/-2 only\;\;\;" access="RW" offset="0x0.8" size="0x0.2" />
	<field name="lp_msb" descr="Local port[9:8]" access="INDEX" offset="0x0.12" size="0x0.2" />
	<field name="local_port" descr="Ingress Local port number\;Supported from CPU port\;Not supported from router port\;Reserved when pp = Global Configuration" access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="pp" descr="Per Port Configuration\;0: Global Configuration (for all ports)\;1: Per port configuration, based on local_port field.\;Note: SW must not read as global if last write was not global." access="INDEX" offset="0x0.24" size="0x0.1" />
	<field name="seed" descr="LAG seed value\;The seed is the same for all ports (latest configuration configures the seed for all ports)." access="RW" offset="0x8.0" size="0x4.0" />
	<field name="general_fields" descr="This is a bit mask, in which each bit enables a specific field to be included in the hash calculation. \;Bit 0: ingress port - [DWIP]\;Bit 1: custom_bytes are set by cbsets field.\;Bit i: custom_bytes i-2\;i = 2 .. 2 + (cap_max_custom_byte_sets_for_hash * cap_custom_byte_entry_size - 1). Reserved when Bit1 = 1.\;See Section 11.3.16, &quot;Custom Bytes&quot;, on page 3390" access="RW" offset="0xC.0" size="0x4.0" />
	<field name="outer_header_enables" descr="Outer header enables. Each bit enables a specific layer field to be included in the hash calculation. Layers that are not listed below are enabled by default.\;Bit 0: Enable Layer2 fields if packet is not IPv4/6\;Bit 1: Enable Layer2 fields if packet is IPv4\;Bit 2: Enable Layer2 fields if packet is IPv6\;Bit 3: Enable IPv4 fields if packet is not TCP and not UDP\;Bit 4: Enable IPv4 fields if packet is either TCP or UDP\;Bit 5: Enable IPv6 fields if packet is not TCP and not UDP\;Bit 6: Enable IPv6 fields if packet is either TCP or UDP\;Bit 7: Enable TCP/UDP header fields if packet is IPv4\;Bit 8: Enable TCP/UDP header fields if packet is IPv6" access="RW" offset="0x10.0" size="0x0.16" />
	<field name="outer_header_fields_enable" descr="Layer2 fields, subject to outer_header_enables:\;Bit 0: SMAC\;Bit 1: DMAC\;Bit 2: Ethertype\;Bit 3: Outer VID\;Bit 4: Outer PCP\;Bit 5: Outer DEI\;Bit 6: Inner VID\;Bit 7: Inner PCP\;Bit 8: Inner DEI\;\;IPv4 fields, subject to outer_header_enables:\;Bits 12:9: IPv4 SIP 0-3 enable per byte. For ARP all bytes are used\;Bits 16:13: IPv4 DIP 0-3 enable per byte. For ARP all bytes are used\;Bit 17: IPv4 Protocol\;Bit 18: IPv4 DSCP\;Bit 19: IPv4 ECN\;Bit 20: IPv4 IP L3 Length - length field bits [13:10]\;\;IPv6 fields, subject to outer_header_enables:\;Bits 21: IPv6 enable bytes of SIP 0-7. For ARP all bytes are used\;Bits 28:22 reserved\;Bits 36:29: IPv6 SIP 8-15 enable per byte. For ARP all bytes are used\;Bits 37: IPv6 enable bytes of DIP 0-7. For ARP all bytes are used\;Bits 44:38 reserved\;Bits 52:45: IPv6 DIP 8-15 enable per byte. For ARP all bytes are used\;Bit 53: IPv6 Next Header\;Bit 54: IPv6 DSCP\;Bit 55: IPv6 ECN\;Bit 56: IPv6 IP L3 Length - length field bits [13:10]\;Bit 57: IPv6 Flow label\;\;" access="RW" high_bound="4" low_bound="0" offset="0x14.0" size="0x14.0" />
	<field name="inner_header_enables" descr="Inner header enables. Each bit enables a specific layer field to be included in the hash calculation. Layers that are not listed below are enabled by default.\;Bit 0: Enable inner Layer2 fields if inner packet is not IPv4/6\;Bit 1: Enable inner Layer2 fields if inner packet is IPv4\;Bit 2: Enable inner Layer2 fields if inner packet is IPv6\;Bit 3: Enable inner IPv4 fields if inner packet is not TCP and not UDP\;Bit 4: Enable inner IPv4 fields if inner packet is either TCP or UDP\;Bit 5: Enable inner IPv6 fields if inner packet is not TCP and not UDP\;Bit 6: Enable inner IPv6 fields if inner packet is either TCP or UDP\;Bit 7: Enable inner TCP/UDP header fields if inner packet is IPv4\;Bit 8: Enable inner TCP/UDP header fields if inner packet is IPv6\;others: reserved" access="RW" offset="0x2C.0" size="0x0.16" />
	<field name="inner_header_fields_enable" descr="Inner header fields enable.\;\;Inner Layer2 fields, subject to inner_header_enables:\;Bit 0: SMAC\;Bit 1: DMAC\;Bit 2: Ethertype\;\;Inner IPv4 fields, subject to inner_header_enables:\;Bits 6:3: IPv4 SIP 0-3 enable per byte\;Bits 10:7: IPv4 DIP 0- 3 enable per byte\;Bit 11: IPv4 Protocol\;\;Inner IPv6 fields, subject to inner_header_enables:\;Bits 12: IPv6 enable bytes of SIP 0-7\;Bits 19:13 reserved\;Bits 27:20: IPv6 SIP 8-15 enable per byte\;Bits 28: IPv6 enable bytes of DIP 0-7\;Bits 35:29 reserved\;Bits 43:36: IPv6 DIP 8-15 enable per byte\;Bit 44: IPv6 Next Header\;Bit 45: IPv6 Flow label\;\;Inner TCP /UDP header fields, subject to inner_header_enables:\;Bit 46: TCP/UDP source port\;Bit 47: TCP/UDP destination port\;others: reserved" subnode="uint64" access="RW" offset="0x30.0" size="0x8.0" />
	<field name="cbsets" descr="Custom Byte Sets.\;For more details refer to Table 1617, &quot;cbset Layout,&quot; on page 2102.\;Reserved when general_fields.Bit1 = 0.\;Reserved when Spectrum\;Indices are up to cap_max_custom_byte_sets_for_hash-1" access="RW" high_bound="15" low_bound="0" offset="0x40.24" size="0x10.0" />
</node>

<node name="SLTR_reg_ext" descr="" size="0x138.0" >
	<field name="meas_type" descr="Measurement type parameters:\;0: Periodic_non_destructive\;1: Periodic_non_destructive_part2\;2: non_periodic_non_destructive\;3: cause_list\;4: Periodic_non_destructive_part3" access="INDEX" enum="Periodic_non_destructive=0x0,Periodic_non_destructive_part2=0x1,non_periodic_non_destructive=0x2,cause_list=0x3,Periodic_non_destructive_part3=0x4" offset="0x0.0" size="0x0.4" />
	<field name="port_type" descr="For HCA supported only when indicated by PCAM \;0 - Network Port\;1 - Near-End Port (For Retimer/Gearbox - Host side)\;2 - Internal IC LR Port \;3 - Far-End Port (For Retimer/Gearbox - Line side)\;4 - USR Main\;5 - USR Tile\;Other values are reserved." access="INDEX" offset="0x0.4" size="0x0.4" />
	<field name="lane" descr="Logical lane number" access="INDEX" offset="0x0.8" size="0x0.4" />
	<field name="pnat" descr="Port number access type:\;0 - Local port number\;1 - IB Port number\;3 - Out of band / PCI" access="INDEX" offset="0x0.14" size="0x0.2" />
	<field name="local_port" descr="Local port number." access="INDEX" offset="0x0.16" size="0x0.10" />
	<field name="status" descr="0 - Invalid\;1 - Valid" access="RO" offset="0x0.28" size="0x0.4" />
	<field name="group_cap_mask" descr="Supported pages\;Bit 0 - Periodic and Non-destructive\;Bit 1 - Periodic and Non-destructive_part2\;Bit 2- Non-Periodic and Non-destructive\;Bit 3- Periodic and Non-destructive_part3" access="RO" offset="0x4.0" size="0x0.9" />
	<field name="version" descr="5: prod_5nm - (Uphy 7.0)\;6: serdes_gen_8\;7: prod_3nm_serdes_gen_7p5" access="RO" enum="prod_5nm=0x5,serdes_gen_8=0x6,prod_3nm_serdes_gen_7p5=0x7" offset="0x4.24" size="0x0.4" />
	<field name="page_data" descr="Table  2142, &quot;SLTR - Periodic Non Destructive Layout,&quot; on page  2851\;Table  2144, &quot;SLTR - Periodic Non Destructive part2 Layout,&quot; on page  2864\;Table  2146, &quot;SLTR - Periodic Non Destructive part3 Layout,&quot; on page  2875\;Table  2148, &quot;SLTR - Non Periodic Non Destructive Layout,&quot; on page  2880\;Table  2150, &quot;SLTR - Cause List UPHY8 Layout,&quot; on page  2882\;Table  2152, &quot;SLTR - Cause List UPHY7.5 Layout,&quot; on page  2886\;Table  2154, &quot;SLTR - Cause List UPHY7 Layout,&quot; on page  2891" subnode="SLTR_reg_page_data_auto_ext" access="RO" condition="$(parent).meas_type AND $(parent).version" offset="0x8.0" size="0x130.0" />
</node>

<node name="SLTR_reg_page_data_auto_ext" descr="" attr_is_union="1" is_conditional="1" size="0x130.0" >
	<field name="sltr_cause_list_uphy7_5_ext" descr="" subnode="sltr_cause_list_uphy7_5_ext" condition="($(parent).meas_type == cause_list) AND ($(parent).version == prod_3nm_serdes_gen_7.5)" offset="0x0.0" size="0x10.0" />
	<field name="sltr_cause_list_uphy7_ext" descr="" subnode="sltr_cause_list_uphy7_ext" condition="($(parent).meas_type == cause_list) AND ($(parent).version == prod_5nm)" offset="0x0.0" size="0x10.0" />
	<field name="sltr_cause_list_uphy8_ext" descr="" subnode="sltr_cause_list_uphy8_ext" condition="($(parent).meas_type == cause_list) AND ($(parent).version == serdes_gen_8)" offset="0x0.0" size="0x14.0" />
	<field name="sltr_non_periodic_non_destructive_ext" descr="" subnode="sltr_non_periodic_non_destructive_ext" condition="($(parent).meas_type == non_periodic_non_destructive) AND ($(parent).version == serdes_gen_8)" offset="0x0.0" size="0x18.0" />
	<field name="sltr_periodic_non_destructive_ext" descr="" subnode="sltr_periodic_non_destructive_ext" condition="($(parent).meas_type == Periodic_non_destructive) AND ($(parent).version == serdes_gen_8)" offset="0x0.0" size="0x124.0" />
	<field name="sltr_periodic_non_destructive_part2_ext" descr="" subnode="sltr_periodic_non_destructive_part2_ext" condition="($(parent).meas_type == Periodic_non_destructive_part2) AND ($(parent).version == serdes_gen_8)" offset="0x0.0" size="0x130.0" />
	<field name="sltr_periodic_non_destructive_part3_ext" descr="" subnode="sltr_periodic_non_destructive_part3_ext" condition="($(parent).meas_type == Periodic_non_destructive_part3) AND ($(parent).version == serdes_gen_8)" offset="0x0.0" size="0xc4.0" />
</node>

<node name="access_reg_summary_ctrl_ext" descr="" attr_is_union="1" size="0x4.0" >
	<field name="id" descr="" subnode="enum_entry" enum="HGCR=0x7000,HCAP=0x7001,HPKT=0x7003,HTGT=0x7002,HTGC=0x7006,HOPF=0x7081,HMCB=0x7082,HMON=0x7084,HRWC=0x7088,HCTR=0x7083,HTAC=0x7085,HCOT=0x7087,HRDQT=0x7022,HTACG=0x7023,HTEC=0x7092,HTCR=0x7093,HCPNC=0x7096,HUKT=0x7094,HETT=0x7089,HCCR=0x7095,HTHM=0x7091,MPEIN=0x9050,MPCNT=0x9051,MPIR=0x9059,MPECS=0x905b,MPCAM=0x9702,MMDIO=0x9017,MLCR=0x902b,MGCR=0x903a,MJTAG=0x901f,MFM=0x901d,MHSR=0x901e,MTPPS=0x9053,MTUTC=0x9055,MTPPST=0x9057,MSECQ=0x9155,MSEES=0x9156,MSPI=0x9029,MCIA=0x9014,MCION=0x9052,MCFS=0x9165,PMAOS=0x5012,MMTA=0x9113,PMTM=0x5067,PMPC=0x501f,PMPE=0x5024,MELSRC=0x9046,MELSEQ=0x9047,MBAU=0x904a,MBBU=0x904b,MDDT=0x9160,MDDQ=0x9161,MDDC=0x9163,MGPIR=0x9100,MDRCR=0x9102,MDFCR=0x9101,MTCAP=0x9009,MTECR=0x9109,MTMP=0x900a,MTWE=0x900b,MTEWE=0x910b,MTBR=0x900f,MTSH=0x910a,MVCAP=0x902e,MVCR=0x900c,MSPS=0x900d,MCPP=0x900e,MPSCR=0x910f,MLPC=0x9166,MPPCR=0x9173,MPPGCR=0x9174,MPPGS=0x9175,MPPGH=0x9176,MPGHR=0x9141,MPPDR=0x9177,MPSQ=0x9044,MPSH=0x9045,MPDOR=0x917f,MCDOR=0x9183,MRSR=0x9023,MRSRFT=0x911e,MBTR=0x9077,MCQS=0x9060,MCQI=0x9061,MCC=0x9062,MCDA=0x9063,MCDD=0x905c,MIRC=0x9162,MQIS=0x9064,MGIR=0x9020,MSGI=0x9021,MSCI=0x902a,MDIR=0x911a,MIDFV=0x9018,MSSIR=0x9105,MINI=0x905e,MCAM=0x907f,MECCC=0x905f,MMAM=0x9170,MMAG=0x9171,MFMI=0x9078,MRFV=0x906d,MBCT=0x9120,MTEIR=0x9190,MDTR=0x9073,MDSR=0x9110,MFSV=0x9115,MTCQ=0x9065,MQDIK=0x9116,MKDC=0x9066,MSPMER=0x9070,MFCDR=0x9178,MSGCR=0x9179,MSHR=0x917e,MNVDA=0x9024,MNVDI=0x9025,MNVQC=0x9030,MNVIA=0x9033,MNVGC=0x9034,MNVGN=0x9035,MGNLE=0x9036,MTRC_CAP=0x9040,MTRC_CONF=0x9041,MTRC_STDB=0x9042,MTRC_STDB_V2=0x9210,MTRC_CTRL=0x9043,MTEIM=0x9118,MTIE=0x911b,MTIM=0x911c,MTDC=0x911d,MFPA=0x9010,MFBA=0x9011,MFBE=0x9012,MFMC=0x9013,MFCR=0x9001,MFSC=0x9002,MFSM=0x9003,MFSL=0x9004,FORE=0x9007,MFNR=0x903b,MPDMP=0x9130,MPDMC=0x9131,MPDMM=0x9132,MPDMS=0x9133,MPCIR=0x905a,MERR=0x903c,MRPR=0x9117,MECGC=0x9157,MECIS=0x9158,MECS=0x9159,MECR=0x915a,MHMPR=0x905d,MFRC=0x9069,MMCR=0x906c,MFRI=0x906b,MFRP=0x906a,MISSUV=0x9191,MOGCR=0x9086,MPRS=0x9083,MDRI=0x9084,MDRI_V2=0x9430,MRRR=0x9087,MONI=0x90f4,MOLP=0x90f9,MFBD=0x90fb,MMGCR=0x90e9,MPAT=0x901a,MPAR=0x901b,MPAGR=0x9089,MOMTE=0x908d,MOCMI=0x9098,MOTRM=0x9402,MPSC=0x9080,MOTPR=0x9420,MOTSPT=0x9421,MOTTG=0x9422,MOTBT=0x9423,MOTCC=0x9426,MOTCNT=0x9425,MOTCNT_V2=0x9427,MGPC=0x9081,MGPCB=0x9096,MOCS=0x9095,MAFCR=0x908a,MAFTI=0x908b,MAFRI=0x908c,MAFBI=0x9097,MOCA=0x90e3,MOFPH=0x90e4,MOFPC=0x90e5,MOFRB=0x90e6,MOCBR=0x90e7,MOCBS=0x90e8,MOFTC=0x9400,MOFTD=0x9401,MTPPPC=0x9090,MTPPTR=0x9091,MTPTPT=0x9092,MTPCPC=0x9093,MTPSPU=0x9094,MPGGC=0x9413,MPGDQ=0x9414,MPGDI=0x9415,MPGSB=0x9416,MPGSS=0x9417,MPGEE=0x9418,MPGEC=0x9419,MPGSR=0x941f,MPRE=0x941a,MPRC=0x941d,MSLME=0x941b,MSLMC=0x941c,MROE=0x941e,MBPE=0x9431,MBTE=0x9432,MODRT=0x9451,MODRC=0x9450,MODCR=0x9099,MFDE=0x9200,MOFDE=0x9152,MORD=0x9153,MORD_V2=0x915b,SGCR=0x2000,SPAD=0x2002,SFDAT=0x2009,SFD=0x200a,SFD_V2=0x201a,SFN=0x200b,SFDD=0x2024,SFDB=0x2028,SFDB_V2=0x202d,SPGT=0x200c,SMID=0x2007,SMID_V2=0x2034,SMPU=0x2006,SSPR=0x2008,SPMS=0x200d,SPMS_V2=0x2032,SPVID=0x200e,SPEVET=0x202a,SPVTR=0x201d,SPVM=0x200f,SPAFT=0x2010,SFGC=0x2011,SFTR=0x2012,SFTR_V2=0x202f,SVFA=0x201c,SFDF=0x2013,SLDR=0x2014,SLMT=0x2037,SLCR=0x2015,SLCR_V2=0x2021,SFDT=0x2022,SFDT_V2=0x202e,SLCOR=0x2016,SLECR=0x2017,SPVMLR=0x2020,SVPE=0x201e,SFMR=0x201f,SVER=0x2025,SPVC=0x2026,SPFSR=0x2023,SFFP=0x2029,SMPE=0x202b,SMPEB=0x202c,SVPCN=0x2036,PCAM=0x507f,PCAP=0x5001,PTYS=0x5004,PAOS=0x5006,PLTC=0x5046,PPCNT=0x5008,PUDE=0x5009,PTSE=0x5047,PIPG=0x5017,PGMR=0x5039,PTER=0x5055,PREI=0x5058,PPRM=0x5059,PMSCR=0x505c,PMLP=0x5002,PMPR=0x5013,PMTDB=0x501a,PMECR=0x501b,PMLPE=0x501c,PMSC=0x501d,PMMP=0x5044,PMCR=0x5045,PEPC=0x5056,PMPT=0x5064,PMPD=0x5065,PMLR=0x506d,PLDS=0x5076,PPSC=0x5011,PRTL=0x5014,PPLR=0x5018,PEIR=0x5019,PPLM=0x5023,SLTP=0x5027,SLTPv2=0x502f,SLRG=0x5028,PTASv2=0x502e,SLSIR=0x502c,PDDR=0x5031,PPTT=0x5036,PPRT=0x5037,PMDR=0x503c,PPHCR=0x503e,PPAOS=0x5040,PCNR=0x5050,PPBMP=0x5051,PPBMC=0x5052,PPBME=0x5053,SLRED=0x505a,SLLM=0x505b,PEMI=0x506e,PMLSE=0x508f,PMFT=0x5090,SLPRR=0x507b,PLCC=0x505e,PCCT=0x5086,SLTR=0x5081,PFLDC=0x5083,PBGCR=0x5100,PMTU=0x5003,PPAD=0x5005,PFCC=0x5007,PPFCG=0x50f1,PPWCC=0x50f2,PPWPT=0x50f3,PPWE=0x50f4,PPWDC=0x50f5,PPTB=0x500b,PBMC=0x500c,PSPA=0x500d,PGUID=0x5066,PVLC=0x500f,PLBF=0x5015,PIFR=0x5016,PIFR_V2=0x50e0,PHBR=0x5034,PHRR=0x5035,PBSR=0x5038,PCMR=0x5041,PFCR=0x5048,PFSC=0x5043,PLLP=0x504a,PPCR=0x504c,PPIR=0x50eb,PRTSR=0x5402,PLDT=0x504d,PLDC=0x504e,PLIB=0x500a,PLIBDB=0x50e1,PPSLC=0x50e2,PPSLS=0x50e3,PPSLD=0x50e4,PPSPI=0x50ed,PPSPHI=0x50f0,PPSPGC=0x50ef,PPSPC=0x50ee,PBWC=0x50e7,PBWR=0x50e8,PGCB=0x5103,PGRRS=0x5104,IGCR=0x3801,IDDD=0x3802,IDDDS=0x3803,IEDR=0x3804,IEDS=0x3805,IFBO=0x3810,IICR=0x3811,IPAC=0x3812,IPSR=0x3815,IPER=0x3816,IHSR=0x3813,IHSCR=0x3814,ICSR=0x38f0,ICAM=0x387f,ITPR=0x3820,ITGCR=0x3821,IPCR=0x3823,IPFR=0x3824,IRPCS=0x3825,IELR=0x3826,IEDLR=0x3827,SPZR=0x6002,IBFMR=0x6003,IBFMRC=0x6004,IBSNI=0x6005,IBISSU=0x6006,SBGCR=0xb000,SBPR=0xb001,SBCM=0xb002,SBPM=0xb003,SBMM=0xb004,SBME=0xb00e,SBSR=0xb005,SBSRD=0xb015,SBIB=0xb006,SBDCC=0xb007,SBDCM=0xb008,SBDCR=0xb019,SBHBR=0xb00a,SBHRR=0xb00b,SBHBR_V2=0xb011,SBHRR_V2=0xb012,SBCTC=0xb00c,SBCTR=0xb00d,SBCTS=0xb00f,SBHPC=0xb013,SBSNT=0xb020,SBSNS=0xb021,SBSNTE=0xb022,SBCAM=0xb01f,SBRMS=0xb031,SBRMR=0xb032,MPGCR=0x8801,MPILM=0x8802,MPIBE=0x8803,MPNHLFE=0x8804,MPNHLFEB=0x8805,MPFT=0x8806,MPEPM=0x8810,MPQDR=0x8811,MPILEM=0x8812,TNGCR=0xa001,TNPC=0xa020,TNGEE=0xa021,TNCR=0xa002,TNCR_V2=0xa004,TNUMT=0xa003,TNQCR=0xa010,TNQDR=0xa011,TNEEM=0xa012,TNDEM=0xa013,TNIFR=0xa014,TNIFR_V2=0xa017,TNIPSD=0xa015,TIGCR=0xa801,TIQCR=0xa810,TIQDR=0xa811,TIEEM=0xa812,TIDEM=0xa813,RCAP=0x8000,RGCR=0x8001,RITR=0x8002,RIGR_V2=0x8023,RTAR=0x8004,RECR=0x8005,RECR_V2=0x8025,RUFT=0x8006,RMFT=0x8007,RMFT_V2=0x8027,RMFTAD=0x8028,RRCR=0x800f,RATR=0x8008,RATRB=0x8024,RATRAD=0x8022,RTDP=0x8020,RIPS=0x8021,RDPM=0x8009,RICNT=0x800b,RIMCB=0x8049,RALTA=0x8010,RALST=0x8011,RALTB=0x8012,RALUE=0x8013,RALUEB=0x801b,RAUHT=0x8014,RAUHTD=0x8018,RALEU=0x8015,RALEU_V2=0x8019,RALBU=0x8016,RALUP=0x801a,RALCM=0x8017,RMID=0x8030,RMID_V2=0x8036,RMPE=0x8031,RMPU=0x8032,RMEIR=0x8033,REIV=0x8034,RNGCR=0x8045,RRPCC=0x8047,RRPCT=0x8048,RARGCR=0x806a,RARGCR_V2=0x806e,RARPC=0x8060,RARSR=0x8069,RARPR=0x8061,RARCL=0x8062,RARGMC=0x8074,RARPTM=0x8076,RARPPM=0x8077,RARLU=0x8068,RARGCS=0x806c,RARGTC=0x806d,RARFT=0x8064,RARFTB=0x8079,RARFTBR=0x807a,RARLPGT=0x8065,RARCC=0x8067,RARTM=0x806b,RSNH=0x8066,RARNGC=0x8070,RARNPC=0x8078,RARNS=0x8073,RARNPR=0x8071,RARNCP=0x8072,RARNCG=0x8075,RTCA=0x800d,RTPS=0x800e,RIVA=0x8044,RIRT=0x8046,CWGCR=0x2801,CWTP=0x2802,CWPP=0x2804,CWTPM=0x2803,CPQE=0x2806,CHLTR=0x2810,CHLTM=0x2811,CHLMM=0x2812,CEGCR=0x2820,CEPC=0x2821,CEDR=0x2822,CEER=0x2823,QGCR=0x4000,QPTS=0x4002,QDPM=0x4003,QPDPM=0x4013,QEPM=0x4014,QPCR=0x4004,QPBR=0x400c,QEEC=0x400d,QECC=0x401c,QPDP=0x4007,QPDPC=0x4017,QPRT=0x4008,QTCT=0x400a,QTCTM=0x401a,QSPIP=0x400e,QSPCP=0x401e,QRWE=0x400f,QPEM=0x4010,QPDSM=0x4011,QPPM=0x4012,QSLL=0x4015,QHLL=0x4016,QSIPG=0x4018,QTTTL=0x4040,QTQCR=0x4041,QTQDR=0x4042,QTEEM=0x4043,QTDEM=0x4044,QPTG=0x4050,QTGTC=0x4051,PGCR=0x3001,PPBT=0x3002,PEVPB=0x302e,PVGT=0x3009,PVBT=0x3003,PRBT=0x3013,PEMRBT=0x3014,PERB=0x3040,PERBRG=0x3041,PERBEG=0x3042,PACL=0x3004,PAGT=0x3005,PAGT_V2=0x3045,PAGTQ=0x3046,PTAR=0x3006,PERLA=0x3036,PERAR=0x3026,PERCR=0x302a,PERERP=0x302b,PERD=0x302c,PTCE_V2=0x3017,PTCE_V3=0x3027,PTCEAD=0x3028,PEFA=0x300f,PEFAAD=0x3029,PRCR=0x300d,PPRR=0x3008,PPBS=0x300c,PUET=0x300e,PPBMI=0x3012,PECB=0x3010,PERPT=0x3021,PEABFE=0x3022,PEAPBL=0x3024,PEAPBM=0x3025,PEAPS=0x302d,PECNRE=0x3030,PECNRR=0x3031,PECNEE=0x3032,PECNER=0x3033,PECKC=0x3034,PETCM=0x3037,FPUMS=0x4801,FPGCR=0x4885,FPHHC=0x4880,FPPC=0x4881,FPFTT=0x4882,FPHTT=0x4883,FPTS=0x4884,FPMR=0x4886,FGCR=0x4800,FMTC=0x4901,FMTE=0x4902,FMTM=0x4903,FMEP=0x4904,FMQC=0x4905,FMTPC=0x4928,FMTSC=0x492d,FMTPA=0x4929,FMTB=0x492a,FRAR=0x492b,FSGCR=0x4920,FSDB=0x4921,FSPT=0x4922,FSPS=0x4923,FSDC=0x492c,FSTM=0x4924,FSED=0x4925,FSHE=0x4926,FSFH=0x4927" offset="0x0.0" size="0x4.0" />
</node>

<node name="access_reg_summary_ext" descr="" attr_is_union="1" size="0xa20" >
	<field name="FMQC" descr="" subnode="FMQC_ext" capability="0" offset="0x0.0" selected_by="FMQC" size="0xc" />
	<field name="FSDB" descr="" subnode="FSDB_ext" capability="0" offset="0x0.0" selected_by="FSDB" size="0x78" />
	<field name="FSFH" descr="" subnode="FSFH_ext" capability="0" offset="0x0.0" selected_by="FSFH" size="0xac" />
	<field name="FSGCR" descr="" subnode="FSGCR_ext" capability="0" offset="0x0.0" selected_by="FSGCR" size="0xc" />
	<field name="FSHE" descr="" subnode="FSHE_ext" capability="0" offset="0x0.0" selected_by="FSHE" size="0x8" />
	<field name="FSPS" descr="" subnode="FSPS_ext" capability="0" offset="0x0.0" selected_by="FSPS" size="0x10" />
	<field name="FSTM" descr="" subnode="FSTM_ext" capability="0" offset="0x0.0" selected_by="FSTM" size="0x414" />
	<field name="ITGCR_reg" descr="" subnode="ITGCR_reg_ext" capability="0" offset="0x0.0" selected_by="ITGCR" size="0x8" />
	<field name="ITPR_reg" descr="" subnode="ITPR_reg_ext" capability="0" offset="0x0.0" selected_by="ITPR" size="0x14" />
	<field name="MCFS" descr="" subnode="MCFS_ext" capability="0" offset="0x0.0" selected_by="MCFS" size="0x20" />
	<field name="MFMI" descr="" subnode="MFMI_ext" capability="0" offset="0x0.0" selected_by="MFMI" size="0x18" />
	<field name="MLPC" descr="" subnode="MLPC_ext" capability="0" offset="0x0.0" selected_by="MLPC" size="0x40" />
	<field name="MMAG" descr="" subnode="MMAG_ext" capability="0" offset="0x0.0" selected_by="MMAG" size="0x10" />
	<field name="MMAM" descr="" subnode="MMAM_ext" capability="0" offset="0x0.0" selected_by="MMAM" size="0x10" />
	<field name="MMCR" descr="" subnode="MMCR_ext" capability="0" offset="0x0.0" selected_by="MMCR" size="0x50" />
	<field name="MOCBR" descr="" subnode="MOCBR_ext" capability="0" offset="0x0.0" selected_by="MOCBR" size="0xc" />
	<field name="MOCBS" descr="" subnode="MOCBS_ext" capability="0" offset="0x0.0" selected_by="MOCBS" size="0xc" />
	<field name="MOFTC" descr="" subnode="MOFTC_ext" capability="0" offset="0x0.0" selected_by="MOFTC" size="0x108" />
	<field name="MOFTD" descr="" subnode="MOFTD_ext" capability="0" offset="0x0.0" selected_by="MOFTD" size="0x24" />
	<field name="MPRC" descr="" subnode="MPRC_ext" capability="0" offset="0x0.0" selected_by="MPRC" size="0x48" />
	<field name="MRFV" descr="" subnode="MRFV_ext" capability="0" offset="0x0.0" selected_by="MRFV" size="0x40" />
	<field name="MSECQ_reg" descr="" subnode="MSECQ_reg_ext" capability="0" offset="0x0.0" selected_by="MSECQ" size="0x40" />
	<field name="MSEES_reg" descr="" subnode="MSEES_reg_ext" capability="0" offset="0x0.0" selected_by="MSEES" size="0x40" />
	<field name="MSPI" descr="" subnode="MSPI_ext" capability="0" offset="0x0.0" selected_by="MSPI" size="0x18" />
	<field name="PPCR" descr="" subnode="PPCR_ext" capability="0" offset="0x0.0" selected_by="PPCR" size="0x10" />
	<field name="PPIR" descr="" subnode="PPIR_ext" capability="0" offset="0x0.0" selected_by="PPIR" size="0x8" />
	<field name="SLCR_V2" descr="" subnode="SLCR_V2_ext" capability="0" offset="0x0.0" selected_by="SLCR_V2" size="0x50" />
	<field name="SLTR_reg" descr="" subnode="SLTR_reg_ext" capability="0" offset="0x0.0" selected_by="SLTR" size="0x138" />
	<field name="cedr" descr="" subnode="cedr_ext" capability="0" offset="0x0.0" selected_by="CEDR" size="0x20" />
	<field name="ceer" descr="" subnode="ceer_ext" capability="0" offset="0x0.0" selected_by="CEER" size="0xa0" />
	<field name="cegcr" descr="" subnode="cegcr_ext" capability="0" offset="0x0.0" selected_by="CEGCR" size="0x20" />
	<field name="cepc" descr="" subnode="cepc_ext" capability="0" offset="0x0.0" selected_by="CEPC" size="0x8" />
	<field name="chlmm" descr="" subnode="chlmm_ext" capability="0" offset="0x0.0" selected_by="CHLMM" size="0x14" />
	<field name="chltm" descr="" subnode="chltm_ext" capability="0" offset="0x0.0" selected_by="CHLTM" size="0x14" />
	<field name="chltr" descr="" subnode="chltr_ext" capability="0" offset="0x0.0" selected_by="CHLTR" size="0xc" />
	<field name="cpqe" descr="" subnode="cpqe_ext" capability="0" offset="0x0.0" selected_by="CPQE" size="0x14" />
	<field name="cwgcr" descr="" subnode="cwgcr_ext" capability="0" offset="0x0.0" selected_by="CWGCR" size="0x14" />
	<field name="cwpp" descr="" subnode="cwpp_ext" capability="0" offset="0x0.0" selected_by="CWPP" size="0x20" />
	<field name="cwtp" descr="" subnode="cwtp_ext" capability="0" offset="0x0.0" selected_by="CWTP" size="0x40" />
	<field name="cwtpm" descr="" subnode="cwtpm_ext" capability="0" offset="0x0.0" selected_by="CWTPM" size="0x44" />
	<field name="fgcr" descr="" subnode="fgcr_ext" capability="0" offset="0x0.0" selected_by="FGCR" size="0x10" />
	<field name="fmep" descr="" subnode="fmep_ext" capability="0" offset="0x0.0" selected_by="FMEP" size="0x8" />
	<field name="fmtb" descr="" subnode="fmtb_ext" capability="0" offset="0x0.0" selected_by="FMTB" size="0x1c" />
	<field name="fmtc" descr="" subnode="fmtc_ext" capability="0" offset="0x0.0" selected_by="FMTC" size="0x4c" />
	<field name="fmte" descr="" subnode="fmte_ext" capability="0" offset="0x0.0" selected_by="FMTE" size="0x14" />
	<field name="fmtm" descr="" subnode="fmtm_ext" capability="0" offset="0x0.0" selected_by="FMTM" size="0x8" />
	<field name="fmtpa" descr="" subnode="fmtpa_ext" capability="0" offset="0x0.0" selected_by="FMTPA" size="0x10" />
	<field name="fmtpc" descr="" subnode="fmtpc_ext" capability="0" offset="0x0.0" selected_by="FMTPC" size="0x14" />
	<field name="fmtsc" descr="" subnode="fmtsc_ext" capability="0" offset="0x0.0" selected_by="FMTSC" size="0x34" />
	<field name="fore" descr="" subnode="fore_ext" capability="0" offset="0x0.0" selected_by="FORE" size="0xc" />
	<field name="fpftt" descr="" subnode="fpftt_ext" capability="0" offset="0x0.0" selected_by="FPFTT" size="0x14" />
	<field name="fpgcr" descr="" subnode="fpgcr_ext" capability="0" offset="0x0.0" selected_by="FPGCR" size="0x10" />
	<field name="fphhc" descr="" subnode="fphhc_ext" capability="0" offset="0x0.0" selected_by="FPHHC" size="0xc" />
	<field name="fphtt" descr="" subnode="fphtt_ext" capability="0" offset="0x0.0" selected_by="FPHTT" size="0x8" />
	<field name="fpmr" descr="" subnode="fpmr_ext" capability="0" offset="0x0.0" selected_by="FPMR" size="0x10" />
	<field name="fppc" descr="" subnode="fppc_ext" capability="0" offset="0x0.0" selected_by="FPPC" size="0x60" />
	<field name="fpts" descr="" subnode="fpts_ext" capability="0" offset="0x0.0" selected_by="FPTS" size="0xc" />
	<field name="fpums" descr="" subnode="fpums_ext" capability="0" offset="0x0.0" selected_by="FPUMS" size="0x14" />
	<field name="frar" descr="" subnode="frar_ext" capability="0" offset="0x0.0" selected_by="FRAR" size="0x110" />
	<field name="fsdc" descr="" subnode="fsdc_ext" capability="0" offset="0x0.0" selected_by="FSDC" size="0x10" />
	<field name="fsed" descr="" subnode="fsed_ext" capability="0" offset="0x0.0" selected_by="FSED" size="0x590" />
	<field name="fspt" descr="" subnode="fspt_ext" capability="0" offset="0x0.0" selected_by="FSPT" size="0x44" />
	<field name="hcap" descr="" subnode="hcap_ext" capability="0" offset="0x0.0" selected_by="HCAP" size="0x14" />
	<field name="hccr" descr="" subnode="hccr_ext" capability="0" offset="0x0.0" selected_by="HCCR" size="0x4" />
	<field name="hcot" descr="" subnode="hcot_ext" capability="0" offset="0x0.0" selected_by="HCOT" size="0x30" />
	<field name="hcpnc" descr="" subnode="hcpnc_ext" capability="0" offset="0x0.0" selected_by="HCPNC" size="0x20" />
	<field name="hctr" descr="" subnode="hctr_ext" capability="0" offset="0x0.0" selected_by="HCTR" size="0x10" />
	<field name="hett" descr="" subnode="hett_ext" capability="0" offset="0x0.0" selected_by="HETT" size="0x14" />
	<field name="hgcr" descr="" subnode="hgcr_ext" capability="0" offset="0x0.0" selected_by="HGCR" size="0x1c" />
	<field name="hmcb" descr="" subnode="hmcb_ext" capability="0" offset="0x0.0" selected_by="HMCB" size="0x10" />
	<field name="hmon" descr="" subnode="hmon_ext" capability="0" offset="0x0.0" selected_by="HMON" size="0x220" />
	<field name="hopf" descr="" subnode="hopf_ext" capability="0" offset="0x0.0" selected_by="HOPF" size="0x14" />
	<field name="hpkt" descr="" subnode="hpkt_ext" capability="0" offset="0x0.0" selected_by="HPKT" size="0x10" />
	<field name="hrdqt" descr="" subnode="hrdqt_ext" capability="0" offset="0x0.0" selected_by="HRDQT" size="0xc" />
	<field name="hrwc" descr="" subnode="hrwc_ext" capability="0" offset="0x0.0" selected_by="HRWC" size="0x220" />
	<field name="htac" descr="" subnode="htac_ext" capability="0" offset="0x0.0" selected_by="HTAC" size="0x30" />
	<field name="htacg" descr="" subnode="htacg_ext" capability="0" offset="0x0.0" selected_by="HTACG" size="0x90" />
	<field name="htcr" descr="" subnode="htcr_ext" capability="0" offset="0x0.0" selected_by="HTCR" size="0x210" />
	<field name="htec" descr="" subnode="htec_ext" capability="0" offset="0x0.0" selected_by="HTEC" size="0x30" />
	<field name="htgc" descr="" subnode="htgc_ext" capability="0" offset="0x0.0" selected_by="HTGC" size="0xa20" />
	<field name="htgt" descr="" subnode="htgt_ext" capability="0" offset="0x0.0" selected_by="HTGT" size="0x44" />
	<field name="hthm" descr="" subnode="hthm_ext" capability="0" offset="0x0.0" selected_by="HTHM" size="0x104" />
	<field name="hukt" descr="" subnode="hukt_ext" capability="0" offset="0x0.0" selected_by="HUKT" size="0xc" />
	<field name="ibfmr" descr="" subnode="ibfmr_ext" capability="0" offset="0x0.0" selected_by="IBFMR" size="0x10" />
	<field name="ibfmrc" descr="" subnode="ibfmrc_ext" capability="0" offset="0x0.0" selected_by="IBFMRC" size="0x4" />
	<field name="ibissu" descr="" subnode="ibissu_ext" capability="0" offset="0x0.0" selected_by="IBISSU" size="0x4" />
	<field name="ibsni" descr="" subnode="ibsni_ext" capability="0" offset="0x0.0" selected_by="IBSNI" size="0x148" />
	<field name="icam_reg" descr="" subnode="icam_reg_ext" capability="0" offset="0x0.0" selected_by="ICAM" size="0x18" />
	<field name="icsr" descr="" subnode="icsr_ext" capability="0" offset="0x0.0" selected_by="ICSR" size="0x410" />
	<field name="iddd" descr="" subnode="iddd_ext" capability="0" offset="0x0.0" selected_by="IDDD" size="0x8" />
	<field name="iddds" descr="" subnode="iddds_ext" capability="0" offset="0x0.0" selected_by="IDDDS" size="0x440" />
	<field name="iedlr" descr="" subnode="iedlr_ext" capability="0" offset="0x0.0" selected_by="IEDLR" size="0x10" />
	<field name="iedr" descr="" subnode="iedr_ext" capability="0" offset="0x0.0" selected_by="IEDR" size="0x210" />
	<field name="ieds" descr="" subnode="ieds_ext" capability="0" offset="0x0.0" selected_by="IEDS" size="0x8" />
	<field name="ielr" descr="" subnode="ielr_ext" capability="0" offset="0x0.0" selected_by="IELR" size="0x8" />
	<field name="ifbo" descr="" subnode="ifbo_ext" capability="0" offset="0x0.0" selected_by="IFBO" size="0x28" />
	<field name="igcr" descr="" subnode="igcr_ext" capability="0" offset="0x0.0" selected_by="IGCR" size="0x10" />
	<field name="ihscr" descr="" subnode="ihscr_ext" capability="0" offset="0x0.0" selected_by="IHSCR" size="0xa8" />
	<field name="ihsr" descr="" subnode="ihsr_ext" capability="0" offset="0x0.0" selected_by="IHSR" size="0x50" />
	<field name="iicr" descr="" subnode="iicr_ext" capability="0" offset="0x0.0" selected_by="IICR" size="0x34" />
	<field name="ipac" descr="" subnode="ipac_ext" capability="0" offset="0x0.0" selected_by="IPAC" size="0xb0" />
	<field name="ipcr" descr="" subnode="ipcr_ext" capability="0" offset="0x0.0" selected_by="IPCR" size="0xc" />
	<field name="iper" descr="" subnode="iper_ext" capability="0" offset="0x0.0" selected_by="IPER" size="0x20" />
	<field name="ipfr" descr="" subnode="ipfr_ext" capability="0" offset="0x0.0" selected_by="IPFR" size="0x8" />
	<field name="ipsr" descr="" subnode="ipsr_ext" capability="0" offset="0x0.0" selected_by="IPSR" size="0x14" />
	<field name="irpcs" descr="" subnode="irpcs_ext" capability="0" offset="0x0.0" selected_by="IRPCS" size="0x10" />
	<field name="mafbi" descr="" subnode="mafbi_ext" capability="0" offset="0x0.0" selected_by="MAFBI" size="0x308" />
	<field name="mafcr" descr="" subnode="mafcr_ext" capability="0" offset="0x0.0" selected_by="MAFCR" size="0xc" />
	<field name="mafri" descr="" subnode="mafri_ext" capability="0" offset="0x0.0" selected_by="MAFRI" size="0x410" />
	<field name="mafti" descr="" subnode="mafti_ext" capability="0" offset="0x0.0" selected_by="MAFTI" size="0x308" />
	<field name="mbau" descr="" subnode="mbau_ext" capability="0" offset="0x0.0" selected_by="MBAU" size="0x10" />
	<field name="mbbu" descr="" subnode="mbbu_ext" capability="0" offset="0x0.0" selected_by="MBBU" size="0x30" />
	<field name="mbct" descr="" subnode="mbct_ext" capability="0" offset="0x0.0" selected_by="MBCT" size="0x420" />
	<field name="mbpe" descr="" subnode="mbpe_ext" capability="0" offset="0x0.0" selected_by="MBPE" size="0x100" />
	<field name="mbte" descr="" subnode="mbte_ext" capability="0" offset="0x0.0" selected_by="MBTE" size="0x20" />
	<field name="mbtr" descr="" subnode="mbtr_ext" capability="0" offset="0x0.0" selected_by="MBTR" size="0x8" />
	<field name="mcam_reg" descr="" subnode="mcam_reg_ext" capability="0" offset="0x0.0" selected_by="MCAM" size="0x48" />
	<field name="mcc_reg" descr="" subnode="mcc_reg_ext" capability="0" offset="0x0.0" selected_by="MCC" size="0x20" />
	<field name="mcda_reg" descr="" subnode="mcda_reg_ext" capability="0" offset="0x0.0" selected_by="MCDA" size="0x90" />
	<field name="mcdd_reg" descr="" subnode="mcdd_reg_ext" capability="0" offset="0x0.0" selected_by="MCDD" size="0x20" />
	<field name="mcdor_reg" descr="" subnode="mcdor_reg_ext" capability="0" offset="0x0.0" selected_by="MCDOR" size="0x8" />
	<field name="mcia" descr="" subnode="mcia_ext" capability="0" offset="0x0.0" selected_by="MCIA" size="0x94" />
	<field name="mcion" descr="" subnode="mcion_ext" capability="0" offset="0x0.0" selected_by="MCION" size="0x18" />
	<field name="mcpp_reg" descr="" subnode="mcpp_reg_ext" capability="0" offset="0x0.0" selected_by="MCPP" size="0x10" />
	<field name="mcqi_reg" descr="" subnode="mcqi_reg_ext" capability="0" offset="0x0.0" selected_by="MCQI" size="0x94" />
	<field name="mcqs_reg" descr="" subnode="mcqs_reg_ext" capability="0" offset="0x0.0" selected_by="MCQS" size="0x10" />
	<field name="mddc" descr="" subnode="mddc_ext" capability="0" offset="0x0.0" selected_by="MDDC" size="0x30" />
	<field name="mddq" descr="" subnode="mddq_ext" capability="0" offset="0x0.0" selected_by="MDDQ" size="0x30" />
	<field name="mddt_reg" descr="" subnode="mddt_reg_ext" capability="0" offset="0x0.0" selected_by="MDDT" size="0x110" />
	<field name="mdfcr_reg" descr="" subnode="mdfcr_reg_ext" capability="0" offset="0x0.0" selected_by="MDFCR" size="0x60" />
	<field name="mdir_reg" descr="" subnode="mdir_reg_ext" capability="0" offset="0x0.0" selected_by="MDIR" size="0x40" />
	<field name="mdrcr" descr="" subnode="mdrcr_ext" capability="0" offset="0x0.0" selected_by="MDRCR" size="0x30" />
	<field name="mdri" descr="" subnode="mdri_ext" capability="0" offset="0x0.0" selected_by="MDRI" size="0x120" />
	<field name="mdri_v2" descr="" subnode="mdri_v2_ext" capability="0" offset="0x0.0" selected_by="MDRI_V2" size="0x1a0" />
	<field name="mdsr_reg" descr="" subnode="mdsr_reg_ext" capability="0" offset="0x0.0" selected_by="MDSR" size="0x30" />
	<field name="mdtr_reg" descr="" subnode="mdtr_reg_ext" capability="0" offset="0x0.0" selected_by="MDTR" size="0xb0" />
	<field name="meccc" descr="" subnode="meccc_ext" capability="0" offset="0x0.0" selected_by="MECCC" size="0x14" />
	<field name="mecgc" descr="" subnode="mecgc_ext" capability="0" offset="0x0.0" selected_by="MECGC" size="0xc" />
	<field name="mecis" descr="" subnode="mecis_ext" capability="0" offset="0x0.0" selected_by="MECIS" size="0x44" />
	<field name="mecr" descr="" subnode="mecr_ext" capability="0" offset="0x0.0" selected_by="MECR" size="0x14" />
	<field name="mecs" descr="" subnode="mecs_ext" capability="0" offset="0x0.0" selected_by="MECS" size="0x50" />
	<field name="melseq_reg" descr="" subnode="melseq_reg_ext" capability="0" offset="0x0.0" selected_by="MELSEQ" size="0x30" />
	<field name="melsrc_reg" descr="" subnode="melsrc_reg_ext" capability="0" offset="0x0.0" selected_by="MELSRC" size="0x1c" />
	<field name="merr" descr="" subnode="merr_ext" capability="0" offset="0x0.0" selected_by="MERR" size="0x14" />
	<field name="mfba_reg" descr="" subnode="mfba_reg_ext" capability="0" offset="0x0.0" selected_by="MFBA" size="0x10c" />
	<field name="mfbd" descr="" subnode="mfbd_ext" capability="0" offset="0x0.0" selected_by="MFBD" size="0x24" />
	<field name="mfbe_reg" descr="" subnode="mfbe_reg_ext" capability="0" offset="0x0.0" selected_by="MFBE" size="0xc" />
	<field name="mfcdr_reg" descr="" subnode="mfcdr_reg_ext" capability="0" offset="0x0.0" selected_by="MFCDR" size="0x8" />
	<field name="mfcr" descr="" subnode="mfcr_ext" capability="0" offset="0x0.0" selected_by="MFCR" size="0x8" />
	<field name="mfde" descr="" subnode="mfde_ext" capability="0" offset="0x0.0" selected_by="MFDE" size="0xb0" />
	<field name="mfm" descr="" subnode="mfm_ext" capability="0" offset="0x0.0" selected_by="MFM" size="0x18" />
	<field name="mfmc_reg" descr="" subnode="mfmc_reg_ext" capability="0" offset="0x0.0" selected_by="MFMC" size="0x1c" />
	<field name="mfnr" descr="" subnode="mfnr_ext" capability="0" offset="0x0.0" selected_by="MFNR" size="0x30" />
	<field name="mfpa_reg" descr="" subnode="mfpa_reg_ext" capability="0" offset="0x0.0" selected_by="MFPA" size="0x20" />
	<field name="mfrc" descr="" subnode="mfrc_ext" capability="0" offset="0x0.0" selected_by="MFRC" size="0xc" />
	<field name="mfri" descr="" subnode="mfri_ext" capability="0" offset="0x0.0" selected_by="MFRI" size="0x30" />
	<field name="mfrp" descr="" subnode="mfrp_ext" capability="0" offset="0x0.0" selected_by="MFRP" size="0x1c" />
	<field name="mfsc" descr="" subnode="mfsc_ext" capability="0" offset="0x0.0" selected_by="MFSC" size="0x8" />
	<field name="mfsl" descr="" subnode="mfsl_ext" capability="0" offset="0x0.0" selected_by="MFSL" size="0xc" />
	<field name="mfsm" descr="" subnode="mfsm_ext" capability="0" offset="0x0.0" selected_by="MFSM" size="0x8" />
	<field name="mfsv_reg" descr="" subnode="mfsv_reg_ext" capability="0" offset="0x0.0" selected_by="MFSV" size="0x30" />
	<field name="mgcr_reg" descr="" subnode="mgcr_reg_ext" capability="0" offset="0x0.0" selected_by="MGCR" size="0x20" />
	<field name="mgir" descr="" subnode="mgir_ext" capability="0" offset="0x0.0" selected_by="MGIR" size="0xa0" />
	<field name="mgnle_reg" descr="" subnode="mgnle_reg_ext" capability="0" offset="0x0.0" selected_by="MGNLE" size="0x20" />
	<field name="mgpc" descr="" subnode="mgpc_ext" capability="0" offset="0x0.0" selected_by="MGPC" size="0x18" />
	<field name="mgpcb" descr="" subnode="mgpcb_ext" capability="0" offset="0x0.0" selected_by="MGPCB" size="0x410" />
	<field name="mgpir" descr="" subnode="mgpir_ext" capability="0" offset="0x0.0" selected_by="MGPIR" size="0xa0" />
	<field name="mhmpr_reg" descr="" subnode="mhmpr_reg_ext" capability="0" offset="0x0.0" selected_by="MHMPR" size="0x14" />
	<field name="mhsr" descr="" subnode="mhsr_ext" capability="0" offset="0x0.0" selected_by="MHSR" size="0x8" />
	<field name="midfv_reg" descr="" subnode="midfv_reg_ext" capability="0" offset="0x0.0" selected_by="MIDFV" size="0x80" />
	<field name="mini" descr="" subnode="mini_ext" capability="0" offset="0x0.0" selected_by="MINI" size="0x50" />
	<field name="mirc_reg" descr="" subnode="mirc_reg_ext" capability="0" offset="0x0.0" selected_by="MIRC" size="0x8" />
	<field name="missuv" descr="" subnode="missuv_ext" capability="0" offset="0x0.0" selected_by="MISSUV" size="0x20" />
	<field name="mjtag" descr="" subnode="mjtag_ext" capability="0" offset="0x0.0" selected_by="MJTAG" size="0x30" />
	<field name="mkdc_reg" descr="" subnode="mkdc_reg_ext" capability="0" offset="0x0.0" selected_by="MKDC" size="0x2c" />
	<field name="mlcr" descr="" subnode="mlcr_ext" capability="0" offset="0x0.0" selected_by="MLCR" size="0xc" />
	<field name="mmdio" descr="" subnode="mmdio_ext" capability="0" offset="0x0.0" selected_by="MMDIO" size="0xc" />
	<field name="mmgcr" descr="" subnode="mmgcr_ext" capability="0" offset="0x0.0" selected_by="MMGCR" size="0x48" />
	<field name="mmta_reg" descr="" subnode="mmta_reg_ext" capability="0" offset="0x0.0" selected_by="MMTA" size="0x90" />
	<field name="mnvda_reg" descr="" subnode="mnvda_reg_ext" capability="0" offset="0x0.0" selected_by="MNVDA" size="0x10c" />
	<field name="mnvdi_reg" descr="" subnode="mnvdi_reg_ext" capability="0" offset="0x0.0" selected_by="MNVDI" size="0xc" />
	<field name="mnvgc_reg" descr="" subnode="mnvgc_reg_ext" capability="0" offset="0x0.0" selected_by="MNVGC" size="0x10" />
	<field name="mnvgn_reg" descr="" subnode="mnvgn_reg_ext" capability="0" offset="0x0.0" selected_by="MNVGN" size="0x20" />
	<field name="mnvia_reg" descr="" subnode="mnvia_reg_ext" capability="0" offset="0x0.0" selected_by="MNVIA" size="0x8" />
	<field name="mnvqc_reg" descr="" subnode="mnvqc_reg_ext" capability="0" offset="0x0.0" selected_by="MNVQC" size="0x8" />
	<field name="moca" descr="" subnode="moca_ext" capability="0" offset="0x0.0" selected_by="MOCA" size="0xc" />
	<field name="mocmi" descr="" subnode="mocmi_ext" capability="0" offset="0x0.0" selected_by="MOCMI" size="0x14" />
	<field name="mocs" descr="" subnode="mocs_ext" capability="0" offset="0x0.0" selected_by="MOCS" size="0xe8" />
	<field name="modcr" descr="" subnode="modcr_ext" capability="0" offset="0x0.0" selected_by="MODCR" size="0x14" />
	<field name="modrc" descr="" subnode="modrc_ext" capability="0" offset="0x0.0" selected_by="MODRC" size="0x8" />
	<field name="modrt" descr="" subnode="modrt_ext" capability="0" offset="0x0.0" selected_by="MODRT" size="0x18" />
	<field name="mofde" descr="" subnode="mofde_ext" capability="0" offset="0x0.0" selected_by="MOFDE" size="0x4" />
	<field name="mofpc" descr="" subnode="mofpc_ext" capability="0" offset="0x0.0" selected_by="MOFPC" size="0xc" />
	<field name="mofph" descr="" subnode="mofph_ext" capability="0" offset="0x0.0" selected_by="MOFPH" size="0x20" />
	<field name="mofrb" descr="" subnode="mofrb_ext" capability="0" offset="0x0.0" selected_by="MOFRB" size="0x210" />
	<field name="mogcr" descr="" subnode="mogcr_ext" capability="0" offset="0x0.0" selected_by="MOGCR" size="0x20" />
	<field name="molp" descr="" subnode="molp_ext" capability="0" offset="0x0.0" selected_by="MOLP" size="0x8" />
	<field name="momte" descr="" subnode="momte_ext" capability="0" offset="0x0.0" selected_by="MOMTE" size="0x10" />
	<field name="moni" descr="" subnode="moni_ext" capability="0" offset="0x0.0" selected_by="MONI" size="0x8" />
	<field name="mord_v2" descr="" subnode="mord_v2_ext" capability="0" offset="0x0.0" selected_by="MORD_V2" size="0x34" />
	<field name="motbt" descr="" subnode="motbt_ext" capability="0" offset="0x0.0" selected_by="MOTBT" size="0x10" />
	<field name="motcc" descr="" subnode="motcc_ext" capability="0" offset="0x0.0" selected_by="MOTCC" size="0x40" />
	<field name="motcnt" descr="" subnode="motcnt_ext" capability="0" offset="0x0.0" selected_by="MOTCNT" size="0x18" />
	<field name="motcnt_v2" descr="" subnode="motcnt_v2_ext" capability="0" offset="0x0.0" selected_by="MOTCNT_V2" size="0xa8" />
	<field name="motpr" descr="" subnode="motpr_ext" capability="0" offset="0x0.0" selected_by="MOTPR" size="0x20" />
	<field name="motrm_reg" descr="" subnode="motrm_reg_ext" capability="0" offset="0x0.0" selected_by="MOTRM" size="0xc" />
	<field name="motspt" descr="" subnode="motspt_ext" capability="0" offset="0x0.0" selected_by="MOTSPT" size="0x8" />
	<field name="mottg" descr="" subnode="mottg_ext" capability="0" offset="0x0.0" selected_by="MOTTG" size="0x218" />
	<field name="mpagr" descr="" subnode="mpagr_ext" capability="0" offset="0x0.0" selected_by="MPAGR" size="0xc" />
	<field name="mpar" descr="" subnode="mpar_ext" capability="0" offset="0x0.0" selected_by="MPAR" size="0xc" />
	<field name="mpat_reg" descr="" subnode="mpat_reg_ext" capability="0" offset="0x0.0" selected_by="MPAT" size="0x9c" />
	<field name="mpcam_reg" descr="" subnode="mpcam_reg_ext" capability="0" offset="0x0.0" selected_by="MPCAM" size="0x48" />
	<field name="mpcir" descr="" subnode="mpcir_ext" capability="0" offset="0x0.0" selected_by="MPCIR" size="0xa0" />
	<field name="mpcnt_reg" descr="" subnode="mpcnt_reg_ext" capability="0" offset="0x0.0" selected_by="MPCNT" size="0x100" />
	<field name="mpdmc" descr="" subnode="mpdmc_ext" capability="0" offset="0x0.0" selected_by="MPDMC" size="0x10" />
	<field name="mpdmm" descr="" subnode="mpdmm_ext" capability="0" offset="0x0.0" selected_by="MPDMM" size="0xb8" />
	<field name="mpdmp" descr="" subnode="mpdmp_ext" capability="0" offset="0x0.0" selected_by="MPDMP" size="0x20" />
	<field name="mpdms" descr="" subnode="mpdms_ext" capability="0" offset="0x0.0" selected_by="MPDMS" size="0xd0" />
	<field name="mpdor_reg" descr="" subnode="mpdor_reg_ext" capability="0" offset="0x0.0" selected_by="MPDOR" size="0x8" />
	<field name="mpecs_reg" descr="" subnode="mpecs_reg_ext" capability="0" offset="0x0.0" selected_by="MPECS" size="0x20" />
	<field name="mpein_reg" descr="" subnode="mpein_reg_ext" capability="0" offset="0x0.0" selected_by="MPEIN" size="0x30" />
	<field name="mpepm" descr="" subnode="mpepm_ext" capability="0" offset="0x0.0" selected_by="MPEPM" size="0x14" />
	<field name="mpft" descr="" subnode="mpft_ext" capability="0" offset="0x0.0" selected_by="MPFT" size="0x8" />
	<field name="mpgcr" descr="" subnode="mpgcr_ext" capability="0" offset="0x0.0" selected_by="MPGCR" size="0x24" />
	<field name="mpgdi" descr="" subnode="mpgdi_ext" capability="0" offset="0x0.0" selected_by="MPGDI" size="0x300" />
	<field name="mpgdq" descr="" subnode="mpgdq_ext" capability="0" offset="0x0.0" selected_by="MPGDQ" size="0x8" />
	<field name="mpgec" descr="" subnode="mpgec_ext" capability="0" offset="0x0.0" selected_by="MPGEC" size="0x10" />
	<field name="mpgee" descr="" subnode="mpgee_ext" capability="0" offset="0x0.0" selected_by="MPGEE" size="0x8" />
	<field name="mpggc" descr="" subnode="mpggc_ext" capability="0" offset="0x0.0" selected_by="MPGGC" size="0x8" />
	<field name="mpghr" descr="" subnode="mpghr_ext" capability="0" offset="0x0.0" selected_by="MPGHR" size="0x90" />
	<field name="mpgsb" descr="" subnode="mpgsb_ext" capability="0" offset="0x0.0" selected_by="MPGSB" size="0x10" />
	<field name="mpgsr" descr="" subnode="mpgsr_ext" capability="0" offset="0x0.0" selected_by="MPGSR" size="0x20" />
	<field name="mpgss" descr="" subnode="mpgss_ext" capability="0" offset="0x0.0" selected_by="MPGSS" size="0xc" />
	<field name="mpibe" descr="" subnode="mpibe_ext" capability="0" offset="0x0.0" selected_by="MPIBE" size="0x28" />
	<field name="mpilem" descr="" subnode="mpilem_ext" capability="0" offset="0x0.0" selected_by="MPILEM" size="0x8" />
	<field name="mpilm" descr="" subnode="mpilm_ext" capability="0" offset="0x0.0" selected_by="MPILM" size="0x18" />
	<field name="mpir" descr="" subnode="mpir_ext" capability="0" offset="0x0.0" selected_by="MPIR" size="0x10" />
	<field name="mpnhlfe" descr="" subnode="mpnhlfe_ext" capability="0" offset="0x0.0" selected_by="MPNHLFE" size="0x5c" />
	<field name="mpnhlfeb" descr="" subnode="mpnhlfeb_ext" capability="0" offset="0x0.0" selected_by="MPNHLFEB" size="0x410" />
	<field name="mppcr" descr="" subnode="mppcr_ext" capability="0" offset="0x0.0" selected_by="MPPCR" size="0x40" />
	<field name="mppdr" descr="" subnode="mppdr_ext" capability="0" offset="0x0.0" selected_by="MPPDR" size="0x80" />
	<field name="mppgcr" descr="" subnode="mppgcr_ext" capability="0" offset="0x0.0" selected_by="MPPGCR" size="0x24" />
	<field name="mppgh" descr="" subnode="mppgh_ext" capability="0" offset="0x0.0" selected_by="MPPGH" size="0x50" />
	<field name="mppgs" descr="" subnode="mppgs_ext" capability="0" offset="0x0.0" selected_by="MPPGS" size="0x10" />
	<field name="mpqdr" descr="" subnode="mpqdr_ext" capability="0" offset="0x0.0" selected_by="MPQDR" size="0x8" />
	<field name="mpre" descr="" subnode="mpre_ext" capability="0" offset="0x0.0" selected_by="MPRE" size="0x30" />
	<field name="mprs" descr="" subnode="mprs_ext" capability="0" offset="0x0.0" selected_by="MPRS" size="0x14" />
	<field name="mpsc" descr="" subnode="mpsc_ext" capability="0" offset="0x0.0" selected_by="MPSC" size="0x14" />
	<field name="mpscr" descr="" subnode="mpscr_ext" capability="0" offset="0x0.0" selected_by="MPSCR" size="0x20" />
	<field name="mpsh_reg" descr="" subnode="mpsh_reg_ext" capability="0" offset="0x0.0" selected_by="MPSH" size="0x50" />
	<field name="mpsq_reg" descr="" subnode="mpsq_reg_ext" capability="0" offset="0x0.0" selected_by="MPSQ" size="0x10" />
	<field name="mqdik_reg" descr="" subnode="mqdik_reg_ext" capability="0" offset="0x0.0" selected_by="MQDIK" size="0x208" />
	<field name="mqis_reg" descr="" subnode="mqis_reg_ext" capability="0" offset="0x0.0" selected_by="MQIS" size="0x18" />
	<field name="mroe" descr="" subnode="mroe_ext" capability="0" offset="0x0.0" selected_by="MROE" size="0x20" />
	<field name="mrpr_reg" descr="" subnode="mrpr_reg_ext" capability="0" offset="0x0.0" selected_by="MRPR" size="0x108" />
	<field name="mrrr" descr="" subnode="mrrr_ext" capability="0" offset="0x0.0" selected_by="MRRR" size="0x8" />
	<field name="mrsr" descr="" subnode="mrsr_ext" capability="0" offset="0x0.0" selected_by="MRSR" size="0x8" />
	<field name="mrsrft" descr="" subnode="mrsrft_ext" capability="0" offset="0x0.0" selected_by="MRSRFT" size="0x8" />
	<field name="msci" descr="" subnode="msci_ext" capability="0" offset="0x0.0" selected_by="MSCI" size="0xc" />
	<field name="msgcr_reg" descr="" subnode="msgcr_reg_ext" capability="0" offset="0x0.0" selected_by="MSGCR" size="0x8" />
	<field name="msgi" descr="" subnode="msgi_ext" capability="0" offset="0x0.0" selected_by="MSGI" size="0x80" />
	<field name="mshr_reg" descr="" subnode="mshr_reg_ext" capability="0" offset="0x0.0" selected_by="MSHR" size="0x10" />
	<field name="mslmc" descr="" subnode="mslmc_ext" capability="0" offset="0x0.0" selected_by="MSLMC" size="0x8" />
	<field name="mslme" descr="" subnode="mslme_ext" capability="0" offset="0x0.0" selected_by="MSLME" size="0x10" />
	<field name="mspmer" descr="" subnode="mspmer_ext" capability="0" offset="0x0.0" selected_by="MSPMER" size="0x30" />
	<field name="msps" descr="" subnode="msps_ext" capability="0" offset="0x0.0" selected_by="MSPS" size="0xa0" />
	<field name="mssir_reg" descr="" subnode="mssir_reg_ext" capability="0" offset="0x0.0" selected_by="MSSIR" size="0x88" />
	<field name="mtbr_reg" descr="" subnode="mtbr_reg_ext" capability="0" offset="0x0.0" selected_by="MTBR" size="0x410" />
	<field name="mtcap" descr="" subnode="mtcap_ext" capability="0" offset="0x0.0" selected_by="MTCAP" size="0x10" />
	<field name="mtcq_reg" descr="" subnode="mtcq_reg_ext" capability="0" offset="0x0.0" selected_by="MTCQ" size="0x70" />
	<field name="mtdc" descr="" subnode="mtdc_ext" capability="0" offset="0x0.0" selected_by="MTDC" size="0x20" />
	<field name="mtecr" descr="" subnode="mtecr_ext" capability="0" offset="0x0.0" selected_by="MTECR" size="0x60" />
	<field name="mteim_reg" descr="" subnode="mteim_reg_ext" capability="0" offset="0x0.0" selected_by="MTEIM" size="0x30" />
	<field name="mteir_reg" descr="" subnode="mteir_reg_ext" capability="0" offset="0x0.0" selected_by="MTEIR" size="0xc" />
	<field name="mtewe" descr="" subnode="mtewe_ext" capability="0" offset="0x0.0" selected_by="MTEWE" size="0x10c" />
	<field name="mtie" descr="" subnode="mtie_ext" capability="0" offset="0x0.0" selected_by="MTIE" size="0x30" />
	<field name="mtim" descr="" subnode="mtim_ext" capability="0" offset="0x0.0" selected_by="MTIM" size="0x10" />
	<field name="mtmp" descr="" subnode="mtmp_ext" capability="0" offset="0x0.0" selected_by="MTMP" size="0x20" />
	<field name="mtpcpc" descr="" subnode="mtpcpc_ext" capability="0" offset="0x0.0" selected_by="MTPCPC" size="0x28" />
	<field name="mtpppc" descr="" subnode="mtpppc_ext" capability="0" offset="0x0.0" selected_by="MTPPPC" size="0x28" />
	<field name="mtpps_reg" descr="" subnode="mtpps_reg_ext" capability="0" offset="0x0.0" selected_by="MTPPS" size="0x38" />
	<field name="mtppst" descr="" subnode="mtppst_ext" capability="0" offset="0x0.0" selected_by="MTPPST" size="0x10" />
	<field name="mtpptr" descr="" subnode="mtpptr_ext" capability="0" offset="0x0.0" selected_by="MTPPTR" size="0x50" />
	<field name="mtpspu" descr="" subnode="mtpspu_ext" capability="0" offset="0x0.0" selected_by="MTPSPU" size="0x8" />
	<field name="mtptpt" descr="" subnode="mtptpt_ext" capability="0" offset="0x0.0" selected_by="MTPTPT" size="0x8" />
	<field name="mtrc_cap_reg" descr="" subnode="mtrc_cap_reg_ext" capability="0" offset="0x0.0" selected_by="MTRC_CAP" size="0x84" />
	<field name="mtrc_conf_reg" descr="" subnode="mtrc_conf_reg_ext" capability="0" offset="0x0.0" selected_by="MTRC_CONF" size="0x80" />
	<field name="mtrc_ctrl_reg" descr="" subnode="mtrc_ctrl_reg_ext" capability="0" offset="0x0.0" selected_by="MTRC_CTRL" size="0x40" />
	<field name="mtrc_stdb_reg" descr="" subnode="mtrc_stdb_reg_ext" capability="0" offset="0x0.0" selected_by="MTRC_STDB" size="0xc" />
	<field name="mtrc_stdb_v2" descr="" subnode="mtrc_stdb_v2_ext" capability="0" offset="0x0.0" selected_by="MTRC_STDB_V2" size="0x5a0" />
	<field name="mtsh_reg" descr="" subnode="mtsh_reg_ext" capability="0" offset="0x0.0" selected_by="MTSH" size="0x30" />
	<field name="mtutc_reg" descr="" subnode="mtutc_reg_ext" capability="0" offset="0x0.0" selected_by="MTUTC" size="0x1c" />
	<field name="mtwe" descr="" subnode="mtwe_ext" capability="0" offset="0x0.0" selected_by="MTWE" size="0x10" />
	<field name="mvcap_reg" descr="" subnode="mvcap_reg_ext" capability="0" offset="0x0.0" selected_by="MVCAP" size="0x10" />
	<field name="mvcr" descr="" subnode="mvcr_ext" capability="0" offset="0x0.0" selected_by="MVCR" size="0x18" />
	<field name="pacl" descr="" subnode="pacl_ext" capability="0" offset="0x0.0" selected_by="PACL" size="0x70" />
	<field name="pagt" descr="" subnode="pagt_ext" capability="0" offset="0x0.0" selected_by="PAGT" size="0x80" />
	<field name="pagt_v2" descr="" subnode="pagt_v2_ext" capability="0" offset="0x0.0" selected_by="PAGT_V2" size="0x18" />
	<field name="pagtq" descr="" subnode="pagtq_ext" capability="0" offset="0x0.0" selected_by="PAGTQ" size="0x110" />
	<field name="paos_reg" descr="" subnode="paos_reg_ext" capability="0" offset="0x0.0" selected_by="PAOS" size="0x10" />
	<field name="pbgcr" descr="" subnode="pbgcr_ext" capability="0" offset="0x0.0" selected_by="PBGCR" size="0xc" />
	<field name="pbmc_reg" descr="" subnode="pbmc_reg_ext" capability="0" offset="0x0.0" selected_by="PBMC" size="0x6c" />
	<field name="pbsr_reg" descr="" subnode="pbsr_reg_ext" capability="0" offset="0x0.0" selected_by="PBSR" size="0x64" />
	<field name="pbwc" descr="" subnode="pbwc_ext" capability="0" offset="0x0.0" selected_by="PBWC" size="0x8" />
	<field name="pbwr" descr="" subnode="pbwr_ext" capability="0" offset="0x0.0" selected_by="PBWR" size="0x94" />
	<field name="pcam_reg" descr="" subnode="pcam_reg_ext" capability="0" offset="0x0.0" selected_by="PCAM" size="0x50" />
	<field name="pcap_reg" descr="" subnode="pcap_reg_ext" capability="0" offset="0x0.0" selected_by="PCAP" size="0x14" />
	<field name="pcct_reg" descr="" subnode="pcct_reg_ext" capability="0" offset="0x0.0" selected_by="PCCT" size="0x14" />
	<field name="pcmr_reg" descr="" subnode="pcmr_reg_ext" capability="0" offset="0x0.0" selected_by="PCMR" size="0xc" />
	<field name="pcnr_reg" descr="" subnode="pcnr_reg_ext" capability="0" offset="0x0.0" selected_by="PCNR" size="0xc" />
	<field name="pddr_reg" descr="" subnode="pddr_reg_ext" capability="0" offset="0x0.0" selected_by="PDDR" size="0x100" />
	<field name="peabfe" descr="" subnode="peabfe_ext" capability="0" offset="0x0.0" selected_by="PEABFE" size="0x410" />
	<field name="peapbl" descr="" subnode="peapbl_ext" capability="0" offset="0x0.0" selected_by="PEAPBL" size="0x20" />
	<field name="peapbm" descr="" subnode="peapbm_ext" capability="0" offset="0x0.0" selected_by="PEAPBM" size="0xf8" />
	<field name="peaps" descr="" subnode="peaps_ext" capability="0" offset="0x0.0" selected_by="PEAPS" size="0x34" />
	<field name="pecb" descr="" subnode="pecb_ext" capability="0" offset="0x0.0" selected_by="PECB" size="0x210" />
	<field name="peckc" descr="" subnode="peckc_ext" capability="0" offset="0x0.0" selected_by="PECKC" size="0x30" />
	<field name="pecnee" descr="" subnode="pecnee_ext" capability="0" offset="0x0.0" selected_by="PECNEE" size="0x18" />
	<field name="pecner" descr="" subnode="pecner_ext" capability="0" offset="0x0.0" selected_by="PECNER" size="0x38" />
	<field name="pecnre" descr="" subnode="pecnre_ext" capability="0" offset="0x0.0" selected_by="PECNRE" size="0x10" />
	<field name="pecnrr" descr="" subnode="pecnrr_ext" capability="0" offset="0x0.0" selected_by="PECNRR" size="0x20" />
	<field name="pefa" descr="" subnode="pefa_ext" capability="0" offset="0x0.0" selected_by="PEFA" size="0xb0" />
	<field name="pefaad" descr="" subnode="pefaad_ext" capability="0" offset="0x0.0" selected_by="PEFAAD" size="0x420" />
	<field name="peir_reg" descr="" subnode="peir_reg_ext" capability="0" offset="0x0.0" selected_by="PEIR" size="0xc" />
	<field name="pemi" descr="" subnode="pemi_ext" capability="0" offset="0x0.0" selected_by="PEMI" size="0x100" />
	<field name="pemrbt" descr="" subnode="pemrbt_ext" capability="0" offset="0x0.0" selected_by="PEMRBT" size="0x14" />
	<field name="pepc_reg" descr="" subnode="pepc_reg_ext" capability="0" offset="0x0.0" selected_by="PEPC" size="0x10" />
	<field name="perar" descr="" subnode="perar_ext" capability="0" offset="0x0.0" selected_by="PERAR" size="0x8" />
	<field name="perb" descr="" subnode="perb_ext" capability="0" offset="0x0.0" selected_by="PERB" size="0xe4" />
	<field name="perbeg" descr="" subnode="perbeg_ext" capability="0" offset="0x0.0" selected_by="PERBEG" size="0x10" />
	<field name="perbrg" descr="" subnode="perbrg_ext" capability="0" offset="0x0.0" selected_by="PERBRG" size="0x10" />
	<field name="percr" descr="" subnode="percr_ext" capability="0" offset="0x0.0" selected_by="PERCR" size="0x80" />
	<field name="perd" descr="" subnode="perd_ext" capability="0" offset="0x0.0" selected_by="PERD" size="0x50" />
	<field name="pererp" descr="" subnode="pererp_ext" capability="0" offset="0x0.0" selected_by="PERERP" size="0x1c" />
	<field name="perla" descr="" subnode="perla_ext" capability="0" offset="0x0.0" selected_by="PERLA" size="0x8" />
	<field name="perpt" descr="" subnode="perpt_ext" capability="0" offset="0x0.0" selected_by="PERPT" size="0x80" />
	<field name="petcm" descr="" subnode="petcm_ext" capability="0" offset="0x0.0" selected_by="PETCM" size="0x20" />
	<field name="pevpb" descr="" subnode="pevpb_ext" capability="0" offset="0x0.0" selected_by="PEVPB" size="0x8" />
	<field name="pfcc_reg" descr="" subnode="pfcc_reg_ext" capability="0" offset="0x0.0" selected_by="PFCC" size="0x20" />
	<field name="pfcr" descr="" subnode="pfcr_ext" capability="0" offset="0x0.0" selected_by="PFCR" size="0xc" />
	<field name="pfldc" descr="" subnode="pfldc_ext" capability="0" offset="0x0.0" selected_by="PFLDC" size="0xc" />
	<field name="pfsc_reg" descr="" subnode="pfsc_reg_ext" capability="0" offset="0x0.0" selected_by="PFSC" size="0x10" />
	<field name="pgcb" descr="" subnode="pgcb_ext" capability="0" offset="0x0.0" selected_by="PGCB" size="0x2a0" />
	<field name="pgcr" descr="" subnode="pgcr_ext" capability="0" offset="0x0.0" selected_by="PGCR" size="0x20" />
	<field name="pgmr" descr="" subnode="pgmr_ext" capability="0" offset="0x0.0" selected_by="PGMR" size="0x2c" />
	<field name="pgrrs" descr="" subnode="pgrrs_ext" capability="0" offset="0x0.0" selected_by="PGRRS" size="0x90" />
	<field name="pguid_reg" descr="" subnode="pguid_reg_ext" capability="0" offset="0x0.0" selected_by="PGUID" size="0x60" />
	<field name="phbr" descr="" subnode="phbr_ext" capability="0" offset="0x0.0" selected_by="PHBR" size="0x1c" />
	<field name="phrr_reg" descr="" subnode="phrr_reg_ext" capability="0" offset="0x0.0" selected_by="PHRR" size="0x68" />
	<field name="pifr_reg" descr="" subnode="pifr_reg_ext" capability="0" offset="0x0.0" selected_by="PIFR" size="0x60" />
	<field name="pifr_v2" descr="" subnode="pifr_v2_ext" capability="0" offset="0x0.0" selected_by="PIFR_V2" size="0x120" />
	<field name="pipg_reg" descr="" subnode="pipg_reg_ext" capability="0" offset="0x0.0" selected_by="PIPG" size="0x8" />
	<field name="plbf_reg" descr="" subnode="plbf_reg_ext" capability="0" offset="0x0.0" selected_by="PLBF" size="0x8" />
	<field name="plcc_reg" descr="" subnode="plcc_reg_ext" capability="0" offset="0x0.0" selected_by="PLCC" size="0x10" />
	<field name="pldc" descr="" subnode="pldc_ext" capability="0" offset="0x0.0" selected_by="PLDC" size="0x14" />
	<field name="plds" descr="" subnode="plds_ext" capability="0" offset="0x0.0" selected_by="PLDS" size="0x18" />
	<field name="pldt" descr="" subnode="pldt_ext" capability="0" offset="0x0.0" selected_by="PLDT" size="0xc" />
	<field name="plib_reg" descr="" subnode="plib_reg_ext" capability="0" offset="0x0.0" selected_by="PLIB" size="0x10" />
	<field name="plibdb" descr="" subnode="plibdb_ext" capability="0" offset="0x0.0" selected_by="PLIBDB" size="0x10" />
	<field name="pllp_reg" descr="" subnode="pllp_reg_ext" capability="0" offset="0x0.0" selected_by="PLLP" size="0x18" />
	<field name="pltc_reg" descr="" subnode="pltc_reg_ext" capability="0" offset="0x0.0" selected_by="PLTC" size="0x10" />
	<field name="pmaos_reg" descr="" subnode="pmaos_reg_ext" capability="0" offset="0x0.0" selected_by="PMAOS" size="0x10" />
	<field name="pmcr_reg" descr="" subnode="pmcr_reg_ext" capability="0" offset="0x0.0" selected_by="PMCR" size="0x2c" />
	<field name="pmdr_reg" descr="" subnode="pmdr_reg_ext" capability="0" offset="0x0.0" selected_by="PMDR" size="0x48" />
	<field name="pmecr_reg" descr="" subnode="pmecr_reg_ext" capability="0" offset="0x0.0" selected_by="PMECR" size="0x20" />
	<field name="pmft" descr="" subnode="pmft_ext" capability="0" offset="0x0.0" selected_by="PMFT" size="0x14" />
	<field name="pmlp_reg" descr="" subnode="pmlp_reg_ext" capability="0" offset="0x0.0" selected_by="PMLP" size="0x40" />
	<field name="pmlpe_reg" descr="" subnode="pmlpe_reg_ext" capability="0" offset="0x0.0" selected_by="PMLPE" size="0x40" />
	<field name="pmlr_reg" descr="" subnode="pmlr_reg_ext" capability="0" offset="0x0.0" selected_by="PMLR" size="0x28" />
	<field name="pmlse_reg" descr="" subnode="pmlse_reg_ext" capability="0" offset="0x0.0" selected_by="PMLSE" size="0x10" />
	<field name="pmmp_reg" descr="" subnode="pmmp_reg_ext" capability="0" offset="0x0.0" selected_by="PMMP" size="0x40" />
	<field name="pmpc_reg" descr="" subnode="pmpc_reg_ext" capability="0" offset="0x0.0" selected_by="PMPC" size="0x20" />
	<field name="pmpd_reg" descr="" subnode="pmpd_reg_ext" capability="0" offset="0x0.0" selected_by="PMPD" size="0x30" />
	<field name="pmpe_reg" descr="" subnode="pmpe_reg_ext" capability="0" offset="0x0.0" selected_by="PMPE" size="0x10" />
	<field name="pmpr_reg" descr="" subnode="pmpr_reg_ext" capability="0" offset="0x0.0" selected_by="PMPR" size="0x10" />
	<field name="pmpt_reg" descr="" subnode="pmpt_reg_ext" capability="0" offset="0x0.0" selected_by="PMPT" size="0x1c" />
	<field name="pmsc_reg" descr="" subnode="pmsc_reg_ext" capability="0" offset="0x0.0" selected_by="PMSC" size="0x40" />
	<field name="pmscr_reg" descr="" subnode="pmscr_reg_ext" capability="0" offset="0x0.0" selected_by="PMSCR" size="0x48" />
	<field name="pmtdb_reg" descr="" subnode="pmtdb_reg_ext" capability="0" offset="0x0.0" selected_by="PMTDB" size="0x40" />
	<field name="pmtm_reg" descr="" subnode="pmtm_reg_ext" capability="0" offset="0x0.0" selected_by="PMTM" size="0x10" />
	<field name="pmtu_reg" descr="" subnode="pmtu_reg_ext" capability="0" offset="0x0.0" selected_by="PMTU" size="0x10" />
	<field name="ppad_reg" descr="" subnode="ppad_reg_ext" capability="0" offset="0x0.0" selected_by="PPAD" size="0x10" />
	<field name="ppaos_reg" descr="" subnode="ppaos_reg_ext" capability="0" offset="0x0.0" selected_by="PPAOS" size="0x10" />
	<field name="ppbmc_reg" descr="" subnode="ppbmc_reg_ext" capability="0" offset="0x0.0" selected_by="PPBMC" size="0x10" />
	<field name="ppbme_reg" descr="" subnode="ppbme_reg_ext" capability="0" offset="0x0.0" selected_by="PPBME" size="0x10" />
	<field name="ppbmi" descr="" subnode="ppbmi_ext" capability="0" offset="0x0.0" selected_by="PPBMI" size="0x18" />
	<field name="ppbmp_reg" descr="" subnode="ppbmp_reg_ext" capability="0" offset="0x0.0" selected_by="PPBMP" size="0x30" />
	<field name="ppbs" descr="" subnode="ppbs_ext" capability="0" offset="0x0.0" selected_by="PPBS" size="0x1c" />
	<field name="ppbt" descr="" subnode="ppbt_ext" capability="0" offset="0x0.0" selected_by="PPBT" size="0x14" />
	<field name="ppcnt_reg" descr="" subnode="ppcnt_reg_ext" capability="0" offset="0x0.0" selected_by="PPCNT" size="0x100" />
	<field name="ppfcg" descr="" subnode="ppfcg_ext" capability="0" offset="0x0.0" selected_by="PPFCG" size="0x8" />
	<field name="pphcr" descr="" subnode="pphcr_ext" capability="0" offset="0x0.0" selected_by="PPHCR" size="0x5c" />
	<field name="pplm_reg" descr="" subnode="pplm_reg_ext" capability="0" offset="0x0.0" selected_by="PPLM" size="0x80" />
	<field name="pplr_reg" descr="" subnode="pplr_reg_ext" capability="0" offset="0x0.0" selected_by="PPLR" size="0x8" />
	<field name="pprm_reg" descr="" subnode="pprm_reg_ext" capability="0" offset="0x0.0" selected_by="PPRM" size="0x94" />
	<field name="pprr" descr="" subnode="pprr_ext" capability="0" offset="0x0.0" selected_by="PPRR" size="0x14" />
	<field name="pprt_reg" descr="" subnode="pprt_reg_ext" capability="0" offset="0x0.0" selected_by="PPRT" size="0x24" />
	<field name="ppsc_reg" descr="" subnode="ppsc_reg_ext" capability="0" offset="0x0.0" selected_by="PPSC" size="0x30" />
	<field name="ppslc" descr="" subnode="ppslc_ext" capability="0" offset="0x0.0" selected_by="PPSLC" size="0x34" />
	<field name="ppsld" descr="" subnode="ppsld_ext" capability="0" offset="0x0.0" selected_by="PPSLD" size="0x14" />
	<field name="ppsls" descr="" subnode="ppsls_ext" capability="0" offset="0x0.0" selected_by="PPSLS" size="0x8" />
	<field name="ppspc" descr="" subnode="ppspc_ext" capability="0" offset="0x0.0" selected_by="PPSPC" size="0x28" />
	<field name="ppspgc" descr="" subnode="ppspgc_ext" capability="0" offset="0x0.0" selected_by="PPSPGC" size="0x14" />
	<field name="ppsphi_reg" descr="" subnode="ppsphi_reg_ext" capability="0" offset="0x0.0" selected_by="PPSPHI" size="0x4c" />
	<field name="ppspi" descr="" subnode="ppspi_ext" capability="0" offset="0x0.0" selected_by="PPSPI" size="0x80" />
	<field name="pptb_reg" descr="" subnode="pptb_reg_ext" capability="0" offset="0x0.0" selected_by="PPTB" size="0x10" />
	<field name="pptt_reg" descr="" subnode="pptt_reg_ext" capability="0" offset="0x0.0" selected_by="PPTT" size="0x1c" />
	<field name="ppwcc" descr="" subnode="ppwcc_ext" capability="0" offset="0x0.0" selected_by="PPWCC" size="0x20" />
	<field name="ppwdc" descr="" subnode="ppwdc_ext" capability="0" offset="0x0.0" selected_by="PPWDC" size="0xc" />
	<field name="ppwe" descr="" subnode="ppwe_ext" capability="0" offset="0x0.0" selected_by="PPWE" size="0xc" />
	<field name="ppwpt" descr="" subnode="ppwpt_ext" capability="0" offset="0x0.0" selected_by="PPWPT" size="0x410" />
	<field name="prbt" descr="" subnode="prbt_ext" capability="0" offset="0x0.0" selected_by="PRBT" size="0x14" />
	<field name="prcr" descr="" subnode="prcr_ext" capability="0" offset="0x0.0" selected_by="PRCR" size="0x40" />
	<field name="prei_reg" descr="" subnode="prei_reg_ext" capability="0" offset="0x0.0" selected_by="PREI" size="0x18" />
	<field name="prtl_reg" descr="" subnode="prtl_reg_ext" capability="0" offset="0x0.0" selected_by="PRTL" size="0x20" />
	<field name="prtsr" descr="" subnode="prtsr_ext" capability="0" offset="0x0.0" selected_by="PRTSR" size="0x10" />
	<field name="pspa_reg" descr="" subnode="pspa_reg_ext" capability="0" offset="0x0.0" selected_by="PSPA" size="0x8" />
	<field name="ptar" descr="" subnode="ptar_ext" capability="0" offset="0x0.0" selected_by="PTAR" size="0x30" />
	<field name="ptasv2_reg" descr="" subnode="ptasv2_reg_ext" capability="0" offset="0x0.0" selected_by="PTASv2" size="0x48" />
	<field name="ptce_v2" descr="" subnode="ptce_v2_ext" capability="0" offset="0x0.0" selected_by="PTCE_V2" size="0x188" />
	<field name="ptce_v3" descr="" subnode="ptce_v3_ext" capability="0" offset="0x0.0" selected_by="PTCE_V3" size="0xa4" />
	<field name="ptcead" descr="" subnode="ptcead_ext" capability="0" offset="0x0.0" selected_by="PTCEAD" size="0x220" />
	<field name="pter_reg" descr="" subnode="pter_reg_ext" capability="0" offset="0x0.0" selected_by="PTER" size="0x20" />
	<field name="ptse_reg" descr="" subnode="ptse_reg_ext" capability="0" offset="0x0.0" selected_by="PTSE" size="0x8" />
	<field name="ptys_reg" descr="" subnode="ptys_reg_ext" capability="0" offset="0x0.0" selected_by="PTYS" size="0x44" />
	<field name="pude_reg" descr="" subnode="pude_reg_ext" capability="0" offset="0x0.0" selected_by="PUDE" size="0x10" />
	<field name="puet" descr="" subnode="puet_ext" capability="0" offset="0x0.0" selected_by="PUET" size="0x10" />
	<field name="pvbt" descr="" subnode="pvbt_ext" capability="0" offset="0x0.0" selected_by="PVBT" size="0x14" />
	<field name="pvgt" descr="" subnode="pvgt_ext" capability="0" offset="0x0.0" selected_by="PVGT" size="0x8" />
	<field name="pvlc_reg" descr="" subnode="pvlc_reg_ext" capability="0" offset="0x0.0" selected_by="PVLC" size="0x10" />
	<field name="qdpm" descr="" subnode="qdpm_ext" capability="0" offset="0x0.0" selected_by="QDPM" size="0x40" />
	<field name="qecc" descr="" subnode="qecc_ext" capability="0" offset="0x0.0" selected_by="QECC" size="0x8" />
	<field name="qeec" descr="" subnode="qeec_ext" capability="0" offset="0x0.0" selected_by="QEEC" size="0x20" />
	<field name="qepm" descr="" subnode="qepm_ext" capability="0" offset="0x0.0" selected_by="QEPM" size="0x14" />
	<field name="qgcr" descr="" subnode="qgcr_ext" capability="0" offset="0x0.0" selected_by="QGCR" size="0x8" />
	<field name="qhll" descr="" subnode="qhll_ext" capability="0" offset="0x0.0" selected_by="QHLL" size="0xc" />
	<field name="qpbr" descr="" subnode="qpbr_ext" capability="0" offset="0x0.0" selected_by="QPBR" size="0x10" />
	<field name="qpcr" descr="" subnode="qpcr_ext" capability="0" offset="0x0.0" selected_by="QPCR" size="0x28" />
	<field name="qpdp" descr="" subnode="qpdp_ext" capability="0" offset="0x0.0" selected_by="QPDP" size="0x8" />
	<field name="qpdpc" descr="" subnode="qpdpc_ext" capability="0" offset="0x0.0" selected_by="QPDPC" size="0x8" />
	<field name="qpdpm" descr="" subnode="qpdpm_ext" capability="0" offset="0x0.0" selected_by="QPDPM" size="0x84" />
	<field name="qpdsm" descr="" subnode="qpdsm_ext" capability="0" offset="0x0.0" selected_by="QPDSM" size="0x44" />
	<field name="qpem" descr="" subnode="qpem_ext" capability="0" offset="0x0.0" selected_by="QPEM" size="0x104" />
	<field name="qppm" descr="" subnode="qppm_ext" capability="0" offset="0x0.0" selected_by="QPPM" size="0x44" />
	<field name="qprt" descr="" subnode="qprt_ext" capability="0" offset="0x0.0" selected_by="QPRT" size="0x8" />
	<field name="qptg" descr="" subnode="qptg_ext" capability="0" offset="0x0.0" selected_by="QPTG" size="0x8" />
	<field name="qpts" descr="" subnode="qpts_ext" capability="0" offset="0x0.0" selected_by="QPTS" size="0x8" />
	<field name="qrwe" descr="" subnode="qrwe_ext" capability="0" offset="0x0.0" selected_by="QRWE" size="0x8" />
	<field name="qsipg" descr="" subnode="qsipg_ext" capability="0" offset="0x0.0" selected_by="QSIPG" size="0x8" />
	<field name="qsll" descr="" subnode="qsll_ext" capability="0" offset="0x0.0" selected_by="QSLL" size="0x8" />
	<field name="qspcp" descr="" subnode="qspcp_ext" capability="0" offset="0x0.0" selected_by="QSPCP" size="0xc" />
	<field name="qspip" descr="" subnode="qspip_ext" capability="0" offset="0x0.0" selected_by="QSPIP" size="0x8" />
	<field name="qtct" descr="" subnode="qtct_ext" capability="0" offset="0x0.0" selected_by="QTCT" size="0x8" />
	<field name="qtctm" descr="" subnode="qtctm_ext" capability="0" offset="0x0.0" selected_by="QTCTM" size="0x8" />
	<field name="qtdem" descr="" subnode="qtdem_ext" capability="0" offset="0x0.0" selected_by="QTDEM" size="0xc" />
	<field name="qteem" descr="" subnode="qteem_ext" capability="0" offset="0x0.0" selected_by="QTEEM" size="0xc" />
	<field name="qtgtc" descr="" subnode="qtgtc_ext" capability="0" offset="0x0.0" selected_by="QTGTC" size="0x10" />
	<field name="qtqcr" descr="" subnode="qtqcr_ext" capability="0" offset="0x0.0" selected_by="QTQCR" size="0xc" />
	<field name="qtqdr" descr="" subnode="qtqdr_ext" capability="0" offset="0x0.0" selected_by="QTQDR" size="0x8" />
	<field name="qtttl" descr="" subnode="qtttl_ext" capability="0" offset="0x0.0" selected_by="QTTTL" size="0xc" />
	<field name="ralbu" descr="" subnode="ralbu_ext" capability="0" offset="0x0.0" selected_by="RALBU" size="0x20" />
	<field name="ralcm" descr="" subnode="ralcm_ext" capability="0" offset="0x0.0" selected_by="RALCM" size="0x4" />
	<field name="raleu" descr="" subnode="raleu_ext" capability="0" offset="0x0.0" selected_by="RALEU" size="0x30" />
	<field name="raleu_v2" descr="" subnode="raleu_v2_ext" capability="0" offset="0x0.0" selected_by="RALEU_V2" size="0x50" />
	<field name="ralst" descr="" subnode="ralst_ext" capability="0" offset="0x0.0" selected_by="RALST" size="0x104" />
	<field name="ralta" descr="" subnode="ralta_ext" capability="0" offset="0x0.0" selected_by="RALTA" size="0x4" />
	<field name="raltb" descr="" subnode="raltb_ext" capability="0" offset="0x0.0" selected_by="RALTB" size="0x4" />
	<field name="ralue" descr="" subnode="ralue_ext" capability="0" offset="0x0.0" selected_by="RALUE" size="0x4c" />
	<field name="ralueb" descr="" subnode="ralueb_ext" capability="0" offset="0x0.0" selected_by="RALUEB" size="0x90" />
	<field name="ralup" descr="" subnode="ralup_ext" capability="0" offset="0x0.0" selected_by="RALUP" size="0x50" />
	<field name="rarcc" descr="" subnode="rarcc_ext" capability="0" offset="0x0.0" selected_by="RARCC" size="0x20" />
	<field name="rarcl" descr="" subnode="rarcl_ext" capability="0" offset="0x0.0" selected_by="RARCL" size="0x2c" />
	<field name="rarft" descr="" subnode="rarft_ext" capability="0" offset="0x0.0" selected_by="RARFT" size="0x10" />
	<field name="rarftb" descr="" subnode="rarftb_ext" capability="0" offset="0x0.0" selected_by="RARFTB" size="0xc" />
	<field name="rarftbr" descr="" subnode="rarftbr_ext" capability="0" offset="0x0.0" selected_by="RARFTBR" size="0x18" />
	<field name="rargcr" descr="" subnode="rargcr_ext" capability="0" offset="0x0.0" selected_by="RARGCR" size="0x8" />
	<field name="rargcr_v2" descr="" subnode="rargcr_v2_ext" capability="0" offset="0x0.0" selected_by="RARGCR_V2" size="0x10" />
	<field name="rargcs" descr="" subnode="rargcs_ext" capability="0" offset="0x0.0" selected_by="RARGCS" size="0x10" />
	<field name="rargmc" descr="" subnode="rargmc_ext" capability="0" offset="0x0.0" selected_by="RARGMC" size="0x20" />
	<field name="rargtc" descr="" subnode="rargtc_ext" capability="0" offset="0x0.0" selected_by="RARGTC" size="0x10" />
	<field name="rarlpgt" descr="" subnode="rarlpgt_ext" capability="0" offset="0x0.0" selected_by="RARLPGT" size="0xa0" />
	<field name="rarlu" descr="" subnode="rarlu_ext" capability="0" offset="0x0.0" selected_by="RARLU" size="0xc" />
	<field name="rarncg" descr="" subnode="rarncg_ext" capability="0" offset="0x0.0" selected_by="RARNCG" size="0x20" />
	<field name="rarncp" descr="" subnode="rarncp_ext" capability="0" offset="0x0.0" selected_by="RARNCP" size="0xc" />
	<field name="rarngc" descr="" subnode="rarngc_ext" capability="0" offset="0x0.0" selected_by="RARNGC" size="0x1c" />
	<field name="rarnpc" descr="" subnode="rarnpc_ext" capability="0" offset="0x0.0" selected_by="RARNPC" size="0x10" />
	<field name="rarnpr" descr="" subnode="rarnpr_ext" capability="0" offset="0x0.0" selected_by="RARNPR" size="0xc" />
	<field name="rarns" descr="" subnode="rarns_ext" capability="0" offset="0x0.0" selected_by="RARNS" size="0x8" />
	<field name="rarpc" descr="" subnode="rarpc_ext" capability="0" offset="0x0.0" selected_by="RARPC" size="0xd0" />
	<field name="rarppm" descr="" subnode="rarppm_ext" capability="0" offset="0x0.0" selected_by="RARPPM" size="0x8" />
	<field name="rarpr" descr="" subnode="rarpr_ext" capability="0" offset="0x0.0" selected_by="RARPR" size="0x14" />
	<field name="rarptm" descr="" subnode="rarptm_ext" capability="0" offset="0x0.0" selected_by="RARPTM" size="0x8" />
	<field name="rarsr" descr="" subnode="rarsr_ext" capability="0" offset="0x0.0" selected_by="RARSR" size="0x8" />
	<field name="rartm" descr="" subnode="rartm_ext" capability="0" offset="0x0.0" selected_by="RARTM" size="0x44" />
	<field name="ratr" descr="" subnode="ratr_ext" capability="0" offset="0x0.0" selected_by="RATR" size="0x2c" />
	<field name="ratrad" descr="" subnode="ratrad_ext" capability="0" offset="0x0.0" selected_by="RATRAD" size="0x210" />
	<field name="ratrb" descr="" subnode="ratrb_ext" capability="0" offset="0x0.0" selected_by="RATRB" size="0x420" />
	<field name="rauht_lpm_unicast" descr="" subnode="rauht_lpm_unicast_ext" capability="0" offset="0x0.0" selected_by="RAUHT" size="0x74" />
	<field name="rauhtd" descr="" subnode="rauhtd_ext" capability="0" offset="0x0.0" selected_by="RAUHTD" size="0x40" />
	<field name="rcap" descr="" subnode="rcap_ext" capability="0" offset="0x0.0" selected_by="RCAP" size="0x8" />
	<field name="rdpm" descr="" subnode="rdpm_ext" capability="0" offset="0x0.0" selected_by="RDPM" size="0x40" />
	<field name="recr" descr="" subnode="recr_ext" capability="0" offset="0x0.0" selected_by="RECR" size="0x10" />
	<field name="recr_v2" descr="" subnode="recr_v2_ext" capability="0" offset="0x0.0" selected_by="RECR_V2" size="0x50" />
	<field name="reiv" descr="" subnode="reiv_ext" capability="0" offset="0x0.0" selected_by="REIV" size="0x420" />
	<field name="resource_dump" descr="" subnode="resource_dump_ext" capability="0" offset="0x0.0" selected_by="MORD" size="0xc8" />
	<field name="rgcr" descr="" subnode="rgcr_ext" capability="0" offset="0x0.0" selected_by="RGCR" size="0x28" />
	<field name="ricnt_inter" descr="" subnode="ricnt_inter_ext" capability="0" offset="0x0.0" selected_by="RICNT" size="0xf8" />
	<field name="rigr_v2" descr="" subnode="rigr_v2_ext" capability="0" offset="0x0.0" selected_by="RIGR_V2" size="0xb0" />
	<field name="rimcb" descr="" subnode="rimcb_ext" capability="0" offset="0x0.0" selected_by="RIMCB" size="0xc" />
	<field name="rips_ip" descr="" subnode="rips_ip_ext" capability="0" offset="0x0.0" selected_by="RIPS" size="0x14" />
	<field name="rirt" descr="" subnode="rirt_ext" capability="0" offset="0x0.0" selected_by="RIRT" size="0x50" />
	<field name="ritr" descr="" subnode="ritr_ext" capability="0" offset="0x0.0" selected_by="RITR" size="0x40" />
	<field name="riva" descr="" subnode="riva_ext" capability="0" offset="0x0.0" selected_by="RIVA" size="0x10" />
	<field name="rmeir" descr="" subnode="rmeir_ext" capability="0" offset="0x0.0" selected_by="RMEIR" size="0x210" />
	<field name="rmft" descr="" subnode="rmft_ext" capability="0" offset="0x0.0" selected_by="RMFT" size="0x90" />
	<field name="rmft_v2" descr="" subnode="rmft_v2_ext" capability="0" offset="0x0.0" selected_by="RMFT_V2" size="0x128" />
	<field name="rmftad" descr="" subnode="rmftad_ext" capability="0" offset="0x0.0" selected_by="RMFTAD" size="0x220" />
	<field name="rmid" descr="" subnode="rmid_ext" capability="0" offset="0x0.0" selected_by="RMID" size="0x40" />
	<field name="rmid_v2" descr="" subnode="rmid_v2_ext" capability="0" offset="0x0.0" selected_by="RMID_V2" size="0xa0" />
	<field name="rmpe" descr="" subnode="rmpe_ext" capability="0" offset="0x0.0" selected_by="RMPE" size="0xc" />
	<field name="rmpu" descr="" subnode="rmpu_ext" capability="0" offset="0x0.0" selected_by="RMPU" size="0x110" />
	<field name="rngcr" descr="" subnode="rngcr_ext" capability="0" offset="0x0.0" selected_by="RNGCR" size="0xc" />
	<field name="rrcr" descr="" subnode="rrcr_ext" capability="0" offset="0x0.0" selected_by="RRCR" size="0x24" />
	<field name="rrpcc" descr="" subnode="rrpcc_ext" capability="0" offset="0x0.0" selected_by="RRPCC" size="0xc" />
	<field name="rrpct" descr="" subnode="rrpct_ext" capability="0" offset="0x0.0" selected_by="RRPCT" size="0x30" />
	<field name="rsnh" descr="" subnode="rsnh_ext" capability="0" offset="0x0.0" selected_by="RSNH" size="0x10" />
	<field name="rtar_tcam" descr="" subnode="rtar_tcam_ext" capability="0" offset="0x0.0" selected_by="RTAR" size="0x8" />
	<field name="rtca" descr="" subnode="rtca_ext" capability="0" offset="0x0.0" selected_by="RTCA" size="0x14" />
	<field name="rtdp" descr="" subnode="rtdp_ext" capability="0" offset="0x0.0" selected_by="RTDP" size="0x44" />
	<field name="rtps" descr="" subnode="rtps_ext" capability="0" offset="0x0.0" selected_by="RTPS" size="0x8" />
	<field name="ruft" descr="" subnode="ruft_ext" capability="0" offset="0x0.0" selected_by="RUFT" size="0x78" />
	<field name="sbcam" descr="" subnode="sbcam_ext" capability="0" offset="0x0.0" selected_by="SBCAM" size="0x4c" />
	<field name="sbcm" descr="" subnode="sbcm_ext" capability="0" offset="0x0.0" selected_by="SBCM" size="0x28" />
	<field name="sbctc" descr="" subnode="sbctc_ext" capability="0" offset="0x0.0" selected_by="SBCTC" size="0x20" />
	<field name="sbctr" descr="" subnode="sbctr_ext" capability="0" offset="0x0.0" selected_by="SBCTR" size="0x18" />
	<field name="sbcts" descr="" subnode="sbcts_ext" capability="0" offset="0x0.0" selected_by="SBCTS" size="0x14" />
	<field name="sbdcc" descr="" subnode="sbdcc_ext" capability="0" offset="0x0.0" selected_by="SBDCC" size="0x210" />
	<field name="sbdcm" descr="" subnode="sbdcm_ext" capability="0" offset="0x0.0" selected_by="SBDCM" size="0x14" />
	<field name="sbdcr" descr="" subnode="sbdcr_ext" capability="0" offset="0x0.0" selected_by="SBDCR" size="0x14" />
	<field name="sbgcr" descr="" subnode="sbgcr_ext" capability="0" offset="0x0.0" selected_by="SBGCR" size="0x8" />
	<field name="sbhbr" descr="" subnode="sbhbr_ext" capability="0" offset="0x0.0" selected_by="SBHBR" size="0x1c" />
	<field name="sbhbr_v2" descr="" subnode="sbhbr_v2_ext" capability="0" offset="0x0.0" selected_by="SBHBR_V2" size="0x20" />
	<field name="sbhpc" descr="" subnode="sbhpc_ext" capability="0" offset="0x0.0" selected_by="SBHPC" size="0x24" />
	<field name="sbhrr" descr="" subnode="sbhrr_ext" capability="0" offset="0x0.0" selected_by="SBHRR" size="0x60" />
	<field name="sbhrr_v2" descr="" subnode="sbhrr_v2_ext" capability="0" offset="0x0.0" selected_by="SBHRR_V2" size="0x90" />
	<field name="sbib" descr="" subnode="sbib_ext" capability="0" offset="0x0.0" selected_by="SBIB" size="0x10" />
	<field name="sbme" descr="" subnode="sbme_ext" capability="0" offset="0x0.0" selected_by="SBME" size="0x28" />
	<field name="sbmm" descr="" subnode="sbmm_ext" capability="0" offset="0x0.0" selected_by="SBMM" size="0x28" />
	<field name="sbpm" descr="" subnode="sbpm_ext" capability="0" offset="0x0.0" selected_by="SBPM" size="0x20" />
	<field name="sbpr" descr="" subnode="sbpr_ext" capability="0" offset="0x0.0" selected_by="SBPR" size="0x18" />
	<field name="sbrmr" descr="" subnode="sbrmr_ext" capability="0" offset="0x0.0" selected_by="SBRMR" size="0x10" />
	<field name="sbrms" descr="" subnode="sbrms_ext" capability="0" offset="0x0.0" selected_by="SBRMS" size="0x10" />
	<field name="sbsns" descr="" subnode="sbsns_ext" capability="0" offset="0x0.0" selected_by="SBSNS" size="0x18" />
	<field name="sbsnt" descr="" subnode="sbsnt_ext" capability="0" offset="0x0.0" selected_by="SBSNT" size="0x4" />
	<field name="sbsnte" descr="" subnode="sbsnte_ext" capability="0" offset="0x0.0" selected_by="SBSNTE" size="0x10" />
	<field name="sbsr" descr="" subnode="sbsr_ext" capability="0" offset="0x0.0" selected_by="SBSR" size="0x41c" />
	<field name="sbsrd" descr="" subnode="sbsrd_ext" capability="0" offset="0x0.0" selected_by="SBSRD" size="0x450" />
	<field name="sfd" descr="" subnode="sfd_ext" capability="0" offset="0x0.0" selected_by="SFD" size="0x410" />
	<field name="sfd_v2" descr="" subnode="sfd_v2_ext" capability="0" offset="0x0.0" selected_by="SFD_V2" size="0x30" />
	<field name="sfdat" descr="" subnode="sfdat_ext" capability="0" offset="0x0.0" selected_by="SFDAT" size="0x8" />
	<field name="sfdb" descr="" subnode="sfdb_ext" capability="0" offset="0x0.0" selected_by="SFDB" size="0x48" />
	<field name="sfdb_v2" descr="" subnode="sfdb_v2_ext" capability="0" offset="0x0.0" selected_by="SFDB_V2" size="0x84" />
	<field name="sfdd" descr="" subnode="sfdd_ext" capability="0" offset="0x0.0" selected_by="SFDD" size="0x420" />
	<field name="sfdf" descr="" subnode="sfdf_ext" capability="0" offset="0x0.0" selected_by="SFDF" size="0x14" />
	<field name="sfdt" descr="" subnode="sfdt_ext" capability="0" offset="0x0.0" selected_by="SFDT" size="0x2e0" />
	<field name="sfdt_v2" descr="" subnode="sfdt_v2_ext" capability="0" offset="0x0.0" selected_by="SFDT_V2" size="0x2e0" />
	<field name="sffp" descr="" subnode="sffp_ext" capability="0" offset="0x0.0" selected_by="SFFP" size="0xc" />
	<field name="sfgc" descr="" subnode="sfgc_ext" capability="0" offset="0x0.0" selected_by="SFGC" size="0x14" />
	<field name="sfmr" descr="" subnode="sfmr_ext" capability="0" offset="0x0.0" selected_by="SFMR" size="0x2c" />
	<field name="sfn" descr="" subnode="sfn_ext" capability="0" offset="0x0.0" selected_by="SFN" size="0x410" />
	<field name="sftr" descr="" subnode="sftr_ext" capability="0" offset="0x0.0" selected_by="SFTR" size="0x240" />
	<field name="sftr_v2" descr="" subnode="sftr_v2_ext" capability="0" offset="0x0.0" selected_by="SFTR_V2" size="0x120" />
	<field name="sgcr" descr="" subnode="sgcr_ext" capability="0" offset="0x0.0" selected_by="SGCR" size="0x10" />
	<field name="slcor" descr="" subnode="slcor_ext" capability="0" offset="0x0.0" selected_by="SLCOR" size="0x10" />
	<field name="slcr" descr="" subnode="slcr_ext" capability="0" offset="0x0.0" selected_by="SLCR" size="0x10" />
	<field name="sldr" descr="" subnode="sldr_ext" capability="0" offset="0x0.0" selected_by="SLDR" size="0x108" />
	<field name="slecr" descr="" subnode="slecr_ext" capability="0" offset="0x0.0" selected_by="SLECR" size="0x10" />
	<field name="sllm_reg" descr="" subnode="sllm_reg_ext" capability="0" offset="0x0.0" selected_by="SLLM" size="0x30" />
	<field name="slmt" descr="" subnode="slmt_ext" capability="0" offset="0x0.0" selected_by="SLMT" size="0x8" />
	<field name="slprr_reg" descr="" subnode="slprr_reg_ext" capability="0" offset="0x0.0" selected_by="SLPRR" size="0x150" />
	<field name="slred_reg" descr="" subnode="slred_reg_ext" capability="0" offset="0x0.0" selected_by="SLRED" size="0xa8" />
	<field name="slrg_reg" descr="" subnode="slrg_reg_ext" capability="0" offset="0x0.0" selected_by="SLRG" size="0x28" />
	<field name="slsir_reg" descr="" subnode="slsir_reg_ext" capability="0" offset="0x0.0" selected_by="SLSIR" size="0x94" />
	<field name="sltp_reg" descr="" subnode="sltp_reg_ext" capability="0" offset="0x0.0" selected_by="SLTP" size="0x4c" />
	<field name="sltpv2_reg" descr="" subnode="sltpv2_reg_ext" capability="0" offset="0x0.0" selected_by="SLTPv2" size="0x10c" />
	<field name="smid" descr="" subnode="smid_ext" capability="0" offset="0x0.0" selected_by="SMID" size="0x240" />
	<field name="smid_v2" descr="" subnode="smid_v2_ext" capability="0" offset="0x0.0" selected_by="SMID_V2" size="0x120" />
	<field name="smpe" descr="" subnode="smpe_ext" capability="0" offset="0x0.0" selected_by="SMPE" size="0xc" />
	<field name="smpeb" descr="" subnode="smpeb_ext" capability="0" offset="0x0.0" selected_by="SMPEB" size="0x420" />
	<field name="smpu" descr="" subnode="smpu_ext" capability="0" offset="0x0.0" selected_by="SMPU" size="0x410" />
	<field name="spad" descr="" subnode="spad_ext" capability="0" offset="0x0.0" selected_by="SPAD" size="0x10" />
	<field name="spaft" descr="" subnode="spaft_ext" capability="0" offset="0x0.0" selected_by="SPAFT" size="0x8" />
	<field name="spevet" descr="" subnode="spevet_ext" capability="0" offset="0x0.0" selected_by="SPEVET" size="0x8" />
	<field name="spfsr" descr="" subnode="spfsr_ext" capability="0" offset="0x0.0" selected_by="SPFSR" size="0x8" />
	<field name="spgt" descr="" subnode="spgt_ext" capability="0" offset="0x0.0" selected_by="SPGT" size="0x240" />
	<field name="spms" descr="" subnode="spms_ext" capability="0" offset="0x0.0" selected_by="SPMS" size="0x404" />
	<field name="spms_v2" descr="" subnode="spms_v2_ext" capability="0" offset="0x0.0" selected_by="SPMS_V2" size="0x400" />
	<field name="spvc" descr="" subnode="spvc_ext" capability="0" offset="0x0.0" selected_by="SPVC" size="0xc" />
	<field name="spvid" descr="" subnode="spvid_ext" capability="0" offset="0x0.0" selected_by="SPVID" size="0x8" />
	<field name="spvm" descr="" subnode="spvm_ext" capability="0" offset="0x0.0" selected_by="SPVM" size="0x400" />
	<field name="spvmlr" descr="" subnode="spvmlr_ext" capability="0" offset="0x0.0" selected_by="SPVMLR" size="0x400" />
	<field name="spvtr" descr="" subnode="spvtr_ext" capability="0" offset="0x0.0" selected_by="SPVTR" size="0x10" />
	<field name="spzr" descr="" subnode="spzr_ext" capability="0" offset="0x0.0" selected_by="SPZR" size="0x70" />
	<field name="sspr" descr="" subnode="sspr_ext" capability="0" offset="0x0.0" selected_by="SSPR" size="0x8" />
	<field name="sver" descr="" subnode="sver_ext" capability="0" offset="0x0.0" selected_by="SVER" size="0x10" />
	<field name="svfa" descr="" subnode="svfa_ext" capability="0" offset="0x0.0" selected_by="SVFA" size="0x18" />
	<field name="svpcn" descr="" subnode="svpcn_ext" capability="0" offset="0x0.0" selected_by="SVPCN" size="0x10" />
	<field name="svpe" descr="" subnode="svpe_ext" capability="0" offset="0x0.0" selected_by="SVPE" size="0x4" />
	<field name="tidem" descr="" subnode="tidem_ext" capability="0" offset="0x0.0" selected_by="TIDEM" size="0xc" />
	<field name="tieem" descr="" subnode="tieem_ext" capability="0" offset="0x0.0" selected_by="TIEEM" size="0xc" />
	<field name="tigcr" descr="" subnode="tigcr_ext" capability="0" offset="0x0.0" selected_by="TIGCR" size="0x18" />
	<field name="tiqcr" descr="" subnode="tiqcr_ext" capability="0" offset="0x0.0" selected_by="TIQCR" size="0xc" />
	<field name="tiqdr" descr="" subnode="tiqdr_ext" capability="0" offset="0x0.0" selected_by="TIQDR" size="0x8" />
	<field name="tncr" descr="" subnode="tncr_ext" capability="0" offset="0x0.0" selected_by="TNCR" size="0x30" />
	<field name="tncr_v2" descr="" subnode="tncr_v2_ext" capability="0" offset="0x0.0" selected_by="TNCR_V2" size="0x38" />
	<field name="tndem" descr="" subnode="tndem_ext" capability="0" offset="0x0.0" selected_by="TNDEM" size="0xc" />
	<field name="tneem" descr="" subnode="tneem_ext" capability="0" offset="0x0.0" selected_by="TNEEM" size="0xc" />
	<field name="tngcr" descr="" subnode="tngcr_ext" capability="0" offset="0x0.0" selected_by="TNGCR" size="0x64" />
	<field name="tngee" descr="" subnode="tngee_ext" capability="0" offset="0x0.0" selected_by="TNGEE" size="0x50" />
	<field name="tnifr" descr="" subnode="tnifr_ext" capability="0" offset="0x0.0" selected_by="TNIFR" size="0x60" />
	<field name="tnifr_v2" descr="" subnode="tnifr_v2_ext" capability="0" offset="0x0.0" selected_by="TNIFR_V2" size="0x120" />
	<field name="tnipsd" descr="" subnode="tnipsd_ext" capability="0" offset="0x0.0" selected_by="TNIPSD" size="0x420" />
	<field name="tnpc" descr="" subnode="tnpc_ext" capability="0" offset="0x0.0" selected_by="TNPC" size="0x1c" />
	<field name="tnqcr" descr="" subnode="tnqcr_ext" capability="0" offset="0x0.0" selected_by="TNQCR" size="0xc" />
	<field name="tnqdr" descr="" subnode="tnqdr_ext" capability="0" offset="0x0.0" selected_by="TNQDR" size="0x8" />
	<field name="tnumt" descr="" subnode="tnumt_ext" capability="0" offset="0x0.0" selected_by="TNUMT" size="0x20" />
</node>

<node name="access_reg_summary_selector_ext" descr="" attr_is_union="1" size="0xa20" >
	<field name="access_reg_summary" descr="" subnode="access_reg_summary_ext" offset="0x0.0" size="0xa20" union_selector="$(parent).ctrl.id" />
	<field name="ctrl" descr="" subnode="access_reg_summary_ctrl_ext" offset="0x0.0" size="0x4.0" />
</node>

<node name="acl_id_record_ext" descr="" size="0x4.0" >
	<field name="acl_id" descr="ACL identifier\;Range 0 .. cap_max_acl_regions - 1" access="RW" offset="0x0.0" size="0x0.16" />
	<field name="commit" descr="ACL Commit\;0: No dedicated commit when the ACL is ended\;1: Do a commit when the ACL is ended\;All ACLs of a multi-ACL should have the same commit value\;Reserved when Spectrum-1" access="RW" offset="0x0.30" size="0x0.1" />
	<field name="multi" descr="Multi-ACL\;0: This ACL is the last ACL in the multi-ACL\;1: This ACL is part of a multi-ACL\;Reserved when Spectrum-1" access="RW" offset="0x0.31" size="0x0.1" />
</node>

<node name="action_buffer_snap_ext" descr="" size="0x8.0" >
	<field name="snap_id" descr="Snapshot Trigger ID (see SBSNS.trigger_id):\;0: 0x10\;...\;7: 0x17" offset="0x0.0" size="0x0.3" />
</node>

<node name="action_counting_cardinality_counter_ext" descr="" size="0x10.0" >
	<field name="cbset" descr="Cbset index\;Range 0 .. cap_max_custom_byte_sets-1" offset="0x0.0" size="0x0.4" />
</node>

<node name="action_counting_cardinality_ext" descr="" size="0x18.0" >
	<field name="type" descr="0: Counter\;" enum="Counter=0x0" offset="0x0.0" size="0x0.4" />
	<field name="meter_params" descr="See Table 3120, &quot;COUNTER_BY_REF_PARAM Block Layout,&quot; on page 3725" subnode="action_counting_cardinality_meter_params_auto_ext" offset="0x8.0" size="0x10.0" union_selector="$(parent).type" />
</node>

<node name="action_counting_cardinality_meter_params_auto_ext" descr="" attr_is_union="1" size="0x10.0" >
	<field name="action_counting_cardinality_counter_ext" descr="" subnode="action_counting_cardinality_counter_ext" offset="0x0.0" selected_by="Counter" size="0x10.0" />
</node>

<node name="action_custom_bytes_alu_field_ext" descr="" size="0x10.0" >
	<field name="cbset" descr="Custom Bytes set" offset="0x0.0" size="0x0.8" />
	<field name="opcode" descr="Opcode:\;0: SET_FIELD\;1: ADD_FIELD\;2: AND_FIELD\;3: OR_FIELD\;4: SUB_FIELD\;5: XOR_FIELD\;6: ADDC_FIELD\;7: SUBC_FIELD" offset="0x0.16" size="0x0.8" />
	<field name="field_select" descr="Field select, see Table 3180, &quot;Fields Select,&quot; on page 3766\;Note: With Router binding, L2 fields are not supported (DMAC, SMAC, VID, FID)" offset="0x4.0" size="0x0.8" />
	<field name="mask" descr="mask\;Mask != 0\;Mask must have successive 1&quot;s\;E.g.:\;0001_1111_1000_0000" offset="0x8.0" size="0x0.16" />
	<field name="shr" descr="Shift right" offset="0xC.0" size="0x0.4" />
</node>

<node name="action_custom_bytes_alu_imm_ext" descr="" size="0x10.0" >
	<field name="dest_cbset" descr="DEST Custom Bytes set" offset="0x0.0" size="0x0.8" />
	<field name="opcode" descr="Opcode:\;0: SET_IMM\;1: ADD_IMM\;2: AND_IMM\;3: OR_IMM" offset="0x0.16" size="0x0.8" />
	<field name="imm" descr="Immediate." offset="0x4.0" size="0x0.16" />
	<field name="mask" descr="mask\;Mask != 0\;Mask has successive 1&quot;s\;E.g.:\;0001_1111_1000_0000" offset="0x8.0" size="0x0.16" />
</node>

<node name="action_custom_bytes_alu_reg_ext" descr="" size="0x10.0" >
	<field name="dest_cbset" descr="DEST Custom Bytes set" offset="0x0.0" size="0x0.8" />
	<field name="opcode" descr="Opcode:\;0: SET_REG\;1: ADD_REG\;2: AND_REG\;3: OR_REG\;4: SUB_REG\;5: XOR_REG\;6: ADDC_REG\;7: SUBC_REG" offset="0x0.16" size="0x0.8" />
	<field name="src_cbset" descr="SRC Custom Bytes set" offset="0x4.0" size="0x0.8" />
	<field name="mask" descr="mask\;Mask != 0\;Mask has successive 1&quot;s\;E.g.:\;0001_1111_1000_0000" offset="0x8.0" size="0x0.16" />
	<field name="shr" descr="Shift right" offset="0xC.0" size="0x0.4" />
</node>

<node name="action_custom_bytes_move_ext" descr="" size="0x10.0" >
	<field name="dest_cbset" descr="DEST Custom Bytes set\;Reserved when opcode = MSTR" offset="0x0.0" size="0x0.8" />
	<field name="size" descr="Number of custom_byte_sets/ fields to move\;Starting from src_cbset/dest_cbset/field_select" offset="0x0.8" size="0x0.8" />
	<field name="opcode" descr="Opcode:\;0: MMOVE\;1: MLOAD\;2: MSTR" enum="MMOVE=0x0,MLOAD=0x1,MSTR=0x2" offset="0x0.16" size="0x0.8" />
	<field name="defer" descr="Defer\;0: action will be applied immediately\;1: action will be written to action set" offset="0x0.31" size="0x0.1" />
	<field name="src_cbset" descr="SRC Custom Bytes set\;Reserved when opcode = MLOAD" offset="0x4.0" size="0x0.8" />
	<field name="field_select" descr="Field select, see Table 3180, &quot;Fields Select,&quot; on page 3766\;Reserved when opcode = MMOVE\;Note: With Router binding, L2 fields are not supported with opcode=MLOAD (DMAC, SMAC, VID, FID)" offset="0x8.0" size="0x0.8" />
</node>

<node name="action_fields_move_ext" descr="" size="0x10.0" >
	<field name="dest_field_select" descr="DEST Field select, see Table 3180, &quot;Fields Select,&quot; on page 3766" offset="0x0.0" size="0x0.8" />
	<field name="size" descr="Number of fields to set\;Starting from dest_field_select/src_field_select" offset="0x0.8" size="0x0.8" />
	<field name="defer" descr="Defer\;0: action will be applied immediately\;1: action will be written to action set" offset="0x0.31" size="0x0.1" />
	<field name="src_field_select" descr="SRC Field select, see Table 3180, &quot;Fields Select,&quot; on page 3766" offset="0x4.0" size="0x0.8" />
</node>

<node name="action_fields_set_imm_ext" descr="" size="0x10.0" >
	<field name="dest_field_select" descr="DEST Field select, see Table 3180, &quot;Fields Select,&quot; on page 3766" offset="0x0.0" size="0x0.8" />
	<field name="size" descr="Number of fields to set (all with same imm value)\;Starting from dest_field_select" offset="0x0.8" size="0x0.8" />
	<field name="defer" descr="Defer\;0: action will be applied immediately\;1: action will be written to action set" offset="0x0.31" size="0x0.1" />
	<field name="imm" descr="Immediate" offset="0x4.0" size="0x0.16" />
</node>

<node name="action_flex_modifier_emt_bind_ext" descr="" size="0x4.0" >
	<field name="modify_offset" descr="Modify offset (the EMT will be inserted/edited starting at this offset):\;0: offset = custom_bytes_set_0_offset\;1: offset = custom_bytes_set_1_offset\;\;From Spectrum-4 and above:\;When offset_type = (1) then value is used to defined constant offset. \;Resolution is in 4B and valid values are 0, 4, 8 ..60\;\;Reserved when emt_bind = 0 or 3" offset="0x0.0" size="0x0.8" />
	<field name="emt_pointer" descr="EMT pointer\;Range: 0 .. cap_max_emts - 1\;See FMTC, FMTE\;\;Reserved when emt_bind = 0 or 3" offset="0x0.8" size="0x0.8" />
	<field name="modifier_base" descr="Modifier Base Label.\;\;Push/Edit/Pop will be applied in the beginning of the following selected field of encapsulated header:\;Note: Pop is allowed only with SOP (0).\;\;0: SOP (start of packet )\;1: New MAC header\;2: New ETHERTYPE \;3: New IPv4/IPv6 header\;4: New MPLS \;5: New VxLAN/Geneve/VxLAN-GPE/NVGRE \;6: New GRE header\;7: New UDP header\;8: New Flex Encap \;9: New Inner MAC header \;\;11: New Inner ETHER Type \;\;Supported from Spectrum-4 and above.\;Reserved when offset_type = 0 (use custom byte)\;Reserved when emt_bind = 0 or 3" offset="0x0.16" size="0x0.4" />
	<field name="emt_bind" descr="Bind an EMT:\;0: NOP - do not change state\;1: PUSH - bind as push\;2: EDIT - bind as edit\;3: DISABLE - disable emt_bind_x\;4: POP - [Spectrum-4 only]\;\;The NOP is added for the case that e.g. emt_bind_0 is used but emt_bind_1 is not used (so it is NOP)" enum="NOP=0x0,PUSH=0x1,EDIT=0x2,DISABLE=0x3,POP=0x4" offset="0x0.24" size="0x0.4" />
	<field name="offset_type" descr="Offset Type\;0: modify_offset selects cb_set 0 or cb_set 1 (backward compatible)\;1: modify_offset is a constant value. Granularity is in 4B\;\;Supported from Spectrum-4 and above\;Reserved when emt_bind = 0 or 3" offset="0x0.30" size="0x0.1" />
</node>

<node name="action_flex_modifier_emt_ext" descr="" size="0x10.0" >
	<field name="emt_bind_0" descr="Egress Modifier Template binding 0\;See Table 3160, &quot;emt_bind_record Block Layout,&quot; on page 3751" subnode="action_flex_modifier_emt_bind_ext" offset="0x0.0" size="0x4.0" />
	<field name="emt_bind_1" descr="Egress Modifier Template binding 1\;See Table 3160, &quot;emt_bind_record Block Layout,&quot; on page 3751" subnode="action_flex_modifier_emt_bind_ext" offset="0x4.0" size="0x4.0" />
</node>

<node name="action_flow_estimator_ext" descr="" size="0x8.0" >
	<field name="profile" descr="Profile index\;Range 0...3" offset="0x0.0" size="0x0.3" />
	<field name="counter_index" descr="Counter Index for flow counters.\;See Section 5.2, &quot;Flow Counters&quot;, on page 1404" offset="0x4.0" size="0x0.24" />
</node>

<node name="action_forward_ext" descr="" size="0x10.0" >
	<field name="type" descr="Type:\;0: PBS - Policy Based Switching\;1: OUTPUT - OpenFlow output type" enum="PBS=0x0,OUTPUT=0x1" offset="0x0.24" size="0x0.2" />
	<field name="record" descr="See Table 3112, &quot;FORWARDING_ACTION Block, PBS Record Layout,&quot; on page 3719\;See Table 3114, &quot;FORWARDING_ACTION Block, Output Record Layout,&quot; on page 3719" subnode="action_forward_record_auto_ext" offset="0x4.0" size="0xc.0" />
</node>

<node name="action_forward_output_ext" descr="" size="0xc.0" >
	<field name="defer" descr="Defer\;0: action will be applied immediately, a duplication of the packet is generated by the device\;1: action will be written to action set" offset="0x0.0" size="0x0.1" />
	<field name="nd_clear_soft_drop" descr="No Defer: Clear soft drop\;For non-defer packets: \;0: do not clear the soft drop\;1: clear soft drop on the duplicated packet\;Reserved when defer = 1\;" offset="0x0.1" size="0x0.1" />
	<field name="pbs_ptr" descr="A pointer to an entry configured by PPBS register, see Table 3256, &quot;PPBS - Policy-Engine Policy Based Switching Register Layout,&quot; on page 3835\;Note: forward to IP router is not supported with this option \;Reserved when in_port =1" offset="0x4.0" size="0x0.24" />
	<field name="in_port" descr="In port:\;0: The output of the packet is according to pbs_ptr\;" offset="0x8.0" size="0x0.1" />
</node>

<node name="action_forward_pbs_ext" descr="" size="0xc.0" >
	<field name="pbs_ptr" descr="A pointer to the PBS entry configured by PPBS register, see Table 3256, &quot;PPBS - Policy-Engine Policy Based Switching Register Layout,&quot; on page 3835" offset="0x4.0" size="0x0.24" />
</node>

<node name="action_forward_record_auto_ext" descr="" attr_is_union="1" size="0xc.0" >
	<field name="action_forward_output_ext" descr="" subnode="action_forward_output_ext" offset="0x0.0" size="0xc.0" />
	<field name="action_forward_pbs_ext" descr="" subnode="action_forward_pbs_ext" offset="0x0.0" size="0xc.0" />
</node>

<node name="action_fpp_ext" descr="" size="0x8.0" >
	<field name="fpp" descr="Flex Parser Program (FPP)\;Range 0 .. cap_max_flex_fpp-1" offset="0x0.0" size="0x0.8" />
	<field name="inner" descr="0: Outer FPPs\;1: Inner FPPs" offset="0x0.31" size="0x0.1" />
	<field name="value" descr="FPP usage indication" offset="0x4.0" size="0x0.1" />
</node>

<node name="action_fs_db_ext" descr="" size="0xc.0" >
	<field name="key_type" descr="0: Use ACL Group Id\;1: Use Linear db index\;\;Reserved when sem_op = nop and db_op = nop" offset="0x0.0" size="0x0.1" />
	<field name="key_id" descr="when key_type = 0:\;ACL Group Id\;\;when key_type = 1:\;linear index. valid values 0.. (cap_max_sf_db_linear_entries-1)\;\;Reserved when sem_op = nop and db_op = nop" offset="0x0.16" size="0x0.16" />
	<field name="sem_op" descr="0: nop - (no operation)\;1: lock_semaphore\;2: unlock\;\;Reserved when db_op is remove." enum="nop=0x0,lock_semaphore=0x1,unlock=0x2" offset="0x4.0" size="0x0.2" />
	<field name="db_op" descr="0: nop\;1: read_64bit_value\;2: write_data\;3: remove_entry_with_failure_indication\;4: remove_entry_wo_failure_indication\;\;\;Notes:\;- remove must be set with sem_op = unlock\;- write can&quot;t be set with sem_op = lock\;- when db_op = remove_all (5), only virtual db is relevant\;" offset="0x4.4" size="0x0.3" />
	<field name="partition_id" descr="Valid values 0..(cap_max_sf_db_parititions-1). \;Indicates to which virtual db to associate the entry" offset="0x4.8" size="0x0.3" />
	<field name="ticket_op" descr="0: nop - no operation\;1: release\;2: check - check sequence before lookup\;\;Note that ticket_op = check sequence number before lookup is not allowed during sempahore lock\;[Spectrum-6] Reserved in Spectrum-6 onwards." enum="nop=0x0,release=0x1,check=0x2" offset="0x4.16" size="0x0.2" />
	<field name="cbs_index" descr="cb_set[index*4]..cb_set[index*4+3]\;each cb_set is in length of 2B\;total data size is 64 bits.\;\;For example, \;for i=0, we use R0+R1+R2+R3\;for i=1, we use R4+R5+R6+R7\;for i=2, we use R8+R9+R10+R11\;\;\;valid values: 0 .. (cap_max_custom_byte_set/4-1).\;Reserved when db_op = nop or db_op = remove." offset="0x4.24" size="0x0.4" />
</node>

<node name="action_hash_ext" descr="" size="0x10.0" >
	<field name="hash_cmd" descr="0: NONE \;1: SET the hash value according to hash_value (ignore the original_hash)\;2: XOR: do a XOR of original_hash with hash_value \;3: RANDOM (ignore the original_hash)\;4: COPY from other hash type (if type = LAG then copy from ecmp. If type = ECMP then copy from lag) \;5: SWAP betweens lag and ecmp, ignore type \;6: CRC: do a CRC of original_hash with a 32bit field according to hash_fields and hash_mask" offset="0x0.0" size="0x0.4" />
	<field name="type" descr="0: LAG\;1: ECMP\;Reserved when hash_cmd = 5" offset="0x0.30" size="0x0.2" />
	<field name="hash_fields" descr="0: smac 31:0 // dmac,smac only on iACL, eACL\;1: dmac 31:0 \;2: smac47:32, dmac 47:32\;3: dmac47:32, smac 47:32\;\;sip is reserved when Spectrum\;4: sip 31:0 \;5: sip 63:32\;6: sip 95:64\;7: sip 127:96\;\;8: dip 31:0 \;9: dip 63:32\;10: dip 95:64\;11: dip 127:96\;\;14: next_protocol\;15: {sport, dport}\;16: {dport, sport}17: spi\;\;inner_sip is reserved when Spectrum\;18: inner_sip 31:0\;19: inner_sip 63:32\;20: inner_sip 95:64\;21: inner_sip 127:96 \;\;22: inner_dip 31:0 \;23: inner_dip 63:32\;24: inner_dip 95:64\;25: inner_dip 127:96\;\;26: {inner_sip 15:0, inner_dip 15:0}\;27: {inner_dip 15:0, inner_sip 15:0}\;28: inner_next_protocol\;29: {inner_sport, inner_dport}\;30: {inner_dport, inner_sport}\;\;These and below are not supported by Spectrum:\;31: custom_bytes 3,2,1,0\;32: custom_bytes 7,6,5,4\;33: custom_bytes 11,10,9,8\;34: custom_bytes 15,14,13,12\;35: hash_value // bits 31:12 are &apos;0&apos;" offset="0x4.0" size="0x0.7" />
	<field name="hash_value" descr="hash value when hash_cmd = 1 or 2, else reserved" offset="0x4.16" size="0x0.12" />
	<field name="hash_mask" descr="Mask which bits defined by hash_fields are used for hash calculation\;Per bit:\;0: disable\;1: enable" offset="0x8.0" size="0x4.0" />
</node>

<node name="action_ignore_ext" descr="" size="0x10.0" >
	<field name="set_elephant" descr="Set Elephant or set Mice state\;0: do not set\;1: set Elephant state\;2: set Mice state \;Note: sets the attribute of the packet without setting the detection state of the CEDR" offset="0x0.0" size="0x0.2" />
	<field name="disable_security" descr="0: Regular flow \;1: Disable security lookup\;Reserved when Spectrum-1" offset="0x0.28" size="0x0.1" />
	<field name="disable_learning" descr="Disable learning (overwrite ingress port decision):\;0: Regular flow\;1: Disable learning \;Note: if Disable was set on a packet there is no rollback\;Note: does not apply for NVE decap" offset="0x0.29" size="0x0.1" />
	<field name="ignore_vl_filter" descr="Ignore vlan commands (filter and untagged):\;0: Regular flow\;1: Ignore egress VLAN filtering and ignore egress VLAN untagged command\;Note: if ignore_vl_filter was set on a packet there is no rollback" offset="0x0.30" size="0x0.1" />
	<field name="ignore_stp" descr="Ignore STP: \;0: Regular flow\;1: Ignore Egress STP filtering\;Note: if Ignore was set on a packet there is no rollback" offset="0x0.31" size="0x0.1" />
	<field name="ar_packet_prof_id" descr="Packet_profile_id:\;0: HBF\;1: AR profile 0\;2: AR profile 1\;Supported from Spectrum-2 and on" offset="0x4.24" size="0x0.2" />
	<field name="ar_packet_prof_cmd" descr="AR packet profile:\;0: do nothing\;1: set ar packet prof id to ar_packet_prof_id\;Supported from Spectrum-2 and on" offset="0x4.28" size="0x0.1" />
	<field name="exclude_dip_checksum_recalc" descr="Exclude DIP changes from UDP checksum recalculation.\;EMT can still be used to recalculate UDP checksum.\;0: regular flow\;1: exclude new DIP from UDP checksum recalculation\;Supported only from Spectrum-4." offset="0x8.30" size="0x0.1" />
	<field name="disable_ovl_learning" descr="Disable overlay learning:\;0: regular flow\;1: disable overlay learning after Decap\;Reserved when Spectrum" offset="0x8.31" size="0x0.1" />
	<field name="cond_mirroring_val" descr="Conditional mirroring:\;Disables a dynamic mirror trigger for both Elephant and for non-Elephant packets.\;\;Bitwise vector, value per mirror trigger (e.g. bit 3 for trigger 0x3 Tail drop mirror).\;Value per bit:\;0: Enable mirror trigger\;1: Disable mirror trigger\;\;Notes:\;1. The enable does not trigger the mirror, it just allows the mirror.\;2. Applies only to dynamic mirror triggers.\;Bits of static mirror triggers are reserved.\;\;Supported only from Spectrum-4." offset="0xC.0" size="0x0.16" />
	<field name="cond_mirroring_mask" descr="Conditional mirroring mask:\;Per bit, allows setting the value of cond_mirroring_val.\;Supported only from Spectrum-4." offset="0xC.16" size="0x0.16" />
</node>

<node name="action_l4_port_ext" descr="" size="0x10.0" >
	<field name="defer" descr="Defer\;0: action will be applied immediately\;1: action will be written to action set" offset="0x0.0" size="0x0.1" />
	<field name="s_d" descr="Source or Destination:\;0: configure src_l4_port\;1: configure dst_l4_port" offset="0x0.31" size="0x0.1" />
	<field name="l4_port" descr="" offset="0x8.0" size="0x0.16" />
</node>

<node name="action_mac_ttl_ext" descr="" size="0x10.0" >
	<field name="defer" descr="Defer\;0: action will be applied immediately\;1: action will be written to action set" offset="0x0.0" size="0x0.1" />
	<field name="ttl_value" descr="TTL Value" offset="0x0.16" size="0x0.8" />
	<field name="ttl_cmd" descr="TTL Command\;0: Do nothing\;1: Set packet TTL to ttl_value \;2: Decrement packet TTL by ttl_value \;Supported also as a bridge\;Not supported when eRIF-tunnel" offset="0x0.29" size="0x0.3" />
	<field name="mac_cmd" descr="MAC Command\;0: NOP - do nothing \;1: SMAC_TO_MAC - set SMAC to MAC\;2: DMAC_TO_MAC - set DMAC to MAC \;\;Note that at iACL, takes action prior to the bridge.\;Not supported when eRIF-tunnel" enum="NOP=0x0,SMAC_TO_MAC=0x1,DMAC_TO_MAC=0x2" offset="0x4.30" size="0x0.2" />
	<field name="mac_47_32" descr="MAC Address" offset="0x8.0" size="0x0.16" />
	<field name="mac_31_0" descr="MAC Address" offset="0xC.0" size="0x4.0" />
</node>

<node name="action_mc_router_ext" descr="" size="0x10.0" >
	<field name="expected_irif" descr="Expected Ingress RIF\;Reserved when eir_type = &apos;1&apos;\;Reserved when rpf_action is NOP" offset="0x0.0" size="0x0.16" />
	<field name="eir_type" descr="Expected Ingress RIF Type\;0: expected irif\;1: expected irif list\;Reserved when rpf_action is NOP" offset="0x0.24" size="0x0.1" />
	<field name="rpf_action" descr="RPF and assert action\;0: NOP\;1: RPF_TRAP (Trap ID is RPF)\;3: RPF_DISCARD_ERROR" offset="0x0.28" size="0x0.3" />
	<field name="expected_irif_list_index" descr="Expected Ingress RIF List Index\;An index to the list of expected ingress RIFs\;For Spectrum/-2, this is in KVD Linear, see Section A.2.1.2, &quot;KVD Central Database Linear Entries&quot;, on page 4588\;expected_irif_list_index must be align to cap_exp_irif_mc_size.\;Reserved when eir_type = &apos;0&apos;\;Reserved when rpf_action is NOP" offset="0x4.0" size="0x0.24" />
	<field name="min_mtu" descr="The minimum MTU among the group of the egress RIFs. Units of Bytes." offset="0x8.0" size="0x0.16" />
	<field name="rigr_rmid_index" descr="When vrmid=0:\;Pointer to Router Interface Group (RIGR) Table.\;For Spectrum/-2 the index is to the KVD linear, see Section A.2.1.2, &quot;KVD Central Database Linear Entries&quot;, on page 4588\;When vrmid=1:\;RMID Index\;Range 0 .. max_mid - 1\;For Spectrum/-2 the index is to the Port Group Table, see Section A.2.2, &quot;Port Group Table (PGT)&quot;, on page 4588" offset="0xC.0" size="0x0.24" />
	<field name="vrmid" descr="Valid RMID:\;rigr_rmid_index is used as RMID" offset="0xC.31" size="0x0.1" />
</node>

<node name="action_metadata_ext" descr="" size="0x10.0" >
	<field name="meta_data" descr="Used Meta Data\;" offset="0x8.0" size="0x0.16" />
	<field name="mask" descr="Mask for meta_data update.\;Set bits allows updating of the switch meta-data information while a cleared mask bit will preserve the previous meta-data value for the relevant bit." offset="0xC.0" size="0x0.16" />
</node>

<node name="action_mirror_sampler_ext" descr="" size="0x10.0" >
	<field name="mirror_agent" descr="Mirror agent." offset="0x4.0" size="0x0.3" />
	<field name="mirror_probability_rate" descr="Mirroring sampling rate = 1 out of rate packets.\;The value 0 behaves like 1. Valid values are: 1 to 224-1." offset="0x8.0" size="0x0.24" />
</node>

<node name="action_mpls_ext" descr="" size="0x10.0" >
	<field name="defer" descr="Defer\;0: action will be applied immediately\;1: action will be written to action set\;Reserved when Spectrum" offset="0x0.0" size="0x0.1" />
	<field name="ttl" descr="The TTL \;Note: when used as part of router flow the Erif table may do dec(1) in addition" offset="0x0.16" size="0x0.8" />
	<field name="ttl_cmd" descr="TTL Command\;0: Do nothing\;1: Set packet TTL to ttl\;2: Decrement packet TTL by ttl\;Notes:\;- For iACL and irifACL, if the packet will pass LSR then the ttl will be decremented by the LSR\;- Does not effect the inner LSP (does effect all labels added/edited)\;- For ingress LER, applied only by erifACL and eACL" offset="0x0.29" size="0x0.3" />
	<field name="exp" descr="the value of the exp bits" offset="0x4.0" size="0x0.3" />
	<field name="exp_cmd" descr="0: Do nothing \;1: Set exp to exp\;For ingress LER, the &apos;set&apos; applied only by erifACL and eACL" offset="0x4.30" size="0x0.2" />
	<field name="exp_rw" descr="EXP Re-write\;Indicates how to handle the REWRITE bit of EXP which is used later on the pipe based on ACN and ECN:\;0: PRESERVE - Preserve the value of the rewrite_enable bit.\;1: SET - Set the rewrite_enable bit.\;2: CLEAR - Clear the rewrite_enable bit." enum="PRESERVE=0x0,SET=0x1,CLEAR=0x2" offset="0x8.30" size="0x0.2" />
</node>

<node name="action_null_ext" descr="" size="0x1c.0" >
	<field name="null_field" descr="" offset="0x0.0" size="0x0.1" />
</node>

<node name="action_policing_counting_ext" descr="" size="0x10.0" >
	<field name="c_p" descr="Counter or Policer\;Indicates whether the action binds a policer or a counter to the flow.\;0: Counter\;1: Policer" offset="0x0.31" size="0x0.1" />
	<field name="counter_index" descr="Counter Index for flow counters.\;See Section 5.2, &quot;Flow Counters&quot;, on page 1404\;reserved when c_p = 1" offset="0x4.0" size="0x0.24" />
	<field name="counter_set_type" descr="Counter Set Type for flow counters.\;See Section 5.2.2, &quot;Counter Set Type&quot;, on page 1405 \;Must never be set to &apos;0&apos; (No Count)\;reserved when c_p = 1" offset="0x4.24" size="0x0.8" />
	<field name="pid" descr="Policer ID\;See pid in QPCR, Section 12.12.7, &quot;QPCR - QoS Policer Configuration Register&quot;, on page 3930\;reserved when c_p = 0\;Spectrum-4: allowed" offset="0x8.0" size="0x0.14" />
</node>

<node name="action_port_filter_ext" descr="" size="0x10.0" >
	<field name="egress_port_list_64" descr="Each bit represents an egress_port (local_port)\;0: Deny sending through this port\;1: Permit sending through this port\;Not supported towards CPU port (port0)" offset="0x4.0" size="0x0.1" />
	<field name="egress_port_list" descr="Each bit represents an egress_port (local_port)\;0: Deny sending through this port\;1: Permit sending through this port\;Not supported towards CPU port (port0)" subnode="uint64" offset="0x8.0" size="0x8.0" />
</node>

<node name="action_port_filter_ext1_ext" descr="" size="0x10.0" >
	<field name="egress_port_list" descr="Each bit represents an egress_port (local_port)\;0: Deny sending through this port\;1: Permit sending through this port" subnode="uint64" offset="0x8.0" size="0x8.0" />
</node>

<node name="action_port_filter_ext2_ext" descr="" size="0x10.0" >
	<field name="page" descr="Page:\;0: local_ports 1..64\;1: local_ports 65..128\;...\;7: local ports 449..512\;8: local ports 513..577\;\;Page range support:\;Spectrum-1: Page 0\;Spectrum-2/-3: Pages 0..1\;Spectrum-4: Pages 0..3, Page 4 for service ports\;Spectrum-5/-6: Pages 0..7, Page 8 for service ports" offset="0x0.0" size="0x0.4" />
	<field name="egress_port_list" descr="Each bit represents an egress_port. Bit 0 represents the first port in the page.\;0: Deny sending through this port\;1: Permit sending through this port" subnode="uint64" offset="0x8.0" size="0x8.0" />
</node>

<node name="action_qos_ext" descr="" size="0x10.0" >
	<field name="defer" descr="Defer \;0: action will be applied immediately\;1: action will be written to action set\;For Spectrum: defer only dscp and ecn\;For Spectrum-2: defer all fields except dscp_rw, pcp_rw" offset="0x0.0" size="0x0.1" />
	<field name="dscp" descr="DSCP Value" offset="0x4.0" size="0x0.6" />
	<field name="dscp_cmd" descr="0: Do nothing\;1: Set DSCP 3 LSB bits according to dscp[2:0]\;2: Set DSCP 3 MSB bits according to dscp[5:3]\;3: Set DSCP 6 bits according to dscp[5:0]" offset="0x4.14" size="0x0.2" />
	<field name="color" descr="0: Green \;1: Yellow\;2: Red" offset="0x4.16" size="0x0.3" />
	<field name="color_cmd" descr="0: Do nothing \;1: Set color to color" offset="0x4.22" size="0x0.2" />
	<field name="ecn" descr="ECN value" offset="0x4.24" size="0x0.2" />
	<field name="ecn_cmd" descr="0: Do nothing \;1: Set the ECN to ecn" offset="0x4.29" size="0x0.3" />
	<field name="switch_prio" descr="Switch Priority" offset="0x8.0" size="0x0.4" />
	<field name="switch_prio_cmd" descr="0: Do nothing \;1: Set Switch Priority to switch_prio" offset="0x8.14" size="0x0.2" />
	<field name="tclass" descr="Valid values are from 0..(cap_max_tclass_data-1), cap_control_tclass.\;Note that cap_control_tclass is valid, used for control traffic from CPU." offset="0xC.0" size="0x0.5" />
	<field name="tclass_cmd" descr="0: Do nothing \;1: Set tclass to tclass" offset="0xC.7" size="0x0.1" />
	<field name="pcp_rw" descr="PCP Re-write Enable\;Controlling the rewrite_enable for PCP:\;0: PRESERVE - Preserve the value of the rewrite_enable bit\;1: SET - Set the rewrite_enable bit\;2: CLEAR - Clear the rewrite_enable bit\;3: reserved" enum="PRESERVE=0x0,SET=0x1,CLEAR=0x2,reserved=0x3" offset="0xC.28" size="0x0.2" />
	<field name="dscp_rw" descr="DSCP Re-write Enable\;Controlling the rewrite_enable for DSCP:\;0: PRESERVE - Preserve the value of the rewrite_enable bit\;1: SET - Set the rewrite_enable bit\;2: CLEAR - Clear the rewrite_enable bit\;3: reserved" enum="PRESERVE=0x0,SET=0x1,CLEAR=0x2,reserved=0x3" offset="0xC.30" size="0x0.2" />
</node>

<node name="action_sip_dip_ext" descr="" size="0x10.0" >
	<field name="defer" descr="Defer\;0: action will be applied immediately\;1: action will be written to action set" offset="0x0.0" size="0x0.1" />
	<field name="m_l" descr="MSB or LSB:\;0: LSB: ip[63:0] refers to ip[63:0]\;1: MSB: ip[63:0] refers to ip[127:64]" offset="0x0.30" size="0x0.1" />
	<field name="s_d" descr="Sourde or Destination:\;0: ip refers to dip\;1: ip refers to sip" offset="0x0.31" size="0x0.1" />
	<field name="ip" descr="" subnode="uint64" offset="0x8.0" size="0x8.0" />
</node>

<node name="action_trap_ext" descr="" size="0x10.0" >
	<field name="forward_action" descr="Forward Action\;0: NOP\;1: FORWARD \;2: SOFT_DISCARD_ERROR - soft drop the packet and increment the ACL error counter\;3: DISCARD - hard drop in HW \;4: DISCARD_ERROR - hard drop error, drop will be counted" enum="NOP=0x0,FORWARD=0x1,SOFT_DISCARD_ERROR=0x2,DISCARD=0x3,DISCARD_ERROR=0x4" offset="0x0.0" size="0x0.4" />
	<field name="trap_action" descr="Trap Action\;0: NOP \;1: CLEAR_TRAP_STATE\;2: TRAP \;3: NO_TRAP - note that this can be overran by CLEAR_TRAP_STATE" enum="NOP=0x0,CLEAR_TRAP_STATE=0x1,TRAP=0x2,NO_TRAP=0x3" offset="0x0.24" size="0x0.4" />
	<field name="trap_id" descr="Trap ID, see Section 2.8.3, &quot;Trap Identifier (Trap-ID)&quot;, on page 524.\;Reserved when trap_action is NOP, CLEAR_TRAP_STATE or NO_TRAP" offset="0x4.0" size="0x0.10" />
	<field name="mirror_enable" descr="Mirroring.\;Refer to Section 11.8.4, &quot;Mirroring by Policy&quot;, on page 3683 for notes on iMirror/eMirror.\;Note: In Spectrum-6 mirroring on eACL is iMirror." offset="0x8.24" size="0x0.1" />
	<field name="mirror_agent" descr="Mirroring.\;Refer to Section 11.8.4, &quot;Mirroring by Policy&quot;, on page 3683 for notes on iMirror/eMirror.\;Note: In Spectrum-6 mirroring on eACL is iMirror." offset="0x8.29" size="0x0.3" />
	<field name="preserve_cookie" descr="Preserve Cookie\;0: don&apos;t preserve cookie and override it with value 0\;1: preserve cookie\;\;Note: cookie (AKA user_def_val) can be set either\;a. Trap Action: Set value 0\;b. Trap Action w/ cookie: user_def_val value. Section 3100, &quot;TRAP_W_USERDEF_ACTION Block layout&quot;, on page 3711\;c. ALU field Select. Section 3180, &quot;Fields Select&quot;, on page 3766\;\;Supported from Spectrum-4 and on." offset="0xC.30" size="0x0.1" />
	<field name="defer" descr="Defer\;0: action will be applied immediately\;1: action will be written to action set" offset="0xC.31" size="0x0.1" />
</node>

<node name="action_trap_w_userd_ext" descr="" size="0x10.0" >
	<field name="forward_action" descr="Forward Action\;0: NOP\;1: FORWARD \;\;2: SOFT_DISCARD_ERROR - soft drop the packet and increment the ACL error counter\;3: DISCARD - hard drop in HW \;4: DISCARD_ERROR - hard drop error, drop will be counted" enum="NOP=0x0,FORWARD=0x1,SOFT_DISCARD_ERROR=0x2,DISCARD=0x3,DISCARD_ERROR=0x4" offset="0x0.0" size="0x0.4" />
	<field name="trap_action" descr="Trap Action\;0: NOP \;1: CLEAR_TRAP_STATE\;2: TRAP \;3: NO_TRAP - note that this can be overran by CLEAR_TRAP_STATE" enum="NOP=0x0,CLEAR_TRAP_STATE=0x1,TRAP=0x2,NO_TRAP=0x3" offset="0x0.24" size="0x0.4" />
	<field name="trap_id" descr="Trap ID, see Section 2.8.3, &quot;Trap Identifier (Trap-ID)&quot;, on page 524.\;Reserved when trap_action is NOP, CLEAR_TRAP_STATE or NO_TRAP" offset="0x4.0" size="0x0.10" />
	<field name="mirror_enable" descr="Mirroring.\;Refer to Section 11.8.4, &quot;Mirroring by Policy&quot;, on page 3683 for notes on iMirror/eMirror.\;Note: In Spectrum-6 mirroring on eACL is iMirror." offset="0x8.24" size="0x0.1" />
	<field name="mirror_agent" descr="Mirroring.\;Refer to Section 11.8.4, &quot;Mirroring by Policy&quot;, on page 3683 for notes on iMirror/eMirror.\;Note: In Spectrum-6 mirroring on eACL is iMirror." offset="0x8.29" size="0x0.3" />
	<field name="user_def_val" descr="Value for the SW usage\;Can be used to pass information of which rule has caused a trap. This may be overwritten by later traps. This field does a set on the packet&apos;s user_def_val only if this is the first trap_id or if the trap_id has replaced the previous packet&apos;s trap_id\;Default value is 0\;" offset="0xC.0" size="0x0.20" />
	<field name="defer" descr="Defer\;0: action will be applied immediately\;1: action will be written to action set" offset="0xC.31" size="0x0.1" />
</node>

<node name="action_truncation_ext" descr="" size="0x10.0" >
	<field name="en" descr="Truncation profile enable:\;0: disable\;1: enable" offset="0x0.0" size="0x0.1" />
	<field name="tr_prof" descr="Pointer to truncation profile\;See Table 1455, &quot;ITPR - Infrastructure Truncation Profile Register Layout,&quot; on page 1928\;Reserved when en = disable (0)" offset="0x4.0" size="0x0.2" />
</node>

<node name="action_uc_router_ar_ext" descr="" size="0xc.0" >
	<field name="ar_lookup_prof_id" descr="AR lookup profile_id:\;0: HBF\;1: AR profile 0\;2: AR profile 1" offset="0x0.0" size="0x0.2" />
	<field name="dr" descr="Default Route.\;This bit indicated whether this entry is a default route.\;" offset="0x0.31" size="0x0.1" />
	<field name="arlpgt_pointer" descr="Pointer to AR Local port group table (ARLPGT), see RARLPGT\;Range 0.. cap_max_arlpgt-1" offset="0x4.0" size="0x0.16" />
	<field name="ecmp_size" descr="ECMP Size\;Values are according to the FG ECMP scheme detailed in Table 3438, &quot;ECMP Sizes,&quot; on page 4038." offset="0x4.16" size="0x0.13" />
	<field name="arft_pointer" descr="Pointer to adaptive routing flow table (ARFT) base, pointer to profile0, see RARFT\;If profile1 is later selected then the HW will point to profile1 which is arft_pointer+ecmp_size\;For Spectrum-2 pointer to PGT Table" offset="0x8.0" size="0x0.20" />
</node>

<node name="action_uc_router_ext" descr="" size="0x10.0" >
	<field name="type" descr="PBR actions:\;0: IP_ROUTER - IP Remote (Adjacency)\;1: IP_LOCAL - IP Local\;2: TUNNEL_TERMINATION - Tunnel Decap \;- PBL actions\;3: MPLS_ILM\;5: AR - Adaptive Routing" enum="IP_ROUTER=0x0,IP_LOCAL=0x1,TUNNEL_TERMINATION=0x2,MPLS_ILM=0x3,AR=0x5" offset="0x0.24" size="0x0.3" />
	<field name="record" descr="Table 3128, &quot;UC_ROUTER_ACTION Block, IP Remote Record Layout,&quot; on page 3730.\;Table 3130, &quot;UC_ROUTER_ACTION Block, IP local Record Layout,&quot; on page 3731.\;Table 3132, &quot;UC_ROUTER_ACTION Block, Tunnel Decap Record Layout,&quot; on page 3731\;Table 3134, &quot;UC_ROUTER_ACTION Block, MPLS ILM Record Layout,&quot; on page 3732\;Table 3136, &quot;UC_ROUTER_ACTION Block, AR Record Layout,&quot; on page 3733" subnode="action_uc_router_record_auto_ext" offset="0x4.0" size="0xc.0" union_selector="$(parent).type" />
</node>

<node name="action_uc_router_ip_local_ext" descr="" size="0xc.0" >
	<field name="dr" descr="Default Route.\;This bit indicated whether this entry is a default route.\;" offset="0x0.31" size="0x0.1" />
	<field name="local_erif" descr="Egress Router Interface" offset="0x8.0" size="0x0.16" />
</node>

<node name="action_uc_router_ip_remote_ext" descr="" size="0xc.0" >
	<field name="adjacency_index" descr="adjacency_index points to the first entry of the group-based ECMP." offset="0x0.0" size="0x0.24" />
	<field name="dr" descr="Default Route.\;This bit indicated whether this entry is a default route.\;" offset="0x0.31" size="0x0.1" />
	<field name="ecmp_size" descr="ecmp_size is the amount of sequential entries from the adjacency_index (the number of ECMPs). \;Values are according to the mixed ECMP scheme detailed in Table 3438, &quot;ECMP Sizes,&quot; on page 4038." offset="0x4.0" size="0x0.13" />
</node>

<node name="action_uc_router_mpls_ilm_ext" descr="" size="0xc.0" >
	<field name="ilm_ptr" descr="ILM Pointer to KVD Linear. See PPBMI, See Table 3270, &quot;PPBMI - Policy-Engine Policy Based MPLS ILM Register Layout,&quot; on page 3844" offset="0x4.0" size="0x0.24" />
</node>

<node name="action_uc_router_record_auto_ext" descr="" attr_is_union="1" size="0xc.0" >
	<field name="action_uc_router_ar_ext" descr="" subnode="action_uc_router_ar_ext" offset="0x0.0" selected_by="AR" size="0xc.0" />
	<field name="action_uc_router_ip_local_ext" descr="" subnode="action_uc_router_ip_local_ext" offset="0x0.0" selected_by="IP_LOCAL" size="0xc.0" />
	<field name="action_uc_router_ip_remote_ext" descr="" subnode="action_uc_router_ip_remote_ext" offset="0x0.0" selected_by="IP_ROUTER" size="0xc.0" />
	<field name="action_uc_router_mpls_ilm_ext" descr="" subnode="action_uc_router_mpls_ilm_ext" offset="0x0.0" selected_by="MPLS_ILM" size="0xc.0" />
	<field name="action_uc_router_tt_ext" descr="" subnode="action_uc_router_tt_ext" offset="0x0.0" selected_by="TUNNEL_TERMINATION" size="0xc.0" />
</node>

<node name="action_uc_router_tt_ext" descr="" size="0xc.0" >
	<field name="tunnel_ptr" descr="Tunnel Pointer for L2 or for L3 tunnel termination. See Section 14.14.16, &quot;RTDP - Routing Tunnel Decap Properties Register&quot;, on page 4146" offset="0x4.0" size="0x0.24" />
</node>

<node name="action_virtual_forwarding_ext" descr="" size="0x10.0" >
	<field name="virtual_router" descr="Virtual Router ID or MPLS label space" offset="0x0.0" size="0x0.16" />
	<field name="vr_cmd" descr="0: Do nothing \;1: Set virtual router or MPLS label space to virtual_router\;Relevant at erifACL for IPinIP encap and at NVE overlay router for setting underlay vr" offset="0x0.29" size="0x0.3" />
	<field name="fid" descr="The FID value" offset="0x8.0" size="0x0.16" />
	<field name="fid_cmd" descr="0: Do nothing \;1: Set the Forwarding Identifier (FID) to fid" offset="0x8.29" size="0x0.3" />
	<field name="defer" descr="Defer\;0: action will be applied immediately\;1: action will be written to action set\;Reserved when Spectrum" offset="0xC.0" size="0x0.1" />
</node>

<node name="action_vlan_ext" descr="" size="0x10.0" >
	<field name="defer" descr="Defer\;0: action will be applied immediately\;1: action will be written to action set" offset="0x0.0" size="0x0.1" />
	<field name="vlan_tag_cmd" descr="0: Do nothing \;1: Push VLAN tag.The vid_cmd, ethertype_cmd, pcp_cmd and dei_cmd must set the outer fields\;\;2: Pop VLAN tag\;Supported only if there are two or more VLAN tags. If vid_cmd, ethertype_cmd, pcp_cmd or dei_cmd are used with Pop then the inner fields should be set since these commands are done before Pop" offset="0x0.29" size="0x0.3" />
	<field name="vid" descr="The VID for vid_cmd 1 and 2" offset="0x4.0" size="0x0.12" />
	<field name="vid_cmd" descr="0: NOP - Do nothing \;1: SET_OUTER - Set outer VID to vid \;2: SET_INNER - Set inner VID to vid \;3: COPY_OUTER_TO_INNER - Copy VID from outer to inner,supported only if there are two or more VLAN tags\;4: COPY_INNER_TO_OUTER - Copy VID from inner to outer,supported only if there are two or more VLAN tags\;5: SWAP - Swap inner and outer headers" enum="NOP=0x0,SET_OUTER=0x1,SET_INNER=0x2,COPY_OUTER_TO_INNER=0x3,COPY_INNER_TO_OUTER=0x4,SWAP=0x5" offset="0x4.29" size="0x0.3" />
	<field name="pcp" descr="PCP for pcp_cmd 1 and 2" offset="0x8.8" size="0x0.3" />
	<field name="pcp_cmd" descr="0: NOP - Do nothing \;1: SET_OUTER - Set the outer PCP according to pcp\;2: SET_INNER - Set the inner PCP according to pcp\;3: COPY_OUTER_TO_INNER - Copy vlan priority from outer to inner\;4: COPY_INNER_TO_OUTER - Copy vlan priority from inner to outers\;5: SWAP - Swap vlan priority inner to outer" enum="NOP=0x0,SET_OUTER=0x1,SET_INNER=0x2,COPY_OUTER_TO_INNER=0x3,COPY_INNER_TO_OUTER=0x4,SWAP=0x5" offset="0x8.13" size="0x0.3" />
	<field name="ethertype" descr="0: ether_type0\;1: ether_type1\;2: ether_type2\;3: ethertype according to egress port configuration (SPEVET.et_vlan)\;for ethertype 0-2 ethertype IDs are configured by SVER, see Section 7.12.38, &quot;SVER - Switch VLAN EtherType Register&quot;, on page 2117\;For ethertype=3 see Table 1563, &quot;SPEVET - Switch Port Egress VLAN Ethertype Register Layout,&quot; on page 2068\;This field is valid when ethertype_cmd is 1 or 2" offset="0x8.24" size="0x0.3" />
	<field name="ethertype_cmd" descr="0: NOP - Do nothing \;1: SET_OUTER - Set outer EtherType to ethertype\;2: SET_INNER - Set inner EtherType to ethertype\;3: COPY_OUTER_TO_INNER - Copy EtherType from outer to inner\;4: COPY_INNER_TO_OUTER - Copy EtherType from inner to outer\;5: SWAP - Swap EtherType inner outer" enum="NOP=0x0,SET_OUTER=0x1,SET_INNER=0x2,COPY_OUTER_TO_INNER=0x3,COPY_INNER_TO_OUTER=0x4,SWAP=0x5" offset="0x8.29" size="0x0.3" />
	<field name="dei" descr="DEI value for dei_cmd 1 and 2" offset="0xC.24" size="0x0.1" />
	<field name="dei_cmd" descr="0: NOP - Do nothing \;1: SET_OUTER - Set the outer DEI to dei\;2: SET_INNER - Set the inner DEI to dei\;3: COPY_OUTER_TO_INNER - Copy DEI from outer to inner\;4: COPY_INNER_TO_OUTER - Copy DEI from inner to outer\;5: SWAP - Swap DEI inner outer" enum="NOP=0x0,SET_OUTER=0x1,SET_INNER=0x2,COPY_OUTER_TO_INNER=0x3,COPY_INNER_TO_OUTER=0x4,SWAP=0x5" offset="0xC.29" size="0x0.3" />
</node>

<node name="action_vni_ext" descr="" size="0x10.0" >
	<field name="defer" descr="Defer\;0: action will be applied immediately\;1: action will be written to action set\;Reserved when Spectrum" offset="0x0.0" size="0x0.1" />
	<field name="vni" descr="The new VNI value" offset="0x8.0" size="0x0.24" />
	<field name="set_vni" descr="0: none\;1: set" offset="0x8.31" size="0x0.1" />
</node>

<node name="aged_out_mac_lag_record_ext" descr="" size="0x20.0" >
	<field name="mac_47_32" descr="MAC address" access="RO" offset="0x0.0" size="0x0.16" />
	<field name="type_0x8" descr="0x8: Aged_out_MAC_LAG_Record - this record\;See Section 7.2.15, &quot;FDB Records&quot;, on page 1972" access="RO" enum="Aged_out_MAC_LAG_Record=0x8" offset="0x0.20" size="0x0.4" />
	<field name="swid" descr="Switch partition ID\;Reserved when Spectrum/-2" access="RO" offset="0x0.24" size="0x0.8" />
	<field name="mac_31_0" descr="" access="RO" offset="0x4.0" size="0x4.0" />
	<field name="fid" descr="Filtering identifier" access="RO" offset="0x8.0" size="0x0.16" />
	<field name="lag_id" descr="LAGID (pointer into the LAG descriptor table)" access="RO" offset="0xC.0" size="0x0.10" />
	<field name="flex_action_index" descr="Flexible ACL Action Set index.\;See Section 11.9, &quot;Flexible ACL Action Set&quot;, on page 3689.\;Supported in Spectrum-4 onwards.\;Reserved when set_flex_action=0." access="RO" offset="0x18.0" size="0x0.24" />
	<field name="set_flex_action" descr="Run Flexible ACL Action Set instead of counter increment.\;See Section 11.9, &quot;Flexible ACL Action Set&quot;, on page 3689.\;Supported in Spectrum-4 onwards." access="RO" offset="0x18.31" size="0x0.1" />
	<field name="counter_index" descr="Counter Index for flow counters\;For Spectrum: see Section 5.2, &quot;Flow Counters&quot;, on page 1404\;Reserved when set_flex_action=1.\;Not supported by SwitchX/-2" access="RO" offset="0x1C.0" size="0x0.24" />
	<field name="counter_set_type" descr="Counter Set Type for flow counters\;For Spectrum: See Section 5.2.2, &quot;Counter Set Type&quot;, on page 1405\;Reserved when set_flex_action=1.\;Not supported by SwitchX/-2" access="RO" offset="0x1C.24" size="0x0.8" />
</node>

<node name="aged_out_mac_record_ext" descr="" size="0x20.0" >
	<field name="mac_47_32" descr="MAC address" access="RO" offset="0x0.0" size="0x0.16" />
	<field name="type_0x7" descr="0x7: Aged_out_MAC_Record - this record\;See Section 7.2.15, &quot;FDB Records&quot;, on page 1972" access="RO" enum="Aged_out_MAC_Record=0x7" offset="0x0.20" size="0x0.4" />
	<field name="swid" descr="Switch partition ID\;Reserved when Spectrum/-2" access="RO" offset="0x0.24" size="0x0.8" />
	<field name="mac_31_0" descr="MAC address" access="RO" offset="0x4.0" size="0x4.0" />
	<field name="fid" descr="Filtering identifier" access="RO" offset="0x8.0" size="0x0.16" />
	<field name="system_port" descr="Unique port identifier for the final destination of the packet" access="RO" offset="0xC.0" size="0x0.16" />
	<field name="flex_action_index" descr="Flexible ACL Action Set index.\;See Section 11.9, &quot;Flexible ACL Action Set&quot;, on page 3689.\;Supported in Spectrum-4 onwards.\;Reserved when set_flex_action=0." access="RO" offset="0x18.0" size="0x0.24" />
	<field name="set_flex_action" descr="Run Flexible ACL Action Set instead of counter increment.\;See Section 11.9, &quot;Flexible ACL Action Set&quot;, on page 3689.\;Supported in Spectrum-4 onwards." access="RO" offset="0x18.31" size="0x0.1" />
	<field name="counter_index" descr="Counter Index for flow counters\;For Spectrum: see Section 5.2, &quot;Flow Counters&quot;, on page 1404\;Reserved when set_flex_action=1.\;Not supported by SwitchX/-2" access="RO" offset="0x1C.0" size="0x0.24" />
	<field name="counter_set_type" descr="Counter Set Type for flow counters\;For Spectrum: See Section 5.2.2, &quot;Counter Set Type&quot;, on page 1405\;Reserved when set_flex_action=1.\;Not supported by SwitchX/-2" access="RO" offset="0x1C.24" size="0x0.8" />
</node>

<node name="aged_out_unicast_tunnel_fdb_record_ext" descr="" size="0x20.0" >
	<field name="mac_47_32" descr="MAC address" access="RO" offset="0x0.0" size="0x0.16" />
	<field name="type_0xE" descr="0xE: Aged_out_Unicast_Tunnel_FDB_Record - this record\;See Section 7.2.15, &quot;FDB Records&quot;, on page 1972" access="RO" enum="Aged_out_Unicast_Tunnel_FDB_Record=0xe" offset="0x0.20" size="0x0.4" />
	<field name="swid" descr="Switch partition ID\;Reserved when Spectrum/-2" access="RO" offset="0x0.24" size="0x0.8" />
	<field name="mac_31_0" descr="MAC address" access="RO" offset="0x4.0" size="0x4.0" />
	<field name="fid" descr="Filtering ID\;Only FIDs that are from vFID type are valid." access="RO" offset="0x8.0" size="0x0.16" />
	<field name="udip_msb" descr="If protocol is IPv4:\;The underlay source IPv4 of the remote NVE (the most significant bits)\;If protocol is IPv6: reserved" access="RO" offset="0x8.24" size="0x0.8" />
	<field name="udip_lsb" descr="If protocol is IPv4:\;The underlay destination IPV4 of the remote VTEP (the least significant bits)" access="RO" offset="0xC.0" size="0x0.24" />
	<field name="protocol" descr="Protocol:\;0: IPv4\;1: IPv6\;Reserved when Spectrum\;" access="RO" offset="0xC.27" size="0x0.1" />
	<field name="flex_action_index" descr="Flexible ACL Action Set index.\;See Section 11.9, &quot;Flexible ACL Action Set&quot;, on page 3689.\;Supported in Spectrum-4 onwards.\;Reserved when set_flex_action=0." access="RO" offset="0x18.0" size="0x0.24" />
	<field name="set_flex_action" descr="Run Flexible ACL Action Set instead of counter increment.\;See Section 11.9, &quot;Flexible ACL Action Set&quot;, on page 3689.\;Supported in Spectrum-4 onwards." access="RO" offset="0x18.31" size="0x0.1" />
	<field name="counter_index" descr="Counter Index for flow counters\;For Spectrum: see Section 5.2, &quot;Flow Counters&quot;, on page 1404\;Reserved when set_flex_action=1.\;Not supported by SwitchX/-2" access="RO" offset="0x1C.0" size="0x0.24" />
	<field name="counter_set_type" descr="Counter Set Type for flow counters\;For Spectrum: See Section 5.2.2, &quot;Counter Set Type&quot;, on page 1405\;Reserved when set_flex_action=1.\;Not supported by SwitchX/-2" access="RO" offset="0x1C.24" size="0x0.8" />
</node>

<node name="ar_action_ext" descr="" size="0x14.0" >
	<field name="trap_id" descr="Trap-ID is RTR_INGRESS0 .. RTR_INGRESS3.\;For trap_action of NOP, MIRROR and DISCARD_ERROR, trap_id is reserved" access="RW" offset="0x0.0" size="0x0.9" />
	<field name="trap_action" descr="Trap Action\;0: NOP\;1: TRAP\;2: MIRROR_TO_CPU\;3: MIRROR\;4: DISCARD_ERROR, see DISCARD_ROUTER2 trap_id\;Note: On TRAP or DISCARD_ERROR flex_action is ignored." access="RW" offset="0x0.28" size="0x0.4" />
	<field name="ar_lookup_prof_id" descr="AR lookup profile_id:\;0: HBF\;1: AR profile 0\;2: AR profile 1" access="RW" offset="0x4.0" size="0x0.4" />
	<field name="arft_pointer" descr="Pointer to adaptive routing flow table (ARFT) base, pointer to profile0, see RARFT\;If profile1 is later selected then the HW will point to profile1 which is arft_pointer+ecmp_size\;For Spectrum-2 pointer to PGT Table\;Note: In stateless AR mode, no flow table allocation needed\;" access="RW" offset="0x8.0" size="0x0.20" />
	<field name="ecmp_size" descr="ECMP Size\;Values are according to the FG ECMP scheme detailed in Table 3438, &quot;ECMP Sizes,&quot; on page 4038.\;Note: this size is per ar_profile, and each row contains cap_max_arft_entries_in_row.\;Total number of rows in the database = ecmp_size * num_of_ar_profiles / cap_max_arft_entries_in_row." access="RW" offset="0xC.0" size="0x0.13" />
	<field name="arlpgt_pointer" descr="Pointer to AR Local port group table (ARLPGT), see RARLPGT\;Range 0.. cap_max_arlpgt -1 (see Table  3906, &quot;Router Resources,&quot; on page  4619)" access="RW" offset="0x10.0" size="0x0.16" />
</node>

<node name="arn_encap_adjacency_ext" descr="" size="0x14.0" >
	<field name="dip_type" descr="0: IPv4\;1: IPv6\;Note: the type field (IPv4 or IPv6) must match the configuration of the overlay router interface, see protocol field in Table 3464, &quot;Loopback USIP Router Interface Properties Layout&quot;" access="RW" offset="0x0.16" size="0x0.2" />
	<field name="uirif" descr="Underlay Ingress RIF" access="RW" offset="0x4.0" size="0x0.16" />
	<field name="tqos_profile" descr="Tunnel QoS profile\;Range 0..cap_max_tqos_profile - 1" access="RW" offset="0x4.24" size="0x0.4" />
	<field name="ipv4_udip" descr="Underlay ipv4 dip\;Reserved when dip_type is IPv6" access="RW" offset="0x8.0" size="0x4.0" />
	<field name="ipv6_ptr" descr="Pointer to IPv6 underlay destination ip address\;See Section 14.14.17, &quot;RIPS - Router IP version Six Register&quot;, on page 4153\;For Spectrum: Pointer to KVD linear space, see Appendix A.2.1.2, &quot;KVD Central Database Linear Entries&quot; (page 4588)\;Reserved when dip_type is IPv4." access="RW" offset="0xC.0" size="0x0.24" />
	<field name="next_arn_ptr" descr="Points to the next ARN_Encap entry.\;See Section 14.14.13, &quot;RATR - Router Adjacency Table Register&quot;, on page 4123." access="RW" offset="0x10.0" size="0x0.24" />
	<field name="vnext" descr="Next valid\;The next_arn_ptr is valid" access="RW" offset="0x10.31" size="0x0.1" />
</node>

<node name="array128_auto" descr="" size="0x10.0" >
	<field name="array128_auto" descr="Auto generated" high_bound="3" low_bound="0" offset="0x0.0" size="0x10.0" />
</node>

<node name="array256_auto" descr="" size="0x20.0" >
	<field name="array256_auto" descr="Auto generated" high_bound="7" low_bound="0" offset="0x0.0" size="0x20.0" />
</node>

<node name="beabfe_bloom_filter_ext" descr="" size="0x4.0" >
	<field name="bf_index" descr="Bloom filter entry\;Range is 0.. 2^cap_max_bf_log -1" access="INDEX" offset="0x0.0" size="0x0.24" />
	<field name="bf_bank" descr="Bloom filter bank and erp table bank\;Range 0 .. cap_max_erp_table_banks-1" access="INDEX" offset="0x0.24" size="0x0.4" />
	<field name="state" descr="Bloom filter state\;0: clear (default)\;1: set" access="RW" offset="0x0.31" size="0x0.1" />
</node>

<node name="bfd_timeout_ext" descr="" size="0x10.0" >
	<field name="pgd_index" descr="PGD Index.\;Range 0...cap_max_num_&quot;fw_app_id_name&quot;_pgd_entries-1" access="INDEX" offset="0x0.0" size="0x0.16" />
</node>

<node name="bufferx_lossless_thresholds_ext" descr="" size="0x4.0" >
	<field name="xon_threshold" descr="When the amount of data in the buffer goes below this value, device stops sending pause frames for the Prios associated with the buffer. Units are represented in cells.\;In Spectrum xon_threshold is reserved for buffer[9].\;For shared_headroom_pool, this field is reserved.\;For lossless buffers in Spectrum switches, threshold value should be greater than 0, or greater than 1 for 8x ports." access="RW" offset="0x0.0" size="0x0.16" />
	<field name="xoff_threshold" descr="Once the amount of data in the buffer goes above this value, device starts sending Pause frames for all Prios associated with the buffer. Units are represented in cells.\;In Spectrum xoff_threshold is reserved for buffer[9].\;For shared_headroom_pool, this field is reserved.\;For lossless buffers in Spectrum switches, threshold value should be greater than 0, or greater than 1 for 8x ports." access="RW" offset="0x0.16" size="0x0.16" />
</node>

<node name="bufferx_lossy_thresholds_ext" descr="" size="0x4.0" >
	<field name="drop_over_max" descr="Additional buffer, in cells, that is temporarily allowed above the configured buffer threshold for a lossy buffer. \;The value 0 means drop threshold at headroom.\;Default value:\;For Spectrum switches up to Spectrum-3: 100KB in cells.\;For Spectrum switches from Spectrum-4: 150KB in cells.\;Reserved on Write when drop_over_max_margin_mask=0. Always valid on Query for lossy buffers.\;size + drop_over_max should not exceed cap_max_headroom_size." access="RW" offset="0x0.0" size="0x0.16" />
</node>

<node name="bufferx_reg_ext" descr="" size="0x8.0" >
	<field name="size" descr="The part of the packet buffer array is allocated for the specific buffer.\;Units are represented in cells.\;\;For shared_headroom_pool, this field represents the maximum loan from the shared headroom pool and it can be set only when port_shared_buffer is enabled.\;Range is 0..cap_max_shared_headroom_pool_loan_size. \;" access="RW" offset="0x0.0" size="0x0.16" />
	<field name="epsb" descr="Eligible for Port Shared buffer.\;If epsb is set, packets assigned to bufferX are allowed to insert the port shared buffer.\;For port_shared_buffer, this field is reserved.\;For shared_headroom_pool, this field is reserved.\;When lossy==1 this field is reserved.\;The field is reserved for Switch-X/-2." access="RW" offset="0x0.24" size="0x0.1" />
	<field name="lossy" descr="The field indicates if the buffer is lossy.\;0: Lossless\;1: Lossy\;\;The field is reserved for Switch-X/-2.\;For port_shared_buffer, this field is reserved.\;For shared_headroom_pool, this field is reserved." access="RW" enum="Lossless=0x0,Lossy=0x1" offset="0x0.25" size="0x0.1" />
	<field name="drop_over_max_mask" descr="Write drop_over_mask for lossy buffers.\;Reserved on Query or when lossy=0.\;Supported only on Spectrum switches from Spectrum-3." access="OP" offset="0x0.26" size="0x0.1" />
	<field name="thresholds" descr="For lossless (lossy=0) see Table 2463, &quot;BufferX Lossless Thresholds Layout,&quot; on page 3172.\;[DWIP] For lossy (lossy=1) see Table 2465, &quot;BufferX Lossy Thresholds Layout,&quot; on page 3172" subnode="bufferx_reg_thresholds_auto_ext" access="RW" offset="0x4.00" size="0x4.0" union_selector="$(parent).lossy" />
</node>

<node name="bufferx_reg_thresholds_auto_ext" descr="" attr_is_union="1" size="0x4.0" >
	<field name="bufferx_lossless_thresholds_ext" descr="" subnode="bufferx_lossless_thresholds_ext" offset="0x0.0" selected_by="Lossless" size="0x4.0" />
	<field name="bufferx_lossy_thresholds_ext" descr="" subnode="bufferx_lossy_thresholds_ext" offset="0x0.0" selected_by="Lossy" size="0x4.0" />
</node>

<node name="cedr_ext" descr="" size="0x20.0" >
	<field name="lp_msb" descr="Local port[9:8]" access="INDEX" offset="0x0.12" size="0x0.2" />
	<field name="local_port" descr="Local port\;Not supported by CPU port\;" access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="clear" descr="Clear:\;0: Don&apos;t clear the detection_table\;1: Clear the detection_table" access="OP" offset="0x0.31" size="0x0.1" />
	<field name="detection_table" descr="Detection Table\;Every bit represent the corresponding entry on the table \;0: the entry is not an elephant (it may be mice or floating)\;1: the entry is an elephant\;Offset 10h, bit31 is entry0" access="RO" high_bound="3" low_bound="0" offset="0x10.0" size="0x10.0" />
</node>

<node name="ceer_ext" descr="" size="0xa0.0" >
	<field name="detection_entry" descr="Detection Table Entry.\;When used as trap the device chooses the entries which are detected as elephants." access="INDEX" offset="0x0.0" size="0x0.7" />
	<field name="lp_msb" descr="Local port[9:8]" access="INDEX" offset="0x0.12" size="0x0.2" />
	<field name="local_port" descr="Local port\;Not supported by CPU port" access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="clear" descr="Clear:\;0: Don&apos;t clear the elephant state of the entry.\;1: Clear the elephant state of the entry. The entry becomes mice and is removed the table. The flow may return again at candidate state.\;When used as a trap it is set to &apos;1&apos;." access="OP" offset="0x0.31" size="0x0.1" />
	<field name="det" descr="Detected\;The entry is detected as elephant\;When det =0 then all fields may return 0\;\;E.g. when CEGCR.sticky is clear SW may read an entry which is no longer an elephant" access="RO" offset="0x4.31" size="0x0.1" />
	<field name="l2_type" descr="L2 type:\;0: NO_ETH\;1: ETH" access="RO" enum="NO_ETH=0x0,ETH=0x1" offset="0xC.0" size="0x0.4" />
	<field name="vlan_type" descr="Vlan Type:\;0: NO_TAG\;1: PRIO_TAG\;2: VLAN_TAG\;3: QINQ - 2 or more VLAN tags\;" access="RO" enum="NO_TAG=0x0,PRIO_TAG=0x1,VLAN_TAG=0x2,QINQ=0x3" offset="0x10.0" size="0x0.4" />
	<field name="l3_type" descr="L3 type (L2 next header):\;0: IPv4\;1: IPv6\;2: GRH\;3: FiberChannel\;15: Unknown \;" access="RO" enum="IPv4=0x0,IPv6=0x1,GRH=0x2,FiberChannel=0x3,Unknown=0xf" offset="0x10.8" size="0x0.4" />
	<field name="l4_type" descr="L4 type (L3 next header):\;0: TCP\;1: UDP\;2: ICMP\;3: IGMP\;4: BTH\;5: BTH_over_UDP\;6: AH - IPSec Authentication Header\;7: ESP - IPSec Encapsulating Security Payload \;15: Unknown" access="RO" enum="TCP=0x0,UDP=0x1,ICMP=0x2,IGMP=0x3,BTH=0x4,BTH_over_UDP=0x5,AH=0x6,ESP=0x7,Unknown=0xf" offset="0x10.16" size="0x0.4" />
	<field name="tunnel_type" descr="Tunnel Type:\;0: NO_TUNNEL\;1: VXLAN - VXLAN, VXLAN-GPE, GENEVE\;2: NVGRE\;3: IP_IN_IP - no GRE\;4: IP_IN_GRE_IN_IP - with or without a key \;5: MPLS" access="RO" enum="NO_TUNNEL=0x0,VXLAN=0x1,NVGRE=0x2,IP_IN_IP=0x3,IP_IN_GRE_IN_IP=0x4,MPLS=0x5" offset="0x10.24" size="0x0.4" />
	<field name="extra_data_type" descr="extra data type:\;0: NONE\;1: TUNNEL\;2: MPLS\;\;When used as trap and extra_data_type=0 then the CEER length is shorter (not having the extra_data field)" access="RO" enum="NONE=0x0,TUNNEL=0x1,MPLS=0x2" offset="0x10.28" size="0x0.4" />
	<field name="lag_hash" descr="Reserved when hash_valid is &apos;0&apos;" access="RO" offset="0x18.0" size="0x0.12" />
	<field name="hash_valid" descr="" access="RO" offset="0x18.31" size="0x0.1" />
	<field name="router_hash" descr="Reserved when hash_valid is &apos;0&apos;" access="RO" offset="0x1C.0" size="0x0.12" />
	<field name="dmac_47_32" descr="dmac\;Reserved when l2_type is not ETH" access="RO" offset="0x20.0" size="0x0.16" />
	<field name="dmac_31_0" descr="dmac\;Reserved when l2_type is not ETH" access="RO" offset="0x24.0" size="0x4.0" />
	<field name="smac_47_32" descr="smac\;Reserved when l2_type is not ETH" access="RO" offset="0x28.0" size="0x0.16" />
	<field name="smac_31_0" descr="smac\;Reserved when l2_type is not ETH" access="RO" offset="0x2C.0" size="0x4.0" />
	<field name="vid" descr="VLAN ID\;Reserved when vlan_type is one of: NO_TAG, PRIO_TAG" access="RO" offset="0x30.0" size="0x0.12" />
	<field name="dei" descr="Reserved when vlan_type is one of: NO_TAG" access="RO" offset="0x30.12" size="0x0.1" />
	<field name="pcp" descr="Reserved when vlan_type is one of: NO_TAG" access="RO" offset="0x30.13" size="0x0.3" />
	<field name="inner_vid" descr="Inner VLAN ID\;Reserved when vlan_type is not QINQ" access="RO" offset="0x34.0" size="0x0.12" />
	<field name="inner_dei" descr="Reserved when vlan_type is not QINQ" access="RO" offset="0x34.12" size="0x0.1" />
	<field name="inner_pcp" descr="Reserved when vlan_type is not QINQ" access="RO" offset="0x34.13" size="0x0.3" />
	<field name="dont_frag" descr="Reserved when l3_type is not one of: IPv4, IPv6, GRH" access="RO" offset="0x38.0" size="0x0.1" />
	<field name="ttl" descr="Reserved when l3_type is not one of: IPv4, IPv6, GRH" access="RO" offset="0x38.8" size="0x0.8" />
	<field name="ecn" descr="Reserved when l3_type is not one of: IPv4, IPv6, GRH" access="RO" offset="0x38.16" size="0x0.2" />
	<field name="dscp" descr="Reserved when l3_type is not one of: IPv4, IPv6, GRH" access="RO" offset="0x38.18" size="0x0.6" />
	<field name="dport" descr="Reserved when l4_type is not one of: TCP, UDP\;Reserved when tunnel_type is VXLAN" access="RO" offset="0x3C.0" size="0x0.16" />
	<field name="sport" descr="Reserved when l4_type is not one of: TCP, UDP" access="RO" offset="0x3C.16" size="0x0.16" />
	<field name="sip" descr="Reserved when l3_type is not one of: IPv4, IPv6, GRH\;For l3_type of IPV4, only bits [31:0] are relevant" access="RO" high_bound="3" low_bound="0" offset="0x40.0" size="0x10.0" />
	<field name="dip" descr="Reserved when l3_type is not one of: IPv4, IPv6, GRH\;For l3_type of IPV4, only bits [31:0] are relevant" access="RO" high_bound="3" low_bound="0" offset="0x50.0" size="0x10.0" />
	<field name="extra_data" descr="When extra_data_type is NONE: Reserved\;Table 3432, &quot;CEER - extra_fields NONE Layout,&quot; on page 4013\;When extra_data_type is TUNNEL:\;Table 3428, &quot;CEER - extra_fields tunnel Layout,&quot; on page 4009\;When extra_data_type is MPLS:\;Table 3430, &quot;CEER - extra_fields MPLS Layout,&quot; on page 4011\;\;When used as trap and extra_data_type=0 then the CEER length is shorter (not having the extra_data field)" subnode="ceer_extra_data_auto_ext" access="RW" offset="0x60.0" size="0x40.0" union_selector="$(parent).extra_data_type" />
</node>

<node name="ceer_extra_data_auto_ext" descr="" attr_is_union="1" size="0x40.0" >
	<field name="ceer_extra_fields_MPLS_ext" descr="" subnode="ceer_extra_fields_MPLS_ext" offset="0x0.0" selected_by="MPLS" size="0x18.0" />
	<field name="ceer_extra_fields_NONE_ext" descr="" subnode="ceer_extra_fields_NONE_ext" offset="0x0.0" selected_by="NONE" size="0x4.0" />
	<field name="ceer_extra_fields_ext" descr="" subnode="ceer_extra_fields_ext" offset="0x0.0" selected_by="TUNNEL" size="0x40.0" />
</node>

<node name="ceer_extra_fields_MPLS_ext" descr="" size="0x18.0" >
	<field name="mpls_exp" descr="" access="RO" offset="0x0.0" size="0x0.3" />
	<field name="mpls_bos" descr="BoS bit was detected in the last valid label\;If there are many labels (more than exposed by this register, or more than allowed by parsing) then the BoS label may be &apos;0&apos;" access="RO" offset="0x0.31" size="0x0.1" />
	<field name="mpls_label0_ttl" descr="Reserved when mpls_lb0_v is &apos;0&apos;" access="RO" offset="0x4.0" size="0x0.8" />
	<field name="mpls_label0_label_id" descr="Reserved when mpls_lb0_v is &apos;0&apos;\;" access="RO" offset="0x4.8" size="0x0.20" />
	<field name="mpls_lb0_v" descr="Label 0 valid\;Label0 is the outermost label (top of stack)" access="RO" offset="0x4.31" size="0x0.1" />
	<field name="mpls_label1_ttl" descr="Reserved when mpls_lb1_v is &apos;0&apos;" access="RO" offset="0x8.0" size="0x0.8" />
	<field name="mpls_label1_label_id" descr="Reserved when mpls_lb1_v is &apos;0&apos;\;" access="RO" offset="0x8.8" size="0x0.20" />
	<field name="mpls_lb1_v" descr="" access="RO" offset="0x8.31" size="0x0.1" />
	<field name="mpls_label2_ttl" descr="Reserved when mpls_lb2_v is &apos;0&apos;" access="RO" offset="0xC.0" size="0x0.8" />
	<field name="mpls_label2_label_id" descr="Reserved when mpls_lb2_v is &apos;0&apos;" access="RO" offset="0xC.8" size="0x0.20" />
	<field name="mpls_lb2_v" descr="" access="RO" offset="0xC.31" size="0x0.1" />
	<field name="mpls_label3_ttl" descr="Reserved when mpls_lb3_v is &apos;0&apos;\;" access="RO" offset="0x10.0" size="0x0.8" />
	<field name="mpls_label3_label_id" descr="Reserved when mpls_lb3_v is &apos;0&apos;\;" access="RO" offset="0x10.8" size="0x0.20" />
	<field name="mpls_lb3_v" descr="" access="RO" offset="0x10.31" size="0x0.1" />
	<field name="mpls_label4_ttl" descr="Reserved when mpls_lb4_v is &apos;0&apos;\;" access="RO" offset="0x14.0" size="0x0.8" />
	<field name="mpls_label4_label_id" descr="Reserved when mpls_lb4_v is &apos;0&apos;\;" access="RO" offset="0x14.8" size="0x0.20" />
	<field name="mpls_lb4_v" descr="" access="RO" offset="0x14.31" size="0x0.1" />
</node>

<node name="ceer_extra_fields_NONE_ext" descr="" size="0x4.0" >
</node>

<node name="ceer_extra_fields_ext" descr="" size="0x40.0" >
	<field name="vni" descr="Reserved when tunnel_type is not one of: VXLAN, NVGRE\;" access="RO" offset="0x0.0" size="0x0.24" />
	<field name="inner_dmac_47_32" descr="Inner DMAC\;Reserved when tunnel_type is not one of: VXLAN, NVGRE" access="RO" offset="0x8.0" size="0x0.16" />
	<field name="inner_dmac_31_0" descr="Inner DMAC\;Reserved when tunnel_type is not one of: VXLAN, NVGRE" access="RO" offset="0xC.0" size="0x4.0" />
	<field name="inner_smac_47_32" descr="Inner SMAC\;Reserved when tunnel_type is not one of: VXLAN, NVGRE" access="RO" offset="0x10.0" size="0x0.16" />
	<field name="inner_smac_31_0" descr="Inner SMAC\;Reserved when tunnel_type is not one of: VXLAN, NVGRE" access="RO" offset="0x14.0" size="0x4.0" />
	<field name="inner_dont_frag" descr="reserved when inner_l3_type is not IPV4" access="RO" offset="0x1C.0" size="0x0.1" />
	<field name="inner_ttl" descr="reserved when inner_l3_type is not IPV4\;" access="RO" offset="0x1C.8" size="0x0.8" />
	<field name="inner_ecn" descr="reserved when inner_l3_type is not IPV4\;" access="RO" offset="0x1C.16" size="0x0.2" />
	<field name="inner_dscp" descr="reserved when inner_l3_type is not IPV4" access="RO" offset="0x1C.18" size="0x0.6" />
	<field name="inner_l3_type" descr="Inner L3 type:\;0: IPV4\;1: other\;\;" access="RO" enum="IPV4=0x0,other=0x1" offset="0x1C.24" size="0x0.4" />
	<field name="inner_sip" descr="Inner source IP\;reserved when inner_l3_type is not IPV4\;" access="RO" high_bound="3" low_bound="0" offset="0x20.0" size="0x10.0" />
	<field name="inner_dip" descr="Inner destination IP\;reserved when inner_l3_type is not IPV4\;" access="RO" high_bound="3" low_bound="0" offset="0x30.0" size="0x10.0" />
</node>

<node name="cegcr_ext" descr="" size="0x20.0" >
	<field name="sticky" descr="Sticky Elephants\;0: A flow which was detected as an elephant flow may become floating or mice\;1: A flow which was detected as an elephant flow will not change state until cleared by CEER.clear" access="RW" offset="0x0.1" size="0x0.1" />
	<field name="f2e" descr="Floating to Elephants\;If a flow is at candidate state (at range of higher than RR-MT) for max_floating_time and f2e is set then the flow becomes an elephant\;" access="RW" offset="0x0.2" size="0x0.1" />
	<field name="max_floating_time" descr="Max floating time\;If a flow is at floating state for max_floating_time and f2e is set then the flow becomes an elephant\;Units of Sec\;Reserved when f2e = 0\;" access="RW" offset="0x4.0" size="0x0.10" />
	<field name="reference_rate" descr="Reference Rate (RR)\;Flows with a rate higher than RR and a burst higher than EBS are detected as elephant flows.\;Flows with a rate lower than RR and a burst delta higher than MBS are detected as mice flows.\;Other flows are floating flows (not yet detected as elephants or mice).\;Units are 10^6 bits/sec\;Minimum allowed rate is 2*10^6 bps\;" access="RW" offset="0x10.0" size="0x4.0" />
	<field name="elephants_thr" descr="Elephants Threshold (ET)\;Flows with a rate higher than RR and a burst higher than ET are detected as elephant flows.\;Units are 10^6 bits\;" access="RW" offset="0x14.0" size="0x0.20" />
	<field name="elephants_max_thr" descr="Elephants Max Threshold. Used for non-sticky mode so that an elephant flow will not gain a too high Ci value. Reason: if Ci becomes to high it may take the flow a long time to become a mice.\;Units are 10^6 bits/sec\;Reserved when Spectrum" access="RW" offset="0x18.0" size="0x0.20" />
	<field name="mice_thr" descr="Mice Threshold (MT)\;Flows with a rate lower than RR and a burst lower than MT are detected as mice flows.\;Units are 10^6 bits\;" access="RW" offset="0x1C.0" size="0x0.20" />
</node>

<node name="cepc_ext" descr="" size="0x8.0" >
	<field name="lp_msb" descr="Local port[9:8]" access="INDEX" offset="0x0.12" size="0x0.2" />
	<field name="pp" descr="Per port:\;0: global configuration\;1: per port configuration" access="INDEX" offset="0x0.15" size="0x0.1" />
	<field name="local_port" descr="Ingress Local Port\;Not supported by CPU port\;Reserved when pp=0" access="INDEX" offset="0x0.16" size="0x0.9" />
	<field name="en_ed" descr="Enable Elephants detection:\;0: disabled (default)\;1: enabled" access="RW" offset="0x4.0" size="0x0.1" />
</node>

<node name="chlmm_ext" descr="" size="0x14.0" >
	<field name="switch_prio" descr="Switch Priority" access="INDEX" offset="0x0.8" size="0x0.4" />
	<field name="hlt_table_pointer" descr="High Latency Table pointer for multicast packets\;Range 0 .. cap_max_high_latency_table - 1\;" access="RW" offset="0x10.0" size="0x0.8" />
</node>

<node name="chltm_ext" descr="" size="0x14.0" >
	<field name="lp_msb" descr="Local port[9:8]" access="INDEX" offset="0x0.12" size="0x0.2" />
	<field name="local_port" descr="Local port number\;CPU port is not supported" access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="traffic_class" descr="Traffic Class\;Range is 0..cap_max_tclass_data-1" access="INDEX" offset="0x4.0" size="0x0.8" />
	<field name="hlt_table_pointer" descr="High Latency Table pointer for unicast packets\;Range 0 .. cap_max_high_latency_table - 1\;" access="RW" offset="0x10.0" size="0x0.8" />
</node>

<node name="chltr_ext" descr="" size="0xc.0" >
	<field name="hlt_table_index" descr="High Latency Table index\;Range 0 .. cap_max_high_latency_table-1\;" access="INDEX" offset="0x0.0" size="0x0.8" />
	<field name="high_latency_thr" descr="High latency threshold\;Units of 1uSec\;\;Note: HW has latency measurement error of   250nSec\;Note: packets with a latency larger than 4Sec latency may not be latency-mirrored. Thus it is recommended to set SLL to 4Sec\;\;" access="RW" offset="0x8.0" size="0x0.20" />
</node>

<node name="command_payload_ext" descr="" size="0x104.0" >
	<field name="data" descr="Command data. It may be a request or a response data." access="RW" high_bound="64" low_bound="0" offset="0x0.0" size="0x104.0" />
</node>

<node name="config_item_ext" descr="" size="0xc.0" >
	<field name="length" descr="Length of configuration item data in bytes (not including header). Must be between 0 and 256." access="RW" offset="0x0.0" size="0x0.9" />
	<field name="host_id_valid" descr="Host ID valid:\;1: the type_index.host_id field is valid\;Valid only when MNVGC.priv_nv_other_host=1 and the type_class is a Host or Host-PF" access="INDEX" offset="0x0.9" size="0x0.1" />
	<field name="version" descr="Configuration item version - defines the data structure following the header (together with the type field)." access="RW" offset="0x0.12" size="0x0.4" />
	<field name="writer_id" descr="The entity which configured this parameter\;0x0: UNSPECIFIED\;0x1: CHASSIS_BMC\;0x2: MAD\;0x3: BMC\;0x4: COMMAND_INTERFACE\;0x5: ICMD - with unspecified source\;0x6: ICMD_UEFI_HII - configured by the NIC&apos;s UEFI expansion ROM&quot;s HII menu.\;0x7: ICMD_UEFI_CLP - configured by the NIC&apos;s expansion ROM&quot;s CLP.\;0x8: ICMD_Flexboot - configured by the NIC&quot;s legacy expansion ROM.\;0x9: ICMD_mlxconfig - configured by Mellanox mlxconfig tool\;0xA: ICMD_USER1 - value available for customer created tools that uses the ICMD interface for writing TLVs.\;0xB: ICMD_USER2 - value available for customer created tools that uses the ICMD interface for writing TLVs.\;0xC: ICMD_MLXCONFIG_SET_RAW - configures by\;mlxconfig set raw operation.\;0xD: ICMD_FLEXBOOT_CLP - configured by Legacy Expansion ROM CLP\;0x10: BMC_APP1 - Configuration was done over the BMC by application #1 (application name is OEM specific)\;0x11: BMC_APP2 - Configuration was done over the BMC by application #2 (application name is OEM specific)\;0x12: BMP_APP3 - Configuration was done over the BMC by application #3 (application name is OEM specific)\;0x1F: OTHER - the parameter was written by the NIC due to other reasons. \;\;Note - This field is writeable only when using the ICMD interface. The only value that are valid for writes are 0x6 through 0xB. Other values will be replaced by 0x5ICMD." access="RO" enum="UNSPECIFIED=0x0,CHASSIS_BMC=0x1,MAD=0x2,BMC=0x3,COMMAND_INTERFACE=0x4,ICMD=0x5,ICMD_UEFI_HII=0x6,ICMD_UEFI_CLP=0x7,ICMD_Flexboot=0x8,ICMD_mlxconfig=0x9,ICMD_USER1=0xa,ICMD_USER2=0xb,ICMD_MLXCONFIG_SET_RAW=0xc,ICMD_FLEXBOOT_CLP=0xd,BMC_APP1=0x10,BMC_APP2=0x11,BMP_APP3=0x12,OTHER=0x1f" offset="0x0.16" size="0x0.5" />
	<field name="access_mode" descr="Defines which value of the Configuration Item will be accessed.\;0: NEXT - Next value to be applied\;1: CURRENT - Currently set values (only valid for Query operation) Supported only if NVGC.nvda_read_current_settings==1.\;2: FACTORY - Default factory values (only valid for Query operation). Supported only if NVGC.nvda_read_factory_settings==1." access="INDEX" enum="NEXT=0x0,CURRENT=0x1,FACTORY=0x2" offset="0x0.22" size="0x0.2" />
	<field name="rd_en" descr="Read Enable\;Controls the read operation during different life-cycle stages.\;0: TLV cannot be read by the subsequent life-cycle priorities.\;1: TLV can be read by the subsequent life-cycle priorities." access="RW" offset="0x0.24" size="0x0.1" />
	<field name="ovr_en" descr="Override Enable\;0: Can only be overwritten by the current life-cycle priority.\;1: Allowed to be over-written by the subsequent life-cycle priorities." access="RW" offset="0x0.25" size="0x0.1" />
	<field name="priority" descr="The life-cycle priority of this configuration.\;0x0: USER,\;0x1: OEM,\;0x2: Reserved  \;0x3: MLNX\;\;The priority is set by either:\;1. When using MNVDA, the TLV will have user priority\;2. When using NVCONFIG, each TLV has its own priority" access="RO" offset="0x0.28" size="0x0.2" />
	<field name="type" descr="Configuration item index according to its type_class. \;Table 811, &quot;Configuration Item Data Type Class Global Layout,&quot; on page 1286\;Table 813, &quot;Configuration Item Data Type Class Physical Port Layout,&quot; on page 1286\;Table 815, &quot;Configuration Item Data Type Class Per Host-PF Layout,&quot; on page 1287\;Table 817, &quot;Configuration Item Data Type Class Log Layout,&quot; on page 1287\;Table 819, &quot;Configuration Item Data Type Class File Layout,&quot; on page 1288\;Table 821, &quot;Configuration Item Data Type Class Switch Global Layout,&quot; on page 1288\;Table 823, &quot;Configuration Item Data Type Class Module Layout,&quot; on page 1289\;Table 825, &quot;Configuration Item Data Type Class Multi Instance Layout,&quot; on page 1290" subnode="config_item_type_auto_ext" access="INDEX" offset="0x4.0" size="0x4.0" />
</node>

<node name="config_item_type_auto_ext" descr="" attr_is_union="1" size="0x4.0" >
	<field name="configuration_item_type_class_file_ext" descr="" subnode="configuration_item_type_class_file_ext" offset="0x0.0" size="0x4.0" />
	<field name="configuration_item_type_class_global_ext" descr="" subnode="configuration_item_type_class_global_ext" offset="0x0.0" size="0x4.0" />
	<field name="configuration_item_type_class_log_ext" descr="" subnode="configuration_item_type_class_log_ext" offset="0x0.0" size="0x4.0" />
	<field name="configuration_item_type_class_module_ext" descr="" subnode="configuration_item_type_class_module_ext" offset="0x0.0" size="0x4.0" />
	<field name="configuration_item_type_class_multi_instance_ext" descr="" subnode="configuration_item_type_class_multi_instance_ext" offset="0x0.0" size="0x4.0" />
	<field name="configuration_item_type_class_per_host_pf_ext" descr="" subnode="configuration_item_type_class_per_host_pf_ext" offset="0x0.0" size="0x4.0" />
	<field name="configuration_item_type_class_physical_port_ext" descr="" subnode="configuration_item_type_class_physical_port_ext" offset="0x0.0" size="0x4.0" />
	<field name="configuration_item_type_class_switch_global_ext" descr="" subnode="configuration_item_type_class_switch_global_ext" offset="0x0.0" size="0x4.0" />
</node>

<node name="configuration_item_type_class_file_ext" descr="" size="0x4.0" >
	<field name="parameter_index" descr="" access="INDEX" offset="0x0.0" size="0x0.24" />
	<field name="type_class" descr="type_class = 0x6" access="INDEX" offset="0x0.24" size="0x0.8" />
</node>

<node name="configuration_item_type_class_global_ext" descr="" size="0x4.0" >
	<field name="parameter_index" descr="" access="INDEX" offset="0x0.0" size="0x0.24" />
	<field name="type_class" descr="type_class = 0x0" access="INDEX" offset="0x0.24" size="0x0.8" />
</node>

<node name="configuration_item_type_class_log_ext" descr="" size="0x4.0" >
	<field name="parameter_index" descr="" access="INDEX" offset="0x0.0" size="0x0.24" />
	<field name="type_class" descr="type_class = 0x5" access="INDEX" offset="0x0.24" size="0x0.8" />
</node>

<node name="configuration_item_type_class_module_ext" descr="" size="0x4.0" >
	<field name="parameter_index" descr="" access="INDEX" offset="0x0.0" size="0x0.14" />
	<field name="module_index" descr="Module Index" access="INDEX" offset="0x0.14" size="0x0.10" />
	<field name="type_class" descr="type_class = 0x9" access="INDEX" offset="0x0.24" size="0x0.8" />
</node>

<node name="configuration_item_type_class_multi_instance_ext" descr="" size="0x4.0" >
	<field name="parameter_index" descr="" access="INDEX" offset="0x0.0" size="0x0.12" />
	<field name="type_class" descr="type_class = 0xA" access="INDEX" offset="0x0.24" size="0x0.8" />
</node>

<node name="configuration_item_type_class_per_host_pf_ext" descr="" size="0x4.0" >
	<field name="parameter_index" descr="" access="INDEX" offset="0x0.0" size="0x0.10" />
	<field name="pf_index" descr="If host_id_valid is set, indicates the PF ID, otherwise reserved. \;" access="INDEX" offset="0x0.10" size="0x0.8" />
	<field name="host_id" descr="If host_id_valid is set, indicates the host ID, otherwise reserved. \;" access="INDEX" offset="0x0.18" size="0x0.6" />
	<field name="type_class" descr="type_class = 0x3" access="INDEX" offset="0x0.24" size="0x0.8" />
</node>

<node name="configuration_item_type_class_physical_port_ext" descr="" size="0x4.0" >
	<field name="parameter_index" descr="" access="INDEX" offset="0x0.0" size="0x0.16" />
	<field name="port" descr="" access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="type_class" descr="type_class = 0x1" access="INDEX" offset="0x0.24" size="0x0.8" />
</node>

<node name="configuration_item_type_class_switch_global_ext" descr="" size="0x4.0" >
	<field name="parameter_index" descr="" access="INDEX" offset="0x0.0" size="0x0.24" />
	<field name="type_class" descr="type_class = 0x8" access="INDEX" offset="0x0.24" size="0x0.8" />
</node>

<node name="counterset_basic_ext" descr="" size="0x50.0" >
	<field name="good_unicast_packets_high" descr="A count of Unicast frames that are successfully received at the router interface." access="RW" offset="0x0.0" size="0x4.0" />
	<field name="good_unicast_packets_low" descr="A count of Unicast frames that are successfully received at the router interface." access="RW" offset="0x4.0" size="0x4.0" />
	<field name="good_multicast_packets_high" descr="A count of Multicast frames that are successfully received at the router interface." access="RW" offset="0x8.0" size="0x4.0" />
	<field name="good_multicast_packets_low" descr="A count of Multicast frames that are successfully received at the router interface." access="RW" offset="0xC.0" size="0x4.0" />
	<field name="good_broadcast_packets_high" descr="A count of Broadcast frames that are successfully received at the router interface." access="RW" offset="0x10.0" size="0x4.0" />
	<field name="good_broadcast_packets_low" descr="A count of Broadcast frames that are successfully received at the router interface." access="RW" offset="0x14.0" size="0x4.0" />
	<field name="good_unicast_bytes_high" descr="A count of L3 data and padding octets not including L2 headers for Unicast frames that are successfully received at the router interface." access="RW" offset="0x18.0" size="0x4.0" />
	<field name="good_unicast_bytes_low" descr="A count of L3 data and padding octets not including L2 headers for Unicast frames that are successfully received at the router interface." access="RW" offset="0x1C.0" size="0x4.0" />
	<field name="good_multicast_bytes_high" descr="A count of L3 data and padding octets not including L2 headers for Broadcast frames that are successfully received at the router interface." access="RW" offset="0x20.0" size="0x4.0" />
	<field name="good_multicast_bytes_low" descr="A count of L3 data and padding octets not including L2 headers for Broadcast frames that are successfully received at the router interface." access="RW" offset="0x24.0" size="0x4.0" />
	<field name="good_broadcast_bytes_high" descr="A count of L3 data and padding octets not including L2 headers for Broadcast frames that are successfully received at the router interface" access="RW" offset="0x28.0" size="0x4.0" />
	<field name="good_broadcast_bytes_low" descr="A count of L3 data and padding octets not including L2 headers for Broadcast frames that are successfully received at the router interface" access="RW" offset="0x2C.0" size="0x4.0" />
	<field name="error_packets_high" descr="A count of errored frames that do not pass the router checks." access="RW" offset="0x30.0" size="0x4.0" />
	<field name="error_packets_low" descr="A count of errored frames that do not pass the router checks." access="RW" offset="0x34.0" size="0x4.0" />
	<field name="discard_packets_high" descr="A count of non-errored frames that do not pass the router checks." access="RW" offset="0x38.0" size="0x4.0" />
	<field name="discard_packets_low" descr="A count of non-errored frames that do not pass the router checks." access="RW" offset="0x3C.0" size="0x4.0" />
	<field name="error_bytes_high" descr="A count of L3 data and padding octets not including L2 headers for errored frames that do not pass the router checks." access="RW" offset="0x40.0" size="0x4.0" />
	<field name="error_bytes_low" descr="A count of L3 data and padding octets not including L2 headers for errored frames that do not pass the router checks." access="RW" offset="0x44.0" size="0x4.0" />
	<field name="discard_bytes_high" descr="A count of L3 data and padding octets not including L2 headers for non-errored frames that do not pass the router checks." access="RW" offset="0x48.0" size="0x4.0" />
	<field name="discard_bytes_low" descr="A count of L3 data and padding octets not including L2 headers for non-errored frames that do not pass the router checks." access="RW" offset="0x4C.0" size="0x4.0" />
</node>

<node name="counterset_basic_reduced_ext" descr="" size="0x30.0" >
	<field name="good_unicast_packets_high" descr="A count of Unicast frames that are successfully received at the router interface." access="RW" offset="0x0.0" size="0x4.0" />
	<field name="good_unicast_packets_low" descr="A count of Unicast frames that are successfully received at the router interface." access="RW" offset="0x4.0" size="0x4.0" />
	<field name="good_multicast_packets_high" descr="A count of Multicast frames that are successfully received at the router interface." access="RW" offset="0x8.0" size="0x4.0" />
	<field name="good_multicast_packets_low" descr="A count of Multicast frames that are successfully received at the router interface." access="RW" offset="0xC.0" size="0x4.0" />
	<field name="good_unicast_bytes_high" descr="A count of L3 data and padding octets not including L2 headers for Unicast frames that are successfully received at the router interface." access="RW" offset="0x10.0" size="0x4.0" />
	<field name="good_unicast_bytes_low" descr="A count of L3 data and padding octets not including L2 headers for Unicast frames that are successfully received at the router interface." access="RW" offset="0x14.0" size="0x4.0" />
	<field name="good_multicast_bytes_high" descr="A count of L3 data and padding octets not including L2 headers for Broadcast frames that are successfully received at the router interface." access="RW" offset="0x18.0" size="0x4.0" />
	<field name="good_multicast_bytes_low" descr="A count of L3 data and padding octets not including L2 headers for Broadcast frames that are successfully received at the router interface." access="RW" offset="0x1C.0" size="0x4.0" />
	<field name="discard_packets_high" descr="A count of non-errored frames that do not pass the router checks." access="RW" offset="0x20.0" size="0x4.0" />
	<field name="discard_packets_low" descr="A count of non-errored frames that do not pass the router checks." access="RW" offset="0x24.0" size="0x4.0" />
	<field name="discard_bytes_high" descr="A count of L3 data and padding octets not including L2 headers for non-errored frames that do not pass the router checks." access="RW" offset="0x28.0" size="0x4.0" />
	<field name="discard_bytes_low" descr="A count of L3 data and padding octets not including L2 headers for non-errored frames that do not pass the router checks." access="RW" offset="0x2C.0" size="0x4.0" />
</node>

<node name="counterset_enhanced_ext" descr="" size="0xf0.0" >
	<field name="ipv4_counters" descr="Count of IPv4 packets using the structure of Router Interface Counter-Set Basic.\;See Table 3548, &quot;Router Interface Counter-set Basic Layout,&quot; on page 4161." subnode="counterset_basic_ext" access="RW" offset="0x0.0" size="0x50.0" />
	<field name="ipv6_counters" descr="Count of IPv6 packets using the structure of Router Interface Counter-Set Basic.\;See Table 3548, &quot;Router Interface Counter-set Basic Layout,&quot; on page 4161." subnode="counterset_basic_ext" access="RW" offset="0x50.0" size="0x50.0" />
	<field name="mpls_counters" descr="Count of MPLS packets using the structure of Router Interface Counter-Set Basic.\;See Table 3548, &quot;Router Interface Counter-set Basic Layout,&quot; on page 4161." subnode="counterset_basic_ext" access="RW" offset="0xA0.0" size="0x50.0" />
</node>

<node name="counterset_enhanced_reduced_ext" descr="" size="0x90.0" >
	<field name="ipv4_counters" descr="Count of IPv4 packets using the structure of Router Interface Counter-Set Basic Reduced.\;See Table 3556, &quot;Router Interface Counter-set Basic Reduced Layout,&quot; on page 4166." subnode="counterset_basic_reduced_ext" access="RW" offset="0x0.0" size="0x30.0" />
	<field name="ipv6_counters" descr="Count of IPv6 packets using the structure of Router Interface Counter-Set Basic Reduced.\;See Table 3556, &quot;Router Interface Counter-set Basic Reduced Layout,&quot; on page 4166." subnode="counterset_basic_reduced_ext" access="RW" offset="0x30.0" size="0x30.0" />
	<field name="mpls_counters" descr="Count of MPLS packets using the structure of Router Interface Counter-Set Basic Reduced.\;See Table 3556, &quot;Router Interface Counter-set Basic Reduced Layout,&quot; on page 4166." subnode="counterset_basic_reduced_ext" access="RW" offset="0x60.0" size="0x30.0" />
</node>

<node name="counterset_mixed_1_ext" descr="" size="0xa0.0" >
	<field name="ipv4_and_ipv6_counters" descr="Count of IPv4 and IPv6 packets using the structure of Router Interface Counter-Set Basic.\;See Table 3548, &quot;Router Interface Counter-set Basic Layout,&quot; on page 4161." subnode="counterset_basic_ext" access="RW" offset="0x0.0" size="0x50.0" />
	<field name="mpls_counters" descr="Count of MPLS packets using the structure of Router Interface Counter-Set Basic.\;See Table 3548, &quot;Router Interface Counter-set Basic Layout,&quot; on page 4161." subnode="counterset_basic_ext" access="RW" offset="0x50.0" size="0x50.0" />
</node>

<node name="counterset_mixed_1_reduced_ext" descr="" size="0x60.0" >
	<field name="ipv4_and_ipv6_counters" descr="Count of IPv4 and IPv6 packets using the structure of Router Interface Counter-Set Basic Reduced.\;See Table 3556, &quot;Router Interface Counter-set Basic Reduced Layout,&quot; on page 4166." subnode="counterset_basic_reduced_ext" access="RW" offset="0x0.0" size="0x30.0" />
	<field name="mpls_counters" descr="Count of MPLS packets using the structure of Router Interface Counter-Set Basic Reduced.\;See Table 3556, &quot;Router Interface Counter-set Basic Reduced Layout,&quot; on page 4166." subnode="counterset_basic_reduced_ext" access="RW" offset="0x30.0" size="0x30.0" />
</node>

<node name="counterset_mixed_2_ext" descr="" size="0xa0.0" >
	<field name="ipv4_counters" descr="Count of IPv4 packets using the structure of Router Interface Counter-Set Basic.\;See Table 3548, &quot;Router Interface Counter-set Basic Layout,&quot; on page 4161." subnode="counterset_basic_ext" access="RW" offset="0x0.0" size="0x50.0" />
	<field name="ipv6_and_mpls_counters" descr="Count of IPv6 and MPLS packets using the structure of Router Interface Counter-Set Basic.\;See Table 3548, &quot;Router Interface Counter-set Basic Layout,&quot; on page 4161." subnode="counterset_basic_ext" access="RW" offset="0x50.0" size="0x50.0" />
</node>

<node name="counterset_mixed_2_reduced_ext" descr="" size="0x60.0" >
	<field name="ipv4_counters" descr="Count of IPv4 packets using the structure of Router Interface Counter-Set Basic Reduced.\;See Table 3556, &quot;Router Interface Counter-set Basic Reduced Layout,&quot; on page 4166." subnode="counterset_basic_reduced_ext" access="RW" offset="0x0.0" size="0x30.0" />
	<field name="ipv6_and_mpls_counters" descr="Count of IPv6 and MPLS packets using the structure of Router Interface Counter-Set Basic Reduced.\;See Table 3556, &quot;Router Interface Counter-set Basic Reduced Layout,&quot; on page 4166." subnode="counterset_basic_reduced_ext" access="RW" offset="0x30.0" size="0x30.0" />
</node>

<node name="cpqe_ext" descr="" size="0x14.0" >
	<field name="lp_msb" descr="Local port[9:8]" access="INDEX" offset="0x0.12" size="0x0.2" />
	<field name="local_port" descr="Egress Local Port" access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="marking_percent" descr="ECN Marking percentage when the local_port rate is above the phantom queue rate.\;Range is 0..100, units of integer percentage" access="RW" offset="0x8.16" size="0x0.7" />
	<field name="rate" descr="Units of 1000bps, bps only\;Granularity is 200mbps\;Error is up to 3% from configuration (for example: at 100Gbps, rate is configured to 200mbps, actual rate may be 206mbps)\;ECN marking is done when the rate is above phantom_queue_rate." access="RW" offset="0xC.0" size="0x0.31" />
	<field name="en" descr="Phantom queue configuration enable. Enables configuration of the phantom queue rate and bs\;0: disable\;1: enable\;Not supported for CPU port" access="RW" offset="0xC.31" size="0x0.1" />
	<field name="bs" descr="Burst size.\;If writing 0: value will be set to 11.\;Burst size is 2^bs * 512 [bits].\;Range is: 11..25.\;" access="RW" offset="0x10.0" size="0x0.6" />
</node>

<node name="crspace_access_payload_ext" descr="" size="0x104.0" >
	<field name="address" descr="Starting address" access="WO" offset="0x0.0" size="0x4.0" />
	<field name="data" descr="CrSpace data" access="RW" high_bound="63" low_bound="0" offset="0x4.0" size="0x100.0" />
</node>

<node name="crspace_timeout_ext" descr="" size="0xa0.0" >
	<field name="log_address" descr="crspace address accessed, which resulted in timeout" access="RO" offset="0x0.0" size="0x4.0" />
	<field name="log_id" descr="which irisc triggered the timeout" access="RO" offset="0x4.0" size="0x0.5" />
	<field name="error_type" descr="Crspace Error Type:\;0: timeout\;1: unmmaped_address\;2: pat_priv_error\;3: gmt_error\;4: terminate\;5: pri_error\;6: external_protocol_error" access="RO" enum="timeout=0x0,unmmaped_address=0x1,pat_priv_error=0x2,gmt_error=0x3,terminate=0x4,pri_error=0x5,external_protocol_error=0x6" offset="0x4.8" size="0x0.4" />
	<field name="trans_type" descr="Transaction Type\;0: unknown - (in ASICs that this indication do not exist)\;1: read\;2: non_posted_write\;3: posted_write" access="RW" enum="unknown=0x0,read=0x1,non_posted_write=0x2,posted_write=0x3" offset="0x4.13" size="0x0.3" />
	<field name="tile_index" descr="When tile_v=1 the tile_index that caused the timeout.\;\;[DWIP] Superseded by top level tile_v and tile_index. Kept for backwards compatibility." access="RO" offset="0x4.16" size="0x0.6" />
	<field name="tile_v" descr="Tile valid:\;0: The timeout was from main\;1: The timeout was from a tile\;\;[DWIP] Superseded by top level tile_v and tile_index. Kept for backwards compatibility." access="RO" offset="0x4.23" size="0x0.1" />
	<field name="oe" descr="Old Event:\;0: New event\;1: Old event, found during MFGD activation" access="RO" offset="0x4.24" size="0x0.1" />
	<field name="is_yu" descr="Timeout came from YU" access="RW" offset="0x4.29" size="0x0.1" />
	<field name="is_iron" descr="Timeout came from IRON" access="RW" offset="0x4.30" size="0x0.1" />
	<field name="is_main_farm" descr="timeout came from Main Fram" access="RW" offset="0x4.31" size="0x0.1" />
	<field name="log_ip" descr="IP (instruction pointer) that triggered the timeout" subnode="uint64" access="RO" offset="0x8.0" size="0x8.0" />
</node>

<node name="cvb_config_error_ext" descr="" size="0xa0.0" >
	<field name="cvb_error_type" descr="0x0: VDD configuration error\;0x1: DVDD configuration error\;0x2: AVDD configuration error\;0xF: Other configuration error" access="RO" offset="0x0.0" size="0x0.4" />
	<field name="tile_index" descr="When tile_v=1 the tile_index that caused the timeout." access="RO" offset="0x4.0" size="0x0.4" />
	<field name="tile_v" descr="Tile valid:\;0: The cvb configuration is main related\;1: The cvb configuration is tile related" access="RO" offset="0x4.31" size="0x0.1" />
</node>

<node name="cwgcr_ext" descr="" size="0x14.0" >
	<field name="aqs_time" descr="Average queue size time\;Time from current_queue_size to previous_aqs\;The time is 2^aqs_time * 64nSec\;Valid range is 0..24" access="RW" offset="0x0.0" size="0x0.8" />
	<field name="aqs_weight" descr="Average queue size weight.\;The average queue size (aqs) is calculated by:\;aqs = ((current_queue_size)*2^-w) + ((previous_aqs)*(1-2^-w)) \;where w is aqs_weight\;The time between current_queue_size and previous_aqs is configured by aqs_time\;Note: when mode=percentage then there is no moving average (the aqs_weight is effectively 0). See Section 13.7.2, &quot;CWTP - Congestion WRED ECN TClass Profile Register&quot;, on page 3990\;" access="RW" offset="0x0.8" size="0x0.4" />
	<field name="scd" descr="Enable ECN Source Congestion Detection only. Don&apos;t mark victim packets.\;Reserved in Spectrum-5.\;" access="RW" offset="0x0.16" size="0x0.1" />
	<field name="en" descr="enable bits:\;bit2: WRED drop enable\;For Spectrum, ingress mirror of WRED can utilize this configuration, see Section 5.16.3, &quot;MPAR - Monitoring Port Analyzer Register&quot;, on page 1627" access="RW" offset="0x0.24" size="0x0.4" />
	<field name="cece" descr="Count ECN for Congestion Experienced\;0: do not count &quot;ECN mark&quot; for a packet which has Congestion Experienced (ECN=11 at ingress) \;1: do count ECN mark for a packet which has Congestion Experienced (ECN=11 at ingress) and experiences congestion in the switch (default)\;In any case, a packet coming with ECN=00 is not counted as ECN." access="RW" offset="0x4.0" size="0x0.1" />
	<field name="mece" descr="Mirror ECN for Congestion Experienced\;0: do not ecn-mirror a packet which has Congestion Experienced (ECN=11 at ingress)\;1: do ecn-mirror for a packet which has Congestion Experienced (ECN=11 at ingress) and experiences congestion in the switch (default)\;In any case, a packet coming with ECN=00 is not ecn-mirrored\;Reserved when Spectrum-1, and from Spectrum-6 onwards.\;Reserved when Quantum which always does ecn-mirror regardless of fecn in the packet" access="RW" offset="0x4.1" size="0x0.1" />
	<field name="ece_inner_en" descr="Only for Eth Switches:\;When ECE is event then:\;0: OUTER - only for outer TCP (if exists)\;1: OUTER_OR_INNER - for either outer (if exists) or inner TCP (if exists)\;Reserved when Spectrum/-2/-3\;Supported from Spectrum-4 and above." access="RW" offset="0x4.4" size="0x0.1" />
	<field name="selector" descr="Profile parameter selector.\;0: TCP - Default\;1: ECT - ECN capable transport\;Can be changed under traffic.\;\;When ECT mode, the CWTPM fields tcp_* and ntcp_* are used for ECT.\;ECT is positive according to the field ect_positive.\;Supported from Spectrum-2." access="RW" enum="TCP=0x0,ECT=0x1" offset="0x8.4" size="0x0.4" />
</node>

<node name="cwpp_ext" descr="" size="0x20.0" >
	<field name="pool" descr="Egress pool in the switch shared buffer\;Range is 0..cap_num_pool_supported-1" access="INDEX" offset="0x0.0" size="0x0.4" />
	<field name="profile" descr="Profiles per pool.\;This array is 0-based, profile[i] matches Profile #i+1.\;See Table 3408, &quot;CWPP - Profile Layout,&quot; on page 3992" subnode="cwpp_profile_ext" access="RW" high_bound="2" low_bound="0" offset="0x8.0" size="0x18.0" />
</node>

<node name="cwpp_profile_ext" descr="" size="0x8.0" >
	<field name="min" descr="Minimum Average Queue Size in cells. Valid inputs are 0..cap_total_buffer_size/cap_cell_size\;For Spectrum: must be a multiple of 64.\;Note: for Spectrum, must be larger than 2^aqs_weight cells, see Section 13.7.1, &quot;CWGCR - Congestion WRED ECN General Configuration Register&quot;, on page 3987" access="RW" offset="0x0.0" size="0x0.24" />
	<field name="max" descr="Maximum Average Queue Size, in cells. Valid inputs are 0..cap_total_buffer_size/cap_cell_size\;For Spectrum: must be a multiple of 64" access="RW" offset="0x4.0" size="0x0.24" />
	<field name="percent" descr="Percentage of WRED and ECN marking for Maximum Average Queue Size\;Range is 0..100, units of integer percentage\;Default is 0" access="RW" offset="0x4.24" size="0x0.7" />
</node>

<node name="cwtp_ext" descr="" size="0x40.0" >
	<field name="lp_msb" descr="Local port[9:8]" access="INDEX" offset="0x0.12" size="0x0.2" />
	<field name="pnat" descr="Port number access type. Determines the way local_port is interpreted:\;0: Local_port_number\;" access="INDEX" enum="Local_port_number=0x0" offset="0x0.14" size="0x0.2" />
	<field name="local_port" descr="Local port number\;CPU port is not supported" access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="traffic_class" descr="Traffic Class\;Range is 0..cap_max_tclass_data-1" access="INDEX" offset="0x20.0" size="0x0.8" />
	<field name="mode" descr="Mode of thresholds for WRED and ECN:\;0: Fixed\;1: Percentage" access="RW" enum="Fixed=0x0,Percentage=0x1" offset="0x24.24" size="0x0.1" />
	<field name="profile1_min" descr="Minimum Average Queue Size of the profile number &lt;i&gt;\;When mode is Fixed:\;Cells. Valid inputs are 1..cap_total_buffer_size/cap_cell_size.\;For Spectrum: must be a multiple of 64\;Note: for Spectrum, must be larger than 2^aqs_weight cells, see Section 13.7.1, &quot;CWGCR - Congestion WRED ECN General Configuration Register&quot;, on page 3987\;When mode is Percentage:\;Percentage of the quota of local_port,traffic_class. Range is 0..100, units of integer percentage. When ECN Source Congestion Detection is enabled then congestion occurs when there are at least 256 cells in the buffer\;" access="RW" offset="0x28.0" size="0x0.24" />
	<field name="profile1_max" descr="Maximum Average Queue Size of the profile number &lt;i&gt;\;When mode is Fixed:\;Cells. Valid inputs are 1..cap_total_buffer_size/cap_cell_size\;For Spectrum: must be a multiple of 64\;When mode is Percentage:\;Percentage of the quota of local_port,traffic_class. Range is 0..100, units of integer percentage.\;profile&lt;i&gt;_max must always be equal or greater than profile&lt;i&gt;_min" access="RW" offset="0x2C.0" size="0x0.24" />
	<field name="profile1_percent" descr="Percentage of WRED and ECN marking for Maximum Average Queue Size of the profile number &lt;i&gt;\;Range is 0..100, units of integer percentage\;Default is 0" access="RW" offset="0x2C.24" size="0x0.7" />
	<field name="profile2_min" descr="Same as above." access="RW" offset="0x30.0" size="0x0.24" />
	<field name="profile2_max" descr="Same as above." access="RW" offset="0x34.0" size="0x0.24" />
	<field name="profile2_percent" descr="Same as above." access="RW" offset="0x34.24" size="0x0.7" />
	<field name="profile3_min" descr="Same as above." access="RW" offset="0x38.0" size="0x0.24" />
	<field name="profile3_max" descr="Same as above." access="RW" offset="0x3C.0" size="0x0.24" />
	<field name="profile3_percent" descr="Same as above." access="RW" offset="0x3C.24" size="0x0.7" />
</node>

<node name="cwtpm_ext" descr="" size="0x44.0" >
	<field name="lp_msb" descr="Local port[9:8]" access="INDEX" offset="0x0.12" size="0x0.2" />
	<field name="pnat" descr="Port number access type. Determines the way local_port is interpreted:\;0: Local_port_number\;" access="INDEX" enum="Local_port_number=0x0" offset="0x0.14" size="0x0.2" />
	<field name="local_port" descr="Local port number\;CPU port is not supported" access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="traffic_class" descr="Traffic Class\;Range is 0..cap_max_tclass_data-1" access="INDEX" offset="0x20.0" size="0x0.8" />
	<field name="ee" descr="Enable ECN on traffic class\;0: Disable\;1: Enable\;Default is 0\;Reserved when Quantum" access="RW" enum="Disable=0x0,Enable=0x1" offset="0x24.0" size="0x0.1" />
	<field name="ew" descr="Enable WRED on traffic class:\;0: Disable\;1: Enable\;Default is 0\;Reserved when Quantum" access="RW" enum="Disable=0x0,Enable=0x1" offset="0x24.1" size="0x0.1" />
	<field name="ece" descr="Eth switch only:\;Enable ECE (TCP.ECE setting by the switch):\;Note: for ECE only tcp_g is used (tcp_y, tcp_r, ntcp_* ignored)\;Note: when both ece and ew are set, then if WRED does a drop then efficiently the ECE has no significance.\;Reserved when IB Switches and when Spectrum/-2/-3\;Note: ECE is per Ingress Port, packet TC\;\;0: Disable\;1: Enable\;Default is 0\;Supported from Spectrum-4 and above." access="RW" enum="Disable=0x0,Enable=0x1" offset="0x24.2" size="0x0.1" />
	<field name="tcp_g" descr="TCP/ECT Green Profile Number.\;Profiles are 1-based, 0 is for disabling both WRED and ECN for this type of traffic.\;Default is 0\;Reserved when Quantum and NIC" access="RW" offset="0x34.0" size="0x0.2" />
	<field name="tcp_r" descr="TCP/ECT Red Profile Number\;Profiles are 1-based, 0 is for disabling both WRED and ECN for this type of traffic.\;Default is 0\;Reserved when Quantum and NIC" access="RW" offset="0x38.0" size="0x0.2" />
	<field name="tcp_y" descr="TCP/ECT Yellow Profile Number\;Profiles are 1-based, 0 is for disabling both WRED and ECN for this type of traffic.\;Default is 0\;Reserved when Quantum and NIC" access="RW" offset="0x38.16" size="0x0.2" />
	<field name="ntcp_g" descr="Non-TCP/Non-ECT Green Profile Number\;Profiles are 1-based, 0 is for disabling both WRED and ECN for this type of traffic.\;Default is 0\;Reserved when Quantum and NIC" access="RW" offset="0x3C.0" size="0x0.2" />
	<field name="ntcp_r" descr="Non-TCP/Non-ECT Red Profile Number\;Profiles are 1-based, 0 is for disabling both WRED and ECN for this type of traffic.\;Default is 0\;Reserved when Quantum and NIC" access="RW" offset="0x40.0" size="0x0.2" />
	<field name="ntcp_y" descr="Non-TCP/Non-ECT Yellow Profile Number\;Profiles are 1-based, 0 is for disabling both WRED and ECN for this type of traffic.\;Default is 0\;Reserved when Quantum and NIC" access="RW" offset="0x40.16" size="0x0.2" />
</node>

<node name="date_time_layout_ext" descr="" size="0x8.0" >
	<field name="hours" descr="hour (UTC) - 2 packed BCD digits" access="RW" offset="0x0.8" size="0x0.8" />
	<field name="minutes" descr="minutes - 2 packed BCD digits" access="RW" offset="0x0.16" size="0x0.8" />
	<field name="seconds" descr="seconds - 2 packed BCD digits" access="RW" offset="0x0.24" size="0x0.8" />
	<field name="day" descr="day - 2 packed BCD digits" access="RW" offset="0x4.0" size="0x0.8" />
	<field name="month" descr="month - 2 packed BCD digits" access="RW" offset="0x4.8" size="0x0.8" />
	<field name="year" descr="year - 4 packed BCD digits" access="RW" offset="0x4.16" size="0x0.16" />
</node>

<node name="dip_entry_seed" descr="" size="0x4.0" >
	<field name="dip_entry_seed" descr="" offset="0x0.0" size="0x0.5" />
</node>

<node name="elport_record_ext" descr="" size="0x4.0" >
	<field name="evid" descr="egress vid, range 0..4095" access="RW" offset="0x0.0" size="0x0.12" />
	<field name="update" descr="Update enable (when write):\;0: do not update the entry\;1: update the entry" access="OP" offset="0x0.31" size="0x0.1" />
</node>

<node name="emt_binding_info_ext" descr="" size="0x8.0" >
	<field name="emt_bitmask" descr="bitmask describes which spare EMTs can be used for the specific program\;\;Reserved when atomic = 0" access="RW" offset="0x0.0" size="0x0.8" />
	<field name="atomic" descr="0: non atomic\;1: atomic" access="RW" offset="0x0.16" size="0x0.1" />
</node>

<node name="enum_entry" descr="" size="0x4.0" >
</node>

<node name="eth_2819_cntrs_grp_data_layout_ext" descr="" size="0xf8.0" >
	<field name="ether_stats_drop_events_high" descr="The total number of events in which packets were dropped by the probe due to lack of resources.\;" access="RO" offset="0x0.0" size="0x4.0" />
	<field name="ether_stats_drop_events_low" descr="The total number of events in which packets were dropped by the probe due to lack of resources.\;" access="RO" offset="0x4.0" size="0x4.0" />
	<field name="ether_stats_octets_high" descr="The total number of octets of data (including those in bad packets) received (excluding framing bits but including FCS octets).\;" access="RO" offset="0x8.0" size="0x4.0" />
	<field name="ether_stats_octets_low" descr="The total number of octets of data (including those in bad packets) received (excluding framing bits but including FCS octets).\;" access="RO" offset="0xC.0" size="0x4.0" />
	<field name="ether_stats_pkts_high" descr="The total number of packets (including bad packets, broadcast packets, and multicast packets) received.\;" access="RO" offset="0x10.0" size="0x4.0" />
	<field name="ether_stats_pkts_low" descr="The total number of packets (including bad packets, broadcast packets, and multicast packets) received.\;" access="RO" offset="0x14.0" size="0x4.0" />
	<field name="ether_stats_broadcast_pkts_high" descr="The total number of good packets received that were directed to the broadcast address. \;Note: This does not include multicast packets.\;" access="RO" offset="0x18.0" size="0x4.0" />
	<field name="ether_stats_broadcast_pkts_low" descr="The total number of good packets received that were directed to the broadcast address. \;Note: This does not include multicast packets.\;" access="RO" offset="0x1C.0" size="0x4.0" />
	<field name="ether_stats_multicast_pkts_high" descr="The total number of good packets received that were directed to a multicast MAC address. \;Note: This number does not include packets directed to the broadcast address.\;" access="RO" offset="0x20.0" size="0x4.0" />
	<field name="ether_stats_multicast_pkts_low" descr="The total number of good packets received that were directed to a multicast MAC address. \;Note: This number does not include packets directed to the broadcast address.\;" access="RO" offset="0x24.0" size="0x4.0" />
	<field name="ether_stats_crc_align_errors_high" descr="The total number of packets received that had a length (excluding framing bits, but including FCS octets) of between 64 and MTU octets, inclusive, but had either a bad frame check sequence (FCS) with an integral number of octets (FCS error) or a bad FCS with a non-integral number of octets (alignment error).\;" access="RO" offset="0x28.0" size="0x4.0" />
	<field name="ether_stats_crc_align_errors_low" descr="The total number of packets received that had a length (excluding framing bits, but including FCS octets) of between 64 and MTU octets, inclusive, but had either a bad frame check sequence (FCS) with an integral number of octets (FCS error) or a bad FCS with a non-integral number of octets (alignment error).\;" access="RO" offset="0x2C.0" size="0x4.0" />
	<field name="ether_stats_undersize_pkts_high" descr="The total number of packets received that were less than 64 octets long (excluding framing bits, but including FCS octets) and were otherwise well formed.\;" access="RO" offset="0x30.0" size="0x4.0" />
	<field name="ether_stats_undersize_pkts_low" descr="The total number of packets received that were less than 64 octets long (excluding framing bits, but including FCS octets) and were otherwise well formed.\;" access="RO" offset="0x34.0" size="0x4.0" />
	<field name="ether_stats_oversize_pkts_high" descr="The total number of packets received that were longer than MTU octets (excluding framing bits, but including FCS octets) but were otherwise well formed.\;" access="RO" offset="0x38.0" size="0x4.0" />
	<field name="ether_stats_oversize_pkts_low" descr="The total number of packets received that were longer than MTU octets (excluding framing bits, but including FCS octets) but were otherwise well formed.\;" access="RO" offset="0x3C.0" size="0x4.0" />
	<field name="ether_stats_fragments_high" descr="The total number of packets received that were less than 64 octets in length (excluding framing bits but including FCS octets) and had either a bad FCS with an integral number of octets (FCS error) or a bad FCS with a non-integral number of octets (alignment error).\;" access="RO" offset="0x40.0" size="0x4.0" />
	<field name="ether_stats_fragments_low" descr="The total number of packets received that were less than 64 octets in length (excluding framing bits but including FCS octets) and had either a bad FCS with an integral number of octets (FCS error) or a bad FCS with a non-integral number of octets (alignment error).\;" access="RO" offset="0x44.0" size="0x4.0" />
	<field name="ether_stats_jabbers_high" descr="The total number of packets received that were longer than MTU octets (excluding framing bits, but including FCS octets), and had either a bad FCS with an integral number of octets (FCS error) or a bad FCS with a non-integral number of octets (alignment error).\;" access="RO" offset="0x48.0" size="0x4.0" />
	<field name="ether_stats_jabbers_low" descr="The total number of packets received that were longer than MTU octets (excluding framing bits, but including FCS octets), and had either a bad FCS with an integral number of octets (FCS error) or a bad FCS with a non-integral number of octets (alignment error).\;" access="RO" offset="0x4C.0" size="0x4.0" />
	<field name="ether_stats_collisions_high" descr="The best estimate of the total number of collisions on this Ethernet segment.\;" access="RO" offset="0x50.0" size="0x4.0" />
	<field name="ether_stats_collisions_low" descr="The best estimate of the total number of collisions on this Ethernet segment.\;" access="RO" offset="0x54.0" size="0x4.0" />
	<field name="ether_stats_pkts64octets_high" descr="The total number of packets (including bad packets) received that were 64 octets in length (excluding framing bits but including FCS octets)." access="RO" offset="0x58.0" size="0x4.0" />
	<field name="ether_stats_pkts64octets_low" descr="The total number of packets (including bad packets) received that were 64 octets in length (excluding framing bits but including FCS octets)." access="RO" offset="0x5C.0" size="0x4.0" />
	<field name="ether_stats_pkts65to127octets_high" descr="The total number of packets (including bad packets) received that were between 65 and 127 octets in length (excluding framing bits but including FCS octets)." access="RO" offset="0x60.0" size="0x4.0" />
	<field name="ether_stats_pkts65to127octets_low" descr="The total number of packets (including bad packets) received that were between 65 and 127 octets in length (excluding framing bits but including FCS octets)." access="RO" offset="0x64.0" size="0x4.0" />
	<field name="ether_stats_pkts128to255octets_high" descr="The total number of packets (including bad packets) received that were between 128 and 255 octets in length (excluding framing bits but including FCS octets)." access="RO" offset="0x68.0" size="0x4.0" />
	<field name="ether_stats_pkts128to255octets_low" descr="The total number of packets (including bad packets) received that were between 128 and 255 octets in length (excluding framing bits but including FCS octets)." access="RO" offset="0x6C.0" size="0x4.0" />
	<field name="ether_stats_pkts256to511octets_high" descr="The total number of packets (including bad packets) received that were between 256 and 511 octets in length (excluding framing bits but including FCS octets)." access="RO" offset="0x70.0" size="0x4.0" />
	<field name="ether_stats_pkts256to511octets_low" descr="The total number of packets (including bad packets) received that were between 256 and 511 octets in length (excluding framing bits but including FCS octets)." access="RO" offset="0x74.0" size="0x4.0" />
	<field name="ether_stats_pkts512to1023octets_high" descr="The total number of packets (including bad packets) received that were between 512 and 1023 octets in length (excluding framing bits but including FCS octets)." access="RO" offset="0x78.0" size="0x4.0" />
	<field name="ether_stats_pkts512to1023octets_low" descr="The total number of packets (including bad packets) received that were between 512 and 1023 octets in length (excluding framing bits but including FCS octets)." access="RO" offset="0x7C.0" size="0x4.0" />
	<field name="ether_stats_pkts1024to1518octets_high" descr="The total number of packets (including bad packets) received that were between 1024 and 1518 octets in length (excluding framing bits but including FCS octets)." access="RO" offset="0x80.0" size="0x4.0" />
	<field name="ether_stats_pkts1024to1518octets_low" descr="The total number of packets (including bad packets) received that were between 1024 and 1518 octets in length (excluding framing bits but including FCS octets)." access="RO" offset="0x84.0" size="0x4.0" />
	<field name="ether_stats_pkts1519to2047octets_high" descr="The total number of packets (including bad packets) received that were between 1519 and 2047 octets in length (excluding framing bits but including FCS octets)." access="RO" offset="0x88.0" size="0x4.0" />
	<field name="ether_stats_pkts1519to2047octets_low" descr="The total number of packets (including bad packets) received that were between 1519 and 2047 octets in length (excluding framing bits but including FCS octets)." access="RO" offset="0x8C.0" size="0x4.0" />
	<field name="ether_stats_pkts2048to4095octets_high" descr="The total number of packets (including bad packets) received that were between 2048 and 4095 octets in length (excluding framing bits but including FCS octets)." access="RO" offset="0x90.0" size="0x4.0" />
	<field name="ether_stats_pkts2048to4095octets_low" descr="The total number of packets (including bad packets) received that were between 2048 and 4095 octets in length (excluding framing bits but including FCS octets)." access="RO" offset="0x94.0" size="0x4.0" />
	<field name="ether_stats_pkts4096to8191octets_high" descr="The total number of packets (including bad packets) received that were between 4096 and 8191 octets in length (excluding framing bits but including FCS octets)." access="RO" offset="0x98.0" size="0x4.0" />
	<field name="ether_stats_pkts4096to8191octets_low" descr="The total number of packets (including bad packets) received that were between 4096 and 8191 octets in length (excluding framing bits but including FCS octets)." access="RO" offset="0x9C.0" size="0x4.0" />
	<field name="ether_stats_pkts8192to10239octets_high" descr="The total number of packets (including bad packets) received that were between 8192 and 10239 octets in length (excluding framing bits but including FCS octets).\;" access="RO" offset="0xA0.0" size="0x4.0" />
	<field name="ether_stats_pkts8192to10239octets_low" descr="The total number of packets (including bad packets) received that were between 8192 and 10239 octets in length (excluding framing bits but including FCS octets).\;" access="RO" offset="0xA4.0" size="0x4.0" />
</node>

<node name="eth_2863_cntrs_grp_data_layout_ext" descr="" size="0xf8.0" >
	<field name="if_in_octets_high" descr="The total number of octets received, including framing characters. Including MAC control frames.\;\;" access="RO" offset="0x0.0" size="0x4.0" />
	<field name="if_in_octets_low" descr="The total number of octets received, including framing characters. Including MAC control frames.\;\;" access="RO" offset="0x4.0" size="0x4.0" />
	<field name="if_in_ucast_pkts_high" descr="The number of packets successfully received, which were not addressed to a multicast or broadcast MAC address.\;" access="RO" offset="0x8.0" size="0x4.0" />
	<field name="if_in_ucast_pkts_low" descr="The number of packets successfully received, which were not addressed to a multicast or broadcast MAC address.\;" access="RO" offset="0xC.0" size="0x4.0" />
	<field name="if_in_discards_high" descr="The number of inbound packets which were chosen to be discarded even though no errors had been detected to prevent their being deliverable to a higher-layer protocol.\;" access="RO" offset="0x10.0" size="0x4.0" />
	<field name="if_in_discards_low" descr="The number of inbound packets which were chosen to be discarded even though no errors had been detected to prevent their being deliverable to a higher-layer protocol.\;" access="RO" offset="0x14.0" size="0x4.0" />
	<field name="if_in_errors_high" descr="The number of inbound packets that contained errors preventing them from being deliverable to a higher-layer protocol. \;" access="RO" offset="0x18.0" size="0x4.0" />
	<field name="if_in_errors_low" descr="The number of inbound packets that contained errors preventing them from being deliverable to a higher-layer protocol. \;" access="RO" offset="0x1C.0" size="0x4.0" />
	<field name="if_in_unknown_protos_high" descr="The number of packets received via the interface which were discarded because of an unknown or unsupported protocol.\;" access="RO" offset="0x20.0" size="0x4.0" />
	<field name="if_in_unknown_protos_low" descr="The number of packets received via the interface which were discarded because of an unknown or unsupported protocol.\;" access="RO" offset="0x24.0" size="0x4.0" />
	<field name="if_out_octets_high" descr="The total number of octets transmitted out of the interface, including framing characters.\;" access="RO" offset="0x28.0" size="0x4.0" />
	<field name="if_out_octets_low" descr="The total number of octets transmitted out of the interface, including framing characters.\;" access="RO" offset="0x2C.0" size="0x4.0" />
	<field name="if_out_ucast_pkts_high" descr="The total number of packets that higher-level protocols requested be transmitted and were not addressed to a multicast or broadcast MAC address, including those that were discarded or not sent.\;" access="RO" offset="0x30.0" size="0x4.0" />
	<field name="if_out_ucast_pkts_low" descr="The total number of packets that higher-level protocols requested be transmitted and were not addressed to a multicast or broadcast MAC address, including those that were discarded or not sent.\;" access="RO" offset="0x34.0" size="0x4.0" />
	<field name="if_out_discards_high" descr="The number of outbound packets which were chosen to be discarded, even though no errors had been detected to prevent their being transmitted. \;" access="RO" offset="0x38.0" size="0x4.0" />
	<field name="if_out_discards_low" descr="The number of outbound packets which were chosen to be discarded, even though no errors had been detected to prevent their being transmitted. \;" access="RO" offset="0x3C.0" size="0x4.0" />
	<field name="if_out_errors_high" descr="The number of outbound packets that could not be transmitted because of errors.\;" access="RO" offset="0x40.0" size="0x4.0" />
	<field name="if_out_errors_low" descr="The number of outbound packets that could not be transmitted because of errors.\;" access="RO" offset="0x44.0" size="0x4.0" />
	<field name="if_in_multicast_pkts_high" descr="The number of packets successfully received, which were addressed to a multicast MAC address.\;" access="RO" offset="0x48.0" size="0x4.0" />
	<field name="if_in_multicast_pkts_low" descr="The number of packets successfully received, which were addressed to a multicast MAC address.\;" access="RO" offset="0x4C.0" size="0x4.0" />
	<field name="if_in_broadcast_pkts_high" descr="The number of packets successfully received, which were addressed to a broadcast MAC address.\;" access="RO" offset="0x50.0" size="0x4.0" />
	<field name="if_in_broadcast_pkts_low" descr="The number of packets successfully received, which were addressed to a broadcast MAC address.\;" access="RO" offset="0x54.0" size="0x4.0" />
	<field name="if_out_multicast_pkts_high" descr="The total number of packets that higher-level protocols requested be transmitted, and which were addressed to a multicast MAC address, including those that were discarded or not sent.\;" access="RO" offset="0x58.0" size="0x4.0" />
	<field name="if_out_multicast_pkts_low" descr="The total number of packets that higher-level protocols requested be transmitted, and which were addressed to a multicast MAC address, including those that were discarded or not sent.\;" access="RO" offset="0x5C.0" size="0x4.0" />
	<field name="if_out_broadcast_pkts_high" descr="The total number of packets that higher-level protocols requested be transmitted, and which were addressed to a broadcast MAC address, including those that were discarded or not sent.\;" access="RO" offset="0x60.0" size="0x4.0" />
	<field name="if_out_broadcast_pkts_low" descr="The total number of packets that higher-level protocols requested be transmitted, and which were addressed to a broadcast MAC address, including those that were discarded or not sent.\;" access="RO" offset="0x64.0" size="0x4.0" />
</node>

<node name="eth_3635_cntrs_grp_data_layout_ext" descr="" size="0xf8.0" >
	<field name="dot3stats_alignment_errors_high" descr="A count of frames received that are not an integral number of octets in length and do not pass the FCS check.\;" access="RW" offset="0x0.0" size="0x4.0" />
	<field name="dot3stats_alignment_errors_low" descr="A count of frames received that are not an integral number of octets in length and do not pass the FCS check.\;" access="RW" offset="0x4.0" size="0x4.0" />
	<field name="dot3stats_fcs_errors_high" descr="A count of frames received that are an integral number of octets in length but do not pass the FCS check. This count does not include frames received with frame-too-long or frame-too-short errors.\;" access="RW" offset="0x8.0" size="0x4.0" />
	<field name="dot3stats_fcs_errors_low" descr="A count of frames received that are an integral number of octets in length but do not pass the FCS check. This count does not include frames received with frame-too-long or frame-too-short errors.\;" access="RW" offset="0xC.0" size="0x4.0" />
	<field name="dot3stats_single_collision_frames_high" descr="A count of frames that are involved in a single collision, and are subsequently transmitted successfully.\;This counter does not increment when the interface is operating in full-duplex mode.\;" access="RW" offset="0x10.0" size="0x4.0" />
	<field name="dot3stats_single_collision_frames_low" descr="A count of frames that are involved in a single collision, and are subsequently transmitted successfully.\;This counter does not increment when the interface is operating in full-duplex mode.\;" access="RW" offset="0x14.0" size="0x4.0" />
	<field name="dot3stats_multiple_collision_frames_high" descr="A count of frames that are involved in more than one collision and are subsequently transmitted successfully. \;This counter does not increment when the interface is operating in full-duplex mode.\;" access="RW" offset="0x18.0" size="0x4.0" />
	<field name="dot3stats_multiple_collision_frames_low" descr="A count of frames that are involved in more than one collision and are subsequently transmitted successfully. \;This counter does not increment when the interface is operating in full-duplex mode.\;" access="RW" offset="0x1C.0" size="0x4.0" />
	<field name="dot3stats_sqe_test_errors_high" descr="A count of times that the SQE TEST ERROR is received on a particular interface.\;This counter does not increment on interfaces operating at speeds greater than 10 Mb/s, or on interfaces operating in full-duplex mode. \;" access="RW" offset="0x20.0" size="0x4.0" />
	<field name="dot3stats_sqe_test_errors_low" descr="A count of times that the SQE TEST ERROR is received on a particular interface.\;This counter does not increment on interfaces operating at speeds greater than 10 Mb/s, or on interfaces operating in full-duplex mode. \;" access="RW" offset="0x24.0" size="0x4.0" />
	<field name="dot3stats_deferred_transmissions_high" descr="A count of frames for which the first transmission attempt on a particular interface is delayed because the medium is busy. \;This counter does not increment when the interface is operating in full-duplex mode. \;" access="RW" offset="0x28.0" size="0x4.0" />
	<field name="dot3stats_deferred_transmissions_low" descr="A count of frames for which the first transmission attempt on a particular interface is delayed because the medium is busy. \;This counter does not increment when the interface is operating in full-duplex mode. \;" access="RW" offset="0x2C.0" size="0x4.0" />
	<field name="dot3stats_late_collisions_high" descr="The number of times that a collision is detected on a particular interface later than one slotTime into the transmission of a packet.\;This counter does not increment when the interface is operating in full-duplex mode.\;" access="RW" offset="0x30.0" size="0x4.0" />
	<field name="dot3stats_late_collisions_low" descr="The number of times that a collision is detected on a particular interface later than one slotTime into the transmission of a packet.\;This counter does not increment when the interface is operating in full-duplex mode.\;" access="RW" offset="0x34.0" size="0x4.0" />
	<field name="dot3stats_excessive_collisions_high" descr="A count of frames for which transmission on a particular interface fails due to excessive collisions.\;This counter does not increment when the interface is operating in full-duplex mode.\;" access="RW" offset="0x38.0" size="0x4.0" />
	<field name="dot3stats_excessive_collisions_low" descr="A count of frames for which transmission on a particular interface fails due to excessive collisions.\;This counter does not increment when the interface is operating in full-duplex mode.\;" access="RW" offset="0x3C.0" size="0x4.0" />
	<field name="dot3stats_internal_mac_transmit_errors_high" descr="A count of frames for which transmission failed and were discarded even though no errors had been detected to prevent their being deliverable to a higher-layer protocol.\;" access="RW" offset="0x40.0" size="0x4.0" />
	<field name="dot3stats_internal_mac_transmit_errors_low" descr="A count of frames for which transmission failed and were discarded even though no errors had been detected to prevent their being deliverable to a higher-layer protocol.\;" access="RW" offset="0x44.0" size="0x4.0" />
	<field name="dot3stats_carrier_sense_errors_high" descr="The number of times that the carrier sense condition was lost or never asserted when attempting to transmit a frame on a particular interface. \;This counter does not increment when the interface is operating in full-duplex mode. \;" access="RW" offset="0x48.0" size="0x4.0" />
	<field name="dot3stats_carrier_sense_errors_low" descr="The number of times that the carrier sense condition was lost or never asserted when attempting to transmit a frame on a particular interface. \;This counter does not increment when the interface is operating in full-duplex mode. \;" access="RW" offset="0x4C.0" size="0x4.0" />
	<field name="dot3stats_frame_too_longs_high" descr="A count of frames received that exceed the maximum permitted frame size.\;" access="RW" offset="0x50.0" size="0x4.0" />
	<field name="dot3stats_frame_too_longs_low" descr="A count of frames received that exceed the maximum permitted frame size.\;" access="RW" offset="0x54.0" size="0x4.0" />
	<field name="dot3stats_internal_mac_receive_errors_high" descr="A count of frames for which reception failed and were discarded even though no errors had been detected to prevent their being deliverable to a higher-layer protocol.\;" access="RW" offset="0x58.0" size="0x4.0" />
	<field name="dot3stats_internal_mac_receive_errors_low" descr="A count of frames for which reception failed and were discarded even though no errors had been detected to prevent their being deliverable to a higher-layer protocol.\;" access="RW" offset="0x5C.0" size="0x4.0" />
	<field name="dot3stats_symbol_errors_high" descr="The number of times the receiving media is non-idle (a carrier event) for a period of time equal to or greater than minFrameSize, and during which there was at least one occurrence of an event that causes the PHY to indicate &quot;Receive Error&quot;.\;" access="RW" offset="0x60.0" size="0x4.0" />
	<field name="dot3stats_symbol_errors_low" descr="The number of times the receiving media is non-idle (a carrier event) for a period of time equal to or greater than minFrameSize, and during which there was at least one occurrence of an event that causes the PHY to indicate &quot;Receive Error&quot;.\;" access="RW" offset="0x64.0" size="0x4.0" />
	<field name="dot3control_in_unknown_opcodes_high" descr="A count of MAC Control frames received that contain an opcode that is not supported.\;" access="RW" offset="0x68.0" size="0x4.0" />
	<field name="dot3control_in_unknown_opcodes_low" descr="A count of MAC Control frames received that contain an opcode that is not supported.\;" access="RW" offset="0x6C.0" size="0x4.0" />
	<field name="dot3in_pause_frames_high" descr="A count of MAC Control frames received with an opcode indicating the PAUSE operation.\;\;" access="RW" offset="0x70.0" size="0x4.0" />
	<field name="dot3in_pause_frames_low" descr="A count of MAC Control frames received with an opcode indicating the PAUSE operation.\;\;" access="RW" offset="0x74.0" size="0x4.0" />
	<field name="dot3out_pause_frames_high" descr="A count of MAC Control frames transmitted with an opcode indicating the PAUSE operation.\;\;" access="RW" offset="0x78.0" size="0x4.0" />
	<field name="dot3out_pause_frames_low" descr="A count of MAC Control frames transmitted with an opcode indicating the PAUSE operation.\;\;" access="RW" offset="0x7C.0" size="0x4.0" />
</node>

<node name="eth_802_3_cntrs_grp_data_layout_ext" descr="" size="0xf8.0" >
	<field name="a_frames_transmitted_ok_high" descr="A count of frames that are successfully transmitted. \;" access="RO" offset="0x0.0" size="0x4.0" />
	<field name="a_frames_transmitted_ok_low" descr="A count of frames that are successfully transmitted. \;" access="RO" offset="0x4.0" size="0x4.0" />
	<field name="a_frames_received_ok_high" descr="A count of frames that are successfully received. This does not include frames received with frame-too-long, frame check sequence (FCS), length or alignment errors, or frames lost due to other MAC errors.\;\;" access="RO" offset="0x8.0" size="0x4.0" />
	<field name="a_frames_received_ok_low" descr="A count of frames that are successfully received. This does not include frames received with frame-too-long, frame check sequence (FCS), length or alignment errors, or frames lost due to other MAC errors.\;\;" access="RO" offset="0xC.0" size="0x4.0" />
	<field name="a_frame_check_sequence_errors_high" descr="A count of receive frames that are an integral number of octets in length and do not pass the FCS check. This does not include frames received with frame-too-long, or frame-too-short (frame fragment) errors.\;" access="RO" offset="0x10.0" size="0x4.0" />
	<field name="a_frame_check_sequence_errors_low" descr="A count of receive frames that are an integral number of octets in length and do not pass the FCS check. This does not include frames received with frame-too-long, or frame-too-short (frame fragment) errors.\;" access="RO" offset="0x14.0" size="0x4.0" />
	<field name="a_alignment_errors_high" descr="A count of frames that are not an integral number of octets in length and do not pass the FCS check.\;" access="RO" offset="0x18.0" size="0x4.0" />
	<field name="a_alignment_errors_low" descr="A count of frames that are not an integral number of octets in length and do not pass the FCS check.\;" access="RO" offset="0x1C.0" size="0x4.0" />
	<field name="a_octets_transmitted_ok_high" descr="A count of data and padding octets of frames that are successfully transmitted.\;" access="RO" offset="0x20.0" size="0x4.0" />
	<field name="a_octets_transmitted_ok_low" descr="A count of data and padding octets of frames that are successfully transmitted.\;" access="RO" offset="0x24.0" size="0x4.0" />
	<field name="a_octets_received_ok_high" descr="A count of data and padding octets in frames that are successfully received. This does not include octets in frames received with frame-too-long, FCS, length or alignment errors, or frames lost due to other MAC errors.\;" access="RO" offset="0x28.0" size="0x4.0" />
	<field name="a_octets_received_ok_low" descr="A count of data and padding octets in frames that are successfully received. This does not include octets in frames received with frame-too-long, FCS, length or alignment errors, or frames lost due to other MAC errors.\;" access="RO" offset="0x2C.0" size="0x4.0" />
	<field name="a_multicast_frames_xmitted_ok_high" descr="A count of frames that are successfully transmitted to a group destination address other than broadcast.\;" access="RO" offset="0x30.0" size="0x4.0" />
	<field name="a_multicast_frames_xmitted_ok_low" descr="A count of frames that are successfully transmitted to a group destination address other than broadcast.\;" access="RO" offset="0x34.0" size="0x4.0" />
	<field name="a_broadcast_frames_xmitted_ok_high" descr="A count of the frames that were successfully transmitted to the broadcast address. Frames transmitted to multicast addresses are not broadcast frames and are excluded.\;" access="RO" offset="0x38.0" size="0x4.0" />
	<field name="a_broadcast_frames_xmitted_ok_low" descr="A count of the frames that were successfully transmitted to the broadcast address. Frames transmitted to multicast addresses are not broadcast frames and are excluded.\;" access="RO" offset="0x3C.0" size="0x4.0" />
	<field name="a_multicast_frames_received_ok_high" descr="A count of frames that are successfully received and directed to an active nonbroadcast group address. This does not include frames received with frame-too-long, FCS, length or alignment errors, or frames lost due to internal MAC sublayer error. \;" access="RO" offset="0x40.0" size="0x4.0" />
	<field name="a_multicast_frames_received_ok_low" descr="A count of frames that are successfully received and directed to an active nonbroadcast group address. This does not include frames received with frame-too-long, FCS, length or alignment errors, or frames lost due to internal MAC sublayer error. \;" access="RO" offset="0x44.0" size="0x4.0" />
	<field name="a_broadcast_frames_received_ok_high" descr="A count of the frames that were successfully transmitted to the broadcast address. Frames transmitted to multicast addresses are not broadcast frames and are excluded. \;" access="RO" offset="0x48.0" size="0x4.0" />
	<field name="a_broadcast_frames_received_ok_low" descr="A count of the frames that were successfully transmitted to the broadcast address. Frames transmitted to multicast addresses are not broadcast frames and are excluded. \;" access="RO" offset="0x4C.0" size="0x4.0" />
	<field name="a_in_range_length_errors_high" descr="A count of frames with a length/type field value between the minimum unpadded MAC client data size and the maximum allowed MAC client data size, inclusive, that does not match the number of MAC client data octets received. The counter also increments for frames whose length/type field value is less than the minimum allowed unpadded MAC client data size and the number of MAC client data octets received is greater than the minimum unpadded MAC client data size.\;" access="RO" offset="0x50.0" size="0x4.0" />
	<field name="a_in_range_length_errors_low" descr="A count of frames with a length/type field value between the minimum unpadded MAC client data size and the maximum allowed MAC client data size, inclusive, that does not match the number of MAC client data octets received. The counter also increments for frames whose length/type field value is less than the minimum allowed unpadded MAC client data size and the number of MAC client data octets received is greater than the minimum unpadded MAC client data size.\;" access="RO" offset="0x54.0" size="0x4.0" />
	<field name="a_out_of_range_length_field_high" descr="A count of frames with a length field value greater than the maximum allowed LLC data size. \;" access="RO" offset="0x58.0" size="0x4.0" />
	<field name="a_out_of_range_length_field_low" descr="A count of frames with a length field value greater than the maximum allowed LLC data size. \;" access="RO" offset="0x5C.0" size="0x4.0" />
	<field name="a_frame_too_long_errors_high" descr="A count of frames received that exceed the maximum permitted frame size by IEEE 802.3 (MTU size).\;" access="RO" offset="0x60.0" size="0x4.0" />
	<field name="a_frame_too_long_errors_low" descr="A count of frames received that exceed the maximum permitted frame size by IEEE 802.3 (MTU size).\;" access="RO" offset="0x64.0" size="0x4.0" />
	<field name="a_symbol_error_during_carrier_high" descr="For full duplex operation at 1000 Mb/s, it is a count of the number of times the receiving media is non-idle (a carrier event) for a period of time equal to or greater than minFrameSize, and during which there was at least one occurrence of an event that causes the PHY to indicate &quot;Data reception error&quot;.\;For operation at 10 Gb/s, 40 Gb/s, and 100 Gb/s, it is a count of the number of times the receiving media is non-idle for a period of time equal to or greater than minFrameSize, and during which there was at least one occurrence of an event that causes the PHY to indicate\;Error.\;" access="RO" offset="0x68.0" size="0x4.0" />
	<field name="a_symbol_error_during_carrier_low" descr="For full duplex operation at 1000 Mb/s, it is a count of the number of times the receiving media is non-idle (a carrier event) for a period of time equal to or greater than minFrameSize, and during which there was at least one occurrence of an event that causes the PHY to indicate &quot;Data reception error&quot;.\;For operation at 10 Gb/s, 40 Gb/s, and 100 Gb/s, it is a count of the number of times the receiving media is non-idle for a period of time equal to or greater than minFrameSize, and during which there was at least one occurrence of an event that causes the PHY to indicate\;Error.\;" access="RO" offset="0x6C.0" size="0x4.0" />
	<field name="a_mac_control_frames_transmitted_high" descr="A count of MAC Control frames passed to the MAC sublayer for transmission.\;" access="RO" offset="0x70.0" size="0x4.0" />
	<field name="a_mac_control_frames_transmitted_low" descr="A count of MAC Control frames passed to the MAC sublayer for transmission.\;" access="RO" offset="0x74.0" size="0x4.0" />
	<field name="a_mac_control_frames_received_high" descr="A count of MAC Control frames passed by the MAC sublayer to the MAC Control sublayer.\;" access="RO" offset="0x78.0" size="0x4.0" />
	<field name="a_mac_control_frames_received_low" descr="A count of MAC Control frames passed by the MAC sublayer to the MAC Control sublayer.\;" access="RO" offset="0x7C.0" size="0x4.0" />
	<field name="a_unsupported_opcodes_received_high" descr="A count of MAC Control frames received that contain an opcode that is not supported by the device.\;" access="RO" offset="0x80.0" size="0x4.0" />
	<field name="a_unsupported_opcodes_received_low" descr="A count of MAC Control frames received that contain an opcode that is not supported by the device.\;" access="RO" offset="0x84.0" size="0x4.0" />
	<field name="a_pause_mac_ctrl_frames_received_high" descr="A count of MAC PAUSE frames passed by the MAC sublayer to the MAC Control sublayer.\;" access="RO" offset="0x88.0" size="0x4.0" />
	<field name="a_pause_mac_ctrl_frames_received_low" descr="A count of MAC PAUSE frames passed by the MAC sublayer to the MAC Control sublayer.\;" access="RO" offset="0x8C.0" size="0x4.0" />
	<field name="a_pause_mac_ctrl_frames_transmitted_high" descr="A count of PAUSE frames passed to the MAC sublayer for transmission.\;" access="RO" offset="0x90.0" size="0x4.0" />
	<field name="a_pause_mac_ctrl_frames_transmitted_low" descr="A count of PAUSE frames passed to the MAC sublayer for transmission.\;" access="RO" offset="0x94.0" size="0x4.0" />
</node>

<node name="eth_adjacency_ext" descr="" size="0x18.0" >
	<field name="destination_mac_47_32" descr="MAC address of the destination next-hop." access="RW" offset="0x0.0" size="0x0.16" />
	<field name="destination_mac_31_0" descr="MAC address of the destination next-hop." access="RW" offset="0x4.0" size="0x4.0" />
</node>

<node name="eth_discard_cntrs_grp_ext" descr="" size="0xf8.0" >
	<field name="ingress_general_high" descr="Ingress general \;\;" access="RO" offset="0x0.0" size="0x4.0" />
	<field name="ingress_general_low" descr="Ingress general \;\;" access="RO" offset="0x4.0" size="0x4.0" />
	<field name="ingress_policy_engine_high" descr="Ingress policy engine discards" access="RO" offset="0x8.0" size="0x4.0" />
	<field name="ingress_policy_engine_low" descr="Ingress policy engine discards" access="RO" offset="0xC.0" size="0x4.0" />
	<field name="ingress_vlan_membership_high" descr="Ingress VLAN membership filter discards" access="RO" offset="0x10.0" size="0x4.0" />
	<field name="ingress_vlan_membership_low" descr="Ingress VLAN membership filter discards" access="RO" offset="0x14.0" size="0x4.0" />
	<field name="ingress_tag_frame_type_high" descr="Ingress VLAN tag allowance (tagged, untagged and prio-tagged) filter discards" access="RO" offset="0x18.0" size="0x4.0" />
	<field name="ingress_tag_frame_type_low" descr="Ingress VLAN tag allowance (tagged, untagged and prio-tagged) filter discards" access="RO" offset="0x1C.0" size="0x4.0" />
	<field name="egress_vlan_membership_high" descr="Egress VLAN membership filter discards" access="RO" offset="0x20.0" size="0x4.0" />
	<field name="egress_vlan_membership_low" descr="Egress VLAN membership filter discards" access="RO" offset="0x24.0" size="0x4.0" />
	<field name="loopback_filter_high" descr="Loop-back filter discards" access="RO" offset="0x28.0" size="0x4.0" />
	<field name="loopback_filter_low" descr="Loop-back filter discards" access="RO" offset="0x2C.0" size="0x4.0" />
	<field name="egress_general_high" descr="Egress general discards\;" access="RO" offset="0x30.0" size="0x4.0" />
	<field name="egress_general_low" descr="Egress general discards\;" access="RO" offset="0x34.0" size="0x4.0" />
	<field name="egress_link_down_high" descr="Egress link down discards\;\;Note: Not supported on SPC1 \;" access="RO" offset="0x38.0" size="0x4.0" />
	<field name="egress_link_down_low" descr="Egress link down discards\;\;Note: Not supported on SPC1 \;" access="RO" offset="0x3C.0" size="0x4.0" />
	<field name="egress_hoq_high" descr="Head-of-Queue time-out discards" access="RO" offset="0x40.0" size="0x4.0" />
	<field name="egress_hoq_low" descr="Head-of-Queue time-out discards" access="RO" offset="0x44.0" size="0x4.0" />
	<field name="port_isolation_high" descr="Port isolation filter discards" access="RO" offset="0x48.0" size="0x4.0" />
	<field name="port_isolation_low" descr="Port isolation filter discards" access="RO" offset="0x4C.0" size="0x4.0" />
	<field name="egress_policy_engine_high" descr="Egress policy engine discards" access="RO" offset="0x50.0" size="0x4.0" />
	<field name="egress_policy_engine_low" descr="Egress policy engine discards" access="RO" offset="0x54.0" size="0x4.0" />
	<field name="egress_stp_filter_high" descr="Egress spanning tree filter" access="RO" offset="0x60.0" size="0x4.0" />
	<field name="egress_stp_filter_low" descr="Egress spanning tree filter" access="RO" offset="0x64.0" size="0x4.0" />
	<field name="egress_hoq_stall_high" descr="Number of sequential packets dropped, due to Head-Of-Queue Lifetime Limit, that causes the port to enter the Stall state \;\;Reserved for Switches" access="RO" offset="0x68.0" size="0x4.0" />
	<field name="egress_hoq_stall_low" descr="Number of sequential packets dropped, due to Head-Of-Queue Lifetime Limit, that causes the port to enter the Stall state \;\;Reserved for Switches" access="RO" offset="0x6C.0" size="0x4.0" />
	<field name="egress_sll_high" descr="Number of packets dropped, because the Switch Lifetime Limit was exceeded. \;\;Applies for switches only. Reserved for HCAs" access="RO" offset="0x70.0" size="0x4.0" />
	<field name="egress_sll_low" descr="Number of packets dropped, because the Switch Lifetime Limit was exceeded. \;\;Applies for switches only. Reserved for HCAs" access="RO" offset="0x74.0" size="0x4.0" />
	<field name="ingress_discard_all_high" descr="Number of packets dropped for of any reason.\; Note: see description in the description area for limitations of this counter.\;Applies for switches only. Reserved for HCAs\;\;Note: deprecated for all Ethernet devices" access="RO" offset="0x78.0" size="0x4.0" />
	<field name="ingress_discard_all_low" descr="Number of packets dropped for of any reason.\; Note: see description in the description area for limitations of this counter.\;Applies for switches only. Reserved for HCAs\;\;Note: deprecated for all Ethernet devices" access="RO" offset="0x7C.0" size="0x4.0" />
	<field name="ingress_no_tx_high" descr="[Draft] Number of packets dropped at ingress for lack of TX list.\;Triggered by DISCARD_LOOKUP_SWITCH or more specifically DISCARD_LOOKUP_SWITCH_UC, DISCARD_LOOKUP_SWITCH_MC_NULL or DISCARD_LOOKUP_SWITCH_NO_PORTS. See Section  2.8.3.12, &quot;Discard Extended Trap IDs,&quot; on page  609.\;Supported on switches only from Spectrum-4." access="RO" offset="0x80.0" size="0x4.0" />
	<field name="ingress_no_tx_low" descr="[Draft] Number of packets dropped at ingress for lack of TX list.\;Triggered by DISCARD_LOOKUP_SWITCH or more specifically DISCARD_LOOKUP_SWITCH_UC, DISCARD_LOOKUP_SWITCH_MC_NULL or DISCARD_LOOKUP_SWITCH_NO_PORTS. See Section  2.8.3.12, &quot;Discard Extended Trap IDs,&quot; on page  609.\;Supported on switches only from Spectrum-4." access="RO" offset="0x84.0" size="0x4.0" />
</node>

<node name="eth_extended_cntrs_grp_data_layout_ext" descr="" size="0xf8.0" >
	<field name="port_transmit_wait_high" descr="The number of wire speed one-byte period(s) during which the port had data to transmit but no data was sent\;\;" access="RO" offset="0x0.0" size="0x4.0" />
	<field name="port_transmit_wait_low" descr="The number of wire speed one-byte period(s) during which the port had data to transmit but no data was sent\;\;" access="RO" offset="0x4.0" size="0x4.0" />
	<field name="ecn_marked_high" descr="A count of packets marked as ECN or potentially marked as ECN.\;ECN Counting enable/disable is configurable. \;Valid only for Spectrum family.\;\;" access="RO" offset="0x8.0" size="0x4.0" />
	<field name="ecn_marked_low" descr="A count of packets marked as ECN or potentially marked as ECN.\;ECN Counting enable/disable is configurable. \;Valid only for Spectrum family.\;\;" access="RO" offset="0xC.0" size="0x4.0" />
	<field name="no_buffer_discard_mc_high" descr="The number of multicast packets dropped due to lack of egress buffer resources.\;Valid only for Spectrum.\;" access="RO" offset="0x10.0" size="0x4.0" />
	<field name="no_buffer_discard_mc_low" descr="The number of multicast packets dropped due to lack of egress buffer resources.\;Valid only for Spectrum.\;" access="RO" offset="0x14.0" size="0x4.0" />
	<field name="rx_ebp_high" descr="The number of received EBP packets.\;" access="RO" offset="0x18.0" size="0x4.0" />
	<field name="rx_ebp_low" descr="The number of received EBP packets.\;" access="RO" offset="0x1C.0" size="0x4.0" />
	<field name="tx_ebp_high" descr="The number of transmitted EBP packets.\;" access="RO" offset="0x20.0" size="0x4.0" />
	<field name="tx_ebp_low" descr="The number of transmitted EBP packets.\;" access="RO" offset="0x24.0" size="0x4.0" />
	<field name="rx_buffer_almost_full_high" descr="The number of events where the port rx buffer has passed a fullness threshold \;\;Reserved for Switches." access="RO" offset="0x28.0" size="0x4.0" />
	<field name="rx_buffer_almost_full_low" descr="The number of events where the port rx buffer has passed a fullness threshold \;\;Reserved for Switches." access="RO" offset="0x2C.0" size="0x4.0" />
	<field name="rx_buffer_full_high" descr="The number of events where the port rx buffer has reached 100% fullness \;\;Reserved for Switches." access="RO" offset="0x30.0" size="0x4.0" />
	<field name="rx_buffer_full_low" descr="The number of events where the port rx buffer has reached 100% fullness \;\;Reserved for Switches." access="RO" offset="0x34.0" size="0x4.0" />
	<field name="rx_icrc_encapsulated_high" descr="The number of roce packets with ICRC error\;\;Reserved for Switches." access="RO" offset="0x38.0" size="0x4.0" />
	<field name="rx_icrc_encapsulated_low" descr="The number of roce packets with ICRC error\;\;Reserved for Switches." access="RO" offset="0x3C.0" size="0x4.0" />
	<field name="tx_stats_pkts64octets_high" descr="The total number of packets (including bad packets) transmitted that were 64 octets in length (excluding framing bits but including FCS octets)." access="RO" offset="0x50.0" size="0x4.0" />
	<field name="tx_stats_pkts64octets_low" descr="The total number of packets (including bad packets) transmitted that were 64 octets in length (excluding framing bits but including FCS octets)." access="RO" offset="0x54.0" size="0x4.0" />
	<field name="tx_stats_pkts65to127octets_high" descr="The total number of packets (including bad packets) transmitted that were between 65 and 127 octets in length (excluding framing bits but including FCS octets)." access="RO" offset="0x58.0" size="0x4.0" />
	<field name="tx_stats_pkts65to127octets_low" descr="The total number of packets (including bad packets) transmitted that were between 65 and 127 octets in length (excluding framing bits but including FCS octets)." access="RO" offset="0x5C.0" size="0x4.0" />
	<field name="tx_stats_pkts128to255octets_high" descr="The total number of packets (including bad packets) transmitted that were between 128 and 255 octets in length (excluding framing bits but including FCS octets)." access="RO" offset="0x60.0" size="0x4.0" />
	<field name="tx_stats_pkts128to255octets_low" descr="The total number of packets (including bad packets) transmitted that were between 128 and 255 octets in length (excluding framing bits but including FCS octets)." access="RO" offset="0x64.0" size="0x4.0" />
	<field name="tx_stats_pkts256to511octets_high" descr="The total number of packets (including bad packets) transmitted that were between 256 and 511 octets in length (excluding framing bits but including FCS octets)." access="RO" offset="0x68.0" size="0x4.0" />
	<field name="tx_stats_pkts256to511octets_low" descr="The total number of packets (including bad packets) transmitted that were between 256 and 511 octets in length (excluding framing bits but including FCS octets)." access="RO" offset="0x6C.0" size="0x4.0" />
	<field name="tx_stats_pkts512to1023octets_high" descr="The total number of packets (including bad packets) transmitted that were between 512 and 1023 octets in length (excluding framing bits but including FCS octets)." access="RO" offset="0x70.0" size="0x4.0" />
	<field name="tx_stats_pkts512to1023octets_low" descr="The total number of packets (including bad packets) transmitted that were between 512 and 1023 octets in length (excluding framing bits but including FCS octets)." access="RO" offset="0x74.0" size="0x4.0" />
	<field name="tx_stats_pkts1024to1518octets_high" descr="The total number of packets (including bad packets) transmitted that were between 1024 and 1518 octets in length (excluding framing bits but including FCS octets)." access="RO" offset="0x78.0" size="0x4.0" />
	<field name="tx_stats_pkts1024to1518octets_low" descr="The total number of packets (including bad packets) transmitted that were between 1024 and 1518 octets in length (excluding framing bits but including FCS octets)." access="RO" offset="0x7C.0" size="0x4.0" />
	<field name="tx_stats_pkts1519to2047octets_high" descr="The total number of packets (including bad packets) transmitted that were between 1519 and 2047 octets in length (excluding framing bits but including FCS octets)." access="RO" offset="0x80.0" size="0x4.0" />
	<field name="tx_stats_pkts1519to2047octets_low" descr="The total number of packets (including bad packets) transmitted that were between 1519 and 2047 octets in length (excluding framing bits but including FCS octets)." access="RO" offset="0x84.0" size="0x4.0" />
	<field name="tx_stats_pkts2048to4095octets_high" descr="The total number of packets (including bad packets) transmitted that were between 2048 and 4095 octets in length (excluding framing bits but including FCS octets)." access="RO" offset="0x88.0" size="0x4.0" />
	<field name="tx_stats_pkts2048to4095octets_low" descr="The total number of packets (including bad packets) transmitted that were between 2048 and 4095 octets in length (excluding framing bits but including FCS octets)." access="RO" offset="0x8C.0" size="0x4.0" />
	<field name="tx_stats_pkts4096to8191octets_high" descr="The total number of packets (including bad packets) transmitted that were between 4096 and 8191 octets in length (excluding framing bits but including FCS octets)." access="RO" offset="0x90.0" size="0x4.0" />
	<field name="tx_stats_pkts4096to8191octets_low" descr="The total number of packets (including bad packets) transmitted that were between 4096 and 8191 octets in length (excluding framing bits but including FCS octets)." access="RO" offset="0x94.0" size="0x4.0" />
	<field name="tx_stats_pkts8192to10239octets_high" descr="The total number of packets (including bad packets) transmitted that were between 8192 and 10239 octets in length (excluding framing bits but including FCS octets).transmitted\;" access="RO" offset="0x98.0" size="0x4.0" />
	<field name="tx_stats_pkts8192to10239octets_low" descr="The total number of packets (including bad packets) transmitted that were between 8192 and 10239 octets in length (excluding framing bits but including FCS octets).transmitted\;" access="RO" offset="0x9C.0" size="0x4.0" />
	<field name="ece_marked_high" descr="A count of packets marked as ECE or potentially marked as ECE." access="RO" offset="0xA0.0" size="0x4.0" />
	<field name="ece_marked_low" descr="A count of packets marked as ECE or potentially marked as ECE." access="RO" offset="0xA4.0" size="0x4.0" />
	<field name="tx_int_cksm_err_high" descr="Counter is incremented upon packet payload internal checksum error" access="RO" offset="0xA8.0" size="0x4.0" />
	<field name="tx_int_cksm_err_low" descr="Counter is incremented upon packet payload internal checksum error" access="RO" offset="0xAC.0" size="0x4.0" />
</node>

<node name="eth_per_prio_grp_data_layout_ext" descr="" size="0xf8.0" >
	<field name="rx_octets_high" descr="The total number of octets received, including framing characters. Octets of discarded frames due to buffer overflow are included\; octets" access="RO" offset="0x0.0" size="0x4.0" />
	<field name="rx_octets_low" descr="The total number of octets received, including framing characters. Octets of discarded frames due to buffer overflow are included\; octets" access="RO" offset="0x4.0" size="0x4.0" />
	<field name="rx_frames_high" descr="The total number of packets received for this priority (not including pause frames).\;Does not include discarded frames due to buffer overflow, control (pause) frames.\;" access="RO" offset="0x20.0" size="0x4.0" />
	<field name="rx_frames_low" descr="The total number of packets received for this priority (not including pause frames).\;Does not include discarded frames due to buffer overflow, control (pause) frames.\;" access="RO" offset="0x24.0" size="0x4.0" />
	<field name="tx_octets_high" descr="The total number of octets transmitted, including framing characters.\;\;\;" access="RO" offset="0x28.0" size="0x4.0" />
	<field name="tx_octets_low" descr="The total number of octets transmitted, including framing characters.\;\;\;" access="RO" offset="0x2C.0" size="0x4.0" />
	<field name="tx_frames_high" descr="The total number of packets transmitted.\;" access="RO" offset="0x48.0" size="0x4.0" />
	<field name="tx_frames_low" descr="The total number of packets transmitted.\;" access="RO" offset="0x4C.0" size="0x4.0" />
	<field name="rx_pause_high" descr="The total number of PAUSE frames received from the far-end port." access="RO" offset="0x50.0" size="0x4.0" />
	<field name="rx_pause_low" descr="The total number of PAUSE frames received from the far-end port." access="RO" offset="0x54.0" size="0x4.0" />
	<field name="rx_pause_duration_high" descr="The total time in microseconds that transmission of packets to the far-end port have been paused.\;Note that if pause is global then tclass &quot;0&quot; will increment\;" access="RO" offset="0x58.0" size="0x4.0" />
	<field name="rx_pause_duration_low" descr="The total time in microseconds that transmission of packets to the far-end port have been paused.\;Note that if pause is global then tclass &quot;0&quot; will increment\;" access="RO" offset="0x5C.0" size="0x4.0" />
	<field name="tx_pause_high" descr="The total number of PAUSE or PFC frames sent to the far-end port.\;" access="RO" offset="0x60.0" size="0x4.0" />
	<field name="tx_pause_low" descr="The total number of PAUSE or PFC frames sent to the far-end port.\;" access="RO" offset="0x64.0" size="0x4.0" />
	<field name="tx_pause_duration_high" descr="The total time in microseconds that the far-end port have been requested to pause.\;\;" access="RO" offset="0x68.0" size="0x4.0" />
	<field name="tx_pause_duration_low" descr="The total time in microseconds that the far-end port have been requested to pause.\;\;" access="RO" offset="0x6C.0" size="0x4.0" />
	<field name="rx_pause_transition_high" descr="Counts the number of transitions from Xoff to Xon.\;" access="RO" offset="0x70.0" size="0x4.0" />
	<field name="rx_pause_transition_low" descr="Counts the number of transitions from Xoff to Xon.\;" access="RO" offset="0x74.0" size="0x4.0" />
	<field name="rx_discards_high" descr="The number of inbound packets which were chosen to be discarded even though no errors had been detected to prevent their being deliverable to a higher-layer protocol.\;" access="RO" offset="0x78.0" size="0x4.0" />
	<field name="rx_discards_low" descr="The number of inbound packets which were chosen to be discarded even though no errors had been detected to prevent their being deliverable to a higher-layer protocol.\;" access="RO" offset="0x7C.0" size="0x4.0" />
	<field name="device_stall_minor_watermark_cnt_high" descr="The number of times the device detected a stalled state for a period longer than device_stall_minor_watermark\;The counter is presented in priority 0, but is a sum of all events on all priorities (including global pause)." access="RO" offset="0x80.0" size="0x4.0" />
	<field name="device_stall_minor_watermark_cnt_low" descr="The number of times the device detected a stalled state for a period longer than device_stall_minor_watermark\;The counter is presented in priority 0, but is a sum of all events on all priorities (including global pause)." access="RO" offset="0x84.0" size="0x4.0" />
	<field name="device_stall_critical_watermark_cnt_high" descr="The number of times the device detected a stalled state for a period longer than device_stall_critical_watermark.\;The counter is presented in priority 0, but is a sum of all events on all priorities (including global pause)." access="RO" offset="0x88.0" size="0x4.0" />
	<field name="device_stall_critical_watermark_cnt_low" descr="The number of times the device detected a stalled state for a period longer than device_stall_critical_watermark.\;The counter is presented in priority 0, but is a sum of all events on all priorities (including global pause)." access="RO" offset="0x8C.0" size="0x4.0" />
</node>

<node name="eth_per_traffic_class_cong_layout_ext" descr="" size="0xf8.0" >
	<field name="wred_discard_high" descr="The number of packet that are dropped by the Weighted Random Early Detection (WRED) function.\;For switches - valid only for Spectrum and on\;" access="RO" offset="0x0.0" size="0x4.0" />
	<field name="wred_discard_low" descr="The number of packet that are dropped by the Weighted Random Early Detection (WRED) function.\;For switches - valid only for Spectrum and on\;" access="RO" offset="0x4.0" size="0x4.0" />
	<field name="ecn_marked_tc_high" descr="A count of packets marked as ECN or potentially marked as ECN.\;ECN Counting enable/disable is configurable. \;For switches - valid only for Spectrum-3 and on\;" access="RO" offset="0x8.0" size="0x4.0" />
	<field name="ecn_marked_tc_low" descr="A count of packets marked as ECN or potentially marked as ECN.\;ECN Counting enable/disable is configurable. \;For switches - valid only for Spectrum-3 and on\;" access="RO" offset="0xC.0" size="0x4.0" />
</node>

<node name="eth_per_traffic_class_layout_ext" descr="" size="0xf8.0" >
	<field name="transmit_queue_high" descr="Contains the transmit queue depth in bytes on traffic class selected by traffic_class of the port selected by local_port.\;\;" access="RO" offset="0x0.0" size="0x4.0" />
	<field name="transmit_queue_low" descr="Contains the transmit queue depth in bytes on traffic class selected by traffic_class of the port selected by local_port.\;\;" access="RO" offset="0x4.0" size="0x4.0" />
	<field name="no_buffer_discard_uc_high" descr="The number of unicast packets dropped due to lack of shared buffer resources.\;Valid only for Spectrum.\;Valid for HCA when ppcnt_no_buffer_uc is set in PCAM." access="RO" offset="0x8.0" size="0x4.0" />
	<field name="no_buffer_discard_uc_low" descr="The number of unicast packets dropped due to lack of shared buffer resources.\;Valid only for Spectrum.\;Valid for HCA when ppcnt_no_buffer_uc is set in PCAM." access="RO" offset="0xC.0" size="0x4.0" />
</node>

<node name="ext_occu_stat_ext" descr="" size="0x4.0" >
	<field name="ext_buff_occupancy" descr="Extended current buffer occupancy\;Includes also all of the min_buff of the relevant PG buffer or traffic class associated to this pool\;Reserved when Spectrum, supported by Spectrum-2 and on and Quantum.\;" access="RO" offset="0x0.0" size="0x0.24" />
</node>

<node name="fatal_cause_ext" descr="" size="0xa0.0" >
	<field name="cause_id" descr="HW / FW cause ID\;\;FW Causes (When fw_cause = 1):\;1: Core PLL lock failure\;\;When test = 1 AND fw_cause = 0, cause ID = 0xCAFE" access="RO" offset="0x0.0" size="0x0.20" />
	<field name="fw_cause" descr="0: cause_id reflects HW cause ID\;1: cause_id reflects FW cause (event)" access="RW" offset="0x0.30" size="0x0.1" />
	<field name="test" descr="Test:\;0: real cause ID\;1: test cause ID" access="RO" offset="0x0.31" size="0x0.1" />
	<field name="tile_index" descr="When tile_v=1 the tile_index that caused the assert.\;\;[DWIP] Superseded by top level tile_v and tile_index. Kept for backwards compatibility." access="RO" offset="0x4.16" size="0x0.6" />
	<field name="tile_v" descr="Tile valid:\;0: The assert was from main\;1: The assert was from a tile\;\;[DWIP] Superseded by top level tile_v and tile_index. Kept for backwards compatibility." access="RO" offset="0x4.23" size="0x0.1" />
</node>

<node name="fgcr_ext" descr="" size="0x10.0" >
	<field name="flat_sec_offset" descr="Indicates Secondary lines offset in General Purpose SRAM from primary base when using atomic option.\;Relevant both for SRAM0 and SRAM1.\;\;Supported from Spectrum-4 and above." access="RW" offset="0x0.0" size="0x0.8" />
</node>

<node name="field_info_ext" descr="" size="0x8.0" >
	<field name="prio_val" descr="Priority Value, according to the prio_sel:\;it cnt_type=0,2 this field is reserved." access="RW" offset="0x0.0" size="0x0.6" />
	<field name="prio_sel" descr="Priority Selector:\;0: ieee_prio\;1: tclass\;2: pg\;\;it cnt_type=0,2 this field is reserved." access="RW" offset="0x0.16" size="0x0.4" />
	<field name="cnt_type" descr="Counter Type:\;0: meta_data - from Table , &quot;,&quot; on page 1414\;1: port_counter - from Table , &quot;,&quot; on page 1414\;2: port_metadata - from Table 3826, &quot;port metadata,&quot; on page 4512" access="RW" offset="0x0.28" size="0x0.4" />
	<field name="cnt_idx" descr="According to cnt_type.\;Shared Buffer counters (PBSR, SBCM) are not supported in Spectrum-4.\;When cnt_type=1, only indexes 0-11 + 15,16 are supported." access="RW" offset="0x4.0" size="0x0.8" />
	<field name="msb_or_lsb" descr="Take MSB or LSB.\;0: LSB\;1: MSB\;\;note: only if counter is bigger than 32 bits." access="RW" offset="0x4.31" size="0x0.1" />
</node>

<node name="flex2_key_18b_ext" descr="" size="0x14.0" >
	<field name="flex_key3_high" descr="Flexible ACL key block as defined in: Section 11.7.3, &quot;Flex2 ACL Key Blocks Detailed&quot;, on page 3518" offset="0x0.0" size="0x0.16" />
	<field name="flex_key2_high" descr="" offset="0x4.0" size="0x0.12" />
	<field name="flex_key3_low" descr="" offset="0x4.12" size="0x0.20" />
	<field name="flex_key1_high" descr="" offset="0x8.0" size="0x0.8" />
	<field name="flex_key2_low" descr="" offset="0x8.8" size="0x0.24" />
	<field name="flex_key0_high" descr="" offset="0xC.0" size="0x0.4" />
	<field name="flex_key1_low" descr="" offset="0xC.4" size="0x0.28" />
	<field name="flex_key0_low" descr="" offset="0x10.0" size="0x4.0" />
</node>

<node name="flex2_key_54b_ext" descr="" size="0x38.0" >
	<field name="flex_key11_high" descr="Flexible ACL key block as defined in: Section 11.7.3, &quot;Flex2 ACL Key Blocks Detailed&quot;, on page 3518" offset="0x0.0" size="0x0.16" />
	<field name="flex_key10_high" descr="" offset="0x4.0" size="0x0.12" />
	<field name="flex_key11_low" descr="" offset="0x4.12" size="0x0.20" />
	<field name="flex_key9_high" descr="" offset="0x8.0" size="0x0.8" />
	<field name="flex_key10_low" descr="" offset="0x8.8" size="0x0.24" />
	<field name="flex_key8_high" descr="" offset="0xC.0" size="0x0.4" />
	<field name="flex_key9_low" descr="" offset="0xC.4" size="0x0.28" />
	<field name="flex_key8_low" descr="" offset="0x10.0" size="0x4.0" />
	<field name="flex_key7_high" descr="" offset="0x14.0" size="0x4.0" />
	<field name="flex_key6_high" descr="" offset="0x18.0" size="0x0.28" />
	<field name="flex_key7_low" descr="" offset="0x18.28" size="0x0.4" />
	<field name="flex_key5_high" descr="" offset="0x1C.0" size="0x0.24" />
	<field name="flex_key6_low" descr="" offset="0x1C.24" size="0x0.8" />
	<field name="flex_key4_high" descr="" offset="0x20.0" size="0x0.20" />
	<field name="flex_key5_low" descr="" offset="0x20.20" size="0x0.12" />
	<field name="flex_key3_high" descr="" offset="0x24.0" size="0x0.16" />
	<field name="flex_key4_low" descr="" offset="0x24.16" size="0x0.16" />
	<field name="flex_key2_high" descr="" offset="0x28.0" size="0x0.12" />
	<field name="flex_key3_low" descr="" offset="0x28.12" size="0x0.20" />
	<field name="flex_key1_high" descr="" offset="0x2C.0" size="0x0.8" />
	<field name="flex_key2_low" descr="" offset="0x2C.8" size="0x0.24" />
	<field name="flex_key0_high" descr="" offset="0x30.0" size="0x0.4" />
	<field name="flex_key1_low" descr="" offset="0x30.4" size="0x0.28" />
	<field name="flex_key0_low" descr="" offset="0x34.0" size="0x4.0" />
</node>

<node name="flexible_action_data_action_auto_ext" descr="" attr_is_union="1" size="0x1c.0" >
	<field name="action_buffer_snap_ext" descr="" subnode="action_buffer_snap_ext" offset="0x0.0" selected_by="BUFFER_SNAP_ACTION" size="0x8.0" />
	<field name="action_counting_cardinality_ext" descr="" subnode="action_counting_cardinality_ext" offset="0x0.0" selected_by="POLICING_AND_COUNTING_AND_CARDINALITY_BY_REF_ACTION" size="0x18.0" />
	<field name="action_custom_bytes_alu_field_ext" descr="" subnode="action_custom_bytes_alu_field_ext" offset="0x0.0" selected_by="CUSTOM_BYTES_ALU_FIELD_ACTION" size="0x10.0" />
	<field name="action_custom_bytes_alu_imm_ext" descr="" subnode="action_custom_bytes_alu_imm_ext" offset="0x0.0" selected_by="CUSTOM_BYTES_ALU_IMM_ACTION" size="0x10.0" />
	<field name="action_custom_bytes_alu_reg_ext" descr="" subnode="action_custom_bytes_alu_reg_ext" offset="0x0.0" selected_by="CUSTOM_BYTES_ALU_REG_ACTION" size="0x10.0" />
	<field name="action_custom_bytes_move_ext" descr="" subnode="action_custom_bytes_move_ext" offset="0x0.0" selected_by="CUSTOM_BYTES_MOVE_ACTION" size="0x10.0" />
	<field name="action_fields_move_ext" descr="" subnode="action_fields_move_ext" offset="0x0.0" selected_by="FIELDS_MOVE_ACTION" size="0x10.0" />
	<field name="action_fields_set_imm_ext" descr="" subnode="action_fields_set_imm_ext" offset="0x0.0" selected_by="FIELDS_SET_IMM_ACTION" size="0x10.0" />
	<field name="action_flex_modifier_emt_ext" descr="" subnode="action_flex_modifier_emt_ext" offset="0x0.0" selected_by="FLEX_MODIFIER_EMT_ACTION" size="0x10.0" />
	<field name="action_flow_estimator_ext" descr="" subnode="action_flow_estimator_ext" offset="0x0.0" selected_by="FLOW_ESTIMATOR_ACTION" size="0x8.0" />
	<field name="action_forward_ext" descr="" subnode="action_forward_ext" offset="0x0.0" selected_by="FORWARDING_ACTION" size="0x10.0" />
	<field name="action_fpp_ext" descr="" subnode="action_fpp_ext" offset="0x0.0" selected_by="FPP_ACTION" size="0x8.0" />
	<field name="action_fs_db_ext" descr="" subnode="action_fs_db_ext" offset="0x0.0" selected_by="FS_DB_ACTION" size="0xc.0" />
	<field name="action_hash_ext" descr="" subnode="action_hash_ext" offset="0x0.0" selected_by="HASH_ACTION" size="0x10.0" />
	<field name="action_ignore_ext" descr="" subnode="action_ignore_ext" offset="0x0.0" selected_by="IGNORE_ACTION" size="0x10.0" />
	<field name="action_l4_port_ext" descr="" subnode="action_l4_port_ext" offset="0x0.0" selected_by="L4_PORT_ACTION" size="0x10.0" />
	<field name="action_mac_ttl_ext" descr="" subnode="action_mac_ttl_ext" offset="0x0.0" selected_by="MAC_TTL_ACTION" size="0x10.0" />
	<field name="action_mc_router_ext" descr="" subnode="action_mc_router_ext" offset="0x0.0" selected_by="MC_ROUTER_ACTION" size="0x10.0" />
	<field name="action_metadata_ext" descr="" subnode="action_metadata_ext" offset="0x0.0" selected_by="METADATA_ACTION" size="0x10.0" />
	<field name="action_mirror_sampler_ext" descr="" subnode="action_mirror_sampler_ext" offset="0x0.0" selected_by="MIRROR_SAMPLER_ACTION" size="0x10.0" />
	<field name="action_mpls_ext" descr="" subnode="action_mpls_ext" offset="0x0.0" selected_by="MPLS_ACTION" size="0x10.0" />
	<field name="action_null_ext" descr="" subnode="action_null_ext" offset="0x0.0" selected_by="NULL_ACTION" size="0x1c.0" />
	<field name="action_policing_counting_ext" descr="" subnode="action_policing_counting_ext" offset="0x0.0" selected_by="POLICING_AND_COUNTING_ACTION" size="0x10.0" />
	<field name="action_port_filter_ext" descr="" subnode="action_port_filter_ext" offset="0x0.0" selected_by="PORT_FILTERING_ACTION" size="0x10.0" />
	<field name="action_port_filter_ext1_ext" descr="" subnode="action_port_filter_ext1_ext" offset="0x0.0" selected_by="PORT_FILTERING_EXT_ACTION" size="0x10.0" />
	<field name="action_port_filter_ext2_ext" descr="" subnode="action_port_filter_ext2_ext" offset="0x0.0" selected_by="PORT_FILTERING_EXT2_ACTION" size="0x10.0" />
	<field name="action_qos_ext" descr="" subnode="action_qos_ext" offset="0x0.0" selected_by="QOS_ACTION" size="0x10.0" />
	<field name="action_sip_dip_ext" descr="" subnode="action_sip_dip_ext" offset="0x0.0" selected_by="SIP_DIP_ACTION" size="0x10.0" />
	<field name="action_trap_ext" descr="" subnode="action_trap_ext" offset="0x0.0" selected_by="TRAP_ACTION" size="0x10.0" />
	<field name="action_trap_w_userd_ext" descr="" subnode="action_trap_w_userd_ext" offset="0x0.0" selected_by="TRAP_W_USERDEF_ACTION" size="0x10.0" />
	<field name="action_truncation_ext" descr="" subnode="action_truncation_ext" offset="0x0.0" selected_by="TRUNCATION_ACTION" size="0x10.0" />
	<field name="action_uc_router_ext" descr="" subnode="action_uc_router_ext" offset="0x0.0" selected_by="UC_ROUTER_ACTION" size="0x10.0" />
	<field name="action_virtual_forwarding_ext" descr="" subnode="action_virtual_forwarding_ext" offset="0x0.0" selected_by="VIRTUAL_FORWARDING_ACTION" size="0x10.0" />
	<field name="action_vlan_ext" descr="" subnode="action_vlan_ext" offset="0x0.0" selected_by="VLAN_ACTION" size="0x10.0" />
	<field name="action_vni_ext" descr="" subnode="action_vni_ext" offset="0x0.0" selected_by="VNI_ACTION" size="0x10.0" />
</node>

<node name="flexible_action_data_ext" descr="" size="0x20.0" >
	<field name="action_type" descr="Action ID\;For the supported action types refer to Table 3091, &quot;Flexible Action Set: Supported Actions,&quot; on page 3698.\;0x0: NULL_ACTION\;0x1: MAC_TTL_ACTION\;0x2: VLAN_ACTION\;0x3: TRAP_ACTION\;0x4: TRAP_W_USERDEF_ACTION\;0x5: PORT_FILTERING_ACTION\;0x15: PORT_FILTERING_EXT_ACTION\;0x16: PORT_FILTERING_EXT2_ACTION\;0x6: QOS_ACTION\;0x7: FORWARDING_ACTION\;0x8: POLICING_AND_COUNTING_ACTION\;0x24: POLICING_AND_COUNTING_AND_CARDINALITY_BY_REF_ACTION\;0x1E: BUFFER_SNAP_ACTION\;0x9: METADATA_ACTION\;0xA: UC_ROUTER_ACTION\;0x10: MC_ROUTER_ACTION\;0xB: VNI_ACTION\;0xC: MPLS_ACTION\;0xD: HASH_ACTION\;0xE: VIRTUAL_FORWARDING_ACTION\;0xF: IGNORE_ACTION\;0x11: SIP_DIP_ACTION\;0x12: L4_PORT_ACTION\;0x13: MIRROR_SAMPLER_ACTION\;0x21: TRUNCATION_ACTION\;0x17: FLEX_MODIFIER_EMT_ACTION\;0x18: CUSTOM_BYTES_ALU_IMM_ACTION\;0x19: CUSTOM_BYTES_ALU_REG_ACTION\;0x1A: CUSTOM_BYTES_ALU_FIELD_ACTION\;0x1B: CUSTOM_BYTES_MOVE_ACTION\;0x1C: FIELDS_SET_IMM_ACTION\;0x1D: FIELDS_MOVE_ACTION\;0x22: FS_DB_ACTION\;0x25: FLOW_ESTIMATOR_ACTION\;0x26: FPP_ACTION - [DWIP]" enum="NULL_ACTION=0x0,MAC_TTL_ACTION=0x1,VLAN_ACTION=0x2,TRAP_ACTION=0x3,TRAP_W_USERDEF_ACTION=0x4,PORT_FILTERING_ACTION=0x5,PORT_FILTERING_EXT_ACTION=0x15,PORT_FILTERING_EXT2_ACTION=0x16,QOS_ACTION=0x6,FORWARDING_ACTION=0x7,POLICING_AND_COUNTING_ACTION=0x8,POLICING_AND_COUNTING_AND_CARDINALITY_BY_REF_ACTION=0x24,BUFFER_SNAP_ACTION=0x1e,METADATA_ACTION=0x9,UC_ROUTER_ACTION=0xa,MC_ROUTER_ACTION=0x10,VNI_ACTION=0xb,MPLS_ACTION=0xc,HASH_ACTION=0xd,VIRTUAL_FORWARDING_ACTION=0xe,IGNORE_ACTION=0xf,SIP_DIP_ACTION=0x11,L4_PORT_ACTION=0x12,MIRROR_SAMPLER_ACTION=0x13,TRUNCATION_ACTION=0x21,FLEX_MODIFIER_EMT_ACTION=0x17,CUSTOM_BYTES_ALU_IMM_ACTION=0x18,CUSTOM_BYTES_ALU_REG_ACTION=0x19,CUSTOM_BYTES_ALU_FIELD_ACTION=0x1a,CUSTOM_BYTES_MOVE_ACTION=0x1b,FIELDS_SET_IMM_ACTION=0x1c,FIELDS_MOVE_ACTION=0x1d,FS_DB_ACTION=0x22,FLOW_ESTIMATOR_ACTION=0x25,FPP_ACTION=0x26" offset="0x0.24" size="0x0.6" />
	<field name="action" descr="Table  3092, &quot;NULL_ACTION Block layout,&quot; on page  3703\;Table  3094, &quot;MAC_TTL_ACTION Block layout,&quot; on page  3704\;Table  3096, &quot;VLAN_ACTION Block layout,&quot; on page  3705\;Table  3098, &quot;TRAP_ACTION Block layout,&quot; on page  3708\;Table  3100, &quot;TRAP_W_USERDEF_ACTION Block layout,&quot; on page  3711\;Table  3102, &quot;PORT_FILTERING_ACTION Block layout,&quot; on page  3713\;Table  3104, &quot;PORT_FILTERING_EXT_ACTION Block layout,&quot; on page  3714\;Table  3106, &quot;PORT_FILTERING_EXT2_ACTION Block layout,&quot; on page  3715\;Table  3108, &quot;QOS_ACTION Block layout,&quot; on page  3716\;Table  3110, &quot;FORWARDING_ACTION Block Layout,&quot; on page  3718\;Table  3116, &quot;POLICING_COUNTING_ACTION Block Layout,&quot; on page  3721\;Table  3118, &quot;POLICING_COUNTING_AND_CARDINALITY_BY_REF ACTION Block Layout,&quot; on page  3723\;Table  3122, &quot;BUFFER_SNAP_ACTION Block Layout,&quot; on page  3726\;Table  3124, &quot;META_DATA_ACTION Block layout,&quot; on page  3727\;Table  3126, &quot;UC_ROUTER_ACTION Block Layout,&quot; on page  3728\;Table  3138, &quot;MC_ROUTING_ACTION Block Layout,&quot; on page  3734\;Table  3140, &quot;VNI VNI_ACTION Block Layout,&quot; on page  3736\;Table  3142, &quot;MPLS_ACTION Block Layout,&quot; on page  3737\;Table  3144, &quot;HASH_ACTION Block Layout,&quot; on page  3739\;Table  3146, &quot;VR_AND_FID_ACTION Block Layout,&quot; on page  3742\;Table  3148, &quot;IGNORE_ACTION Block Layout,&quot; on page  3743\;Table  3150, &quot;SIP_DIP_ACTION Block Layout,&quot; on page  3746\;Table  3152, &quot;L4_PORT_ACTION Block Layout,&quot; on page  3747\;Table  3154, &quot;MIRROR_SAMPLER_ACTION Block Layout,&quot; on page  3748\;Table  3156, &quot;TRUNCATION_ACTION Block Layout,&quot; on page  3749\;Table  3158, &quot;FLEX_MODIFIER_EMT_ACTION Block Layout,&quot; on page  3750\;Table  3162, &quot;CUSTOM_BYTES_ALU_IMM_ACTION Block Layout,&quot; on page  3753\;Table  3164, &quot;CUSTOM_BYTES_ALU_REG_ACTION Block Layout,&quot; on page  3754\;Table  3166, &quot;CUSTOM_BYTES_ALU_FIELD_ACTION Block Layout,&quot; on page  3755\;Table  3168, &quot;CUSTOM_BYTES_MOVE_ACTION Block Layout,&quot; on page  3757\;Table  3170, &quot;FIELDS_SET_IMM_ACTION Block Layout,&quot; on page  3759\;Table  3172, &quot;FIELDS_MOVE_ACTION Block Layout,&quot; on page  3760\;Table  3174, &quot;FS_DB_ACTION Block Layout,&quot; on page  3761\;Table  3176, &quot;FLOW_ESTIMATOR_ACTION Block Layout,&quot; on page  3764\;Table 3178, &quot;FPP_ACTION Block Layout,&quot; on page 3765" subnode="flexible_action_data_action_auto_ext" offset="0x4.0" size="0x1c.0" union_selector="$(parent).action_type" />
</node>

<node name="flexible_action_set_ext" descr="" size="0xa8.0" >
	<field name="action" descr="Action\;See Table 3085, &quot;Flexible Action Set - Action Layout,&quot; on page 3692." subnode="flexible_action_data_ext" high_bound="2" low_bound="0" offset="0x0.0" size="0x60.0" />
	<field name="type" descr="0: TYPE_NEXT - pointer Record\;1: TYPE_GOTO - record" enum="TYPE_NEXT=0x0,TYPE_GOTO=0x1" offset="0xA0.28" size="0x0.4" />
	<field name="next_goto_record" descr="Next / Goto\;Encoding is based on type field.\;TYPE_NEXT: Table 3087, &quot;Next action set record layout,&quot; on page 3695\;TYPE_GOTO: Table 3089, &quot;Goto action set record layout,&quot; on page 3696" subnode="flexible_action_set_next_goto_record_auto_ext" offset="0xA4.0" size="0x4.0" union_selector="$(parent).type" />
</node>

<node name="flexible_action_set_next_goto_record_auto_ext" descr="" attr_is_union="1" size="0x4.0" >
	<field name="goto_action_set_record_ext" descr="" subnode="goto_action_set_record_ext" offset="0x0.0" selected_by="TYPE_GOTO" size="0x4.0" />
	<field name="next_action_set_record_ext" descr="" subnode="next_action_set_record_ext" offset="0x0.0" selected_by="TYPE_NEXT" size="0x4.0" />
</node>

<node name="flexible_key_ext" descr="" size="0x10.0" >
	<field name="key" descr="Encoding of flexible key block, \;For Flexible: see encoding field in Table 2645, &quot;Flexible ACL Key Blocks,&quot; on page 3432\;For Flex2: see encoding field in Table 2764, &quot;Flex2 ACL Key Blocks,&quot; on page 3505\;Number of keys must be up to cap_flexible_keys. \;key&lt;i&gt; for i larger than cap_flexible_keys are reserved\;Invalid keys should be configured as a NULL Key. \;For large keys, Key[11,..6] are msb" access="WO" high_bound="15" low_bound="0" offset="0x0.24" size="0x10.0" />
</node>

<node name="flow_estimator_record_ext" descr="" size="0x8.0" >
	<field name="num_rec" descr="Number of records to read\;Range 1..cap_max_flow_estimator_bins" access="RW" offset="0x0.0" size="0x0.11" />
	<field name="counter_index_base" descr="Counter Index base\;Range 0..cap_shared_counter_pool_size - 1" access="RW" offset="0x4.0" size="0x0.24" />
</node>

<node name="flush_mc_dmac_uc_and_fid_ext" descr="" size="0x8.0" >
	<field name="fid" descr="When ubridge = 0, for router sub-port interface, FID is cap_fid + rif \;Otherwise, valid range is 1..cap_fid-1" access="INDEX" offset="0x4.0" size="0x0.16" />
</node>

<node name="flush_per_fid_ext" descr="" size="0x8.0" >
	<field name="fid" descr="When ubridge = 0, for router sub-port interface, FID is cap_fid + rif \;Otherwise, valid range is 1..cap_fid-1" access="INDEX" offset="0x4.0" size="0x0.16" />
</node>

<node name="flush_per_lag_and_fid_ext" descr="" size="0x8.0" >
	<field name="lag_id" descr="" access="INDEX" offset="0x0.0" size="0x0.10" />
	<field name="fid" descr="" access="INDEX" offset="0x4.0" size="0x0.16" />
</node>

<node name="flush_per_lag_ext" descr="" size="0x8.0" >
	<field name="lag_id" descr="" access="INDEX" offset="0x4.0" size="0x0.10" />
</node>

<node name="flush_per_nve_and_fid_ext" descr="" size="0x8.0" >
	<field name="fid" descr="When ubridge = 0, for router sub-port interface, FID is cap_fid + rif \;Otherwise, valid range is 1..cap_fid-1" access="INDEX" offset="0x4.0" size="0x0.16" />
</node>

<node name="flush_per_port_and_fid_ext" descr="" size="0x8.0" >
	<field name="system_port" descr="" access="INDEX" offset="0x0.0" size="0x0.16" />
	<field name="fid" descr="" access="INDEX" offset="0x4.0" size="0x0.16" />
</node>

<node name="flush_per_port_ext" descr="" size="0x8.0" >
	<field name="system_port" descr="" access="INDEX" offset="0x4.0" size="0x0.16" />
</node>

<node name="flush_per_tunnel_port_ext" descr="" size="0x8.0" >
	<field name="tport" descr="bit0: NVE\;bit1: VPLS\;bit2: Flex_tunnel0\;bit3: Flex_tunnel1" access="INDEX" offset="0x0.0" size="0x0.4" />
	<field name="tport_mask" descr="When bit i is set, the tport[i] will be matched, otherwise ignored\;bit0: NVE\;bit1: VPLS\;bit2: Flex_tunnel0\;bit3: Flex_tunnel1" access="INDEX" offset="0x0.16" size="0x0.4" />
</node>

<node name="flush_per_tunnel_port_fid_ext" descr="" size="0x8.0" >
	<field name="tport" descr="bit0: NVE\;bit1: VPLS\;bit2: Flex_tunnel0\;bit3: Flex_tunnel1" access="INDEX" offset="0x0.0" size="0x0.4" />
	<field name="tport_mask" descr="When bit i is set, the tport[i] will be matched, otherwise ignored\;bit0: NVE\;bit1: VPLS\;bit2: Flex_tunnel0\;bit3: Flex_tunnel1" access="INDEX" offset="0x0.16" size="0x0.4" />
	<field name="fid" descr="fid" access="INDEX" offset="0x4.0" size="0x0.16" />
</node>

<node name="fmep_ext" descr="" size="0x8.0" >
	<field name="lp_msb" descr="Local port[9:8]" access="INDEX" offset="0x0.12" size="0x0.2" />
	<field name="local_port" descr="Receive local port\;Reserved when global = 1" access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="global" descr="Configure all ports:\;0: per port\;1: global\;When read from global then read from local_port 1\;CPU port is not supported.\;" access="INDEX" offset="0x0.31" size="0x0.1" />
	<field name="ext_mod_parsing" descr="Extended parsing for modifier.\;Units of 1B.\;Granularity of 2B.\;Default 0.\;" access="RW" offset="0x4.0" size="0x0.9" />
</node>

<node name="fmtb_bind_info_auto_ext" descr="" attr_is_union="1" size="0x8.0" >
	<field name="emt_binding_info_ext" descr="" subnode="emt_binding_info_ext" offset="0x0.0" selected_by="EMT" size="0x8.0" />
	<field name="ram_binding_info_ext" descr="" subnode="ram_binding_info_ext" offset="0x0.0" selected_by="RAM" size="0x8.0" />
</node>

<node name="fmtb_ext" descr="" size="0x1c.0" >
	<field name="prog_idx" descr="program id" access="INDEX" offset="0x0.0" size="0x0.2" />
	<field name="enable" descr="0: Program is not active \;1: Program is active \;\;Note:\;In order to program to run we need to enable FMTB.enable &amp; FMTPA.e" access="RW" offset="0x4.0" size="0x0.1" />
	<field name="type" descr="0: EMT\;1: RAM\;\;note - program that configured by FMTPC_V2 must use the RAM type." access="RW" enum="EMT=0x0,RAM=0x1" offset="0x10.0" size="0x0.2" />
	<field name="bind_info" descr="See Table 3831, &quot;BINDING INFO layout,&quot; on page 4515\;See Table 3833, &quot;RAM BINDING INFO layout,&quot; on page 4515" subnode="fmtb_bind_info_auto_ext" access="RW" offset="0x14.0" size="0x8.0" union_selector="$(parent).type" />
</node>

<node name="fmtc_ext" descr="" size="0x4c.0" >
	<field name="emt_index" descr="EMT (Egress Modifier Template) index\;Range 0 .. cap_max_emts - 1" access="INDEX" offset="0x0.0" size="0x0.8" />
	<field name="length_cb_mask" descr="Bit mask on Custom Byte chosen by length_cb\;Note: the mask does not have to have serial 0&quot;s or serial 1&quot;s\;bitmask values:\;0: don&apos;t write to bit\;1: write to bit\;Supported from Spectrum-4 an on" access="RW" offset="0x4.0" size="0x0.8" />
	<field name="length_cb" descr="Custom Byte used for length calculation\;Range 0..2*cap_max_custom_byte_sets_for_hash - 1\;Supported from Spectrum-4 an on\;\;For more info see Table 3780, &quot;Spectrum Custom Bytes Sets,&quot; on page 4455\;" access="RW" offset="0x4.8" size="0x0.8" />
	<field name="length" descr="Length of template (constant add)\;Units of words (word = 2Bytes)\;When EMT used for push/edit: 0..cap_max_emt_size \;When EMT used for pop: 0..cap_max_emt_pop_size - 1" access="RW" offset="0x8.0" size="0x0.8" />
	<field name="length_math_shift" descr="Value for shifting (multiplying/dividing) of Length\;Range 0 .. 7\;Supported from Spectrum-4 an on" access="RW" offset="0x8.16" size="0x0.3" />
	<field name="length_math_shift_left" descr="Length shift left:\;0: shift left (multiply)\;1: shift right (division)\;Supported from Spectrum-4 an on" access="RW" offset="0x8.20" size="0x0.1" />
	<field name="length_math_add_pos" descr="length_math_add adds or subtract:\;0: add length\;1: subtract length\;Applies both to non-bitmap and bitmap modes\;Supported from Spectrum-4 an on" access="RW" offset="0x8.24" size="0x0.1" />
	<field name="length_math_bitmap" descr="Length is bitmap mode:\;0: length packet field holds a value\;1: sum of all set bits in the field\;Supported from Spectrum-4 an on" access="RW" offset="0x8.28" size="0x0.1" />
	<field name="update_ipv4_length" descr="Has effect only when the template is bound as a push/pop template" access="RW" offset="0x10.0" size="0x0.1" />
	<field name="update_ipv6_length" descr="Has effect only when the template is bound as a push/pop template" access="RW" offset="0x10.1" size="0x0.1" />
	<field name="update_hbh_length" descr="Has effect only when the template is bound as a push template" access="RW" offset="0x10.2" size="0x0.1" />
	<field name="update_ipv4_ihl" descr="Update IPv4 length\;Supported from Spectrum-4 an on" access="RW" offset="0x10.3" size="0x0.1" />
	<field name="update_udp_tcp_length" descr="Has effect only when the template is bound as a push template\;" access="RW" offset="0x10.4" size="0x0.1" />
	<field name="update_geneve_length" descr="Has effect only when the template is bound as a push template" access="RW" offset="0x10.8" size="0x0.1" />
	<field name="clear_udp_cs" descr="Clear UDP checksum\;0: UDP checksum not set to 0\;1: UDP checksum set to 0" access="RW" offset="0x14.0" size="0x0.1" />
	<field name="update_udp_tcp_cs" descr="Update UDP or TCP checksum" access="RW" offset="0x14.4" size="0x0.1" />
	<field name="update_ipv4_cs" descr="Update IPv4 checksum\;Supported from Spectrum-4 an on" access="RW" offset="0x14.5" size="0x0.1" />
	<field name="max_latency" descr="Latency is invalid if:\;packet_latency (nSec) &gt; (max_latency * 2^24) or \;packet_latency (nSec) &gt; 4Sec\;Range 1..256\;" access="RW" offset="0x20.0" size="0x0.9" />
	<field name="latency_invalid_value" descr="When latency is invalid the value is latency_invalid_value" access="RW" offset="0x24.0" size="0x4.0" />
	<field name="buffer_fill_level_invalid_value" descr="When buffer_fill_level is invalid the value is buffer_fill_level_invalid_value\;Valid values:\;0xFFFF_FFFF \;Or\;0x7FFF_FFFF \;" access="RW" offset="0x28.0" size="0x4.0" />
	<field name="enc_l2_uirif" descr="IPv4/IPv6 underlay iRIF, used for encap of L2 flex gen_enc. The uSIP is deducted from the uirif.\;* Note: must have same value as configured by TNGEE* \;\;*** Note: all fields FMTC.enc_ are used only for flex tunnel***" access="RW" offset="0x30.0" size="0x0.16" />
	<field name="enc_ipv4_frag_offset" descr="When IPv4 encap: fragment offset" access="RW" offset="0x38.0" size="0x0.13" />
	<field name="enc_ipv4_flag" descr="When IPv4 encap: fragment flags\;" access="RW" offset="0x38.13" size="0x0.3" />
	<field name="enc_ipv4_id" descr="When IPv4 encap: ID" access="RW" offset="0x38.16" size="0x0.16" />
	<field name="enc_next_header" descr="For L2 and for L3 flex gen_enc:\;Next header field (a.k.a. protocol in IPv4" access="RW" offset="0x3C.16" size="0x0.8" />
	<field name="enc_fl_suffix" descr="For L2, L3 Tunnel Encapsulation: Flow Label Suffix\;For Tunnel encapsulation the 8 least significant bits are calculated as follow:\;enc_flh=0: 8 lsb = enc_fl_suffix\;enc_flh=1: 8 lsb = enc_fl_suffix | hash [7:0] (bitwise OR)\;Reserved when enc_flc = 1" access="RW" offset="0x40.0" size="0x0.8" />
	<field name="enc_fl_prefix" descr="For L2, L3 Tunnel Encapsulation: Flow Label Prefix\;For Tunnel encapsulation: Constant 12 most significant bits of the flow label." access="RW" offset="0x40.8" size="0x0.12" />
	<field name="enc_flh" descr="For L2, L3 Tunnel Encapsulation: Flow Label Hash\;For Tunnel encapsulation:\;0: Flow Label is static, by {enc_fl_prefix, enc_fl_suffix}\;1: Flow Label 8 least significant bits are calculated from ECMP hash bitwise OR with enc_fl_suffix, and 12msb are configured by enc_fl_prefix\;See Section 14.14.6, &quot;RECR - Router ECMP Configuration Register&quot;, on page 4106, Section 14.14.7, &quot;RECR_V2 - Router ECMP Configuration Version 2 Register&quot;, on page 4107" access="RW" offset="0x40.24" size="0x0.1" />
	<field name="enc_flc" descr="For L2, L3 Tunnel encapsulation: Flow Label Copy from inner \;0: Calculate flow label using enc_flh.\;1: If packet is IPv6 and encapsulation is IPv6, copy the whole flow label from the packet header. Otherwise, calculate flow label using enc_flh." access="RW" offset="0x40.25" size="0x0.1" />
	<field name="s0_offset" descr="SRAM 0 Offset\;Granularity of SRAM lines\;Range 0 .. (cap_max_gp_sram_size-1)\;Supported from Spectrum-4 and above.\;\;Note:\;1. Can&apos;t be changed if FMTPA and FMTSC was already issued." access="RW" offset="0x44.0" size="0x0.9" />
	<field name="s0_sel_mode" descr="SRAM 0 Selected By Mode\;0: Flat\;2: Per Egress Port\;\;Per Egress Port: when this mode is set, the offset in the RAM will be s0_offset+ local_port%cap_modifier_cluster_size. When using &quot;atomic&quot; program, the s0_offset + FGCR.flat_sec_offset + local_port%cap_modifier_cluster_size offset will be used as well.\;Supported from Spectrum-4 and above." access="RW" offset="0x44.16" size="0x0.3" />
	<field name="s1_offset" descr="SRAM 1 Offset\;Granularity of SRAM lines\;Range 0 .. (cap_max_gp_sram_size-1)\;Supported from Spectrum-4 and above.\;\;Note:\;1. Can&apos;t be changed if FMTPA and FMTSC was already issued." access="RW" offset="0x48.0" size="0x0.9" />
	<field name="s1_sel_mode" descr="SRAM 1 Selected By Mode\;0: Flat\;2: Per Egress Port\;\;Per Egress Port: when this mode is set, the offset in the RAM will be s1_offset+ local_port%cap_modifier_cluster_size. When using &quot;atomic&quot; program, the s1_offset + FGCR.flat_sec_offset + local_port%cap_modifier_cluster_size offset will be used as well.\;Supported from Spectrum-4 and above." access="RW" offset="0x48.16" size="0x0.3" />
</node>

<node name="fmte_ext" descr="" size="0x14.0" >
	<field name="emt_index" descr="EMT (Egress Modifier Template) index\;Range 0 .. cap_max_emts - 1" access="INDEX" offset="0x0.0" size="0x0.8" />
	<field name="entry_index" descr="Entry index in the EMT\;Range 0 .. cap_max_emt_size - 1\;Note that entry_index&apos;s which are larger than the emt length have no significance" access="INDEX" offset="0x4.0" size="0x0.8" />
	<field name="cmd_id" descr="Command ID\;See Table 3787, &quot;EMT Commands,&quot; on page 4471\;Reserved when edit_en = 0" access="RW" offset="0x8.0" size="0x0.8" />
	<field name="imm" descr="Immediate\;Reserved when edit_en = 0" access="RW" offset="0xC.0" size="0x0.16" />
	<field name="iim" descr="Immediate is mask:\;0: imm is immediate\;1: imm is bitwise mask\;Has effect only when the template is bound as an edit template." access="RW" offset="0xC.16" size="0x0.1" />
	<field name="edit_en" descr="Edit enable:\;0: Skip this word in the packet\;1: Edit this word in the packet\;Has effect only when the template is bound as an edit template.\;Note that edit_en for words after FMTC.length must be set to &apos;0&apos;" access="RW" offset="0x10.0" size="0x0.1" />
</node>

<node name="fmtm_ext" descr="" size="0x8.0" >
	<field name="emt_index_out" descr="EMT (Egress Modifier Template) index\;Range 0 .. cap_max_emts - 1\;Default 0" access="RW" offset="0x4.0" size="0x0.8" />
	<field name="emt_index_in" descr="EMT (Egress Modifier Template) \;Range 0 .. cap_max_emts - 1\;Note: there is only 1 mapper! The emt_index_in is not an Index\;Default 0" access="RW" offset="0x4.16" size="0x0.8" />
</node>

<node name="fmtpa_ext" descr="" size="0x10.0" >
	<field name="prog_idx" descr="Program index" access="INDEX" offset="0x0.0" size="0x0.2" />
	<field name="lp_msb" descr="Local port [9:8]" access="INDEX" offset="0x0.12" size="0x0.2" />
	<field name="local_port" descr="Local port" access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="bound_emt" descr="EMT associated to this program\;" access="RW" offset="0x4.0" size="0x0.3" />
	<field name="e" descr="Enable\;0: Program is not active (on that port)\;1: Program is active (on that port)\;\;Can be changed on the fly" access="OP" offset="0x4.31" size="0x0.1" />
	<field name="reg0" descr="global register 0" access="RW" offset="0x8.0" size="0x0.16" />
</node>

<node name="fmtpc_ext" descr="" size="0x14.0" >
	<field name="pc" descr="Program counter" access="INDEX" offset="0x0.0" size="0x0.6" />
	<field name="prog_idx" descr="Program index" access="INDEX" offset="0x0.16" size="0x0.2" />
	<field name="op_code" descr="operation code. See Table 3821, &quot;OpCodes and Params,&quot; on page 4508" access="RW" offset="0x4.0" size="0x0.8" />
	<field name="operand0" descr="operand 0. See Table 3821, &quot;OpCodes and Params,&quot; on page 4508" access="RW" offset="0x8.0" size="0x0.16" />
	<field name="operand1" descr="operand 1. See Table 3821, &quot;OpCodes and Params,&quot; on page 4508" access="RW" offset="0xC.0" size="0x0.16" />
	<field name="operand2" descr="operand 2. See Table 3821, &quot;OpCodes and Params,&quot; on page 4508" access="RW" offset="0x10.0" size="0x0.16" />
</node>

<node name="fmtsc_ext" descr="" size="0x34.0" >
	<field name="emt_idx" descr="EMT index.\;" access="INDEX" offset="0x0.0" size="0x0.3" />
	<field name="num_fields_in_ram" descr="Number of fields that are used in the program.\;1 - one field (sram_0_d0/1)\;2 - two fields (sram_0_d0/1, sram_0_d2/3)\;3 - three fields (sram_0_d0/1, sram_0_d2/3, sram_1_d0/1)\;4 - four fields (sram_0_d0/1, sram_0_d2/3, sram_1_d0/1, sram_1_d2/3)\;\;each field is 32bit while the msb will be on d1 and d3, lsb will be on d0 and d2." access="RW" offset="0x0.8" size="0x0.4" />
	<field name="mode" descr="0: fix_low - low and fixed number of resource for updating the RAMs 1: fix_high - high and fixed number of resource for updating the RAMs, HFT is not allowed while this mode is set2: dynamic - use all the free resource, this mode is the fastest if the resources are free.\;note - the priority of the dynamic mode: MOCS (high), HFT (medium), IFAv2 (low)" access="WO" offset="0x0.24" size="0x0.3" />
	<field name="atomic" descr="0: non atomic \;1: atomic \;\;Note:\;FGCR must be set before using atomic. Please see Table 3816, &quot;FGCR - Flex Modifier Global Configuration Register Fields,&quot; on page 4505" access="RW" offset="0x0.30" size="0x0.1" />
	<field name="enable" descr="0: disable sram update\;1: enable sram update" access="RW" offset="0x0.31" size="0x0.1" />
	<field name="field_info" descr="Field Information.\;See Table 3824, &quot;Field Info Layout,&quot; on page 4512\;\;Field[0] data will be in sram_0_d0/1\;Field[1] data will be in sram_0_d2/3\;Field[2] data will be in sram_1_d0/1\;Field[3] data will be in sram_1_d2/3" subnode="field_info_ext" access="RW" high_bound="3" low_bound="0" offset="0x8.0" size="0x20.0" />
	<field name="port_bitmap_size" descr="Bitmap size in DWORDs.\;Range is 0..floor(cap_max_switch_ports/32)+1.\;E.g. bitmap_size 16 is for 512 ports, 17 for 544 ports, 32 for 1024 ports, etc." access="OP" offset="0x2C.0" size="0x0.8" />
	<field name="port_mask" descr="Port mask array, read as one bitmap.\;Each bit represents a local port. Refer to Section 9.2, &quot;Port Numbering&quot;, on page 2202 for port numbering scheme.\;8X ports are not supported." access="INDEX" arr_is_dynamic="1" high_bound="VARIABLE" low_bound="0" offset="0x30.0" size="0x4.0" size_condition="$(parent).port_bitmap_size" />
</node>

<node name="fore_ext" descr="" size="0xc.0" >
	<field name="fan_under_limit" descr="Fan speed is below the low limit defined in MFSL register. Each bit relates to a single tachometer and indicates the specific tachometer reading is below the threshold.\;Bitmask, per bit:\;0: not_under_thr\;1: under_thr" access="RO" offset="0x0.16" size="0x0.10" />
	<field name="fan_under_limit_msb" descr="Fan speed is below the low limit defined in MFSL register. Each bit relates to a single tachometer and indicates the specific tachometer reading is below the threshold.\;Bitmask, per bit:\;0: not_under_thr\;1: under_thr" access="RO" offset="0x0.26" size="0x0.6" />
	<field name="fan_over_limit" descr="Fan speed is above the high limit defined in MFSL register. Each bit relates to a single tachometer and indicates the specific tachometer reading is above the threshold.\;Bitmask, per bit:\;0: not_over_limit\;1: over_limit" access="RO" offset="0x4.16" size="0x0.10" />
	<field name="fan_over_limit_msb" descr="Fan speed is above the high limit defined in MFSL register. Each bit relates to a single tachometer and indicates the specific tachometer reading is above the threshold.\;Bitmask, per bit:\;0: not_over_limit\;1: over_limit" access="RO" offset="0x4.26" size="0x0.6" />
</node>

<node name="fpftt_ext" descr="" size="0x14.0" >
	<field name="entry_index" descr="Entry Index\;Range 0 .. cap_max_flex_transition_table_size -1" access="INDEX" offset="0x0.0" size="0x0.8" />
	<field name="tran_en" descr="Transition enabled\;default 0" access="RW" offset="0x4.0" size="0x0.1" />
	<field name="cur_ph" descr="Lookup on current parser header \;See ph_id in table Table 3776, &quot;Parser Headers (PH&apos;s),&quot; on page 4438\;Reserved when tran_en = 0\;At least one of cur_ph, next_ph must be of type FPH" access="RW" offset="0x8.0" size="0x0.8" />
	<field name="cur_ph_inner" descr="[DWIP]\;Current parser header is inner.\;Reserved when FPGCR.ftt_cur_ph_inner=0. See Section 18.10.1, &quot;FPGCR - Flex Parser Global Configuration Register&quot;, on page 4489.\;When FPGCR.ftt_cur_ph_inner=0, the transition applies for both outer and inner cur_ph_inner.\;\;0: outer (default)\;1: inner" access="RW" offset="0x8.16" size="0x0.1" />
	<field name="next_protocol_value" descr="Lookup on next protocol field for the current parser header\;See &quot;next_protocol field&quot; and &quot;next_protocol width (bits)&quot; columns in table Table 3776, &quot;Parser Headers (PH&apos;s),&quot; on page 4438\;The msb after the allowed width (bits) must be &apos;0&apos;\;Reserved when tran_en = 0" access="RW" offset="0xC.0" size="0x0.16" />
	<field name="next_ph" descr="Next parser header\;See ph_id in table Table 3776, &quot;Parser Headers (PH&apos;s),&quot; on page 4438\;Reserved when tran_en = 0" access="RW" offset="0x10.0" size="0x0.8" />
	<field name="next_ph_inner" descr="Next header fields and fields of all subsequent header are inner fields\;Reserved when tran_en = 0\;" access="RW" offset="0x10.16" size="0x0.1" />
</node>

<node name="fpgcr_ext" descr="" size="0x10.0" >
	<field name="ftt_cur_ph_inner" descr="Flex Transition Tables&apos;s current parser header outer/inner distinction enablement.\;\;This field can&apos;t be changed on-the-fly. All Flex transitions must be disabled before changing this field.\;\;When clear (0), current parser header in the Flex Transition Tables can be either outer or inner (default).\;\;When set (1), FPFTT&apos;s cur_ph_inner is evaluated.\;See Section 18.10.4, &quot;FPFTT - Flex Parser Flex Transition Table Register&quot;, on page 4500." access="RW" offset="0x0.0" size="0x0.1" />
</node>

<node name="fphhc_ext" descr="" size="0xc.0" >
	<field name="hph" descr="Hard Parser Header (HPH)\;See Table 3776, &quot;Parser Headers (PH&apos;s),&quot; on page 4438\;Reserved when PHs are &quot;is FPH&quot;" access="INDEX" offset="0x0.0" size="0x0.8" />
	<field name="my_ftlv_fpp" descr="Flex Parser Program (FPP) which will parse the FTLV of current HPH\;Range 0 .. cap_max_flex_fpp - 1\;Reserved when my_ftlv_outer_en=0 AND my_ftlv_inner_en=0" access="RW" offset="0x8.0" size="0x0.8" />
	<field name="my_ftlv_inner_en" descr="Enable flex tlv from current HPH when inner\;Reserved when PHs are not &quot;can have my_ftlv&quot;\;" access="RW" offset="0x8.30" size="0x0.1" />
	<field name="my_ftlv_outer_en" descr="Enable flex tlv from current HPH when outer\;Reserved when PHs are not &quot;can have my_ftlv&quot;" access="RW" offset="0x8.31" size="0x0.1" />
</node>

<node name="fphtt_ext" descr="" size="0x8.0" >
	<field name="entry_index" descr="Entry Index\;Must be from the Hard Transition Table\;See Table 3779, &quot;Hard Transition Table,&quot; on page 4445" access="INDEX" offset="0x0.0" size="0x0.8" />
	<field name="tran_en" descr="Transition enabled\;0: Disabled\;1: Enabled\;Defaults are defined in the hard transition table" access="RW" offset="0x4.0" size="0x0.1" />
</node>

<node name="fpmr_ext" descr="" size="0x10.0" >
	<field name="fpp" descr="Flex Parser Program (FPP).\;The equivalent Flex Parser Header (FPH) is allocated as well.\;\;The FPP must not be part of any Flex Transition.\;\;Reserved when en=0." access="RW" offset="0x0.0" size="0x0.8" />
	<field name="en" descr="MPLS parsing resources assigned." access="RW" offset="0x0.31" size="0x0.1" />
	<field name="ft" descr="Flex Transition Entry.\;\;The FT entry must be disabled.\;\;Reserved when en=0." access="RW" offset="0x4.0" size="0x0.8" />
</node>

<node name="fppc_ext" descr="" size="0x60.0" >
	<field name="fpp" descr="Flex Parser Program (FPP)\;Range 0 .. cap_max_flex_fpp - 1" access="INDEX" offset="0x0.0" size="0x0.8" />
	<field name="as_ftlv" descr="Flex Parser Header function:\;0: FPH\;1: FTLV\;When FPH: FPH index = fpp. e.g. if fpp = 2 then FPH2" access="RW" offset="0x0.28" size="0x0.1" />
	<field name="empty_fph" descr="FPH is empty\;When empty: \;- header_length value is 0\;- no flex extraction points\;- no my_tlv from this FPH\;- next_protocol may be extracted\;Reserved when as_ftlv = 1" access="RW" offset="0x4.0" size="0x0.1" />
	<field name="protocol" descr="Protocol:\;When as_ftlv = 0: next_protocol\;When as_ftlv = 1: tlv_type\;See Table 3797, &quot;Protocol Union Layout,&quot; on page 4493" subnode="fppc_protocol_union_ext" access="RW" offset="0x10.0" size="0x10.0" />
	<field name="header_length" descr="FPH or FTLV length\;See Table 3799, &quot;Header_length Union Layout,&quot; on page 4494\;Reserved when empty_fph = 1" subnode="fppc_header_length_ext" access="RW" offset="0x20.0" size="0x10.0" />
	<field name="fexp_st" descr="Flexible extraction points from start of header\;See Table 3801, &quot;fexp_st Union Layout,&quot; on page 4496\;Reserved when empty_fph = 1" subnode="fppc_fexp_st_ext" access="RW" offset="0x30.0" size="0x10.0" />
	<field name="fexp_of" descr="Flexible extraction points in an offset in the header\;See Table 3803, &quot;fexp_of Union Layout,&quot; on page 4497\;Reserved when empty_fph = 1\;Not supported in CPU port." subnode="fppc_fexp_of_ext" access="RW" offset="0x40.0" size="0x10.0" />
	<field name="my_tlv" descr="My TLV\;See Table 3805, &quot;My_TLV Union Layout,&quot; on page 4499\;Reserved when as_ftlv = 1\;Reserved when empty_fph = 1" subnode="fppc_my_tlv_ext" access="RW" offset="0x50.0" size="0x10.0" />
</node>

<node name="fppc_fexp_of_ext" descr="" size="0x10.0" >
	<field name="fexp_of_tlv_type" descr="Flex Extraction Point based on offset in the FPH is matched only if tlv type equals to this value\;Reserved when as_tlv = 0 (header)\;Reserved when fexp_of_en = 0" access="RW" offset="0x0.0" size="0x0.24" />
	<field name="fexp_of_id" descr="Flex Extraction Point ID, based on offset in the FPH\;Range 0 .. cap_max_flex_ext_points - 1\;Note: a fexp_id can be used by different FPH only if they are orthogonal protocols (e.g. after IPv4 and after IPv6)\;Reserved when fexp_of_en = 0" access="RW" offset="0x0.24" size="0x0.3" />
	<field name="fexp_of_en" descr="Flex Extraction Point enable - for fexp offset" access="RW" offset="0x0.31" size="0x0.1" />
	<field name="field_offset_bytes_fexp_of" descr="Bytes within the dword\;Range: 0 .. 3" access="RW" offset="0x4.0" size="0x0.2" />
	<field name="field_offset_dword_fexp_of" descr="Offset in cur_ph in order to find the field of fexp_of\;Units of 4B\;Range 0 .. 3\;" access="RW" offset="0x4.8" size="0x0.2" />
	<field name="field_mask_fexp_of" descr="Bit mask\;Note: the mask does not have to have serial 0&quot;s or serial 1&quot;s" access="RW" offset="0x8.0" size="0x0.8" />
	<field name="fexp_of_math_shift" descr="Value for shifting (multiplying/dividing) of Length\;Range 0 .. 7" access="RW" offset="0xC.0" size="0x0.3" />
	<field name="fexp_of_math_shift_left" descr="Length shift left:\;0: shift left (multiply)\;1: shift right (division)" access="RW" offset="0xC.8" size="0x0.1" />
	<field name="fexp_of_math_add" descr="Length constant add\;Range 0 .. 127" access="RW" offset="0xC.16" size="0x0.7" />
	<field name="fexp_of_math_add_pos" descr="length_math_add adds or subtract:\;0: add\;1: subtract\;Applies both to non-bitmap and bitmap modes" access="RW" offset="0xC.24" size="0x0.1" />
	<field name="fexp_of_math_bitmap" descr="Length is bitmap mode:\;0: length packet field holds a value\;1: length packet field is a bitmap" access="RW" offset="0xC.28" size="0x0.1" />
</node>

<node name="fppc_fexp_st_ext" descr="" size="0x10.0" >
	<field name="fexp_st_tlv_type" descr="Flex Extraction Point based on start of FPH is matched only if tlv type equals to this value\;Reserved when as_ftlv = 0 (header)\;Reserved when fexp_st_en = 0" access="RW" offset="0x0.0" size="0x0.24" />
	<field name="fexp_st_id" descr="Flex Extraction Point ID, based on start of FPH\;Range 0 .. cap_max_flex_ext_points - 1\;Note: a fexp_id can be used by different FPH only if they are orthogonal protocols (e.g. after IPv4 and after IPv6)\;Reserved when fexp_st_en = 0" access="RW" offset="0x0.24" size="0x0.3" />
	<field name="fexp_st_en" descr="Flex Extraction Point enable - for fexp start\;This flex extraction point is always from the start of the FPH" access="RW" offset="0x0.31" size="0x0.1" />
</node>

<node name="fppc_header_length_ext" descr="" size="0x10.0" >
	<field name="field_offset_bytes_length" descr="Bytes within the dword\;Range: 0 .. 3" access="RW" offset="0x0.0" size="0x0.2" />
	<field name="field_offset_dword_length" descr="Offset in cur_ph in order to find the field of length\;Units of 4B\;Range 0 .. 3\;" access="RW" offset="0x0.8" size="0x0.2" />
	<field name="field_mask_length" descr="Bit mask\;Note: the mask does not have to have serial 0&quot;s or serial 1&quot;s" access="RW" offset="0x4.0" size="0x0.8" />
	<field name="length_math_shift" descr="Value for shifting (multiplying/dividing) of Length\;Range 0 .. 7" access="RW" offset="0x8.0" size="0x0.3" />
	<field name="length_math_shift_left" descr="Length shift left:\;0: shift left (multiply)\;1: shift right (division)" access="RW" offset="0x8.8" size="0x0.1" />
	<field name="length_math_add" descr="Length constant add\;Range 0 .. 127" access="RW" offset="0x8.16" size="0x0.7" />
	<field name="length_math_add_pos" descr="length_math_add adds or subtract:\;0: add\;1: subtract\;Applies both to non-bitmap and bitmap modes" access="RW" offset="0x8.24" size="0x0.1" />
	<field name="length_math_bitmap" descr="Length is bitmap mode:\;0: length packet field holds a value\;1: length packet field is a bitmap" access="RW" offset="0x8.28" size="0x0.1" />
</node>

<node name="fppc_my_tlv_ext" descr="" size="0x10.0" >
	<field name="my_ftlv_fpp" descr="Flex Parser Program (FPP) which will parse the FTLV of current PH\;Range 0 .. cap_max_flex_fpp - 1\;Reserved when my_ftlv_en = 0" access="RW" offset="0x0.0" size="0x0.8" />
	<field name="my_ftlv_start" descr="Start of FTLV\;Units of 4B\;Must be greater than 0\;Reserved when my_ftlv_en = 0" access="RW" offset="0x0.16" size="0x0.6" />
	<field name="my_ftlv_en" descr="Enable tlv from current FPH" access="RW" offset="0x0.31" size="0x0.1" />
</node>

<node name="fppc_protocol_union_ext" descr="" size="0x10.0" >
	<field name="field_offset_bytes_prot" descr="Bytes within the dword\;Range: 0 .. 2\;Note: when as_ftlv=1 then Range is 0..1\;" access="RW" offset="0x0.0" size="0x0.2" />
	<field name="field_offset_dword_prot" descr="Offset in cur_ph in order to find the field of next_ph or tlv_type\;Units of 4B\;Range 0 .. 3\;Reserved when empty_fph = 1 (allows extracting on first 4B after the empty header)\;" access="RW" offset="0x0.8" size="0x0.2" />
	<field name="field_mask_prot_non_tlv" descr="Bit mask\;Note: the mask does not have to have serial 0&quot;s or serial 1&quot;s\;The bit mask must not jump to next dword, If next dword then relevant mask bits must be 0.\;Reserved when as_ftlv=1\;" access="RW" offset="0x4.0" size="0x0.16" />
	<field name="field_mask_prot_tlv" descr="Bit mask\;Note: the mask does not have to have serial 0&quot;s or serial 1&quot;s\;The bit mask must not jump to next dword, If next dword then relevant mask bits must be 0.\;Reserved when as_ftlv=0" access="RW" offset="0x8.0" size="0x0.24" />
</node>

<node name="fpts_ext" descr="" size="0xc.0" >
	<field name="lp_msb" descr="Local port[9:8]" access="INDEX" offset="0x0.12" size="0x0.2" />
	<field name="local_port" descr="Receive local port\;Reserved when global = 1\;CPU port not supported.\;" access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="global" descr="Configure all ports:\;0: per port\;1: global\;When read from global then read from local_port 1\;" access="INDEX" offset="0x0.31" size="0x0.1" />
	<field name="tran_type" descr="Transition type:\;0: Start parsing MAC- default\;1: Start parsing Flex" access="RW" offset="0x4.0" size="0x0.4" />
	<field name="next_ph" descr="Next parser header, must be FPH\;See ph_id in table Table 3776, &quot;Parser Headers (PH&apos;s),&quot; on page 4438\;Reserved when tran_type = 0" access="RW" offset="0x8.0" size="0x0.8" />
</node>

<node name="fpums_ext" descr="" size="0x14.0" >
	<field name="bitmap_size" descr="Bitmap size in DWORDs.\;Range is 16..255.\;Value 0 is reserved for 512 port bitmap for backwards-compatibility.\;E.g. bitmap_size 16 is for 512 ports, 17 for 544 ports, 32 for 1024 ports, etc." access="OP" offset="0x0.0" size="0x0.8" />
	<field name="lp_msb" descr="Local port[9:8]" access="INDEX" offset="0x0.12" size="0x0.2" />
	<field name="local_port" descr="Ingress local port\;Supported also from CPU port\;Reserved when global != 0" access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="global" descr="Global:\;0: PER_PORT - per port, local_port is used\;1: ALL_PORTS - global for all ports. When get, read from local_port 1\;2: PORT_MASK - port_mask is used when set. When get, read from local_port 1" access="INDEX" enum="PER_PORT=0x0,ALL_PORTS=0x1,PORT_MASK=0x2" offset="0x0.28" size="0x0.2" />
	<field name="mask" descr="Mask, which bits to set at write:\;0: the relevant bit will not be set\;1: the relevant bit will be set\;Reserved when read\;" access="OP" offset="0x8.0" size="0x0.8" />
	<field name="port_user_mem" descr="Port User Memory" access="RW" offset="0xC.0" size="0x0.8" />
	<field name="port_mask" descr="Port mask array, read as one bitmap.\;Bitmap of local_port to set\;per bit:\;0: don&apos;t set\;1: set\;Reserved when global != 2\;Reserved when get" access="INDEX" arr_is_dynamic="1" high_bound="VARIABLE" low_bound="0" offset="0x10.0" size="0x4.0" size_condition="$(parent).bitmap_size" />
</node>

<node name="frar_ext" descr="" size="0x110.0" >
	<field name="entries_count" descr="Defines how many entries\;Range 1 .. 16" access="OP" offset="0x0.0" size="0x0.9" />
	<field name="sram_info" descr="See Table 3845, &quot;FRAR - Flex RAM Info Layout,&quot; on page 4526" subnode="frar_info_ext" access="RW" high_bound="15" low_bound="0" offset="0x10.0" size="0x100.0" />
</node>

<node name="frar_info_ext" descr="" size="0x10.0" >
	<field name="sram_id" descr="0: SRAM 0\;1: SRAM 1\;2-3: Reserved" access="INDEX" offset="0x0.0" size="0x0.2" />
	<field name="sram_base_offset" descr="SRAM Base Offset" access="INDEX" offset="0x0.8" size="0x0.9" />
	<field name="bitmask" descr="bitmask \;bit 0: don&apos;t write to word\;bit 1: write word\;Granularity of 2B (word) per bit" access="OP" offset="0x4.0" size="0x0.4" />
	<field name="data" descr="Data to store to SRAM" access="RW" high_bound="3" low_bound="0" offset="0x8.16" size="0x8.0" />
</node>

<node name="fsdc_ext" descr="" size="0x10.0" >
	<field name="filter_fields" descr="filter fields:\;If a bit is &apos;0&apos; then the relevant field is ignored and dump is\;done regardless of the field value\;\;0: partition id\;1: activity\;2: semaphore state\;3: group id\;\;All set filters are relevant (there is AND between the filters)" access="OP" offset="0x0.0" size="0x0.4" />
	<field name="sif" descr="Stop if found\;0: Count all entries \;1: Stop counting when found at least one entry" access="OP" offset="0x0.31" size="0x0.1" />
	<field name="entry_partition_id" descr="Count only if entry partition has value of entry_parition\;Reserved when filter_fields bit0 is &apos;0&apos;" access="INDEX" offset="0x4.0" size="0x0.3" />
	<field name="entry_activity" descr="Count only if activity has value of entry_activity\;Reserved when filter_fields bit1 is &apos;0&apos;" access="INDEX" offset="0x4.8" size="0x0.1" />
	<field name="entry_sem_s" descr="Count only if semaphore state has value of entry_sem_s\;Reserved when filter_fields bit2 is &apos;0&apos;" access="INDEX" offset="0x4.9" size="0x0.1" />
	<field name="group_id" descr="Count only if Group id equals to the value mentioned\;Reserved when filter_fields bit3 is &apos;0&apos;" access="INDEX" offset="0x4.16" size="0x0.16" />
	<field name="num_entries" descr="Number of stateful DB entries\;Note: The returned value is the number of DB entries. \;" access="RO" offset="0x8.0" size="0x0.20" />
</node>

<node name="fsed_ext" descr="" size="0x590.0" >
	<field name="num_pages" descr="Number of pages dumped\;Range for response is 0..14" access="RO" offset="0x0.16" size="0x0.9" />
	<field name="num_of_entries" descr="Total number of entries.\;Range 0 - 28" access="RO" offset="0x4.16" size="0x0.10" />
	<field name="sf_dump_page" descr="dumped entries list\;See Table 3866, &quot;SF Page Dump Mode Fields,&quot; on page 4541" subnode="fsed_page_dump_mode_ext" access="RO" high_bound="15" low_bound="0" offset="0x10.0" size="0x580.0" />
</node>

<node name="fsed_page_dump_mode_dump_page_auto_ext" descr="" attr_is_union="1" size="0x50.0" >
	<field name="SF_PAGE_DUMP_MODE_0_ext" descr="" subnode="SF_PAGE_DUMP_MODE_0_ext" offset="0x0.0" selected_by="mode_0" size="0x50.0" />
	<field name="SF_PAGE_DUMP_MODE_1_ext" descr="" subnode="SF_PAGE_DUMP_MODE_1_ext" offset="0x0.0" selected_by="mode_1" size="0x50.0" />
</node>

<node name="fsed_page_dump_mode_ext" descr="" size="0x58.0" >
	<field name="mode" descr="0: mode_0 - 54B\;1: mode_1 - 9B/18B" access="RO" enum="mode_0=0x0,mode_1=0x1" offset="0x0.0" size="0x0.1" />
	<field name="dump_page" descr="dumped entries list\;See Table 3867, &quot;SF Page Dump Mode 0 Layout,&quot; on page 4542\;See Table 3869, &quot;SF Page Dump Mode 1 Layout,&quot; on page 4544" subnode="fsed_page_dump_mode_dump_page_auto_ext" offset="0x8.0" size="0x50.0" union_selector="$(parent).mode" />
</node>

<node name="fspt_ext" descr="" size="0x44.0" >
	<field name="set_partitions_bitmap" descr="bitmap per each partition index\;0: ignore configuration for partition\;1: set the partition relevant threshold" access="OP" offset="0x0.0" size="0x0.8" />
	<field name="warning_th_partition" descr="warning threshold for db partition &lt;i&gt;.\;partition &lt;i&gt; reserved when set_partitions_bitmap.bit&lt;i&gt; is not set.\;See Table 3853, &quot;FSPT - Threshold Layout,&quot; on page 4534" subnode="fspt_threshold_ext" access="RW" high_bound="7" low_bound="0" offset="0x4.0" size="0x20.0" />
	<field name="max_th_partition" descr="max threshold for db partition &lt;i&gt;.\;partition &lt;i&gt; reserved when set_partitions_bitmap.bit&lt;i&gt; is not set.\;See Table 3853, &quot;FSPT - Threshold Layout,&quot; on page 4534" subnode="fspt_threshold_ext" access="RW" high_bound="7" low_bound="0" offset="0x24.0" size="0x20.0" />
</node>

<node name="fspt_threshold_ext" descr="" size="0x4.0" >
	<field name="threshold" descr="Threshold value.\;Range is 0..cap_kvd_size-1." access="RW" offset="0x0.0" size="0x0.24" />
</node>

<node name="fstm_port_ticket_info_ext" descr="" size="0x4.0" >
	<field name="lport" descr="local port number \;Not supported for CPU port" access="WO" offset="0x0.0" size="0x0.10" />
	<field name="ticket_machine_en" descr="0: ticket_machine_is_disabled \;1: ticket_machine_is_enabled \;\;Note-\;- When port has ticket machine enabled, a dedicated custom byte is allocated to store ticket info. Use FSGCR.ticket_cb_index to define which cb should be used.\;- Ticket machine enable/disable can&apos;t be changed on the fly during traffic\;\;" access="RW" enum="ticket_machine_is_disabled=0x0,ticket_machine_is_enabled=0x1" offset="0x0.15" size="0x0.1" />
</node>

<node name="fw_assert_ext" descr="" size="0xa0.0" >
	<field name="assert_var0" descr="This is the 1st variable passed to assert" access="RO" offset="0x0.0" size="0x4.0" />
	<field name="assert_var1" descr="This is the 2nd variable passed to assert" access="RO" offset="0x4.0" size="0x4.0" />
	<field name="assert_var2" descr="This is the 3rd variable passed to assert" access="RO" offset="0x8.0" size="0x4.0" />
	<field name="assert_var3" descr="This is the 4th variable passed to assert" access="RO" offset="0xC.0" size="0x4.0" />
	<field name="assert_var4" descr="This is the 5th variable passed to assert" access="RO" offset="0x10.0" size="0x4.0" />
	<field name="assert_exinstptr" descr="this is instruction pointer when assert was triggered" access="RO" offset="0x14.0" size="0x4.0" />
	<field name="assert_callra" descr="This is the next return address after triggering assert" access="RO" offset="0x18.0" size="0x4.0" />
	<field name="ext_synd" descr="Extended syndrome" access="RO" offset="0x1C.0" size="0x0.16" />
	<field name="tile_index" descr="When tile_v=1 the tile_index that caused the assert.\;\;[DWIP] Superseded by top level tile_v and tile_index. Kept for backwards compatibility." access="RO" offset="0x1C.16" size="0x0.6" />
	<field name="tile_v" descr="Tile valid:\;0: The assert was from main\;1: The assert was from a tile\;\;[DWIP] Superseded by top level tile_v and tile_index. Kept for backwards compatibility." access="RO" offset="0x1C.23" size="0x0.1" />
	<field name="oe" descr="Old Event:\;0: New event\;1: Old event, found during MFGD activation" access="RO" offset="0x1C.24" size="0x0.1" />
	<field name="test" descr="Test:\;0: real cause ID\;1: test cause ID (cause ID = 0xCAFE)" access="RO" offset="0x1C.31" size="0x0.1" />
	<field name="assert_string" descr="String provided by the device\;Endianity:\;Offset 04h[31:24] - byte0\;Offset 04h[23:16] - byte1\;Offset 04h[15:8] - byte2\;Offset 04h[7:0] - byte3\;Offset 08h[31:24] - byte4\;etc." access="RO" high_bound="31" low_bound="0" offset="0x20.0" size="0x80.0" />
</node>

<node name="goto_action_set_record_ext" descr="" size="0x4.0" >
	<field name="next_binding" descr="group_id or acl_group_element\;Reserved when: NONE, BREAK and TERMINATE" offset="0x0.0" size="0x0.16" />
	<field name="binding_cmd" descr="Binding command.\;Note: In Bridge and Router bindings, only CMD_NONE is supported.\;0: CMD_NONE - continue as usual\;1: CMD_JUMP - jump to the next binding point no return. Does not change state of inner or outer loop.\; \;2: CMD_CALL - call the next binding point and return to the current list\;3: CMD_BREAK - break exit from the current loop. If in outer loop then exit from the binding loop/list. If in the inner loop/list then exit to the outer\;4: CMD_TERMINATE - terminate the acl binding" enum="CMD_NONE=0x0,CMD_JUMP=0x1,CMD_CALL=0x2,CMD_BREAK=0x3,CMD_TERMINATE=0x4" offset="0x0.24" size="0x0.3" />
	<field name="g" descr="Group\;0: ACL_binding\;1: ACL_group_binding\;" enum="ACL_binding=0x0,ACL_group_binding=0x1" offset="0x0.29" size="0x0.1" />
	<field name="clear_actions_stack" descr="clear the action stack. Need to be cleared at the end of every binding section in case there is no commit" offset="0x0.30" size="0x0.1" />
	<field name="commit" descr="commit all the defer action up to this point and clear the action set. clear_actions_stack is not recommended during this operation since it will clear the action stack before the commit\;See Table 3082, &quot;ACL Commit Clear action set order of operation,&quot; on page 3690" offset="0x0.31" size="0x0.1" />
</node>

<node name="hcap_ext" descr="" size="0x14.0" >
	<field name="max_cpu_ingress_tclass" descr="Maximum number of CPU ingress traffic classes supported" access="RO" offset="0x8.0" size="0x0.8" />
	<field name="max_num_trap_groups" descr="Maximum number of trap groups supported" access="RO" offset="0xC.0" size="0x0.8" />
	<field name="max_num_dr_paths" descr="Maximum number of direct route (DR) paths in the DR Path table." access="RO" offset="0x10.0" size="0x0.4" />
</node>

<node name="hccr_ext" descr="" size="0x4.0" >
	<field name="use_nve_opt_chk" descr="Use DISCARD_DEC_NVE_OPTIONS check.\;0: the check DISCARD_DEC_NVE_OPTIONS will be part of DISCARD_DEC_PKT\;1: the check DISCARD_DEC_NVE_OPTIONS will be assign to trap_id 193h\;" access="RW" offset="0x0.0" size="0x0.1" />
</node>

<node name="hcot_ext" descr="" size="0x30.0" >
	<field name="trap_id" descr="Trap_id\;Allowed trap_id&apos;s:\;240h..243h: CONFT_SWITCH_0..3\;250h..253h: CONFT_ROUTER_0..3\;260h..263h: CONFT_SWITCH_ENC_0..3\;270h..273h: CONFT_SWITCH_DEC_0..3 // overlay switch" access="INDEX" offset="0x0.0" size="0x0.10" />
	<field name="key_type" descr="Key types:\;0: ethertype\;1: next_proto\;2: layer4_port\;3: icmp_igmp_type" access="RW" enum="ethertype=0x0,next_proto=0x1,layer4_port=0x2,icmp_igmp_type=0x3" offset="0x4.0" size="0x0.8" />
	<field name="key" descr="Used bits according to key_type.\;E.g. when key_type=0 then only 16 lsb are used\;if key_type=0 then the key is explained in Table 270, &quot;HCOT Key_type Ethertype Layout,&quot; on page 715\;if key_type=1 then the key is explained in Table 272, &quot;HCOT Key_type Next_proto Layout,&quot; on page 716\;if key_type=2 then the key is explained in Table 274, &quot;HCOT Key_type layer4_port Layout,&quot; on page 717\;if key_type=3 then the key is explained in Table 276, &quot;HCOT Key_type Icmp_Igmp_Type Layout,&quot; on page 718\;" subnode="hcot_key_auto_ext" access="RW" offset="0x10.0" size="0x10.0" union_selector="$(parent).key_type" />
	<field name="mask" descr="Note: all fields must have a mask with the same value for the whole field. Example etherype field which is 16bits must have all 16bits with same mask value\;if key_type=0 then the mask is explained in Table 270, &quot;HCOT Key_type Ethertype Layout,&quot; on page 715\;if key_type=1 then the mask is explained in Table 272, &quot;HCOT Key_type Next_proto Layout,&quot; on page 716\;if key_type=2 then the mask is explained in Table 274, &quot;HCOT Key_type layer4_port Layout,&quot; on page 717\;if key_type=3 then the mask is explained in Table 276, &quot;HCOT Key_type Icmp_Igmp_Type Layout,&quot; on page 718" subnode="hcot_mask_auto_ext" access="RW" offset="0x20.0" size="0x10.0" union_selector="$(parent).key_type" />
</node>

<node name="hcot_key_auto_ext" descr="" attr_is_union="1" size="0x10.0" >
	<field name="hcot_key_ethernet_ext" descr="" subnode="hcot_key_ethernet_ext" offset="0x0.0" selected_by="ethertype" size="0x10.0" />
	<field name="hcot_key_icmp_igmp_type_ext" descr="" subnode="hcot_key_icmp_igmp_type_ext" offset="0x0.0" selected_by="icmp_igmp_type" size="0x10.0" />
	<field name="hcot_key_layer4_port_ext" descr="" subnode="hcot_key_layer4_port_ext" offset="0x0.0" selected_by="layer4_port" size="0x10.0" />
	<field name="hcot_key_next_proto_ext" descr="" subnode="hcot_key_next_proto_ext" offset="0x0.0" selected_by="next_proto" size="0x10.0" />
</node>

<node name="hcot_key_ethernet_ext" descr="" size="0x10.0" >
	<field name="ethertype" descr="The first Ethertype that doesn&quot;t point to either:\;VLAN, CNTAG or configurable Ethertype" access="RW" offset="0x0.0" size="0x0.16" />
	<field name="tunnel_port" descr="Tunnel port:\;1: NVE\;2: VPLS\;4: Flex_tunnel0\;8: Flex_tunnel1\;\;This field cannot be masked\;Reserved when trap_id is not CONFT_SWITCH_ENC_0..3" access="RW" offset="0x4.0" size="0x0.4" />
</node>

<node name="hcot_key_icmp_igmp_type_ext" descr="" size="0x10.0" >
	<field name="min" descr="Minimum range for packet type field\;Must not be masked" access="RW" offset="0x0.0" size="0x0.8" />
	<field name="max" descr="Maximum range for packet type field\;Must not be masked" access="RW" offset="0x0.8" size="0x0.8" />
	<field name="is_ipv4" descr="0: Packet is IPv6\;1: Packet is IPv4" access="RW" offset="0x0.16" size="0x0.1" />
	<field name="is_igmp" descr="0: Packet is ICMP\;1: Packet is IGMP. Reserved when is_ipv4=0" access="RW" offset="0x0.17" size="0x0.1" />
	<field name="tunnel_port" descr="Tunnel port:\;1: NVE\;2: VPLS\;4: Flex_tunnel0\;8: Flex_tunnel1\;\;\;This field cannot be masked\;Reserved when trap_id is not CONFT_SWITCH_ENC_0..3" access="RW" offset="0x4.0" size="0x0.4" />
</node>

<node name="hcot_key_layer4_port_ext" descr="" size="0x10.0" >
	<field name="l4_port" descr="When UDP: destination port \;When TCP: match on destination port or on source port" access="RW" offset="0x0.0" size="0x0.16" />
	<field name="is_ipv4" descr="0: Packet is IPv6\;1: Packet is IPv4" access="RW" offset="0x0.16" size="0x0.1" />
	<field name="is_udp" descr="0: Packet is TCP\;1: Packet is UDP" access="RW" offset="0x0.17" size="0x0.1" />
	<field name="tunnel_port" descr="Tunnel port:\;1: NVE\;2: VPLS\;4: Flex_tunnel0\;8: Flex_tunnel1\;\;\;This field cannot be masked\;Reserved when trap_id is not CONFT_SWITCH_ENC_0..3" access="RW" offset="0x4.0" size="0x0.4" />
</node>

<node name="hcot_key_next_proto_ext" descr="" size="0x10.0" >
	<field name="ip_proto" descr="For IPv4: next_ protocol\;For IPv6: next header" access="RW" offset="0x0.0" size="0x0.8" />
	<field name="is_ipv4" descr="0: Packet is IPv6\;1: Packet is IPv4" access="RW" offset="0x0.16" size="0x0.1" />
	<field name="tunnel_port" descr="Tunnel port:\;1: NVE\;2: VPLS\;4: Flex_tunnel0\;8: Flex_tunnel1\;\;\;This field cannot be masked\;Reserved when trap_id is not CONFT_SWITCH_ENC_0..3" access="RW" offset="0x4.0" size="0x0.4" />
</node>

<node name="hcot_mask_auto_ext" descr="" attr_is_union="1" size="0x10.0" >
	<field name="hcot_key_ethernet_ext" descr="" subnode="hcot_key_ethernet_ext" offset="0x0.0" selected_by="ethertype" size="0x10.0" />
	<field name="hcot_key_icmp_igmp_type_ext" descr="" subnode="hcot_key_icmp_igmp_type_ext" offset="0x0.0" selected_by="icmp_igmp_type" size="0x10.0" />
	<field name="hcot_key_layer4_port_ext" descr="" subnode="hcot_key_layer4_port_ext" offset="0x0.0" selected_by="layer4_port" size="0x10.0" />
	<field name="hcot_key_next_proto_ext" descr="" subnode="hcot_key_next_proto_ext" offset="0x0.0" selected_by="next_proto" size="0x10.0" />
</node>

<node name="hcpnc_ext" descr="" size="0x20.0" >
	<field name="cnt_type" descr="Counter Type:\;0: Ingress CPU port to network (from host to network)\;1: TAC to network (Spectrum-4 only)" access="INDEX" offset="0x0.0" size="0x0.5" />
	<field name="clr" descr="Clear counters.\;If this field is set, the counter will be cleared after read." access="OP" offset="0x0.31" size="0x0.1" />
	<field name="pkt_ok_cnt" descr="Packet Ok Counter.\;Counts the number of packet transmitted to network." subnode="uint64" access="RO" offset="0x8.0" size="0x8.0" />
	<field name="byte_ok_cnt" descr="Byte Ok Counter.\;Counts the number of Bytes transmitted to network." subnode="uint64" access="RO" offset="0x10.0" size="0x8.0" />
	<field name="pkt_discard_cnt" descr="Packet Discard Counter." subnode="uint64" access="RO" offset="0x18.0" size="0x8.0" />
</node>

<node name="hctr_ext" descr="" size="0x10.0" >
	<field name="custom_trap_index" descr="Custom Trap:\;0: IP2ME_CUSTOM0\;1: IP2ME_CUSTOM1" access="INDEX" offset="0x0.0" size="0x0.4" />
	<field name="udp_dport" descr="Extraction point is udp dport" access="RW" offset="0x4.1" size="0x0.1" />
	<field name="tcp_sport" descr="Extraction point is tcp sport" access="RW" offset="0x4.2" size="0x0.1" />
	<field name="tcp_dport" descr="Extraction point is tcp dport" access="RW" offset="0x4.3" size="0x0.1" />
	<field name="range_min" descr="Minimum range" access="RW" offset="0x8.0" size="0x0.16" />
	<field name="range_max" descr="Maximum range" access="RW" offset="0xC.0" size="0x0.16" />
</node>

<node name="hett_ext" descr="" size="0x14.0" >
	<field name="status" descr="Status:\;0: IDLE\;1: BUSY" access="RO" enum="IDLE=0x0,BUSY=0x1" offset="0x0.0" size="0x0.2" />
	<field name="opcode" descr="Opcode\;0: START - start a session. Rejected when status = BUSY\;1: CANCEL - cancel the session" access="WO" enum="START=0x0,CANCEL=0x1" offset="0x0.8" size="0x0.1" />
	<field name="trap_group_bitmap" descr="Trap group bitmap.\;The device will send HETT_TRAP to each of the trap groups that are set (per bit)" subnode="uint64" access="INDEX" offset="0x8.0" size="0x8.0" />
	<field name="trap_group" descr="Trap group\;Used for the HETT_TRAP.\;Range is 0 .. cap_max_num_trap_groups - 1\;Reserved when not a trap." access="RO" offset="0x10.0" size="0x0.8" />
</node>

<node name="hgcr_ext" descr="" size="0x1c.0" >
	<field name="truncation_size" descr="Truncation Size.\;For packets of trap_ids where HPKT.tr_en=1\;Sets the packet size after truncation (when truncation is enabled). \;Unit is 1 byte.\;Default is 16K-1 (no truncation)\;For Switch-IB 2: Granularity is 32B.\;For Spectrum-2/3/4: Granularity is 4B.\;Reserved when Switch-IB and Spectrum (no truncation).\;For Switch-IB 2: minimum value is 32B\;For Quantum and Spectrum-2/3/4: minimum value is 48B.\;" access="RW" offset="0x0.0" size="0x0.14" />
	<field name="regtlve" descr="REG_TLV Extended Length support for event traps\;0: do not use REG_TLV.elen field (support up to 8KB registers)\;1: use REG_TLV.elen field (allow registers to be bigger than 8KB)\;" access="RW" offset="0x4.0" size="0x0.1" />
	<field name="truncation_size_prof1" descr="Truncation Size Profile 1\;Supported from Spectrum-4 and Quantum-2 and above.\;See truncation_size for limitations.\;When 0 (reserved) treated as 16K-1." access="RW" offset="0x10.0" size="0x0.14" />
	<field name="truncation_size_prof2" descr="Truncation Size Profile 2\;Supported from Spectrum-4 and Quantum-2 and above.\;See truncation_size for limitations.\;When 0 (reserved) treated as 16K-1." access="RW" offset="0x14.0" size="0x0.14" />
	<field name="tac_crawler_action" descr="Supported from Spectrum-4 and above. Reserved when IB Switches.\;\;Crawler actions:\;0: flush_and_report - default\;1: flush_no_report\;2: report_only - may cause pkt_count overflow, note: no LRU eviction" access="RW" enum="flush_and_report=0x0,flush_no_report=0x1,report_only=0x2" offset="0x18.0" size="0x0.2" />
	<field name="tac_crawler_timer" descr="Every T the crawler will flush and/or report\;T = 2^tac_crawler_timer mSec\;Range: 0..13  // up to 8Sec since HW TAC can hold pkt_count up to 16Sec\;Value of 31 will stop the crawler\;Default: 31\;Supported from Spectrum-4 and above.\;Reserved when IB Switches" access="RW" offset="0x18.8" size="0x0.5" />
	<field name="tac_mirror_action" descr="TAC Mirror Action\;0: TAC_TO_CPU\;2: TAC_TO_MIRROR - to mirroring agent only\;" access="RW" enum="TAC_TO_CPU=0x0,TAC_TO_MIRROR=0x2" offset="0x18.16" size="0x0.2" />
	<field name="tac_ver" descr="TAC version.\;Note: Changing the version doesn&apos;t affect TAC&apos;s structures.\;\;Default value:\;Spectrum-4: 0x0\;Spectrum-5 onwards: 0x1\;\;Only for Spectrum-4 and above, reserved for the rest." access="RW" offset="0x18.24" size="0x0.4" />
</node>

<node name="hmcb_ext" descr="" size="0x10.0" >
	<field name="mc_index" descr="Index to the start point in the database where there are pointers to multicast identifiers.\;For Spectrum: index to KVD Central Database, see Appendix A.2.1.2, &quot;KVD Central Database Linear Entries&quot; (page 4588)" access="RW" offset="0x4.0" size="0x0.24" />
</node>

<node name="hmon_ext" descr="" size="0x220.0" >
	<field name="crdq" descr="Clear RDQ\;Range 0.. cap_max_num_rdq - 1\;Reserved when clr = 0\;Reserved when cprdq = 0\;Reserved when Spectrum-1\;Note: all counters are read regardless of cprdq and crdq" access="INDEX" offset="0x0.0" size="0x0.6" />
	<field name="by_mask" descr="Indexation per RDQ by rdq_mask.\;0: all trap groups\;1: by rdq_mask" access="OP" offset="0x0.29" size="0x0.1" />
	<field name="cprdq" descr="Per RDQ:\;0: CLEAR_ALL: clear all counters of all RDQs\;1: CLEAR_PER_RDQ: clear counter of RQD crdq\;Reserved when clr = 0\;Reserved when Spectrum" access="INDEX" offset="0x0.30" size="0x0.1" />
	<field name="clr" descr="Clear counters" access="OP" offset="0x0.31" size="0x0.1" />
	<field name="wqe_of_wrap" descr="WQE overflow wrap around. The wqe_overflow had a wrap around\;Reserved when Spectrum-2 and on\;" access="RO" offset="0x4.31" size="0x0.1" />
	<field name="wqe_overflow_high" descr="WQE overflow for sum of all RDQs\;Spectrum: 8bit rolling counter\;Reserved when Spectrum-2 and on\;" access="RO" offset="0x10.0" size="0x4.0" />
	<field name="wqe_overflow_low" descr="WQE overflow for sum of all RDQs\;Spectrum: 8bit rolling counter\;Reserved when Spectrum-2 and on\;" access="RO" offset="0x14.0" size="0x4.0" />
	<field name="rdq_mask" descr="RDQ bitmap mask.\;Set bits are read and cleared if clr is set.\;Bit &lt;i&gt; in rdq_mask corresponds to wqe_overflow_rdq[&lt;i&gt;].\;Reserved when by_mask=0." subnode="uint64" access="INDEX" offset="0x18.0" size="0x8.0" />
	<field name="wqe_overflow_rdq" descr="See Table 250, &quot;HMON - wqe_overflow_rdq Layout,&quot; on page 705\;Entries above cap_max_num_rdq are not valid\;Reserved when SwitchX/-2, Switch-IB/2, Spectrum" subnode="uint64" access="RW" high_bound="63" low_bound="0" offset="0x20.0" size="0x200.0" />
</node>

<node name="hopf_ext" descr="" size="0x14.0" >
	<field name="flow_number" descr="For send flows: Packet Send Flow (PSF)\;For receive flow: Packet Receive Flow (PRF)\;\;Note that the PSFs are a shared resource with SDQs\;Note that the PRFs are a shared resource with RDQs\;For send flows: range from 0..cap_max_num_sdq-1\;For send flows: range from 0..cap_max_num_rdq-1" access="INDEX" offset="0x0.0" size="0x0.24" />
	<field name="cqe_ver" descr="CQE Version\;0: CQE Version 1\;1: CQE Version 2\;Reserved when sr = 1 (SEND)\;Informative: for OOB there is no CQE on SEND flow. On RECEIVE flow the CQE is appended to the begging of the packetReserved when profile cqe_version is 0\;Reserved when SwitchX/-2, Switch-IB/2" access="RW" offset="0x0.24" size="0x0.4" />
	<field name="sr" descr="Send/receive\;0: RECEIVE Packet Flow\;1: SEND Packet Flow" access="INDEX" offset="0x0.31" size="0x0.1" />
	<field name="i_f" descr="Interface:\;0: OOB Ethernet link 0\;1: OOB Ethernet link 1\;Note: does not affect when ETHEMAD trap_id (interface according to EMAD send interface)\;" access="RW" offset="0x4.0" size="0x0.3" />
	<field name="vport" descr="Send Virtual port\;0: port0\;1: VHCA portReserved when sr = 0 (RECEIVE)\;Reserved when SwitchX/-2" access="RW" offset="0x4.8" size="0x0.4" />
	<field name="cpu_tclass" descr="Send Flow: CPU Egress TClass\;Reserved when sr = 0 (RECEIVE)\;Range is 0.. cap_max_cpu_egress_tclass-1\;Reserved when Switch-IB/2 and Quantum" access="RW" offset="0x4.16" size="0x0.4" />
	<field name="rcv_cpu_tclass" descr="Reserved when sr = 1 (SEND)\;Receive Flow: per Interface (per OOB0,1) CPU Ingress Traffic Class\;Range is 0.. cap_max_oob_cpu_ingress_tclass-1\;Note: for different pcp values the rcv_cpu_tclass must be different\;Reserved when SwitchX/-2" access="RW" offset="0x4.24" size="0x0.4" />
	<field name="mac_47_32" descr="Destination Mac address associated with the specific packet flow (used by the device to send packets to).\;Note: for Switch-IB/2 and Quantum: the 42 msb bits must be the same for all packet_flow . The last configured mac will modify the msb for all macs of all packet_flow.\;Note: does not affect when ETHEMAD trap_id (DMAC according to EMAD send SMAC)\;Reserved when sr = 1 (SEND)" access="RW" offset="0x8.0" size="0x0.16" />
	<field name="mac_31_0" descr="Destination Mac address associated with the specific packet flow (used by the device to send packets to).\;Note: for Switch-IB/2 and Quantum: the 42 msb bits must be the same for all packet_flow . The last configured mac will modify the msb for all macs of all packet_flow.\;Note: does not affect when ETHEMAD trap_id (DMAC according to EMAD send SMAC)\;Reserved when sr = 1 (SEND)" access="RW" offset="0xC.0" size="0x4.0" />
	<field name="vid" descr="VLAN ID\;For receive flows, adds the VID to the OOB packet\;Range 0.. cap_max_oob_vid \;Reserved when vlan_ex = 0\;Reserved when sr = 1 (SEND)\;Reserved when SwitchX/-2" access="RW" offset="0x10.0" size="0x0.12" />
	<field name="pcp" descr="For receive flows, adds the PCP to the OOB packet\;Reserved when vlan_ex = 0\;Reserved when sr = 1 (SEND)\;Reserved when SwitchX/-2\;" access="RW" offset="0x10.12" size="0x0.3" />
	<field name="dei" descr="For receive flows, adds the DEI to the OOB packet\;Reserved when vlan_ex = 0\;Reserved when sr = 1 (SEND)\;Reserved when SwitchX/-2" access="RW" offset="0x10.15" size="0x0.1" />
	<field name="vlan_ex" descr="Vlan tag exists\;0: no VLAN tag\;1: with a VLAN tag\;For receive flows, adds a vlan_tag to the OOB packet\;Reserved when sr = 1 (SEND)\;Reserved when SwitchX/-2" access="RW" offset="0x10.16" size="0x0.1" />
</node>

<node name="hpkt_ext" descr="" size="0x10.0" >
	<field name="trap_id" descr="Trap ID to configure. See Table 93, &quot;TRAP IDs,&quot; on page 524.\;Note: A trap_id can only be associated with a single trap_group. The SwitchX will associate the trap_id with the last trap_group configured.\;Note: for SwitchX/-2, Switch-IB/2 and Spectrum the range is 0..255." access="INDEX" offset="0x0.0" size="0x0.10" />
	<field name="trap_group" descr="Trap group configured for trap_id\;Range 0.. cap_max_num_trap_groups-1\;In Spectrum switches trap_group 0x3F disables the trap.\;Reserved when ((action is NOP) and (trap_id is not Soure trap) and (trap_id is not Event trap))\;Reserved when source != 0." access="RW" offset="0x0.12" size="0x0.6" />
	<field name="action" descr="Action to perform on trap_id\;0: NOP - packet will be forwarded by the switch based on normal switching rules. The packet may get other traps \;1: TRAP - CPU receives the sole copy\;2: MIRROR_TO_CPU - CPU receives a replica of the packet, Reserved when Switch-IB/2 and Quantum. Note that this is not a mirror, it is actually &quot;trap and forward&quot;\;3: DISCARD_ERROR\;4: SOFT_DISCARD_ERROR - allows other traps and allows Policy Engine to set Forward rule. Not supported by SwitchX/-2\;5: TRAP_AND_SOFT_DISCARD_ERROR - allows other traps to overwrite this trap and allows Policy Engine to set Forward rule. Not supported by SwitchX/-2, Switch-IB/2 and Quantum\;6: EXCEPTION_TRAP - CPU receives the sole copy and an error is counted. Not supported by SwitchX/-2, Switch-IB/2 and Quantum\;7: FWD_DISCARD_ERROR - same as DISCARD_ERROR but allows previous traps (if were). \;8: FWD_DISCARD - Discards packet, allows previous traps (if were), not counted as error.\;15: SET_FW_DEFAULT - set the FW_Default value. Must not be used for trap_ids which do not have a FW_Default. This value is a WO.\;\;This field is reserved when trap_id&apos;s are Source traps, see Source trap column in Table 93, &quot;TRAP IDs,&quot; on page 524\;When Event traps - allow only NOP and TRAP, see Event trap column in Table 93, &quot;TRAP IDs,&quot; on page 524" access="RW" enum="NOP=0x0,TRAP=0x1,MIRROR_TO_CPU=0x2,DISCARD_ERROR=0x3,SOFT_DISCARD_ERROR=0x4,TRAP_AND_SOFT_DISCARD_ERROR=0x5,EXCEPTION_TRAP=0x6,FWD_DISCARD_ERROR=0x7,FWD_DISCARD=0x8,SET_FW_DEFAULT=0xf" offset="0x0.20" size="0x0.4" />
	<field name="source" descr="Source of request:\;0: SW_over_PCIe\;1: BMC_over_I2C_I3C" access="INDEX" enum="SW_over_PCIe=0x0,BMC_over_I2C_I3C=0x1" offset="0x0.28" size="0x0.3" />
	<field name="tr_en" descr="Truncation enabled\;0: no_truncation\;1: truncation_enabled\;Truncation size is according to HGCR.truncation_size\;Reserved when SwitchX/-2, Switch-IB/2 and Spectrum" access="RW" enum="no_truncation=0x0,truncation_enabled=0x1" offset="0x4.0" size="0x0.1" />
	<field name="tr_prof" descr="Host truncation_profile, values 0,1,2. Configured using HGCR. See Table 228, &quot;HGCR - Host Global Configuration Register Fields,&quot; on page 686\;reserved when tr_en = 0\;Supported from Spectrum-4 and Quantum-2 and above.\;" access="RW" offset="0x4.8" size="0x0.2" />
	<field name="ctrl" descr="Control Packet\;Packets configured as control traffic will use dedicated buffer resources. For more details see Section 10.3, &quot;Packet to Buffer Classification&quot;, on page 3283\;0: Keep_factory_defaults\;1: Do_not_use_control_buffer - for this Trap-ID\;2: Use_control_buffer - for the Trap-ID\;Note that not all Trap-IDs can use the control buffer. See the Control Packet column in Table 93, &quot;TRAP IDs,&quot; on page 524\;Reserved when SwitchX/-2 and Switch-IB/2" access="RW" enum="Keep_factory_defaults=0x0,Do_not_use_control_buffer=0x1,Use_control_buffer=0x2" offset="0x4.16" size="0x0.2" />
</node>

<node name="hrdqt_ext" descr="" size="0xc.0" >
	<field name="rdq" descr="" access="INDEX" offset="0x0.0" size="0x0.6" />
	<field name="tac_en" descr="TAC Enable:\;0: tac_disabled (default)\;1: tac_enabled\;\;Note: should not be enabled for a cyclic-RDQ or chain-RDQ." access="RW" offset="0x4.0" size="0x0.1" />
	<field name="mirror_agent" descr="Mirror Agent.\;Reserved when HGCR.tac_mirror_action = TAC_TO_CPU" access="RW" offset="0x8.8" size="0x0.4" />
</node>

<node name="hrwc_ext" descr="" size="0x220.0" >
	<field name="by_mask" descr="Indexation per RDQ by rdq_mask.\;0: all trap groups\;1: by rdq_mask" access="OP" offset="0x0.29" size="0x0.1" />
	<field name="clr" descr="Clear counters" access="OP" offset="0x0.31" size="0x0.1" />
	<field name="rdq_mask" descr="RDQ bitmap mask.\;Set bits are read and cleared if clr is set.\;Bit &lt;i&gt; in rdq_mask corresponds to rdq_wqe_counter[&lt;i&gt;].\;Reserved when by_mask=0." subnode="uint64" access="INDEX" offset="0x18.0" size="0x8.0" />
	<field name="rdq_wqe_counter" descr="See Table 254, &quot;HRWC - rdq_wqe_counter Layout,&quot; on page 707." subnode="hrwc_rdq_wqe_counter_ext" access="RW" high_bound="63" low_bound="0" offset="0x20.0" size="0x200.0" />
</node>

<node name="hrwc_rdq_wqe_counter_ext" descr="" size="0x8.0" >
	<field name="counter_high" descr="Consumed WQEs per RDQ (packets written to the RDQ)\;" access="RO" offset="0x0.0" size="0x4.0" />
	<field name="counter_low" descr="Consumed WQEs per RDQ (packets written to the RDQ)\;" access="RO" offset="0x4.0" size="0x4.0" />
</node>

<node name="hst_link_eth_enabled_ext" descr="" size="0x4.0" >
	<field name="link_eth_active" descr="Ethernet protocols active: see PTYS.ext_eth_proto_oper" access="RO" offset="0x0.0" size="0x4.0" />
</node>

<node name="hst_link_ib_enabled_ext" descr="" size="0x4.0" >
	<field name="link_speed_active" descr="IB link active speed:\;Bit 0: SDR\;Bit 1: DDR\;Bit 2: QDR\;Bit 3: FDR10\;Bit 4: FDR\;Bit 5: EDR\;Bit 6: HDR\;Bit 7: NDR\;Bit 8: XDR" access="RO" enum="SDR=0x1,DDR=0x2,QDR=0x4,FDR10=0x8,FDR=0x10,EDR=0x20,HDR=0x40,NDR=0x80,XDR=0x100" offset="0x0.0" size="0x0.16" />
	<field name="link_width_active" descr="IB link active width:\;Bit 0: 1x\;Bit 1: 2x\;Bit 2: 4x\;\;Other - reserved" access="RO" offset="0x0.16" size="0x0.16" />
</node>

<node name="hst_link_nvlink_enabled_ext" descr="" size="0x4.0" >
	<field name="link_nvlink_active" descr="NVLink protocols active\;See: Table  1704, &quot;PTYS - Extended Protocol NVLink - cap/oper Layout,&quot; on page  2251" access="RO" offset="0x0.0" size="0x4.0" />
</node>

<node name="htac_attr_ethertype_ext" descr="" size="0x10.0" >
	<field name="ethertype" descr="Ethertype" access="RW" offset="0xC.0" size="0x0.16" />
</node>

<node name="htac_attr_icmp_ext" descr="" size="0x10.0" >
	<field name="icmp_type" descr="ICMP Type" access="RW" offset="0xC.0" size="0x0.8" />
</node>

<node name="htac_attr_igmp_ext" descr="" size="0x10.0" >
	<field name="igmp_type" descr="IGMP Type" access="RW" offset="0xC.0" size="0x0.8" />
</node>

<node name="htac_attr_udp_ext" descr="" size="0x10.0" >
	<field name="dport" descr="UDP Destination Port" access="RW" offset="0xC.0" size="0x0.16" />
	<field name="en" descr="Enable" access="RW" offset="0xC.16" size="0x0.1" />
</node>

<node name="htac_attributes0_auto_ext" descr="" attr_is_union="1" size="0x10.0" >
	<field name="htac_attr_ethertype_ext" descr="" subnode="htac_attr_ethertype_ext" offset="0x0.0" size="0x10.0" />
	<field name="htac_attr_icmp_ext" descr="" subnode="htac_attr_icmp_ext" offset="0x0.0" size="0x10.0" />
	<field name="htac_attr_igmp_ext" descr="" subnode="htac_attr_igmp_ext" offset="0x0.0" size="0x10.0" />
	<field name="htac_attr_udp_ext" descr="" subnode="htac_attr_udp_ext" offset="0x0.0" size="0x10.0" />
</node>

<node name="htac_attributes1_auto_ext" descr="" attr_is_union="1" size="0x10.0" >
	<field name="htac_attr_ethertype_ext" descr="" subnode="htac_attr_ethertype_ext" offset="0x0.0" size="0x10.0" />
	<field name="htac_attr_icmp_ext" descr="" subnode="htac_attr_icmp_ext" offset="0x0.0" size="0x10.0" />
	<field name="htac_attr_igmp_ext" descr="" subnode="htac_attr_igmp_ext" offset="0x0.0" size="0x10.0" />
	<field name="htac_attr_udp_ext" descr="" subnode="htac_attr_udp_ext" offset="0x0.0" size="0x10.0" />
</node>

<node name="htac_ext" descr="" size="0x30.0" >
	<field name="trap_id" descr="Trap_id\;Allowed trap_id&apos;s:\;ICMPV6_CONF_TYPE0, ICMPV6_CONF_TYPE1,\;NVE_DECAP_ICMPV6_CONF_TYPE,\;NVE_DECAP_ET,\;CONF_ET0, CONF_ET1\;NVE_DECAP_IGMP_CONF_TYPE\;NVE_DECAP_UDP_CONF_TYPE" access="INDEX" offset="0x0.0" size="0x0.10" />
	<field name="attributes0" descr="Attributes per trap_id:\;ICMPV6_CONF_TYPE0, ICMPV6_CONF_TYPE1, NVE_DECAP_ICMPV6_CONF_TYPE: ICMP type, 8bits\;CONF_ET0, CONF_ET1: Ethertype, 16bits\;NVE_DECAP_ET: Ethertype0, 16bits\;NVE_DECAP_IGMP_CONF_TYPE: 8bits\;NVE_DECAP_UDP_CONF_TYPE: IPv4 dport: 15:0, enable IPv4: bit16\;Lsb&apos;s are at offset 0xC within this field\;\;See Table 260, &quot;HTAC - ICMP Type Attribute Layout,&quot; on page 710\;See Table 262, &quot;HTAC - Ethertype Attribute Layout,&quot; on page 711\;See Table 264, &quot;HTAC - IGMP Type Attribute Layout,&quot; on page 711\;See Table 266, &quot;HTAC - UDP Attribute Layout,&quot; on page 712" subnode="htac_attributes0_auto_ext" access="RW" offset="0x10.0" size="0x10.0" />
	<field name="attributes1" descr="Attributes per trap_id:\;ICMPV6_CONF_TYPE0, ICMPV6_CONF_TYPE1, NVE_DECAP_ICMPV6_CONF_TYPE: Reserved\;CONF_ET0, CONF_ET1: Reserved\;NVE_DECAP_ET: Ethertype1, 16bits\;NVE_DECAP_IGMP_CONF_TYPE: Reserved\;NVE_DECAP_UDP_CONF_TYPE: IPv6 dport: 15:0, enable IPv6: bit16\;Lsb&apos;s are at offset 0xC within this field\;\;See Table 260, &quot;HTAC - ICMP Type Attribute Layout,&quot; on page 710\;See Table 262, &quot;HTAC - Ethertype Attribute Layout,&quot; on page 711\;See Table 264, &quot;HTAC - IGMP Type Attribute Layout,&quot; on page 711\;See Table 266, &quot;HTAC - UDP Attribute Layout,&quot; on page 712" subnode="htac_attributes1_auto_ext" access="RW" offset="0x20.0" size="0x10.0" />
</node>

<node name="htacg_ext" descr="" size="0x90.0" >
	<field name="status" descr="0: idle\;1: busy\;2: done (only for event)" access="RO" offset="0x0.0" size="0x0.2" />
	<field name="tac_flush" descr="0: flush_and_report - default\;1: flush_no_report\;2: report_only" access="RW" enum="flush_and_report=0x0,flush_no_report=0x1,report_only=0x2" offset="0x4.0" size="0x0.2" />
	<field name="fields" descr="SeeTable 282, &quot;HTACG - Fields Layout,&quot; on page 721" subnode="htacg_fields_ext" access="RW" offset="0x10.0" size="0x40.0" />
	<field name="mask" descr="See Table 282, &quot;HTACG - Fields Layout,&quot; on page 721" subnode="htacg_fields_ext" access="RW" offset="0x50.0" size="0x40.0" />
</node>

<node name="htacg_fields_ext" descr="" size="0x40.0" >
	<field name="mirror_reason" descr="For field description see mirror_reason in Table 60, &quot;Completion Queue Element Version 2 (CQEv2) Fields,&quot; on page 484" access="RW" offset="0x0.0" size="0x0.8" />
	<field name="trap_id" descr="The trap id of the packet" access="RW" offset="0x4.0" size="0x0.10" />
	<field name="rdq" descr="The rdq of the packet" access="RW" offset="0x4.24" size="0x0.6" />
	<field name="tx" descr="If UC: Egress HW port (local_port - 1) of the packet.\;If mc: 0x1fe\;If unknown: 0x1ff\;For port numbering see Table 9.2, &quot;Port Numbering,&quot; on page 2202\;\;Note: unknown is when the egress port is not known because the packet trapped before the egress port was determined" access="RW" offset="0x8.0" size="0x0.8" />
	<field name="traffic_class" descr="Traffic class of the packet.\;If the trap happens before traffic_class was assigned, the value of this field will be 0xff." access="RW" offset="0x8.16" size="0x0.5" />
	<field name="max_mirror_cong" descr="Max value of mirror_cong of all aggregated packets.\;Ignore 0xFFFF values while performing maximum.\;If all packets had value 0xFFFF, the value of this field will be 0xFFFF.\;For field description see mirror_cong in Table 60, &quot;Completion Queue Element Version 2 (CQEv2) Fields,&quot; on page 484\;" access="RW" offset="0xC.0" size="0x0.16" />
	<field name="last_ts" descr="Last timestamp\;according to CONFIG_PROFILE.cqe_time_stamp_type:\;Default: units of 1.024nSec\;FRC: units of 1nSec\;UTC: bits[31:26]=Sec, bits[25:0]=16nSec" access="RW" offset="0x10.0" size="0x4.0" />
	<field name="packet_count" descr="Number of packets that hits the same entry" access="RW" offset="0x14.0" size="0x4.0" />
	<field name="byte_count_39_32" descr="Length of the packet in Bytes (after ingress truncation, before trap truncation)." access="RW" offset="0x18.0" size="0x0.8" />
	<field name="byte_count_31_0" descr="Length of the packet in Bytes (after ingress truncation, before trap truncation)." access="RW" offset="0x1C.0" size="0x4.0" />
</node>

<node name="htcr_ext" descr="" size="0x210.0" >
	<field name="clr" descr="Clear counters.\;If this field is set, the counters will be cleared after read." access="OP" offset="0x0.31" size="0x0.1" />
	<field name="tac_received_pkts" descr="TAC received packets counter.\;Number of packets entered to TAC." subnode="uint64" access="RO" offset="0x8.0" size="0x8.0" />
	<field name="ingress_drop_rdq" descr="TAC drop counter per RDQ.\;This counter increment when a packet cannot enter the TAC because the TAC is full and it do not have credits to evict." subnode="uint64" access="RO" high_bound="63" low_bound="0" offset="0x10.0" size="0x200.0" />
</node>

<node name="htec_ext" descr="" size="0x30.0" >
	<field name="tac_event_header" descr="TAC event header.\;When HGCR.tac_mirror_action = TAC_TO_CPU see Table 298, &quot;TAC to CPU header Layout,&quot; on page 737\;When HGCR.tac_mirror_action = TAC_TO_MIRROR see Table 300, &quot;TAC to Mirror header Layout,&quot; on page 738" access="RW" high_bound="7" low_bound="0" offset="0x0.0" size="0x20.0" />
	<field name="res_reg_tlv" descr="Default value 0x0" access="RW" offset="0x20.0" size="0x0.16" />
	<field name="reg_tlv_type" descr="Default value 0x3" access="RW" offset="0x20.27" size="0x0.5" />
	<field name="res_4_new" descr="Default value 0x0" access="RW" offset="0x24.4" size="0x0.12" />
	<field name="new_hdr_type" descr="Default value 0x1" access="RW" offset="0x24.27" size="0x0.5" />
	<field name="res_4_agg" descr="Default value 0x0" access="RW" offset="0x28.4" size="0x0.12" />
	<field name="agg_hdr_type" descr="Default value 0x2" access="RW" offset="0x28.27" size="0x0.5" />
	<field name="res_end_tlv" descr="Default value 0x0" access="RW" offset="0x2C.0" size="0x0.16" />
	<field name="end_tlv_len" descr="Default value 0x1" access="RW" offset="0x2C.16" size="0x0.11" />
	<field name="end_tlv_type" descr="Default value 0x0" access="RW" offset="0x2C.27" size="0x0.5" />
</node>

<node name="htgc_counter_ext" descr="" size="0x8.0" >
	<field name="counter_high" descr="" access="RO" offset="0x0.0" size="0x4.0" />
	<field name="counter_low" descr="" access="RO" offset="0x4.0" size="0x4.0" />
</node>

<node name="htgc_counter_set_ext" descr="" size="0x28.0" >
	<field name="packets" descr="Packets counter" subnode="htgc_counter_ext" access="RW" offset="0x0.0" size="0x8.0" />
	<field name="bytes" descr="Bytes counter" subnode="htgc_counter_ext" access="RW" offset="0x8.0" size="0x8.0" />
	<field name="sll_discards" descr="SLL discards counter." subnode="htgc_counter_ext" access="RW" offset="0x10.0" size="0x8.0" />
	<field name="hll_discards" descr="HLL discards counter." subnode="htgc_counter_ext" access="RW" offset="0x18.0" size="0x8.0" />
</node>

<node name="htgc_ext" descr="" size="0xa20.0" >
	<field name="by_mask" descr="Indexation per Trap Group by tg_mask.\;0: all trap groups\;1: by tg_mask" access="OP" offset="0x0.29" size="0x0.1" />
	<field name="clr" descr="Clear counters" access="OP" offset="0x0.31" size="0x0.1" />
	<field name="tg_mask" descr="Trap Group bitmap mask.\;Set bits are read and cleared if clr is set.\;Bit &lt;i&gt; in tg_mask corresponds to tg_counter_set[&lt;i&gt;].\;Reserved when by_mask=0." subnode="uint64" access="INDEX" offset="0x18.0" size="0x8.0" />
	<field name="tg_counter_set" descr="See Table 240, &quot;HTGC - Trap Group Counter Set Layout,&quot; on page 697\;Entries set by tg_mask are valid." subnode="htgc_counter_set_ext" access="RW" high_bound="63" low_bound="0" offset="0x20.0" size="0xa00.0" />
</node>

<node name="htgt_ext" descr="" size="0x44.0" >
	<field name="trap_group" descr="Trap group\;Range is 0..cap_max_num_trap_groups - 1\;For Switch-X/2: Range 0.. HCAP.max_num_trap_groups -1" access="INDEX" offset="0x0.0" size="0x0.8" />
	<field name="type" descr="Type:\;0: LOCAL - used for locally attached CPU\;15: NULL - trap group disabled" access="RW" enum="LOCAL=0x0,NULL=0xf" offset="0x0.8" size="0x0.4" />
	<field name="swid" descr="Switch Partition ID\;Note that event traps have swid value of &apos;254&apos; (all-swid)\;Reserved when Spectrum/-2" access="INDEX" offset="0x0.24" size="0x0.8" />
	<field name="pid" descr="Policer ID for trap group trap_group.\;Host Interface Policers should be allocated out of the Global Policers.\;Range is 0..(cap_max_policers_cpu-1)\;Note: the policer affects only packets which are trapped to CPU, mirrored packets on trap_group are not subject to policer." access="RW" offset="0x4.0" size="0x0.14" />
	<field name="pide" descr="Policer enable\;For more details about policers, refer to Section 11.8.5, &quot;Policer&quot;, on page 3683.\;Note: must not be set for MIRROR_SESSION trap_ids\;" access="RW" offset="0x4.15" size="0x0.1" />
	<field name="mirror_agent" descr="Mirroring port analyzer ID (pa_id), see Section 5.16.2, &quot;MPAT - Monitoring Port Analyzer Table&quot;, on page 1603.\;Reserved when mirror_action is TRAP_TO_CPU" access="RW" offset="0x8.0" size="0x0.3" />
	<field name="mirror_action" descr="Trap Mirror Action\;0: TRAP_TO_CPU - packet is forwarded to the CPU based on the path configured \;1: TRAP_TO_CPU_AND_MIRROR - trap to CPU and Mirror to a mirroring agent\;2: TRAP_TO_MIRROR - mirror to mirroring agent and do not trap to the CPU.\;Reserved when SwitchX/-2, Switch-IB/2 and Quantum" access="RW" enum="TRAP_TO_CPU=0x0,TRAP_TO_CPU_AND_MIRROR=0x1,TRAP_TO_MIRROR=0x2" offset="0x8.8" size="0x0.2" />
	<field name="priority" descr="Trap Group Priority\;In case a packet matches multiple classification rules, the packet will only be trapped once, based on the Trap-ID associated with the group with the highest priority value. Higher values mean higher priority.\;Range is 0..cap_max_trap_group_priorities-1\;Reserved when SwitchX/-2, Switch-IB/2 and Quantum. For these devices the priority value equals the trap_group value.\;Note: Priority changes on-the-fly currently not supported in Spectrum switches, HPKT reconfiguration is required." access="RW" offset="0xC.0" size="0x0.4" />
	<field name="path" descr="Path to designated CPU\;Reserved when type != 0\;See Table 236, &quot;LOCAL Path Layout,&quot; on page 694" subnode="local_path_ext" access="RW" offset="0x10.0" size="0x10.0" />
	<field name="mirror_probability_rate" descr="For mirroring: sampling rate = 1 out of rate packets.\;The value 0 behaves like 1.\;Default is 1.\;Note: high values are round up by HW to: {   (232-1)/n    | n      } ({232-1, 231-1, 1431655765, ...}). \;Reserved when mirror_action is TRAP_TO_CPU.\;Reserved when SwitchX/-2, Switch-IB/2, Spectrum, Quantum.\;" access="RW" offset="0x40.0" size="0x4.0" />
</node>

<node name="hthm_ext" descr="" size="0x104.0" >
	<field name="trap_id" descr="Trap ID.\;Not all the Trap IDs can be used in this register because some of the trap id associated with multiple hw_trap_ids. See Table 93, &quot;TRAP IDs,&quot; on page 524 to differentiate which Trap IDs are valid by the ACL Key column." access="INDEX" offset="0x0.0" size="0x0.10" />
	<field name="num_trap_ids" descr="Number of HW trap IDs.\;Range is 0..64." access="RO" offset="0x0.16" size="0x0.8" />
	<field name="hw_trap_ids" descr="Multiple HW trap IDs.\;See Table 314, &quot;HTHM - HW trap ID Layout,&quot; on page 746." subnode="hthm_hw_trap_id_ext" access="RO" high_bound="63" low_bound="0" offset="0x4.0" size="0x100.0" />
</node>

<node name="hthm_hw_trap_id_ext" descr="" size="0x4.0" >
	<field name="hw_trap_id" descr="HW Trap ID." access="RO" offset="0x0.0" size="0x0.10" />
	<field name="last" descr="Indicate if it&apos;s the last trap ID.\;0: More HW trap IDs follow.\;1: Last HW trap ID." access="RO" offset="0x0.31" size="0x0.1" />
</node>

<node name="hukt_ext" descr="" size="0xc.0" >
	<field name="type" descr="Type:\;0: user_key\;1: time\;Default value is 0." access="INDEX" offset="0x0.0" size="0x0.2" />
	<field name="user_key" descr="User key.\;This value will be static in TAC header, see Table 284, &quot;HTEP - Host TAC Event Packet Register Layout,&quot; on page 724\;Reserved when type = 1\;Default value is 0." access="RW" offset="0x4.0" size="0x0.5" />
	<field name="time_resolution" descr="Time.\;Units of uSec.\;Range 1...1,000,000\;Default value 1mSec.\;Reserved when type = 0\;" access="RW" offset="0x8.0" size="0x4.0" />
</node>

<node name="ibfmr_ext" descr="" size="0x10.0" >
	<field name="atm_v" descr="Attribute Modifier valid\;The attribute_modifier is valid\;" access="RO" offset="0x0.0" size="0x0.1" />
	<field name="attribute_id" descr="Attribute ID of the received MAD\;Supported:\;0x0019: LinearForwardingTable\;0x001B: MulticastForwardingTable" access="RO" offset="0x8.0" size="0x0.16" />
	<field name="attribute_modifier" descr="AttributeModifier of the received MAD" access="RO" offset="0xC.0" size="0x4.0" />
</node>

<node name="ibfmrc_ext" descr="" size="0x4.0" >
	<field name="attr_id_en" descr="Attribute ID enable:\;bit0: 0x0019: LinearForwardingTable\;bit1: 0x001B: MulticastForwardingTable\;" access="RW" offset="0x0.0" size="0x4.0" />
</node>

<node name="ibissu_ext" descr="" size="0x4.0" >
	<field name="req_to_sm" descr="Request to SM:\;0: Idle (default)\;1: Request\;Set to 1 by SW.\;Set to 0 by the device after sending the MAD." access="RW" offset="0x0.0" size="0x0.1" />
	<field name="sm_approve" descr="SM has approved ISSU:\;0: Idle (default, cleared after reset and after ISSU)\;1: Allowed. Set after ISSUApprove.issu_approved = 1\;2: Not_allowed. Set after ISSUApprove.issu_approved = 2" access="RO" offset="0x0.8" size="0x0.2" />
</node>

<node name="ibsni_ext" descr="" size="0x148.0" >
	<field name="ipv4_record" descr="See Table 1673, &quot;IBNSI - IPv4 record Layout,&quot; on page 2193\;Entry 0 refer to out-of-band interfaces (e.g, box, alias or physical). \;Entry 1 refers to IPoIB interface\;" subnode="ibsni_ipv4_ext" access="RW" high_bound="3" low_bound="0" offset="0x8.0" size="0x20.0" />
	<field name="ipv6_record" descr="See Table 1675, &quot;IBSNI - IPv6 record Layout,&quot; on page 2193\;Entry 0 refer to out-of-band interfaces (e.g, box, alias or physical). \;Entry 1 refers to IPoIB interface\;" subnode="ibsni_ipv6_ext" access="RW" high_bound="3" low_bound="0" offset="0x28.0" size="0x80.0" />
	<field name="ipv4_record_port2" descr="For CPU port2\;See Table 1673, &quot;IBNSI - IPv4 record Layout,&quot; on page 2193\;Entry 0 refer to out-of-band interfaces (e.g, box, alias or physical). \;Entry 1 refers to IPoIB interface\;" subnode="ibsni_ipv4_ext" access="RW" high_bound="3" low_bound="0" offset="0xA8.0" size="0x20.0" />
	<field name="ipv6_record_port2" descr="For CPU port2\;See Table 1675, &quot;IBSNI - IPv6 record Layout,&quot; on page 2193\;Entry 0 refer to out-of-band interfaces (e.g, box, alias or physical). \;Entry 1 refers to IPoIB interface\;" subnode="ibsni_ipv6_ext" access="RW" high_bound="3" low_bound="0" offset="0xC8.0" size="0x80.0" />
</node>

<node name="ibsni_ipv4_ext" descr="" size="0x8.0" >
	<field name="ipv4" descr="IPv4 address" access="RW" offset="0x0.0" size="0x4.0" />
	<field name="netmask" descr="Netmask" access="RW" offset="0x4.0" size="0x4.0" />
</node>

<node name="ibsni_ipv6_ext" descr="" size="0x20.0" >
	<field name="ipv6" descr="IPv6 address" access="RW" high_bound="3" low_bound="0" offset="0x0.0" size="0x10.0" />
	<field name="netmask" descr="Netmask" access="RW" high_bound="3" low_bound="0" offset="0x10.0" size="0x10.0" />
</node>

<node name="icam_reg_ext" descr="" size="0x18.0" >
	<field name="access_reg_group" descr="Access Register ID groups \;0: REG_IDs 0x3800 to 0x387F\;1: REG_IDs 0x3880 to 0x38FF" access="INDEX" offset="0x0.0" size="0x0.8" />
	<field name="infr_access_reg_cap_mask" descr="Supported infrastructure&apos;s access register bitmask. Based on access_reg_group index. \;When bit is set to &apos;1&apos;, The register is supported in the device. \;For example, when access_reg_group == 1:\;Bit 112: ICSR\;Bit0 is at 08h.bit0\;Bit 127 is at 14h.bit31" access="RO" high_bound="3" low_bound="0" offset="0x8.0" size="0x10.0" />
</node>

<node name="icmp_offload_entry_ext" descr="" size="0x2f0.0" >
	<field name="tx_local_port" descr="TX local port.\;Reserved when tx_interval=0." access="RW" offset="0x0.0" size="0x0.16" />
	<field name="vlan_exist" descr="Vlan Exist.\;0: no vlan\;1: vlan exist\;Only single VLAN supported.\;Reserved when tx_interval=0." access="RW" offset="0x0.24" size="0x0.1" />
	<field name="ip_ver" descr="IP Version.\;0: IPv4\;1: IPv6\;No extensions supported.\;Reserved when tx_interval=0." access="RW" offset="0x0.25" size="0x0.1" />
	<field name="rx_local_port" descr="RX local port.\;When set to 0, FW will not compare in the response." access="RW" offset="0x4.0" size="0x0.16" />
	<field name="tx_interval" descr="TX Interval.\;Units of 1milisec.\;Range cap_min_icmp_offload_interval...42.\;Every tx_interval a ICMP offload packet will be sent.\;When this field is 0 packet will not be sent (RX only session)." access="RW" offset="0x8.0" size="0x0.8" />
	<field name="rx_interval" descr="RX Interval.\;Units of 1milisec.\;Range cap_min_icmp_offload_interval...127.\;When packet response did not arrive after this time * detect_multiplier, event will be raised to SW." access="RW" offset="0x8.16" size="0x0.8" />
	<field name="version" descr="Version field from ICMP Offload protocol." access="RW" offset="0x10.0" size="0x4.0" />
	<field name="guid" descr="GUID field from ICMP Offload protocol." subnode="uint64" access="RW" offset="0x14.0" size="0x8.0" />
	<field name="packet_length" descr="Packet Length.\;Length of packet_data field in Bytes.\;Range 34 (Min - MAC+IPV4)... 80\;Reserved when tx_interval=0." access="RW" offset="0x1C.0" size="0x0.8" />
	<field name="packet_data" descr="Packet data.\;MAC up to end of IP header.\;IP length calculated by FW.\;ip_checksum - calculated by HW\;Reserved when tx_interval=0." access="RW" high_bound="19" low_bound="0" offset="0x20.0" size="0x50.0" />
</node>

<node name="icmp_state_ext" descr="" size="0x10.0" >
	<field name="pgd_index" descr="PGD Index.\;Range 0...cap_max_num_&quot;fw_app_id_name&quot;_pgd_entries-1\;note - ICMP Offload has 2 types of entries, RX+TX and RX Only. RX+TX sessions number is limited to cap_max_num_rx_tx_icmp_offload_entries." access="INDEX" offset="0x0.0" size="0x0.16" />
	<field name="state" descr="ICMP State.\;0 - DOWN.\;1 - UP." access="RO" offset="0x0.31" size="0x0.1" />
	<field name="guid" descr="GUID from ICMP Offload." subnode="uint64" access="RO" offset="0x8.0" size="0x8.0" />
</node>

<node name="icsr_ext" descr="" size="0x410.0" >
	<field name="base_address" descr="Base cr-space address for reading" access="INDEX" offset="0x4.0" size="0x4.0" />
	<field name="num_reads" descr="Number of cr-space consecutive reads.\;Each read is 4B (DWord)\;Range 1..256" access="OP" offset="0x8.0" size="0x0.9" />
	<field name="data" descr="The cr-space read data" access="RO" high_bound="255" low_bound="0" offset="0x10.0" size="0x400.0" />
</node>

<node name="iddd_ext" descr="" size="0x8.0" >
	<field name="entry_type" descr="Entry type\;For Spectrum-2 hash entries see Appendix A.3.1.1, &quot;KVD Central Database Hash-based&quot; (page 4595)\;For Spectrum-2 linear entries see Appendix A.3.1.2, &quot;KVD Central Database Linear Entries&quot; (page 4597)" access="INDEX" offset="0x0.0" size="0x0.8" />
	<field name="duplication" descr="Duplication\;Valid values:\;1, 2, 4, 8, 16\;Default is 1\;\;" access="RW" offset="0x4.0" size="0x0.5" />
</node>

<node name="iddds_ext" descr="" size="0x440.0" >
	<field name="pipe" descr="Pipe\;See Table 1429, &quot;IDDDS - pipe entry Layout,&quot; on page 1904" subnode="iddds_pipeline_entry_ext" access="RW" high_bound="15" low_bound="0" offset="0x40.0" size="0x400.0" />
</node>

<node name="iddds_pipeline_entry_ext" descr="" size="0x40.0" >
	<field name="entry_type" descr="Entry type\;Per entry type: read percentage of utilization (lookups/time) in database\;Range 0..100\;For Spectrum-2 hash entries see Appendix A.3.1.1, &quot;KVD Central Database Hash-based&quot; (page 4595)\;For Spectrum-2 linear entries see Appendix A.3.1.2, &quot;KVD Central Database Linear Entries&quot; (page 4597)" access="RO" high_bound="63" low_bound="0" offset="0x0.24" size="0x40.0" />
</node>

<node name="iedlr_ext" descr="" size="0x10.0" >
	<field name="lpm_ipv4_remote" descr="Enables IPv4 LPM remote entries.\;Set (1) by default." access="RW" offset="0x4.0" size="0x0.1" />
	<field name="lpm_ipv6_remote" descr="Enables IPv6 LPM remote entries.\;Set (1) by default." access="RW" offset="0x4.1" size="0x0.1" />
	<field name="lpm_ipv4_local" descr="Enables IPv4 LPM local entries.\;Set (1) by default." access="RW" offset="0x4.2" size="0x0.1" />
	<field name="lpm_ipv6_local" descr="Enables IPv6 LPM local entries.\;Set (1) by default." access="RW" offset="0x4.3" size="0x0.1" />
	<field name="lpm_ipv4_ar" descr="Enables IPv4 LPM AR entries.\;Set (1) by default." access="RW" offset="0x4.4" size="0x0.1" />
	<field name="lpm_ipv6_ar" descr="Enables IPv6 LPM AR entries.\;Set (1) by default." access="RW" offset="0x4.5" size="0x0.1" />
	<field name="mask_lpm_ipv4_remote" descr="Set mask for lpm_ipv4_remote (Write only)" access="OP" offset="0xC.0" size="0x0.1" />
	<field name="mask_lpm_ipv6_remote" descr="Set mask for lpm_ipv6_remote (Write only)" access="OP" offset="0xC.1" size="0x0.1" />
	<field name="mask_lpm_ipv4_local" descr="Set mask for lpm_ipv4_local (Write only)" access="OP" offset="0xC.2" size="0x0.1" />
	<field name="mask_lpm_ipv6_local" descr="Set mask for lpm_ipv6_local (Write only)" access="OP" offset="0xC.3" size="0x0.1" />
	<field name="mask_lpm_ipv4_ar" descr="Set mask for lpm_ipv4_ar (Write only)" access="OP" offset="0xC.4" size="0x0.1" />
	<field name="mask_lpm_ipv6_ar" descr="Set mask for lpm_ipv6_ar (Write only)" access="OP" offset="0xC.5" size="0x0.1" />
</node>

<node name="iedr_ext" descr="" size="0x210.0" >
	<field name="num_rec" descr="Number of records\;Range 1..64\;When bg=1 the num_rec =1 and this field is reserved" access="OP" offset="0x0.0" size="0x0.8" />
	<field name="bg" descr="Background delete:\;0: immediate delete operation (a.k.a. sync)\;1: background delete operation (a.k.a. async). SW must poll for IEDS.ed_status=0 before attempting new deletes" access="OP" offset="0x0.24" size="0x0.1" />
	<field name="record" descr="See Table 1433, &quot;IEDR record Layout,&quot; on page 1907" subnode="iedr_record_ext" access="RW" high_bound="63" low_bound="0" offset="0x10.0" size="0x200.0" />
</node>

<node name="iedr_record_ext" descr="" size="0x8.0" >
	<field name="size" descr="Size of entries do be deleted.\;The unit is 1 entry, regardless of entry type\;Range 1..4096" access="OP" offset="0x0.0" size="0x0.13" />
	<field name="type" descr="Resource type\;For Spectrum-2, see Section A.3.1.2, &quot;KVD Central Database Linear Entries&quot;, on page 4597" access="OP" offset="0x0.24" size="0x0.8" />
	<field name="index_start" descr="Resource index start" access="OP" offset="0x4.0" size="0x0.24" />
</node>

<node name="ieds_ext" descr="" size="0x8.0" >
	<field name="edpr" descr="Entry Delete Priority\;When set FW will give higher priority for the current ongoing entry delete process. Can be set also while entry delete process is ongoing. Affects only current process. By default all process start as low prio\;" access="OP" offset="0x0.0" size="0x0.1" />
	<field name="ed_status" descr="Entry delete status:\;0: No entry delete process is ongoing\;1: Entry delete process is ongoing" access="RO" offset="0x4.0" size="0x0.4" />
</node>

<node name="ielr_ext" descr="" size="0x8.0" >
	<field name="entry_type" descr="Entry type\;For hash entries see A.3.1.1 &quot;KVD Central Database Hash-based,&quot; on page 4595\;For linear entries see A.3.1.2 &quot;KVD Central Database Linear Entries,&quot; on page 4597\;\;Supported entry types:\;IPv4 LPM Entry LPM_High (0x6)\;IPv6 LPM Entry LPM_High (0x9)\;The rest are not supported." access="INDEX" offset="0x0.0" size="0x0.8" />
	<field name="locality_en" descr="Locality Enabled\;Locality is enabled by default for all entry types." access="RW" offset="0x4.0" size="0x0.1" />
</node>

<node name="ifbo_ext" descr="" size="0x28.0" >
	<field name="type" descr="Hash type\;2: Random\;3: CRC2\;4: XOR2 - this is a always symmetric hash function, always symmetric also for inner fields (L2, L3,L4). \;\;" access="RW" offset="0x0.0" size="0x0.4" />
	<field name="outer_header_enables" descr="Outer header enables. Each bit enables a specific layer field to be included in the hash calculation. Layers that are not listed below are enabled by default.\;Bit 0: Enable Layer2 fields if packet is not IPv4/6\;Bit 1: Enable Layer2 fields if packet is IPv4\;Bit 2: Enable Layer2 fields if packet is IPv6\;Bit 3: Enable IPv4 fields if packet is not TCP and not UDP\;Bit 4: Enable IPv4 fields if packet is either TCP or UDP\;Bit 5: Enable IPv6 fields if packet is not TCP and not UDP\;Bit 6: Enable IPv6 fields if packet is either TCP or UDP\;Bit 7: Enable TCP/UDP header fields if packet is IPv4\;Bit 8: Enable TCP/UDP header fields if packet is IPv6" access="RW" offset="0x10.0" size="0x0.16" />
	<field name="outer_header_fields_enable" descr="By defaults, all fields are &apos;0&apos;\;Layer2 fields, subject to outer_header_enables:\;Bit 0: SMAC\;Bit 1: DMAC\;Bit 2: Ethertype\;Bit 3: Outer VID\;Bit 4: Outer PCP\;Bit 5: Outer DEI\;Bit 6: Inner VID\;Bit 7: Inner PCP\;Bit 8: Inner DEI\;\;IPv4 fields, subject to outer_header_enables:\;Bits 12:9: IPv4 SIP 0-3 enable per byte. For ARP all bytes are used\;Bits 16:13: IPv4 DIP 0-3 enable per byte. For ARP all bytes are used\;Bit 17: IPv4 Protocol\;Bit 18: IPv4 DSCP\;Bit 19: IPv4 ECN\;Bit 20: IPv4 IP L3 Length - length field bits [13:10]\;\;IPv6 fields, subject to outer_header_enables:\;Bits 21: IPv6 enable bytes of SIP 0. For ARP all bytes are used\;Bits 28:22 reserved\;Bits 36:29: IPv6 SIP 8-15 enable per byte. For ARP all bytes are used\;Bits 37: IPv6 enable bytes of DIP 0. For ARP all bytes are used\;Bits 44:38 reserved\;Bits 52:45: IPv6 DIP 8-15 enable per byte. For ARP all bytes are used\;Bit 53: IPv6 Next Header\;Bit 54: IPv6 DSCP\;Bit 55: IPv6 ECN\;Bit 56: IPv6 IP L3 Length - length field bits [13:10]\;Bit 57: IPv6 Flow label\;\;" access="RW" high_bound="4" low_bound="0" offset="0x14.0" size="0x14.0" />
</node>

<node name="igcr_ext" descr="" size="0x10.0" >
	<field name="ddd_lpm_high_ipv4" descr="For DDD for IPv4 LPM\;LPM_High is for routes with prefixes from ddd_lpm_high_ipv4 .. 32\;LPM_Low is for routes with prefixes from 1 to  ddd_lpm_high_ipv4-1\;Range: 1..32, default: 9\;Note: can only be changed when the router is disabled\;" access="RW" offset="0x0.0" size="0x0.8" />
	<field name="ddd_lpm_high_ipv6" descr="For DDD for IPv6 LPM\;LPM_High is for routes with prefixes from ddd_lpm_high_ipv6 .. 128\;LPM_Low is for routes with prefixes from 1 to ddd_lpm_high_ipv6-1\;Range: 1..128, default: 33\;Note: can only be changed when the router is disabled" access="RW" offset="0x0.16" size="0x0.8" />
	<field name="ddd_pe_actions_priority" descr="For DDD on ACL actions\;ACL actions which are pointed by a rule with priority equal to or smaller than this value will have DDD\;For example if the value is 0 then only default actions will have DDD\;Default 0" access="RW" offset="0x8.0" size="0x0.24" />
	<field name="pisbo" descr="Port isolation bridge only:\;0: port isolation also after router\;1: port isolation does not work if packet was routed\;Note that the NVE isolation (TNIFR) is orthogonal to this configuration\;Reserved when Spectrum-1\;" access="RW" offset="0xC.0" size="0x0.1" />
	<field name="ddd_lag_mode" descr="0: entry is duplicated cap_lag_ddd times.\;1: no entry duplication (DDD disabled).\;\;\;Note:\;1. Can be changed only when there is no LAG configuration applied\;2. Supported when config_profile.lag_mode = 1 (SW managed)" access="RW" offset="0xC.8" size="0x0.4" />
</node>

<node name="ihscr_ext" descr="" size="0xa8.0" >
	<field name="inner_l2_type" descr="Bit0: others\;Bit1: Ethernet" access="RW" offset="0x0.0" size="0x0.2" />
	<field name="profile_index" descr="Index of classifier.\;Range 0 - cap_max_signature_hash_classifiers - 1\;If packet match classifier index X, signature hash index X will be performed on the packet." access="INDEX" offset="0x0.29" size="0x0.3" />
	<field name="l3_type" descr="Ethertype\;Bit0: None \;Bit1: IPv4\;Bit2: IPv6\;Bit3: GRH\;Bit4: Fiber-Channel\;Bit5: ARP\;Bit6: Raw Bit7: MPLS\;" access="RW" offset="0x4.0" size="0x0.8" />
	<field name="inner_l3_type" descr="same as for l3_type" access="RW" offset="0x8.0" size="0x0.8" />
	<field name="inner_ip_frag" descr="same as for ip_frag" access="RW" offset="0xC.0" size="0x0.2" />
	<field name="ip_frag" descr="IP Packet is fragmented:\;Bit0: fragmented\;Bit1: not fragmented" access="RW" offset="0xC.8" size="0x0.2" />
	<field name="l4_type" descr="Bit0: others \;Bit1: Raw \;Bit2: TCP\;Bit3: UDP\;Bit4: BTH\;Bit5: BTH_over_UDP\;Bit6: ICMP\;Bit7: IGMP\;Bit8: AH\;Bit9: ESP\;" access="RW" offset="0x10.0" size="0x0.11" />
	<field name="inner_l4_type" descr="same as for l4_type" access="RW" offset="0x14.0" size="0x0.11" />
	<field name="tunnel_type" descr="Bit0: others \;Bit1: VxLAN\;Bit2: NVGRE\;Bit3: MPLS\;Bit4: IPinIP - no GRE\;Bit5: IPinGREinIP_Key - with GRE and a key\;Bit6: IPinGREinIP - with GRE, without a key\;Bit8: Flex" access="RW" offset="0x18.0" size="0x0.9" />
	<field name="mask_outer" descr="If tunnel, all outer fields are don&apos;t care (match to classifier)" access="RW" offset="0x1C.0" size="0x0.1" />
	<field name="mask_inner" descr="If no tunnel, all inner fields are don&apos;t care (match to classifier)" access="RW" offset="0x1C.1" size="0x0.1" />
	<field name="fpp_index" descr="Bit0 : if set, fpp (flex parser program) was not used\;Bit1-Bit8: fpp index + 1" access="RW" offset="0x20.0" size="0x0.9" />
	<field name="inner_fpp_index" descr="Bit0 : if set, inner fpp was not used\;Bit1-Bit8: inner fpp index + 1" access="RW" offset="0x24.0" size="0x0.9" />
	<field name="ports_bitmap" descr="Bitmap off all ports.\;Index according to local port numbering." access="RW" high_bound="31" low_bound="0" offset="0x28.0" size="0x80.0" />
</node>

<node name="ihsr_ext" descr="" size="0x50.0" >
	<field name="type" descr="Hash type\;0: CRC" access="RW" enum="CRC=0x0" offset="0x0.0" size="0x0.4" />
	<field name="gsh" descr="Global Symmetric Hash Configuration\;When set, the hash calculation will result in the same hash value as when the source address (layer 2, layer 3 and layer 4) is swapped. This ensures that the same conversions will result in the same hash value.\;bit 0: When set, applies symmetric hash on outer header\;bit 1: When set, applies symmetric hash on inner header\;bit 2: When set, applies symmetric hash cbset.\;The following cbset pairs are applied with symmetric action: [0,1], [2,3], [4,5], [6,7]" access="RW" offset="0x0.8" size="0x0.3" />
	<field name="hash_profile" descr="Index of hash.\;Range 0 - cap_max_signature_hash_profiles - 1" access="INDEX" offset="0x0.16" size="0x0.3" />
	<field name="general_fields" descr="This is a bit mask, in which each bit enables a specific field to be included in the hash calculation. \;Bit 0: ingress port - [DWIP]\;Bit 1: custom_bytes are set by cbsets field.\;Bit i: custom_bytes i-2\;i = 2 .. 2 + (cap_max_custom_byte_sets_for_hash * cap_custom_byte_entry_size - 1)\;See Section 11.3.16, &quot;Custom Bytes&quot;, on page 3390" access="RW" offset="0xC.0" size="0x4.0" />
	<field name="outer_header_enables" descr="Outer header enables. Each bit enables a specific layer field to be included in the hash calculation. Layers that are not listed below are enabled by default.\;Bit 0: Enable Layer2 fields if packet is not IPv4/6\;Bit 1: Enable Layer2 fields if packet is IPv4\;Bit 2: Enable Layer2 fields if packet is IPv6\;Bit 3: Enable IPv4 fields if packet is not TCP and not UDP\;Bit 4: Enable IPv4 fields if packet is either TCP or UDP\;Bit 5: Enable IPv6 fields if packet is not TCP and not UDP\;Bit 6: Enable IPv6 fields if packet is either TCP or UDP\;Bit 7: Enable TCP/UDP header fields if packet is IPv4\;Bit 8: Enable TCP/UDP header fields if packet is IPv6\;Bit 9: IPv4 mask fragments - mask ipv4 fragmented packets (mask all fields after ipv4 header)\;\;" access="RW" offset="0x10.0" size="0x0.16" />
	<field name="outer_header_fields_enable" descr="Layer2 fields, subject to outer_header_enables:\;Bit 0: SMAC\;Bit 1: DMAC\;Bit 2: Ethertype\;Bit 3: Outer VLAN VID\;Bit 4: Outer VLAN PCP\;Bit 5: Outer VLAN DEI (cfi)\;Bit 6: Inner VLAN VID\;Bit 7: Inner VLAN PCP\;Bit 8: Inner VLAN DEI (cfi)\;\;IPv4 fields, subject to outer_header_enables:\;Bits 12:9: IPv4 SIP 0-3 enable per byte. For ARP all bytes are used\;Bits 16:13: IPv4 DIP 0-3 enable per byte. For ARP all bytes are used\;Bit 17: IPv4 Protocol\;Bit 18: IPv4 DSCP\;Bit 19: IPv4 ECN\;Bit 20: IPv4 IP L3 Length - length field bits [13:10]\;\;IPv6 fields, subject to outer_header_enables:\;Bits 21: IPv6 enable bytes of SIP 0-7. For ARP all bytes are used\;Bits 28:22 reserved\;Bits 36:29: IPv6 SIP 8-15 enable per byte. For ARP all bytes are used\;Bits 37: IPv6 enable bytes of DIP 0-7. For ARP all bytes are used\;Bits 44:38 reserved\;Bits 52:45: IPv6 DIP 8-15 enable per byte. For ARP all bytes are used\;Bit 53: IPv6 Next Header\;Bit 54: IPv6 DSCP\;Bit 55: IPv6 ECN\;Bit 56: IPv6 IP L3 Length - length field bits [13:10]\;Bit 57: IPv6 Flow label" access="RW" high_bound="4" low_bound="0" offset="0x14.0" size="0x14.0" />
	<field name="inner_header_enables" descr="Inner header enables. Each bit enables a specific layer field to be included in the hash calculation. Layers that are not listed below are enabled by default.\;Bit 0: Enable inner Layer2 fields if inner packet is not IPv4/6\;Bit 1: Enable inner Layer2 fields if inner packet is IPv4\;Bit 2: Enable inner Layer2 fields if inner packet is IPv6\;Bit 3: Enable inner IPv4 fields if inner packet is not TCP and not UDP\;Bit 4: Enable inner IPv4 fields if inner packet is either TCP or UDP\;Bit 5: Enable inner IPv6 fields if inner packet is not TCP and not UDP\;Bit 6: Enable inner IPv6 fields if inner packet is either TCP or UDP\;Bit 7: Enable inner TCP/UDP header fields if inner packet is IPv4\;Bit 8: Enable inner TCP/UDP header fields if inner packet is IPv6\;Bit 9: inner IPv4 mask fragments - mask ipv4 fragmented packets (mask all fields after ipv4 header)\;others: reserved" access="RW" offset="0x2C.0" size="0x0.16" />
	<field name="inner_header_fields_enable" descr="Inner header fields enable.\;\;Inner Layer2 fields, subject to inner_header_enables:\;Bit 0: SMAC\;Bit 1: DMAC\;Bit 2: Ethertype\;\;Inner IPv4 fields, subject to inner_header_enables:\;Bits 6:3: IPv4 SIP 0-3 enable per byte\;Bits 10:7: IPv4 DIP 0- 3 enable per byte\;Bit 11: IPv4 Protocol\;\;Inner IPv6 fields, subject to inner_header_enables:\;Bits 12: IPv6 enable bytes of SIP 0-7\;Bits 19:13 reserved\;Bits 27:20: IPv6 SIP 8-15 enable per byte\;Bits 28: IPv6 enable bytes of DIP 0-7\;Bits 35:29 reserved\;Bits 43:36: IPv6 DIP 8-15 enable per byte\;Bit 44: IPv6 Next Header\;Bit 45: IPv6 Flow label\;\;Inner TCP /UDP header fields, subject to inner_header_enables:\;Bit 46: TCP/UDP source port\;Bit 47: TCP/UDP destination port\;\;Inner BTH header fields, subject to inner_header_enables:\;Bit 48: BTH dest qp\;Bit 49: BTH opcode\;Bit50: BTH pkey\;\;Inner DETH fields, subject to inner_header_enables:\;Bit 51: DETH_qkey_en\;Bit 52: DETH_source_qp_en" subnode="uint64" access="RW" offset="0x30.0" size="0x8.0" />
	<field name="cbsets" descr="Custom Byte Sets.\;For more details refer to Table 1678, &quot;cbsets Layout&quot;.\;Reserved when Spectrum\;Reserved up to cap_max_custom_byte_sets-1" access="RW" high_bound="3" low_bound="0" offset="0x40.0" size="0x10.0" />
</node>

<node name="iicr_ext" descr="" size="0x34.0" >
	<field name="kvh_mark_clear" descr="KVH mark and clear\;0: Nop \;1: Mark all KVH entries (e.g. before FW-ISSU)\;2: Clear (delete) all marked KVH entries (e.g. after FW-ISSU)\;Spectrum: mark/delete only KVH hash entries\;Spectrum-2: mark/delete KVH hash and KVH linear entries\;Note: dump sessions must not be ongoing between mark and clear. e.g. SFN, SFDD, RAUHTD, PEFAAD, MPNHLFED, TNIPSN" access="OP" offset="0x8.0" size="0x0.4" />
	<field name="clear_mc_rtr_tcam_mask" descr="For Spectrum only:\;clear (deallocate) Multicast Router TCAM regions if:\;(1) group[bit] = clear_pe_regions_value[bit]\;(2) and clear_mc_rtr_tcam_mask[bit]=1\;Note: a used TCAM region must not be cleared (if traffic is passing through this region). An ACL may point to this unused TCAM region\;For the 2 Mc Router groups see RTAR.key_type.\;If mask=0 then this is a Nop" access="OP" offset="0xC.0" size="0x0.2" />
	<field name="clear_mc_rtr_tcam_value" descr="For Spectrum only:\;clear (deallocate) Multicast Router TCAM regions if:\;(1) group[bit] = clear_pe_regions_value[bit]\;(2) and clear_mc_rtr_tcam_mask[bit]=1\;Note: a used TCAM region must not be cleared (if traffic is passing through this region). An ACL may point to this unused TCAM region\;For the 2 Mc Router groups see RTAR.key_type.\;If mask=0 then this is a Nop" access="OP" offset="0xC.4" size="0x0.2" />
	<field name="clear_pe_regions_value" descr="clear (deallocate) policy engine TCAM regions if:\;(1) region[bit] = clear_pe_regions_value[bit]\;(2) and clear_pe_regions_mask[bit]=1\;Note: a used TCAM region must not be cleared (if traffic is passing through this region). An ACL may point to this unused TCAM region.\;If mask=0 then this is a Nop" access="OP" offset="0x10.0" size="0x0.16" />
	<field name="clear_pe_regions_mask" descr="clear (deallocate) policy engine TCAM regions if:\;(1) region[bit] = clear_pe_regions_value[bit]\;(2) and clear_pe_regions_mask[bit]=1\;Note: a used TCAM region must not be cleared (if traffic is passing through this region). An ACL may point to this unused TCAM region.\;If mask=0 then this is a Nop" access="OP" offset="0x14.0" size="0x0.16" />
	<field name="clear_rifs_value" descr="clear (deallocate) router interface (RIF) if:\;(1) rif[bit] = clear_rifs_value[bit]\;(2) and clear_rifs_mask[bit]=1\;Note: a used RIF must not be cleared (if traffic is passing through this RIF).\;If mask=0 then this is a Nop" access="OP" offset="0x18.0" size="0x0.16" />
	<field name="clear_rifs_mask" descr="clear (deallocate) router interface (RIF) if:\;(1) rif[bit] = clear_rifs_value[bit]\;(2) and clear_rifs_mask[bit]=1\;Note: a used RIF must not be cleared (if traffic is passing through this RIF).\;If mask=0 then this is a Nop" access="OP" offset="0x1C.0" size="0x0.16" />
	<field name="traps_2_default" descr="Set all trap_id&apos;s actions to default as after reset." access="OP" offset="0x20.0" size="0x0.1" />
	<field name="clear_acl_group_ids_value" descr="clear (deallocate) policy engine ACL groups (which were configured with PAGT) if:\;(1) group[bit] = clear_acl_group_ids_value[bit]\;(2) and clear_acl_group_ids_mask[bit]=1\;Note: a used ACL group must not be cleared (if traffic is passing through this ACL group).\;If mask=0 then this is a Nop.\;Note: Mutual exclusive with clear_acl_group_elements_value and clear_acl_group_elements_mask." access="OP" offset="0x24.0" size="0x0.16" />
	<field name="clear_acl_group_ids_mask" descr="clear (deallocate) policy engine ACL groups (which were configured with PAGT) if:\;(1) group[bit] = clear_acl_group_ids_value[bit]\;(2) and clear_acl_group_ids_mask[bit]=1\;Note: a used ACL group must not be cleared (if traffic is passing through this ACL group).\;If mask=0 then this is a Nop.\;Note: Mutual exclusive with clear_acl_group_elements_value and clear_acl_group_elements_mask." access="OP" offset="0x28.0" size="0x0.16" />
	<field name="clear_acl_group_elements_value" descr="clear (deallocate) policy engine ACL group elements (which were configured with PAGT_V2) if:\;(1) element[bit] = clear_acl_group_elements_value[bit]\;(2) and clear_acl_group_elements_mask[bit]=1\;Note: a used ACL group element must not be cleared (if traffic is passing through this ACL group element).\;If mask=0 then this is a Nop.\;Note: Mutual exclusive with clear_acl_group_ids_value and clear_acl_group_ids_mask." access="OP" offset="0x2C.0" size="0x0.16" />
	<field name="clear_acl_group_elements_mask" descr="clear (deallocate) policy engine ACL group elements (which were configured with PAGT_V2) if:\;(1) element[bit] = clear_acl_group_elements_value[bit]\;(2) and clear_acl_group_elements_mask[bit]=1\;Note: a used ACL group element must not be cleared (if traffic is passing through this ACL group element).\;If mask=0 then this is a Nop.\;Note: Mutual exclusive with clear_acl_group_ids_value and clear_acl_group_ids_mask." access="OP" offset="0x30.0" size="0x0.16" />
</node>

<node name="index_dump" descr="" size="0x4.0" >
	<field name="index_dump" descr="" offset="0x0.0" size="0x0.24" />
</node>

<node name="ip2me_ext" descr="" size="0x14.0" >
	<field name="trap_action" descr="Trap Action\;0: NOP\;3: MIRROR. Note that if the packet is trapped as IP2ME (see description in v) then it will not be trapped as MIRROR.\;Reserved when v = 0" access="RW" offset="0x0.28" size="0x0.4" />
	<field name="tunnel_ptr" descr="Tunnel Pointer for NVE or IPinIP tunnel decapsulation. See Section 14.14.16, &quot;RTDP - Routing Tunnel Decap Properties Register&quot;, on page 4146\;For Spectrum, pointer to KVD Linear, see Section A.2.1.2, &quot;KVD Central Database Linear Entries&quot;, on page 4588\;" access="RW" offset="0x4.0" size="0x0.24" />
	<field name="v" descr="Valid bit for the tunnel_ptr field\;If valid = 0 then trap to CPU as IP2ME trap id\;If valid = 1 and the packet format allows NVE or IPinIP tunnel decapsulation then tunnel decapsulation is done\;If valid = 1 and packet format does not allow NVE or IPinIP tunnel decapsulation then trap as IP2ME trap id" access="RW" offset="0x4.31" size="0x0.1" />
</node>

<node name="ip_gw_adjacency_ext" descr="" size="0x14.0" >
	<field name="irif" descr="RIF post NAT operation" access="RW" offset="0x0.0" size="0x0.16" />
	<field name="new_header_type" descr="new IP header type:\;0: Build IPv4, set by new_ipv4_udip\;1: Build IPv6, set by new_ipv6_ptr\;Note: the type field (IPv4 or IPv6) must match the configuration of the router interface, see protocol field in Table 3464, &quot;Loopback USIP Router Interface Properties Layout,&quot; on page 4091" access="RW" offset="0x0.24" size="0x0.4" />
	<field name="qos_profile" descr="qos profile\;valid values 0..(cap_max_tqos_profile-1)" access="RW" offset="0x4.24" size="0x0.4" />
	<field name="new_ipv4_udip" descr="New IPv4 dip\;Reserved when nat_type is IPv6" access="RW" offset="0x8.0" size="0x4.0" />
	<field name="new_ipv6_ptr" descr="Pointer to IPv6 dip\;See Section 14.14.17, &quot;RIPS - Router IP version Six Register&quot;, on page 4153\;Pointer to KVD linear space, see A.2.1.2 &quot;KVD Central Database Linear Entries,&quot; on page 4588\;Reserved when nat_type is IPv4" access="RW" offset="0xC.0" size="0x0.24" />
	<field name="exp_l3" descr="Expected Layer 3 Header:\;0: Any \;1: IPv4\;2: IPv6" access="RW" offset="0x10.0" size="0x0.2" />
</node>

<node name="ipac_ext" descr="" size="0xb0.0" >
	<field name="profile_index" descr="Profile Index\;Range 0..cap_max_infra_profiles-1" access="INDEX" offset="0x0.8" size="0x0.4" />
	<field name="status" descr="Status:\;0: IDLE\;1: BUSY\;2: CANCELED - After the trap the status moves to IDLE\;3: ERROR - After the trap the status moves to IDLE\;" access="RO" enum="IDLE=0x0,BUSY=0x1,CANCELED=0x2,ERROR=0x3" offset="0x4.0" size="0x0.2" />
	<field name="opcode" descr="Opcode\;0: START a session. Per session rejected when status = BUSY.\;1: CANCEL the session, see explanation above.\;2: CANCEL_AND_CLEAR cancel session and clear the profile.\;Note that a session is per type, thus multi sessions are allowed for different types.\;Opcode START cannot be set when a session is BUSY" access="WO" offset="0x4.8" size="0x0.2" />
	<field name="port_mask" descr="Local port\;Each bit represents a local port. Refer to Section 9.2, &quot;Port Numbering&quot;, on page 2202 for port numbering scheme.\;CPU port is supported\;Router port is not supported" access="RW" high_bound="31" low_bound="0" offset="0x20.0" size="0x80.0" />
	<field name="log_op_time" descr="Log: how long the operation took in background\;Units of mSec" access="RO" offset="0xA0.0" size="0x0.16" />
	<field name="log_op_registers" descr="Log: how many &quot;PRM registers&quot; were configured, e.g. if PMTU was done for 128 ports then reveal 128." access="RO" offset="0xA4.0" size="0x4.0" />
	<field name="error_register_id" descr="When status = ERROR:\;register_id on which there was an error" access="RO" offset="0xA8.0" size="0x0.16" />
	<field name="error_local_port" descr="When status = ERROR:\;local_port on which there was an error" access="RO" offset="0xA8.16" size="0x0.8" />
	<field name="error_lp_msb" descr="error_local_port[9:8]" access="RO" offset="0xA8.24" size="0x0.2" />
	<field name="error_entry_index" descr="When status = ERROR:\;Index of the entry in the profile that had an error" access="RO" offset="0xAC.0" size="0x0.16" />
	<field name="error_status" descr="When status = ERROR:\;Returned status.\;See Table 138, &quot;EMADs Return Status Summary,&quot; on page 605" access="RO" offset="0xAC.16" size="0x0.7" />
</node>

<node name="ipcr_ext" descr="" size="0xc.0" >
	<field name="dest_pgt_ptr" descr="Destination PGT address pointer" access="OP" offset="0x0.0" size="0x0.16" />
	<field name="source_pgt_ptr" descr="Source PGT address pointer" access="OP" offset="0x4.0" size="0x0.16" />
	<field name="size" descr="Number of entries to copy\;Range 1 .. 2K" access="OP" offset="0x8.0" size="0x0.15" />
</node>

<node name="iper_ext" descr="" size="0x20.0" >
	<field name="profile_index" descr="Profile Index\;Range 0..cap_max_infra_profiles-1" access="INDEX" offset="0x0.8" size="0x0.4" />
	<field name="entry_index" descr="Entry index" access="INDEX" offset="0x4.0" size="0x0.16" />
	<field name="register_id" descr="Register_ID of the entry\;Reserved when valid=0" access="RO" offset="0x8.0" size="0x0.16" />
	<field name="valid" descr="The entry has a valid value" access="RO" offset="0x8.16" size="0x0.1" />
	<field name="register_fields" descr="First 16B of the register fields\;Reserved when valid=0" access="RO" high_bound="3" low_bound="0" offset="0x10.0" size="0x10.0" />
</node>

<node name="ipfr_ext" descr="" size="0x8.0" >
	<field name="pgt_base_ptr" descr="PGT address base pointer" access="OP" offset="0x0.0" size="0x0.16" />
	<field name="size" descr="Number of entries to flush" access="OP" offset="0x4.0" size="0x0.16" />
</node>

<node name="ipinip_encap_adjacency_ext" descr="" size="0x18.0" >
	<field name="ipip_type" descr="Underlay destination ip type:\;0: IPv4, set by ipv4_udip\;1: IPv6, set by ipv6_ptr\;Note: the type field (IPv4 or IPv6) must match the configuration of the router interface, see protocol field in Table 3466, &quot;Loopback IPinIP Overlay Router Interface Properties Layout&quot;" access="RW" offset="0x0.16" size="0x0.4" />
	<field name="tqos_profile" descr="Tunnel QoS profile\;0..cap_max_tqos_profile\;Reserved when Spectrum-1" access="RW" offset="0x4.24" size="0x0.4" />
	<field name="tqos_profile_en" descr="0: Use FW hard-coded value. See more detail in Table 12.11, &quot;Tunnel QoS Profiles,&quot; on page 3913\;1: Use tqos_profile_id" access="OP" offset="0x4.31" size="0x0.1" />
	<field name="ipv4_udip" descr="Underlay ipv4 dip\;Reserved when ipip_type is IPv6" access="RW" offset="0x8.0" size="0x4.0" />
	<field name="ipv6_ptr" descr="Pointer to IPv6 underlay destination ip address\;See Section 14.14.17, &quot;RIPS - Router IP version Six Register&quot;, on page 4153\;For Spectrum: Pointer to KVD linear space, see Appendix A.2.1.2, &quot;KVD Central Database Linear Entries&quot; (page 4588)" access="RW" offset="0xC.0" size="0x0.24" />
</node>

<node name="ipoib_multicast_adjacency_ext" descr="" size="0x18.0" >
	<field name="dlid" descr="Destination local ID.\;For multicast, this is actually mlid - multicast LID." access="RW" offset="0x0.0" size="0x0.16" />
	<field name="sl" descr="Service level" access="RW" offset="0x0.20" size="0x0.4" />
	<field name="tclass" descr="Traffic class" access="RW" offset="0x8.0" size="0x0.8" />
</node>

<node name="ipoib_unicast_with_grh_adjacency_ext" descr="" size="0x18.0" >
	<field name="dlid" descr="Destination local ID" access="RW" offset="0x0.0" size="0x0.16" />
	<field name="sl" descr="Service level" access="RW" offset="0x0.20" size="0x0.4" />
	<field name="my_lid" descr="LID path bits, to be masked by the interface LMC and added to the SLID base configured for the router port." access="RW" offset="0x0.24" size="0x0.7" />
	<field name="dqpn" descr="Destination queue pair number" access="RW" offset="0x4.0" size="0x0.24" />
	<field name="dgid" descr="Destination global ID" access="RW" high_bound="3" low_bound="0" offset="0x8.0" size="0x10.0" />
</node>

<node name="ipoib_unicast_without_grh_adjacency_ext" descr="" size="0x18.0" >
	<field name="dlid" descr="Destination local ID" access="RW" offset="0x0.0" size="0x0.16" />
	<field name="sl" descr="Service level" access="RW" offset="0x0.20" size="0x0.4" />
	<field name="dqpn" descr="Destination queue pair number" access="RW" offset="0x4.0" size="0x0.24" />
	<field name="my_lid" descr="LID path bits, to be masked by the interface LMC and added to the SLID base configured for the router port." access="RW" offset="0x8.0" size="0x0.7" />
</node>

<node name="ipsr_ext" descr="" size="0x14.0" >
	<field name="profile_index" descr="Profile Index\;Range 0..cap_max_infra_profiles-1" access="INDEX" offset="0x0.8" size="0x0.4" />
	<field name="cap_size" descr="Capability size\;Units of KB." access="RO" offset="0x8.0" size="0x0.16" />
	<field name="current_size" descr="Current size\;Units of KB." access="RO" offset="0xC.0" size="0x0.16" />
	<field name="current_entries" descr="Current number of entries" access="RO" offset="0x10.0" size="0x0.16" />
</node>

<node name="irpcs_ext" descr="" size="0x10.0" >
	<field name="set_mask" descr="Set bitmask for Query/Write:\;0: DIP\;1: SIP - Reserved\;2: DPORT - Reserved\;3: SPORT - Reserved" access="OP" enum="DIP=0x0,SIP=0x1,DPORT=0x2,SPORT=0x3" offset="0x0.28" size="0x0.4" />
	<field name="dip_row_seed" descr="Seed for DIP hash function for table row." access="RW" offset="0x4.0" size="0x0.9" />
	<field name="dip_entry_seed" descr="Seed for DIP hash function for table entries." subnode="dip_entry_seed" access="RW" high_bound="1" low_bound="0" offset="0x8.0" size="0x8.0" />
</node>

<node name="kvd_im_stop_ext" descr="" size="0xa0.0" >
	<field name="pipes_mask" descr="Bit per kvh pipe" access="RO" offset="0x0.0" size="0x0.16" />
	<field name="oe" descr="Old Event:\;0: New event\;1: Old event, found during MFGD activation" access="RO" offset="0x0.24" size="0x0.1" />
</node>

<node name="l3_generic_encap_adjacency_ext" descr="" size="0x18.0" >
	<field name="emt_pointer" descr="EMT pointer\;Range: 0 .. cap_max_emts - 1\;See FMTC, FMTE" access="RW" offset="0x0.0" size="0x0.8" />
	<field name="u_ip_ver" descr="Underlay ip version:\;0: IPv4, set by ipv4_udip\;1: IPv6, set by ipv6_ptr\;Note: the u_ip_ver field (IPv4 or IPv6) must match the configuration of the router interface, see protocol field in Table 3466, &quot;Loopback IPinIP Overlay Router Interface Properties Layout&quot;" access="RW" offset="0x0.16" size="0x0.4" />
	<field name="uirif" descr="Underlay Ingress RIF" access="RW" offset="0x4.0" size="0x0.16" />
	<field name="tqos_profile" descr="Tunnel QoS profile\;0..cap_max_tqos_profile \;Reserved when Spectrum" access="RW" offset="0x4.24" size="0x0.4" />
	<field name="ipv4_udip" descr="Underlay ipv4 dip\;Reserved when ipip_type is IPv6" access="RW" offset="0x8.0" size="0x4.0" />
	<field name="ipv6_ptr" descr="Pointer to IPv6 underlay destination ip address\;See Section 14.14.17, &quot;RIPS - Router IP version Six Register&quot;, on page 4153\;For Spectrum: Pointer to KVD linear space, see Section A.2.1.2, &quot;KVD Central Database Linear Entries&quot;, on page 4588\;Reserved when ipip_type is IPv4" access="RW" offset="0xC.0" size="0x0.24" />
	<field name="cbset_y_set_en" descr="Enable setting value on cbset_y" access="RW" offset="0x10.0" size="0x0.1" />
	<field name="cbset_x_set_en" descr="Enable setting value on cbset_x" access="RW" offset="0x10.1" size="0x0.1" />
	<field name="cbset_y_select" descr="Select cbset_y:\;Spectrum-2: Range 0..7\;" access="RW" offset="0x10.16" size="0x0.3" />
	<field name="cbset_x_select" descr="Select cbset_x:\;Spectrum-2: Range 0..7\;" access="RW" offset="0x10.24" size="0x0.3" />
	<field name="cbset_y_val" descr="Value for setting cbset_y, if cbset_y_set_en = 1" access="RW" offset="0x14.0" size="0x0.16" />
	<field name="cbset_x_val" descr="Value for setting cbset_x, if cbset_x_set_en = 1" access="RW" offset="0x14.16" size="0x0.16" />
</node>

<node name="lane_2_module_mapping_ext" descr="" size="0x4.0" >
	<field name="module" descr="Module number" access="RW" offset="0x0.0" size="0x0.8" />
	<field name="slot_index" descr="Reserved for HCA.\;Slot_index \;Slot_index = 0 represent the onboard (motherboard). \;In case of non modular system only slot_index = 0 is available." access="RW" offset="0x0.8" size="0x0.4" />
	<field name="sub_module" descr="Indicates start offset of rx_lane, tx_lane inside the modules lanes in 8x granularity. relevant for modules with more than 8 lanes. such as OE.\;0: lanes_0-7\;1: lanes_8_15\;2: lanes_16_23\;3: lanes_24_31" access="RW" offset="0x0.12" size="0x0.4" />
	<field name="tx_lane" descr="TX lane. \;When m_lane_m field is set, this field is ignored (Reserved). \;When rxtx field is cleared, this field is used for RX as well." access="RW" offset="0x0.16" size="0x0.4" />
	<field name="rx_lane" descr="RX lane.\;When m_lane_m field is set, this field is ignored (Reserved). \;When rxtx field is clreared, for set operation this field is ignored and for get operation may return invalid value, Rx mapping for get should be taken from tx_lane." access="RW" offset="0x0.24" size="0x0.4" />
	<field name="mode_b_map" descr="Supported if PCAM.feature_cap_mask bit 116 is set, otherwise field is not valid.\;Relevant for Mode B port only, Mode A port should ignore.\;indicates if module lane Tx or Rx is used.\;0: module_rx_lane_valid - Mode B lane uses module rx lane. \;tx lane value is not valid should be ignored\;1: module_tx_lane_valid - Mode B lane uses module tx lane. \;rx lane value is not valid should be ignored" access="RO" offset="0x0.30" size="0x0.1" />
</node>

<node name="lane_to_module_mapping_ext" descr="" size="0x4.0" >
	<field name="module" descr="Module number" access="RO" offset="0x0.0" size="0x0.8" />
	<field name="slot_index" descr="Reserved for HCA\;Slot_index \;Slot_index = 0 represent the onboard (motherboard). \;In case of non modular system only slot_index = 0 is available." access="RO" offset="0x0.8" size="0x0.4" />
	<field name="sub_module" descr="Indicates start offset of rx_lane, tx_lane inside the modules lanes in 8x granularity. relevant for modules with more than 8 lanes. such as OE.\;0: lanes_0-7\;1: lanes_8_15\;2: lanes_16_23\;3: lanes_24_31" access="RW" offset="0x0.12" size="0x0.4" />
	<field name="tx_lane" descr="TX lane. \;When m_lane_m field is set, this field is ignored (Reserved). \;When rxtx field is cleared, this field is used for RX as well." access="RO" offset="0x0.16" size="0x0.4" />
	<field name="rx_lane" descr="RX lane.\;When m_lane_m field is set, this field is ignored (Reserved). \;When rxtx field is cleared, this field is ignored and RX lane is equal to TX lane." access="RO" offset="0x0.24" size="0x0.4" />
</node>

<node name="latency_record_ext" descr="" size="0x8.0" >
	<field name="tx_local_port" descr="TX Local Port\;TBD - label port?" access="RO" offset="0x0.0" size="0x0.16" />
	<field name="original_tclass" descr="Original Traffic Class." access="RO" offset="0x0.16" size="0x0.5" />
	<field name="ip_ver" descr="IP Version.\;0: IPv4\;1: IPv6" access="RO" offset="0x0.24" size="0x0.1" />
	<field name="error" descr="Errors:\;0: no_error\;1: timeout - valid packet did not return" access="RO" offset="0x0.28" size="0x0.4" />
	<field name="rx_local_port" descr="RX Local Port.\;TBD - label port?\;If error = timeout this field is reserved." access="RO" offset="0x4.0" size="0x0.16" />
	<field name="latency" descr="Latency of the packet (from sending it until receive it back).\;Units of uSec.\;If error = timeout this field is reserved." access="RO" offset="0x4.16" size="0x0.16" />
</node>

<node name="learned_mac_lag_notification_ext" descr="" size="0x20.0" >
	<field name="mac_47_32" descr="MAC address." access="RO" offset="0x0.0" size="0x0.16" />
	<field name="type_0x6" descr="0x6: Learned_MAC_LAG_Notification - this record \;See Section 7.2.15, &quot;FDB Records&quot;, on page 1972" access="RO" enum="Learned_MAC_LAG_Notification=0x6" offset="0x0.20" size="0x0.4" />
	<field name="swid" descr="Switch partition ID.\;Reserved when Spectrum/-2" access="RO" offset="0x0.24" size="0x0.8" />
	<field name="mac_31_0" descr="MAC address." access="RO" offset="0x4.0" size="0x4.0" />
	<field name="fid" descr="Filtering Identifier." access="RO" offset="0x8.0" size="0x0.16" />
	<field name="lag_id" descr="LAGID (pointer into the LAG descriptor table)." access="RO" offset="0xC.0" size="0x0.10" />
	<field name="counter_index" descr="Counter Index for flow counters\;For Spectrum: see Section 5.2, &quot;Flow Counters&quot;, on page 1404\;Not supported by SwitchX/-2" access="RO" offset="0x1C.0" size="0x0.24" />
	<field name="counter_set_type" descr="Counter Set Type for flow counters\;For Spectrum: See Section 5.2.2, &quot;Counter Set Type&quot;, on page 1405\;Note: exists for a roamed entry, will be type 0 for a learned entry\;Not supported by SwitchX/-2" access="RO" offset="0x1C.24" size="0x0.8" />
</node>

<node name="learned_mac_notification_ext" descr="" size="0x20.0" >
	<field name="mac_47_32" descr="MAC address." access="RO" offset="0x0.0" size="0x0.16" />
	<field name="type_0x5" descr="0x5: Learned_MAC_Notification - this record\;\;See Section 7.2.15, &quot;FDB Records&quot;, on page 1972" access="RO" enum="Learned_MAC_Notification=0x5" offset="0x0.20" size="0x0.4" />
	<field name="swid" descr="Switch partition ID.\;Reserved when Spectrum/-2" access="RO" offset="0x0.24" size="0x0.8" />
	<field name="mac_31_0" descr="MAC address." access="RO" offset="0x4.0" size="0x4.0" />
	<field name="fid" descr="Filtering identifier." access="RO" offset="0x8.0" size="0x0.16" />
	<field name="system_port" descr="Unique port identifier for the final destination of the packet." access="RO" offset="0xC.0" size="0x0.16" />
	<field name="counter_index" descr="Counter Index for flow counters\;For Spectrum: see Section 5.2, &quot;Flow Counters&quot;, on page 1404\;Not supported by SwitchX/-2" access="RO" offset="0x1C.0" size="0x0.24" />
	<field name="counter_set_type" descr="Counter Set Type for flow counters\;For Spectrum: See Section 5.2.2, &quot;Counter Set Type&quot;, on page 1405\;Note: exists for a roamed entry, will be type 0 for a learned entry\;Not supported by SwitchX/-2" access="RO" offset="0x1C.24" size="0x0.8" />
</node>

<node name="learned_unicast_tunnel_fdb_notification_ext" descr="" size="0x20.0" >
	<field name="mac_47_32" descr="MAC address" access="RO" offset="0x0.0" size="0x0.16" />
	<field name="type_0xD" descr="0xD:Learned_Unicast_Tunnel_FDB_Notification - this record\;See Section 7.2.15, &quot;FDB Records&quot;, on page 1972" access="RO" enum="Learned_Unicast_Tunnel_FDB_Notification=0xd" offset="0x0.20" size="0x0.4" />
	<field name="swid" descr="Switch partition ID\;Reserved when Spectrum/-2" access="RO" offset="0x0.24" size="0x0.8" />
	<field name="mac_31_0" descr="MAC address" access="RO" offset="0x4.0" size="0x4.0" />
	<field name="fid" descr="Filtering ID\;Only FIDs that are from vFID type are valid." access="RO" offset="0x8.0" size="0x0.16" />
	<field name="uip_msb" descr="If protocol is IPv4:\;The underlay source IPv4 of the remote NVE (the most significant bits)\;If protocol is IPv6: reserved" access="RO" offset="0x8.24" size="0x0.8" />
	<field name="uip_lsb" descr="If protocol is IPv4:\;The underlay destination IPV4 of the remote VTEP (the least significant bits)" access="RO" offset="0xC.0" size="0x0.24" />
	<field name="protocol" descr="Protocol:\;0: IPv4\;1: IPv6\;Reserved when Spectrum\;" access="RO" offset="0xC.27" size="0x0.1" />
	<field name="tunnel_port" descr="Tunnel port:\;0: NVE\;1: VPLS\;2: Flex_tunnel0\;3: Flex_tunnel1\;Reserved when Spectrum-1" access="RW" offset="0x10.0" size="0x0.4" />
	<field name="counter_index" descr="Counter Index for flow counters\;For Spectrum: see Section 5.2, &quot;Flow Counters&quot;, on page 1404\;Not supported by SwitchX/-2" access="RO" offset="0x1C.0" size="0x0.24" />
	<field name="counter_set_type" descr="Counter Set Type for flow counters\;For Spectrum: See Section 5.2.2, &quot;Counter Set Type&quot;, on page 1405\;Note: exists for a roamed entry, will be type 0 for a learned entry\;Not supported by SwitchX/-2" access="RO" offset="0x1C.24" size="0x0.8" />
</node>

<node name="local_action_ext" descr="" size="0x14.0" >
	<field name="trap_id" descr="For Spectrum Trap-ID is RTR_INGRESS0 or RTR_INGRESS1.\;For Spectrum-2/3, Trap-ID is RTR_INGRESS0 .. RTR_INGRESS3.\;For trap_action of NOP, MIRROR and DISCARD_ERROR, trap_id is reserved" access="RW" offset="0x0.0" size="0x0.9" />
	<field name="trap_action" descr="Trap Action\;0: NOP\;1: TRAP\;2: MIRROR_TO_CPU\;3: MIRROR\;4: DISCARD_ERROR, see DISCARD_ROUTER2 trap_id\;Note: On TRAP or DISCARD_ERROR flex_action is ignored." access="RW" offset="0x0.28" size="0x0.4" />
	<field name="local_erif" descr="Egress Router Interface" access="RW" offset="0x4.0" size="0x0.16" />
</node>

<node name="local_path_ext" descr="" size="0x10.0" >
	<field name="rdq" descr="For asynchronous queue transport: CPU receive descriptor queue for trap group trap_group.\;For packet-flow transport: PRF (packet receive flow).\;\;an RDQ is a PRF if (1) configured by HOPF and (2) not configured by SW2HW_DQ. \;See Table 2.17.6, &quot;HOPF - Host Out-of-Band Packet Flow Register,&quot; on page 699\;See Section 2.16.3.1, &quot;SW2HW_DQ - Software to Hardware DQ&quot;, on page 664" access="RW" offset="0x0.0" size="0x0.6" />
	<field name="cpu_tclass" descr="CPU Ingress Traffic Class for trap group trap_group\;Range is 0.. cap_max_cpu_ingress_tclass-1\;For Switch-IB/2 and for Quantum: Reserved when PRF (packet receive flow)" access="RW" offset="0x0.16" size="0x0.6" />
	<field name="cpu_split" descr="CPU ingress port split.\;Note: the same cpu_tclass has to be paired with the same cpu_split.\;Reserved when Quantum switches." access="RW" offset="0x4.0" size="0x0.4" />
</node>

<node name="local_span_ext" descr="" size="0x10.0" >
	<field name="tclass" descr="Traffic Class on which the mirrored packet is queued\;For Spectrum switches: Switch Priority\;Reserved when qos is QoS maintain\;Reserved when system_port is to CPU since HTGT.cpu_tclass is used\;Reserved when imp=1" access="RW" offset="0xC.0" size="0x0.4" />
</node>

<node name="mafbi_entry_auto_ext" descr="" attr_is_union="1" size="0x300.0" >
	<field name="mafbi_entry_type0_ext" descr="" subnode="mafbi_entry_type0_ext" offset="0x0.0" selected_by="entry_type0" size="0x300.0" />
</node>

<node name="mafbi_entry_type0_ext" descr="" size="0x300.0" >
	<field name="record" descr="See Table 1215, &quot;MAFTI - record Layout,&quot; on page 1681" subnode="mafti_record_ext" access="RW" high_bound="63" low_bound="0" offset="0x0.0" size="0x300.0" />
</node>

<node name="mafbi_ext" descr="" size="0x308.0" >
	<field name="num_rec" descr="Number of records\;Range 1..64\;\;" access="RO" offset="0x0.0" size="0x0.8" />
	<field name="type" descr="Type:\;0: entry_type0 - Looks like MAFTI w/o bank_id" access="RO" enum="entry_type0=0x0" offset="0x0.24" size="0x0.2" />
	<field name="entry" descr="See Table 1219, &quot;MAFBI - entry_type0 Layout,&quot; on page 1683" subnode="mafbi_entry_auto_ext" access="RW" offset="0x8.0" size="0x300.0" union_selector="$(parent).type" />
</node>

<node name="mafcr_ext" descr="" size="0xc.0" >
	<field name="clear" descr="Clear counter_accu_overflow counter" access="OP" offset="0x0.31" size="0x0.1" />
	<field name="counter_accu_overflow" descr="Counter of accuflow overflow.\;When system behaves &quot;well&quot; then this counter will always be 0.\;If ((FW polling is too slow) or (HW increment is too high)) then the HW accuflow becomes overflowed. In this case new accuflow counter increments are not counted.\;This counter is stuck at 0xF...FF" access="RO" offset="0x4.0" size="0x4.0" />
	<field name="bytes_inc_units" descr="Bytes inc units\;Units of 1 byte\;Note: this value will change only after boot/ISSU \;\;\;" access="RO" offset="0x8.0" size="0x0.16" />
	<field name="packets_inc_units" descr="Backets inc units\;Units of 1 packet\;Note: this value will change only after boot/ISSU \;\;" access="RO" offset="0x8.16" size="0x0.16" />
</node>

<node name="mafri_ext" descr="" size="0x410.0" >
	<field name="num_rec" descr="Number of records to read\;Range 1..128" access="OP" offset="0x0.0" size="0x0.8" />
	<field name="event" descr="Event generation:\;0: NO_EVENT - Do not generate MAFRI event\;1: EVENTS - Generate MAFRI event\;Note: return of EMAD must be after the MAFRI event!" access="OP" offset="0x0.16" size="0x0.1" />
	<field name="fsf" descr="Flush spill fifo\;0: NO_FLUSH_SPILL\;1: FLUSH_SPILL - will trigger MAFTI events for all relevant spill -fifos\;Note: return of EMAD must be after the MAFTI event! if both fsf and event are set, MAFTI event will be sent before MAFRI event.\;" access="OP" offset="0x0.24" size="0x0.1" />
	<field name="counter_index_base" descr="Counter Index base\;Counters will be read starting at counter_index_base\;Range: cap_start_accuflow .. cap_start_accuflow+cap_max_accuflow - 1\;Note: counter_index_base + num_rec must be equal or lower than cap_max_accuflow" access="OP" offset="0x4.0" size="0x0.24" />
	<field name="user_val" descr="User val:\;Opaque field to be returned on MAFRI trap" access="RW" offset="0x8.0" size="0x4.0" />
	<field name="record" descr="See Table 1223, &quot;MAFRI - record Layout,&quot; on page 1685\;When event = 1, the records will be zero." subnode="mafri_record_ext" access="RW" high_bound="127" low_bound="0" offset="0x10.0" size="0x400.0" />
</node>

<node name="mafri_record_ext" descr="" size="0x8.0" >
	<field name="bytes_inc" descr="Bytes to increment to bytes counter\;Unit of MAFCR.bytes_inc_units\;Note that user needs to add 64B for each packet\;\;" access="RO" offset="0x0.0" size="0x4.0" />
	<field name="packets_inc" descr="Packets to increment to packets counter\;Unit is MAFCR.packets_inc_units\;" access="RO" offset="0x4.0" size="0x4.0" />
</node>

<node name="mafti_ext" descr="" size="0x308.0" >
	<field name="num_rec" descr="Number of records\;Range 1..64\;\;" access="RO" offset="0x0.0" size="0x0.8" />
	<field name="record" descr="See Table 1215, &quot;MAFTI - record Layout,&quot; on page 1681" subnode="mafti_record_ext" access="RW" high_bound="63" low_bound="0" offset="0x8.0" size="0x300.0" />
</node>

<node name="mafti_record_ext" descr="" size="0xc.0" >
	<field name="counter_index" descr="Counter Index for flow counters.\;Note: different MAFTI records may have the exact same counter_index.\;For Spectrum-2 see Section 5.2, &quot;Flow Counters&quot;, on page 1404" access="RO" offset="0x0.0" size="0x0.24" />
	<field name="bytes_inc" descr="Bytes to increment to bytes counter\;Unit of MAFCR.bytes_inc_units\;Note that user needs to add 64B for each packet\;\;" access="RO" offset="0x4.0" size="0x4.0" />
	<field name="packets_inc" descr="Packets to increment to packets counter\;Unit is MAFCR.packets_inc_units\;" access="RO" offset="0x8.0" size="0x4.0" />
</node>

<node name="mbau_ext" descr="" size="0x10.0" >
	<field name="clr" descr="clear max_bus_utilization." access="OP" offset="0x0.31" size="0x0.1" />
	<field name="curr_bus_utilization" descr="Current count of concurrent I2C transactions in parallel\;" access="RO" offset="0x8.0" size="0x0.8" />
	<field name="max_bus_utilization" descr="Max count of concurrent I2C transactions in parallel" access="RO" offset="0xC.0" size="0x0.8" />
</node>

<node name="mbbu_ext" descr="" size="0x30.0" >
	<field name="base_index" descr="Bus base index." access="INDEX" offset="0x0.0" size="0x0.8" />
	<field name="clr" descr="clear max." access="OP" offset="0x0.31" size="0x0.1" />
	<field name="cbu" descr="Current Bus Utilization.\;range 0..2\;0xff - means bus do not exist." access="RO" high_bound="31" low_bound="0" offset="0x10.28" size="0x10.0" />
	<field name="mbu" descr="Max Bus Utilization\;range 0..2\;0xff - means bus do not exist." access="RO" high_bound="31" low_bound="0" offset="0x20.28" size="0x10.0" />
</node>

<node name="mbct_ext" descr="" size="0x420.0" >
	<field name="slot_index" descr="Slot index. \;0: Reserved." access="INDEX" offset="0x0.0" size="0x0.4" />
	<field name="data_size" descr="actual data field size in bytes for the current data transfer" access="WO" offset="0x4.0" size="0x0.11" />
	<field name="ini_status" descr="ini status\;0: Empty_not_valid\;1: Valid - (Magic Pattern applied)\;2: Ready_to_use\;3: In_use\;Other values are Reserved" access="RO" enum="Empty_not_valid=0x0,Valid=0x1,Ready_to_use=0x2,In_use=0x3" offset="0x4.29" size="0x0.3" />
	<field name="oee" descr="Opcode Event Enable. When set to &apos;1&apos;, an event will be sent once the opcode was executed and the fsm_state has changed. This bit will be cleared once the event was sent." access="WO" offset="0x8.25" size="0x0.1" />
	<field name="last" descr="Indicates that the current data field is the last chunk of the INI." access="WO" offset="0x8.26" size="0x0.1" />
	<field name="op" descr="When the register is used in a &apos;Query&apos; mode, only option 7 (Query Status) is legal.\;0: Reserved\;1: Erase_INI_image\;2: Data_transfer - (download)\;3: Activate\;4: Deactivate\;5: Abort\;6: Clear_Errors\;7: Query_Status\;Other values are Reserved" access="WO" enum="Reserved=0x0,Erase_INI_image=0x1,Data_transfer=0x2,Activate=0x3,Deactivate=0x4,Abort=0x5,Clear_Errors=0x6,Query_Status=0x7" offset="0x8.28" size="0x0.4" />
	<field name="fsm_state" descr="0: Idle\;1: Data_transfer - (download)\;2: Magic_Pattern_Valid\;3: Ready\;4: Erase\;5: INI_in_use\;6: Error\;Other values are Reserved" access="RO" enum="Idle=0x0,Data_transfer=0x1,Magic_Pattern_Valid=0x2,Ready=0x3,Erase=0x4,INI_in_use=0x5,Error=0x6" offset="0xC.16" size="0x0.4" />
	<field name="status" descr="Status\;0: NA\;1: Busy\;2: Partial - partial data transfer completed successfully and ready for next data transfer\;3: Last_data - last data transfer completed, applying magic pattern. \;4: Erase_is_complete\;5: Error_Attempted_Erase_INI_in_use - Trying to erase INI while it being used.\;6: Transfer_failure - (bad data received or write error)\;7: Erase_failure\;8: INI_error\;9: Activation_of_INI_failed\;10: Deactivation_of_INI_failed\;11: Error_Illegal_operation\;Other values are Reserved" access="RO" enum="NA=0x0,Busy=0x1,Partial=0x2,Last_data=0x3,Erase_is_complete=0x4,Error_Attempted_Erase_INI_in_use=0x5,Transfer_failure=0x6,Erase_failure=0x7,INI_error=0x8,Activation_of_INI_failed=0x9,Deactivation_of_INI_failed=0xa,Error_Illegal_operation=0xb" offset="0xC.24" size="0x0.5" />
	<field name="data" descr="Up to 1KB of data." access="WO" high_bound="255" low_bound="0" offset="0x20.0" size="0x400.0" />
</node>

<node name="mbpe_ext" descr="" size="0x100.0" >
	<field name="event_reason" descr="Reason for sending the event.\;0: SESSION_NOT_FOUND - session not found in database.\;1: TTL_INVALID - ttl invalid (0&lt;ttl&lt;255).\;2: BFD_HDR_MISMATCH - BFD header mismatch (packet was found in the DB but the BFD header fields are not equal to the configuration)." access="RO" enum="SESSION_NOT_FOUND=0x0,TTL_INVALID=0x1,BFD_HDR_MISMATCH=0x2" offset="0x0.0" size="0x0.8" />
	<field name="pgd_index" descr="PGD Index.\;Range 0...cap_max_num_&quot;fw_app_id_name&quot;_pgd_entries-1\;Reserved when event_reason=0." access="RO" offset="0x0.16" size="0x0.16" />
	<field name="packet_data" descr="The packet data (from MAC to FCS)" access="RO" high_bound="59" low_bound="0" offset="0x10.0" size="0xf0.0" />
</node>

<node name="mbte_ext" descr="" size="0x20.0" >
	<field name="num_rec" descr="Number of valid record[]." access="RO" offset="0x8.0" size="0x0.10" />
	<field name="record" descr="See Table 1331, &quot;BFD Timeout Record Register Layout,&quot; on page 1779" subnode="bfd_timeout_ext" access="RO" high_bound="VARIABLE" low_bound="0" offset="0x10.0" size="0x10.0" />
</node>

<node name="mbtr_ext" descr="" size="0x8.0" >
	<field name="cmd" descr="Command\;0: Perform_graceful_reset_procedure -  Not supported for query operations. Will return BAD_PARAM.\;1: PVS_tuning_was_set" access="WO" enum="Perform_graceful_reset_procedure=0x0,PVS_tuning_was_set=0x1" offset="0x0.0" size="0x0.8" />
	<field name="status" descr="0: Success\;1: ADC_value_is_out_of_limit\;2: ADC_cant_be_compared_due_to_fuse_not_burned \;3: ADC_cant_be_compared_due_to_invalid_fuse_value\;Valid only if cmd = 1" access="RO" enum="Success=0x0,ADC_value_is_out_of_limit=0x1,ADC_cant_be_compared_due_to_fuse_not_burned=0x2,ADC_cant_be_compared_due_to_invalid_fuse_value=0x3" offset="0x4.0" size="0x0.8" />
</node>

<node name="mcam_reg_ext" descr="" size="0x48.0" >
	<field name="access_reg_group" descr="Access Register ID groups \;0: First_128_REG_ID - Register IDs 0x9001 - 0x907F)\;1: Register_IDs_0x9080 - 0x90FF (bit 0 in mng_access_reg_cap_mask represent register ID 0x9080 while bit 127 represents register ID 0x90FF).\;2: Register_IDs_0x9100 - 0x917F (bit 0 in mng_access_reg_cap_mask represent register ID 0x9100 while bit 127 represents register ID 0x917F).\;3: Register_IDs_0x9180 - 0x91FF (bit 0 in mng_access_reg_cap_mask represent register ID 0x9180 while bit 127 represents register ID 0x91FF)." access="INDEX" enum="First_128_REG_ID=0x0,Register_IDs_0x9080=0x1,Register_IDs_0x9100=0x2,Register_IDs_0x9180=0x3" offset="0x0.0" size="0x0.8" />
	<field name="feature_group" descr="Feature list mask index: \;0: enhanced_features" access="INDEX" enum="enhanced_features=0x0" offset="0x0.16" size="0x0.8" />
	<field name="mng_access_reg_cap_mask" descr="Supported management&apos;s access register bitmask. Based on access_reg_group index. \;When bit is set, the register is supported in the device. \;For example:\;Bit 1: MFCR_0x9001\;Bit 2: MFSC_0x9002\;Bit 3: MFSM_0x9003\;Bit 4: MFSL_0x9004\;Bit 58: MGCR_0x903A\;Bit 73: MPPF_0x9049\;Bit 127: MCAP_0x907F" access="RO" enum="MFCR_0x9001=0x2,MFSC_0x9002=0x4,MFSM_0x9003=0x8,MFSL_0x9004=0x10,MGCR_0x903A=0x4000000,MPPF_0x9049=0x200,MCAP_0x907F=0x80000000" high_bound="3" low_bound="0" offset="0x8.0" size="0x10.0" />
	<field name="mng_feature_cap_mask" descr="Supported port&apos;s enhanced features.Based on feature_group index.\;When bit is set, The feature is supported in the device\;Bit 0: MPCNT counter group- PCIE performance counters supported\;Bit 1: mtpps_fs - If set, field_select field in MTPPS register is supported.\;Bit 2: mtpps_enhanced_out_periodic_adjustment - If set, enhanced_out_periodic_adjustment field in MTPPS register is supported.\;Bit 3: tx_lossy_overflow_oper - If set, tx_overflow_buffer_pkt counter in MPCNT register is supported.\;Bit 4: pcie_outbound_stalled - if set, outbound_stalled_reads, outbound_stalled_writes, outbound_stalled_reads_events and outbound_stalled_writes_events counters in MPCNT are supported.\;Bit 5: Management pass through is supported\;Bit 6: sensor_map - If set, sensor_map is supported in MTCAP register.\;Bit 7: if set, module_status bit 8 (Module Low Power) in MCION register is supported. \;Bit 8: beacon_capability_disable - If set, beacon feature, as appears in MLCR register, in not supported by the device. \;Bit 9: dynamic_tx_overflow - If set, tx_overflow_sense field is supported in MPEGC register. \;Bit 10: mark_tx_action_cqe is supported if set to &apos;1&apos;.\;Bit 11: mark_tx_action_cnp is supported if set to &apos;1&apos;.\;Bit 12: dev_info is supported in  register is set to &apos;1&apos;.\;Bit 13: sensor_count field is 12bit size in MTMP and MTBR\;Bit 14: cs_tokens_supported is supported \;Bit 15: debug_fw_tokens_supported\;Bit 16: long_keys is supported \;Bit 17: pwr_status and pci_power are supported in MPEIN\;Bit 18: If set, accessing through device_type and device_index is supported in MCC, MCQI and MCQS\;Bit 19: pcie_sync_for_fw_update_supported is set to &apos;1&apos;\;Bit 20: ptpCyc2Realtime_modify - If set, the cycle to realtime translation offload is supported\;Bit 21: If set to &apos;1&apos;, reset_state in MFRL is supported\;Bit 22: If set to &apos;1&apos;, link_peer_max_speed is supported in MPEIN Register\;Bit 23: If set to &apos;1&apos;, slot_index field is supported in: MCIA, MCAS, MCION, MQSP, MTCAP, MTECR, MTMP, MTEWE, MTBR, MVCAP, MVCR, MGPIR, MDDT.\;Bit 24: If set, transceiver burn flow is supported in MCC, MCQI and MCQS.\;Bit 26: If set, progress field is supported in MCQS\;Bit 28: If set, number_of_slots field is supported in MGPIR.\;Bit 29: If set, virtual hot plug / unplug is supported in MPEGC.\;Bit 30: If set, my_pf_number is supported in MPPF.\;Bit 31: If set, sdee is supported in MTMP\;Bit 34: If set, MCIA supports 32 D-words. Otherwise, 12 D-words.\;Bit 35: If set, MGIR.hw_info.technology is supported. \;Bit 37: If set, lp_msb is supported for MLCR, MPIR \;Bit 39: If set, MRCS and RMDT tokens are supported in MCQS\;Bit 40: If set, &apos;encryption&apos; field in MGIR is supported\;Bit 43: If set, MFCR supports tacho_active_msb field\;Bit 44: If set, FORE supports fan_under_limit_msb and fan_over_limit_msb fields\;Bit 45: If set, MFRL.pci_rescan_required is supported\;Bit 46: time_adjust_range_extended - if set, the MTUTC.time_adjustment range is extended to --125,000 to 125,000\;Bit 47: If set, MTUTC.freq_adj_units=1 is supported\;Bit 48: If set, MRSRFT/MRSR.command=6 is supported\;Bit 49: If set, MCQS.identifier support CRCS and CRDT tokens\;Bit 51: If set, MTUTC.freq_adj_units=2 is supported\; [Internal]: NIC only, FW rejects reset till user committed that traffic is disabled\;Bit 59: If set, MCC.component_specific_error_code is valid for LinkX devices\;Bit 60: If set, MGNLE.clr is supported\;Bit 61: If set, MGIR supports life_cycle_msb and pds fields in FW info and development field in HW info.\; \;Bit 65: If set, MVCR support current_sensor_value_msb\;Bit 66: If set. MFRL supports pci_reset_req_method, pci_switch_exist fields. [DWIP]\;Bit 67: If set, MRSR.cmd = 6 works with SBR\;Bit 70: If set, supports MTCAP support 8 bit internal_sensor_count [DWIP]\;Bit 71: If set, supports MVCAP supports sensor_map_type [DWIP]\;Bit 75: If set, PLLP supports oe_identifier and resource_labe_port [switch_internal][DWIP]\;bit 76: If set, MCQS supports the component_not_supported field [DWIP]\;Bit 77: If set, host_id field in MPIR is supported\;Bit 78: If set, MGIR supports 12 bit num_ports field\;\;bit 80: If set, MCQS,identifier supports the DPA_COMPONENT, DPA _COMPONENT_REMOVAL fields and MCQI supports DPA apps info\;Bit 81: If set, MFCDR supports module and query_type fields [DWIP]\;Bit 82: If set, MCIA supports async mode [DWIP][switch_internal]\;Bit 85: If set, MTDT token is supported\; \;Bit 88: If set, the following are supported: PEMI.laser_source_essential, PEMI.laser_source_advance, PEMI.module status, PEMI.optical_engine_telemetry_parameters, PEMI.cpo_module, PEMI.last_sub_module.\;Bit 89: If set, supports minimum temperatures, as well as alerts for low critical and high critical thresholds, in the following registers: MTMP, MTEWE, MTBR, MTBR_v2.\;" access="RO" high_bound="3" low_bound="0" offset="0x28.0" size="0x10.0" />
</node>

<node name="mcc_reg_ext" descr="" size="0x20.0" >
	<field name="instruction" descr="Command to be executed by the FSM\;0x1: LOCK_UPDATE_HANDLE\;0x2: RELEASE_UPDATE_HANDLE \;0x3: UPDATE_COMPONENT\;0x4: VERIFY_COMPONENT\;0x6: ACTIVATE\;0x7: READ_COMPONENT\;0x8: CANCEL\;0x9: CHECK_UPDATE_HANDLE\;0xA: FORCE_HANDLE_RELEASE\;0xB: READ_PENDING_COMPONENT\;0xC: DOWNSRTEAM_DEVICE_TRANSFER\;Other values are reserved. Applicable for write operation only." access="RW" enum="LOCK_UPDATE_HANDLE=0x1,RELEASE_UPDATE_HANDLE=0x2,UPDATE_COMPONENT=0x3,VERIFY_COMPONENT=0x4,ACTIVATE=0x6,READ_COMPONENT=0x7,CANCEL=0x8,CHECK_UPDATE_HANDLE=0x9,FORCE_HANDLE_RELEASE=0xa,READ_PENDING_COMPONENT=0xb,DOWNSRTEAM_DEVICE_TRANSFER=0xc" offset="0x0.0" size="0x0.8" />
	<field name="activation_delay_sec" descr="This is a configuration that delays the activation of the component in seconds. Relevant only for activate command.\;This configuration is volatile." access="RW" offset="0x0.8" size="0x0.8" />
	<field name="time_elapsed_since_last_cmd" descr="The number of seconds elapsed since the update_handle owner last issued a command. The time saturates at 0xFFF." access="RO" offset="0x0.16" size="0x0.12" />
	<field name="component_index" descr="Index of the accessed component. \;Value from MCQS.component_index\;Valid for \;UPDATE_COMPONENT, ACTIVATE_COMPONENET, READ_COMPONENT and READ_PENDING_COMPONENT instructions. Otherwise, this field is reserved." access="INDEX" offset="0x4.0" size="0x0.16" />
	<field name="update_handle" descr="Token representing the current flow executed by the FSM." access="RW" offset="0x8.0" size="0x0.24" />
	<field name="auto_update" descr="Auto-update to all matching downstream devices is requested." access="WO" offset="0x8.31" size="0x0.1" />
	<field name="control_state" descr="Current Update FSM state\;0x0: IDLE\;0x1: LOCKED\;0x2: INITIALIZE\;0x3: DOWNLOAD\;0x4: VERIFY\;0x5: APPLY\;0x6: ACTIVATE\;0x7: UPLOAD\;0x8: UPLOAD_PENDING\;0x9: DOWNSRTEAM_DEVICE_TRANSFER\;Other values are reserved" access="RO" enum="IDLE=0x0,LOCKED=0x1,INITIALIZE=0x2,DOWNLOAD=0x3,VERIFY=0x4,APPLY=0x5,ACTIVATE=0x6,UPLOAD=0x7,UPLOAD_PENDING=0x8,DOWNSRTEAM_DEVICE_TRANSFER=0x9" offset="0xC.0" size="0x0.4" />
	<field name="error_code" descr="Indicates the successful completion of the instruction, or the reason it failed. \;0x0: OK\;0x1: ERROR\;0x2: REJECTED_DIGEST_ERR\;0x3: REJECTED_NOT_APPLICABLE\;0x4: REJECTED_UNKNOWN_KEY\;0x5: REJECTED_AUTH_FAILED\;0x6: REJECTED_UNSIGNED\;0x7: REJECTED_KEY_NOT_APPLICABLE\;0x8: REJECTED_BAD_FORMAT\;0x9: BLOCKED_PENDING_RESET\;0xA: REJECTED_NOT_A_SECURED_FW\;0xB: REJECTED_MFG_BASE_MAC_NOT_LISTED\;0xC: REJECTED_NO_DEBUG_TOKEN\;0xD: REJECTED_VERSION_NUM_MISMATCH\;0xE: REJECTED_USER_TIMESTAMP_MISMATCH\;0xF: REJECTED_FORBIDDEN_VERSION\;0x10: FLASH_ERASE_ERROR\;0x11: REJECTED_REBURN_RUNNING_AND_RETRY\;0x12: REJECTED_LINKX_TYPE_NOT_SUPPORTED\;0x13: REJECTED_HOST_STORAGE_IN_USE\;0x14: REJECTED_LINKX_TRANSFER (see module index in rejected_device_index)\;0x15: REJECTED_LINKX_ACTIVATE (see module index in rejected_device_index)\;0x16: REJECTED_INCOMPATIBLE_FLASH\;0x17: REJECTED_TOKEN_ALREADY_APPLIED\;0x18: REJECTED_FW_BURN_DRAM_NOT_AVAILABLE\;0x19: FW_BURN_REJECTED_INVALID_SECURITY_VERSION\;0x1A: FW_BURN_REJECTED_CERT_CER509 \;0x1B: FW_BURN_REJECTED_CERT_SIGNATURE\;0x1C: FW_BURN_REJECTED_CERT_METADATA\;0x1D: FW_BURN_REJECTED_INTERNAL_ERROR_0 \;0x1E: FW_BURN_REJECTED_NO_PLACE\;0x1F: FW_BURN_REJECTED_REMOVAL_NO_MATCH_UIDD\;0x20: FW_BURN_REJECTED_INTERNAL_ERROR_1 0x21: FW_BURN_REJECTED_INTERNAL_ERROR_2 0x22: FW_BURN_REJECTED_NUM_OF_SWAP\;0x23: FW_BURN_REJECTED_INTERNAL_ERROR_3 \;0x24: FW_BURN_REJECTED_INTERNAL_ERROR_4 0x25: FW_BURN_REJECTED_NOT_ALLOWED_SAME_UIDD \;0x26: FW_BURN_REJECTED_INTERNAL_ERROR_5 \;0x27: FW_BURN_REJECTED_INTERNAL_ERROR_6 \;0x28: FW_BURN_REJECTED_FLASH_WRITE_PROTECTED\;0x29: FW_BURN_REJECTED_INTERNAL_ERROR_7 0x2A: FW_BURN_REJECTED_INTERNAL_ERROR_8 0x2B: FW_BURN_REJECTED_INTERNAL_ERROR_90x2C: FW_BURN_REJECTED_DPA_ELF\;0x2D: FW_BURN_REJECTED_DPA_CRYPTO_BLOB\;0x2E: FW_BURN_REJECTED_DPA_APP_METADATA\;0x2F: FW_BURN_REJECTED_DPA_REMOVAL_SIGNATURE\;0x30: FW_BURN_REJECTED_DPA_CONTAINER_VERIFY\;0x31: FW_BURN_REJECTED_INTERNAL_ERROR_10 \;0x32: REJECTED_DEV_IMAGE_ON_PROD_DEVICE\;0x33: FW_BURN_REJECTED_DPA_APP_MANIFEST\;\;Other values should be treated as an unknown error." access="RO" offset="0xC.8" size="0x0.8" />
	<field name="control_progress" descr="Indicates the estimated progress status of the current operation executed by the FSM. Valid values are 0..100.\;101 indicates that progress reporting is not supported for this update state." access="RO" offset="0xC.16" size="0x0.7" />
	<field name="handle_owner_host_id" descr="For handle_owner_type BMC, command-interface and ICMD, indicates the identifier of the host of the handle owner.\;Otherwise reserved" access="RO" offset="0xC.24" size="0x0.4" />
	<field name="handle_owner_type" descr="Type of entity holding the update handle:\;0x0: unspecified\;0x1: Chassis BMC\;0x2: MAD\;0x3: BMC\;0x4: command interface\;0x5: ICMD \;Other values are reserved." access="RO" offset="0xC.28" size="0x0.4" />
	<field name="component_size" descr="Component size in bytes. \;Valid for UPDATE_COMPONENT instruction. Specifying the size may shorten the update time.\;Value 0x0 means that size is unspecified." access="WO" offset="0x10.0" size="0x4.0" />
	<field name="device_type" descr="Peripheral device type:\;0: Switch_or_NIC\;1: Gearbox" access="INDEX" enum="Switch_or_NIC=0x0,Gearbox=0x1" offset="0x14.0" size="0x0.8" />
	<field name="warning_code" descr="Indicates warnings reported during the completion that did not prevent successful completion of the instruction\;0x0: OK\;0x1: WARNING_DPA_API_OS_INCOMPATIBLE\;0x2: WARNING_DPA_API_FW_INCOMPATIBLE" access="RO" offset="0x14.8" size="0x0.8" />
	<field name="device_index" descr="Device number.\;For gearboxes, the index represents the gearbox die. \;For cables, the index represents the module index starting at index 1. Index 0 indicates the host device.\;For QM-3 CPO system, device index represents OE or ELS device." access="INDEX" offset="0x14.16" size="0x0.12" />
	<field name="device_index_size" descr="In multiple downstream devices action, the action will be executed starting on device_index and ending on device_index + device_index_size - 1." access="RW" offset="0x18.0" size="0x0.12" />
	<field name="rejected_device_index" descr="The device index that the action has been rejected to." access="RO" offset="0x18.16" size="0x0.12" />
	<field name="component_specific_err_code" descr="[DWIP]:\;Component Specific Error Code\;Relevant only for Linkx failed updates" access="RO" offset="0x1C.0" size="0x4.0" />
</node>

<node name="mcda_reg_ext" descr="" size="0x90.0" >
	<field name="update_handle" descr="Update handle registered when the FSM was activated." access="RW" offset="0x0.0" size="0x0.24" />
	<field name="offset" descr="Offset of accessed address relative to component start. Accesses must be in accordance to log_mcda_word_size in Table 668, &quot;MCQI CAPABILITIES Info Layout,&quot; on page 1184" access="RW" offset="0x4.0" size="0x4.0" />
	<field name="size" descr="Size of the data accessed, given in bytes" access="RW" offset="0x8.0" size="0x0.16" />
	<field name="data" descr="Data block accessed" access="RW" high_bound="31" low_bound="0" offset="0x10.0" size="0x80.0" />
</node>

<node name="mcdd_reg_ext" descr="" size="0x20.0" >
	<field name="update_handle" descr="Update handle registered when the FSM was activated." access="RW" offset="0x0.0" size="0x0.24" />
	<field name="offset" descr="Offset of accessed address relative to component start." access="RW" offset="0x4.0" size="0x4.0" />
	<field name="size" descr="Size of the data accessed, given in bytes" access="RW" offset="0x8.0" size="0x0.16" />
	<field name="data_page_phys_addr_msb" descr="Physical address of the FW component data page." access="RW" offset="0x10.0" size="0x4.0" />
	<field name="data_page_phys_addr_lsb" descr="Physical address of the FW component data page." access="RW" offset="0x14.0" size="0x4.0" />
	<field name="mailbox_page_phys_addr_msb" descr="Physical address of the mailbox page." access="RW" offset="0x18.0" size="0x4.0" />
	<field name="mailbox_page_phys_addr_lsb" descr="Physical address of the mailbox page." access="RW" offset="0x1C.0" size="0x4.0" />
</node>

<node name="mcdor_reg_ext" descr="" size="0x8.0" >
	<field name="type" descr="[DWIP]\;0: Capabilities. Note: Rest of the fields are read-only.\;\;\;1: Configurations. Notes:\;a) When accessing a configuration for which the corresponding capability is 0, a read operation will return 0 for that configuration, and a write access will have no impact on that configuration.\;b) When reading a configuration for which there was never a previous write operation, its default value will be returned.\;" access="INDEX" offset="0x0.0" size="0x0.1" />
	<field name="core_clk_speed_valid" descr="[DWIP]\;If and only if 1, the Core Clock Seed is overridden from this register.." access="RW" offset="0x4.15" size="0x0.1" />
	<field name="core_clk_speed" descr="[DWIP]\;The value of Core Clock Speed. Units in MHz.\;QM4 valid values: 800M, 755M." access="RW" offset="0x4.16" size="0x0.16" />
</node>

<node name="mcia_ext" descr="" size="0x94.0" >
	<field name="status" descr="Module Status\;0: SUCCESS\;1: NO_EEPROM_MODULE. No response from module&apos;s EEPROM.\;2: MODULE_NOT_SUPPORTED. Module type not supported by the device. 3: MODULE_NOT_CONNECTED. No module present indication. \;4: MODULE_TYPE_INVALID - module is not supported by INI. \;\;9: I2C_ERROR. Error occurred while trying to access the module&apos;s EEPROM using I2C.\;16: MODULE_DISABLED - module is disabled \;" access="RO" offset="0x0.0" size="0x0.8" />
	<field name="slot_index" descr="Slot index\;0: Main board" access="INDEX" offset="0x0.12" size="0x0.4" />
	<field name="module" descr="Module number\;\;Switch: Range 0 .. MGPIR.max_modules_per_slot -1" access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="pnv" descr="[DWIP]:\;Page Number Valid\;0: write page number\;1: don&apos;t write page number\;Valid only if module is in SW control" access="OP" offset="0x0.29" size="0x0.1" />
	<field name="l" descr="Lock Page bit. \;When bit is set, FW can access the last accessed page.\;After boot and ISSU, default value is 0.\;\;" access="RW" offset="0x0.31" size="0x0.1" />
	<field name="device_address" descr="Device address" access="INDEX" offset="0x4.0" size="0x0.16" />
	<field name="page_number" descr="Page number\;Reserved when MCIA.l = 1 or when MCIA.pnv = 1\;\;" access="INDEX" offset="0x4.16" size="0x0.8" />
	<field name="i2c_device_address" descr="I2C device address\;" access="INDEX" offset="0x4.24" size="0x0.8" />
	<field name="size" descr="Number of bytes to read/write (up to 128 bytes)" access="INDEX" offset="0x8.0" size="0x0.16" />
	<field name="bank_number" descr="Bank number\;" access="INDEX" offset="0x8.16" size="0x0.8" />
	<field name="bg_mode" descr="[DWIP][switch_internal]\;Background operation\;0: Foreground mode (legacy)\;1: Background mode\;\;When working on background mode, FW shall return STS_OK immediately and return the transaction data via MCIA trap." access="OP" offset="0x8.27" size="0x0.1" />
	<field name="passwd_length" descr="0: password length is 4B (password_msb is reserved)\;1: password length is 8B (password_msb is used)" access="OP" offset="0x8.28" size="0x0.1" />
	<field name="password" descr="The password that is written to the module password field.\;This field is reserved when passwd_cap is not set to 1. \;Reserved when module is in SW control." access="OP" offset="0xC.0" size="0x4.0" />
	<field name="dword" descr="Bytes to read/write\;Note: some FW versions support only 12*4B\;See MCAM bit34" access="RW" high_bound="31" low_bound="0" offset="0x10.0" size="0x80.0" />
	<field name="password_msb" descr="password msb\;Supported only when MCAM bit34 is set\;Supported only when passwd_cap is set\;Reserved when passwd_length = 0" access="RW" offset="0x90.0" size="0x4.0" />
</node>

<node name="mcion_ext" descr="" size="0x18.0" >
	<field name="slot_index" descr="Slot index\;0: Main board" access="INDEX" offset="0x0.12" size="0x0.4" />
	<field name="module" descr="Module number\;\;Switch: Range 0 .. MGPIR.max_modules_per_slot -1" access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="module_status_bits" descr="Module IO status, as defined by SFF and CMIS:\;Bit 0: Present\;Bit 1: RX_LOS\;Bit 2: TX_Fault\;Bit 6: LPMode\;Bit 7: Interrupt (IntL)\;Bit 8: Low Power Mode Status \;Bit 9: Power Good\;If bit 0 (Present) is clear, all other bits are reserved." access="RO" offset="0x4.0" size="0x0.16" />
	<field name="module_inputs" descr="Module inputs: \;Bit 0: ResetL - low polarity\;Bit 1: LPMode\;Bit 2: Power Enable\;Reserved when module is controlled by FW" access="RW" offset="0xC.0" size="0x0.4" />
	<field name="module_status_bits_valid" descr="Module Inputs Valid Bitmask\;Bitmask which mentions the validity of module_inputs fields.\;For each bit, 0 means valid, 1 means not valid.\;For example:\;Bit 0: if set, present bit value is ignored. If cleared, value is valid.\;Bit 1: if set, rx loss value is ignored. when cleared, value is valid and so on for all bits mentioned in module_inputs.\;Reserved when module is controlled by FW" access="RO" offset="0xC.16" size="0x0.16" />
	<field name="module_inputs_mask" descr="On write commands, indicates which of the bits from module_inputs field are updated. \;For each bit, 0 means bit is valid, 1 means not valid (ignored).\;Reserved on read operations. \;Reserved when module is controlled by FW" access="RW" offset="0x10.0" size="0x0.4" />
</node>

<node name="mcpp_reg_ext" descr="" size="0x10.0" >
	<field name="enoc" descr="Enable Over Current Events\;Enable power policer according to indication of Over Current which is provided by device interface (e.g. OC_WARN pin in Spectrum)\;0 - disable \;1 - enable (default)" access="RW" offset="0x0.30" size="0x0.1" />
	<field name="ent" descr="Enable Temperature Events\;Enable power policer according to high temperature\;0 - disable (default)\;1 - enable" access="RW" offset="0x0.31" size="0x0.1" />
	<field name="hysteresis_temperature" descr="Below this temperature the Temperature Event is cleared. Units are Celsius\;Default 95\;hysteresis_temperature must be lower or equal to warning_temperature\;Reserved when ent = 0" access="RW" offset="0x4.0" size="0x0.8" />
	<field name="warning_temperature" descr="Above this temperature the Temperature Event is set. Units are Celsius\;Default 105\;Reserved when ent = 0" access="RW" offset="0x4.16" size="0x0.8" />
	<field name="wsoc" descr="Warning State due to Over Current Event:\;0 - Yellow_State\;1 - Red_State (default)" access="RW" offset="0x8.30" size="0x0.1" />
	<field name="wst" descr="Warning State due to Temperature Event:\;0 - Yellow_State (default)\;1 - Red_State" access="RW" offset="0x8.31" size="0x0.1" />
	<field name="yellow_state_rate" descr="Port rate at Yellow_State. Units are percentage from Green_State port rate\;Default 50" access="RW" offset="0xC.0" size="0x0.8" />
	<field name="red_state_rate" descr="Port rate at Red_State. Units are percentage from Green_State port rate\;red_state_rate must be lower or equal to yellow_state_rate\;Default 0" access="RW" offset="0xC.16" size="0x0.8" />
</node>

<node name="mcqi_activation_method_ext" descr="" size="0x7c.0" >
	<field name="all_hosts_sync" descr="When set, the operation needed to move the component form ACTIVE_PENDING_RESET to ACTIVE should happen simultaneously on all hosts." access="RO" offset="0x0.0" size="0x0.1" />
	<field name="auto_activate" descr="This component will be ACTIVE or ACTIVE_PENDING_RESET after the APPLY state." access="RO" offset="0x0.1" size="0x0.1" />
	<field name="pending_fw_reset" descr="This component goes to ACTIVE_PENDING_RESET after activation.\;A FW reset will move it to ACTIVE state." access="RO" offset="0x0.2" size="0x0.1" />
	<field name="pending_server_reboot" descr="This component goes to ACTIVE_PENDING_RESET state after activation.\;A server reset (PCIe PERST#), will move it ACTIVE state." access="RO" offset="0x0.3" size="0x0.1" />
	<field name="pending_server_dc_power_cycle" descr="This component goes to ACTIVE_PENDING_RESET state after activation.\;DC power cycle (power cycle of PCI power rails), will move it ACTIVE state." access="RO" offset="0x0.4" size="0x0.1" />
	<field name="pending_server_ac_power_cycle" descr="This component goes to ACTIVE_PENDING_RESET state after activation.\;AC power cycle (power cycle for both PCI power rails and AUX power), will move it ACTIVE state." access="RO" offset="0x0.5" size="0x0.1" />
	<field name="self_activation" descr="When set, the component supports self activation. For cables, please refer to activation_type in LINKX_PROPERTIES data for more details." access="RO" offset="0x0.6" size="0x0.1" />
</node>

<node name="mcqi_cap_ext" descr="" size="0x7c.0" >
	<field name="supported_info_bitmask" descr="Bitmask indicating which info_type(s) are supported for this component. Set bit indicates the property set is supported\;bit 1: VERSION\;bit 5: ACTIVATION_METHOD\;Other bits are reserved. CAPABILITIES set is always supported.\;bit 6: LinkX\;bit 7: Clock Synchronizer\;\;bit 9: DPA_APPS_INFO\;\;Other bits are reserved" access="RO" offset="0x0.0" size="0x4.0" />
	<field name="component_size" descr="The size of the component given in bytes. Value 0x0 indicates that the size in unknown.\;For some components, size may only be available in the READ_COMPONENT state." access="RO" offset="0x4.0" size="0x4.0" />
	<field name="max_component_size" descr="Maximum size for this component, given in bytes." access="RO" offset="0x8.0" size="0x4.0" />
	<field name="mcda_max_write_size" descr="Maximal write size for MCDA" access="RO" offset="0xC.0" size="0x0.16" />
	<field name="log_mcda_word_size" descr="Log 2 of the access word size in bytes.\;Read and write access must be aligned to the word size. Write access must be done for an integer number of words." access="RO" offset="0xC.28" size="0x0.4" />
	<field name="match_base_guid_mac" descr="The device only accepts updates for this component that explicitly lists its base MAC and/or base GUID" access="RW" offset="0x10.26" size="0x0.1" />
	<field name="check_user_timestamp" descr="A user defined timestamp (MVTS) is active for this component." access="RW" offset="0x10.27" size="0x0.1" />
	<field name="match_psid" descr="PSID is validated for this component update." access="RW" offset="0x10.28" size="0x0.1" />
	<field name="match_chip_id" descr="Chip ID (device_hw_revision) is validated for this component update." access="RW" offset="0x10.29" size="0x0.1" />
	<field name="signed_updates_only" descr="Only signed components are accepted." access="RW" offset="0x10.30" size="0x0.1" />
	<field name="rd_en" descr="When set, this components may be read" access="RO" offset="0x10.31" size="0x0.1" />
</node>

<node name="mcqi_clock_source_properties_ext" descr="" size="0x4.0" >
	<field name="image_version_minor" descr="Image Version Minor Number" access="RO" offset="0x0.0" size="0x0.4" />
	<field name="image_version_major" descr="Image Version Major Number" access="RO" offset="0x0.4" size="0x0.4" />
	<field name="vendor_id" descr="Clock Source Device Vendor Id\;0: Renesas\;1: SiTime 148\;2: SiTime 348\;3: TI\;4-255: Reserved" access="RO" offset="0x0.16" size="0x0.8" />
</node>

<node name="mcqi_dpa_apps_info_ext" descr="" size="0x70.0" >
	<field name="total_number_of_entries" descr="Provides the number of DPA apps in the active DPA_APPS partition.\;If there are no DPA apps, this field is equal to 0 and all the DPA_APP_METADATA fields will be 0." access="RO" offset="0x0.16" size="0x0.8" />
	<field name="version" descr="DPA_APPS_INFO version." access="RO" offset="0x0.24" size="0x0.8" />
	<field name="dpa_app_metadata" descr="DPA metadata, see Table 682, &quot;MCQI DPA_APP_METADATA Layout,&quot; on page 1193" subnode="mcqi_dpa_metadata_ext" access="RO" offset="0x8.0" size="0x68.0" />
</node>

<node name="mcqi_dpa_metadata_ext" descr="" size="0x68.0" >
	<field name="subtype" descr="The subtype of the section" access="RO" offset="0x0.0" size="0x0.8" />
	<field name="type" descr="The type of the section. Should be used to identify &quot;twin&quot; applications, e.g. - CCProg coming from a 3rd party versus &quot;native&quot; application. \;Enumeration details:\;0 - APU_APP_EXTERNAL,\;1 - 3 - Reserved,\;4 - APU_APP_PCC,\;5 - APU_APP_DLL,\;6 - APU_APP_KERNEL,\;7-255 - Reserved" access="RO" offset="0x0.24" size="0x0.8" />
	<field name="version" descr="Version of App Metadata structure" access="RO" offset="0x4.0" size="0x0.8" />
	<field name="length" descr="Structure length" access="RO" offset="0x8.0" size="0x0.16" />
	<field name="dpa_app_version" descr="DPA application version" access="RO" offset="0x10.0" size="0x4.0" />
	<field name="dpa_os_api_version" descr="Version of the DPA API to OS" access="RO" offset="0x14.0" size="0x4.0" />
	<field name="dpa_fw_api_version" descr="Version of the DPA API to other DPA FW modules" access="RO" offset="0x1C.0" size="0x4.0" />
	<field name="dpa_app_uuid" descr="DPA application UUID, updated with a change in application version" access="RO" high_bound="3" low_bound="0" offset="0x28.0" size="0x10.0" />
	<field name="dpa_app_description_string" descr="Application description ASCII string" access="RO" high_bound="7" low_bound="0" offset="0x40.0" size="0x20.0" />
</node>

<node name="mcqi_linkx_properties_ext" descr="" size="0x7c.0" >
	<field name="fw_image_status_bitmap" descr="Bit 0: Image A is running\;Bit 1: Image A is committed, module boots from image A\;Bit 2: Image A is erased / empty\;Bit 3: Reserved\;Bit 4: Image B is running\;Bit 5: Image B is committed, module boots from image B\;Bit 6: Image B is erased / empty\;Bit 7: Reserved" access="RO" offset="0x0.0" size="0x0.8" />
	<field name="fw_image_info_bitmap" descr="Bit 0: FW image A is present \;Bit 1: FW image B is present\;Bit 2: Factory / boot image is present\;Bits 3-7: Reserved" access="RO" offset="0x0.16" size="0x0.8" />
	<field name="image_a_minor" descr="Image A FW minor version" access="RO" offset="0x4.0" size="0x0.8" />
	<field name="image_a_major" descr="Image A FW major version" access="RO" offset="0x4.8" size="0x0.8" />
	<field name="image_a_subminor" descr="Image A FW subminor number" access="RO" offset="0x8.0" size="0x0.16" />
	<field name="image_b_minor" descr="Image B FW minor version" access="RO" offset="0xC.0" size="0x0.8" />
	<field name="image_b_major" descr="Image B FW major version" access="RO" offset="0xC.8" size="0x0.8" />
	<field name="image_b_subminor" descr="Image B FW subminor number" access="RO" offset="0x10.0" size="0x0.16" />
	<field name="factory_image_minor" descr="Factory / boot image FW minor version" access="RO" offset="0x14.0" size="0x0.8" />
	<field name="factory_image_major" descr="Factory / boot image FW major version" access="RO" offset="0x14.8" size="0x0.8" />
	<field name="factory_image_subminor" descr="Factory / boot image FW subminor number" access="RO" offset="0x18.0" size="0x0.16" />
	<field name="management_interface_protocol" descr="0: Does not support either one of the FW update procedures defined below\;1: SFF-8636 management interface and pseudo-CMIS FW. Update is supported\;2: CMIS 4.0 is implemented\;3: CMIS 5.0 is implemented\;4: CMIS 5.2 is implemented\;5: CMIS 5.3 is implemented\;6: CMIS 5.4 is implemented\;7: CMIS 5.5 is implemented" access="RO" offset="0x1C.0" size="0x0.6" />
	<field name="activation_type" descr="0: HW reset is required. Host should be prepared to power cycle a cable after sending a RunFWImage command.\;1: Self-activation with HW reset contained in the RunFWImage command. No additional actions required from the host.\;2:Self-activation with hitless reset contained in the RunFWImage command. No additional actions required from the host.\;3-15: Reserved" access="RO" offset="0x1C.10" size="0x0.4" />
	<field name="vendor_sn" descr="Vendor Serial Number" access="RO" offset="0x20.0" size="0x0.16" />
</node>

<node name="mcqi_reg_data_auto_ext" descr="" attr_is_union="1" size="0x7c.0" >
	<field name="mcqi_activation_method_ext" descr="" subnode="mcqi_activation_method_ext" offset="0x0.0" selected_by="ACTIVATION_METHOD" size="0x7c.0" />
	<field name="mcqi_cap_ext" descr="" subnode="mcqi_cap_ext" offset="0x0.0" selected_by="CAPABILITIES" size="0x7c.0" />
	<field name="mcqi_clock_source_properties_ext" descr="" subnode="mcqi_clock_source_properties_ext" offset="0x0.0" selected_by="CLOCK_SOURCE_PROPERTIES" size="0x4.0" />
	<field name="mcqi_dpa_apps_info_ext" descr="" subnode="mcqi_dpa_apps_info_ext" offset="0x0.0" selected_by="DPA_APPS_INFO" size="0x70.0" />
	<field name="mcqi_linkx_properties_ext" descr="" subnode="mcqi_linkx_properties_ext" offset="0x0.0" selected_by="LINKX_PROPERTIES" size="0x7c.0" />
	<field name="mcqi_version_ext" descr="" subnode="mcqi_version_ext" offset="0x0.0" selected_by="VERSION" size="0x7c.0" />
</node>

<node name="mcqi_reg_ext" descr="" size="0x94.0" >
	<field name="component_index" descr="Component index gathered by &quot;MCQS - Management Component Query Status&quot;" access="INDEX" offset="0x0.0" size="0x0.16" />
	<field name="device_index" descr="Device number.\;For gearboxes, the index represents the gearbox die. \;For cables, the index represents the module index starting at index 1. Index 0 indicates the host device.\;\;For Clock Source EEPROM, the index represents the Clock Source Index, starting from 1\;\;For DPA_APPS_INFO, the index represents the index of the DPA app to query, starting from 0" access="INDEX" offset="0x0.16" size="0x0.12" />
	<field name="read_pending_component" descr="When set, the register will return information about the pending component (if available)" access="INDEX" offset="0x0.31" size="0x0.1" />
	<field name="device_type" descr="Peripheral device type:\;0: Switch / NIC\;1: Gearbox" access="INDEX" offset="0x4.0" size="0x0.8" />
	<field name="info_type" descr="Component properties set.\;0x0: CAPABILITIES\;0x1: VERSION\;0x5: ACTIVATION_METHOD\;0x6: LINKX_PROPERTIES\;0x7: CLOCK_SOURCE_PROPERTIES\;\;0x9: DPA_APPS_INFO\;Other values are reserved" access="INDEX" enum="CAPABILITIES=0x0,VERSION=0x1,ACTIVATION_METHOD=0x5,LINKX_PROPERTIES=0x6,CLOCK_SOURCE_PROPERTIES=0x7,DPA_APPS_INFO=0x9" offset="0x8.0" size="0x0.5" />
	<field name="info_size" descr="Properties set structure size, given in bytes." access="RO" offset="0xC.0" size="0x4.0" />
	<field name="offset" descr="The requested/returned data offset from the section start, given in bytes.\;Must be DWORD aligned.\;If offset is invalid, FW will return an error." access="INDEX" offset="0x10.0" size="0x4.0" />
	<field name="data_size" descr="The requested/returned data size, given in bytes.\;If data_size is not DWORD aligned, the last bytes are zero padded.\;If size is invalid, FW will return an error." access="INDEX" offset="0x14.0" size="0x0.16" />
	<field name="data" descr="Properties set structure according to info_type.\;CAPABILITIES - See Table 668, &quot;MCQI CAPABILITIES Info Layout,&quot; on page 1184\;VERSION - See Table 670, &quot;MCQI VERSION Info Layout,&quot; on page 1186\;ACTIVATION_METHOD - See Table 674, &quot;MCQI ACTIVATION_METHOD Info Layout,&quot; on page 1188\;LINKX_PROPERTIES - See Table 676, &quot;MCQI LINKX_PROPERTIES Info Layout,&quot; on page 1189\;CLOCK_SOURCE_PROPERTIES - See Table 678, &quot;MCQI CLOCK_SOURCE_PROPERTIES Layout,&quot; on page 1191\;DPA_APPS_INFO - See Table 680, &quot;MCQI DPA_APPS_INFO Layout,&quot; on page 1192" subnode="mcqi_reg_data_auto_ext" access="RO" offset="0x18.0" size="0x7c.0" union_selector="$(parent).info_type" />
</node>

<node name="mcqi_version_ext" descr="" size="0x7c.0" >
	<field name="version_string_length" descr="" access="RW" offset="0x0.0" size="0x0.8" />
	<field name="user_defined_time_valid" descr="When set, the component has a valid user-defined version time-stamp in user_defined_time" access="RW" offset="0x0.28" size="0x0.1" />
	<field name="build_time_valid" descr="When set, the component has a valid creation time-stamp in build_time" access="RW" offset="0x0.29" size="0x0.1" />
	<field name="version" descr="Version number" access="RW" offset="0x4.0" size="0x4.0" />
	<field name="build_time" descr="Time of component creation. Valid only if build_time_valid is set. See Table 672, &quot;Date-Time Layout,&quot; on page 1187" subnode="date_time_layout_ext" access="RW" offset="0x8.0" size="0x8.0" />
	<field name="user_defined_time" descr="User-defined time assigned to the component version. Valid only if user_defined_time_valid is set. See Table 672, &quot;Date-Time Layout,&quot; on page 1187" subnode="date_time_layout_ext" access="RW" offset="0x10.0" size="0x8.0" />
	<field name="build_tool_version" descr="Build tool version number.\;Valid only when not equal to 0" access="RW" offset="0x18.0" size="0x4.0" />
	<field name="version_string" descr="NULL terminated string representing the version." access="RW" high_bound="91" low_bound="0" offset="0x20.24" size="0x5c.0" />
</node>

<node name="mcqs_reg_ext" descr="" size="0x10.0" >
	<field name="component_index" descr="Component Index. Values range from 0 to the last component indicated by last_index_flag." access="INDEX" offset="0x0.0" size="0x0.16" />
	<field name="device_index" descr="Device number.\;For gearboxes, the index represents the gearbox die. \;For cables, the index represents the module index starting at index 1. Index 0 indicates the host device.\;For Clock synchronizer, index is used to represent the clock sync&apos; device index. Starting from 1." access="INDEX" offset="0x0.16" size="0x0.12" />
	<field name="component_not_supported" descr="When set, this component not supported." access="RO" offset="0x0.30" size="0x0.1" />
	<field name="last_index_flag" descr="When set, this component is the last component (highest component_index)." access="RO" offset="0x0.31" size="0x0.1" />
	<field name="identifier" descr="This field uniquely identifies a specific component type. \;0x1: BOOT_IMG\;0x4: OEM_NVCONFIG\;0x5: MLNX_NVCONFIG\;0x6: CS_TOKEN\;0x7: DBG_TOKEN\;0xA: Gearbox\;0xB: CC_ALGO - Congestion Control Algorithm\;0xC: LINKX_IMG\;0xD: CRYPTO_TO_COMMISSIONING\;0xE: RMCS_TOKEN\;0xF: RMDT_TOKEN\;0x10: CRCS_TOKEN \;0x11: CRDT_TOKEN \;0x12: CLOCK_SYNC_EEPROM  \;0x15: DIGITAL_CACERT - Certificate to be trusted by the device0x17: DIGITAL_CACERT_REMOVAL\;\;0x1A: LINKX_FW_ELS\;\;0x1C: DPA_COMPONENT\;0x1D: DPA_COMPONENT_REMOVAL\;0x1E: MTDT_TOKEN\;[DWIP]: 0x1F: CPO_VMOD_FW\;0x20: PSC_TOKEN\;\;[DWIP]: 0x22: CPLD_IMG\;[DWIP]: 0x23: HBI_IMG\;\;Other values are reserved" access="RO" enum="BOOT_IMG=0x1,OEM_NVCONFIG=0x4,MLNX_NVCONFIG=0x5,CS_TOKEN=0x6,DBG_TOKEN=0x7,Gearbox=0xa,CC_ALGO=0xb,LINKX_IMG=0xc,CRYPTO_TO_COMMISSIONING=0xd,RMCS_TOKEN=0xe,RMDT_TOKEN=0xf,CRCS_TOKEN=0x10,CRDT_TOKEN=0x11,CLOCK_SYNC_EEPROM=0x12,DIGITAL_CACERT=0x15,LINKX_FW_ELS=0x1a,DPA_COMPONENT=0x1c,DPA_COMPONENT_REMOVAL=0x1d,MTDT_TOKEN=0x1e,PSC_TOKEN=0x20" offset="0x4.0" size="0x0.16" />
	<field name="component_update_state" descr="Component state in update flow\;0x0: IDLE\;0x1: IN_PROGRESS\;0x2: APPLIED\;0x3: ACTIVE \;0x4: ACTIVE_PENDING_RESET\;0x5: FAILED\;0x6: CANCELED\;0x7: BUSY\;\;Other values are reserved" access="RO" enum="IDLE=0x0,IN_PROGRESS=0x1,APPLIED=0x2,ACTIVE=0x3,ACTIVE_PENDING_RESET=0x4,FAILED=0x5,CANCELED=0x6,BUSY=0x7" offset="0x8.0" size="0x0.4" />
	<field name="component_status" descr="The status of the component:\;0x0: NOT_PRESENT - The component is supported by the device but, currently not present\;0x1: PRESENT - This component is present. For downstream devices link LinkX component, this is an indication that the binary image is present at the host device memory.\;0x2: IN_USE - The component is present and currently in use." access="RO" enum="NOT_PRESENT=0x0,PRESENT=0x1,IN_USE=0x2" offset="0x8.4" size="0x0.5" />
	<field name="progress" descr="Progress in percentage (from 0 to 100). This field is only relevant for cables." access="RO" offset="0x8.9" size="0x0.7" />
	<field name="device_type" descr="Peripheral device type:\;0: Switch_or_NIC\;1: Gearbox" access="INDEX" offset="0xC.0" size="0x0.8" />
	<field name="last_update_state_changer_host_id" descr="For last_update_state_changer_type BMC, command-interface and ICMD, indicates the identifier of the host of the handle owner. Otherwise reserved." access="RO" offset="0xC.24" size="0x0.4" />
	<field name="last_update_state_changer_type" descr="Indicates which entity was the last to change the component_update_state of this component.\;0x0: unspecified\;0x1: Chassis_BMC\;0x2: MAD\;0x3: BMC\;0x4: command_interface\;0x5: ICMD\;\;Other values are reserved" access="RO" enum="unspecified=0x0,Chassis_BMC=0x1,MAD=0x2,BMC=0x3,command_interface=0x4,ICMD=0x5" offset="0xC.28" size="0x0.4" />
</node>

<node name="mddc_ext" descr="" size="0x30.0" >
	<field name="slot_index" descr="Slot index\;0: Reserved" access="INDEX" offset="0x0.0" size="0x0.4" />
	<field name="index" descr="Index related to the specific granularity type.\;For level = 0, this field is neglected" access="INDEX" offset="0x0.9" size="0x0.8" />
	<field name="level" descr="Granularity of control and configuration.\;0: Configurations per line card \;1: Configuration per device\;2-15: Reserved" access="INDEX" offset="0x0.24" size="0x0.4" />
	<field name="device_enable" descr="When set, FW is the manager and allowed to program the Downstream Device." access="RW" offset="0x4.28" size="0x0.1" />
	<field name="rst" descr="Reset request\;0: No reset\;1: Soft Reset\;2-7: Reserved" access="OP" offset="0x4.29" size="0x0.3" />
</node>

<node name="mddq_data_auto_ext" descr="" attr_is_union="1" size="0x20.0" >
	<field name="mddq_device_info_ext" descr="" subnode="mddq_device_info_ext" offset="0x0.0" selected_by="device_info" size="0x20.0" />
	<field name="mddq_slot_info_ext" descr="" subnode="mddq_slot_info_ext" offset="0x0.0" selected_by="slot_info" size="0x20.0" />
	<field name="mddq_slot_name_ext" descr="" subnode="mddq_slot_name_ext" offset="0x0.0" selected_by="slot_name" size="0x20.0" />
</node>

<node name="mddq_device_info_ext" descr="" size="0x20.0" >
	<field name="device_index" descr="Device index\;The first device should number 0" access="RO" offset="0x0.0" size="0x0.8" />
	<field name="flash_id" descr="The flash ID that the device is using." access="RO" offset="0x0.16" size="0x0.8" />
	<field name="lc_pwr_on" descr="If set to &apos;1&apos;, the fields related to the device are valid since the line-card is powered on and plugged and matching the INI version. \;Note: this bit is not an indication to validity of the fields related to the specific FW capabilities and version." access="RO" offset="0x0.28" size="0x0.1" />
	<field name="thermal_sd" descr="Thermal Shutdown. If set, the device was shut down due to thermal event." access="RO" offset="0x0.29" size="0x0.1" />
	<field name="flash_owner" descr="If set to &apos;1&apos;, the device is the flash owner. Otherwise, a shared flash is used by this device (another device is the flash owner)." access="RO" offset="0x0.30" size="0x0.1" />
	<field name="uses_flash" descr="If set, the device uses a flash" access="RO" offset="0x0.31" size="0x0.1" />
	<field name="device_type" descr="0: Amos Gearbox\;1: Abir Gearbox" access="RO" offset="0x4.0" size="0x0.16" />
	<field name="fw_major" descr="Major FW version number. Valid only after the FW is burnt. Otherwise, the value should be &apos;0&apos;." access="RO" offset="0x4.16" size="0x0.16" />
	<field name="fw_sub_minor" descr="Sub-minor FW version number. Valid only after the FW is burnt. Otherwise, the value should be &apos;0&apos;." access="RO" offset="0x8.0" size="0x0.16" />
	<field name="fw_minor" descr="Minor FW version number. Valid only after the FW is burnt. Otherwise, the value should be &apos;0&apos;." access="RO" offset="0x8.16" size="0x0.16" />
	<field name="max_cmd_write_size_supp" descr="Maximum write size (in D-Words) that the device supports for its PRM commands." access="RO" offset="0xC.0" size="0x0.8" />
	<field name="max_cmd_read_size_supp" descr="Maximum read size (in D-Words) that the device supports for its PRM commands." access="RO" offset="0xC.8" size="0x0.8" />
	<field name="device_type_name" descr="Device type ASCII name. Up to 8 chars\;" access="RO" high_bound="7" low_bound="0" offset="0x10.24" size="0x8.0" />
</node>

<node name="mddq_ext" descr="" size="0x30.0" >
	<field name="slot_index" descr="Slot index\;0: Reserved" access="INDEX" offset="0x0.0" size="0x0.4" />
	<field name="query_type" descr="0: Reserved\;1: slot_info\;2: device_info - for a device on the slot. If there are no devices on the slot, data_valid will be &apos;0&apos;.\;3: slot_name - Name of the slot (string)" access="INDEX" enum="Reserved=0x0,slot_info=0x1,device_info=0x2,slot_name=0x3" offset="0x0.16" size="0x0.8" />
	<field name="sie" descr="Slot info event enable\;When set to &apos;1&apos;, each change in the MDDQ.slot_info.provisioned / sr_valid / active / ready will generate an DSDSC event." access="RW" offset="0x0.31" size="0x0.1" />
	<field name="request_message_sequence" descr="Request message sequential number. \;The first message number should be 0" access="INDEX" offset="0x4.0" size="0x0.8" />
	<field name="response_message_sequence" descr="Response message sequential number. \;For a specific request, the response message sequential number is the following one. \;In addition, the last message should be 0." access="RO" offset="0x4.16" size="0x0.8" />
	<field name="query_index" descr="Index related to the specific query_type. \;For query_type = 1,2,3 this field is neglected." access="INDEX" offset="0x8.0" size="0x0.8" />
	<field name="data_valid" descr="If set, the data in the data field is valid and contain the information for the queried index. \;Note: This field is not reflecting any validity of the data while accessing a non-existing queryF entity. Querying with an out of range index will lead to BAD_PARAM status of the register." access="RO" offset="0x8.31" size="0x0.1" />
	<field name="data" descr="Properties of that field are based on query_type.\;For slot information query_type data - see Table 579, &quot;MDDQ slot_info Layout,&quot; on page 1106\;For devices on slot query_type data - see Table 581, &quot;MDDQ device_info Register Layout,&quot; on page 1107\;For slot name query_type data - see Table 583, &quot;MDDQ slot_name Layout,&quot; on page 1109" subnode="mddq_data_auto_ext" access="RO" offset="0x10.0" size="0x20.0" union_selector="$(parent).query_type" />
</node>

<node name="mddq_slot_info_ext" descr="" size="0x20.0" >
	<field name="active" descr="If set, the FW has completed the MDDC.device_enable command" access="RO" offset="0x0.27" size="0x0.1" />
	<field name="lc_ready" descr="If set, the LC is powered on, matching the INI version and a new FW version can be burnt (if necessary)\;0: Not ready\;1: Ready\;2: Error\;3: Reserved" access="RO" offset="0x0.28" size="0x0.2" />
	<field name="sr_valid" descr="If set, Shift Register is valid (after being provisioned) and data can be sent from the switch ASIC to the line-card CPLD over Shift-Register." access="RO" offset="0x0.30" size="0x0.1" />
	<field name="provisioned" descr="If set, the INI file is ready and the card is provisioned" access="RO" offset="0x0.31" size="0x0.1" />
	<field name="ini_file_version" descr="User-configured version number of the current INI file.\;Valid only when active or lc_ready are &apos;1&apos;." access="RO" offset="0x4.0" size="0x0.16" />
	<field name="hw_revision" descr="HW revision of the line-card as it appears in the current INI file.\;Valid only when active or lc_ready are &apos;1&apos;." access="RO" offset="0x4.16" size="0x0.16" />
	<field name="card_type" descr="Card type\;0x00: Buffalo 4x400G\;0x01: Buffalo 8x200G\;0x02: Buffalo 16x100G\;" access="RO" offset="0x8.0" size="0x0.8" />
</node>

<node name="mddq_slot_name_ext" descr="" size="0x20.0" >
	<field name="slot_ascii_name" descr="Slot&apos;s ASCII name. Up to 20 chars\;" access="RO" high_bound="19" low_bound="0" offset="0x0.24" size="0x14.0" />
</node>

<node name="mddt_reg_ext" descr="" size="0x110.0" >
	<field name="device_index" descr="Device index" access="INDEX" offset="0x0.0" size="0x0.8" />
	<field name="slot_index" descr="Slot index" access="INDEX" offset="0x0.8" size="0x0.4" />
	<field name="type" descr="0: PRM_Register\;1: Command\;2: CrSpace_access" access="OP" enum="PRM_Register=0x0,Command=0x1,CrSpace_access=0x2" offset="0x4.0" size="0x0.2" />
	<field name="write_size" descr="Write size in D-Words." access="OP" offset="0x4.16" size="0x0.8" />
	<field name="read_size" descr="Read size in D-Words." access="OP" offset="0x4.24" size="0x0.8" />
	<field name="payload" descr="Payload\;For PRM Register type payload - See Table 571, &quot;PRM Register Payload Layout,&quot; on page 1102\;For Command type payload - See Table 573, &quot;Command Payload Layout,&quot; on page 1102\;For CrSpace type payload - See Table 575, &quot;CrSpace access Payload Layout,&quot; on page 1103" subnode="mddt_reg_payload_auto_ext" access="RW" offset="0xC.0" size="0x104.0" union_selector="$(parent).type" />
</node>

<node name="mddt_reg_payload_auto_ext" descr="" attr_is_union="1" size="0x104.0" >
	<field name="command_payload_ext" descr="" subnode="command_payload_ext" offset="0x0.0" selected_by="Command" size="0x104.0" />
	<field name="crspace_access_payload_ext" descr="" subnode="crspace_access_payload_ext" offset="0x0.0" selected_by="CrSpace_access" size="0x104.0" />
	<field name="prm_register_payload_ext" descr="" subnode="prm_register_payload_ext" offset="0x0.0" selected_by="PRM_Register" size="0x104.0" />
</node>

<node name="mdfcr_reg_ext" descr="" size="0x60.0" >
	<field name="device_type" descr="Peripheral device type\;1: Vega_Gearbox\;2: Tile" access="INDEX" enum="Vega_Gearbox=0x1,Tile=0x2" offset="0x0.0" size="0x0.8" />
	<field name="device_index" descr="Device number \;For gearboxes, the index represents the gearbox die." access="INDEX" offset="0x4.0" size="0x0.12" />
	<field name="all" descr="All devices are selected and device_index is ignored\;When set to &apos;1&apos;, the fw_status should represent the worst case of any of the devices. fw_version, build_id, major and minor should be of device number 0." access="INDEX" offset="0x4.31" size="0x0.1" />
	<field name="first_fw_status_device" descr="The first device representing the fw_status" access="RO" offset="0xC.0" size="0x0.12" />
	<field name="fw_status" descr="FW load status.\;0: No errors, FW has loaded successfully. \;1: Flash error. \;2: FW load error. 15: Not ready yet for displaying the status." access="RO" offset="0xC.20" size="0x0.4" />
	<field name="expected_fw_version" descr="Expected FW version" access="RO" offset="0x10.0" size="0x4.0" />
	<field name="fw_version" descr="FW version" access="RO" offset="0x14.0" size="0x4.0" />
	<field name="build_id" descr="FW build ID" access="RO" offset="0x18.0" size="0x0.16" />
	<field name="major" descr="FW major version" access="RO" offset="0x1C.0" size="0x0.8" />
	<field name="minor" descr="FW minor version" access="RO" offset="0x20.0" size="0x0.8" />
	<field name="error_id" descr="FW burning status error.\;\;1: no_errors\;2: error_in_total_size\;3: error_in_iRAM_size_read\;4: error_in_DRAM_size_read\;5: SPI_read_from_EEPROM_time-out\;6: CRC_on_downloaded_EEPROM_content\;7: Download_process_is_on-going\;8: SPI_reset_time-out\;9: memory_protection\;10: unknown_parameter_was_received_by_bootloader \;11: invalid_message_was_received_by_bootloader\;12: message_was_aborted_by_host\;\;Values from 13-32 are reserved" access="RO" enum="no_errors=0x1,error_in_total_size=0x2,error_in_iRAM_size_read=0x3,error_in_DRAM_size_read=0x4,SPI_read_from_EEPROM_time=0x5,CRC_on_downloaded_EEPROM_content=0x6,Download_process_is_on=0x7,SPI_reset_time=0x8,memory_protection=0x9,unknown_parameter_was_received_by_bootloader=0xa,invalid_message_was_received_by_bootloader=0xb,message_was_aborted_by_host=0xc" offset="0x24.11" size="0x0.5" />
</node>

<node name="mdir_reg_ext" descr="" size="0x40.0" >
	<field name="device_id" descr="Device ID" access="RO" high_bound="7" low_bound="0" offset="0x0.0" size="0x20.0" />
</node>

<node name="mdrcr_ext" descr="" size="0x30.0" >
	<field name="device_type" descr="Peripheral device type\;1: Gearbox\;" access="INDEX" offset="0x0.0" size="0x0.8" />
	<field name="device_index" descr="Device number \;For gearboxes, the index represents the gearbox die." access="INDEX" offset="0x4.0" size="0x0.12" />
	<field name="all" descr="All devices are selected and device_index is ignored\;When set to &apos;1&apos;, the rst_status should represent the worst case of any of the devices." access="INDEX" offset="0x4.31" size="0x0.1" />
	<field name="rst_op" descr="Reset Operation.\;0: Query of the reset status which is displayed through rst_status.\;1: Full Reset of the selected device(s).\;2-8: Reserved." access="RW" offset="0xC.0" size="0x0.3" />
	<field name="rst_status" descr="Reset status.\;0: Reset completed successfully. 1: Reset operation has not finished yet." access="RO" offset="0xC.16" size="0x0.4" />
</node>

<node name="mdri_ext" descr="" size="0x120.0" >
	<field name="clear" descr="Per bit:\;Bit 0: clear global_reasons\;Bit 1: clear port_reasons\;Bit 2: clear buffer_reasons\;Bit 3: clear ethernet_reasons\;Bit 4: clear ip_reasons\;Bit 5: clear mpls_reasons\;Bit 6: clear tunnel_reasons\;Bit 7: clear host_reasons\;" access="OP" offset="0x0.0" size="0x0.8" />
	<field name="read" descr="Per bit:\;Bit 0: read global_reasons\;Bit 1: read port_reasons\;Bit 2: read buffer_reasons\;Bit 3: read ethernet_reasons\;Bit 4: read ip_reasons\;Bit 5: read mpls_reasons\;Bit 6: read tunnel_reasons\;Bit 7: read host_reasons" access="OP" offset="0x4.0" size="0x0.8" />
	<field name="global_reasons" descr="Bit0: TCAM ECC Error (had a correctable ECC error)\;Bit1: no egress port (e.g. MC group is empty, port-isolation)\;\;Bit3: MAFCR.counter_accu_overflow was incremented (this is not a discard, but it&apos;s a bad behavior), reserved in Spectrum-5 onwards." access="RO" high_bound="7" low_bound="0" offset="0x20.0" size="0x20.0" />
	<field name="port_reasons" descr="Bit0: receive buffer overflow\;\;Bit1: egress mtu error" access="RO" high_bound="7" low_bound="0" offset="0x40.0" size="0x20.0" />
	<field name="buffer_reasons" descr="Bit0: sll" access="RO" high_bound="7" low_bound="0" offset="0x60.0" size="0x20.0" />
	<field name="ethernet_reasons" descr="Bit0: smac is mc\;Bit1: smac equal dmac\;Bit2: invalid ethertype (0x05DC &lt; ethertype &lt; 0x600)\;Bit3: ingress spanning tree\;Bit4: fdb_miss, same as trap_id FDB_MISS\;Bit5: fdb_mismatch, same as trap_id FDB_MISMATCH\;Bit6: fid miss, same as trap_id FID_MISS" access="RO" high_bound="7" low_bound="0" offset="0x80.0" size="0x20.0" />
	<field name="ip_reasons" descr="Bit0: packet to router is not ip/mpls/arp (no ip header)\;Bit1: disabled irif \;Bit2: uc dip over mc or bc mac\;Bit3: dip is loopback address \;for ipv6: (dip==::1/128) || (dip==0:0:0:0:0:ffff:7f00:0/104)\;for ipv4: dip==127.0.0.0/8\;Bit4: sip is mc \;for ipv6: (SIP == FF00::/8)\;for ipv4: (SIP == 224.0.0.0: 239.255.255.255 aka 224.0.0.0/4)\;Bit5: sip is in class e\;(pkt is ipv4) &amp;&amp; (sip == 240.0.0.0/4) &amp;&amp; (sip != 255.255.255.255)\;Bit6: sip is loopback\;for ipv6: sip == ::1/128\;for ipv4: sip == 127.0.0.0/8\;Bit7: sip is unspecified\;for ipv6: sip == ::0\;for ipv4: sip == 0.0.0.0/32\;Bit8: ip header not okay (IPVer, checksum, IHL)\;Bit9: mc mac mismatch\;Bit10: sip equal dip\;Bit11: ipv4 sip is limited broadcast\;Bit12: lpm no route uc ipv4\;Bit13: lpm no route uc ipv6\;Bit14: uc dip is link local, same as trap_id&apos;s DISCARD_ING_ROUTER_DIP_LINK_LOCAL, IPV6_LINK_LOCAL_DEST\;Bit15: sip is link local, same as trap_id&apos;s DISCARD_ING_ROUTER_SIP_LINK_LOCAL, IPV6_LINK_LOCAL_SRC\;Bit16: mc egress mtu aggregated\;Bit17: mc RPF \;Bit18: uc RPF \;Bit20: IPv4 dip is limited broadcast (dip==bc)\;Bit21: IPv4 dip is local network (dip == 0.0.0.0/8)\;Bit22: NVE packet to overlay router \;Bit23: mc dip over uc mac\;Bit24: mc dip is link local, same as trap_id: LOCALNETWORK, IPV6_MC_LINK_LOCALDEST\;Bit25: ingress MTU (this check is configured as forward)\;Bit26: mc egress mtu, (both for UC and for MC, MPLS)\;Bit29: ttl_error, same as trap_id TTLERROR\;Bit30: disabled erif \;Bit31: host miss ipv4, same as trap_id HOST_MISS_IPV4\;Bit32: host miss ipv6, same as trap_id HOST_MISS_IPV6\;Bit33: loopback error, same as trap_id LBERROR\;Bit34: ipv6 dip is unspecified, dip==::0/128, same as trap_id" access="RO" high_bound="7" low_bound="0" offset="0xA0.0" size="0x20.0" />
	<field name="mpls_reasons" descr="Bit0: outer label is not valid\;Bit1: no IP after decap (or after php)\;Bit3: mpls uc Ethertype (0x8847) over mc or bc mac\;Bit4: mpls mc Ethertype over not allowed mac\;Bit5: MPLS min ingress label allowed (label too low)\;Bit6: MPLS max ingress label allowed (label too high)\;Bit7: Reserved\;Bit8: php decap and no ip header or ip header is not okay\;Bit9: ilm miss, same as trap_id MPLS_ILM_MISS\;Bit10: mpls loopback filter" access="RO" high_bound="7" low_bound="0" offset="0xC0.0" size="0x20.0" />
	<field name="tunnel_reasons" descr="Bit0: decap_encap_prevention - same as trap_id DECAP_ENCAP\;Bit1: ipip_tunnel_loop \;Bit2: reserved\;Bit3: ipip_decap_error - same as trap_id IPIP_DECAP_ERROR\;Bit4: ipip_error - same as trap_id IPIP_ERROR. For Spectrum-2 catches nothing \;Bit7: nve_decap_frag_error - same as trap_id NVE_DECAP_FRAG_ERROR\;Bit8: overlay_port_isolation - see TNIFR\;Bit10: overlay_smac_is_mc\;Bit11: overlay_smac_equal_dmac\;Bit12: overlay_is_too_short - (decap remains with short packet) - also catches VLAN removal. Only for Spectrum-1/2/3. \;Bit13: decap_underlay_is_too_long - (decap of more than 126 bytes)\;Bit14: nve_decap_error - same as trap_id NVE_DECAP _TAG_ERROR\;Bit15: decap_ecn - same as trap_id DECAP_ECN0, DECAP_ECN1" access="RO" high_bound="7" low_bound="0" offset="0xE0.0" size="0x20.0" />
	<field name="host_reasons" descr="Bit0: tx_base_header_is_wrong - (version or base type)\;Bit1: tx_base_header_system_port_is_out_of_range" access="RO" high_bound="7" low_bound="0" offset="0x100.0" size="0x20.0" />
</node>

<node name="mdri_v2_ext" descr="" size="0x1a0.0" >
	<field name="clear" descr="Per bit:\;Bit 0: ingress_mac\;Bit 1: pipeline_general\;Bit 2: pipeline_mac\;Bit 3: pipeline_ipv4\;Bit 4: pipeline_ipv6\;Bit 5: pipeline_mpls\;Bit 6: pipeline_tunnel\;Bit 7: buffer\;Bit 8: queue\;Bit 9: egress_pipe\;Bit 10: egress_mac\;Bit 11: host\;" access="OP" enum="ingress_mac=0x1,pipeline_general=0x2,pipeline_mac=0x4,pipeline_ipv4=0x8,pipeline_ipv6=0x10,pipeline_mpls=0x20,pipeline_tunnel=0x40,buffer=0x80,queue=0x100,egress_pipe=0x200,egress_mac=0x400,host=0x800" offset="0x0.0" size="0x0.16" />
	<field name="read" descr="Per bit:\;Bit 0: ingress_mac\;Bit 1: pipeline_general\;Bit 2: pipeline_mac\;Bit 3: pipeline_ipv4\;Bit 4: pipeline_ipv6\;Bit 5: pipeline_mpls\;Bit 6: pipeline_tunnel\;Bit 7: buffer\;Bit 8: queue\;Bit 9: egress_pipe\;Bit 10: egress_mac\;Bit 11: host" access="OP" enum="ingress_mac=0x1,pipeline_general=0x2,pipeline_mac=0x4,pipeline_ipv4=0x8,pipeline_ipv6=0x10,pipeline_mpls=0x20,pipeline_tunnel=0x40,buffer=0x80,queue=0x100,egress_pipe=0x200,egress_mac=0x400,host=0x800" offset="0x4.0" size="0x0.16" />
	<field name="ingress_mac" descr="See Section 5.15.4.1, &quot;MDRI_V2 - Ingress MAC Reasons&quot;, on page 1581\;The bitmap is ordered in big-endian format, see Section  Byte Endianness on page 426." access="RO" high_bound="7" low_bound="0" offset="0x20.0" size="0x20.0" />
	<field name="pipeline_general" descr="See Section 5.15.4.2, &quot;MDRI_V2 - Pipeline General Reasons&quot;, on page 1582\;The bitmap is ordered in big-endian format, see Section  Byte Endianness on page 426." access="RO" high_bound="7" low_bound="0" offset="0x40.0" size="0x20.0" />
	<field name="pipeline_mac" descr="See Section 5.15.4.3, &quot;MDRI_V2 - Pipeline MAC Reasons&quot;, on page 1582\;The bitmap is ordered in big-endian format, see Section  Byte Endianness on page 426." access="RO" high_bound="7" low_bound="0" offset="0x60.0" size="0x20.0" />
	<field name="pipeline_ipv4" descr="See Section 5.15.4.4, &quot;MDRI_V2 - Pipeline IPv4 Reasons&quot;, on page 1584\;The bitmap is ordered in big-endian format, see Section  Byte Endianness on page 426." access="RO" high_bound="7" low_bound="0" offset="0x80.0" size="0x20.0" />
	<field name="pipeline_ipv6" descr="See Section 5.15.4.5, &quot;MDRI_V2 - Pipeline IPv6 Reasonss&quot;, on page 1586\;The bitmap is ordered in big-endian format, see Section  Byte Endianness on page 426." access="RO" high_bound="7" low_bound="0" offset="0xA0.0" size="0x20.0" />
	<field name="pipeline_mpls" descr="See Section 5.15.4.6, &quot;MDRI_V2 - Pipeline MPLS Reasons&quot;, on page 1588\;The bitmap is ordered in big-endian format, see Section  Byte Endianness on page 426." access="RO" high_bound="7" low_bound="0" offset="0xC0.0" size="0x20.0" />
	<field name="pipeline_tunnel" descr="See Section 5.15.4.7, &quot;MDRI_V2 - Pipeline Tunnel Reasons&quot;, on page 1589\;The bitmap is ordered in big-endian format, see Section  Byte Endianness on page 426." access="RO" high_bound="7" low_bound="0" offset="0xE0.0" size="0x20.0" />
	<field name="buffer" descr="See Section 5.15.4.8, &quot;MDRI_V2 - Buffer Reasons&quot;, on page 1592\;The bitmap is ordered in big-endian format, see Section  Byte Endianness on page 426." access="RO" high_bound="7" low_bound="0" offset="0x100.0" size="0x20.0" />
	<field name="queue" descr="See Section 5.15.4.9, &quot;MDRI_V2 - Queue Reasons&quot;, on page 1592\;The bitmap is ordered in big-endian format, see Section  Byte Endianness on page 426." access="RO" high_bound="7" low_bound="0" offset="0x120.0" size="0x20.0" />
	<field name="egress_pipe" descr="See Section 5.15.4.10, &quot;MDRI_V2 - Egress Pipe Reasons&quot;, on page 1593\;The bitmap is ordered in big-endian format, see Section  Byte Endianness on page 426." access="RO" high_bound="7" low_bound="0" offset="0x140.0" size="0x20.0" />
	<field name="egress_mac" descr="See Section 5.15.4.11, &quot;MDRI_V2 - Egress MAC Reasons&quot;, on page 1593\;The bitmap is ordered in big-endian format, see Section  Byte Endianness on page 426." access="RO" high_bound="7" low_bound="0" offset="0x160.0" size="0x20.0" />
	<field name="host" descr="See Section 5.15.4.12, &quot;MDRI_V2 - Host Reasons&quot;, on page 1593\;The bitmap is ordered in big-endian format, see Section  Byte Endianness on page 426." access="RO" high_bound="7" low_bound="0" offset="0x180.0" size="0x20.0" />
</node>

<node name="mdsr_reg_ext" descr="" size="0x30.0" >
	<field name="status" descr="0: The debug session ended successfully\;1: Failed to execute the operation. See additional_info for more details.\;2: Debug session active. See type_of_token for more details.\;3: No token applied\;4: Challenge provided, no token installed yet, see type_of_token for details.\;5: Timeout before token installed, see type_of_token for details\;6: Timeout of active token.\;7-15: Reserved\;\;Note: Status might be &apos;0&apos; even when debug query is not allowed and additional_info field will expose the reason." access="RO" offset="0x0.0" size="0x0.4" />
	<field name="additional_info" descr="0: No additional information available \;1: There is no debug session in progress\;2: FW is not secured, debug session cannot be ended\;3: Fail - Debug end request cannot be accepted. \;4: Fail - Host is not allowed to query debug session\;5: Debug session active\;6: Debug FW is running, cannot remove CRDT token" access="RO" offset="0x0.8" size="0x0.6" />
	<field name="type_of_token" descr="0: CS token \;1: Debug FW token \;2: FRC token \;3: RMCS token\;4: RMDT token \;5: CRCS token \;6: CRDT token\;\;8: MTFA token\;0xFF: All tokens. Relevant only when end=1" access="INDEX" offset="0x0.24" size="0x0.8" />
	<field name="revoke_version" descr="Set to &apos;1&apos; to end debug session.\;Setting to &apos;0&apos; will not trigger any operation." access="WO" offset="0x4.30" size="0x0.1" />
	<field name="end" descr="Used to revoke token version from device. Relevant only when end=1." access="WO" offset="0x4.31" size="0x0.1" />
	<field name="time_left" descr="Time left in seconds.\;In case that status is 2 (debug session active) - time left for token operation\;In case that status is 4 (challenge provided, no token installed yet) - time left for token installation\;For any other status, field should be zero" access="RO" offset="0x8.0" size="0x4.0" />
</node>

<node name="mdtr_reg_event_params_auto_ext" descr="" attr_is_union="1" size="0xa0.0" >
	<field name="cvb_config_error_ext" descr="" subnode="cvb_config_error_ext" offset="0x0.0" selected_by="cvb_config_error" size="0xa0.0" />
</node>

<node name="mdtr_reg_ext" descr="" size="0xb0.0" >
	<field name="event_id" descr="1: cvb_config_error" access="RO" enum="cvb_config_error=0x1" offset="0x0.0" size="0x0.16" />
	<field name="severity" descr="Severity:\;2: FATL - (fatal) Unrecoverable switch behavior\;3: NRML - (normal) Unexpected state with possible systemic Failure\;5: INTR - (debug) Unexpected state without systemic Failure" access="RO" enum="FATL=0x2,NRML=0x3,INTR=0x5" offset="0x0.16" size="0x0.8" />
	<field name="irisc_id" descr="Which RISC triggered the event" access="RO" offset="0x0.24" size="0x0.8" />
	<field name="tile_v" descr="Tile valid:\;0: The error was from main\;1: The error was from a tile" access="RO" offset="0x4.31" size="0x0.1" />
	<field name="tile_index" descr="When tile_v=1 the tile_index that caused the error." access="RO" offset="0x8.0" size="0x0.4" />
	<field name="event_params" descr="event parameters - layout is according to event_id value:\;See Table 777, &quot;Event_params cvb_config_error Layout,&quot; on page 1262" subnode="mdtr_reg_event_params_auto_ext" access="RW" offset="0x10.0" size="0xa0.0" union_selector="$(parent).event_id" />
</node>

<node name="meccc_ext" descr="" size="0x14.0" >
	<field name="slot_index" descr="Slot index\;0: Main board" access="INDEX" offset="0x0.0" size="0x0.4" />
	<field name="device_index" descr="Device index\;For gearboxes, the index represents the gearbox die" access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="clr" descr="Clear counters\;" access="OP" offset="0x4.0" size="0x0.1" />
	<field name="ecc_crt_cnt" descr="ECC Correctable Counter\;Counter increments 1 time per each SRAM (including TCAM) which had 1 or more ECC correctable events. \;Cleared at: (1) reset (including soft_reset), (2) clear bit\;Counts from: (1) main, (2) all tiles" access="RO" offset="0xC.0" size="0x4.0" />
	<field name="ecc_ucrt_cnt" descr="ECC Uncorrectable Counter\;Cleared at: (1) reset (including soft_reset), (2) clear bit\;" access="RO" offset="0x10.0" size="0x0.8" />
</node>

<node name="mecgc_ext" descr="" size="0xc.0" >
	<field name="collect_en" descr="Event Collection Enable.\;0: Disable event collection.\;1: Enable event collection." access="RW" offset="0x0.0" size="0x0.1" />
	<field name="event_en" descr="Event Enable.\;0: no event on buffer full, buffer fetch will be done explicit by reading MECR register (in that case events can be lost).\;1: when FW local buffer is full, Event will be send to host.\;[Internal] - on 1, FW will not clear the buffer explicitly, and will still allow buffer read." access="RW" offset="0x0.16" size="0x0.1" />
	<field name="over_flow_p" descr="Over Flow Policy.\;This field defined the FW behavior when buffer is full and there is a new trigger to insert.\;0: LOSSY_DROP_OLD - FW will run over old buffer (in case of event_en=1 FW will drop all the old buffer).\;1: LOSSY_DROP_NEW - FW will not log the new trigger.\;2: LOSSLESS - FW will wait until buffer is free this mode is dangerous, it can make stuck FW.\;\;in case of lossless - if buffer is full for more than 1Sec - drop the pending triggers." access="RW" offset="0x0.17" size="0x0.2" />
	<field name="buff_timeout_interval" descr="Every buff_timeout_interval FW will send MECR event with the current buffer (to handle a case that few events arrive but didn&apos;t fill the buffer for event to go out).\;Units of milliseconds.\;Range: 0x1-0xFFFE\;Default value - 1 minute (TBD - add HEX val)\;0xFFFF - no buffer eviction except buffer full.\;Reserved when event_en=0." access="RW" offset="0x4.0" size="0x0.16" />
	<field name="max_events_per_sec" descr="Maximum number of Trap events per second.\;Range: 0x1-0xFFFE\;[Internal] sliding window implementation is not required.\;0xFFFF means no limitation.\;Default value - 0xFFFF" access="RW" offset="0x8.0" size="0x0.16" />
</node>

<node name="mecis_ext" descr="" size="0x44.0" >
	<field name="module_bitmask" descr="Module mask array, read as one bitmap.\;Events that related to module will be reported only if it is set in this module_bitmask." access="RW" high_bound="7" low_bound="0" offset="0x0.0" size="0x20.0" />
	<field name="port_bitmap_size" descr="Bitmap size in DWORDs.\;Range is 0..floor(cap_max_switch_ports/32)+1.\;E.g. bitmap_size 16 is for 512 ports, 17 for 544 ports, 32 for 1024 ports, etc." access="OP" offset="0x3C.0" size="0x0.8" />
	<field name="port_mask" descr="Port mask array, read as one bitmap.\;Events that related to port will be reported only if it is set in this port_mask.\;Each bit represents a local port. Refer to Section  9.2, &quot;Port Numbering,&quot; on page  2132 for port numbering scheme." access="RW" high_bound="VARIABLE" low_bound="0" offset="0x40.0" size="0x4.0" />
</node>

<node name="mecr_ext" descr="" size="0x14.0" >
	<field name="more_data" descr="More Data.\;0 - no more new events.\;1 - there are more events, requestor requires to do another query until this bit is 0.\;Reserved when this register sent as event." access="RO" offset="0x0.0" size="0x0.1" />
	<field name="lost" descr="Lost.\;If for some request/event the data is not available to due over-run (can happen on events if num of packets exceed the threshold and can happen on query if the polling is not fast enough), this bit will be set." access="RO" offset="0x0.1" size="0x0.1" />
	<field name="requested_size" descr="Size of all data[] in DWs.\;On method=query: this field is filled by requestor to define the overall size of the access register.\;On method=event: This field is filled by FW on the response.\;" access="RW" offset="0x4.0" size="0x0.16" />
	<field name="used_size" descr="Size of data[] in DWs.\;indicate the size of valid data[].\;This filed filled by FW." access="RO" offset="0x4.16" size="0x0.16" />
	<field name="rec_num" descr="number of valid events in data[]" access="RO" offset="0xC.0" size="0x0.8" />
	<field name="data" descr="See Table 911" access="RO" high_bound="VARIABLE" low_bound="0" offset="0x10.0" size="0x4.0" />
</node>

<node name="mecs_ext" descr="" size="0x50.0" >
	<field name="trigger_bitmask_type" descr="Trigger bitmask type.\;defines the type of triggers that will be enabled in trigger_mask\;0: Port triggers.\;1: Module triggers." access="INDEX" offset="0x0.0" size="0x0.8" />
	<field name="default_triggers" descr="Default Triggers.\;When this field is set, the triggers that will be monitored will be the default triggers in the selected bitmask type (will delete the current configuration and set it back to default)\;note - only for the selected bitmask_type." access="RW" offset="0x0.16" size="0x0.1" />
	<field name="trigger_bitmask" descr="Trigger Bitmask.\;When bit i is set, the trigger in index i in the selected type will be monitored.\;" access="OP" high_bound="15" low_bound="0" offset="0x10.0" size="0x40.0" />
</node>

<node name="melseq_reg_ext" descr="" size="0x30.0" >
	<field name="module" descr="Module number\;The PRM is supported for module types OSFP_ELS and CPO_32x" access="INDEX" offset="0x0.0" size="0x0.8" />
	<field name="err_type" descr="Error type:\;1: laser_fiber_contaminated\;2: laser_APC_fault\;3: laser_power_exceeded_allowed_range\;4: laser_power_subceeded_allowed_range\;5: laser_TEC_control_loop_fault\;6: laser_ramping_timeout_fault\;7: laser_power_tuning_fault\;" access="INDEX" enum="laser_fiber_contaminated=0x1,laser_APC_fault=0x2,laser_power_exceeded_allowed_range=0x3,laser_power_subceeded_allowed_range=0x4,laser_TEC_control_loop_fault=0x5,laser_ramping_timeout_fault=0x6,laser_power_tuning_fault=0x7" offset="0x0.16" size="0x0.8" />
	<field name="cc" descr="Clear counters" access="OP" offset="0x0.31" size="0x0.1" />
	<field name="laser_warn_cnt" descr="Number of warning events occurred for the error type\;Stuck in 0xFF, cleared with cc field" access="RO" high_bound="7" low_bound="0" offset="0x10.24" size="0x8.0" />
	<field name="laser_alarm_cnt" descr="Number of alarm events occurred for the error type\;Stuck in 0xFF, cleared with cc field" access="RO" high_bound="7" low_bound="0" offset="0x20.24" size="0x8.0" />
</node>

<node name="melsr_laser_error_recovery_control_ext" descr="" size="0x10.0" >
	<field name="num_of_recovery_retries" descr="Number of laser recovery retries\;Relevant only when recovery_en is set" access="RW" offset="0x0.0" size="0x0.8" />
	<field name="th_units" descr="Units of the error_warning_th and error_alarm_th\;0: mW\;1: Seconds\;2: Celsius\;Other values are reserved" access="RO" offset="0x0.8" size="0x0.2" />
	<field name="err_type" descr="Error type:\;0: laser ramping time\;1: automatic power control\;2: laser high power\;3: laser low power\;4: TEC control loop" access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="recovery_en" descr="When set, FW will do laser recovery flowOtherwise, FW will be just monitoring and notifying\;\;Reserved for fiber check, high power and laser tuning errors" access="RW" offset="0x0.31" size="0x0.1" />
	<field name="laser_relaxtion_time" descr="Specifies the mandatory wait duration between disabling and re-enabling the laser during the recovery flow\;Units of seconds, minimum value of 1\;Relevant only when recovery_en is set" access="RW" offset="0x4.0" size="0x0.8" />
	<field name="error_alarm_th" descr="Laser high power alarm threshold\;Cannot be set for laser high power" access="RW" offset="0x8.0" size="0x0.16" />
	<field name="error_warning_th" descr="Laser high power warning threshold\;Cannot be set for laser high power" access="RW" offset="0x8.16" size="0x0.16" />
	<field name="alarm_error_grouping_time" descr="Specifies the time in which events are grouped together to decide if to continue the recoveries\;Units of seconds, minimum value of 1\;Relevant only when recovery_en is set" access="RW" offset="0xC.0" size="0x4.0" />
</node>

<node name="melsrc_reg_ext" descr="" size="0x1c.0" >
	<field name="module" descr="Module number\;The PRM is supported for module types OSFP_ELS and CPO_32x" access="INDEX" offset="0x0.0" size="0x0.8" />
	<field name="laser_error" descr="see Table 553, &quot;Laser Error Recovery Control Layout,&quot; on page 1089)" subnode="melsr_laser_error_recovery_control_ext" access="RW" offset="0xC.0" size="0x10.0" />
</node>

<node name="merr_ext" descr="" size="0x14.0" >
	<field name="ent_type" descr="Entity type.\;0: Reserved\;1: QSFP Module (the relevant signals are: present, reset, interrupt, power enable, low power mode, power good, modsel, QSFP LEDs)" access="INDEX" offset="0x0.0" size="0x0.4" />
	<field name="current_index" descr="Current entity index" access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="target_index" descr="Entity number to be mapped to." access="RW" offset="0x4.0" size="0x0.8" />
</node>

<node name="mfba_reg_ext" descr="" size="0x10c.0" >
	<field name="fs" descr="Flash select - selects the flash device.\;Only zero is supported for NICs with a single flash device \;Range between 0 .. MFPA.flash_num -1" access="INDEX" offset="0x0.4" size="0x0.2" />
	<field name="add_cap_32b" descr="Capability bit - If set to &apos;1&apos;, address field is 32 bit length." access="RO" offset="0x0.31" size="0x0.1" />
	<field name="size" descr="The size of the data to be written or read in bytes\;Should comply with block_size and block_alignment fields in MFPA." access="OP" offset="0x4.0" size="0x0.9" />
	<field name="address" descr="The start address of this read or write access in bytes. Should comply with block_size and block_alignment fields in MFPA." access="INDEX" offset="0x8.0" size="0x4.0" />
	<field name="data" descr="The data to be written or read data." access="RW" high_bound="63" low_bound="0" offset="0xC.0" size="0x100.0" />
</node>

<node name="mfbd_ext" descr="" size="0x24.0" >
	<field name="time_res" descr="Time Resolution\;0: time units are in microseconds \;1: time units are in milliseconds" access="OP" offset="0x0.0" size="0x0.1" />
	<field name="fw_init_total_time" descr="FW init time." access="RO" offset="0x8.0" size="0x4.0" />
	<field name="fw_init_open_ports_time" descr="FW init time to open all ports." access="RO" offset="0xC.0" size="0x4.0" />
	<field name="boot_time" descr="boot and bootrom time" access="RO" offset="0x10.0" size="0x4.0" />
	<field name="init_tiles_time" descr="Tiles boot time" access="RO" offset="0x14.0" size="0x4.0" />
	<field name="init_phy_power_time" descr="Phy power time" access="RO" offset="0x18.0" size="0x4.0" />
	<field name="init_usr_algo_time" descr="User Algo&apos; time" access="RO" offset="0x1C.0" size="0x4.0" />
	<field name="init_gearbox_time" descr="Time of init Gearbox" access="RO" offset="0x20.0" size="0x4.0" />
</node>

<node name="mfbe_reg_ext" descr="" size="0xc.0" >
	<field name="fs" descr="Flash select - selects the flash device.\;Only zero is supported for NICs with a single flash device. \;Range between 0 .. MFPA.flash_num -1" access="INDEX" offset="0x0.4" size="0x0.2" />
	<field name="bulk_64kb_erase" descr="Erase a 64KB flash area in one bulk operation." access="WO" offset="0x0.29" size="0x0.1" />
	<field name="bulk_32kb_erase" descr="Erase a 32KB flash area in one bulk operation." access="WO" offset="0x0.30" size="0x0.1" />
	<field name="add_cap_32b" descr="Capability bit - If set to &apos;1&apos;, address field is 32 bit length." access="RO" offset="0x0.31" size="0x0.1" />
	<field name="address" descr="The start address (in bytes) of this erase operation. Must be aligned with the selected erase size (sector, 32KB or 64KB)." access="INDEX" offset="0x8.0" size="0x4.0" />
</node>

<node name="mfcdr_reg_ext" descr="" size="0x8.0" >
	<field name="module" descr="Module number\;Valid when query_type = 1, else this field is ignored" access="INDEX" offset="0x0.0" size="0x0.8" />
	<field name="lp_msb" descr="Local port MSB\;Valid when query_type = 0, else this field is ignored" access="INDEX" offset="0x0.12" size="0x0.2" />
	<field name="local_port" descr="Local port\;Valid when query_type = 0, else this field is ignored" access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="query_type" descr="Selector of query type\;0: local_port based query\;1: module based query" access="INDEX" offset="0x0.31" size="0x0.1" />
	<field name="status" descr="0: N/A \;1: Fake cable detected\;2: NVIDIA Cable detected\;3: Non-Nvidia Cable detected" access="RO" offset="0x4.0" size="0x0.2" />
</node>

<node name="mfcr_ext" descr="" size="0x8.0" >
	<field name="pwm_frequency" descr="Controls the frequency of the PWM signal.\;Supported frequencies are:\;0x0: 11Hz \;0x1: 14.7Hz\;0x2: 22.1Hz\;0x3 - 0111111: Reserved\;0x40: 1.4KHz\;0x41: 5KHz\;0x42: 20KHz\;0x43: 22.5KHz\;0x44: 25KHz\;0x45 - 0x7F: Reserved" access="RW" offset="0x0.0" size="0x0.7" />
	<field name="pwm_active" descr="Indicates which of the PWM control is active (bit per PWM)" access="RO" offset="0x4.0" size="0x0.5" />
	<field name="tacho_active" descr="Indicates which of the tachometer is active (bit per tachometer)\;Bitmask, per bit:\;0: not active\;1: active" access="RO" offset="0x4.16" size="0x0.10" />
	<field name="tacho_active_msb" descr="Indicates which of the tachometer is active (bit per tachometer)\;Bitmask, per bit:\;0: not active\;1: active" access="RO" offset="0x4.26" size="0x0.6" />
</node>

<node name="mfde_event_params_auto_ext" descr="" attr_is_union="1" size="0xa0.0" >
	<field name="crspace_timeout_ext" descr="" subnode="crspace_timeout_ext" offset="0x0.0" selected_by="crspace_timeout" size="0xa0.0" />
	<field name="fatal_cause_ext" descr="" subnode="fatal_cause_ext" offset="0x0.0" selected_by="fatal_cause" size="0xa0.0" />
	<field name="fw_assert_ext" descr="" subnode="fw_assert_ext" offset="0x0.0" selected_by="fw_assert" size="0xa0.0" />
	<field name="kvd_im_stop_ext" descr="" subnode="kvd_im_stop_ext" offset="0x0.0" selected_by="kvd_im_stop" size="0xa0.0" />
	<field name="riscv_exception_ext" descr="" subnode="riscv_exception_ext" offset="0x0.0" selected_by="riscv_exception" size="0x18.0" />
</node>

<node name="mfde_ext" descr="" size="0xb0.0" >
	<field name="event_id" descr="1: crspace_timeout\;2: kvd_im_stop - KVD insertion machine stopped\;3: test\;4: fw_assert\;5: fatal_cause\;6: long_cmd_timeout\;7: riscv_exception\;" access="RO" enum="crspace_timeout=0x1,kvd_im_stop=0x2,test=0x3,fw_assert=0x4,fatal_cause=0x5,long_cmd_timeout=0x6,riscv_exception=0x7" offset="0x0.0" size="0x0.16" />
	<field name="severity" descr="Severity:\;2: FATL - (fatal) Unrecoverable switch behavior\;3: NRML - (normal) Unexpected state with possible systemic Failure\;5: INTR - (debug) Unexpected state without systemic Failure" access="RO" enum="FATL=0x2,NRML=0x3,INTR=0x5" offset="0x0.16" size="0x0.8" />
	<field name="irisc_id" descr="Which RISC triggered the event" access="RO" offset="0x0.24" size="0x0.8" />
	<field name="reg_attr_id" descr="For access register flows: register id\;For MAD flow: attribute id\;For command interface other flows: opcode" access="RO" offset="0x4.0" size="0x0.16" />
	<field name="mgmt_class" descr="Reserved when packet_cmd_type !=1 (mad)\;0: access register over mad" access="RO" offset="0x4.16" size="0x0.8" />
	<field name="packet_state" descr="Packet state\;Current packet state:\;0: idle\;1: retry\;2: long process\;Else, reserved." access="RO" offset="0x4.27" size="0x0.2" />
	<field name="method" descr="0: Query\;1: Write" access="RO" enum="Query=0x0,Write=0x1" offset="0x4.29" size="0x0.1" />
	<field name="notify_fw_dump_completion" descr="When set, SDK should notify FW once upon completion of the FW dump taken due to this event." access="RO" offset="0x4.31" size="0x0.1" />
	<field name="packet_interface" descr="Packet interface identification used internally in the firmware, e.g., PCI, C MDIF_DRIVER, CMDIF_TOOLS, ICMD, INBAND RX0, INBAND RX1, etc...\;0: Buffer_OOB0 \;1: Buffer_OOB1 \;2: Buffer_RX0 \;3: Buffer_RX1 \;4: ICMD\;5: Buffer_PC0 \;6: CMD_IF_Driver \;7: CMD_IF_Tools \;8: Buffer_IPR0_QP0 \;9: Buffer_IPR0_QP1 \;10: Buffer_IPR0_N2N \;11: Buffer_IPR0_HW_Traps \;12: Buffer_IPR1_HW_Traps \;13: Buffer_SMA_Traps_PBG \;14: BMC \;100: Buffer_MNG_SL_Q0 \;101: Buffer_MNG_SL_Q1 \;102: Buffer_MNG_SL_Q2 \;103: Buffer_MNG_SL_Q3 \;104: MNOC0 \;105: MNOC1 \;106: Buffer_MNG_SL_Q4 \;107: Buffer_MNG_SL_Q5" access="RO" enum="Buffer_OOB0=0x0,Buffer_OOB1=0x1,Buffer_RX0=0x2,Buffer_RX1=0x3,ICMD=0x4,Buffer_PC0=0x5,CMD_IF_Driver=0x6,CMD_IF_Tools=0x7,Buffer_IPR0_QP0=0x8,Buffer_IPR0_QP1=0x9,Buffer_IPR0_N2N=0xa,Buffer_IPR0_HW_Traps=0xb,Buffer_IPR1_HW_Traps=0xc,Buffer_SMA_Traps_PBG=0xd,BMC=0xe,Buffer_MNG_SL_Q0=0x64,Buffer_MNG_SL_Q1=0x65,Buffer_MNG_SL_Q2=0x66,Buffer_MNG_SL_Q3=0x67,MNOC0=0x68,MNOC1=0x69,Buffer_MNG_SL_Q4=0x6a,Buffer_MNG_SL_Q5=0x6b" offset="0x8.0" size="0x0.8" />
	<field name="packet_cmd_type" descr="Packet command type:\;0: access_register\;1: mad\;2: other\;Else, reserved." access="RO" offset="0x8.8" size="0x0.2" />
	<field name="tile_index" descr="When tile_v=1 the tile_index that caused the timeout.\;\;Note: Supersedes event params&apos; tile_index" access="RO" offset="0x8.16" size="0x0.6" />
	<field name="tile_v" descr="Tile valid:\;0: The timeout was from main\;1: The timeout was from a tile\;\;Note: Supersedes event params&apos; tile_v" access="RO" offset="0x8.23" size="0x0.1" />
	<field name="packet_state_sticky" descr="sticky indication of previous packet state (if at some point it was different then idle it will stick to that value):\;0: idle\;1: retry\;2: long process\;Else, reserved." access="RO" offset="0x8.27" size="0x0.2" />
	<field name="event_params" descr="event parameters - layout is according to event_id value:\;See Table 1372, &quot;Event_params crspace_timeout Layout,&quot; on page 1849\;See Table 1374, &quot;Event_params kvd_im_stop Layout,&quot; on page 1851\;See Table 1376, &quot;Event_params fw_assert Layout,&quot; on page 1852\;See Table 1378, &quot;Event_params fatal_cause Layout,&quot; on page 1854\;See Table 1380, &quot;RiscV Exception Layout,&quot; on page 1855" subnode="mfde_event_params_auto_ext" access="RW" offset="0x10.0" size="0xa0.0" union_selector="$(parent).event_id" />
</node>

<node name="mfm_ext" descr="" size="0x18.0" >
	<field name="index" descr="Index to the fabric memory table." access="INDEX" offset="0x0.0" size="0x0.4" />
	<field name="memory_high" descr="Holds software-written data.\;Default value: 0x0\;Device reset will reset to the default value." access="RW" offset="0x8.0" size="0x4.0" />
	<field name="memory_low" descr="Holds software-written data.\;Default value: 0x0\;Device reset will reset to the default value." access="RW" offset="0xC.0" size="0x4.0" />
	<field name="memory_mask_high" descr="On write commands, indicates which of the bits from memory field are updated. Reserved on read operations." access="WO" offset="0x10.0" size="0x4.0" />
	<field name="memory_mask_low" descr="On write commands, indicates which of the bits from memory field are updated. Reserved on read operations." access="WO" offset="0x14.0" size="0x4.0" />
</node>

<node name="mfmc_reg_ext" descr="" size="0x1c.0" >
	<field name="fs" descr="Flash select - selects the flash device.\;Only zero is supported for NICs with a single flash device. \;Range between 0 .. MFPA.flash_num -1" access="INDEX" offset="0x0.4" size="0x0.2" />
	<field name="wrp_block_count" descr="Power of 2 of the write protect block count\;0: 1 block\;1: 2 blocks\;2: 4 blocks\;3: 8 blocks etc.\;Range 0..5\;Note that per flash device there may be invalid configurations\;Reserved when wrp_en = 0" access="RW" offset="0x4.0" size="0x0.8" />
	<field name="block_size" descr="Block size\;0: write protect sub-sector blocks\;1: write protect sector blocks\;Reserved when wrp_en = 0\;Note that not all block sizes are supported on all flash device, need to check MFPA capabilities" access="RW" offset="0x4.16" size="0x0.2" />
	<field name="wrp_en" descr="Write protect enable\;Set write protect of flash device" access="RW" offset="0x4.31" size="0x0.1" />
	<field name="sub_sector_protect_size" descr="Power of 2 for sub_sector size in 4Kbytes.\;0: 4Kbyte.\;1: 8 Kbyte\;2: 16Kbyte.\;Etc." access="RO" offset="0x8.0" size="0x0.6" />
	<field name="sector_protect_size" descr="Power of 2 for sector size in 4Kbytes.\;0: 4Kbyte.\;1: 8 Kbyte\;2: 16Kbyte.\;Etc." access="RO" offset="0x8.8" size="0x0.6" />
	<field name="quad_en" descr="Quad enable IO bit in the device status register" access="RW" offset="0x10.24" size="0x0.1" />
	<field name="dummy_clock_cycles" descr="The number of dummy clock cycles subsequent to all FAST READ commands. \;Reserved if not supported by the device" access="RW" offset="0x18.0" size="0x0.4" />
</node>

<node name="mfnr_ext" descr="" size="0x30.0" >
	<field name="fan_index" descr="Fan tachometer index.\;Bit[4] is reserved as 0.\;Lowest valid value for concatenation of tacho_hi and fan_index[3:0] is 00000001b.\;Highest valid value for concatenation of tacho_hi and fan_index[3:0] is MFSL.tacho_max" access="INDEX" offset="0x0.0" size="0x0.5" />
	<field name="tacho_hi" descr="Fan tachometer index high bits extension.\;Concatenated with the fan_index field bits [3:0], this makes up the complete index number." access="INDEX" offset="0x0.5" size="0x0.4" />
	<field name="serial_number" descr="Fan serial number (ASCII string)\;Value of &apos;0&apos;: Some error (Fan not present, disconnected etc.)" access="RO" high_bound="5" low_bound="0" offset="0x4.0" size="0x18.0" />
	<field name="part_number" descr="Fan part number (ASCII string)\;Value of &apos;0&apos;: Some error (Fan not present, disconnected etc.)" access="RO" high_bound="4" low_bound="0" offset="0x1C.0" size="0x14.0" />
</node>

<node name="mfpa_reg_ext" descr="" size="0x20.0" >
	<field name="fs" descr="Flash select - selects the flash device.\;Only zero is supported for NICs with a single flash device.\;Range between 0 .. flash_num -1\;" access="INDEX" offset="0x0.4" size="0x0.2" />
	<field name="add_cap_32b" descr="Capability bit - If set to &apos;1&apos;, boot_address field is 32 bit length." access="RO" offset="0x0.31" size="0x0.1" />
	<field name="boot_address" descr="The flash address from which the firmware will boot in the next reset (warm start)." access="RW" offset="0x4.0" size="0x4.0" />
	<field name="flash_num" descr="The number of flash devices1: there is 1 flash device, etc." access="RO" offset="0x10.0" size="0x0.4" />
	<field name="sub_sector_wrp_en" descr="If set, MFMC register supports setting write protect with sub-sector- blocks\;Sub-sector block size is available in MFMC.sub_sector_protect_size" access="RO" offset="0x10.16" size="0x0.1" />
	<field name="sector_wrp_en" descr="If set, MFMC register supports setting write protect with sector blocks.\;Sector block size is available in MFMC.sector_protect_size" access="RO" offset="0x10.17" size="0x0.1" />
	<field name="bulk_64kb_erase_en" descr="If set, MFBE register supports 64KB bulk erase operation.\;" access="RO" offset="0x10.29" size="0x0.1" />
	<field name="bulk_32kb_erase_en" descr="If set, MFBE register supports 32KB bulk erase operation." access="RO" offset="0x10.30" size="0x0.1" />
	<field name="wip" descr="Work In Progress. Indicates that the flash is currently busy." access="RO" offset="0x10.31" size="0x0.1" />
	<field name="jedec_id" descr="Return the flash JEDEC ID value returned by the standard Read JEDEC ID command that is available in most flash devices." access="RO" offset="0x14.0" size="0x0.24" />
	<field name="sector_size" descr="The minimal unit that can be erased with and MFBE command (in bytes)." access="RO" offset="0x18.0" size="0x0.10" />
	<field name="block_alignment" descr="Log 2 of the requested write alignment in bytes. Write access to the flash\;must not cross this alignment.\;Read and write access must be aligned to this value." access="RO" offset="0x18.16" size="0x0.8" />
	<field name="block_size" descr="The block size in byes of the flash device, max read size for MFBA (typically 128 bytes)." access="RO" offset="0x18.24" size="0x0.8" />
	<field name="capability_mask" descr="Bitmask indicates which capabilities are supported.\;Bit 15..0: reserved \;\;Bit 16: Set write protect supported (register MFMC supports setting write protection)\;Bit 17: quad enable read write is supported (register MFMC supports setting quad enable)\;Bit 18: set dummy cycle supported (register MFMC supports setting dummy cycles)" access="RO" offset="0x1C.0" size="0x4.0" />
</node>

<node name="mfrc_ext" descr="" size="0xc.0" >
	<field name="e" descr="Enable bit\;Applies to all fast recovery features.See full behavior of disable below table. \;0: disables the feature and all it&quot;s triggers, without clearing\;the visibility counters of the feature. 1: enables the fast recovery feature. When set after the feature was disabled, all counters are cleared.\;Reserved when trigger is not 0." access="RW" offset="0x0.0" size="0x0.1" />
	<field name="trigger" descr="Trigger of the fast recovery feature: \;0: All (used for &quot;e&quot; bit only)\;2: Credit watchdog.\;4: Raw BER.\;5: Effective BER.\;6: Symbol BER.\;7: TX PLR Trigger.\;Else, reserved." access="INDEX" offset="0x0.24" size="0x0.8" />
	<field name="capability_bits" descr="capability bits of the fast recovery feature\;0: When set, Credit watchdog notification is supported\;1: When set, Raw BER notification is supported\;2: When set, Effective BER notification is supported\;3: When set, Symbol BER notification is supported\;4: When set, TX PLR Trigger notification is supported" access="RO" offset="0x4.0" size="0x4.0" />
	<field name="en_normal_notification" descr="Enables fast recovery normal notifications (traps) to host (MFRI event). Fast recovery notification are best effort and might drop when congested. \;Reserved when trigger = 0." access="RW" offset="0x8.29" size="0x0.1" />
	<field name="en_warning_notification" descr="Enables fast recovery warning notifications (traps) to host (MFRI event). Fast recovery notification are best effort and might drop when congested. \;Reserved when trigger = 0." access="RW" offset="0x8.30" size="0x0.1" />
	<field name="en_error_notification" descr="Enables fast recovery error notifications (traps) to host (MFRI event). Fast recovery notification are best effort and might drop when congested. \;Reserved when trigger = 0." access="RW" offset="0x8.31" size="0x0.1" />
</node>

<node name="mfri_ext" descr="" size="0x30.0" >
	<field name="port" descr="Local Port Number" access="INDEX" offset="0x0.0" size="0x0.8" />
	<field name="field_select" descr="Field select bitmask.\;When reading, this is will ignored.\;On the response / trap this will have the bit mask of the valid fields. \;0: num_errors\;1: num_warnings\;2: num_normals\;3: min_value\;4: max_value\;5: consecutive_normal\;6: last_value[0] \;7: last_value[1]\;8: last_value[2]\;Else, reserved." access="RO" offset="0x4.0" size="0x0.16" />
	<field name="thr_type" descr="threshold type exceeded. \;0: Reserved\;1: Error threshold \;2: Warning threshold\;3: Normal TH\;Reserved when not a trap." access="RO" offset="0x4.16" size="0x0.2" />
	<field name="trigger" descr="Trigger of the fast recovery feature: \;2: Credit watchdog.\;4: Raw BER.\;5: Effective BER.\;6: Symbol BER.\;7: TX PLR Trigger.\;Else, reserved." access="INDEX" offset="0x4.24" size="0x0.8" />
	<field name="fields_overflow" descr="fields over flow bit-mask. \;Due to counters size differences between triggers, when a bit is set, it means that the counter got to the max value it can count:\;0: num_errors\;1: num_warnings\;2: num_normals\;3: min_value\;4: max_value\;5: consecutive_normal\;6: last_value[0] \;7: last_value[1]\;8: last_value[2]\;Else, reserved." access="RO" offset="0x8.0" size="0x0.16" />
	<field name="num_errors" descr="Accumulated number of error events since last reset." access="RO" offset="0xC.0" size="0x4.0" />
	<field name="num_warnings" descr="Number of warning events." access="RO" offset="0x10.0" size="0x4.0" />
	<field name="min_value" descr="Minimum value pet time window." access="RO" offset="0x18.0" size="0x4.0" />
	<field name="max_value" descr="Maximum value pet time window." access="RO" offset="0x1C.0" size="0x4.0" />
	<field name="consecutive_normal" descr="The number of consecutive time windows which the port was in Normal mode.\;Reserved when last_value isn&apos;t normal." access="RO" offset="0x20.0" size="0x4.0" />
	<field name="last_value" descr="The values of the last time windows,\;when last[0] is the latest.\;" access="RO" high_bound="2" low_bound="0" offset="0x24.0" size="0xc.0" />
</node>

<node name="mfrp_ext" descr="" size="0x1c.0" >
	<field name="trigger" descr="Trigger of the fast recovery feature: \;2: Credit watchdog.\;4: aw BER.\;5: Effective BER.\;6: Symbol BER.\;7: TX PLR Trigger.\;Else, reserved." access="INDEX" offset="0x0.0" size="0x0.8" />
	<field name="lp_msb" descr="port MSB" access="INDEX" offset="0x0.12" size="0x0.2" />
	<field name="local_port" descr="port" access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="en_thr" descr="Enable thresholds: \;0: No thresholds activated\;1: Only Error threshold is activated\;2: Only Warning and Normal thresholds are activated\;3: All three thresholds are activated" access="RO" offset="0x4.0" size="0x0.2" />
	<field name="error_thr_action" descr="Action required when exceeding error_thr.\;0: Do nothing\;1: Toggle the physical link (drop to polling).\;2: Change logical state to Init." access="RO" offset="0x4.4" size="0x0.2" />
	<field name="error_thr" descr="Error threshold- refers to the number of credit watchdog events that occurred in the specific time window. \;When the switch reaches this threshold it shall drop the logical link. \;Reserved when en_thr is 0 or 2." access="RO" offset="0x8.0" size="0x4.0" />
	<field name="warning_thr" descr="Warning threshold- number of credit watchdog events that occurred in the specific time window. \;Shall be smaller than error_thr when set.\;Reserved when en_thr is 0 or 1." access="RO" offset="0xC.0" size="0x4.0" />
	<field name="normal_thr" descr="Normal threshold- number of credit watchdog events that occurred in the specific time window. \;Shall be smaller than warning_thr.\;Reserved when en_thr is 0 or 1." access="RO" offset="0x10.0" size="0x4.0" />
	<field name="time_window" descr="The time frame which the events are grouped. This is a tumbling window (not a sliding window), means that each window is uncorrelated to the adjacent windows events. \;Time frame to measure Normal_thr.\;Units of sampling_rate.\;Value of zero is non valid." access="RO" offset="0x14.0" size="0x4.0" />
	<field name="sampling_rate" descr="Time frame to measure warning threshold and error threshold. \;Units of 10mSec, range 0..1Sec." access="RO" offset="0x18.0" size="0x4.0" />
</node>

<node name="mfsc_ext" descr="" size="0x8.0" >
	<field name="pwm" descr="Fan pwm to control / monitor" access="INDEX" offset="0x0.24" size="0x0.3" />
	<field name="pwm_duty_cycle" descr="Controls the duty cycle of the PWM. Value range from 0..255 to represent duty cycle of 0%...100%" access="RW" offset="0x4.0" size="0x0.8" />
</node>

<node name="mfsl_ext" descr="" size="0xc.0" >
	<field name="ie" descr="Interrupt Enable. If the ie bit is set and the Tachometer reading is out of range as defined by tach_min and tach_max, the FERR# will be asserted." access="RW" offset="0x0.0" size="0x0.1" />
	<field name="ee" descr="Event Enable.\;0 - Do not generate event\;1 - Generate Event \;2 - Generate single event\;For Fan Error Evet details refer to Section  4.13.10, &quot;MRSV - Management Read Straps Value Register&quot;." access="RW" offset="0x0.2" size="0x0.2" />
	<field name="tacho_max" descr="The maximum supported Fan tachometer index value.\;" access="RO" offset="0x0.16" size="0x0.8" />
	<field name="tacho" descr="Fan tachometer index.\;Lowest valid value for concatenation of tacho_hi and tacho is 00000001b.\;Highest valid value for concatenation of tacho_hi and tacho is tacho_max." access="INDEX" offset="0x0.24" size="0x0.4" />
	<field name="tacho_hi" descr="Fan tachometer index high bits extension.\;Concatenated with tacho field, this makes up the complete index number." access="INDEX" offset="0x0.28" size="0x0.4" />
	<field name="tach_min" descr="Tachometer minimum value (minimum RPM)." access="RW" offset="0x4.0" size="0x0.16" />
	<field name="tach_max" descr="Tachometer maximum value (maximum RPM)." access="RW" offset="0x8.0" size="0x0.16" />
</node>

<node name="mfsm_ext" descr="" size="0x8.0" >
	<field name="n" descr="" access="RW" offset="0x0.0" size="0x0.2" />
	<field name="tacho" descr="Fan tachometer index.\;Lowest valid value for concatenation of tacho_hi and tacho is 00000001b.\;Highest valid value for concatenation of tacho_hi and tacho is MFSL.tacho_max" access="INDEX" offset="0x0.24" size="0x0.4" />
	<field name="tacho_hi" descr="Fan tachometer index high bits extension.\;Concatenated with tacho field, this makes up the complete index number." access="INDEX" offset="0x0.28" size="0x0.4" />
	<field name="rpm" descr="Fan speed (round per minute) calculated based on the time measurement between n fan pulses.\;Note that in order for the RPM to be correct, the n value should correspond to the number of tach pulses per rotation measured by the tachometer." access="RO" offset="0x4.0" size="0x0.16" />
</node>

<node name="mfsv_reg_ext" descr="" size="0x30.0" >
	<field name="efuses_prog_en" descr="When this bit is set, it indicates that it is allowed for the boot FW to program the FW security version related EFUSEs if needed. This bit is not relevant in case the FW operates in an automatically EFUSEs programming approach (set in the INI file). Once set to 1, this configuration will be relevant only for the upcoming boot, thus this configuration will be set back to 0 upon next boot.\;\;" access="RW" offset="0x0.0" size="0x0.1" />
	<field name="fw_sec_ver_stat" descr="Firmware security version status.0: EFUSEs value is equal to the currently running FW image value. No change is needed.1: EFUSEs value is smaller than the currently running FW image value. An update to the EFUSEs is required.2: There is pending image, MFSV is rejected\;3: Reserved\;\;" access="RO" offset="0x0.1" size="0x0.2" />
	<field name="efuses_prog_method" descr="EFUSEs programming method.0: manually. Upon boot, if FW indicates that FW_sec_ver_stat is 1 and only if EFUSEs_prog_en is 1, it will program the EFUSEs as needed.1: automatically. Upon boot, if FW indicates that FW_sec_ver_stat is 1, it will program the EFUSEs as needed.\;\;" access="RO" offset="0x0.3" size="0x0.1" />
	<field name="revoke_efuse_prog" descr="0: EFUSEs value is equal to the currently running FW image value. No change is needed. \;1: EFUSEs value is smaller than the currently running FW image value. An update to the EFUSEs is required. \;" access="RW" offset="0x0.4" size="0x0.1" />
	<field name="pending_efuse_prog" descr="0: No pending EFUSE programming command \;1: There is pending MFSV command \;\;" access="RO" offset="0x0.5" size="0x0.1" />
	<field name="dummy_ratchet_prog_en" descr="[Internal]\;Relevant only from CX8/QM3/ArcusE \;When this bit is set, device should increase dummy ratchet value (fuse_psc_reserved2_field_ratchet) \;\;In case that fuse_psc_reserved2_field_ratchet = 0xFFFF, return Fuse_failure = 2." access="RO" offset="0x0.6" size="0x0.1" />
	<field name="fuse_failure" descr="" access="RO" offset="0x0.8" size="0x0.2" />
	<field name="index" descr="Index\;0: NCORE FW\;1: PSC_BL1\;2: PSC_FW\;3: BCT\;4: reserved2_field_ratchet\;5-15: Reserved" access="INDEX" offset="0x0.16" size="0x0.4" />
	<field name="img_sec_ver" descr="Image security version value" access="RO" offset="0x4.0" size="0x4.0" />
	<field name="efuses_sec_ver" descr="EFUSEs security version value" access="RO" offset="0x8.0" size="0x4.0" />
</node>

<node name="mgcr_reg_ext" descr="" size="0x20.0" >
	<field name="segment" descr="The GPIO segment which the command&apos;s parameters apply" access="INDEX" offset="0x0.0" size="0x0.8" />
	<field name="segments_count" descr="Ceiling function of total number of GPIOs / 32 in the system." access="RO" offset="0x0.8" size="0x0.8" />
	<field name="GPIO_data_in" descr="Input value of accessible GPIO[i] signals.\;When GPIO_access_en[i] = 0, GPIO_data_in[i] always returns 0" access="RO" offset="0x4.0" size="0x4.0" />
	<field name="GPIO_data_out" descr="Output value of accessible GPIO signals.\;When GPIO_access_en[i] = 0, GPIO_data_out[i] always returns 0" access="RO" offset="0x8.0" size="0x4.0" />
	<field name="GPIO_set" descr="These 2 fields are used together to control GPIO signals in the following manner:\;GPIO_set[i]=0, GPIO_clear[i]=0 : GPIO_data_out[i] = No Change\;GPIO_set[i]=0, GPIO_clear[i]=1 : GPIO_data_out[i] = 0\;GPIO_set[i]=1, GPIO_clear[i]=0 : GPIO_data_out[i] = 1\;GPIO_set[i]=1, GPIO_clear[i]=1 : GPIO_data_out[i] = not(GPIO_data_out[i])\;Ignored for non-controllable GPIO signals." access="WO" offset="0xC.0" size="0x4.0" />
	<field name="GPIO_clear" descr="These 2 fields are used together to control GPIO signals in the following manner:\;GPIO_set[i]=0, GPIO_clear[i]=0 : GPIO_data_out[i] = No Change\;GPIO_set[i]=0, GPIO_clear[i]=1 : GPIO_data_out[i] = 0\;GPIO_set[i]=1, GPIO_clear[i]=0 : GPIO_data_out[i] = 1\;GPIO_set[i]=1, GPIO_clear[i]=1 : GPIO_data_out[i] = not(GPIO_data_out[i])\;Ignored for non-controllable GPIO signals." access="WO" offset="0x10.0" size="0x4.0" />
	<field name="GPIO_access_en" descr="Access allowance to the corresponding GPIO signal.\;0: GPIO[i] is not observable / controllable by the host SW.\;1: GPIO[i] is observable / controllable by the host SW." access="RO" offset="0x14.0" size="0x4.0" />
	<field name="direction" descr="0: GPIO[i] is an input only signal\;1: GPIO[i] is an output signal. Data out can be updates by the host SW and data in can be queried by the host SW.\;For non-accessible GPIOs, the corresponding value is 0." access="RO" offset="0x18.0" size="0x4.0" />
	<field name="drive_type" descr="0: GPIO[i] is an open drain output. The device can only drive the GPIO[i] output pin low when GPIO_data_out[i] is 0. When GPIO_data_out[i] is 1, GPIO[i] is in HighZ. \;1: GPIO[i] is a full-drive output pin\;When GPIO_access_en[i] =0, direction[i] and drive_type[i] are always read as 0." access="RO" offset="0x1C.0" size="0x4.0" />
</node>

<node name="mgir_dev_info_ext" descr="" size="0x1c.0" >
	<field name="dev_branch_tag" descr="The format of the string represented by ASCII." access="RO" high_bound="27" low_bound="0" offset="0x0.24" size="0x1c.0" />
</node>

<node name="mgir_ext" descr="" size="0xa0.0" >
	<field name="hw_info" descr="Hardware Information, see Table 696, &quot;Hardware Info Layout,&quot; on page 1206" subnode="mgir_hardware_info_ext" access="RW" offset="0x0.0" size="0x20.0" />
	<field name="fw_info" descr="Firmware Information, see Table 699, &quot;Firmware Info Layout,&quot; on page 1210" subnode="mgir_fw_info_ext" access="RW" offset="0x20.0" size="0x40.0" />
	<field name="sw_info" descr="Software Information, see Table 701, &quot;Software Info Layout,&quot; on page 1213\;This field indicates the oldest software version compatible with the current firmware" subnode="mgir_sw_info_ext" access="RW" offset="0x60.0" size="0x20.0" />
	<field name="dev_info" descr="Development Information, see Table 705, &quot;Development Info Layout,&quot; on page 1217" subnode="mgir_dev_info_ext" access="RW" offset="0x80.0" size="0x1c.0" />
</node>

<node name="mgir_fw_info_ext" descr="" size="0x40.0" >
	<field name="sub_minor" descr="Sub-minor firmware version number.\;Deprecated and returns &apos;0&apos;. \;Refer to extended_sub_minor." access="RO" offset="0x0.0" size="0x0.8" />
	<field name="minor" descr="Minor firmware version number.\;Deprecated and returns &apos;0&apos;. \;Refer to extended_minor." access="RO" offset="0x0.8" size="0x0.8" />
	<field name="major" descr="Major firmware version number.\;Deprecated and returns &apos;0&apos;. \;Refer to extended_major." access="RO" offset="0x0.16" size="0x0.8" />
	<field name="secured" descr="When set, the device is running firmware with secure-firmware updates capabilities." access="RO" offset="0x0.24" size="0x0.1" />
	<field name="signed_fw" descr="When set the device is running a signed FW binaries." access="RO" offset="0x0.25" size="0x0.1" />
	<field name="debug" descr="When set, the device is running a debug firmware. &apos;debug&apos; binary can only be installed on specific devices (identified by their &apos;Factory base MAC&apos;), which currently run a specific firmware version. These restrictions are expressed by a signed &apos;debug&apos; token that must be loaded to the device before installing the debug binary." access="RO" offset="0x0.26" size="0x0.1" />
	<field name="dev" descr="*NOTE* this field has diff meaning for Switch vs. NIC \;\;\;Switch &amp; Retimer:\;The device is running:\;0: regular FW branch\;1: development branch" access="RO" offset="0x0.27" size="0x0.1" />
	<field name="string_tlv" descr="When set, string-TLV is supported.\;For Retimer - always return 0 (not supported)." access="RO" offset="0x0.28" size="0x0.1" />
	<field name="dev_sc" descr="*NOTE* for NICs same as dev field\;Development-secure:\;The device is running:\;0: a regular-secure firmware version\;1: a development-secure firmware version" access="RO" offset="0x0.30" size="0x0.1" />
	<field name="build_id" descr="Firmware Build ID. Optional. \;Note: Deprecated for switches and returns &apos;0&apos;." access="RO" offset="0x4.0" size="0x4.0" />
	<field name="year" descr="Firmware installation date. \;\;For example: 3 May 2004 will be coded as Month= 0x05, Day= 0x03, and Year= 0x04" access="RO" offset="0x8.0" size="0x0.16" />
	<field name="day" descr="Firmware installation date. \;\;For example: 3 May 2004 will be coded as Month= 0x05, Day= 0x03, and Year= 0x04" access="RO" offset="0x8.16" size="0x0.8" />
	<field name="month" descr="Firmware installation date. \;\;For example: 3 May 2004 will be coded as Month= 0x05, Day= 0x03, and Year= 0x04" access="RO" offset="0x8.24" size="0x0.8" />
	<field name="hour" descr="Firmware installation hour.\;For example 17:43 will be coded as 0x1743" access="RO" offset="0xC.0" size="0x0.16" />
	<field name="BKV_sub_minor" descr="Best Known Values (BKV) version for uPHY." access="RO" offset="0xC.16" size="0x0.4" />
	<field name="BKV_minor" descr="Best Known Values (BKV) version for uPHY." access="RO" offset="0xC.20" size="0x0.4" />
	<field name="BKV_major" descr="Best Known Values (BKV) version for uPHY." access="RO" offset="0xC.24" size="0x0.4" />
	<field name="psid" descr="FW PSID" access="RO" high_bound="15" low_bound="0" offset="0x10.24" size="0x10.0" />
	<field name="ini_file_version" descr="User-configured version number of the current INI file." access="RO" offset="0x20.0" size="0x4.0" />
	<field name="extended_major" descr="FW version&apos;s Major field in extended (32b) format." access="RO" offset="0x24.0" size="0x4.0" />
	<field name="extended_minor" descr="FW version&apos;s Minor field in extended (32b) format." access="RO" offset="0x28.0" size="0x4.0" />
	<field name="extended_sub_minor" descr="FW version&apos;s SubMinor field in extended (32b) format." access="RO" offset="0x2C.0" size="0x4.0" />
	<field name="isfu_major" descr="incremented by one when version is not ISSUable" access="RO" offset="0x30.0" size="0x0.16" />
	<field name="disabled_tiles_bitmap" descr="Bitmap representing the disabled tiles in the ASIC. Tile &apos;0&apos; is represented by the msb bit. \;0: tile is enabled\;1: tile is disabled\;\;The total number of tiles can be derived through MGPIR register." access="RO" offset="0x30.16" size="0x0.16" />
	<field name="life_cycle" descr="Note: has also msb bits in life_cycle_msb. Following values are a combination of both fields.\;0: Production\;1: GA Secured\;2: GA Non-Secured\;3: RMA\;4: Pre Production\;" access="RO" offset="0x34.0" size="0x0.2" />
	<field name="sec_boot" descr="0: Disable\;1: Enable" access="RO" offset="0x34.2" size="0x0.1" />
	<field name="encryption" descr="0: Disable\;1: Enable" access="RO" offset="0x34.3" size="0x0.1" />
	<field name="life_cycle_msb" descr="[DWIP]\;MSB of the life cycle.\;Supported in QM3, CX8 and on.\;See life_cycle field for full value descriptions." access="RO" offset="0x34.4" size="0x0.3" />
	<field name="dev_state" descr="0: device is in prod mode\;1: device is in dev mode" access="RO" offset="0x34.11" size="0x0.1" />
	<field name="issu_able" descr="[DWIP]\;ISSU-able:\;0: not ISSUable\;1: ISSUable\;Supported from Quantum-3 and on\;Supported for Retimers\;Based on FW decisions: fuse, INI, NV and version on flash vs. running version" access="RO" offset="0x34.13" size="0x0.1" />
	<field name="pds" descr="[DWIP]\;0: PSC is not PDS mode\;1: PSC in PDS mode\;Supported in QM3,CX8 and on." access="RO" offset="0x34.14" size="0x0.1" />
	<field name="dev_counter" descr="Counter indication of dev fuse value" access="RO" offset="0x34.16" size="0x0.5" />
</node>

<node name="mgir_hardware_info_ext" descr="" size="0x20.0" >
	<field name="device_id" descr="PCI device ID. For specific device IDs, see Table 5, &quot;Switch Supported PCI Device IDs,&quot; on page 432" access="RO" offset="0x0.0" size="0x0.16" />
	<field name="device_hw_revision" descr="See Table 698, &quot;Device HW Revision Descriptions,&quot; on page 1209" access="RO" offset="0x0.16" size="0x0.16" />
	<field name="pvs" descr="Process Voltage Scaling\;Supported nominal V_CORE voltage (in 50mV units) for the device." access="RO" offset="0x4.0" size="0x0.5" />
	<field name="technology" descr="Process technology\;0: N/A\;1: 40nm\;2: 28nm\;3: 16nm\;4: 7nm\;5: 5nm\;6: 3nm\;7-31: Reserved" access="RO" offset="0x4.11" size="0x0.5" />
	<field name="num_ports" descr="Number of ports the device supports." access="RO" offset="0x4.16" size="0x0.12" />
	<field name="hw_dev_id" descr="The PCI device-ID of the NIC/HCA in recovery (Livefish) mode." access="RO" offset="0x8.0" size="0x0.16" />
	<field name="module_master_fw_default" descr="Module Master FW Default\;0: FW is in control over modules management by default\;1: SW is in control over modules management by default\;2: Standalone ASIC (no I2C connectivity).\; Note: Relevant only for Spectrum-3 and above" access="RO" offset="0xC.16" size="0x0.2" />
	<field name="cpo_indication" descr="[DWIP][switch_internal] \;When set, this bit indicate this is CPO system" access="RO" offset="0xC.27" size="0x0.1" />
	<field name="ga_valid" descr="GA Valid bit\;0: MGIR.HW Info.ga is reserved\;1: MGIR.HW Info.ga is valid\;\;Supported in CX7, QM3 and on." access="RO" offset="0xC.28" size="0x0.1" />
	<field name="development" descr="[DWIP]\;The device is running:\;0: a regular-secure firmware version\;1: a development-secure firmware version\;\;Supported in QM3,CX8 and on." access="RO" offset="0xC.30" size="0x0.1" />
	<field name="manufacturing_base_mac_47_32" descr="MSB of the &quot;base&quot; MAC address of the NIC that was allocate during manufacturing. The NIC derives the MAC addresses for the different PCI PFs from this MAC address. This parameter can be used as a canonical unique identifier of the NIC.\;manufacturing_base_mac of value 0 means field is not supported." access="RO" offset="0x10.0" size="0x0.16" />
	<field name="ga" descr="[DWIP]\;Geographical Address\;0: ASIC 0\;1: ASIC 1\;2: ASIC 2\;3: ASIC 3\;Valid for multi ASIC platforms only\;\;." access="RO" offset="0x10.16" size="0x0.6" />
	<field name="chip_type" descr="[DWIP]\;Chip Type\;0: Real chip\;1: Emulation\;2: ChipSim\;3: SimX \;Supported from Quantum-3 and ArcusE" access="RO" offset="0x10.24" size="0x0.4" />
	<field name="manufacturing_base_mac_31_0" descr="LSB of the &quot;base&quot; MAC address of the NIC that was allocate during manufacturing. The NIC derives the MAC addresses for the different PCI PFs from this MAC address. This parameter can be used as a canonical unique identifier of the NIC.\;manufacturing_base_mac of value 0 means field is not supported." access="RO" offset="0x14.0" size="0x4.0" />
	<field name="device_ticks_per_msec" descr="Device Ticks per msec\;Reserved when chip_type = Real chip (0)" access="RO" offset="0x18.0" size="0x4.0" />
	<field name="uptime" descr="Time (in secs.) since last reset0" access="RO" offset="0x1C.0" size="0x4.0" />
</node>

<node name="mgir_sw_info_ext" descr="" size="0x20.0" >
	<field name="sub_minor" descr="Sub-minor Driver version number.\;" access="RO" offset="0x0.0" size="0x0.8" />
	<field name="minor" descr="Minor Driver version number.\;" access="RO" offset="0x0.8" size="0x0.8" />
	<field name="major" descr="Major Driver version number.\;" access="RO" offset="0x0.16" size="0x0.8" />
	<field name="rom3_type" descr="ROM 3 type:\;0x0: none\;0x1: Flexboot\;0x2: UEFI\;0x3: UEFI-CLP\;0x4: NVME\;0x5: FCODE\;0x6: UEFI Virtio net\;0x7: UEFI Virtio blk\;0x8: PXE Virtio net\;0x9-0xF: Reserved" access="RO" offset="0x4.0" size="0x0.4" />
	<field name="rom3_arch" descr="Arch type of ROM 3:\;0x0: unspecified\;0x1: AMD64 - x86 64bit architecture\;0x2: AARCH64 - ARM Architecture 64 bits\;0x3: AMD64_AARCH64 - ROM code supporting both AMD64 and AARCH64 architectures\;0x4: IA32 - Intel Architecture 32 bits" access="RO" offset="0x4.4" size="0x0.4" />
	<field name="rom2_type" descr="ROM 2type:\;0x0: none\;0x1: Flexboot\;0x2: UEFI\;0x3: UEFI-CLP\;0x4: NVME\;0x5: FCODE\;0x6: UEFI Virtio net\;0x7: UEFI Virtio blk\;0x8: PXE Virtio net\;0x9-0xF: Reserved" access="RO" offset="0x4.8" size="0x0.4" />
	<field name="rom2_arch" descr="Arch type of ROM 2:\;0x0: unspecified\;0x1: AMD64 - x86 64bit architecture\;0x2: AARCH64 - ARM Architecture 64 bits\;0x3: AMD64_AARCH64 - ROM code supporting both AMD64 and AARCH64 architectures\;0x4: IA32 - Intel Architecture 32 bits" access="RO" offset="0x4.12" size="0x0.4" />
	<field name="rom1_type" descr="ROM 1type:\;0x0: none\;0x1: Flexboot\;0x2: UEFI\;0x3: UEFI-CLP\;0x4: NVME\;0x5: FCODE\;0x6: UEFI Virtio net\;0x7: UEFI Virtio blk\;0x8: PXE Virtio net\;0x9-0xF: Reserved" access="RO" offset="0x4.16" size="0x0.4" />
	<field name="rom1_arch" descr="Arch type of ROM 1:\;0x0: unspecified\;0x1: AMD64 - x86 64bit architecture\;0x2: AARCH64 - ARM Architecture 64 bits\;0x3: AMD64_AARCH64 - ROM code supporting both AMD64 and AARCH64 architectures\;0x4: IA32 - Intel Architecture 32 bits" access="RO" offset="0x4.20" size="0x0.4" />
	<field name="rom0_type" descr="ROM 0 type:\;0x0: none\;0x1: Flexboot\;0x2: UEFI\;0x3: UEFI-CLP\;0x4: NVME\;0x5: FCODE\;0x6: UEFI Virtio net\;0x7: UEFI Virtio blk\;0x8: PXE Virtio net\;0x9-0xF: Reserved" access="RO" offset="0x4.24" size="0x0.4" />
	<field name="rom0_arch" descr="Arch type of ROM 0:\;0x0: unspecified\;0x1: AMD64 - x86 64bit architecture\;0x2: AARCH64 - ARM Architecture 64 bits\;0x3: AMD64_AARCH64 - ROM code supporting both AMD64 and AARCH64 architectures\;0x4: IA32 - Intel Architecture 32 bits" access="RO" offset="0x4.28" size="0x0.4" />
	<field name="rom0_version" descr="ROM 0 version." subnode="rom_version_ext" access="RO" offset="0x8.0" size="0x4.0" />
	<field name="rom1_version" descr="ROM 1 version." subnode="rom_version_ext" access="RO" offset="0xC.0" size="0x4.0" />
	<field name="rom2_version" descr="ROM 2version." subnode="rom_version_ext" access="RO" offset="0x10.0" size="0x4.0" />
	<field name="rom3_version" descr="ROM 3 version." subnode="rom_version_ext" access="RO" offset="0x14.0" size="0x4.0" />
</node>

<node name="mgnle_reg_ext" descr="" size="0x20.0" >
	<field name="le_pointer" descr="Pointer to the log entry (see description above for more information)\;" access="INDEX" offset="0x0.0" size="0x4.0" />
	<field name="clr" descr="Clears the log entry after read.\;\;Supported only if MCAM.mng_feature_cap_mask bit 60 is set." access="OP" offset="0x4.0" size="0x0.1" />
	<field name="lost_events" descr="The number of events that the system failed to log since the previous log entry.\;15 should be interpreted as &apos;15 or more events were lost&apos;" access="RO" offset="0x4.24" size="0x0.4" />
	<field name="synced_time" descr="0x0: Boot - time is measured since NIC bootup.\;0x1: Synced - time was synced by the host." access="RO" offset="0x4.31" size="0x0.1" />
	<field name="time_h" descr="The 32 MSB of the 64bit timestamp.  In microseconds\;When &quot;time_synced&quot; bit is set this is the time passed since the 1/1/1970 epoch.\;When &quot;time_synced&quot; is cleared this is the NIC uptime." access="RO" offset="0x8.0" size="0x4.0" />
	<field name="time_l" descr="The 32 LSB of the 64bit timestamp.  In microseconds" access="RO" offset="0xC.0" size="0x4.0" />
	<field name="configuration_item_header" descr="" subnode="config_item_ext" access="RO" offset="0x10.0" size="0xc.0" />
	<field name="log_data" descr="The logged data. Format is  different per the according to the log type." access="RO" arr_is_dynamic="1" high_bound="VARIABLE" low_bound="0" offset="0x1C.0" size="0x4.0" size_condition="$(parent).configuration_item_header.length" />
</node>

<node name="mgpc_ext" descr="" size="0x18.0" >
	<field name="counter_index" descr="counter index\;For Spectrum: see Section 5.2, &quot;Flow Counters&quot;, on page 1404\;Range 0 .. cap_shared_counter_pool_size - 1" access="INDEX" offset="0x0.0" size="0x0.24" />
	<field name="counter_set_type" descr="Counter Set Type\;For Spectrum: See Section 5.2.2, &quot;Counter Set Type&quot;, on page 1405" access="OP" offset="0x0.24" size="0x0.8" />
	<field name="opcode" descr="0: NOPE\;1: SET - valid only on Write operation. \;2: FLUSH - when counter set is un-bound, flush ensures counters will not be updated due to packets in the pipe. Valid only on Write operation\;8: CLEAR - setting the clr bit will reset the counter value for all counters of the specified counter set and return their values.\;" access="OP" enum="NOPE=0x0,SET=0x1,FLUSH=0x2,CLEAR=0x8" offset="0x4.28" size="0x0.4" />
	<field name="byte_counter" descr="Byte counter value" subnode="uint64" access="RW" offset="0x8.0" size="0x8.0" />
	<field name="packet_counter" descr="Packet counter value\;Spectrum HW has 58bits for packet counters" subnode="uint64" access="RW" offset="0x10.0" size="0x8.0" />
</node>

<node name="mgpcb_ext" descr="" size="0x410.0" >
	<field name="counter_index_base" descr="Counter Index base\;Range 0..cap_shared_counter_pool_size - 1\;Supported only for counter_set_type = 0x3 Packets and Byte" access="OP" offset="0x0.0" size="0x0.24" />
	<field name="num_rec" descr="Number of valid records\;Range 1..64" access="OP" offset="0x4.0" size="0x0.8" />
	<field name="opcode" descr="0: Nop - Nop\;8: Clear - clear on read counter in the counter set" access="OP" enum="Nop=0x0,Clear=0x8" offset="0x8.0" size="0x0.4" />
	<field name="record" descr="See Table 1176, &quot;MGPCB - record Layout,&quot; on page 1654\;" subnode="mgpcb_record_ext" access="RW" high_bound="63" low_bound="0" offset="0x10.0" size="0x400.0" />
</node>

<node name="mgpcb_record_ext" descr="" size="0x10.0" >
	<field name="byte_counter" descr="Bytes counter value" subnode="uint64" access="RO" offset="0x0.0" size="0x8.0" />
	<field name="packet_counter" descr="Packets counter value" subnode="uint64" access="RO" offset="0x8.0" size="0x8.0" />
</node>

<node name="mgpir_ext" descr="" size="0xa0.0" >
	<field name="hw_info" descr="Hardware Information, see Table 589, &quot;Hardware Info Layout,&quot; on page 1111" subnode="mgpir_hw_info_ext" access="RW" offset="0x0.0" size="0x20.0" />
</node>

<node name="mgpir_hw_info_ext" descr="" size="0x20.0" >
	<field name="num_of_devices" descr="Number of devices of device_type. \;" access="RO" offset="0x0.0" size="0x0.8" />
	<field name="num_of_modules_per_system" descr="Total number of modules within the specific ASIC.\;\;Note: \;For multi ASIC platforms, this field will provide the total number of modules for all ASICs combined together.\;For single ASIC platforms, the value will be the same as numfer_of_modules\;For QM-3 CPO (Taipan), return the total num of ELS and OE_MCU together. First indexes represent the OE and the higher indexes are assigned to ELS modules." access="RO" offset="0x0.8" size="0x0.8" />
	<field name="devices_per_flash" descr="Number of devices of device_type per flash. \;" access="RO" offset="0x0.16" size="0x0.8" />
	<field name="device_type" descr="Device type.\;0: No devices on system of that type.\;1: Gearbox \;2: Tiles\;3: No Info Available" access="RO" offset="0x0.24" size="0x0.4" />
	<field name="slot_index" descr="Slot index\;0: Main board" access="INDEX" offset="0x0.28" size="0x0.4" />
	<field name="num_of_modules" descr="Number of modules within the specific ASIC.\;" access="RO" offset="0x4.0" size="0x0.8" />
	<field name="num_of_slots" descr="Number of slots in the system. To eliminate receiving &apos;bad param&apos; status, the user should query that field with slot_index set to 0." access="RO" offset="0x4.8" size="0x0.8" />
	<field name="max_modules_per_slot" descr="Maximum number of modules that can be connected per slot. Includes internal and external modules." access="RO" offset="0x4.16" size="0x0.8" />
	<field name="num_of_resource_modules" descr="Num of Resource Modules. \;Value of 0xff..ff means not valid.\;" access="RO" offset="0x8.0" size="0x0.8" />
	<field name="total_num_of_module_i2c_bus" descr="Total number of module i2c bus" access="RO" offset="0x8.8" size="0x0.8" />
	<field name="num_lanes_per_sub_module" descr="Maximum lane count per submodule" access="RO" offset="0x8.16" size="0x0.4" />
	<field name="max_sub_modules_index" descr="The maximum submodule index.\;0: Only one submodule 3: Four submodules\;\;Other values are reserved" access="RO" offset="0x8.24" size="0x0.4" />
</node>

<node name="mhmpr_reg_ext" descr="" size="0x14.0" >
	<field name="upm" descr="&apos;0&apos; - if the ports are managed by host.\;&apos;1&apos; - if the ports are not managed by host" access="RW" offset="0x0.0" size="0x0.1" />
</node>

<node name="mhsr_ext" descr="" size="0x8.0" >
	<field name="health" descr="Software health state:\;0 - Failure\;1 - Reserved\;2 - Normal Operation\;3 - Boot / Init (default state)" access="WO" offset="0x0.0" size="0x0.4" />
</node>

<node name="mid" descr="" size="0x4.0" >
	<field name="mid" descr="" offset="0x0.0" size="0x0.16" />
</node>

<node name="midfv_reg_ext" descr="" size="0x80.0" >
	<field name="dev_branch_tag" descr="The format of the string represented by ASCII.\;" access="RO" high_bound="63" low_bound="0" offset="0x4.24" size="0x40.0" />
</node>

<node name="mini_bulk_module_i2c_mapping_ext" descr="" size="0x40.0" >
	<field name="module_gw_num" descr="Module I2C GW Id.\;if module is not supported (do not exist in the system) FW will return 0xff" access="RO" high_bound="63" low_bound="0" offset="0x0.24" size="0x40.0" />
</node>

<node name="mini_data_auto_ext" descr="" attr_is_union="1" size="0x40.0" >
	<field name="mini_bulk_module_i2c_mapping_ext" descr="" subnode="mini_bulk_module_i2c_mapping_ext" offset="0x0.0" selected_by="bulk_module_i2c_mapping" size="0x40.0" />
	<field name="mini_fused_out_ports_ext" descr="" subnode="mini_fused_out_ports_ext" offset="0x0.0" selected_by="fused_out_ports" size="0x40.0" />
	<field name="mini_module_i2c_mapping_ext" descr="" subnode="mini_module_i2c_mapping_ext" offset="0x0.0" selected_by="module_i2c_mapping" size="0x40.0" />
	<field name="mini_module_power_level_ext" descr="" subnode="mini_module_power_level_ext" offset="0x0.0" selected_by="module_power_level" size="0x4.0" />
</node>

<node name="mini_ext" descr="" size="0x50.0" >
	<field name="type" descr="Type:\;\;3: module_i2c_mapping\;4: module_power_level\;5: fused_out_ports\;7: bulk_module_i2c_mapping" access="INDEX" enum="module_i2c_mapping=0x3,module_power_level=0x4,fused_out_ports=0x5,bulk_module_i2c_mapping=0x7" offset="0x0.0" size="0x0.8" />
	<field name="index" descr="index\;Index depends on MINI.type \;\;For Type = 7, index is the first module number in the data field." access="INDEX" offset="0x0.16" size="0x0.16" />
	<field name="valid" descr="Valid:\;0: the relevant type is not supported by this Firmware version\;1: the relevant type is valid" access="RO" offset="0x4.0" size="0x0.1" />
	<field name="data" descr="This field takes meaning per type\;For module_i2c_mapping see Table  725, &quot;MINI type module_i2c_mapping Register Layout,&quot; on page  1228\;For module_power_level see Table  727, &quot;MINI type module_power_level Layout,&quot; on page  1229\;For disabled_ports see Table  729, &quot;MINI type fused_out_ports Layout,&quot; on page  1230\;For bulk_module_i2c_mapping see Table  731, &quot;MINI type bulk_module_i2c_mapping Layout,&quot; on page  1231" subnode="mini_data_auto_ext" access="RW" offset="0x10.0" size="0x40.0" union_selector="$(parent).type" />
</node>

<node name="mini_fused_out_ports_ext" descr="" size="0x40.0" >
	<field name="fused_out_ports_bitmap" descr="Bitmap for indicating which ports are being disabled\;For each bit\;0: Port is enabled\;1: Port is disabled\;" access="RO" high_bound="7" low_bound="0" offset="0x0.0" size="0x20.0" />
</node>

<node name="mini_module_i2c_mapping_ext" descr="" size="0x40.0" >
	<field name="module_gw_num" descr="Module I2C GW Id" access="RO" offset="0x0.0" size="0x0.8" />
</node>

<node name="mini_module_power_level_ext" descr="" size="0x4.0" >
	<field name="spl" descr="Supported Power Level\;Units of 0.25Watt\;0 = 0W\;1 = 0.25W\;2 = 0.5W\;3 = 0.75W\;and so on\;" access="RO" offset="0x0.0" size="0x0.8" />
</node>

<node name="mirc_reg_ext" descr="" size="0x8.0" >
	<field name="status_code" descr="Indicates the successful completion of the instruction, or the reason it failed. \;0x0: OK\;0x1: BUSY\;0x2: PROHIBITED_FW_VER_ERR\;0x3: FIRST_PAGE_COPY_FAILED\;0x4: FIRST_PAGE_ERASE_FAILED\;0x5: FIRST_PAGE_RESTORE_FAILED\;0x6: CANDIDATE_FW_DEACTIVATION_FAILED\;0x7: FW_ALREADY_ACTIVATED\;0x8: ERROR_DEVICE_RESET_REQUIRED\;0x9: ERROR_FW_PROGRAMMING_NEEDED\;Other values should be treated as an unknown error." access="RO" offset="0x0.0" size="0x0.8" />
</node>

<node name="missuv_ext" descr="" size="0x20.0" >
	<field name="valid" descr="Valid target version:\;0: not found a valid target version\;1: found a valid target version\;When &apos;0&apos; - all other fields are reserved" access="RO" offset="0x0.24" size="0x0.1" />
	<field name="target_major" descr="Target FW version&apos;s Major field in extended (32b) format." access="RO" offset="0x10.0" size="0x4.0" />
	<field name="target_minor" descr="Target FW version&apos;s Minor field in extended (32b) format." access="RO" offset="0x14.0" size="0x4.0" />
	<field name="target_sub_minor" descr="Target FW version&apos;s SubMinor field in extended (32b) format." access="RO" offset="0x18.0" size="0x4.0" />
	<field name="target_issu_minor" descr="Target ISSU Minor version" access="RO" offset="0x1C.0" size="0x0.16" />
	<field name="target_issu_major" descr="Target ISSU Major version (compare to MGIR.isfu_major)" access="RO" offset="0x1C.16" size="0x0.16" />
</node>

<node name="mjtag_ext" descr="" size="0x30.0" >
	<field name="size" descr="Size of operation - relevant for JTAG interface access commands only, indicating the number of transaction bytes to execute. Maximum size supported is 40.\;Note: when size=0, no operation is performed (clock is not toggled). The tdo is sampled and provided in the response at jtag_transaction_set_0." access="WO" offset="0x0.0" size="0x0.8" />
	<field name="sequence_number" descr="Command sequence number - to prevent re-execution of the same command due to command retransmission, this command includes a sequence number.\;The enable and disable commands MUST be issues with sequence_number = 0 while any JTAG access command must increase the sequence_number by 1 (the first JTAG access command should start at sequence_number = 1)." access="WO" offset="0x0.24" size="0x0.4" />
	<field name="cmd" descr="Command\;0 - JTAG interface disable - JTAG interface is disabled\;1 - JTAG interface enable - enabling JTAG interface\;2 - JTAG interface access" access="RW" offset="0x0.30" size="0x0.2" />
	<field name="jtag_transaction_set" descr="See Table 497, &quot;JTAG Transaction Set Byte Layout,&quot; on page 1041" access="RW" high_bound="43" low_bound="0" offset="0x4.24" size="0x2c.0" />
</node>

<node name="mkdc_reg_ext" descr="" size="0x2c.0" >
	<field name="error_code" descr="Indicates the successful completion of the instruction or the reason it failed:\;0: OK\;1: BAD_SESSION_ID\;2: BAD_KEEP_ALIVE_COUNTER\;3: BAD_SOURCE_ADDRESS\;4: SESSION_TIMEOUT\;Other values are Reserved." access="RO" enum="OK=0x0,BAD_SESSION_ID=0x1,BAD_KEEP_ALIVE_COUNTER=0x2,BAD_SOURCE_ADDRESS=0x3,SESSION_TIMEOUT=0x4" offset="0x0.0" size="0x0.4" />
	<field name="session_id" descr="Unique debug session identifier." access="INDEX" offset="0x0.16" size="0x0.16" />
	<field name="current_keep_alive_counter" descr="Running counter that states the current sequence number of each keep-alive session." access="INDEX" offset="0x4.0" size="0x4.0" />
	<field name="next_keep_alive_counter" descr="Running counter that states the expected next sequence number of each keep-alive session." access="RO" offset="0x8.0" size="0x4.0" />
</node>

<node name="mlcr_ext" descr="" size="0xc.0" >
	<field name="led_type" descr="Led type (only supported when cap_local_or_uid_only==1.)\;0: LOCALP_AND_UID - not supported\;1: UID \;2: LOCALP - local port\;3: ELS - [Switch Only]" access="INDEX" enum="LOCALP_AND_UID=0x0,UID=0x1,LOCALP=0x2,ELS=0x3" offset="0x0.0" size="0x0.4" />
	<field name="cap_local_or_uid_only" descr="If set, led_type of type UID and LOCAL Port only are supported." access="RO" offset="0x0.4" size="0x0.1" />
	<field name="operation_cap" descr="If set to &apos;1&apos;, operation field is supported." access="RO" offset="0x0.5" size="0x0.1" />
	<field name="els_led_num" descr="ELS number\;Valid only when led_type = ELS (3)" access="INDEX" offset="0x0.6" size="0x0.6" />
	<field name="operation" descr="0: Controlled by HW / Beacon\;1: LED on - \;LED Scheme #1: PHY LED amber on, Logic LED off\;LED Scheme #2: PHY LED amber on, Logic LED Green On\;2: LED off - PHY and Logic LEDs are off\;Others: Reserved" access="RW" offset="0x0.12" size="0x0.4" />
	<field name="local_port" descr="Local port number\;Not supported for CPU port\;Valid only when led_type = LOCALP (2)" access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="lp_msb" descr="2-bit expansion of the local port. Represents the local_port[9:8] bits\;Valid only when led_type = LOCALP (2)" access="INDEX" offset="0x0.24" size="0x0.2" />
	<field name="beacon_duration" descr="Duration of the beacon to be active, units of seconds\;The value of 0x0 will turn off the beacon\;The value of 0xffff will set the beacon to infinity" access="RW" offset="0x4.0" size="0x0.16" />
	<field name="beacon_remain" descr="Remaining duration of the beacon, units of seconds\;The value of 0xffff means infinity" access="RO" offset="0x8.0" size="0x0.16" />
</node>

<node name="mmdio_ext" descr="" size="0xc.0" >
	<field name="operation" descr="0 - NOP\;1 - Address (reserved for Clause 22)\;2 - Read\;3 - Write\;4 - Post Read Increment Address (reserved for Clause 22)\;6 - Address + Read - Generates Address cycle and then Read cycle in Clause 45 (reserved for Clause 22)\;7 - Address + Write - Generates Address cycle and then Write cycle in Clause 45 (reserved for Clause 22)" access="WO" offset="0x0.0" size="0x0.3" />
	<field name="clause" descr="MDIO Definition:\;0 - Clause 22\;1 - Clause 45" access="WO" offset="0x0.8" size="0x0.2" />
	<field name="mdio_index" descr="Selection of the MDIO interface" access="INDEX" offset="0x0.16" size="0x0.4" />
	<field name="reg_adr" descr="Reg Address (Clause 22) / Dev Type (Clause 45)" access="RW" offset="0x4.0" size="0x0.5" />
	<field name="phy_adr" descr="PHY Address (PHYAD)" access="RW" offset="0x4.8" size="0x0.5" />
	<field name="data" descr="Data (Clause 22) / Address/Data (Clause 45)" access="RW" offset="0x8.0" size="0x0.16" />
	<field name="address" descr="Address (Clause 45)\;This field is only valid for Address + Read and Address + Write operations, providing the address. For other Clause 45 operations the data field provides the address when appropriate." access="RW" offset="0x8.16" size="0x0.16" />
</node>

<node name="mmgcr_ext" descr="" size="0x48.0" >
	<field name="device_uid" descr="Device UID.\;Default value is 0.\;This field will configure the mirror_device_uid TLV for the mirror header - Table 990, &quot;ETH-ERSPAN Mirror Header TLV MIRROR_DEVICE_UID Frame Fields,&quot; on page 1458" access="RW" offset="0x0.0" size="0x0.24" />
	<field name="elig_ip_len_en" descr="Eligibility test for IP packet length.\;Non-IP packets are not eligible.\;\;Supported by Spectrum-5 onwards." access="RW" offset="0xC.0" size="0x0.1" />
	<field name="elig_cbset_10_en" descr="[Spectrum-6]\;Eligibility test for Custom Byte Set 10 ([21:20]).\;\;Supported by Spectrum-6 onwards." access="RW" offset="0xC.1" size="0x0.1" />
	<field name="elig_cbset_11_en" descr="Eligibility test for Custom Byte Set 11 ([23:22]).\;\;Supported by Spectrum-5 onwards." access="RW" offset="0xC.2" size="0x0.1" />
	<field name="elig_bth_en" descr="Eligibility test for packets with BTH.\;When unset, BTH eligibility tests are skipped - packets with or without BTH pass.\;\;Supported by Spectrum-5 onwards." access="RW" offset="0xC.3" size="0x0.1" />
	<field name="elig_dscp_en" descr="[Spectrum-6]\;Eligibility test for DSCP.\;Non-IP packets are not eligible.\;\;Supported by Spectrum-6 onwards." access="RW" offset="0xC.4" size="0x0.1" />
	<field name="elig_mask" descr="If set on Write, update eligibility parameters.\;\;Reserved on Query.\;Supported by Spectrum-5 onwards." access="WO" offset="0xC.31" size="0x0.1" />
	<field name="elig_ip_min_size" descr="Eligible minimum IP packet length. Packets with length greater than the minimum set are eligible. Mirroring or trimming for payloads equal or shorter to the set minimum length will be disabled.\;\;For IPv4 packets the total length is taken.\;For IPv6 packets the payload length is taken.\;\;Reserved when elig_ip_len_en=0.\;Supported by Spectrum-5 onwards." access="RW" offset="0x14.0" size="0x0.16" />
	<field name="elig_cbset_10_mask" descr="[Spectrum-6]\;Custom Byte Set 10 ([21:20]) mask.\;\;Reserved when elig_cbset_10_en=0.\;Supported by Spectrum-6 onwards." access="RW" offset="0x18.0" size="0x0.16" />
	<field name="elig_cbset_10" descr="[Spectrum-6]\;Custom Byte Set 10 ([21:20]) eligible value.\;Value to compare masked Custom Byte Set 10 with.\;\;Reserved when elig_cbset_10_en=0.\;Supported by Spectrum-6 onwards." access="RW" offset="0x18.16" size="0x0.16" />
	<field name="elig_cbset_11_mask" descr="Custom Byte Set 11 ([23:22]) mask.\;\;Reserved when elig_cbset_11_en=0.\;Supported by Spectrum-5 onwards." access="RW" offset="0x1C.0" size="0x0.16" />
	<field name="elig_cbset_11" descr="Custom Byte Set 11 ([23:22]) eligible value.\;Value to compare masked Custom Byte Set 11 with.\;\;Spectrum-5: CBSET 11 is all 0 if it is not valid.\;\;Reserved when elig_cbset_11_en=0.\;Supported by Spectrum-5 onwards." access="RW" offset="0x1C.16" size="0x0.16" />
	<field name="elig_bth_opcode_bitmap" descr="Eligible BTH opcodes when the packet is BTH. Represented as bitmap. Set opcodes are eligible.\;\;Reserved when elig_bth_en=0.\;Supported by Spectrum-5 onwards." access="RW" high_bound="7" low_bound="0" offset="0x20.0" size="0x20.0" />
	<field name="elig_dscp_bitmap" descr="[Spectrum-6]\;Eligible DSCPs in an IP packet. Represented as bitmap. Set values are eligible.\;Non-IP packets are not eligible.\;\;Reserved when elig_dscp_en=0.\;Supported by Spectrum-6 onwards." subnode="uint64" access="RW" offset="0x40.0" size="0x8.0" />
</node>

<node name="mmta_reg_ext" descr="" size="0x90.0" >
	<field name="module" descr="module number" access="INDEX" offset="0x0.0" size="0x0.8" />
	<field name="supported_measurements" descr="Supported measurements bit mask\;0: Temperature - ELS\;1: TEC Power\;2: Second Temperature - Optical Engines. Other are reserved" access="RO" offset="0x0.24" size="0x0.4" />
	<field name="module_name_hi" descr="8 characters long module name" access="RO" offset="0x4.0" size="0x4.0" />
	<field name="module_name_lo" descr="8 characters long module name" access="RO" offset="0x8.0" size="0x4.0" />
	<field name="module_temperature" descr="Temperature, see Table 541, &quot;Module Temperature Layout,&quot; on page 1079" subnode="mmta_temprature_ext" access="RW" offset="0xC.0" size="0x18.0" />
	<field name="module_tec_power" descr="TEC Power, see Table 543, &quot;Module TEC Power Layout,&quot; on page 1081" subnode="mmta_tec_power_ext" access="RW" offset="0x24.0" size="0x20.0" />
	<field name="module_second_temperature" descr="Second Temperature, see Table 541, &quot;Module Temperature Layout,&quot; on page 1079.\;Note: When there is more than one Optical Engine:\;1) The &quot;temperature&quot; field shall be populated by the highest of the current OE temperatures.\;2) The &quot;max_temperature&quot; field shall be populated by the highest of any temperatures that had been measured, over all OEs.\;" subnode="mmta_temprature_ext" access="RW" offset="0x44.0" size="0x18.0" />
</node>

<node name="mmta_tec_power_ext" descr="" size="0x20.0" >
	<field name="cooling_level" descr="The required cooling level based on TEC power and Set Point.\;Cooling Level units are % i.e percentage.\;0% (no need to cool down) to 100% (max cooling resource, e.g fan, to cool down the module).\;" access="RO" offset="0x0.0" size="0x0.16" />
	<field name="temp_unit" descr="Temperature measurement units\;0: units of 0.125 Celsius degrees\;1: units of 1/256 Celsius degrees\;\;For negative values 2&apos;s complement is used\;" access="INDEX" offset="0x0.29" size="0x0.1" />
	<field name="mtpr" descr="Max TEC Power Reset:\;0: do not modify the value of the max temperature register\;1: clear the value of the max TEC Power and max Setpoint register" access="OP" offset="0x0.30" size="0x0.1" />
	<field name="mtpe" descr="Max TEC Power Enable:\;0: disable measuring the max TEC Power and set point on a module\;1: enables measuring the max TEC Power and set point on a module" access="RW" offset="0x0.31" size="0x0.1" />
	<field name="tec_power" descr="TEC power reading from the module. Units of 1mW." access="RO" offset="0x4.0" size="0x0.16" />
	<field name="max_tec_power" descr="The highest measured TEC power from the module.\;Reserved when mtece = 0\;Cleared by mtecr = 1" access="RO" offset="0x4.16" size="0x0.16" />
	<field name="tec_power_warning_low" descr="Refers to module TEC Power low warning threshold. Units of 1mW." access="RW" offset="0x8.0" size="0x0.16" />
	<field name="tec_power_warning_high" descr="Refers to module TEC Power high warning threshold. Units of 1mW." access="RW" offset="0x8.16" size="0x0.16" />
	<field name="tec_power_alarm_low" descr="Refers to module TEC Power low alarm threshold. Units of 1mW." access="RW" offset="0xC.0" size="0x0.16" />
	<field name="tec_power_alarm_high" descr="Refers to module TEC Power high alarm threshold. Units of 1mW." access="RW" offset="0xC.16" size="0x0.16" />
	<field name="set_point_temperature" descr="Laser set point measured from the laser\;Units defined at temp_unit field\;" access="RO" offset="0x10.0" size="0x0.16" />
	<field name="max_set_point_temperature" descr="The highest measured set point from the module.\;Reserved when mtece = 0\;Cleared by mtecr = 1" access="RO" offset="0x10.16" size="0x0.16" />
	<field name="set_point_temperature_warning_low" descr="Refers to module set point low warning threshold Units defined at temp_unit field" access="RW" offset="0x14.0" size="0x0.16" />
	<field name="set_point_temperature_warning_high" descr="Refers to module TEC Power high warning threshold Units defined at temp_unit field" access="RW" offset="0x14.16" size="0x0.16" />
	<field name="set_point_temperature_alarm_low" descr="Refers to module set point low alarm threshold\;Units defined at temp_unit field" access="RW" offset="0x18.0" size="0x0.16" />
	<field name="set_point_temperature_alarm_high" descr="Refers to module set point high alarm threshold\;Units defined at temp_unit field" access="RW" offset="0x18.16" size="0x0.16" />
	<field name="min_cooling_level" descr="The minimum allowed cooling level\;" access="RO" offset="0x1C.0" size="0x0.16" />
	<field name="max_cooling_level" descr="The maximum allowed cooling level\;" access="RO" offset="0x1C.16" size="0x0.16" />
</node>

<node name="mmta_temprature_ext" descr="" size="0x18.0" >
	<field name="temp_unit" descr="Temperature measurement units\;0: units of 0.125 Celsius degrees\;1: units of 1/256 Celsius degrees\;\;For negative values 2&apos;s complement is used\;" access="INDEX" offset="0x0.26" size="0x0.1" />
	<field name="twee" descr="Temperature Warning Event Enable (MMTA Trap)\;0: do_not_generate_event\;1: generate_events\;2: generate_single_event" access="RW" enum="do_not_generate_event=0x0,generate_events=0x1,generate_single_event=0x2" offset="0x0.27" size="0x0.2" />
	<field name="twe" descr="Temperature Warning Enable:\;0: all fields are set\;1: only twee field is set, all other fields reserved" access="OP" offset="0x0.29" size="0x0.1" />
	<field name="mtr" descr="Max Temperature Reset:\;0: do not modify the value of the max temperature register\;1: clear the value of the max temperature register" access="OP" offset="0x0.30" size="0x0.1" />
	<field name="mte" descr="Max Temperature Enable:\;0: disable measuring the max temperature on a sensor\;1: enables measuring the max temperature on a sensor" access="RW" offset="0x0.31" size="0x0.1" />
	<field name="temperature" descr="Temperature reading from the module\;Units defined at temp_unit field" access="RO" offset="0x4.0" size="0x0.16" />
	<field name="max_temperature" descr="The highest measured temperature from the module.\;Reserved when mte = 0\;Cleared by mtr = 1" access="RO" offset="0x4.16" size="0x0.16" />
	<field name="temperature_warning_low" descr="Refers to module temperature low warning threshold\;Units defined at temp_unit field" access="RW" offset="0x8.0" size="0x0.16" />
	<field name="temperature_warning_high" descr="Refers to module temperature high warning threshold\;Units defined at temp_unit field" access="RW" offset="0x8.16" size="0x0.16" />
	<field name="temperature_alarm_low" descr="Refers to module temperature low alarm threshold\;Units defined at temp_unit field" access="RW" offset="0xC.0" size="0x0.16" />
	<field name="temperature_alarm_high" descr="Refers to module temperature high alarm threshold\;Units defined at temp_unit field" access="RW" offset="0xC.16" size="0x0.16" />
</node>

<node name="mnvda_reg_ext" descr="" size="0x10c.0" >
	<field name="configuration_item_header" descr="Configuration Item Header" subnode="config_item_ext" access="RW" offset="0x0.0" size="0xc.0" />
	<field name="configuration_item_data" descr="Configuration Item Data" access="RW" high_bound="63" low_bound="0" offset="0xC.0" size="0x100.0" />
</node>

<node name="mnvdi_reg_ext" descr="" size="0xc.0" >
	<field name="configuration_item_header" descr="" subnode="config_item_ext" access="RW" offset="0x0.0" size="0xc.0" />
</node>

<node name="mnvgc_reg_ext" descr="" size="0x10.0" >
	<field name="nvda_read_factory_settings" descr="0:unsupported\;1: supported" access="RO" offset="0x0.0" size="0x0.1" />
	<field name="nvda_read_current_settings" descr="NVDA Read current settings. Indicates if reading the current settings by NVDA is supported.\;0: unsupported\;1: supported" access="RO" offset="0x0.1" size="0x0.1" />
	<field name="priv_nv_other_host" descr="When set, TLVs of other hosts may be modified." access="RO" offset="0x0.2" size="0x0.1" />
</node>

<node name="mnvgn_reg_ext" descr="" size="0x20.0" >
	<field name="nv_pointer" descr="Pointer to the NV parameter (see description above for more information)" access="INDEX" offset="0x0.0" size="0x4.0" />
	<field name="configuration_item_header" descr="" subnode="config_item_ext" access="RW" offset="0x10.0" size="0xc.0" />
	<field name="configuration_item_data" descr="Configuration Item Data" access="RW" arr_is_dynamic="1" high_bound="VARIABLE" low_bound="0" offset="0x1C.0" size="0x4.0" size_condition="$(parent).configuration_item_header.length" />
</node>

<node name="mnvia_reg_ext" descr="" size="0x8.0" >
	<field name="target" descr="Information targeted for invalidation\;0: ALL - all NVRAM parameters.\; All other values are reserved." access="WO" offset="0x0.0" size="0x0.3" />
	<field name="writer_id" descr="The entity which perform the invalidate.\;The encoding same as writer_id in Configuration Item register (See Table 809, &quot;Configuration Item Header Layout,&quot; on page 1282)." access="RW" offset="0x0.4" size="0x0.5" />
</node>

<node name="mnvqc_reg_ext" descr="" size="0x8.0" >
	<field name="type" descr="Configuration item type according to its class. \;Table 811, &quot;Configuration Item Data Type Class Global Layout,&quot; on page 1286\;Table 813, &quot;Configuration Item Data Type Class Physical Port Layout,&quot; on page 1286\;Table 815, &quot;Configuration Item Data Type Class Per Host-PF Layout,&quot; on page 1287\;Table 817, &quot;Configuration Item Data Type Class Log Layout,&quot; on page 1287\;Table 819, &quot;Configuration Item Data Type Class File Layout,&quot; on page 1288\;Table 821, &quot;Configuration Item Data Type Class Switch Global Layout,&quot; on page 1288\;Table 825, &quot;Configuration Item Data Type Class Multi Instance Layout,&quot; on page 1290" access="INDEX" offset="0x0.0" size="0x4.0" />
	<field name="support_rd" descr="The configuration item is supported and can be read" access="RO" offset="0x4.0" size="0x0.1" />
	<field name="support_wr" descr="The configuration item is supported and can be updated" access="RO" offset="0x4.1" size="0x0.1" />
	<field name="version" descr="The maximal version of the configuration item supported by the device" access="RO" offset="0x4.4" size="0x0.4" />
	<field name="host_id_valid" descr="Host ID valid:\;1: the type_index.host_id field is valid\;Valid only when MNVGC.priv_nv_other_host=1 and the type_class is a Host or Host-PF." access="INDEX" offset="0x4.9" size="0x0.1" />
</node>

<node name="moca_ext" descr="" size="0xc.0" >
	<field name="counter_index" descr="counter index\;For Spectrum: see Section 5.2, &quot;Flow Counters&quot;, on page 1404\;Range 0 .. cap_shared_counter_pool_size - 1" access="INDEX" offset="0x0.0" size="0x0.24" />
	<field name="counter_type" descr="0: flow counter\;1: flow estimator counter\;" access="RW" offset="0x0.24" size="0x0.8" />
	<field name="size" descr="Amount of counters to allocate from counter_index.\;Counter_index + size must not exceedcap_shared_counter_pool_size - 1\;Reserved when read." access="OP" offset="0x8.0" size="0x0.24" />
</node>

<node name="mocmi_ext" descr="" size="0x14.0" >
	<field name="lp_msb" descr="Local port[9:8]" access="INDEX" offset="0x0.12" size="0x0.2" />
	<field name="local_port" descr="Local port number (Rx ports)\;Not supported from CPU port\;Not supported from router port" access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="cond_nelp" descr="Conditional mirroring:\;Disables a dynamic mirror trigger per ingress local_port\;For non-Elephant packets only\;\;Bitwise vector, value per mirror trigger (e.g. bit 3 for trigger 0x3 Tail drop mirror)\;Value per bit:\;0: Enable mirror trigger \;1: Disable mirror trigger\;\;Notes: \;1. the enable does not trigger the mirror, it just allows the mirror\;2. applies only to dynamic mirror triggers\;Bits of static mirror triggers are reserved\;" access="RW" offset="0x8.0" size="0x0.16" />
	<field name="cond_elp" descr="Conditional mirroring:\;Disables a dynamic mirror trigger per ingress local_port\;Same logic as for cond_nelp\;For Elephant packets only" access="RW" offset="0xC.0" size="0x0.16" />
	<field name="elig" descr="Enable eligibilty testing.\;See MMGCR for eligibility tests configuration (Section 5.16.1, &quot;MMGCR - Monitoring Mirroring Global Configuration Register&quot;, on page 1599).\;Implemented for tail drop (INGRESS_SHARED_BUFFER), see Section 5.4.2, &quot;Mirror Triggers&quot;, on page 1420.\;Disabled by default.\;Reserved when cond_nelp or cond_elp are disabled for tail drop.\;Supported from Spectrum-5 onwards." access="RW" offset="0x10.3" size="0x0.1" />
</node>

<node name="mocs_ceer_ext" descr="" size="0x40.0" >
	<field name="port_mask" descr="Local port.\;Each bit represents a local port.Refer to Section 9.2, &quot;Port Numbering&quot;, on page 2202 for port numbering scheme.\;CPU port is not supported.\;Router port is not supported.\;\;The device will report information only about flows that were identified as elephant flows (thus the CEER.detection_entry will be chosen by the device). \;When MOCS.clear is set then for the trap the CEER.clear=1. \;Endianity example: local_port 1 is at 3Ch bit1" access="RW" high_bound="15" low_bound="0" offset="0x0.0" size="0x40.0" />
</node>

<node name="mocs_entry_auto_ext" descr="" attr_is_union="1" is_conditional="1" size="0xc8.0" >
	<field name="mocs_ceer_ext" descr="" subnode="mocs_ceer_ext" condition="$(parent).type == CEER" offset="0x0.0" size="0x40.0" />
	<field name="mocs_fsed_ext" descr="" subnode="mocs_fsed_ext" condition="$(parent).type == FSED" offset="0x0.0" size="0x10.0" />
	<field name="mocs_mafbi_ext" descr="" subnode="mocs_mafbi_ext" condition="$(parent).type == MAFBI" offset="0x0.0" size="0x8.0" />
	<field name="mocs_mgpcb_ext" descr="" subnode="mocs_mgpcb_ext" condition="$(parent).type == MGPCB" offset="0x0.0" size="0x8.0" />
	<field name="mocs_mofrb_ext" descr="" subnode="mocs_mofrb_ext" condition="$(parent).type == MOFRB" offset="0x0.0" size="0x60.0" />
	<field name="mocs_moftd_ext" descr="" subnode="mocs_moftd_ext" condition="$(parent).type == MOFTD" offset="0x0.0" size="0x10.0" />
	<field name="mocs_motcnt_ext" descr="" subnode="mocs_motcnt_ext" condition="$(parent).type == MOTCNT" offset="0x0.0" size="0x14.0" />
	<field name="mocs_pbsr_ext" descr="" subnode="mocs_pbsr_ext" condition="$(parent).type == PBSR" offset="0x0.0" size="0x40.0" />
	<field name="mocs_pbsr_v2_ext" descr="" subnode="mocs_pbsr_v2_ext" condition="$(parent).type == PBSR_V2" offset="0x0.0" size="0x14.0" />
	<field name="mocs_ppcnt_ext" descr="" subnode="mocs_ppcnt_ext" condition="($(parent).type == PPCNT_SES0) | ($(parent).type == PPCNT_SES1)" offset="0x0.0" size="0xa0.0" />
	<field name="mocs_ppcnt_v2_ext" descr="" subnode="mocs_ppcnt_v2_ext" condition="($(parent).type == PPCNT_V2_SES0) | ($(parent).type == PPCNT_V2_SES1)" offset="0x0.0" size="0xc8.0" />
	<field name="mocs_rarftbr_ext" descr="" subnode="mocs_rarftbr_ext" condition="$(parent).type == RARFTBR" offset="0x0.0" size="0x8.0" />
	<field name="mocs_sbsrd_ext" descr="" subnode="mocs_sbsrd_ext" condition="$(parent).type == SBSRD" offset="0x0.0" size="0x4.0" />
</node>

<node name="mocs_ext" descr="" size="0xe8.0" >
	<field name="type" descr="Session type:\;0x0: PPCNT_SES0 - (provides PPCNT traps)\;0x1: PPCNT_SES1 - (provides PPCNT traps)\;0x2: MGPCB\;0x3: PBSR\;0x4: SBSRD\;0x5: CEER\;0x6: MAFBI\;0x7: MOPCE\;0x8: FSED\;0xD: MOFRB\;0xE: MOFTD\;0x10: RARFTBR\;0x13: MOTCNT\;0x20: PPCNT_V2_SES0\;0x21: PPCNT_V2_SES1\;0x23: PBSR_V2\;" access="INDEX" enum="PPCNT_SES0=0x0,PPCNT_SES1=0x1,MGPCB=0x2,PBSR=0x3,SBSRD=0x4,CEER=0x5,MAFBI=0x6,MOPCE=0x7,FSED=0x8,MOFRB=0xd,MOFTD=0xe,RARFTBR=0x10,MOTCNT=0x13,PPCNT_V2_SES0=0x20,PPCNT_V2_SES1=0x21,PBSR_V2=0x23" offset="0x0.0" size="0x0.8" />
	<field name="status" descr="Status:\;0: IDLE\;1: BUSY\;2: CANCELED\;3: CONT" access="RO" enum="IDLE=0x0,BUSY=0x1,CANCELED=0x2,CONT=0x3" offset="0x4.0" size="0x0.2" />
	<field name="opcode" descr="Opcode.\;Note that a session is per type, thus multi sessions are allowed for different types.\;Opcode START cannot be set when a session is BUSY.\;\;0: START - start a session. Per session rejected when status = BUSY.\;1: CANCEL - cancel the session, see explanation above.\;2: STOP_ITERATIONS - completes current iteration, finishes MOCS afterwards." access="WO" enum="START=0x0,CANCEL=0x1,STOP_ITERATIONS=0x2" offset="0x4.8" size="0x0.4" />
	<field name="clear" descr="Clear the counters:\;0x0: READ_NO_CLEAR\;0x1: READ_AND_CLEAR\;0x2: CLEAR_ONLY - no read, for faster operation. Will provide only MOCS_DONE trap when finished.\;\;Reserved when type = MOPCE (0x7), FSED (0x8), MOFTD (0xE), RARFTBR (0x10)" access="RW" enum="READ_NO_CLEAR=0x0,READ_AND_CLEAR=0x1,CLEAR_ONLY=0x2" offset="0x4.16" size="0x0.2" />
	<field name="event_tid" descr="Transaction ID to be returned in the event EMADs\;Example: \;- MOCS had tid=3 and event_tid=17\;- MOCS returned with tid=3 and event_tid=17\;- PPCNT returned with tid=17\;- MOCS_DONE returned with tid=17 and event_tid=17" subnode="uint64" access="RW" offset="0x8.0" size="0x8.0" />
	<field name="num_of_iter" descr="Number of iterations.\;Value 0 - no iterative MOCS operation.\;Reserved when type is not MOFTD, RARFTBR\;Reserved when inf_iter=1." access="RW" offset="0x10.0" size="0x0.16" />
	<field name="min_iter_time" descr="Minimum time for one iteration from start to start.\;Units of 50uSec (e.g. value of 12 means 0.6mSec).\;If the iteration takes shorter than min_iter_time then FW will wait before starting the next iteration.\;The iteration may take longer than min_iter_time, in that case iteration mode behaves as fast as possible (AFAP).\;Range 2 and above\;Reserved when iter_mode = 0\;Reserved when num_of_iter = 0 and inf_iter = 0." access="RW" offset="0x10.16" size="0x0.8" />
	<field name="iter_mode" descr="Iteration mode:\;0: AFAP - as fast as possible\;1: WAIT - wait iter_time from start to start\;Reserved when num_of_iter = 0 and inf_iter = 0." access="RW" enum="AFAP=0x0,WAIT=0x1" offset="0x10.28" size="0x0.2" />
	<field name="inf_iter" descr="Infinite iterations.\;When set MOCS iterations are not limited.\;Stopping iterative operation is done with opcode = STOP_ITERATIONS." access="RW" offset="0x10.31" size="0x0.1" />
	<field name="iter_md_op" descr="Metadata operation selector for iterations.\;0: Before_every_REG_TLV\;1: Before_new_iteration_REG_TLVs_only\;Reserved when metadata=0.\;" access="OP" enum="Before_every_REG_TLV=0x0,Before_new_iteration_REG_TLVs_only=0x1" offset="0x14.23" size="0x0.1" />
	<field name="metadata" descr="Metadata selector.\;Only 1 metadata TLV per event is supported.\;0: None\;1: Iteration\;2: Iteration_plus_timestamp\;" access="OP" enum="None=0x0,Iteration=0x1,Iteration_plus_timestamp=0x2" offset="0x14.24" size="0x0.8" />
	<field name="entry" descr="See Table 1181, &quot;MOCS entry - PPCNT Layout,&quot; on page 1661\;See Table 1183, &quot;MOCS entry - PPCNT V2 Layout,&quot; on page 1662\;See Table 1185, &quot;MOCS entry - MGPCB Layout,&quot; on page 1664\;See Table 1187, &quot;MOCS entry - PBSR Layout,&quot; on page 1665\;See Table 1189, &quot;MOCS entry - PBSR V2 Layout,&quot; on page 1666\;See Table 1191, &quot;MOCS entry - SBSRD Layout,&quot; on page 1667\;See Table 1193, &quot;MOCS entry - CEER Layout,&quot; on page 1668\;See Table 1195, &quot;MOCS entry - MAFBI Layout,&quot; on page 1669\;See Table 1197, &quot;MOCS entry - FSED Layout,&quot; on page 1670\;See Table 1199, &quot;MOCS entry - MOFRB Layout,&quot; on page 1672\;See Table 1203, &quot;MOCS entry - MOFTD Layout,&quot; on page 1674\;See Table 1205, &quot;MOCS entry - RARFTBR Layout,&quot; on page 1675\;See Table 1209, &quot;MOCS entry - MOTCNT Layout,&quot; on page 1677" subnode="mocs_entry_auto_ext" access="RW" condition="$(parent).type" offset="0x20.0" size="0xc8.0" />
</node>

<node name="mocs_fsed_ext" descr="" size="0x10.0" >
	<field name="filter_fields" descr="filter fields:\;If a bit is &apos;0&apos; then the relevant field is ignored and dump is\;done regardless of the field value\;\;0: partition_id\;1: activity\;2: semaphore_state\;3: group_id\;\;All set filters are relevant (there is AND between the filters)" access="OP" enum="partition_id=0x0,activity=0x1,semaphore_state=0x2,group_id=0x3" offset="0x0.0" size="0x0.4" />
	<field name="op" descr="Operation\;0: Dump_entries \;1: Clear_activity_for_all_dumped_entries\;2: Clear_activity_only - (no dump)\;" access="OP" enum="Dump_entries=0x0,Clear_activity_for_all_dumped_entries=0x1,Clear_activity_only=0x2" offset="0x0.8" size="0x0.2" />
	<field name="entry_partition_id" descr="Dump only if entry partition has value of entry_parition\;Reserved when filter_fields bit0 is &apos;0&apos;" access="INDEX" offset="0x4.0" size="0x0.3" />
	<field name="entry_activity" descr="Dump only if activity has value of entry_activity\;Reserved when filter_fields bit1 is &apos;0&apos;" access="INDEX" offset="0x4.8" size="0x0.1" />
	<field name="entry_sem_s" descr="Dump only if semaphore state has value of entry_sem_s\;Reserved when filter_fields bit2 is &apos;0&apos;" access="INDEX" offset="0x4.9" size="0x0.1" />
	<field name="group_id" descr="Dump only if Group id equals to the value mentioned\;Reserved when filter_fields bit3 is &apos;0&apos;" access="INDEX" offset="0x4.16" size="0x0.16" />
	<field name="num_rec" descr="Number of records to read\;Range 0 .. (cap_kvd_size-1)\;\;Reserved when op = Clear only (2)" access="RW" offset="0x8.0" size="0x0.20" />
	<field name="nt" descr="New transaction\;0: continue_from_last_transaction\;1: start_new_transaction" access="OP" enum="continue_from_last_transaction=0x0,start_new_transaction=0x1" offset="0xC.0" size="0x0.1" />
</node>

<node name="mocs_mafbi_ext" descr="" size="0x8.0" >
	<field name="num_rec" descr="Number of records to read\;Must have a value of 32*N \;Range: 32.. cap_max_accuflow/2" access="RW" offset="0x0.0" size="0x0.24" />
	<field name="type" descr="type" access="RW" offset="0x0.28" size="0x0.2" />
	<field name="flush" descr="Flush:\;0: do not flush the counters, read immediately\;1: flush the counters" access="RW" offset="0x0.31" size="0x0.1" />
	<field name="counter_index_base" descr="Counter Index base\;Must have a value of 32*N \;Range: cap_start_accuflow .. cap_start_accuflow+cap_max_accuflow" access="RW" offset="0x4.0" size="0x0.24" />
</node>

<node name="mocs_mgpcb_ext" descr="" size="0x8.0" >
	<field name="num_rec" descr="Number of records to read\;Range 1..cap_shared_counter_pool_size" access="RW" offset="0x0.0" size="0x0.24" />
	<field name="flush" descr="Flush:\;0: do not flush the counters, read immediately\;1: flush the counters\;" access="RW" offset="0x0.31" size="0x0.1" />
	<field name="counter_index_base" descr="Counter Index base\;Range 0..cap_shared_counter_pool_size - 1\;Supported only for counter_set_type = 0x3 Packets and Byte" access="RW" offset="0x4.0" size="0x0.24" />
</node>

<node name="mocs_mofrb_ext" descr="" size="0x60.0" >
	<field name="flow_estimator_record" descr="See" subnode="flow_estimator_record_ext" access="RW" high_bound="11" low_bound="0" offset="0x0.0" size="0x60.0" />
</node>

<node name="mocs_moftd_ext" descr="" size="0x10.0" >
	<field name="user_cookie" descr="User cookie that will be sent with the data\;Opaque value" subnode="uint64" access="RW" offset="0x8.0" size="0x8.0" />
</node>

<node name="mocs_motcnt_ext" descr="" size="0x14.0" >
	<field name="counter_types" descr="Bitmap that indicates which trimming counters to read.\;0: SENT - sent trimmed packets\;1: DROPPED - dropped trimming packets\;Reserved in Spectrum-5." access="RW" enum="SENT=0x0,DROPPED=0x1" offset="0x0.0" size="0x0.16" />
	<field name="tclass_mask" descr="Traffic Class mask per port.\;Reads the selected tclass.\;TCs are read low to high.\;Counters of TCs not set in MOTCC.tclass_mask read as 0.\;Reserved in Spectrum-5\;Must be unset when MOTCC.per_tclass=0 in Spectrum-6.\;Valid bit range 0..cap_max_tclass_data-1." access="RW" offset="0x4.0" size="0x0.16" />
	<field name="pb" descr="Read packets/packets+bytes.\;0: PACKETS - packets only\;1: PACKETS_BYTES - packets and bytes - packets first, bytes second (supported from Spectrum-6 only if MOTCC.packets_bytes=1)\;Reserved in Spectrum-5." access="RW" enum="PACKETS=0x0,PACKETS_BYTES=0x1" offset="0x4.18" size="0x0.2" />
	<field name="port_bitmap_size" descr="Bitmap size in DWORDs.\;Range is 0..floor(cap_max_switch_ports/32)+1.\;E.g. bitmap_size 16 is for 512 ports, 17 for 544 ports, 32 for 1024 ports, etc." access="OP" offset="0xC.0" size="0x0.8" />
	<field name="port_mask" descr="Port mask array, read as one bitmap.\;Events related to port will be reported only if it is set in this port_mask.\;Each bit represents a local port - bit &lt;i&gt; of port_mask represents local port &lt;i&gt;.\;Valid local ports 1..cap_max_switch_ports, CPU port is not supported.\;Refer to Section 9.2, &quot;Port Numbering&quot;, on page 2202 for port numbering scheme.\;The whole bitmap is ordered in big-endian format, see Section  Byte Endianness on page 426." access="RW" arr_is_dynamic="1" high_bound="VARIABLE" low_bound="0" offset="0x10.0" size="0x4.0" size_condition="$(parent).port_bitmap_size" />
</node>

<node name="mocs_pbsr_ext" descr="" size="0x40.0" >
	<field name="port_mask" descr="Local port.\;Each bit represents a local port. Refer to Section 9.2, &quot;Port Numbering&quot;, on page 2202 for port numbering scheme.\;CPU port is supported\;Router port is not supported\;Endianity example: local_port 1 is at 3Ch bit1" access="RW" high_bound="15" low_bound="0" offset="0x0.0" size="0x40.0" />
</node>

<node name="mocs_pbsr_v2_ext" descr="" size="0x14.0" >
	<field name="bitmap_size" descr="Bitmap size in DWORDs.\;Range is 0..floor(cap_max_switch_ports/32)+1.\;E.g. bitmap_size 16 is for 512 ports, 17 for 544 ports, 32 for 1024 ports, etc.\;" access="OP" offset="0x0.0" size="0x0.8" />
	<field name="port_mask" descr="Port mask array, read as one bitmap.\;Each bit represents a local port. Refer to Section 9.2, &quot;Port Numbering&quot;, on page 2202 for port numbering scheme.\;CPU port is supported\;Router port is not supported\;Endianity example: local_port 1 is at 3Ch bit1" access="RW" arr_is_dynamic="1" high_bound="VARIABLE" low_bound="0" offset="0x10.0" size="0x4.0" size_condition="$(parent).bitmap_size" />
</node>

<node name="mocs_ppcnt_ext" descr="" size="0xa0.0" >
	<field name="port_mask" descr="Local port\;Each bit represents a PPCNT.local_port\;Endianity example: local_port 1 is at 3Ch bit1" access="RW" high_bound="15" low_bound="0" offset="0x0.0" size="0x40.0" />
	<field name="grp_mask" descr="PPCNT Group mask\;Each bit represents a PPCNT.grp" access="RW" high_bound="3" low_bound="0" offset="0x40.0" size="0x10.0" />
	<field name="tc_mask" descr="PPCNT tclass mask - valid only for relevant groups\;Each bit represents a PPCNT.prio_tc" access="RW" offset="0x50.0" size="0x4.0" />
	<field name="rx_buffer_mask" descr="PPCNT rx_buffer mask - valid only for relevant groups\;Each bit represents a PPCNT.prio_tc" access="RW" offset="0x54.0" size="0x0.16" />
	<field name="prio_mask" descr="PPCNT prio mask - valid only for relevant groups\;Each bit represents a PPCNT.prio_tc" access="RW" offset="0x54.16" size="0x0.16" />
</node>

<node name="mocs_ppcnt_v2_ext" descr="" size="0xc8.0" >
	<field name="grp_mask" descr="PPCNT Group mask\;Each bit represents a PPCNT.grp" access="RW" high_bound="3" low_bound="0" offset="0x20.0" size="0x10.0" />
	<field name="tc_mask" descr="PPCNT tclass mask - valid only for relevant groups\;Each bit represents a PPCNT.prio_tc" access="RW" offset="0x30.0" size="0x4.0" />
	<field name="prio_mask" descr="PPCNT prio mask - valid only for relevant groups\;Each bit represents a PPCNT.prio_tc" access="RW" offset="0x34.0" size="0x0.17" />
	<field name="rx_buffer_mask" descr="PPCNT rx_buffer mask - valid only for relevant groups\;Each bit represents a PPCNT.prio_tc" access="RW" offset="0x38.0" size="0x0.16" />
	<field name="port_bitmap_size" descr="Bitmap size in DWORDs.\;Range is 0..floor(cap_max_switch_ports/32)+1.\;E.g. bitmap_size 16 is for 512 ports, 17 for 544 ports, 32 for 1024 ports, etc." access="OP" offset="0xC0.0" size="0x0.8" />
	<field name="port_mask" descr="Port mask array, read as one bitmap.\;Each bit represents a local port. Refer to Section 9.2, &quot;Port Numbering&quot;, on page 2202 for port numbering scheme.\;Each bit represents a PPCNT.local_port" access="RW" arr_is_dynamic="1" high_bound="VARIABLE" low_bound="0" offset="0xC4.0" size="0x4.0" size_condition="$(parent).port_bitmap_size" />
</node>

<node name="mocs_rarftbr_ext" descr="" size="0x8.0" >
	<field name="num_job" descr="Number of RARFTBR calls.\;Range is 1..24." access="OP" offset="0x0.0" size="0x0.12" />
	<field name="job" descr="RARFTBR job records.\;See Table 1207, &quot;MOCS-RARFTBR Record Layout,&quot; on page 1675" subnode="mocs_rarftbr_record_ext" access="RW" arr_is_dynamic="1" high_bound="VARIABLE" low_bound="0" offset="0x4.0" size="0x4.0" size_condition="$(parent).num_job" />
</node>

<node name="mocs_rarftbr_record_ext" descr="" size="0x4.0" >
	<field name="arft_index" descr="The first AR Flow Table index to begin with." access="INDEX" offset="0x0.0" size="0x0.20" />
	<field name="num_rec_log" descr="Number of Flow Table entries, logarithmic scale, i.e. num_rec = 2num_rec_log.\;Requested size should fit a one or two consecutive (per AR profile) FG ECMP sized blocks, See Section 14.5.4.4, &quot;ECMP Size&quot;, on page 4038.\;Range 5..13.\;Note: A single job can result in multiple RARFTBR events." access="OP" offset="0x0.24" size="0x0.5" />
</node>

<node name="mocs_sbsrd_ext" descr="" size="0x4.0" >
	<field name="modi" descr="[Spectrum-6]\;Read modification descriptor.\;On egress, only buff_occupancy is valid.\;Supported from Spectrum-6." access="RW" offset="0x0.27" size="0x0.1" />
	<field name="cells" descr="Read cells status" access="RW" offset="0x0.29" size="0x0.1" />
	<field name="snap" descr="Read snapshot\;Note that clear will not take affect on snapshot" access="RW" offset="0x0.30" size="0x0.1" />
	<field name="curr" descr="Read current status" access="RW" offset="0x0.31" size="0x0.1" />
</node>

<node name="modcr_ext" descr="" size="0x14.0" >
	<field name="clear" descr="Clear the coutners" access="OP" offset="0x0.31" size="0x0.1" />
	<field name="fatal_asserts" descr="Count number of fatal asserts" access="RO" offset="0x8.0" size="0x4.0" />
	<field name="normal_asserts" descr="Count number of normal asserts" access="RO" offset="0xC.0" size="0x4.0" />
	<field name="debug_asserts" descr="Count number of debug asserts" access="RO" offset="0x10.0" size="0x4.0" />
</node>

<node name="modrc_ext" descr="" size="0x8.0" >
	<field name="reason_set" descr="If set, enable MODRT for reasons set in reason.\;Default is all reasons enabled." access="OP" offset="0x0.0" size="0x0.1" />
	<field name="time_window_set" descr="If set, set Time window according to time_window value." access="OP" offset="0x0.1" size="0x0.1" />
	<field name="time_window" descr="Time window in mSec.\;Valid values are longer than 500 mSec.\;Default set to 10 seconds.\;During a time window only one dump would be requested." access="RW" offset="0x0.16" size="0x0.16" />
	<field name="reason" descr="Reason (BITMAP):\;0: Contain_and_Drain\;1: SLL\;2: HLL\;3: Penalty_Box_Indication\;4: RX_NVL_Packet_Discard" access="RW" offset="0x4.0" size="0x4.0" />
</node>

<node name="modrt_ext" descr="" size="0x18.0" >
	<field name="local_port" descr="Local port number." access="RO" offset="0x0.16" size="0x0.16" />
	<field name="reason" descr="Reason (ENUM):\;0: Contain_and_Drain\;1: SLL\;2: HLL\;3: Penalty_Box_Indication\;4: RX_NVL_Packet_Discard" access="RO" enum="Contain_and_Drain=0x0,SLL=0x1,HLL=0x2,Penalty_Box_Indication=0x3,RX_NVL_Packet_Discard=0x4" offset="0x4.0" size="0x0.16" />
	<field name="sub_reason" descr="Extra data needed for some of the reasons:\;Contain and Drain (bit mask)\;0: PARITY_ERROR\;1: DQS_DISCARD\;2: TRIGGER_SLL\;3: TRIGGER_LINK_STATE\;\;HLL (bit mask)\;0: VL2\;1: VL3\;2: VL4\;\;Penalty Box Indication (bit mask)\;0: L0\;1: L1\;\;RX NVL Packet Discard (bit mask)\;0: UC_RAIL_PLANE_FILTER\;1: UC_SWITCH_RELAY_ERROR" access="RO" offset="0x4.16" size="0x0.16" />
	<field name="timestamp_nsec" descr="Timestamp counting nSec. When 10^9nSec the timestamp_sec is incremented and timestamp_nsec is reset." access="RO" offset="0x8.0" size="0x0.30" />
	<field name="timestamp_sec" descr="Timestamp counting seconds." access="RO" offset="0xC.0" size="0x4.0" />
	<field name="additional_status" descr="Extra data needed for some of the reasons:\;HLL and SLL (bit mask)\;MSB 32 bit:\;0: VL0\;1: VL1\;...\;8: VL8\;\;LSB 32 bit:\;0: DQC_FULL\;1: PAUSE_AND_NOT_DISCARD\;2: DCM_NOT_FREE\;3: HOLD_FROM_DISCARD\;4: XMIT_HOLD_GOOD\;5: DQL_UNEMPTY\;6: VL_SHAPER\;7: HOLD_FROM_COUNTERS\;8: NO_CREDS\;9: DI_DT_BLOCK\;10: HOLD_ON_TP\;11: HOLD_ON_L1_CONTROLLER\;12: HOLD_ON_NV_BURST_LIMITER" subnode="uint64" access="RO" offset="0x10.0" size="0x8.0" />
</node>

<node name="module_latched_flag_info_ext" descr="" size="0x50.0" >
	<field name="rx_los_cap" descr="when set, indicates modules supports rx los indication" access="RO" offset="0x0.0" size="0x0.1" />
	<field name="dp_fw_fault" descr="Valid for CMIS based modules only\;Latched modules Datapath fw fault flag" access="RO" offset="0x0.22" size="0x0.1" />
	<field name="mod_fw_fault" descr="Valid for CMIS based modules only\;Latched module fw fault flag" access="RO" offset="0x0.23" size="0x0.1" />
	<field name="vcc_flags" descr="Latched VCC flags of module\;Bit 0: high_vcc_alarm\;Bit 1: low_vcc_alarm\;Bit 2: high_vcc_warning\;Bit 3: low_vcc_warning" access="RO" enum="high_vcc_alarm=0x1,low_vcc_alarm=0x2,high_vcc_warning=0x4,low_vcc_warning=0x8" offset="0x0.24" size="0x0.4" />
	<field name="temp_flags" descr="Latched temperature flags of module\;Bit 0: high_temp_alarm\;Bit 1: low_temp_alarm\;Bit 2: high_temp_warning\;Bit 3: low_temp_warning" access="RO" enum="high_temp_alarm=0x1,low_temp_alarm=0x2,high_temp_warning=0x4,low_temp_warning=0x8" offset="0x0.28" size="0x0.4" />
	<field name="tx_ad_eq_fault" descr="Reserved for SFP\;Bitmask for latched Tx adaptive equalization fault flag per lane.\;Bit 0 - lane 0... Bit 7 - lane 7" access="RO" offset="0x4.0" size="0x0.8" />
	<field name="tx_cdr_lol" descr="Bitmask for latched Tx cdr loss of lock flag per lane.\;Bit 0 - lane 0... Bit 7 - lane 7" access="RO" offset="0x4.8" size="0x0.8" />
	<field name="tx_los" descr="Reserved for SFP\;Bitmask for latched Tx loss of signal flag per lane.\;Bit 0 - lane 0... Bit 7 - lane 7" access="RO" offset="0x4.16" size="0x0.8" />
	<field name="tx_fault" descr="Bitmask for latched Tx fault flag per lane.\;Bit 0 - lane 0... Bit 7 - lane 7" access="RO" offset="0x4.24" size="0x0.8" />
	<field name="tx_power_lo_war" descr="Bitmask for latched Tx power low warning flag per lane.\;Bit 0 - lane 0... Bit 7 - lane 7" access="RO" offset="0x8.0" size="0x0.8" />
	<field name="tx_power_hi_war" descr="Bitmask for latched Tx power high warning flag per lane.\;Bit 0 - lane 0... Bit 7 - lane 7" access="RO" offset="0x8.8" size="0x0.8" />
	<field name="tx_power_lo_al" descr="Bitmask for latched Tx power low alarm flag per lane.\;Bit 0 - lane 0... Bit 7 - lane 7" access="RO" offset="0x8.16" size="0x0.8" />
	<field name="tx_power_hi_al" descr="Bitmask for latched Tx power high alarm flag per lane.\;Bit 0 - lane 0... Bit 7 - lane 7" access="RO" offset="0x8.24" size="0x0.8" />
	<field name="tx_bias_lo_war" descr="Bitmask for latched Tx bias low warning flag per lane.\;Bit 0 - lane 0... Bit 7 - lane 7" access="RO" offset="0xC.0" size="0x0.8" />
	<field name="tx_bias_hi_war" descr="Bitmask for latched Tx bias high warning flag per lane.\;Bit 0 - lane 0... Bit 7 - lane 7" access="RO" offset="0xC.8" size="0x0.8" />
	<field name="tx_bias_lo_al" descr="Bitmask for latched Tx bias low alarm flag per lane.\;Bit 0 - lane 0... Bit 7 - lane 7" access="RO" offset="0xC.16" size="0x0.8" />
	<field name="tx_bias_hi_al" descr="Bitmask for latched Tx bias high alarm flag per lane.\;Bit 0 - lane 0... Bit 7 - lane 7" access="RO" offset="0xC.24" size="0x0.8" />
	<field name="rx_cdr_lol" descr="Bitmask for latched Rx cir loss of lock flag per lane.\;Bit 0 - lane 0 .. Bit 7 - lane 7" access="RO" offset="0x10.16" size="0x0.8" />
	<field name="rx_los" descr="Bitmask for latched Rx loss of signal flag per lane.\;Bit 0 - lane 0... Bit 7 - lane 7" access="RO" offset="0x10.24" size="0x0.8" />
	<field name="rx_power_lo_war" descr="Bitmask for latched Rx power low warning flag per lane.\;Bit 0 - lane 0... Bit 7 - lane 7" access="RO" offset="0x14.0" size="0x0.8" />
	<field name="rx_power_hi_war" descr="Bitmask for latched Rx power high warning flag per lane.\;Bit 0 - lane 0... Bit 7 - lane 7" access="RO" offset="0x14.8" size="0x0.8" />
	<field name="rx_power_lo_al" descr="Bitmask for latched Rx power low alarm flag per lane.\;Bit 0 - lane 0... Bit 7 - lane 7" access="RO" offset="0x14.16" size="0x0.8" />
	<field name="rx_power_hi_al" descr="Bitmask for latched Rx power high alarm flag per lane.\;Bit 0 - lane 0... Bit 7 - lane 7" access="RO" offset="0x14.24" size="0x0.8" />
	<field name="rx_output_valid_change" descr="Bitmask for latched rx output valid change per lane.\;Bit 0 - lane 0... Bit 7 - lane 7" access="RO" offset="0x18.0" size="0x0.8" />
	<field name="laser_source_flag_in_use_msb" descr="Bitmask per flag type in ELS module.\;When bit is set, indicates that FW reads flag from module.\;In order to get reliable latched flag information for that flag, it&apos;s recommended to set event for module flags via trap.\;Bit 0: laser2_temp_hi_al\;Bit 1: laser2_temp_lo_al\;Bit 2: laser2_temp_hi_war\;Bit 3: laser2_temp_lo_war\;" access="RO" offset="0x18.24" size="0x0.4" />
	<field name="laser2_warning_flag" descr="Relevant for CPO ETH switches. when 8x port split is applied, this fields represent the ELS laser with the higher logical mapping index. ELS laser2 warning indication" access="RO" offset="0x18.28" size="0x0.1" />
	<field name="laser_warning_flag" descr="Relevant for CPO ETH switches. when 8x port split is applied, this fields represent the ELS laser with the higher logical mapping index. ELS laser warning indication\;" access="RO" offset="0x18.29" size="0x0.1" />
	<field name="laser2_fault_flag" descr="Relevant for CPO ETH switches. when 8x port split is applied, this fields represent the ELS laser with the higher logical mapping index. ELS laser2 fault indication" access="RO" offset="0x18.30" size="0x0.1" />
	<field name="laser_fault_flag" descr="ELS laser fault indication" access="RO" offset="0x18.31" size="0x0.1" />
	<field name="laser2_bias_lo_war" descr="ELS laser bias low warning" access="RO" offset="0x20.0" size="0x0.1" />
	<field name="laser_bias_lo_war" descr="ELS laser bias low warning" access="RO" offset="0x20.1" size="0x0.1" />
	<field name="laser2_bias_hi_war" descr="ELS laser bias high warning" access="RO" offset="0x20.2" size="0x0.1" />
	<field name="laser_bias_hi_war" descr="ELS laser bias high warning" access="RO" offset="0x20.3" size="0x0.1" />
	<field name="laser2_bias_lo_al" descr="ELS laser bias low alarm" access="RO" offset="0x20.4" size="0x0.1" />
	<field name="laser_bias_lo_al" descr="ELS laser bias low alarm" access="RO" offset="0x20.5" size="0x0.1" />
	<field name="laser2_bias_hi_al" descr="ELS laser bias high alarm" access="RO" offset="0x20.6" size="0x0.1" />
	<field name="laser_bias_hi_al" descr="ELS laser bias high alarm" access="RO" offset="0x20.7" size="0x0.1" />
	<field name="laser_source_flag_in_use" descr="Bitmask per flag type in ELS module.\;When bit is set, indicates that FW reads flag from module.\;In order to get reliable latched flag information for that flag, it&apos;s recommended to set event for module flags via trap.\;Bit 0: global_alarm_for_laser\;Bit 1: global_warning_for_laser\;Bit 2: laser_bias_hi_al_cap \;Bit 3: laser_bias_lo_al_cap\;Bit 4: laser_bias_hi_war_cap\;Bit 5: laser_bias_lo_war_cap\;Bit 6: laser_opt_pwr_hi_al_cap\;Bit 7: laser_opt_pwr_lo_al_cap\;Bit 8: laser_opt_pwr_hi_war_cap\;Bit 9: laser_opt_pwr_lo_war_cap\;Bit 10: laser_temp_hi_al\;Bit 11: laser_temp_lo_al\;Bit 12: laser_temp_hi_war\;Bit 13: laser_temp_lo_war\;Bit 14: global_alarm_for_laser2\;Bit 15: global_warning_for_laser2\;Bit 16: laser2_bias_hi_al_cap \;Bit 17: laser2_bias_lo_al_cap\;Bit 18: laser2_bias_hi_war_cap\;Bit 19: laser2_bias_lo_war_cap\;Bit 20: laser2_opt_pwr_hi_al_cap\;Bit 21: laser2_opt_pwr_lo_al_cap\;Bit 22: laser2_opt_pwr_hi_war_cap\;Bit 23: laser2_opt_pwr_lo_war_cap" access="RO" enum="global_alarm_for_laser=0x1,global_warning_for_laser=0x2,laser_bias_hi_al_cap=0x4,laser_bias_lo_al_cap=0x8,laser_bias_hi_war_cap=0x10,laser_bias_lo_war_cap=0x20,laser_opt_pwr_hi_al_cap=0x40,laser_opt_pwr_lo_al_cap=0x80,laser_opt_pwr_hi_war_cap=0x100,laser_opt_pwr_lo_war_cap=0x200,laser_temp_hi_al=0x400,laser_temp_lo_al=0x800,laser_temp_hi_war=0x1000,laser_temp_lo_war=0x2000,global_alarm_for_laser2=0x4000,global_warning_for_laser2=0x8000,laser2_bias_hi_al_cap=0x10000,laser2_bias_lo_al_cap=0x20000,laser2_bias_hi_war_cap=0x40000,laser2_bias_lo_war_cap=0x80000,laser2_opt_pwr_hi_al_cap=0x100000,laser2_opt_pwr_lo_al_cap=0x200000,laser2_opt_pwr_hi_war_cap=0x400000,laser2_opt_pwr_lo_war_cap=0x800000" offset="0x20.8" size="0x0.24" />
	<field name="optical_engine_flag_in_use" descr="Bitmask per flag type in Optical engine module.\;When bit is set, indicates that FW reads flag from module.\;In order to get reliable latched flag information for that flag, it&apos;s recommended to set event for module flags via trap.\;Bit 0: els_input_power_hi_al\;Bit 1: els_input_power_lo_al\;Bit 2: els_input_power_hi_war\;Bit 3: els_input_power_lo_war\;Bit 4: lane_temp_hi_al\;Bit 5: lane_temp_lo_al\;Bit 6: lane_temp_hi_war\;Bit 7: lane_temp_lo_war" access="RO" enum="els_input_power_hi_al=0x1,els_input_power_lo_al=0x2,els_input_power_hi_war=0x4,els_input_power_lo_war=0x8,lane_temp_hi_al=0x10,lane_temp_lo_al=0x20,lane_temp_hi_war=0x40,lane_temp_lo_war=0x80" offset="0x24.0" size="0x0.16" />
	<field name="laser2_temp_lo_war" descr="Relevant for CPO ETH switches. when 8x port split is applied, this fields represent the ELS laser with the higher logical mapping index. ELS laser temperature low warning" access="RO" offset="0x24.16" size="0x0.1" />
	<field name="laser_temp_lo_war" descr="ELS laser temperature low warning" access="RO" offset="0x24.17" size="0x0.1" />
	<field name="laser2_temp_hi_war" descr="Relevant for CPO ETH switches. when 8x port split is applied, this fields represent the ELS laser with the higher logical mapping index. ELS laser temperature high warning" access="RO" offset="0x24.18" size="0x0.1" />
	<field name="laser_temp_hi_war" descr="ELS laser temperature high warning" access="RO" offset="0x24.19" size="0x0.1" />
	<field name="laser2_temp_lo_al" descr="Relevant for CPO ETH switches. when 8x port split is applied, this fields represent the ELS laser with the higher logical mapping index. ELS laser temperature low alarm" access="RO" offset="0x24.20" size="0x0.1" />
	<field name="laser_temp_lo_al" descr="ELS laser temperature low alarm" access="RO" offset="0x24.21" size="0x0.1" />
	<field name="laser2_temp_hi_al" descr="Relevant for CPO ETH switches. when 8x port split is applied, this fields represent the ELS laser with the higher logical mapping index. ELS laser temperature high alarm" access="RO" offset="0x24.22" size="0x0.1" />
	<field name="laser_temp_hi_al" descr="ELS laser temperature high alarm" access="RO" offset="0x24.23" size="0x0.1" />
	<field name="laser2_opt_pwr_lo_war" descr="Relevant for CPO ETH switches. when 8x port split is applied, this fields represent the ELS laser with the higher logical mapping index. ELS laser optical power low warning" access="RO" offset="0x24.24" size="0x0.1" />
	<field name="laser_opt_pwr_lo_war" descr="ELS laser optical power low warning" access="RO" offset="0x24.25" size="0x0.1" />
	<field name="laser2_opt_pwr_hi_war" descr="Relevant for CPO ETH switches. when 8x port split is applied, this fields represent the ELS laser with the higher logical mapping index. ELS laser optical power high warning" access="RO" offset="0x24.26" size="0x0.1" />
	<field name="laser_opt_pwr_hi_war" descr="ELS laser optical power high warning" access="RO" offset="0x24.27" size="0x0.1" />
	<field name="laser2_opt_pwr_lo_al" descr="Relevant for CPO ETH switches. when 8x port split is applied, this fields represent the ELS laser with the higher logical mapping index. ELS laser optical power low alarm" access="RO" offset="0x24.28" size="0x0.1" />
	<field name="laser_opt_pwr_lo_al" descr="ELS laser optical power low alarm" access="RO" offset="0x24.29" size="0x0.1" />
	<field name="laser2_opt_pwr_hi_al" descr="Relevant for CPO ETH switches. when 8x port split is applied, this fields represent the ELS laser with the higher logical mapping index. ELS laser optical power high alarm" access="RO" offset="0x24.30" size="0x0.1" />
	<field name="laser_opt_pwr_hi_al" descr="ELS laser optical power high alarm" access="RO" offset="0x24.31" size="0x0.1" />
	<field name="els_input_power_lo_war" descr="Bitmask for latched ELS input power low warning flag per lane.\;Bit 0 - lane 0... Bit 7 - lane 7" access="RO" offset="0x28.0" size="0x0.8" />
	<field name="els_input_power_hi_war" descr="Bitmask for latched ELS input power high warning flag per lane.\;Bit 0 - lane 0... Bit 7 - lane 7" access="RO" offset="0x28.8" size="0x0.8" />
	<field name="els_input_power_lo_al" descr="Bitmask for latched ELS input power low alarm flag per lane.\;Bit 0 - lane 0... Bit 7 - lane 7" access="RO" offset="0x28.16" size="0x0.8" />
	<field name="els_input_power_hi_al" descr="Bitmask for latched ELS input power high alarm flag per lane.\;Bit 0 - lane 0... Bit 7 - lane 7" access="RO" offset="0x28.24" size="0x0.8" />
	<field name="lane_temp_lo_war" descr="Bitmask for latched OE lane temperature low warning flag per lane.\;Bit 0 - lane 0... Bit 7 - lane 7" access="RO" offset="0x2C.0" size="0x0.8" />
	<field name="lane_temp_hi_war" descr="Bitmask for latched OE lane temperature high warning flag per lane.\;Bit 0 - lane 0... Bit 7 - lane 7" access="RO" offset="0x2C.8" size="0x0.8" />
	<field name="lane_temp_lo_al" descr="Bitmask for latched OE lane temperature low alarm flag per lane.\;Bit 0 - lane 0... Bit 7 - lane 7" access="RO" offset="0x2C.16" size="0x0.8" />
	<field name="lane_temp_hi_al" descr="Bitmask for latched OE lane temperature high alarm flag per lane.\;Bit 0 - lane 0... Bit 7 - lane 7" access="RO" offset="0x2C.24" size="0x0.8" />
</node>

<node name="mofde_ext" descr="" size="0x4.0" >
	<field name="status" descr="Status of Flash Erasing:\;0: No data to erase\;1: Flash Storage is erased (after this status is returned, status will be changed to 0).\;2: Erase in progress.\;7: Fail to erase - Iron cannot access flash." access="RO" offset="0x0.0" size="0x0.3" />
	<field name="erase_log" descr="Erase Logged dump from flash.\;0: do nothing - shouldn&apos;t happen, FW will return BAT_STATUS\;1: erase dump from flash" access="OP" offset="0x0.28" size="0x0.4" />
</node>

<node name="mofpc_ext" descr="" size="0xc.0" >
	<field name="profile" descr="Flow Estimator profile index\;range 0 - cap_max_flow_estimator_profile - 1" access="INDEX" offset="0x0.0" size="0x0.3" />
	<field name="log_num_of_bins" descr="Number of bins for flow estimator must be power of 2.\;Number of bins = 2^log_num_of_bins\;Range 0 - cap_max_flow_estimator_bins_log\;Default value is 0." access="RW" offset="0x4.0" size="0x0.4" />
</node>

<node name="mofph_ext" descr="" size="0x20.0" >
	<field name="type" descr="Hash type\;0: CRC - (default)\;1: XOR_HASH\;2: Random" access="RW" enum="CRC=0x0,XOR_HASH=0x1,Random=0x2" offset="0x0.0" size="0x0.4" />
	<field name="profile" descr="Flow Estimator Profile Index\;Range 0 - cap_max_flow_estimator_profile - 1" access="INDEX" offset="0x0.8" size="0x0.3" />
	<field name="seed_by_sw" descr="8 bit of seed for hash function.\;Reserved when seed_en is disabled or by HW." access="RW" offset="0x4.0" size="0x0.8" />
	<field name="seed_en" descr="0: Disabled\;1: Seed_by_HW\;2: Seed_by_SW\;" access="RW" enum="Disabled=0x0,Seed_by_HW=0x1,Seed_by_SW=0x2" offset="0x4.30" size="0x0.2" />
	<field name="outer_header_enables" descr="Outer header enables. Each bit enables a specific layer field to be included in the hash calculation. Layers that are not listed below are enabled by default.\;Bit 0: Enable IPv4 fields if packet is not TCP and not UDP\;Bit 1: Enable IPv4 fields if packet is either TCP or UDP\;Bit 2: Enable IPv6 fields if packet is not TCP and not UDP\;Bit 3: Enable IPv6 fields if packet is either TCP or UDP\;Bit 4: Enable TCP/UDP header fields if packet is IPv4\;Bit 5: Enable TCP/UDP header fields if packet is IPv6" access="RW" offset="0x8.0" size="0x0.16" />
	<field name="outer_header_hash" descr="If a bit is set, the relevant field will be calculated in the hash.\;ipv4:\;0-3: ipv4 dip bytes 0-3\;4-7: ipv4 sip bytes 0-3\;8: IPv4 mask fragments - mask ipv4 fragmented packets (mask all fields after ipv4 header)\;9: ipv4 next protocol\;ipv6:\;10: ipv6 dip bytes 0-7 (one bit for all 8 bytes)\;11-18: ipv6 dip bytes 8-15\;19: ipv6 sip bytes 0-7 (one bit for all 8 bytes)\;20-27: ipv6 sip bytes 8-15\;29: ipv6 next protocol\;L4:\;30: L4 dest port (only for UDP and TCP)\;31: L4 source port (only for UDP and TCP)\;mpls:\;33: mpls exp\;34-39: mpls label 0-5\;40: mask label after extension - mask the label after the indication label for the extension reserved labels (label 15)\;41: mask labels and headers after entropy - mask all the labels and headers after entropy label, note that both ELI and EL are not masked, all headers after MPLS stack are masked (e.g ip header)\;42: if mpls, mask all the headers after mpls header\;43: mask reserved labels - supports up to 256 reserved labels. not mask ELs (entropy labels)\;general:\;44: arp dip\;45: arp sip\;46: bth_dest_qp\;47: mask after flex (mask all the headers after flex)\;48: grh dip\;49: grh next protocol\;50: grh sip\;51: if packet is vxlan/geneve/gpe, mask all next headers after UDP\;52: if packet is vxlan/geneve/gpe, mask all header after vxlan/geneve/gpe\;53: ingress port\;54: if packet is nvgre - mask all next headers after nvgre" subnode="uint64" access="RW" offset="0x10.0" size="0x8.0" />
	<field name="inner_header_enables" descr="Inner header enables. Each bit enables a specific layer field to be included in the hash calculation. Layers that are not listed below are enabled by default.\;Bit 0: Enable IPv4 fields if packet is not TCP and not UDP\;Bit 1: Enable IPv4 fields if packet is either TCP or UDP\;Bit 2: Enable IPv6 fields if packet is not TCP and not UDP\;Bit 3: Enable IPv6 fields if packet is either TCP or UDP\;Bit 4: Enable TCP/UDP header fields if packet is IPv4\;Bit 5: Enable TCP/UDP header fields if packet is IPv6" access="RW" offset="0x18.0" size="0x0.16" />
	<field name="inner_header_hash" descr="If a bit is set, the relevant field will be calculated in the hash.\;\;ipv4:\;0-3: ipv4 dip bytes 0-3 (arp dip is not supported for inner)\;4-7: ipv4 sip bytes 0-3\;8: IPv4 mask fragments - mask ipv4 fragmented packets (mask all fields after ipv4 header)\;9: ipv4 next protocol\;\;ipv6:\;10: ipv6 dip bytes 0-7 (one bit for all 8 bytes)\;11-18: ipv6 dip bytes 8-15\;19: ipv6 sip bytes 0-7 (one bit for all 8 bytes)\;20-27: ipv6 sip bytes 8-15\;28: ipv6 flow label\;29: ipv6 next protocol\;\;L4:\;30: L4 dest port (only for UDP and TCP)\;31: L4 source port (only for UDP and TCP)" access="RW" offset="0x1C.0" size="0x4.0" />
</node>

<node name="mofrb_ext" descr="" size="0x210.0" >
	<field name="num_rec" descr="On Query: Number of records to read\;0 .. cap_max_flow_estimator_bins" access="RW" offset="0x0.0" size="0x0.11" />
	<field name="clear" descr="clear:\;0: do NOT clear the bins\;1: clear the bins" access="OP" offset="0x0.31" size="0x0.1" />
	<field name="counter_index_base" descr="counter index of the first bin\;For Spectrum: see Section 5.2, &quot;Flow Counters&quot;, on page 1404\;Range 0 .. cap_shared_counter_pool_size - 1" access="INDEX" offset="0x4.0" size="0x0.24" />
	<field name="flow_estimator_bin" descr="Flow estimator bin value" access="RO" high_bound="511" low_bound="0" offset="0x10.24" size="0x200.0" />
</node>

<node name="mogcr_ext" descr="" size="0x20.0" >
	<field name="ptp_eftc" descr="PTP Egress FIFO Trap Clear\;The PTP_EGR_FIFO trap provides MTPPTR with clr according to this value. Default 0.\;Supported for Spectrum-1, reserved otherwise." access="RW" offset="0x0.0" size="0x0.1" />
	<field name="ptp_iftc" descr="PTP Ingress FIFO Trap Clear\;The PTP_ING_FIFO trap provides MTPPTR with clr according to this value. Default 0.\;Supported for Spectrum-1, reserved otherwise." access="RW" offset="0x0.1" size="0x0.1" />
	<field name="tele_managed" descr="Telemetry is managed:\;0: telemetery is unmanged (default for IB switches)\;1: telemetery is manged (default for Eth switches)\;When unmanaged - the events are by VS-MADs\;When managed - the events are by EMADs\;Reserved when Ethernet switches" access="RW" offset="0x0.8" size="0x0.1" />
	<field name="sid" descr="Sample ingress discards:\;0: ingress discards are not sampled\;1: ingress discards are sampled\;Reserved when Quantum switches." access="RW" offset="0x8.0" size="0x0.1" />
	<field name="mirroring_pid_base" descr="Base policer id for mirroring policers.\;Must have an even value (e.g. 1000, not 1001).\;Reserved when Spectrum-1 and Quantum-1/-2." access="RW" offset="0xC.0" size="0x0.14" />
	<field name="mirror_latency_units" descr="Units of mirror header latency\;Units of nSec\;For Spectrum-2/3: values are 1,2,4..32768nSec\;Default 64nSec\;See Table 972, &quot;ERSPAN Mirror Header TLV LATENCY Frame Layout,&quot; on page 1450\;Reserved when Spectrum-1 and from Spectrum-6." access="RW" offset="0x14.0" size="0x0.16" />
	<field name="latency_histogram_units" descr="Units of latency histograms\;Units of nSec\;For Spectrum-2/3: values are 1,2,4..32768nSec\;Default 64nSec\;See Section 10.6.4.1, &quot;Latency Histograms&quot;, on page 3286\;Reserved when Spectrum\;" access="RW" offset="0x18.0" size="0x0.16" />
	<field name="toc_fmt" descr="Timestamp over CRC format:\;0: Free_Running_Clock - Default\;1: UTC\;Reserved when local_toc_fmt=1.\;This configuration is used by PCMR to configure ToC per local port.\;Reserved when Spectrum-1." access="RW" enum="Free_Running_Clock=0x0,UTC=0x1" offset="0x1C.24" size="0x0.1" />
	<field name="local_toc_fmt" descr="0: GLOBAL - toc_fmt dictates timestamp over CRC globally.\;1: LOCAL - toc_fmt sets the timestamp over CRC default value. PFCR can set ToC format individually. (See Section 9.18.22, &quot;PFCR - Ports FCS Configuration Register&quot;, on page 3203)\;Reserved when Spectrum-1." access="RW" offset="0x1C.25" size="0x0.1" />
</node>

<node name="molp_ext" descr="" size="0x8.0" >
	<field name="lp_msb" descr="Local port[9:8]" access="INDEX" offset="0x0.12" size="0x0.2" />
	<field name="local_port" descr="Local Port" access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="label_port" descr="Label on the front panel.\;Used for mirror header and for EMT (Egress Modifier Template)." access="RW" offset="0x4.0" size="0x0.16" />
</node>

<node name="momte_ext" descr="" size="0x10.0" >
	<field name="mngr_type" descr="Manager Type\;0: HYPERVISOR\;1: LNM - local network manager\;Reserved when Spectrum/-2" access="OP" enum="HYPERVISOR=0x0,LNM=0x1" offset="0x0.8" size="0x0.4" />
	<field name="lp_msb" descr="Local port[9:8]" access="INDEX" offset="0x0.12" size="0x0.2" />
	<field name="local_port" descr="If (mngr_type == &quot;Hypervisor&quot;)\;Unique port identifier for the final destination of the packet\;If (mngr_type == &quot;Local Network Manager&quot;) and the port from which the command came from is InfiniBand: \;ib port number\;If (mngr_type == &quot;Local Network Manager&quot;) and the port from which the command came from is Ethernet: \;Local Port\;\;For Quantum:\;- Supported to/from Aggregation Node\;- Not supported to/from IB Router port" access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="swid" descr="Switch Partition ID\;Reserved when mngr_type = LNM\;Reserved when Ethernet switches" access="INDEX" offset="0x0.24" size="0x0.8" />
	<field name="type" descr="See Section 5.4.2, &quot;Mirror Triggers&quot;, on page 1420\;Type:\;0x20: WRED_egress - no CPU port\;0x31: SHARED_BUFFER_TClass - egress\;0x33: SHARED_BUFFER_Egress_Port - egress\;0x40: ING_CONG - ingress\;0x50: EGR_CONG - egress\;0x60: ECN - egress, no CPU port\;0x70: HIGH_LATENCY - egress, no CPU port" access="INDEX" enum="WRED_egress=0x20,SHARED_BUFFER_TClass=0x31,SHARED_BUFFER_Egress_Port=0x33,ING_CONG=0x40,EGR_CONG=0x50,ECN=0x60,HIGH_LATENCY=0x70" offset="0x4.0" size="0x0.8" />
	<field name="tclass_en_high" descr="TClass/PG mirror enable (for IB switches this is VL enable)\;Each bit represents corresponding tclass\;0: disable (default)\;1: enable\;When type = 0x33: only bit0 is used, representing the port\;Valid bits for Ethernet devices: 0.. cap_max_tclass_data - 1" access="RW" offset="0x8.0" size="0x4.0" />
	<field name="tclass_en_low" descr="TClass/PG mirror enable (for IB switches this is VL enable)\;Each bit represents corresponding tclass\;0: disable (default)\;1: enable\;When type = 0x33: only bit0 is used, representing the port\;Valid bits for Ethernet devices: 0.. cap_max_tclass_data - 1" access="RW" offset="0xC.0" size="0x4.0" />
</node>

<node name="moni_ext" descr="" size="0x8.0" >
	<field name="lp_msb" descr="Local port[9:8]" access="INDEX" offset="0x0.12" size="0x0.2" />
	<field name="local_port" descr="Local port\;Not supported for CPU port" access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="en" descr="Enable monitoring on network interface:\;0: disable (default)\;1: enable" access="RW" offset="0x4.0" size="0x0.1" />
</node>

<node name="mord_v2_ext" descr="" size="0x34.0" >
	<field name="segment_type" descr="See Resource Dump section in the Adapters PRM." access="INDEX" offset="0x0.0" size="0x0.16" />
	<field name="seq_num" descr="Sequence number. 0 on first call of dump and incremented on each more dump." access="INDEX" offset="0x0.16" size="0x0.4" />
	<field name="vhca_id_valid" descr="If set, then vhca_id field is valid. Otherwise dump resources on my vhca_id.\;Not supported in Switch." access="WO" offset="0x0.29" size="0x0.1" />
	<field name="inline_dump" descr="If set, data is dumped in the register in inline_data field. otherwise dump to mkey.\;Supports only inline dump = 1" access="OP" offset="0x0.30" size="0x0.1" />
	<field name="more_dump" descr="If set, the device has additional information that has not been dumped yet." access="RO" offset="0x0.31" size="0x0.1" />
	<field name="vhca_id" descr="vhca_id where the resource is allocated.\;Not supported in Switch." access="WO" offset="0x4.0" size="0x0.16" />
	<field name="data_size" descr="Number of data records." access="OP" offset="0x4.16" size="0x0.13" />
	<field name="index1" descr="First object index to be dumped when supported by the object.\;SW shall read this field upon command done and shall provide it on the next call in case dump_more==1." access="INDEX" offset="0x8.0" size="0x4.0" />
	<field name="index2" descr="Second object index to be dumped when supported by the object.\;SW shall read this field upon command done and shall provide it on the next call in case dump_more==1." access="INDEX" offset="0xC.0" size="0x4.0" />
	<field name="num_of_obj2" descr="The amount of objects to dump starting for index 2.\;SW shall read this field upon command done and shall provide it on the next call in case dump_more==1. \;Range is 0..0xfff0. When the segment&apos;s num_of_obj2_supports_all is set, the special value of 0xffff represents &quot;all&quot;. When the segment&apos;s num_of_objx_supports_active is set, the special value of 0xfffe represents &quot;active&quot;. The  value of 0x0 and 0x1 are allowed even if the supported_num_of_obj2 is &quot;0&quot;." access="INDEX" offset="0x10.0" size="0x0.16" />
	<field name="num_of_obj1" descr="The amount of objects to dump starting for index 1\;SW shall read this field upon command done and shall provide it on the next call in case dump_more==1. \;Range is 0..0xfff0. When the segment&apos;s num_of_obj1_supports_all is set, the special value of 0xffff represents &quot;all&quot;. When the segment&apos;s num_of_objx_supports_active is set, the special value of 0xfffe represents &quot;active&quot;. The value of 0x0 and 0x1 are allowed even if the supported_num_of_obj1 is &quot;0&quot;." access="INDEX" offset="0x10.16" size="0x0.16" />
	<field name="device_opaque" descr="An opaque provided by the device. SW shall read the device_opaque upon command done and shall provide it on the next call in case dump_more==1. On first call, device_opaque shall be 0.\;" subnode="uint64" access="INDEX" offset="0x18.0" size="0x8.0" />
	<field name="mkey" descr="Memory key to dump to. \;Valid when inline_dump==0.\;Not supported in Switch." access="WO" offset="0x20.0" size="0x4.0" />
	<field name="size" descr="In write, the size of maximum allocated buffer that the device can use.\;In read, the actual written size.\;In granularity of Bytes.\;Not supported in Switch." access="RO" offset="0x24.0" size="0x4.0" />
	<field name="address" descr="VA address (absolute address) of memory where to start dumping. \;Valid when inline_dump==0.\;Not supported in Switch." subnode="uint64" access="WO" offset="0x28.0" size="0x8.0" />
	<field name="inline_data" descr="Data that is dumped in case of inline mode.\;Valid when inline_dump==1." access="RO" high_bound="VARIABLE" low_bound="0" offset="0x30.0" size="0x4.0" />
</node>

<node name="motbt_ext" descr="" size="0x10.0" >
	<field name="tx_group" descr="Trimming Tx group\;" access="INDEX" offset="0x0.0" size="0x0.4" />
	<field name="bts_per_tclass_mask" descr="Write enable for the BTS/T&amp;F per Traffic Class.\;Bit index corresponds to an original Traffic Class.\;Reserved on Qurey." access="WO" offset="0x8.0" size="0x0.16" />
	<field name="bts_per_tclass" descr="BTS or T&amp;F.\;Bitmap - bit index corresponds to an original Traffic Class.\;0: FWD - Trim and Forward\;1: BTS - Back to Sender" access="RW" enum="FWD=0x0,BTS=0x1" offset="0xC.0" size="0x0.16" />
</node>

<node name="motcc_binding_ext" descr="" size="0x10.0" >
	<field name="sent_counter_index" descr="Sent trimmed packets counter index base for flow counters." access="RW" offset="0x0.0" size="0x0.24" />
	<field name="sent_counter_set_type" descr="Sent trimmed packets counter set type.\;See Section 5.2.2.1, &quot;Flow Counter Set Types&quot;, on page 1405.\;0x0: NO_COUNT - Don&apos;t count (default)\;0x3: PACKET_BYTE- Counts packets and bytes or just packets\;\;When MOTCC.packets_only is set - bytes are not counted and two consecutive packet counters are counted in the same packets and bytes counter set.\;\;Other values are reserved." access="RW" enum="NO_COUNT=0x0,PACKET_BYTE=0x3" offset="0x0.24" size="0x0.8" />
	<field name="dropped_counter_index" descr="Dropped trimming packets counter index base for flow counters." access="RW" offset="0x4.0" size="0x0.24" />
	<field name="dropped_counter_set_type" descr="Dropped trimming packets counter set type.\;See Section 5.2.2.1, &quot;Flow Counter Set Types&quot;, on page 1405.\;0x0: NO_COUNT - Don&apos;t count (default)\;0x3: PACKET_BYTE- Counts packets and bytes or just packets\;\;When MOTCC.packets_only is set - bytes are not counted and two consecutive packet counters are counted in the same packets and bytes counter set.\;\;Other values are reserved." access="RW" enum="NO_COUNT=0x0,PACKET_BYTE=0x3" offset="0x4.24" size="0x0.8" />
</node>

<node name="motcc_ext" descr="" size="0x40.0" >
	<field name="num_tclass" descr="Number of Traffic Class counters per port.\;Reserved when per_tclass=0, in this case there is one counter per port that counts all TCs.\;In Spectrum-6, the last counter (num_tclass-1) tracks all unselected TCs.\;\;Spectrum-6 valid values: 1, 2, 4, 8,16." access="RW" offset="0x0.0" size="0x0.8" />
	<field name="per_tclass" descr="Count trimming per Traffic Class (tclass).\;When enabled multiple counters are set per port to count per selected TCs configured in tclass_mask.\;\;0: All TCs are counted on a single counter per port.\;1: TCs are counted individually, multiple counters per port." access="RW" offset="0x0.30" size="0x0.1" />
	<field name="packets_bytes" descr="Count both packets and bytes.\;When enabled, all trimming counters bound in MOTCB count packets an bytes.\;\;0: Packets only\;1: Packets and bytes\;\;When counting packets only, a single flow counter is used to track two consecutive trimming counters, which conserves flow counter resources." access="RW" offset="0x0.31" size="0x0.1" />
	<field name="tclass_mask" descr="Traffic Classes to track.\;Reserved when per_tclass=0.\;Up to num_tclass can be set.\;Trimming packets from unselected TCs are tracked on the last counter (num_tclass-1)" access="RW" offset="0x4.0" size="0x0.16" />
	<field name="counters_binding" descr="Flow counters bindings.\;Table 1166, &quot;MOTCC - Counters Binding Layout,&quot; on page 1646" subnode="motcc_binding_ext" access="RW" offset="0x10.0" size="0x10.0" />
</node>

<node name="motcnt_ext" descr="" size="0x18.0" >
	<field name="num_rec" descr="Number of records in counter_set[...].\;Reserved on Write." access="OP" offset="0x0.0" size="0x0.10" />
	<field name="lp_msb" descr="Local port[9:8]\;Reserved on Write." access="INDEX" offset="0x0.12" size="0x0.2" />
	<field name="local_port" descr="First local port\;Not supported for CPU port - 0 is read for the CPU port.\;Reserved on Write." access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="clr_all" descr="Clear all counters - Write only" access="OP" offset="0x0.30" size="0x0.1" />
	<field name="clr" descr="Clear counters\;Reserved on Write." access="OP" offset="0x0.31" size="0x0.1" />
	<field name="packet_counter" descr="Sent trimmed packets counters.\;packet_counter[i] is for local_port+i.\;Reserved on Write." subnode="uint64" access="RW" arr_is_dynamic="1" high_bound="VARIABLE" low_bound="0" offset="0x10.0" size="0x8.0" size_condition="$(parent).num_rec" />
</node>

<node name="motcnt_v2_ext" descr="" size="0xa8.0" >
	<field name="num_rec" descr="Number of records in counter[...].\;The number expected to be no less than the number of ports selected in port_bitmask multiplied by the counter set size.\;Only complete counter sets (per port) are read. The actual number of read records is returned in the response.\;num_rec = ones_in(port_mask)Xones_in(tclass_mask)X(pb+1)" access="OP" offset="0x0.0" size="0x0.16" />
	<field name="counter_type" descr="Which trimming counters to read.\;0: SENT - sent trimmed packets\;1: DROPPED - dropped trimming packets\;Must be bound in MOTCC.\;Reserved in Spectrum-5." access="INDEX" enum="SENT=0x0,DROPPED=0x1" offset="0x0.24" size="0x0.4" />
	<field name="clr" descr="Clear counters.\;On Query: Read and clear.\;On Write: Clear only - supported from Spectrum-6." access="OP" offset="0x0.31" size="0x0.1" />
	<field name="tclass_mask" descr="Traffic Class mask per port.\;Reads the selected tclass.\;TCs are read low to high.\;Counters of TCs not set in MOTCC.tclass_mask read as 0.\;Reserved in Spectrum-5\;Must be unset when MOTCC.per_tclass=0 in Spectrum-6.\;Valid bit range 0..cap_max_tclass_data-1." access="OP" offset="0x4.0" size="0x0.16" />
	<field name="pb" descr="Read packets/packets+bytes.\;0: PACKETS - packets only\;1: PACKETS_BYTES - packets and bytes- packets first, bytes second (supported from Spectrum-6 only if MOTCC.packets_bytes=1)\;Reserved in Spectrum-5." access="OP" enum="PACKETS=0x0,PACKETS_BYTES=0x1" offset="0x4.18" size="0x0.2" />
	<field name="port_mask" descr="Local port bitmap.\;Valid local ports 1..cap_max_switch_ports, CPU port is not supported.\;Bit &lt;i&gt; of port_mask represents local port &lt;i&gt;.\;The bitmap is ordered in big-endian format, see Section  Byte Endianness on page 426." access="INDEX" high_bound="31" low_bound="0" offset="0x20.0" size="0x80.0" />
	<field name="counter" descr="See MOTCNT_V2 description." subnode="uint64" access="RO" arr_is_dynamic="1" high_bound="VARIABLE" low_bound="0" offset="0xA0.0" size="0x8.0" size_condition="$(parent).num_rec" />
</node>

<node name="motpr_ext" descr="" size="0x20.0" >
	<field name="profile" descr="Trimming profile index." access="INDEX" offset="0x0.0" size="0x0.8" />
	<field name="type" descr="Profile Type.\;0: FWD - Default\;1: BTS - Supported from Spectrum-6" access="RW" enum="FWD=0x0,BTS=0x1" offset="0x4.0" size="0x0.2" />
	<field name="pcp_rw" descr="Rewrite PCP and DEI according to the Switch Prio set by the agent.\;0: PRESERVE - preserves pcp_rewrite_en\;2: CLEAR - clears pcp_rewrite_en\;3: SET - sets pcp_rewrite_en\;\;Supported from Spectrum-5 onwards." access="RW" enum="PRESERVE=0x0,CLEAR=0x2,SET=0x3" offset="0x10.0" size="0x0.2" />
	<field name="dscp_rw" descr="Rewrite DSCP according to the Switch Prio set by the agent.\;0: PRESERVE - preserves dscp_rewrite_en\;2: CLEAR - clears dscp_rewrite_en\;3: SET - sets dscp_rewrite_en\;\;Supported from Spectrum-5 onwards." access="RW" enum="PRESERVE=0x0,CLEAR=0x2,SET=0x3" offset="0x10.8" size="0x0.2" />
	<field name="dscp" descr="The DSCP value to overwrite with.\;\;Supported from Spectrum-5 onwards." access="RW" offset="0x10.16" size="0x0.6" />
	<field name="overwrite_dscp" descr="Whether to overwrite DSCP with dscp provided by the trimming agent.\;Note: Can be overridden by dscp_rewrite_en if set.\;\;Supported from Spectrum-5 onwards." access="RW" offset="0x10.23" size="0x0.1" />
	<field name="bts_keep_udp" descr="[Spectrum-6]\;Whether to keep original UDP dport and sport in BTS. By default the UDP dport and sport are swapped.\;0: Swap UDP dport/sport\;1: Keep UDP dport/sport\;\;Supported in Spectrum-6 onwards.\;Reserved when type   BTS." access="RW" offset="0x14.2" size="0x0.1" />
	<field name="emt_index" descr="Egress Modifier Template binding 0.\;EMT index.\;Range: 0 .. cap_max_emts - 1.\;See FMTC, FMTE.\;\;Supported from Spectrum-5 onwards.\;Reserved when emt_bind = NOP." access="RW" offset="0x18.0" size="0x0.8" />
	<field name="emt_bind" descr="Egress Modifier Template binding 0.\;Bind an EMT:\;0: NOP - no bind\;1: PUSH - bind as push\;2: EDIT - bind as edit\;4: POP - bind as pop\;\;Supported from Spectrum-5 onwards.\;Reserved when trim=0." access="RW" enum="NOP=0x0,PUSH=0x1,EDIT=0x2,POP=0x4" offset="0x18.8" size="0x0.4" />
	<field name="modifier_base" descr="Egress Modifier Template binding 0.\;Modifier Base Label.\;\;Push/Edit/Pop will be applied in the beginning of the following selected field of encapsulated header:\;Note: Pop is allowed only with SOP (0).\;\;0: SOP (start of packet)\;1: New MAC header\;2: New ETHERTYPE \;3: New IPv4/IPv6 header\;4: New MPLS \;5: New VxLAN/Geneve/VxLAN-GPE/NVGRE \;6: New GRE header\;7: New UDP header\;8: New Flex Encap \;9: New Inner MAC header \;\;11: New Inner ETHER Type \;\;Supported from Spectrum-5 onwards.\;Reserved when emt_bind = NOP." access="RW" offset="0x18.16" size="0x0.4" />
	<field name="modifier_offset" descr="Egress Modifier Template binding 0.\;\;Offset on top of modifier_base.\;0: ZERO - zero offset\;1: CBSET_0 - offset is custom_bytes[1:0]\;2: CBSET_1 - offset is custom_bytes[3:2]\;\;Supported from Spectrum-5 onwards.\;Reserved when emt_bind = NOP." access="RW" enum="ZERO=0x0,CBSET_0=0x1,CBSET_1=0x2" offset="0x18.24" size="0x0.2" />
</node>

<node name="motrm_reg_ext" descr="" size="0xc.0" >
	<field name="lp_msb" descr="Local port[9:8]" access="INDEX" offset="0x0.12" size="0x0.2" />
	<field name="local_port" descr="Local port number (Rx ports)\;Not supported from CPU port\;Not supported from router port" access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="en_nvl" descr="For NVLink packets:\;Enable trigger mirror according to NVLink LRH.Trig field\;0: Disable mirror trigger \;1: Enable mirror trigger" access="RW" offset="0x8.0" size="0x0.1" />
	<field name="en_nvl_mng" descr="For NVL_MNG packets:\;Enable trigger mirror according to IP.DSCP[0] field\;0: Disable mirror trigger \;1: Enable mirror trigger" access="RW" offset="0x8.1" size="0x0.1" />
</node>

<node name="motspt_ext" descr="" size="0x8.0" >
	<field name="switch_prio" descr="Original Switch Priority.\;" access="INDEX" offset="0x0.0" size="0x0.4" />
	<field name="trim_switch_prio" descr="Trimming Switch Priority.\;Default value is 0." access="RW" offset="0x4.0" size="0x0.4" />
	<field name="trim_tclass" descr="Trimming Traffic Class.\;Default value is 0." access="RW" offset="0x4.16" size="0x0.5" />
</node>

<node name="mottg_ext" descr="" size="0x218.0" >
	<field name="map" descr="Mapping per local port.\;See Table 1160, &quot;MOTTG - Tx Group Map Layout,&quot; on page 1641.\;\;CPU port is not supported." access="RW" high_bound="519" low_bound="0" offset="0x10.24" size="0x208.0" />
</node>

<node name="mpagr_ext" descr="" size="0xc.0" >
	<field name="trigger" descr="Mirror trigger \;See Table 934, &quot;Mirror Triggers,&quot; on page 1421\;Reserved when the mirror binding is not Global" access="INDEX" offset="0x0.0" size="0x0.4" />
	<field name="mngr_type" descr="Manager Type\;0: HYPERVISOR - config all ports\;1: LNM - local network manager - config all ports of the SWID\;Reserved when Ethernet switches" access="OP" enum="HYPERVISOR=0x0,LNM=0x1" offset="0x0.8" size="0x0.4" />
	<field name="swid" descr="Switch Partition ID\;Reserved when mngr_type = LNM\;Reserved when Ethernet switches" access="INDEX" offset="0x0.24" size="0x0.8" />
	<field name="pa_id" descr="Port analyzer ID" access="RW" offset="0x4.0" size="0x0.4" />
	<field name="enable" descr="Enable mirroring \;By default, port mirroring is disabled for all ports.\;Reserved when Quantum and Spectrum-2." access="RW" offset="0x4.31" size="0x0.1" />
	<field name="probability_rate" descr="Sampling rate = 1 out of rate packets.\;Value of 1 means &quot;sample all&quot;.\;The value 0 behaves like 1.\;Default 1\;Note: high values are round up by HW to: {   (232-1)/n    | n      } ({232-1, 231-1, 1431655765, ...})." access="RW" offset="0x8.0" size="0x4.0" />
</node>

<node name="mpar_ext" descr="" size="0xc.0" >
	<field name="i_e" descr="Ingress/egress.\;See Table 934, &quot;Mirror Triggers,&quot; on page 1421.\;[Spectrum-6] From Spectrum-6 onwards, egress mirroring is not supported.\;Reserved when the mirror binding is not per Rx or per Tx." access="INDEX" offset="0x0.0" size="0x0.4" />
	<field name="lp_msb" descr="Local port[9:8]" access="INDEX" offset="0x0.4" size="0x0.2" />
	<field name="local_port" descr="When Ethernet: always Local Port\;\;When IB:\;If (mngr_type == &quot;Hypervisor&quot;):\;Unique port identifier\;If (mngr_type == &quot;Local Network Manager&quot;):\;ib port number\;\;For Spectrum family:\;- Supported from CPU port\;For Quantum/-2:\;- Supported to/from CPU port\;- Supported to/from Aggregation Node\;- Not supported to/from IB Router port" access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="mngr_type" descr="Manager Type\;0: HYPERVISOR\;1: LNM - local network manager\;Reserved for Spectrum family." access="OP" enum="HYPERVISOR=0x0,LNM=0x1" offset="0x0.24" size="0x0.4" />
	<field name="pa_id" descr="Port Analyzer ID (a.k.a mirror-agent)\;Reserved when enable=0" access="RW" offset="0x4.0" size="0x0.4" />
	<field name="enable" descr="Enable mirroring \;By default, port mirroring is disabled for all ports." access="RW" offset="0x4.31" size="0x0.1" />
	<field name="probability_rate" descr="Sampling rate = 1 out of rate packets.\;The value 0 behaves like 1.\;Default is 1.\;Note: high values are round up by HW to: {   (232-1)/n    | n      } ({232-1, 231-1, 1431655765, ...}). \;Reserved when Spectrum-1.\;Supported for Quantum and Spectrum-2 and on." access="RW" offset="0x8.0" size="0x4.0" />
</node>

<node name="mpat_encap_localib_ext" descr="" size="0x10.0" >
	<field name="vl" descr="Virtual Lane on which the mirrored packet is queued.\;Mirrored packets cannot be queued on VL-15" access="RW" offset="0xC.0" size="0x0.4" />
</node>

<node name="mpat_encap_remoteib_ext" descr="" size="0x4c.0" >
	<field name="dlid" descr="Destination LID. \;Note that the analyzer port is configured by the system_port field and not by forwarding the packet based on the dlid field." access="RW" offset="0x0.0" size="0x0.16" />
	<field name="dpa" descr="Dynamic port analyzer. When set to dynamic mode, the analyzer port is set based on the forwarding information for the {swid, dlid} on private-LFT 0 instead of the system_port field. In static mode, the packet is transmitted to the configured system_port regardless of the forwarding database.\;0: static analyzer port\;1: dynamic analyzer port" access="RW" offset="0x0.16" size="0x0.2" />
	<field name="sl" descr="Service Level" access="RW" offset="0x0.20" size="0x0.4" />
	<field name="we" descr="Write enable:\;0: write all fields\;1: write only psn_init_val" access="WO" offset="0x0.24" size="0x0.8" />
	<field name="slid" descr="Source LID (LID of the sending device)" access="RW" offset="0x4.0" size="0x0.16" />
	<field name="version" descr="Remote SPAN InfiniBand encapsulation header version\;1: V1 - Mirror Header Version 1\;2: V2 - Mirror Header Version 2\;" access="RW" offset="0x4.20" size="0x0.4" />
	<field name="swid" descr="Switch partition ID\;Reserved when dpa = static analyzer port\;Reserved when mngr_type = local port manager\;Switch partition ID is used for dynamic analyzer port, to set the analyzer port based on the desired forwarding table (the one that belong to the swid)." access="RW" offset="0x4.24" size="0x0.8" />
	<field name="vl" descr="Virtual Lane on which the mirrored packet is queued.\;Mirrored packets cannot be queued on VL-15." access="RW" offset="0xC.0" size="0x0.4" />
	<field name="flow_label" descr="GRH FlowLabel" access="RW" offset="0x10.0" size="0x0.20" />
	<field name="tclass" descr="GRH TClass" access="RW" offset="0x10.20" size="0x0.8" />
	<field name="hop_limit" descr="GHR HopLmt" access="RW" offset="0x14.0" size="0x0.8" />
	<field name="sgid" descr="GRH SGID[127:0]" access="RW" high_bound="3" low_bound="0" offset="0x18.0" size="0x10.0" />
	<field name="dgid" descr="GRH DGID[127:0]" access="RW" high_bound="3" low_bound="0" offset="0x28.0" size="0x10.0" />
	<field name="pkey" descr="BTH PKey" access="RW" offset="0x38.0" size="0x0.16" />
	<field name="m" descr="BTH m" access="RW" offset="0x38.22" size="0x0.1" />
	<field name="se" descr="BTH se" access="RW" offset="0x38.23" size="0x0.1" />
	<field name="dest_qp" descr="BTH dest QP" access="RW" offset="0x3C.0" size="0x0.24" />
	<field name="psn_init_val" descr="BTH packet sequence number initial value\;Note: when reading, HW will reveal the current packet sequence number" access="RW" offset="0x40.0" size="0x0.24" />
	<field name="ar" descr="BTH MLNX adaptive routing enable flag" access="RW" offset="0x40.30" size="0x0.1" />
	<field name="qkey" descr="DETH QKey" access="RW" offset="0x44.0" size="0x4.0" />
	<field name="src_qp" descr="DETH source QP" access="RW" offset="0x48.0" size="0x0.24" />
</node>

<node name="mpat_encap_rmtethl2_ext" descr="" size="0x10.0" >
	<field name="mac_47_32" descr="Destination MAC address" access="RW" offset="0x0.0" size="0x0.16" />
	<field name="dpa" descr="Dynamic port analyzer. \;When set to dynamic mode, the analyzer port is set based on the forwarding information for the {mac, vid} combination and not based on the system_port field. In static mode, the packet is transmitted to the configured system_port regardless of the forwarding database. Note that in Dynamic mode, if the switch FDB does not hold a filtering entry for the {mac, vid}, the mirroring copy is not flooded - it is discarded.\;0: STATIC_ANALYZER - static analyzer port\;1: DYNAMIC_ANALYZER - dynamic analyzer port\;Reserved when ubridge=1" access="RW" enum="STATIC_ANALYZER=0x0,DYNAMIC_ANALYZER=0x1" offset="0x0.16" size="0x0.2" />
	<field name="version" descr="ERSPAN mirror header version.\;0: V0 - Mirror Header Version 0.\;1: V1 - Mirror Header Version 1.\;2: V2 - Mirror Header Version 2. Reserved when Spectrum-1.\;15: NO_HEADER - No Mirror header" access="RW" enum="V0=0x0,V1=0x1,V2=0x2,NO_HEADER=0xf" offset="0x0.18" size="0x0.4" />
	<field name="swid" descr="Switch partition ID\;Reserved when dpa = static analyzer port\;Reserved when mngr_type = local port manager\;Switch partition ID is used for dynamic analyzer port, to set the Analyzer port based on the desired forwarding table (the one that belong to the swid).\;Reserved when Spectrum/-2" access="RW" offset="0x0.24" size="0x0.8" />
	<field name="mac_31_0" descr="Destination MAC address" access="RW" offset="0x4.0" size="0x4.0" />
	<field name="vid" descr="When dpa = 0: Encapsulation header VLAN ID\;When dpa = 1 and fid &lt; 4K (fid_msb = 0) then: VLAN ID\;When dpa = 1 and fid &gt;=4K (fid_msb != 0) then: FID lsb" access="RW" offset="0x8.0" size="0x0.12" />
	<field name="dei" descr="Encapsulation header DEI. \;Reserved when qos is QoS maintain\;Reserved when tp = 0" access="RW" offset="0x8.12" size="0x0.1" />
	<field name="pcp" descr="Encapsulation header PCP. \;Reserved when qos is QoS maintain\;Reserved when tp = 0" access="RW" offset="0x8.13" size="0x0.3" />
	<field name="tp" descr="Tag Packet. Indicates the mirroring header should be VLAN tagged.\;0: Mirror packet is un-tagged\;1: Mirror packet is tagged" access="RW" offset="0x8.16" size="0x0.1" />
	<field name="tclass" descr="Traffic Class\;For Spectrum switches: Switch Priority\;Reserved when qos is QoS maintain\;Reserved when imp=1" access="RW" offset="0xC.0" size="0x0.4" />
	<field name="vlan_et_id" descr="Encapsulation header VLAN Ethertype ID\;Default is &apos;0&apos;\;Ethertype IDs are configured by SVER, see Section 7.12.38, &quot;SVER - Switch VLAN EtherType Register&quot;, on page 2117" access="RW" offset="0xC.16" size="0x0.2" />
	<field name="fid_msb" descr="FID msb\;Reserved when dpa=0" access="RW" offset="0xC.24" size="0x0.4" />
</node>

<node name="mpat_encap_rmtethl3gre_ext" descr="" size="0x50.0" >
	<field name="mac_47_32" descr="Destination MAC address" access="RW" offset="0x0.0" size="0x0.16" />
	<field name="dpa" descr="Dynamic port analyzer. \;When set to dynamic mode, the analyzer port is set based on the forwarding information for the {mac, vid} combination and not based on the system_port field. In static mode, the packet is transmitted to the configured system_port regardless of the forwarding database. Note that in Dynamic mode, if the switch FDB does not hold a filtering entry for the {mac, vid}, the mirroring copy is not flooded - it is discarded.\;0: STATIC_ANALYZER - static analyzer port\;1: DYNAMIC_ANALYZER - dynamic analyzer port\;Reserved when ubridge=1" access="RW" enum="STATIC_ANALYZER=0x0,DYNAMIC_ANALYZER=0x1" offset="0x0.16" size="0x0.2" />
	<field name="version" descr="ERSPAN mirror header version.\;\;1: V1 - Mirror Header Version 1.\;2: V2 - Mirror Header Version 2. Reserved when Spectrum-1.\;15: NO_HEADER - No Mirror header" access="RW" enum="V1=0x1,V2=0x2,NO_HEADER=0xf" offset="0x0.18" size="0x0.4" />
	<field name="swid" descr="Switch partition ID\;Reserved when dpa = static analyzer port\;Reserved when mngr_type = local port manager\;Switch partition ID is used for dynamic analyzer port, to set the Analyzer port based on the desired forwarding table (the one that belong to the swid).\;Reserved when Spectrum/-2" access="RW" offset="0x0.24" size="0x0.8" />
	<field name="mac_31_0" descr="Destination MAC address" access="RW" offset="0x4.0" size="0x4.0" />
	<field name="vid" descr="When dpa = 0: Encapsulation header VLAN ID\;When dpa = 1 and fid &lt; 4K (fid_msb = 0) then: VLAN ID\;When dpa = 1 and fid &gt;=4K (fid_msb != 0) then: FID lsb" access="RW" offset="0x8.0" size="0x0.12" />
	<field name="dei" descr="Encapsulation header DEI. \;Reserved when qos is QoS maintain\;Reserved when tp = 0" access="RW" offset="0x8.12" size="0x0.1" />
	<field name="pcp" descr="Encapsulation header PCP. \;Reserved when qos is QoS maintain\;Reserved when tp = 0" access="RW" offset="0x8.13" size="0x0.3" />
	<field name="tp" descr="Tag Packet. Indicates the mirroring header should be VLAN tagged.\;0: Mirror packet is un-tagged\;1: Mirror packet is tagged" access="RW" offset="0x8.16" size="0x0.1" />
	<field name="dscp" descr="Encapsulation header DSCP\;Reserved when qos is QoS maintain" access="RW" offset="0x8.18" size="0x0.6" />
	<field name="protocol" descr="0: IPV4\;1: IPV6" access="RW" enum="IPV4=0x0,IPV6=0x1" offset="0x8.24" size="0x0.4" />
	<field name="tclass" descr="Traffic Class\;For Spectrum switches: Switch Priority\;Reserved when qos is QoS maintain\;Reserved when imp=1" access="RW" offset="0xC.0" size="0x0.4" />
	<field name="ttl" descr="Encapsulation header Time-to-Live/HopLimit" access="RW" offset="0xC.4" size="0x0.8" />
	<field name="ecn" descr="Encapsulation header ECN" access="RW" offset="0xC.12" size="0x0.2" />
	<field name="vlan_et_id" descr="Encapsulation header VLAN Ethertype ID\;Default is &apos;0&apos;\;Ethertype IDs are configured by SVER, see Section 7.12.38, &quot;SVER - Switch VLAN EtherType Register&quot;, on page 2117" access="RW" offset="0xC.16" size="0x0.2" />
	<field name="fid_msb" descr="FID msb\;Reserved when dpa=0" access="RW" offset="0xC.24" size="0x0.4" />
	<field name="smac_47_32" descr="Source MAC address" access="RW" offset="0x10.0" size="0x0.16" />
	<field name="smac_31_0" descr="Source MAC address" access="RW" offset="0x14.0" size="0x4.0" />
	<field name="dip" descr="Destination IP address\;The IP version is configured by protocol\;IPv4 address uses bits dip[31:0] and bits dip[127:32] are reserved." access="RW" high_bound="3" low_bound="0" offset="0x30.0" size="0x10.0" />
	<field name="sip" descr="Source IP address\;The IP version is configured by protocol\;IPv4 address uses bits dip[31:0] and bits dip[127:32] are reserved." access="RW" high_bound="3" low_bound="0" offset="0x40.0" size="0x10.0" />
</node>

<node name="mpat_encap_rmtethvlan_ext" descr="" size="0x10.0" >
	<field name="vid" descr="Encapsulation header VLAN ID" access="RW" offset="0x8.0" size="0x0.12" />
	<field name="dei" descr="Encapsulation header DEI\;Reserved when qos is QoS maintain" access="RW" offset="0x8.12" size="0x0.1" />
	<field name="pcp" descr="Encapsulation header PCP\;Reserved when qos is QoS maintain" access="RW" offset="0x8.13" size="0x0.3" />
	<field name="tclass" descr="Traffic Class.\;For Spectrum switches: Switch Priority\;Reserved when qos is QoS maintain\;Reserved when imp=1" access="RW" offset="0xC.0" size="0x0.4" />
	<field name="vlan_et_id" descr="Encapsulation header VLAN Ethertype ID\;Default is &apos;0&apos;\;Ethertype IDs are configured by SVER, see Section 7.12.38, &quot;SVER - Switch VLAN EtherType Register&quot;, on page 2117" access="RW" offset="0xC.16" size="0x0.2" />
</node>

<node name="mpat_reg_encapsulation_auto_ext" descr="" attr_is_union="1" size="0x50.0" >
	<field name="local_span_ext" descr="" subnode="local_span_ext" offset="0x0.0" selected_by="LOCAL_ETH" size="0x10.0" />
	<field name="mpat_encap_localib_ext" descr="" subnode="mpat_encap_localib_ext" offset="0x0.0" selected_by="LOCAL_IB" size="0x10.0" />
	<field name="mpat_encap_remoteib_ext" descr="" subnode="mpat_encap_remoteib_ext" offset="0x0.0" selected_by="REMOTE_IB_GLOBAL_UD" size="0x4c.0" />
	<field name="mpat_encap_rmtethl2_ext" descr="" subnode="mpat_encap_rmtethl2_ext" offset="0x0.0" selected_by="REMOTE_ETH_L2" size="0x10.0" />
	<field name="mpat_encap_rmtethl3gre_ext" descr="" subnode="mpat_encap_rmtethl3gre_ext" offset="0x0.0" selected_by="REMOTE_ETH_L3" size="0x50.0" />
	<field name="mpat_encap_rmtethvlan_ext" descr="" subnode="mpat_encap_rmtethvlan_ext" offset="0x0.0" selected_by="REMOTE_ETH" size="0x10.0" />
	<field name="remote_span_ib_local_ud_ext" descr="" subnode="remote_span_ib_local_ud_ext" offset="0x0.0" selected_by="REMOTE_IB_LOCAL_UD" size="0x4c.0" />
</node>

<node name="mpat_reg_ext" descr="" size="0x9c.0" >
	<field name="system_port" descr="If (mngr_type == &quot;Hypervisor&quot;)\;Unique port identifier for the final destination of the packet\;If (mngr_type == &quot;Local Network Manager&quot;) and the port from which the command came from is InfiniBand: \;ib port number\;If (mngr_type == &quot;Local Network Manager&quot;) and the port from which the command came from is Ethernet: \;Local Port\;For Spectrum-1: CPU port is not supported\;For Quantum/-2: CPU port is supported\;From Spectrum-2: CPU port is supported\;Note: when CPU port:\;1. span_type must be LOCAL_ETH or LOCAL_IB\;2. tr is reserved (no truncation)\;Reserved when dpa = 1\;Reserved when imp=1" access="RW" offset="0x0.0" size="0x0.16" />
	<field name="mngr_type" descr="Manager Type\;0: HYPERVISOR\;1: LOCAL_NETWORK_MANAGER\;For more details regarding Manager Type, refer to Section 2.14, &quot;Management Security Hierarchy&quot;, on page 625." access="OP" enum="HYPERVISOR=0x0,LOCAL_NETWORK_MANAGER=0x1" offset="0x0.16" size="0x0.4" />
	<field name="session_id" descr="Mirror Session ID.\;Used for MIRROR_SESSION&lt;i&gt; trap.\;Reserved when Spectrum-1." access="RW" offset="0x0.24" size="0x0.4" />
	<field name="pa_id" descr="Port Analyzer ID (a.k.a mirror-agent)\;Range 0 .. cap_max_span_analyzers - 1.\;When trim=1, only pa_id=0 is supported." access="INDEX" offset="0x0.28" size="0x0.4" />
	<field name="span_type" descr="See Table 1127, &quot;Span Types,&quot; on page 1613\;0x0: LOCAL_ETH\;0x1: REMOTE_ETH\;0x2: REMOTE_ETH_L2\;0x3: REMOTE_ETH_L3\;0x4: LOCAL_IB\;0xA: REMOTE_IB_LOCAL_UD\;0xB: REMOTE_IB_GLOBAL_UD" access="RW" enum="LOCAL_ETH=0x0,REMOTE_ETH=0x1,REMOTE_ETH_L2=0x2,REMOTE_ETH_L3=0x3,LOCAL_IB=0x4,REMOTE_IB_LOCAL_UD=0xa,REMOTE_IB_GLOBAL_UD=0xb" offset="0x4.0" size="0x0.4" />
	<field name="trim" descr="Trimming agent enable.\;When enabled, the agent is used for trimming only. Agent can&apos;t be used for mirroring at any trigger point.\;Supported only with INGRESS_SHARED_BUFFER trigger.\;\;Supported from Spectrum-5 onwards.\;Supported for pa_id=0 only." access="RW" offset="0x4.4" size="0x0.1" />
	<field name="imp" descr="Is Multi Port:\;0: Mirror only to one port - according to system_port description\;1: Mirror to one of the multi_ports, see nmp description\;\;If nmp != 0, the decision to which port to mirror will be according to multi_port[ingress_port_lag_hash[1:0]]" access="OP" offset="0x4.16" size="0x0.1" />
	<field name="nmp" descr="Number of Multi Port:\;0: mirror to single port, multi_port[0]\;1: mirror to one of 2 ports, multi_port[0] and multi_port[1]\;2: mirror to one of 4 ports, multi_port[0] - multi_port[3]\;Reserved when imp = 0." access="OP" offset="0x4.17" size="0x0.2" />
	<field name="tr" descr="Truncate. Indicates all packets mirrored to this Analyzer port will be truncated.\;Truncation size is defined by truncation_size\;For Spectrum, packets from CPU to a truncation-enabled agent will not be mirrored. \;For Spectrum-2, packets from CPU to a truncation-enabled agent will be mirrored\;Reserved when system_port is to CPU\;Reserved when MPAT.itc = 1" access="RW" offset="0x4.24" size="0x0.1" />
	<field name="be" descr="Best Effort. Indicates mirroring traffic should not cause packet drop or back pressure but will discard the mirroring packets. Mirroring packets will be forwarded in a best effort manner.\;0: NOT_DISCARD - Do not discard mirrored packets\;1: DISCARD - Discard mirrored packets if causing congestion\;Relevant both for ingress mirror and egress mirror\;\;" access="RW" enum="NOT_DISCARD=0x0,DISCARD=0x1" offset="0x4.25" size="0x0.1" />
	<field name="qos" descr="Quality of Service mode\;0: CONFIGURED - QoS parameters (Switch Priority, and encapsulation PCP, DEI, DSCP or VL) are configured\;1: MAINTAIN - QoS parameters (Switch Priority, Color) are the same as in the original packet that has triggered the mirroring. For SPAN also the pcp,dei are maintained. Reserved when Spectrum.\;For SPAN packets the PCP, DEI is as mirrored packet" access="RW" enum="CONFIGURED=0x0,MAINTAIN=0x1" offset="0x4.26" size="0x0.1" />
	<field name="c" descr="Clear counters\;Clears the buffer_drop and be_drop counters" access="OP" offset="0x4.28" size="0x0.1" />
	<field name="e" descr="Enable. Indicating the Port Analyzer is enabled\;Note: before disabling a port analyzer, software should make sure no port / rule is associated with the Port Analyzer to be disabled." access="RW" offset="0x4.31" size="0x0.1" />
	<field name="truncation_size" descr="Truncation Size.\;Sets the truncation size in case truncation is enabled. \;Unit is 1 byte.\;Granularity is 4 bytes. \;For Spectrum-1: minimum value is 32B\;For Quantum and Spectrum-2/3: minimum value is 48B\;From Spectrum-4: minimum value is 64B. \;Reserved when span_type is LOCALIB\;Reserved when MPAT.itc = 1" access="RW" offset="0x8.0" size="0x0.13" />
	<field name="switch_prio" descr="Switch Prio for the mirrored/trimmed packet.\;In mirroring:\;Reserved when imp=0.\;Reserved when qos=1 (MAINTAIN).\;Reserved for IB-switch.\;\;In trimming used when trim_qos=0, reserved otherwise." access="RW" offset="0x8.16" size="0x0.4" />
	<field name="tclass" descr="Traffic class of the mirrored/trimmed packet.\;Reserved when the mirror port is CPU port (it is set by HTGT.cpu_tclass).\;In mirroring:\;Reserved when imp=0\;Reserved when qos=1 (MAINTAIN).\;Reserved for IB-switch.\;\;In trimming used when trim_qos=0, reserved otherwise." access="RW" offset="0x8.24" size="0x0.4" />
	<field name="itc" descr="Ignore Truncation Configuration\;0: use MPAT.tr and MPAT.truncation_size to configure truncation profile.\;1: use ITPR to configure truncation profile. See Table 1456, &quot;ITPR - Infrastructure Truncation Profile Register Fields,&quot; on page 1929.\;Valid for Spectrum-4 and on." access="RW" offset="0x8.31" size="0x0.1" />
	<field name="pid" descr="Policer ID\;Range MOGCR.mirroring_pid_base .. (MOGCR.mirroring_pid_base + cap_max_span_analyzers - 1)\;See pid in QPCR, Section 12.12.7, &quot;QPCR - QoS Policer Configuration Register&quot;, on page 3930\;Note: the policer takes packet length prior to truncation. The policer must have color_aware=not, type=srDCM, violate_action=discard.\;Reserved when Spectrum-1 and Quantum/-2." access="RW" offset="0xC.0" size="0x0.14" />
	<field name="pide" descr="Policer enable\;For more details about policers, refer to Section 11.8.5, &quot;Policer&quot;, on page 3683\;Note: for mirror to CPU: MPAT.pid is enabled then the trap-group-policer will not police\;Reserved when Spectrum-1 and Quantum/-2." access="RW" offset="0xC.15" size="0x0.1" />
	<field name="encapsulation" descr="Remote SPAN encapsulation. The encapsulation information is based on the span_type field. The following tables provide a reference to the encapsulation fields for the different SPAN types: \;Table 1128, &quot;Local SPAN Layout,&quot; on page 1614.\;Table 1130, &quot;Remote SPAN Ethernet VLAN Layout,&quot; on page 1615.\;Table 1132, &quot;Encapsulated Remote SPAN Ethernet L2 Layout,&quot; on page 1616.\;Table 1134, &quot;Encapsulated Remote SPAN Ethernet L3 Layout,&quot; on page 1618.\;Table 1136, &quot;Local SPAN InfiniBand Layout,&quot; on page 1621.\;Table 1138, &quot;Remote SPAN InfiniBand Local UD Layout,&quot; on page 1622.\;Table 1140, &quot;Remote SPAN InfiniBand Global UD Layout,&quot; on page 1624." subnode="mpat_reg_encapsulation_auto_ext" access="RW" offset="0x10.0" size="0x50.0" union_selector="$(parent).span_type" />
	<field name="buffer_drop_high" descr="Counter:\;Number of packet drops on the analyzer agent due to buffer size\;Reserved when Quantum switches." access="RO" offset="0x60.0" size="0x4.0" />
	<field name="buffer_drop_low" descr="Counter:\;Number of packet drops on the analyzer agent due to buffer size\;Reserved when Quantum switches." access="RO" offset="0x64.0" size="0x4.0" />
	<field name="be_drop_high" descr="Counter:\;Number of packet drops on the analyzer agent due to Best Effort when be is enabled\;Reserved when Quantum switches." access="RO" offset="0x68.0" size="0x4.0" />
	<field name="be_drop_low" descr="Counter:\;Number of packet drops on the analyzer agent due to Best Effort when be is enabled\;Reserved when Quantum switches." access="RO" offset="0x6C.0" size="0x4.0" />
	<field name="pc" descr="Pad Count\;0: No_padding\;1: TwoBytes_padding\;\;Supported from Spectrum-4 and above." access="RW" enum="No_padding=0x0,TwoBytes_padding=0x1" offset="0x78.0" size="0x0.2" />
	<field name="multi_port" descr="System port.\;If nmp != 0, CPU port cannot be used.\;If (mngr_type == &quot;Hypervisor&quot;)\;Unique port identifier for the final destination of the packet\;If (mngr_type == &quot;Local Network Manager&quot;) and the port from which the command came from is Ethernet: \;Local Port\;When CPU port:\;1. span_type must be LOCAL_ETH or LOCAL_IB\;2. tr is reserved (no truncation)" access="RW" high_bound="3" low_bound="0" offset="0x7C.16" size="0x8.0" />
	<field name="trim_fwd_profile" descr="Trim And Forward (T&amp;F) trimming profile selector.\;Profile has to be of type=FWD, see Section 5.17.1, &quot;MOTPR - Monitoring Trimming Profile Register&quot;, on page 1637.\;\;Supported from Spectrum-5." access="RW" offset="0x8C.0" size="0x0.8" />
	<field name="trim_bts_profile" descr="[Spectrum-6]\;Back To Sender (BTS) trimming profile selector.\;Profile has to be of type=BTS, see Section 5.17.1, &quot;MOTPR - Monitoring Trimming Profile Register&quot;, on page 1637.\;\;Supported from Spectrum-6." access="RW" offset="0x8C.8" size="0x0.8" />
	<field name="ip_len_fix" descr="[Spectrum-6]\;IP length fix for trimmed packets.\;When enabled, IP length field is fixed after truncation.\;0: No change (default)\;1: Update IP length field after truncation.\;Reserved when itc=1.\;Supported from Spectrum-6." access="RW" offset="0x8C.16" size="0x0.1" />
	<field name="trim_qos" descr="[Spectrum-6]\;Quality of Service trimming mode.\;0: AGENT - take trimming Switch Priority and Traffic Class from the trimming agent (MPAT).\;1: MAPPED - map trimming Switch Priority and Traffic Class from original Switch Priority (MOTSPT).\;Supported from Spectrum-6." access="RW" enum="AGENT=0x0,MAPPED=0x1" offset="0x8C.20" size="0x0.1" />
	<field name="pcp_rw" descr="Rewrite PCP and DEI according to the Switch Prio set by the agent.\;0: PRESERVE - preserves pcp_rewrite_en\;2: CLEAR - clears pcp_rewrite_en\;3: SET - sets pcp_rewrite_en\;\;Supported in Spectrum-5 only.\;Reserved when trim=0." access="RW" enum="PRESERVE=0x0,CLEAR=0x2,SET=0x3" offset="0x90.0" size="0x0.2" />
	<field name="dscp_rw" descr="Rewrite DSCP according to the Switch Prio set by the agent.\;0: PRESERVE - preserves dscp_rewrite_en\;2: CLEAR - clears dscp_rewrite_en\;3: SET - sets dscp_rewrite_en\;\;Supported in Spectrum-5 only.\;Reserved when trim=0." access="RW" enum="PRESERVE=0x0,CLEAR=0x2,SET=0x3" offset="0x90.8" size="0x0.2" />
	<field name="dscp" descr="The DSCP value to overwrite with.\;\;Supported in Spectrum-5 only.\;Reserved when trim=0." access="RW" offset="0x90.16" size="0x0.6" />
	<field name="overwrite_dscp" descr="Whether to overwrite DSCP with dscp provided by the trimming agent.\;Note: Can be overridden by dscp_rewrite_en if set.\;\;Supported in Spectrum-5 only.\;Reserved when trim=0." access="RW" offset="0x90.23" size="0x0.1" />
	<field name="ignore_agent_trim_profile" descr="Ignores MPAT trimming profile fields.\;Supported on Write and on Query.\;Trimming profile can be set in MOTPR. See Section 5.17.1, &quot;MOTPR - Monitoring Trimming Profile Register&quot;, on page 1637.\;Supported in Spectrum-5 only." access="OP" offset="0x90.31" size="0x0.1" />
	<field name="emt_index" descr="Egress Modifier Template binding 0.\;EMT index.\;Range: 0 .. cap_max_emts - 1.\;See FMTC, FMTE.\;\;Supported in Spectrum-5 only.\;Reserved when trim=0 or when emt_bind = NOP." access="RW" offset="0x98.0" size="0x0.8" />
	<field name="emt_bind" descr="Egress Modifier Template binding 0.\;Bind an EMT:\;0: NOP - no bind\;1: PUSH - bind as push\;2: EDIT - bind as edit\;4: POP - bind as pop\;\;Supported in Spectrum-5 only.\;Reserved when trim=0." access="RW" enum="NOP=0x0,PUSH=0x1,EDIT=0x2,POP=0x4" offset="0x98.8" size="0x0.4" />
	<field name="modifier_base" descr="Egress Modifier Template binding 0.\;Modifier Base Label.\;\;Push/Edit/Pop will be applied in the beginning of the following selected field of encapsulated header:\;Note: Pop is allowed only with SOP (0).\;\;0: SOP (start of packet)\;1: New MAC header\;2: New ETHERTYPE \;3: New IPv4/IPv6 header\;4: New MPLS \;5: New VxLAN/Geneve/VxLAN-GPE/NVGRE \;6: New GRE header\;7: New UDP header\;8: New Flex Encap \;9: New Inner MAC header \;\;11: New Inner ETHER Type \;\;Supported in Spectrum-5 only.\;Reserved when trim=0 or when emt_bind = NOP." access="RW" offset="0x98.16" size="0x0.4" />
	<field name="modifier_offset" descr="Egress Modifier Template binding 0.\;\;Offset on top of modifier_base.\;0: ZERO - zero offset\;1: CBSET_0 - offset is custom_bytes[1:0]\;2: CBSET_1 - offset is custom_bytes[3:2]\;\;Supported in Spectrum-5 only.\;Reserved when trim=0 or when emt_bind = NOP." access="RW" enum="ZERO=0x0,CBSET_0=0x1,CBSET_1=0x2" offset="0x98.24" size="0x0.2" />
</node>

<node name="mpcam_reg_ext" descr="" size="0x48.0" >
	<field name="access_reg_group" descr="Access Register ID groups \;0: First_128_REG_ID - Register IDs 0x9000 - 0x907F)\;1: Register_IDs_0x9080 - 0x90FF (bit 0 in mng_access_reg_cap_mask represent register ID 0x9080 while bit 127 represents register ID 0x90FF).\;2: Register_IDs_0x9100 - 0x917F (bit 0 in mng_access_reg_cap_mask represent register ID 0x9100 while bit 127 represents register ID 0x917F).\;3: Register_IDs_0x9180 - 0x91FF (bit 0 in mng_access_reg_cap_mask represent register ID 0x9180 while bit 127 represents register ID 0x91FF).\;4: Register_IDs_0x9200 - 0x927F (bit 0 in mng_access_reg_cap_mask represent register ID 0x9200 while bit 127 represents register ID 0x927F).\;5: Register_IDs_0x9280 - 0x92FF (bit 0 in mng_access_reg_cap_mask represent register ID 0x9280 while bit 127 represents register ID 0x92FF).\;6: Register_IDs_0x9300 - 0x937F (bit 0 in mng_access_reg_cap_mask represent register ID 0x9300 while bit 127 represents register ID 0x937F).\;7: Register_IDs_0x9380 - 0x93FF (bit 0 in mng_access_reg_cap_mask represent register ID 0x9380 while bit 127 represents register ID 0x93FF).\;8: Register_IDs_0x9400 - 0x947F (bit 0 in mng_access_reg_cap_mask represent register ID 0x9400 while bit 127 represents register ID 0x947F).\;9: Register_IDs_0x9480 - 0x94FF (bit 0 in mng_access_reg_cap_mask represent register ID 0x9480 while bit 127 represents register ID 0x94FF).\;10: Register_IDs_0x9500 - 0x957F (bit 0 in mng_access_reg_cap_mask represent register ID 0x9500 while bit 127 represents register ID 0x957F).\;11: Register_IDs_0x9580 - 0x95FF (bit 0 in mng_access_reg_cap_mask represent register ID 0x9580 while bit 127 represents register ID 0x95FF).\;12: Register_IDs_0x9600 - 0x967F (bit 0 in mng_access_reg_cap_mask represent register ID 0x9600 while bit 127 represents register ID 0x967F).\;13: Register_IDs_0x9680 - 0x96FF (bit 0 in mng_access_reg_cap_mask represent register ID 0x9680 while bit 127 represents register ID 0x96FF).\;14: Register_IDs_0x9700 - 0x977F (bit 0 in mng_access_reg_cap_mask represent register ID 0x9700 while bit 127 represents register ID 0x967F).\;15: Register_IDs_0x9780 - 0x97FF (bit 0 in mng_access_reg_cap_mask represent register ID 0x9780 while bit 127 represents register ID 0x97FF)." access="INDEX" enum="First_128_REG_ID=0x0,Register_IDs_0x9080=0x1,Register_IDs_0x9100=0x2,Register_IDs_0x9180=0x3,Register_IDs_0x9200=0x4,Register_IDs_0x9280=0x5,Register_IDs_0x9300=0x6,Register_IDs_0x9380=0x7,Register_IDs_0x9400=0x8,Register_IDs_0x9480=0x9,Register_IDs_0x9500=0xa,Register_IDs_0x9580=0xb,Register_IDs_0x9600=0xc,Register_IDs_0x9680=0xd,Register_IDs_0x9700=0xe,Register_IDs_0x9780=0xf" offset="0x0.0" size="0x0.8" />
	<field name="feature_group" descr="Feature list mask index: \;0: enhanced_features" access="INDEX" enum="enhanced_features=0x0" offset="0x0.16" size="0x0.8" />
	<field name="mng_access_reg_cap_mask" descr="Supported management&apos;s access register bitmaks.Based on access_reg_group index. \;When bit is set, the register is supported in the device. \;For example:\;Bit 1: MFCR_0x9001\;Bit 2: MFSC_0x9002\;Bit 3: MFSM_0x9003\;Bit 4: MFSL_0x9004\;Bit 58: MGCR_0x903A\;Bit 73: MPPF_0x9049\;Bit 127: MCAP_0x907F\;Note that up to version XXX management and PCIe are in the same base id so MCAM and MPCAM are similar in this field" access="RO" enum="MFCR_0x9001=0x2,MFSC_0x9002=0x4,MFSM_0x9003=0x8,MFSL_0x9004=0x10,MGCR_0x903A=0x4000000,MPPF_0x9049=0x200,MCAP_0x907F=0x80000000" high_bound="3" low_bound="0" offset="0x8.0" size="0x10.0" />
	<field name="mng_feature_cap_mask" descr="Supported port&apos;s enhanced features.Based on feature_group index.\;When bit is set, The feature is supported in the device: \;Bit 0: MPCNT counter group- PCIE performance counters supported\;Bit 3: tx_lossy_overflow_oper - If set, tx_overflow_buffer_pkt counter in MPCNT register is supported.\;Bit 4: pcie_outbound_stalled - if set, outbound_stalled_reads, outbound_stalled_writes, outbound_stalled_reads_events and outbound_stalled_writes_events counters in MPCNT are supported.\;Bit 9 - dynamic_tx_overflow - If set, tx_overflow_sense field is supported in MPEGC register. \;Bit 17 - pwr_status and pci_power are supported in MPEIN\;Bit 19 - pcie_sync_for_fw_update_supported is set to &apos;1&apos;\;Bit 22 - If set to &apos;1&apos;, link_peer_max_speed is supported in MPEIN Register\;Bit 29: If set, virtual hot plug / unplug is supported in MPEGC.\;Bit 30: If set, my_pf_number is supported in MPPF.\;Bit 45: If set, MFRL.pci_rescan_required is supported\;Bit 68: If set, DPNv is supported\;Bit 77: If set, host_id field in MPIR is supported\;Bit 78: If set, FBER, FEC correctable and FEC uncorrectable reporting is supported in MPCNT group 0\;Bit 79: If set the MPCNT performance counter 2 is supported\;Bit 80: pcie_segment - if set the MPIR and MPEGC registers supports the segment base, segment_cap and segment_valid are supported.\;Bit 81: cmn_clk_mode- if set the the cmn_clk_mode bit in the MPEIN registers is supported.\;bit 83: lane_cdr_error - if set the lane cdr error field in MPCNT PCIE lane counter group is supported.\;bit 84: mpcnt_perf_cnt_2_ver1 - if set the MPCNT PCIE performance counter 2 version 1 is supported, else version 0 is supported.\;Note - up to bit 77 this is common to MCAM due to legacy reasons." access="RO" high_bound="3" low_bound="0" offset="0x28.0" size="0x10.0" />
</node>

<node name="mpcir_ext" descr="" size="0xa0.0" >
	<field name="instance" descr="Bitmask of which instance to select.\;Relevant only to vmod.\;0: update vmod 0\;1: update vmod 1\;..." access="INDEX" offset="0x0.0" size="0x0.16" />
	<field name="fw_entity" descr="Bitmask of which FW entity to select.\;0: switch_fw\;1: virtual_module\;\;note - if all bits are zero fw_entity will be switch_fw (legacy)\;If more than one bit is set instance field will be ignored - update all instances." access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="all" descr="If set to &apos;01&apos;, activates the flow of preparation for FW ISSU, on all services. The values in op-codes for &quot;per-service&quot; are ignored.\;If set to &apos;10&apos;, returns to operational state on all services. The values in op-codes for &quot;per-service&quot; are ignored.\;11 - get_status for all services" access="OP" offset="0x0.30" size="0x0.2" />
	<field name="ports" descr="For each of the services, the following operations are available:\;0: N/A (no action)\;1: start preparation flow for FW ISSU \;2: return to operational service (end of FW ISSU flow)\;3: get status\;\;When set to &apos;3&apos;, the current status will appear in corresponding _stat fields." access="OP" offset="0x4.0" size="0x0.2" />
	<field name="cpld" descr="For each of the services, the following operations are available:\;0: N/A (no action)\;1: start preparation flow for FW ISSU \;2: return to operational service (end of FW ISSU flow)\;3: get status\;\;When set to &apos;3&apos;, the current status will appear in corresponding _stat fields.\;\;Note: mads is for IB only.\;Note: actions 1 and 2 are silently ignored for fw_critical_events." access="OP" offset="0x4.2" size="0x0.2" />
	<field name="module_mng" descr="For each of the services, the following operations are available:\;0: N/A (no action)\;1: start preparation flow for FW ISSU \;2: return to operational service (end of FW ISSU flow)\;3: get status\;\;When set to &apos;3&apos;, the current status will appear in corresponding _stat fields.\;\;Note: mads is for IB only.\;Note: actions 1 and 2 are silently ignored for fw_critical_events." access="OP" offset="0x4.4" size="0x0.2" />
	<field name="thermal" descr="For each of the services, the following operations are available:\;0: N/A (no action)\;1: start preparation flow for FW ISSU \;2: return to operational service (end of FW ISSU flow)\;3: get status\;\;When set to &apos;3&apos;, the current status will appear in corresponding _stat fields.\;\;Note: mads is for IB only.\;Note: actions 1 and 2 are silently ignored for fw_critical_events." access="OP" offset="0x4.6" size="0x0.2" />
	<field name="fans" descr="For each of the services, the following operations are available:\;0: N/A (no action)\;1: start preparation flow for FW ISSU \;2: return to operational service (end of FW ISSU flow)\;3: get status\;\;When set to &apos;3&apos;, the current status will appear in corresponding _stat fields.\;\;Note: mads is for IB only.\;Note: actions 1 and 2 are silently ignored for fw_critical_events." access="OP" offset="0x4.8" size="0x0.2" />
	<field name="power" descr="For each of the services, the following operations are available:\;0: N/A (no action)\;1: start preparation flow for FW ISSU \;2: return to operational service (end of FW ISSU flow)\;3: get status\;\;When set to &apos;3&apos;, the current status will appear in corresponding _stat fields.\;\;Note: mads is for IB only.\;Note: actions 1 and 2 are silently ignored for fw_critical_events." access="OP" offset="0x4.10" size="0x0.2" />
	<field name="voltage_current" descr="For each of the services, the following operations are available:\;0: N/A (no action)\;1: start preparation flow for FW ISSU \;2: return to operational service (end of FW ISSU flow)\;3: get status\;\;When set to &apos;3&apos;, the current status will appear in corresponding _stat fields.\;\;Note: mads is for IB only.\;Note: actions 1 and 2 are silently ignored for fw_critical_events." access="OP" offset="0x4.12" size="0x0.2" />
	<field name="leds" descr="For each of the services, the following operations are available:\;0: N/A (no action)\;1: start preparation flow for FW ISSU \;2: return to operational service (end of FW ISSU flow)\;3: get status\;\;When set to &apos;3&apos;, the current status will appear in corresponding _stat fields.\;\;Note: mads is for IB only.\;Note: actions 1 and 2 are silently ignored for fw_critical_events." access="OP" offset="0x4.14" size="0x0.2" />
	<field name="gearbox" descr="For each of the services, the following operations are available:\;0: N/A (no action)\;1: start preparation flow for FW ISSU \;2: return to operational service (end of FW ISSU flow)\;3: get status\;\;When set to &apos;3&apos;, the current status will appear in corresponding _stat fields.\;\;Note: mads is for IB only.\;Note: actions 1 and 2 are silently ignored for fw_critical_events." access="OP" offset="0x4.16" size="0x0.2" />
	<field name="mads" descr="For each of the services, the following operations are available:\;0: N/A (no action)\;1: start preparation flow for FW ISSU \;2: return to operational service (end of FW ISSU flow)\;3: get status\;\;When set to &apos;3&apos;, the current status will appear in corresponding _stat fields.\;\;Note: mads is for IB only.\;Note: actions 1 and 2 are silently ignored for fw_critical_events." access="OP" offset="0x4.18" size="0x0.2" />
	<field name="fw_critical_events" descr="For each of the services, the following operations are available:\;0: N/A (no action)\;1: start preparation flow for FW ISSU \;2: return to operational service (end of FW ISSU flow)\;3: get status\;\;When set to &apos;3&apos;, the current status will appear in corresponding _stat fields.\;\;Note: mads is for IB only.\;Note: actions 1 and 2 are silently ignored for fw_critical_events." access="OP" offset="0x4.20" size="0x0.2" />
	<field name="pme" descr="For each of the services, the following operations are available:\;0: N/A (no action)\;1: start preparation flow for FW ISSU \;2: return to operational service (end of FW ISSU flow)\;3: get status\;\;When set to &apos;3&apos;, the current status will appear in corresponding _stat fields.\;\;Note: mads is for IB only.\;Note: actions 1 and 2 are silently ignored for fw_critical_events." access="OP" offset="0x4.22" size="0x0.2" />
	<field name="ports_stat" descr="Status for each of the services. \;0: not in FW ISSU flow state (FW ISSU flow is not initiated) \;1: done with preparations for FW ISSU flow\;2: Preparation for FW ISSU flow started but FW still not done service handling [Internal]: busy with some other critical flow)." access="RO" offset="0xC.0" size="0x0.2" />
	<field name="cpld_stat" descr="Status for each of the services. \;0: not in FW ISSU flow state (FW ISSU flow is not initiated) \;1: done with preparations for FW ISSU flow\;2: Preparation for FW ISSU flow started but FW still not done service handling [Internal]: busy with some other critical flow).\;3: N/A - when status is not relevant to the selected FW entity" access="RO" offset="0xC.2" size="0x0.2" />
	<field name="module_mng_stat" descr="Status for each of the services. \;0: not in FW ISSU flow state (FW ISSU flow is not initiated) \;1: done with preparations for FW ISSU flow\;2: Preparation for FW ISSU flow started but FW still not done service handling [Internal]: busy with some other critical flow).\;3: N/A - when status is not relevant to the selected FW entity" access="RO" offset="0xC.4" size="0x0.2" />
	<field name="thermal_stat" descr="Status for each of the services. \;0: not in FW ISSU flow state (FW ISSU flow is not initiated) \;1: done with preparations for FW ISSU flow\;2: Preparation for FW ISSU flow started but FW still not done service handling [Internal]: busy with some other critical flow).\;3: N/A - when status is not relevant to the selected FW entity" access="RO" offset="0xC.6" size="0x0.2" />
	<field name="fans_stat" descr="Status for each of the services. \;0: not in FW ISSU flow state (FW ISSU flow is not initiated) \;1: done with preparations for FW ISSU flow\;2: Preparation for FW ISSU flow started but FW still not done service handling [Internal]: busy with some other critical flow).\;3: N/A - when status is not relevant to the selected FW entity" access="RO" offset="0xC.8" size="0x0.2" />
	<field name="power_stat" descr="Status for each of the services. \;0: not in FW ISSU flow state (FW ISSU flow is not initiated) \;1: done with preparations for FW ISSU flow\;2: Preparation for FW ISSU flow started but FW still not done service handling [Internal]: busy with some other critical flow).\;3: N/A - when status is not relevant to the selected FW entity" access="RO" offset="0xC.10" size="0x0.2" />
	<field name="voltage_current_stat" descr="Status for each of the services. \;0: not in FW ISSU flow state (FW ISSU flow is not initiated) \;1: done with preparations for FW ISSU flow\;2: Preparation for FW ISSU flow started but FW still not done service handling [Internal]: busy with some other critical flow).\;3: N/A - when status is not relevant to the selected FW entity" access="RO" offset="0xC.12" size="0x0.2" />
	<field name="leds_stat" descr="Status for each of the services. \;0: not in FW ISSU flow state (FW ISSU flow is not initiated) \;1: done with preparations for FW ISSU flow\;2: Preparation for FW ISSU flow started but FW still not done service handling [Internal]: busy with some other critical flow).\;3: N/A - when status is not relevant to the selected FW entity" access="RO" offset="0xC.14" size="0x0.2" />
	<field name="gearbox_stat" descr="Status for each of the services. \;0: not in FW ISSU flow state (FW ISSU flow is not initiated) \;1: done with preparations for FW ISSU flow\;2: Preparation for FW ISSU flow started but FW still not done service handling [Internal]: busy with some other critical flow).\;3: N/A - when status is not relevant to the selected FW entity" access="RO" offset="0xC.16" size="0x0.2" />
	<field name="mads_stat" descr="Status for each of the services. \;0: not in FW ISSU flow state (FW ISSU flow is not initiated) \;1: done with preparations for FW ISSU flow\;2: Preparation for FW ISSU flow started but FW still not done service handling [Internal]: busy with some other critical flow).\;3: N/A - when status is not relevant to the selected FW entity" access="RO" offset="0xC.18" size="0x0.2" />
	<field name="fw_critical_events_stat" descr="Status for each of the services. \;0: not in FW ISSU flow state (FW ISSU flow is not initiated) \;1: done with preparations for FW ISSU flow\;2: Preparation for FW ISSU flow started but FW still not done service handling [Internal]: busy with some other critical flow).\;3: N/A - when status is not relevant to the selected FW entity" access="RO" offset="0xC.20" size="0x0.2" />
	<field name="pme_stat" descr="Status for each of the services. \;0: not in FW ISSU flow state (FW ISSU flow is not initiated) \;1: done with preparations for FW ISSU flow\;2: Preparation for FW ISSU flow started but FW still not done service handling [Internal]: busy with some other critical flow).\;3: N/A - when status is not relevant to the selected FW entity" access="RO" offset="0xC.22" size="0x0.2" />
</node>

<node name="mpcnt_reg_counter_set_auto_ext" descr="" attr_is_union="1" size="0xf8.0" >
	<field name="pcie_perf_counters2_ext" descr="" subnode="pcie_perf_counters2_ext" offset="0x0.0" selected_by="PCIE_performance_counters_2" size="0xf8.0" />
	<field name="pcie_perf_counters_ext" descr="" subnode="pcie_perf_counters_ext" offset="0x0.0" selected_by="PCIE_performance_counters" size="0xf8.0" />
	<field name="pcie_physical_layer_ext" descr="" subnode="pcie_physical_layer_ext" offset="0x0.0" selected_by="PCIE_physical_layer_indications" size="0x4.0" />
</node>

<node name="mpcnt_reg_ext" descr="" size="0x100.0" >
	<field name="grp" descr="Performance counter group.\;0: PCIE_performance_counters\;3: PCIE_physical_layer_indications\;4: PCIE_performance_counters_2" access="INDEX" enum="PCIE_performance_counters=0x0,PCIE_physical_layer_indications=0x3,PCIE_performance_counters_2=0x4" offset="0x0.0" size="0x0.6" />
	<field name="node" descr="the node within each depth." access="INDEX" offset="0x0.8" size="0x0.8" />
	<field name="pcie_index" descr="PCIe index number (Internal domain index)\;Reserved when access is from the host" access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="depth" descr="depth level of the DUT of some hierarchy" access="INDEX" offset="0x0.24" size="0x0.6" />
	<field name="DPNv" descr="DPN version\;0: multi_topology_unaware_sw\;1: multi_topology_aware_sw" access="INDEX" enum="multi_topology_unaware_sw=0x0,multi_topology_aware_sw=0x1" offset="0x0.30" size="0x0.1" />
	<field name="clr" descr="Clear counters. Setting the clr bit will reset the counter value for all counters in the counter group. This bit can be set for both Set() and Get() operation." access="WO" offset="0x4.31" size="0x0.1" />
	<field name="counter_set" descr="Counter set as described in\;Table 333, &quot;PCIe Performance Counters Data Layout,&quot; on page 827\;Table 339, &quot;PCIE Physical Layer Indication Layout,&quot; on page 835\;Table 341, &quot;PCIe Performance Counters 2 Data Layout,&quot; on page 836" subnode="mpcnt_reg_counter_set_auto_ext" access="RO" offset="0x8.0" size="0xf8.0" union_selector="$(parent).grp" />
</node>

<node name="mpdmc_ext" descr="" size="0x10.0" >
	<field name="en" descr="Administratively enables PDM\;When enabled, FW operates according to mode.\;0: Not enabled1: Enabled" access="RW" offset="0x0.0" size="0x0.1" />
	<field name="mode" descr="PDM operation mode:\;0: REQ_AND_RESP - Both requestor and responder roles enabled1: REQ_ONLY - Only requestor role (initiate measurements)2: RESP_ONLY - Only responder role (respond to peer requests)3: Reserved\;Reserved when en=0.\;Can&apos;t be changed on-the-fly when en=1." access="RW" offset="0x0.2" size="0x0.2" />
	<field name="peer_discovery" descr="Peer discovery mode for determining peer PDM capability:\;0: NONE - No discovery, measure unconditionally (equivalent to MOPDMR.op=FORCE on all ports)1: NLPN - NLPN-based discovery" access="RW" offset="0x0.8" size="0x0.4" />
	<field name="status" descr="PDM measurement status (requestor)\;0: DISABLED - PDM requestor is disabled (en=0)\;1: INITIAL_MEASUREMENT_ONGOING - First measurement cycle in progress\;2: INCOMPLETE - Some ports failed to measure (timeout/error), partial results available\;3: COMPLETE - All valid peers have measurement results" access="RO" enum="DISABLED=0x0,INITIAL_MEASUREMENT_ONGOING=0x1,INCOMPLETE=0x2,COMPLETE=0x3" offset="0x0.16" size="0x0.4" />
	<field name="tclass" descr="Non-control tclass.\;Reserved when data_tc=0.\;Switch only." access="RW" offset="0x4.0" size="0x0.4" />
	<field name="data_tc" descr="PDM messages to be assigned with non-control Traffic Class.\;0: Control TClass1: Non-control TClass\;Switch only." access="RW" offset="0x4.4" size="0x0.1" />
	<field name="pool" descr="Pool Index.\;This pool will be used for consuming received packets by FW.\;Range 0...cap_num_pool_supported - 1.\;Can&quot;t be changed on-the-fly while en=1.\;Switch only." access="RW" offset="0x8.0" size="0x0.4" />
	<field name="ptp_trap_id" descr="PTP Trap ID to use in PDM\;0: PTP01: PTP1\;Other values are reserved.\;\;Can&quot;t be changed on-the-fly while en=1.\;Switch only." access="RW" enum="PTP01=0x0" offset="0x8.8" size="0x0.4" />
</node>

<node name="mpdmm_ext" descr="" size="0xb8.0" >
	<field name="num_rec" descr="Number of records in record[...].\;Must be greater than 0.\;The number expected to be no less than the number of ports selected in port_mask.\;Switch only." access="OP" offset="0x0.0" size="0x0.16" />
	<field name="op" descr="Operation (applied to all ports in port_mask)\;\;0: READ - Read only, not supported on Write.\;1: RETRY - Remeasure if status=TIMEOUT. Respects peer_discovery (no action if PEER_NOT_SUPPORTED).\;2: REFRESH - Remeasure if peer is supported (ignore current latency). Respects peer_discovery.\;3: FORCE - Measure unconditionally (ignore peer_discovery). Use for post-link-up enablement or debugging." access="OP" enum="READ=0x0,RETRY=0x1,REFRESH=0x2,FORCE=0x3" offset="0x0.28" size="0x0.4" />
	<field name="port_mask" descr="Local port bitmap.\;Valid local ports 1..cap_max_switch_ports\;CPU port is not supported.\;Bit &lt;i&gt; of port_mask represents local port &lt;i&gt;.\;The bitmap is ordered in big-endian format, see Section  Byte Endianness on page 426." access="INDEX" high_bound="31" low_bound="0" offset="0x30.0" size="0x80.0" />
	<field name="record" descr="Latency measurement result record for the selected local ports in the port_mask.\;See Table 887, &quot;MPDMM - Record Layout,&quot; on page 1329." subnode="mpdmm_record_ext" access="RW" arr_is_dynamic="1" high_bound="VARIABLE" low_bound="0" offset="0xB0.0" size="0x8.0" size_condition="$(parent).num_rec" />
</node>

<node name="mpdmm_record_ext" descr="" size="0x8.0" >
	<field name="local_port" descr="Local port" access="RO" offset="0x0.0" size="0x0.16" />
	<field name="status" descr="Latency status:\;0: PENDING\;1: VALID\;2: PEER_NOT_SUPPORTED\;3: TIMEOUT\;4: LINK_DOWN\;5: MEASUREMENT_ERROR - measurement error," access="RO" enum="PENDING=0x0,VALID=0x1,PEER_NOT_SUPPORTED=0x2,TIMEOUT=0x3,LINK_DOWN=0x4,MEASUREMENT_ERROR=0x5" offset="0x0.28" size="0x0.4" />
	<field name="latency" descr="Latency in nanoseconds\;Valid only when status=VALID\;[Switch] Signed integer value, 20-bit range is supported" access="RO" offset="0x4.0" size="0x4.0" />
</node>

<node name="mpdmp_ext" descr="" size="0x20.0" >
	<field name="mask" descr="Write mask\;Write only, reserved on Query.\;Bit 0: domain_number\;Bit 1: num_measurements\;Bit 2: max_retries" access="WO" enum="domain_number=0x1,num_measurements=0x2,max_retries=0x4" offset="0x0.0" size="0x4.0" />
	<field name="domain_number" descr="PDM&apos;s domainNumber to be used in PTP (requestor and responder).\;Set by INI.\;" access="RW" offset="0x4.0" size="0x0.8" />
</node>

<node name="mpdms_ext" descr="" size="0xd0.0" >
	<field name="num_rec" descr="Number of records in record[...].\;The number expected to be no less than the number of ports selected in port_mask." access="OP" offset="0x0.0" size="0x0.16" />
	<field name="record_type" descr="0: REQUESTOR - packets sent/received as requestor1: RESPONDER - packets sent/received as responder2: SUM - combined requestor + responder\;3: Reserved" access="INDEX" offset="0x0.28" size="0x0.2" />
	<field name="clr" descr="Clear counters on read" access="OP" offset="0x0.31" size="0x0.1" />
	<field name="port_mask" descr="Local port bitmap.\;Valid local ports 1..cap_max_switch_ports\;CPU port is not supported.\;Bit &lt;i&gt; of port_mask represents local port &lt;i&gt;.\;The bitmap is ordered in big-endian format, see Section  Byte Endianness on page 426." access="INDEX" high_bound="31" low_bound="0" offset="0x30.0" size="0x80.0" />
	<field name="record" descr="PDM statistics record for the selected local port.\;See Table 891, &quot;MPDMS - Record Layout,&quot; on page 1331." subnode="mpdms_record_ext" access="RW" arr_is_dynamic="1" high_bound="VARIABLE" low_bound="0" offset="0xB0.0" size="0x20.0" size_condition="$(parent).num_rec" />
</node>

<node name="mpdms_record_ext" descr="" size="0x20.0" >
	<field name="local_port" descr="Local port" access="RO" offset="0x0.0" size="0x0.16" />
	<field name="tx_count" descr="PDM packets sent" access="RO" offset="0x8.0" size="0x4.0" />
	<field name="rx_count" descr="PDM packets received" access="RO" offset="0xC.0" size="0x4.0" />
	<field name="timeout_count" descr="Measurement timeouts (all retries exhausted).\;Reserved for record_type=Responder." access="RO" offset="0x10.0" size="0x4.0" />
	<field name="error_count" descr="Errors (seq mismatch, malformed response/request)" access="RO" offset="0x14.0" size="0x4.0" />
</node>

<node name="mpdor_reg_ext" descr="" size="0x8.0" >
	<field name="type" descr="[DWIP]\;0: Capabilities. Note: Rest of the fields are read-only.\;\;\;1: Configurations. Notes:\;a) When accessing a configuration for which the corresponding capability is 0, a read operation will return 0 for that configuration, and a write access will have no impact on that configuration.\;b) When reading a configuration for which there was never a previous write operation, its default value will be returned.\;" access="INDEX" offset="0x0.0" size="0x0.1" />
	<field name="l0i_rx_en_valid" descr="[DWIP]\;If and only if 1, the L0-idle for Rx lanes default is overridden from this register.\;Note: Value must be identical to l0i_tx_en_valid." access="RW" offset="0x4.22" size="0x0.1" />
	<field name="l0i_rx_en" descr="[DWIP]\;If 1, L0-idle for Tx lanes is enabled by default.\;If 0, L0-idle for Tx lanes is disabled by default.\;Note: Value must be identical to l0i_tx_en." access="RW" offset="0x4.23" size="0x0.1" />
	<field name="l0i_tx_en_valid" descr="[DWIP]\;If and only if 1, the L0-idle for Tx lanes default is overridden from this register.." access="RW" offset="0x4.24" size="0x0.1" />
	<field name="l0i_tx_en" descr="[DWIP]\;If 1, L0-idle for Tx lanes is enabled by default.\;If 0, L0-idle for Tx lanes is disabled by default." access="RW" offset="0x4.25" size="0x0.1" />
	<field name="l1_predictor_en_valid" descr="[DWIP]\;If and only if 1, the L1 Predictor default is overridden from this register." access="RW" offset="0x4.26" size="0x0.1" />
	<field name="l1_predictor_en" descr="[DWIP]\;If 1, L1 Predictor feature is enabled by default.\;If 0, L1 Predictor feature is disabled by default.\;Note: If L1 simple is disabled (by whatever means), this setting has no effect." access="RW" offset="0x4.27" size="0x0.1" />
	<field name="l1_simple_en_valid" descr="[DWIP]\;If and only if 1, the L1 Simple default is overridden from this register." access="RW" offset="0x4.28" size="0x0.1" />
	<field name="l1_simple_en" descr="[DWIP]\;If 1, L1 Simple feature (&quot;L1 Capability Advertisement&quot;) is enabled by default.\;If 0, L1 Simple feature (&quot;L1 Capability Advertisement&quot;) is disabled by default." access="RW" offset="0x4.29" size="0x0.1" />
	<field name="tav_mode_invalid" descr="[DWIP]\;If and only if 0, the TAV mode default is overridden from this register." access="RW" offset="0x4.30" size="0x0.1" />
	<field name="tav_mode" descr="[DWIP]\;If 1, temperature aware voltage feature is enabled by default.\;If 0, temperature aware voltage feature is disabled by default." access="RW" offset="0x4.31" size="0x0.1" />
</node>

<node name="mpecs_reg_ext" descr="" size="0x20.0" >
	<field name="node" descr="the node within each depth." access="INDEX" offset="0x0.8" size="0x0.8" />
	<field name="pcie_index" descr="PCIE index number\;Reserved when access is from the host" access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="depth" descr="depth level of the DUT of some hierarchy" access="INDEX" offset="0x0.24" size="0x0.6" />
	<field name="DPNv" descr="DPN version\;0: multi_topology_unaware_sw\;1: multi_topology_aware_sw" access="INDEX" enum="multi_topology_unaware_sw=0x0,multi_topology_aware_sw=0x1" offset="0x0.30" size="0x0.1" />
	<field name="capability_id" descr="capability ID as defined in PCIE spec" access="INDEX" offset="0x4.0" size="0x0.16" />
	<field name="reg_num" descr="Register number\;Byte offset from the beginning of the capability ID" access="INDEX" offset="0x8.0" size="0x0.16" />
	<field name="byte_enable" descr="Enable bit per byte\;bit 0 - byte 0 (bits 7:0)\;bit 1 - byte 1 (bits 15:8)\;bit 2 - byte 2 (bits 23:16)\;bit 3 - byte 3 (bits 31:24)\;Reserved for read operation." access="WO" offset="0xC.0" size="0x0.4" />
	<field name="status" descr="PCIE configuration space access status: \;0x0: SUCCESS - successful access\;0x1: FUNC_NUM_FAILURE - accessing unsupported configuration space function number\;0x2: CAP_ID_FAILURE - accessing unsupported configuration space capability ID number\;0x3: REG_NUM_FAILURE - accessing unsupported configuration space register number\;0x4: WRITE_FAILURE - write access to read-only configuration space\;0x5: PROTECTED_FAILURE - protected configuration" access="RO" enum="SUCCESS=0x0,FUNC_NUM_FAILURE=0x1,CAP_ID_FAILURE=0x2,REG_NUM_FAILURE=0x3,WRITE_FAILURE=0x4,PROTECTED_FAILURE=0x5" offset="0xC.8" size="0x0.8" />
	<field name="func_num" descr="Function number\;physical function index - see PCIE spec" access="INDEX" offset="0xC.16" size="0x0.8" />
	<field name="ext" descr="Extended or regular configuration space, as defined in PCIE spec:\;0 - Regular\;1 - Extended" access="INDEX" offset="0x10.0" size="0x0.2" />
	<field name="data" descr="" access="RW" offset="0x14.0" size="0x4.0" />
</node>

<node name="mpein_reg_ext" descr="" size="0x30.0" >
	<field name="node" descr="the node within each depth." access="INDEX" offset="0x0.8" size="0x0.8" />
	<field name="pcie_index" descr="PCIe index number (Internal domain index)\;Reserved when access is from the host, but can be used when operating in Socket-Direct mode." access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="depth" descr="depth level of the DUT of some hierarchy" access="INDEX" offset="0x0.24" size="0x0.6" />
	<field name="DPNv" descr="DPN version\;0: multi_topology_unaware_sw\;1: multi_topology_aware_sw" access="INDEX" enum="multi_topology_unaware_sw=0x0,multi_topology_aware_sw=0x1" offset="0x0.30" size="0x0.1" />
	<field name="link_speed_enabled" descr="Max Link Speed:\;Bit 0: 2.5G - (Gen1)\;Bit 1: 5G - (Gen2)\;Bit 2: 8G - (Gen3)\;Bit 4: 16G - (Gen4)\;Bit 5: 32G (Gen5)\;Bit 6: 32G PAM-4 (Gen6)" access="RO" offset="0x8.0" size="0x0.16" />
	<field name="link_width_enabled" descr="Maximum Link Width enabled:\;1: 1x\;2: 2x\;4: 4x\;8: 8x\;16: 16x" access="RO" offset="0x8.16" size="0x0.8" />
	<field name="link_speed_active" descr="Current Link Speed:\;Bit 0: 2.5G (Gen1)\;Bit 1: 5G (Gen2)\;Bit 2: 8G (Gen3)\;Bit 4: 16G (Gen4)\;Bit 5: 32G (Gen5)\;Bit 6: 32G PAM-4 (Gen6)" access="RO" offset="0xC.0" size="0x0.16" />
	<field name="link_width_active" descr="Negotiated Link Width, pcie_link_width active:\;1: 1x\;2: 2x\;4: 4x\;8: 8x\;16: 16x" access="RO" offset="0xC.16" size="0x0.8" />
	<field name="lane0_physical_position" descr="The physical lane position of logical lane0" access="RO" offset="0xC.24" size="0x0.8" />
	<field name="num_of_vfs" descr="Number of Total Virtual Functions (for all PFs)" access="RO" offset="0x10.0" size="0x0.16" />
	<field name="num_of_pfs" descr="Number of Physical Functions (PFs)" access="RO" offset="0x10.16" size="0x0.16" />
	<field name="bdf0" descr="Bus Device Function - only for function0" access="RO" offset="0x14.16" size="0x0.16" />
	<field name="lane_reversal" descr="Reversal mode of the link:\;0 - straight \;1 - reversal\;\;Note: together with lane0_physical_position provide the physical lane." access="RO" offset="0x18.0" size="0x0.1" />
	<field name="cmn_clk_mode" descr="common clock mode:\;0 - separate clock mode\;1 - common clock mode" access="RO" offset="0x18.1" size="0x0.1" />
	<field name="port_type" descr="Indicates the specific type of this PCI Express Function. Note that different Functions in a multi-Function device can generally be of different types.\;0 - PCI Express Endpoint port\;4 - Root Port of PCI Express Root Complex\;5 - PCI Express Upstream port\;6 - PCI Express Downstream port" access="RO" offset="0x18.12" size="0x0.4" />
	<field name="pwr_status" descr="Indicates the status of PCI power consumption limitations.\;0: PCI power report could not be read.\;1: Sufficient power reported.\;2: Insufficient power reported.\;3-7: Reserved" access="RO" offset="0x18.16" size="0x0.3" />
	<field name="max_payload_size" descr="Max payload size in bytes:\;0 - 128B\;1 - 256B\;2 - 512B\;3 - 1024B\;4 - 2048B\;5 - 4096B" access="RO" offset="0x18.24" size="0x0.4" />
	<field name="max_read_request_size" descr="Max read request size in bytes:\;0 - 128B\;1 - 256B\;2 - 512B\;3 - 1024B\;4 - 2048B\;5 - 4096B" access="RO" offset="0x18.28" size="0x0.4" />
	<field name="pci_power" descr="Power reported by the PCI device. The units are in Watts.\;0: Power is unknown." access="RO" offset="0x1C.0" size="0x0.12" />
	<field name="link_peer_max_speed" descr="Peer Max Link Speed:\;Bit 0: 2.5G - (Gen1)\;Bit 1: 5G - (Gen2)\;Bit 2: 8G - (Gen3)\;Bit 4: 16G - (Gen4)\;Bit 5: 32G (Gen5)\;Bit 6: 32G PAM-4 (Gen6)" access="RO" offset="0x1C.16" size="0x0.16" />
	<field name="flit_sup" descr="FLIT is supported for the current active speed" access="RO" offset="0x20.0" size="0x0.1" />
	<field name="precode_sup" descr="Precoding is supported for the current active speed" access="RO" offset="0x20.1" size="0x0.1" />
	<field name="flit_active" descr="FLIT is active for the current speed" access="RO" offset="0x20.8" size="0x0.1" />
	<field name="precode_active" descr="precoding is active for the current speed" access="RO" offset="0x20.9" size="0x0.1" />
	<field name="device_status" descr="device_status bit mask:\;Bit 0: Correctable_error\;Bit 1: Non_Fatal_Error_detection\;Bit 2: Fatal_Error_detected\;Bit 3: Unsupported_request_detected\;Bit 4: AUX_power \;Bit 5: Transaction_Pending" access="RO" enum="Correctable_error=0x1,Non_Fatal_Error_detection=0x2,Fatal_Error_detected=0x4,Unsupported_request_detected=0x8,AUX_power=0x10,Transaction_Pending=0x20" offset="0x24.16" size="0x0.16" />
</node>

<node name="mpepm_ext" descr="" size="0x14.0" >
	<field name="exp" descr="EXP entry is the EXP to Switch Priority mapping.\;For more details, refer to Section 3720, &quot;mpepm_exp Layout&quot;, on page 4356" access="RW" high_bound="7" low_bound="0" offset="0x4.16" size="0x10.0" />
</node>

<node name="mpft_ext" descr="" size="0x8.0" >
	<field name="rif" descr="Router Interface to be bypassed by FRR" access="INDEX" offset="0x0.0" size="0x0.16" />
	<field name="av" descr="label action valid:\;0 - set label_action to &apos;0&apos;: no php, no push\;1 - keep the label_action as is\;See Section 15.8.4.1, &quot;MPNHLFE Parameters - Forward to Ethernet&quot;, on page 4341" access="WO" offset="0x4.0" size="0x0.1" />
</node>

<node name="mpgcr_ext" descr="" size="0x24.0" >
	<field name="ler_exp_rw" descr="Ingress LER EXP Re-write Enable\;Initial value for exp_rewrite_en for ingress LER:\;2: Disable the exp_rewrite_en\;3: Enable the exp_rewrite_en" access="RW" offset="0x0.20" size="0x0.2" />
	<field name="mpls_pcp_rw" descr="LSR and LER PCP Re-write Enable\;Indicates how the MPLS handles the pcp_rewrite_en:\;0: Preserve the value of the pcp_rewrite_en\;2: Disable the pcp_rewrite_en\;3: Enable the pcp_rewrite_en\;Note: for ingress LER the RGCR may set the pcp_rw, and then the mpls will set it again." access="RW" offset="0x0.22" size="0x0.2" />
	<field name="mpls_et" descr="At ingress: MPLS Ethertype accepted for LSR and egress LER:\;1: Ethertype 0x8847\;2: Ethertype 0x8848\;3: Ethertype 0x8847 or Ethertype 0x8848\;If Ethertype not allowed then the packet is discarded at iRIF. \;" access="RW" offset="0x0.28" size="0x0.2" />
	<field name="ingress_ler_ttl_value" descr="Ingress LER TTL Value\;The value used in MPLS encapsulation when pushing a new label over IP packet in ingress LER. This value will not be decremented.\;Reserved when ingress_ler_ttl is 0\;Reserved when Spectrum-2, See QTTTL.enc_ttlc_uc" access="RW" offset="0x4.0" size="0x0.8" />
	<field name="lsr_egress_ttl" descr="Egress LSR TTL (also for LSR PHP to Labels)\;Configures how the TTL of the exposed labels are set at LSR egress:\;1: COPY - The TTL is taken from the first popped label \;2: MINIMUM - The TTL is the minimum value between all popped labels\;Note: &quot;exposed labels&quot; are the labels pushed by NHLFE\;Note: the decrement of the TTL is done after the new value is set" access="RW" offset="0x4.16" size="0x0.2" />
	<field name="egress_ler_ttl" descr="Configures the TTL of IP header when IP packet is exposed\;\;0: PRESERVE - The TTL is taken from the IP header\;If the packet goes to IP router then the IP router will decrement the TTL\;\;1: COPY - The TTL is taken from the first popped label\;If the packet goes to IP router then the IP router will decrement the TTL\;If the packet is forwarded to outgoing interface then the TTL will be decremented\;\;2: MINIMUM - The TTL is the minimum value between all popped labels and the IP header\;If the packet goes to IP router then the IP router may decrement the TTL\;If the packet is forwarded to outgoing interface and TTL is taken from IP header then the TTL is not decremented\;If the packet is forwarded to outgoing interface and TTL is taken from Labels then the TTL is decremented\;Reserved when Spectrum-2, See QTTTL.decap_ttl" access="RW" offset="0x4.20" size="0x0.2" />
	<field name="ingress_ler_ttl" descr="Ingress LER TTL\;This flag indicates which value of TTL is written in the new pushed label in ingress LER: \;0: TTL is taken from the IP header\;1: TTL is configured by ingress_ler_ttl_value\;Note that the IP TTL was already decremented by the IP router. At ingress LER flow the LSR does not decremented the MPLS TTL.\;\;\;Reserved when Spectrum-2, See QTTTL.enc_ttlc" access="RW" offset="0x4.22" size="0x0.1" />
	<field name="hrlsn" descr="High Reserved Label ID Space Number\;Label IDs from 0 to hrlsn (inclusive) are accepted" access="RW" offset="0xC.0" size="0x0.8" />
	<field name="label_id_min" descr="Label IDs from label_id_min to label_id_max (inclusive both) are accepted" access="RW" offset="0x10.0" size="0x0.20" />
	<field name="label_id_max" descr="Label IDs from label_id_min to label_id_max (inclusive both) are accepted" access="RW" offset="0x14.0" size="0x0.20" />
	<field name="default_label_space" descr="Default label_space (default is 0)\;Range 0..cap_mpls_label_space-1\;" access="RW" offset="0x1C.0" size="0x0.16" />
	<field name="irif_vr_en" descr="irif virtual router enable\;0: use default_label_space or ACL based label space\;1: label_space is same as virtual_router" access="RW" offset="0x1C.16" size="0x0.1" />
	<field name="activity_dis_mpnhlfe" descr="Disable activity bit in MPNHLFE:\;0: enable - activity will be set when an entries are hit\;(default)\;1: disable - activity will not be set when an entries are hit\;See Section 15.8.4, &quot;MPNHLFE - MPLS NHLFE Table Register&quot;, on page 4339" access="RW" offset="0x20.0" size="0x0.1" />
</node>

<node name="mpgdi_app_record_auto_ext" descr="" attr_is_union="1" size="0x2f0.0" >
	<field name="icmp_offload_entry_ext" descr="" subnode="icmp_offload_entry_ext" offset="0x0.0" selected_by="ICMP_Offload" size="0x2f0.0" />
	<field name="mpgdi_bfd_rx_offload_ext" descr="" subnode="mpgdi_bfd_rx_offload_ext" offset="0x0.0" selected_by="BFD_RX_Offload" size="0x2f0.0" />
	<field name="mpgdi_bfd_tx_offload_ext" descr="" subnode="mpgdi_bfd_tx_offload_ext" offset="0x0.0" selected_by="BFD_TX_Offload" size="0x2f0.0" />
	<field name="mpgdi_entry_rec_ext" descr="" subnode="mpgdi_entry_rec_ext" offset="0x0.0" selected_by="Switch2Switch_Latency_Packet" size="0x2f0.0" />
</node>

<node name="mpgdi_bfd_rx_offload_ext" descr="" size="0x2f0.0" >
	<field name="rx_interval" descr="Receive interval.\;If packet that match to this entry did not arrive for rx_interval time, event of BFD link down will be sent to SW.\;Units of 10milisec.\;Range 1 (10mSec)...1000 (10Sec)" access="RW" offset="0x0.0" size="0x0.16" />
	<field name="comp_detect_mult" descr="compare detect multiplier.\;FW will use this value for only for packet validation.\;When BFD packet received, FW will find the bfd session id according to my/your disciminator and will compare the detect_mult field in the packet to this field" access="RW" offset="0xC.0" size="0x0.8" />
	<field name="comp_my_discriminator" descr="My Discriminator\;FW will use my/your disciminator to find the BFD session id." access="RW" offset="0x10.0" size="0x4.0" />
	<field name="comp_your_discriminator" descr="Your Discriminator\;FW will use my/your disciminator to find the BFD session id." access="RW" offset="0x14.0" size="0x4.0" />
	<field name="comp_desired_min_tx_interval" descr="desired_min_tx_interval.\;FW will use this value for only for packet validation.\;When BFD packet received, FW will find the bfd session id according to my/your disciminator and will compare the desired_min_tx_interval field in the packet to this field" access="RW" offset="0x18.0" size="0x4.0" />
	<field name="comp_desired_min_rx_interval" descr="desired_min_rx_interval.\;FW will use this value for only for packet validation.\;When BFD packet received, FW will find the bfd session id according to my/your disciminator and will compare the desired_min_tx_interval field in the packet to this field" access="RW" offset="0x1C.0" size="0x4.0" />
</node>

<node name="mpgdi_bfd_tx_offload_ext" descr="" size="0x2f0.0" >
	<field name="tx_interval" descr="Transmit interval.\;ASIC will send BFD packet every tx_interval.\;Packet layout described in packet_data field.\;Units of 1milisec.\;Range 10 (10mSec)...60,000 (1Sec)" access="RW" offset="0x0.0" size="0x0.16" />
	<field name="packet_length" descr="Packet Length.\;Length of packet_data field in Bytes.\;Range 82 (Min - TX_BASE_HEADER + MAC+IPV4+UDP+BFD)... 128\;Reserved when tx_interval=0." access="RW" offset="0xC.0" size="0x0.8" />
	<field name="packet_data" descr="Packet data.\;from start of TX_BASE_HEADER up to end of BFD header.\;IP/UDP length calculated by SW.\;ip/udp_checksum/FCS - calculated by HW" access="RW" high_bound="27" low_bound="0" offset="0x10.0" size="0x70.0" />
</node>

<node name="mpgdi_entry_rec_ext" descr="" size="0x2f0.0" >
	<field name="tx_local_port" descr="TX local port" access="RW" offset="0x0.0" size="0x0.16" />
	<field name="vlan_exist" descr="Vlan Exist.\;0: no vlan\;1: vlan exist\;Only single VLAN supported." access="RW" offset="0x0.24" size="0x0.1" />
	<field name="ip_ver" descr="IP Version.\;0: IPv4\;1: IPv6\;No extensions supported." access="RW" offset="0x0.25" size="0x0.1" />
	<field name="tc_bitmask" descr="Tclass Bitmask.\;for each set bit, a packet will be sent with the corresponding tclass.\;Control TC is not support." access="RW" offset="0x4.0" size="0x0.16" />
	<field name="mpb" descr="Modify Priority Bitmask:\;Bit0: modify pcp+die field according to pcp_die_for_tc list\;Bit1: modify dscp field according to dscp_for_tc list" access="RW" offset="0x4.24" size="0x0.2" />
	<field name="pcp_dei_for_tc" descr="PCP+DEI for TC Index\;This filed indicate which PCP+DEI values to set on packet when sending to TC Index.\;reserved when mpb bit0=0" access="RW" high_bound="15" low_bound="0" offset="0x8.28" size="0x8.0" />
	<field name="dscp_for_tc" descr="DSCP for TC Index\;This filed indicate which DSCP value to set on packet when sending to TC Index.\;reserved when mpb bit1=0" access="RW" high_bound="15" low_bound="0" offset="0x14.24" size="0x10.0" />
	<field name="packet_length" descr="Packet Length.\;Length of packet_data field in Bytes.\;Range 56 (Min - MAC+IPV4+UDP+S2S_HEADER)... 80" access="RW" offset="0x24.0" size="0x0.8" />
	<field name="packet_data" descr="Packet data.\;MAC up to s2s_latency header (payload not included).\;IP and UDP length must be valid (include the s2s_latency header)\;ip_checksum/udp_checksum/FSC - calculated by HW\;\;UDP DPORT must be equal to MPRE.latency.udp_port \;UDP SPORT - defined by user.\;PCP_DIE/DSCP Values - these fields may be modified by mpb configuration." access="RW" high_bound="19" low_bound="0" offset="0x30.0" size="0x50.0" />
</node>

<node name="mpgdi_ext" descr="" size="0x300.0" >
	<field name="pgd_index" descr="Packet Generator Database Index.\;\;Range changes between fw_app_id.\;Range 0...cap_max_num_&quot;fw_app_id_name&quot;_pgd_entries-1\;note - ICMP Offload has 2 types of entries, RX+TX and RX Only. RX+TX sessions number is limited to cap_max_num_rx_tx_icmp_offload_entries." access="INDEX" offset="0x0.0" size="0x0.16" />
	<field name="vld" descr="Indicates if entry is valid.\;0: Invalid\;1: Valid\;" access="RW" offset="0x0.31" size="0x0.1" />
	<field name="fw_app_id" descr="FW Application ID:\;0: Switch2Switch_Latency_Packet\;1: ICMP_Offload\;2: BFD_TX_Offload\;3: BFD_RX_Offload\;" access="INDEX" enum="Switch2Switch_Latency_Packet=0x0,ICMP_Offload=0x1,BFD_TX_Offload=0x2,BFD_RX_Offload=0x3" offset="0x4.0" size="0x0.8" />
	<field name="app_record" descr="Entry Record\;Table 1283, &quot;Entry Record - Switch2Switch Latency Layout,&quot; on page 1751\;Table 1285, &quot;Entry Record - ICMP Offload Layout,&quot; on page 1753\;Table 1287, &quot;Entry Record - BFD_TX_Offload Layout,&quot; on page 1754\;Table 1289, &quot;Entry Record - BFD_RX_Offload Layout,&quot; on page 1755" subnode="mpgdi_app_record_auto_ext" access="RW" offset="0x10.0" size="0x2f0.0" union_selector="$(parent).fw_app_id" />
</node>

<node name="mpgdq_ext" descr="" size="0x8.0" >
	<field name="num_of_entries" descr="Number of entries in DB.\;\;Range changes between fw_app_id.\;Range 1...cap_max_num_&quot;fw_app_id_name&quot;_pgd_entries\;[DWIP] Reserved for PDM." access="OP" offset="0x0.16" size="0x0.16" />
	<field name="num_fw_pages" descr="FW returns the amount of physical memory to be allocated for firmware usage is in 4KB pages.\;Note: The pages do not have to be consecutive.\;MAX size 256KB." access="RO" offset="0x4.0" size="0x0.16" />
	<field name="fw_app_id" descr="Application ID:\;0: Switch2Switch Latency Packet\;1: ICMP_Offload\;2: BFD_TX_Offload\;3: BFD RX\;7: PDM - [DWIP]" access="INDEX" offset="0x4.24" size="0x0.8" />
</node>

<node name="mpgec_ext" descr="" size="0x10.0" >
	<field name="clr" descr="Clear Counters." access="OP" offset="0x0.31" size="0x0.1" />
	<field name="bp_above_thr_cnt" descr="Counts the number of times a sender was in back pressure (no credits) about MPGGC.threshold time." access="RO" offset="0x4.0" size="0x4.0" />
	<field name="bp_num_cnt" descr="Counts the number of times a sender was in back pressure" access="RO" offset="0x8.0" size="0x4.0" />
	<field name="unexpected_pkt_cnt" descr="Counts the number of unexpected packet.\;\;" access="RO" offset="0xC.0" size="0x4.0" />
</node>

<node name="mpgee_ext" descr="" size="0x8.0" >
	<field name="bp_above_thr" descr="Sender Back Pressure Above Threshold." access="RO" offset="0x0.0" size="0x0.1" />
</node>

<node name="mpggc_ext" descr="" size="0x8.0" >
	<field name="bp_threshold" descr="Back Pressure Threshold.\;If packet cannot be sent due to buffer full, sender will try to send again. If sender did not succeed in packet transmission for bp_threshold times, it will raise error event - MPGEE.\;If this bp thr happens more than 1000 times - FW will skip the current iteration.\;Default value 10 times.\;Value of 0xFFF means threshold is infinity." access="RW" offset="0x0.0" size="0x0.12" />
	<field name="rx_multiplier" descr="For ICMP Offload only, the Rx and Tx intervals are multiplied by this value.\;Default is 1\;Range is 1-255" access="RW" offset="0x4.0" size="0x0.8" />
</node>

<node name="mpghr_ext" descr="" size="0x90.0" >
	<field name="hist_reset_counter" descr="Counter of number of times FW reset the shaper counters." access="RO" offset="0x0.0" size="0x0.8" />
	<field name="bin_size" descr="Bin Size, Units in Watt." access="RO" offset="0x0.8" size="0x0.8" />
	<field name="short_bin_unit_time_measure" descr="Bin Unit Time measure for Short window\;Units of 500 micro seconds\;" access="RO" offset="0x0.16" size="0x0.16" />
	<field name="hist_min_value" descr="Histogram min value, Units in Watt\;Setting value will reset the bins" access="RW" offset="0x4.0" size="0x0.16" />
	<field name="long_bin_unit_time_measure" descr="Bin Unit Time measure for Long window\;Units of 500 micro seconds\;" access="RO" offset="0x4.16" size="0x0.16" />
	<field name="short_pwr_avg_bin" descr="Short Power average Bin" access="RO" high_bound="15" low_bound="0" offset="0x10.0" size="0x40.0" />
	<field name="long_pwr_avg_bin" descr="Long Power average Bin" access="RO" high_bound="15" low_bound="0" offset="0x50.0" size="0x40.0" />
</node>

<node name="mpgsb_ext" descr="" size="0x10.0" >
	<field name="sender_id" descr="Sender ID\;Range 0...cap_max_num_senders - 1" access="INDEX" offset="0x0.0" size="0x0.4" />
	<field name="bind" descr="Binding Sender.\;0: unbind\;1: bind\;TBD - if all MAP_FAs requires to the selected app DB did not arrive - bind fails.\;when sender in unbinded its state moved to IDLE - shutdown process will be like CANCEL (description in MPGSS)." access="RW" offset="0x0.31" size="0x0.1" />
	<field name="start_entry_index" descr="Base Entry Index.\;Index of the first entry that is binded to the sender.\;Range changes between fw_app_id.\;Range 0...cap_max_num_&quot;fw_app_id_name&quot;_pgd_entries-1\;note - ICMP Offload has 2 types of entries, RX+TX and RX Only. RX+TX sessions number is limited to cap_max_num_rx_tx_icmp_offload_entries." access="RW" offset="0x4.0" size="0x0.16" />
	<field name="fw_app_id" descr="FW Application ID:\;0: Switch2Switch Latency Packet\;1: ICMP_Offload\;2: BFD_TX_Offload\;" access="INDEX" offset="0x4.24" size="0x0.8" />
	<field name="num_of_entries" descr="Number Of Entries.\;Number of entries binded to the selected sender_id (starting from base_entry_index).\;Range changes between fw_app_id.\;Range 0...cap_max_num_&quot;fw_app_id_name&quot;_pgd_entries-1\;note - ICMP Offload has 2 types of entries, RX+TX and RX Only. RX+TX sessions number is limited to cap_max_num_rx_tx_icmp_offload_entries." access="RW" offset="0x8.0" size="0x0.16" />
	<field name="interval" descr="Interval.\;S2S Latency - The Interval field sets the delay between send iterations. Units of 10ms\;Reserved in ICMP/BFD Offload.\;Range of interval depends on the application." access="RW" offset="0xC.0" size="0x0.16" />
</node>

<node name="mpgsr_ext" descr="" size="0x20.0" >
	<field name="fw_app_id" descr="FW Application ID.\;1: ICMP_Offload\;2: BFD_TX_Offload\;3: BFD_RX_Offload" access="INDEX" offset="0x0.0" size="0x0.8" />
	<field name="clr" descr="Clear Counters." access="OP" offset="0x0.31" size="0x0.1" />
	<field name="num_rec" descr="Number of valid counter_record[]." access="RO" offset="0x8.0" size="0x0.10" />
	<field name="counter_record" descr="See Table 1301, &quot;ICMP Statistics Record Register Layout,&quot; on page 1764\;Table 1303, &quot;BFD_TX_Offload Record Register Layout,&quot; on page 1764\;Table 1305, &quot;BFD_RX_Offload Record Register Layout,&quot; on page 1765" subnode="array128_auto" access="RO" high_bound="VARIABLE" low_bound="0" offset="0x10.0" size="0x10.0" />
</node>

<node name="mpgss_ext" descr="" size="0xc.0" >
	<field name="sender_id" descr="Sender ID\;Range 0...cap_max_num_senders - 1" access="INDEX" offset="0x0.0" size="0x0.4" />
	<field name="error_type" descr="Error Type.\;0: no error\;1: pcie_error\;2: interval_too_small (relevant only to S2S Latency Offload)" access="RO" offset="0x0.16" size="0x0.3" />
	<field name="status" descr="Status:\;0: IDLE\;1: BUSY\;2: CANCEL - (only for trap event)\;See above description of each state." access="RO" enum="IDLE=0x0,BUSY=0x1,CANCEL=0x2" offset="0x4.0" size="0x0.2" />
	<field name="opcode" descr="Opcode.\;0: START\;1: STOP \;2: CANCEL \;See above description of each opcode." access="WO" enum="START=0x0,STOP=0x1,CANCEL=0x2" offset="0x4.8" size="0x0.4" />
</node>

<node name="mpibe_ext" descr="" size="0x28.0" >
	<field name="label_space" descr="Label Space\;Range 0 .. cap_mpls_label_space - 1" access="INDEX" offset="0x0.0" size="0x0.16" />
	<field name="nhlfe_ptr" descr="NHLFE entry pointer which is used for matching on the existing entries in the ILM table" access="INDEX" offset="0x10.0" size="0x0.24" />
	<field name="ecmp_size" descr="ECMP size used for matching on the existing entries in the ILM table\;Values are according to the mixed ECMP scheme detailed in Table 3438, &quot;ECMP Sizes,&quot; on page 4038." access="INDEX" offset="0x14.0" size="0x0.13" />
	<field name="new_nhlfe_ptr" descr="New NHLFE pointer and ECMP size values" access="WO" offset="0x20.0" size="0x0.24" />
	<field name="new_ecmp_size" descr="New NHLFE pointer and ECMP size values" access="WO" offset="0x24.0" size="0x0.13" />
</node>

<node name="mpilem_ext" descr="" size="0x8.0" >
	<field name="mpls_ecn" descr="ECN of the pushed MPLS label" access="RW" offset="0x0.16" size="0x0.2" />
	<field name="ip_ecn" descr="ECN of the IP header in the ingress LER" access="INDEX" offset="0x0.24" size="0x0.2" />
</node>

<node name="mpilm_ext" descr="" size="0x18.0" >
	<field name="label_space" descr="Label Space\;Range 0 .. cap_mpls_label_space - 1" access="INDEX" offset="0x0.0" size="0x0.16" />
	<field name="op" descr="Operation\;For Write:\;0: Write or over-write operation. \;1: Reserved \;2: Reserved \;3: Delete operation. Used to delete an existing entry. If entry doesn&apos;t exist, the operation fails.\;For Query:\;0: Read operation. If entry doesn&apos;t exist, the operation fails.\;" access="OP" offset="0x0.28" size="0x0.3" />
	<field name="label_id" descr="Label ID" access="INDEX" offset="0x4.0" size="0x0.20" />
	<field name="nhlfe_ptr" descr="Pointer to NHLFE.\;When using ECMP, points to the first entry in the ECMP list\;For Spectrum family, the index is to the KVD linear." access="RW" offset="0x8.0" size="0x0.24" />
	<field name="ecmp_size" descr="The amount of sequential entries starting from the nhlfe_ptr (the number of ECMPs)\;Values are according to the mixed ECMP scheme detailed in Table 3438, &quot;ECMP Sizes,&quot; on page 4038." access="RW" offset="0xC.0" size="0x0.13" />
	<field name="npop" descr="Number of labels to pop from the label stack.\;Range from 0 to cap_mpls_ilm_entry_pop" access="RW" offset="0xC.24" size="0x0.2" />
	<field name="trap_id" descr="Trap ID to be reported to CPU\;For Spectrum Trap-ID is MPLS_ILM0 or MPLS_ILM1\;For Spectrum-2/3 Trap-ID is MPLS_ILM0 .. MPLS_ILM3\;For trap_action of NOP, MIRROR and DISCARD_ERROR, trap_id is reserved" access="RW" offset="0x10.0" size="0x0.9" />
	<field name="trap_action" descr="Trap Action\;0: NOP\;1: TRAP\;2: MIRROR_TO_CPU\;3: MIRROR\;4: DISCARD_ERROR" access="RW" enum="NOP=0x0,TRAP=0x1,MIRROR_TO_CPU=0x2,MIRROR=0x3,DISCARD_ERROR=0x4" offset="0x10.28" size="0x0.4" />
	<field name="counter_index" descr="Counter Index for flow counters.\;For Spectrum: see Section 5.2, &quot;Flow Counters&quot;, on page 1404\;Not supported by SwitchX and SwitchX-2" access="RW" offset="0x14.0" size="0x0.24" />
	<field name="counter_set_type" descr="Counter Set Type for flow counters.\;For Spectrum: See Section 5.2.2, &quot;Counter Set Type&quot;, on page 1405\;Not supported by SwitchX and SwitchX-2" access="RW" offset="0x14.24" size="0x0.8" />
</node>

<node name="mpir_ext" descr="" size="0x10.0" >
	<field name="host_buses" descr="Number of PCIe buses available for the host to connect ot the device.\;&apos;0&apos; when operating in non-Socket-Direct mode." access="RO" offset="0x0.0" size="0x0.4" />
	<field name="node" descr="the node within each depth." access="INDEX" offset="0x0.8" size="0x0.8" />
	<field name="pcie_index" descr="Internal domain index" access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="depth" descr="depth level of the DUT of some hierarchy" access="INDEX" offset="0x0.24" size="0x0.6" />
	<field name="DPNv" descr="DPN version\;0: multi_topology_unaware_sw\;1: multi_topology_aware_sw" access="INDEX" enum="multi_topology_unaware_sw=0x0,multi_topology_aware_sw=0x1" offset="0x0.30" size="0x0.1" />
	<field name="sdm" descr="Socket-Direct mode indication.\;0: non-Socket-Direct mode (single host or multi-host)\;1: Socket-Direct mode, for querying host" access="RO" offset="0x0.31" size="0x0.1" />
	<field name="subordinate_bus" descr="sunbordinate bus - the highest bus number that subordinates to switch.\;Default value of &apos;0&apos; in case it is not a switch port." access="RO" offset="0x4.0" size="0x0.8" />
	<field name="secondary_bus" descr="secondary bus - the internal logic bus in the switch. \;Default value of &apos;0&apos; in case it is not a switch port." access="RO" offset="0x4.8" size="0x0.8" />
	<field name="segment_base" descr="if segment valid is set this field has the segment number of the PCIe hierarchy of the link. \;segment_cap = 1 : segment base that was captured in Flit mode\;segment_cap = 0 : segment base that was set by software\;reserved when pcie_segment is not set in MPCAM" access="RO" offset="0x4.16" size="0x0.8" />
	<field name="segment_valid" descr="when set segment base is valid, else it is invalid\;must be set if segment_cap is set.\;reserved when pcie_segment is not set in MPCAM" access="RO" offset="0x4.24" size="0x0.1" />
	<field name="segment_cap" descr="segment number (base) was captured in Flit mode. \;reserved when pcie_segment is not set in MPCAM" access="RO" offset="0x4.25" size="0x0.1" />
	<field name="device" descr="PCIe device number." access="RO" offset="0x8.3" size="0x0.5" />
	<field name="lp_msb" descr="2-bit expansion of the local port. Represents the local_port[9:8] bits" access="RO" offset="0x8.12" size="0x0.2" />
	<field name="bus" descr="PCIe bus number." access="RO" offset="0x8.16" size="0x0.8" />
	<field name="local_port" descr="Local port number" access="RO" offset="0x8.24" size="0x0.8" />
	<field name="slot_number" descr="Slot number" access="RO" offset="0xC.0" size="0x0.13" />
	<field name="num_con_devices" descr="number of PCIe connected deices / EP on the current port." access="RO" offset="0xC.16" size="0x0.8" />
	<field name="host_index" descr="Host index associated with the pcie_inex" access="RO" offset="0xC.24" size="0x0.7" />
	<field name="slot_cap" descr="If set to &apos;1&apos;, slot_number field is supported." access="RO" offset="0xC.31" size="0x0.1" />
</node>

<node name="mpls_adjacency_ext" descr="" size="0x18.0" >
	<field name="nhlfe_ptr" descr="NHLFE entry pointer\;Points to the NHLFE table. When using ECMP, points to the first entry in the ECMP list." access="RW" offset="0x0.0" size="0x0.24" />
	<field name="ecmp_size" descr="ecmp_size is the amount of sequential entries from the nhlfe_ptr (the number of ECMPs). \;Values are according to the mixed ECMP scheme detailed in Table 3438, &quot;ECMP Sizes,&quot; on page 4038." access="RW" offset="0x4.0" size="0x0.13" />
	<field name="tqos_profile" descr="Tunnel QoS profile\;0..cap_max_tqos_profile \;Reserved when Spectrum" access="RW" offset="0x4.24" size="0x0.4" />
	<field name="underlay_router_interface" descr="Underlay ingress router interfaceReserved when Spectrum" access="RW" offset="0x10.0" size="0x0.16" />
</node>

<node name="mpnhlfe_ext" descr="" size="0x5c.0" >
	<field name="a" descr="Activity. Set for new entries. Set if a packet lookup has hit on the specific entry. \;To clear the a bit, use &quot;clear activity&quot; ca operation.\;Enabled by activity_dis in MPGCR, see Section 15.8.1, &quot;MPGCR - MPLS General Configuration Register&quot;, on page 4332" access="RO" offset="0x0.16" size="0x0.1" />
	<field name="ca" descr="Clear activity, valid only for read access:\;0: do not clear activity\;1: clear activity" access="OP" offset="0x0.31" size="0x0.1" />
	<field name="nhlfe_ptr" descr="NHLFE Index\;For Spectrum, the index is to the KVD linear, see Appendix A.2.1.2, &quot;KVD Central Database Linear Entries&quot; (page 4588)" access="INDEX" offset="0x4.0" size="0x0.24" />
	<field name="v" descr="Valid indication\;" access="RW" offset="0x4.31" size="0x0.1" />
	<field name="forward_action" descr="NHLFE Action\;0: Forward_to_Ethernet\;1: Forward_to_IP_Router\;2: Continue_Lookups - if there is another label then lookup ILM, else Forward to IP Router\;3: Next_NHLFE\;" access="RW" enum="Forward_to_Ethernet=0x0,Forward_to_IP_Router=0x1,Continue_Lookups=0x2,Next_NHLFE=0x3" offset="0x8.0" size="0x0.4" />
	<field name="trap_id" descr="Trap ID to be reported to CPU\;For Spectrum Trap-ID is MPLS_NHLFE0 or MPLS_NHLFE1\;For Spectrum-2/3 Trap-ID is MPLS_NHLFE0 .. MPLS_NHLFE3\;For trap_action of NOP, MIRROR and DISCARD__ERROR trap_id is reserved" access="RW" offset="0xC.0" size="0x0.9" />
	<field name="trap_action" descr="Trap Action\;0: NOP\;1: TRAP\;2: MIRROR_TO_CPU\;3: MIRROR\;4: DISCARD_ERROR, see DISCARD_LSR3 trap_id" access="RW" offset="0xC.28" size="0x0.4" />
	<field name="counter_index" descr="Counter Index for flow counters.\;For Spectrum: see Section 5.2, &quot;Flow Counters&quot;, on page 1404\;Not supported by SwitchX and SwitchX-2" access="RW" offset="0x10.0" size="0x0.24" />
	<field name="counter_set_type" descr="Counter Set Type for flow counters.\;For Spectrum: See Section 5.2.2, &quot;Counter Set Type&quot;, on page 1405\;Not supported by SwitchX and SwitchX-2" access="RW" offset="0x10.24" size="0x0.8" />
	<field name="nhlfe_parameters" descr="The fields in parameters are depended on forward_action as follows:\;Table 3704, &quot;Parameters - Forward to Ethernet Layout,&quot; on page 4341\;Table 3706, &quot;Parameters - Forward to IP Router Layout,&quot; on page 4344\;Table 3708, &quot;Parameters - Continue Lookups Layout,&quot; on page 4347\;Table 3710, &quot;Parameters - Next NHLFE Layout,&quot; on page 4350\;" subnode="mpnhlfe_nhlfe_parameters_auto_ext" access="RW" offset="0x30.0" size="0x2c.0" union_selector="$(parent).forward_action" />
</node>

<node name="mpnhlfe_nhlfe_parameters_auto_ext" descr="" attr_is_union="1" size="0x2c.0" >
	<field name="mpnhlfe_param_eth_ext" descr="" subnode="mpnhlfe_param_eth_ext" offset="0x0.0" selected_by="Forward_to_Ethernet" size="0x2c.0" />
	<field name="mpnhlfe_param_iprouter_ext" descr="" subnode="mpnhlfe_param_iprouter_ext" offset="0x0.0" selected_by="Forward_to_IP_Router" size="0x2c.0" />
	<field name="mpnhlfe_param_lookups_ext" descr="" subnode="mpnhlfe_param_lookups_ext" offset="0x0.0" selected_by="Continue_Lookups" size="0x2c.0" />
	<field name="next_nhlfe_ext" descr="" subnode="next_nhlfe_ext" offset="0x0.0" selected_by="Next_NHLFE" size="0x1c.0" />
</node>

<node name="mpnhlfe_param_eth_ext" descr="" size="0x2c.0" >
	<field name="bos_check" descr="Check BoS field:\;0: Do not check BoS field\;1: BoS field must be &apos;0&apos;, do not forward to IP Router\;2: Bos Field must be &apos;1&apos;\;Reserved when Spectrum" access="RW" offset="0x0.0" size="0x0.2" />
	<field name="tqos_profile" descr="Tunnel QoS profile\;Reserved when Spectrum-2/-3\;Spectrum-2/3: hard coded to &apos;2&apos; by the HW\;Supported from Spectrum-4" access="RW" offset="0x0.12" size="0x0.4" />
	<field name="exp" descr="EXP value for set_exp\;Ignored by the device when protection_active = 1" access="RW" offset="0x0.16" size="0x0.3" />
	<field name="set_exp" descr="Set the packet EXP with exp value\;Ignored by the device when protection_active = 1" access="RW" offset="0x0.19" size="0x0.1" />
	<field name="exp_rw" descr="EXP Re-write\;0: Preserve the value of the rewrite_enable\;1: Set the rewrite_enable\;2: Clear the rewrite_enable\;Ignored by the device when protection_active = 1" access="RW" offset="0x0.20" size="0x0.2" />
	<field name="usp_exp" descr="Update Switch Priority and Packet Color based on EXP\;Forces recalculation of the Switch Priority and Packet Color based on the packet&apos;s EXP field as configured by MPEPM. Relevant for packets within the MPLS domain.\;Note: the function of set_exp is done prior to the function of usp_exp\;Ignored by the device when protection_active = 1\;See Section 15.8.7, &quot;MPEPM - MPLS EXP to Priority Mapping Register&quot;, on page 4356." access="RW" offset="0x0.24" size="0x0.1" />
	<field name="usp_dscp" descr="Update Switch Priority and Packet Color based on DSCP\;Forces recalculation of the Switch Priority and Packet Color based on the packet&apos;s DSCP field as configured by RDPM. \;Reserved when label_action != 1 (PHP)\;Ignored by the device when protection_active = 1\;See Section 14.14.18, &quot;RDPM - Router DSCP to Priority Mapping Register&quot;, on page 4154\;" access="RW" offset="0x0.25" size="0x0.1" />
	<field name="uecn_exp" descr="Update ECN from EXP.\;Forces recalculation of the ECN based on the packet&apos;s EXP field as configured by QEPM of the ingress port.\;Reserved when Spectrum" access="RW" offset="0x0.26" size="0x0.1" />
	<field name="dscp_rw" descr="DSCP Re-write Enable.\;Controlling the rewrite_enable for DSCP:\;0: Preserve the value of the rewrite_enable bit\;1: Set the rewrite_enable bit\;2: Clear the rewrite_enable bit\;Reserved when label_action != 1 (PHP)\;Ignored by the device when protection_active = 1\;" access="RW" offset="0x0.28" size="0x0.2" />
	<field name="label_id" descr="Label id to push to the label stack\;Reserved when label_action is &apos;0&apos;, &apos;1&apos;" access="RW" offset="0x4.0" size="0x0.20" />
	<field name="label_action" descr="Label action:\;\;1: php. Enables updating the EXP/DSCP and TTL of outermost label. When protection_active = &apos;1&apos; this does nothing.\;2: push label. Push a new label with label id label_id \;\;\;\;" access="RW" offset="0x4.24" size="0x0.3" />
	<field name="dmac_47_32" descr="Destination MAC\;The MAC address of the next hop\;Ignored by the device when protection_active = 1" access="RW" offset="0x8.0" size="0x0.16" />
	<field name="dmac_31_0" descr="Destination MAC\;The MAC address of the next hop\;Ignored by the device when protection_active = 1" access="RW" offset="0xC.0" size="0x4.0" />
	<field name="egress_router_interface" descr="Egress RIF\;Ignored by the device when protection_active = 1" access="RW" offset="0x10.0" size="0x0.16" />
	<field name="protection_active" descr="The protection_nhlfe_ptr is active\;When set, the device will use the backup path pointed by protection_nhlfe_ptr\;Reserved when protection_en is &apos;0&apos;" access="RW" offset="0x14.24" size="0x0.1" />
	<field name="protection_en" descr="Protection enable, indicating that the LSP is protected and there is a valid protection_nhlfe_ptr (but may not be currently active)\;Allows MPFT to modify the protection_active" access="RW" offset="0x14.25" size="0x0.1" />
	<field name="protection_nhlfe_ptr" descr="Protection NHLFE pointer\;A pointer to the backup NHLFE entry used for FRR" access="RW" offset="0x18.0" size="0x0.24" />
</node>

<node name="mpnhlfe_param_iprouter_ext" descr="" size="0x2c.0" >
	<field name="tqos_profile" descr="Tunnel QoS profile\;0..cap_max_tqos_profile \;Reserved when Spectrum" access="RW" offset="0x0.16" size="0x0.4" />
	<field name="usp_exp" descr="Update Switch Priority and Packet Color based on EXP\;Forces recalculation of the Switch Priority and Packet Color based on the packet&apos;s EXP field as configured by MPEPM. Relevant for packets within the MPLS domain.\;Note: the function of set_exp is done prior to the function of usp_exp\;Ignored by the device when protection_active = 1\;See Section 15.8.7, &quot;MPEPM - MPLS EXP to Priority Mapping Register&quot;, on page 4356.\;Reserved when Spectrum" access="RW" offset="0x0.24" size="0x0.1" />
	<field name="usp_dscp" descr="Update Switch Priority and Packet Color based on DSCP\;Forces recalculation of the Switch Priority and Packet Color based on the packet&apos;s DSCP field as configured by RDPM. Note that this field is takes effect only if the IP header tis exposed as a result of this NHLFE action. See Section 14.14.18, &quot;RDPM - Router DSCP to Priority Mapping Register&quot;, on page 4154\;When Spectrum-2 then reserved when irifv = &apos;0&apos;\;" access="RW" offset="0x0.25" size="0x0.1" />
	<field name="uecn_exp" descr="Update ECN from EXP.\;Forces recalculation of the ECN based on the packet&apos;s EXP field as configured by QEPM of the ingress port.\;Reserved when Spectrum" access="RW" offset="0x0.26" size="0x0.1" />
	<field name="dscp_rw" descr="DSCP Re-write Enable\;Controlling the rewrite_enable for DSCP:\;0: Preserve the value of the rewrite_enable bit\;1: Set the rewrite_enable bit\;2: Clear the rewrite_enable bit\;Note that this field takes effect only if the IP header is exposed as a result of this NHLFE action.\;When Spectrum-2 then reserved when irifv = &apos;0&apos;\;" access="RW" offset="0x0.28" size="0x0.2" />
	<field name="irif" descr="Ingress Router Interface used for forwarding the packet to the router. \;Reserved when irifv = &apos;0&apos;" access="RW" offset="0xC.0" size="0x0.16" />
	<field name="irifv" descr="irif is valid \;Indicates that the irif, dscp_rw, usp_dscp are field is valid. \;Useful for the case that Continue Lookups have a valid irif. If multiple NHLFE lookups are performed, the device will use the last valid iri. SW must make sure that at least 1 irif is valid otherwise the packet will be discarded\;" access="RW" offset="0xC.24" size="0x0.1" />
	<field name="egress_router_interface" descr="Egress RIF \;Reserved when erifv = &apos;0&apos;\;Reserved when Spectrum" access="RW" offset="0x10.0" size="0x0.16" />
	<field name="erifv" descr="egress_router_interface is valid\;Erif is needed as MPLS erif when forward to IP router. If another lookup is done then the erif is stored for this packet for later use.\;SW must make sure that at least 1 erif is valid otherwise the packet will be discarded\;Reserved when Spectrum" access="RW" offset="0x10.24" size="0x0.1" />
	<field name="cbset_select" descr="Select cbset:\;Spectrum-2: Range 0..7\;" access="RW" offset="0x18.0" size="0x0.3" />
	<field name="cbset_val" descr="Value for setting cbset\;Reserved when Spectrum" access="RW" offset="0x1C.0" size="0x0.16" />
	<field name="cbset_mask" descr="Mask for setting cbset_val\;Per bit:\;0: do not update\;1: update\;Reserved when Spectrum" access="RW" offset="0x20.0" size="0x0.16" />
</node>

<node name="mpnhlfe_param_lookups_ext" descr="" size="0x2c.0" >
	<field name="bos_check" descr="Check BoS field:\;0: Do not check BoS field\;1: BoS field must be &apos;0&apos;, do not forward to IP Router\;2: Bos Field must be &apos;1&apos;, note: behaves like &quot;Forward to IP Router&quot;\;Reserved when Spectrum" access="RW" offset="0x0.0" size="0x0.2" />
	<field name="tqos_profile" descr="Tunnel QoS profile\;0..cap_max_tqos_profile \;Reserved when Spectrum" access="RW" offset="0x0.16" size="0x0.4" />
	<field name="usp_exp" descr="Update Switch Priority and Packet Color based on EXP\;Forces recalculation of the Switch Priority and Packet Color based on the packet&apos;s EXP field as configured by MPEPM. Relevant for packets within the MPLS domain.\;Note: the function of set_exp is done prior to the function of usp_exp\;Ignored by the device when protection_active = 1\;See Section 15.8.7, &quot;MPEPM - MPLS EXP to Priority Mapping Register&quot;, on page 4356.\;Reserved when Spectrum" access="RW" offset="0x0.24" size="0x0.1" />
	<field name="usp_dscp" descr="Update Switch Priority and Packet Color based on DSCP\;Forces recalculation of the Switch Priority and Packet Color based on the packet&apos;s DSCP field as configured by RDPM. \;This field is ignored by the device when lookup on next label is done\;See Section 14.14.18, &quot;RDPM - Router DSCP to Priority Mapping Register&quot;, on page 4154\;When Spectrum-2 then reserved when irifv = &apos;0&apos;\;" access="RW" offset="0x0.25" size="0x0.1" />
	<field name="uecn_exp" descr="Update ECN from EXP.\;Forces recalculation of the ECN based on the packet&apos;s EXP field as configured by QEPM of the ingress port.\;Reserved when Spectrum" access="RW" offset="0x0.26" size="0x0.1" />
	<field name="dscp_rw" descr="DSCP Re-write Enable\;Controlling the rewrite_enable for DSCP:\;0: Preserve the value of the rewrite_enable bit\;1: Set the rewrite_enable bit\;2: Clear the rewrite_enable bit\;This field is ignored by the device when lookup on next label is done\;When Spectrum-2 then reserved when irifv = &apos;0&apos;\;" access="RW" offset="0x0.28" size="0x0.2" />
	<field name="irif" descr="Ingress Router Interface used for forwarding the packet to the router. \;Reserved when irifv = &apos;0&apos;" access="RW" offset="0xC.0" size="0x0.16" />
	<field name="irifv" descr="irif is valid\;Indicates that the irif, dscp_rw, usp_dscp are field is valid. \;Irif is needed for forward to IP router. If another lookup is done then the irif is stored for this packet for later use.\;SW must make sure that at least 1 irif is valid otherwise the packet will be discarded\;" access="RW" offset="0xC.24" size="0x0.1" />
	<field name="egress_router_interface" descr="Egress RIF \;Reserved when erifv = &apos;0&apos;\;Reserved when Spectrum" access="RW" offset="0x10.0" size="0x0.16" />
	<field name="erifv" descr="egress_router_interface is valid\;Erif is needed as MPLS erif when forward to IP router. If another lookup is done then the erif is stored for this packet for later use.\;SW must make sure that at least 1 erif is valid otherwise the packet will be discarded\;Reserved when Spectrum" access="RW" offset="0x10.24" size="0x0.1" />
	<field name="cbset_select" descr="Select cbset:\;Spectrum-2: Range 0..7\;" access="RW" offset="0x18.0" size="0x0.3" />
	<field name="cbset_val" descr="Value for setting cbset" access="RW" offset="0x1C.0" size="0x0.16" />
	<field name="cbset_mask" descr="Mask for setting cbset_val\;Per bit:\;0: do not update\;1: update" access="RW" offset="0x20.0" size="0x0.16" />
</node>

<node name="mpnhlfeb_ext" descr="" size="0x410.0" >
	<field name="v" descr="Valid\;0: Remove ecmp entries\;1: Write ecmp entries" access="OP" offset="0x0.31" size="0x0.1" />
	<field name="nhlfe_ptr" descr="Index in the NHLFE table\;For Spectrum, the index is to the KVD linear, see Section A.2.1.2, &quot;KVD Central Database Linear Entries&quot;, on page 4588" access="INDEX" offset="0x4.0" size="0x0.24" />
	<field name="num_rec" descr="Number of records" access="OP" offset="0x8.0" size="0x0.8" />
	<field name="trap_id" descr="Trap ID to be reported to CPU\;Trap-ID is MPLS_NHLFE0 .. MPLS_NHLFE3\;For trap_action of NOP, MIRROR and DISCARD__ERROR trap_id is reserved" access="WO" offset="0xC.0" size="0x0.9" />
	<field name="trap_action" descr="Trap Action\;0: NOP\;1: TRAP\;2: MIRROR_TO_CPU\;3: MIRROR\;4: DISCARD_ERROR" access="WO" enum="NOP=0x0,TRAP=0x1,MIRROR_TO_CPU=0x2,MIRROR=0x3,DISCARD_ERROR=0x4" offset="0xC.28" size="0x0.4" />
	<field name="counter_index" descr="Counter Index for flow counters.\;For Spectrum: see Section 5.2, &quot;Flow Counters&quot;, on page 1404\;Not supported by SwitchX and SwitchX-2" access="WO" offset="0x10.0" size="0x0.24" />
	<field name="counter_set_type" descr="Counter Set Type for flow counters.\;For Spectrum: See Section 5.2.2, &quot;Counter Set Type&quot;, on page 1405\;Not supported by SwitchX and SwitchX-2" access="WO" offset="0x10.24" size="0x0.8" />
	<field name="record" descr="Record\;See Table 3714, &quot;MPNHLFEB - Record Layout,&quot; on page 4354" subnode="mpnhlfeb_record_ext" access="WO" high_bound="20" low_bound="0" offset="0x20.0" size="0x3f0.0" />
</node>

<node name="mpnhlfeb_record_ext" descr="" size="0x30.0" >
	<field name="size" descr="Size\;The amount of entries to be written for this record. Allows writing this record multiple consecutive times\;Range 1..4095" access="WO" offset="0x0.16" size="0x0.12" />
	<field name="forward_action" descr="NHLFE Action:\;0: Forward_to_Ethernet\;1: Forward_to_IP_Router\;2: Continue_Lookups - If there is another label then lookup ILM, else Forward to IP Router\;3: Next_NHLFE" access="WO" enum="Forward_to_Ethernet=0x0,Forward_to_IP_Router=0x1,Continue_Lookups=0x2,Next_NHLFE=0x3" offset="0x0.28" size="0x0.4" />
	<field name="nhlfe_parameters" descr="The fields in parameters are depended on forward_action as follows:\;Table 3704, &quot;Parameters - Forward to Ethernet Layout,&quot; on page 4341\;Table 3706, &quot;Parameters - Forward to IP Router Layout,&quot; on page 4344\;Table 3708, &quot;Parameters - Continue Lookups Layout,&quot; on page 4347\;Table 3710, &quot;Parameters - Next NHLFE Layout,&quot; on page 4350" subnode="mpnhlfeb_record_nhlfe_parameters_auto_ext" access="WO" offset="0x4.0" size="0x2c.0" union_selector="$(parent).forward_action" />
</node>

<node name="mpnhlfeb_record_nhlfe_parameters_auto_ext" descr="" attr_is_union="1" size="0x2c.0" >
	<field name="mpnhlfe_param_eth_ext" descr="" subnode="mpnhlfe_param_eth_ext" offset="0x0.0" selected_by="Forward_to_Ethernet" size="0x2c.0" />
	<field name="mpnhlfe_param_iprouter_ext" descr="" subnode="mpnhlfe_param_iprouter_ext" offset="0x0.0" selected_by="Forward_to_IP_Router" size="0x2c.0" />
	<field name="mpnhlfe_param_lookups_ext" descr="" subnode="mpnhlfe_param_lookups_ext" offset="0x0.0" selected_by="Continue_Lookups" size="0x2c.0" />
	<field name="next_nhlfe_ext" descr="" subnode="next_nhlfe_ext" offset="0x0.0" selected_by="Next_NHLFE" size="0x1c.0" />
</node>

<node name="mppcr_ext" descr="" size="0x40.0" >
	<field name="profile_id" descr="Profile id\;Valid values: 0-15" access="INDEX" offset="0x0.0" size="0x0.8" />
	<field name="tcs" descr="[Draft]\;Time Config Selector\;0: profile_config is set with avg_pwr_num_of_sampling, pid_update_num_of_sampling fields\;1: profile_config is set with avg_pwr_time, pid_update_time fields" access="RW" offset="0x0.30" size="0x0.1" />
	<field name="v" descr="Valid\;0: Profile is not valid\;1: Profile is valid" access="RW" offset="0x0.31" size="0x0.1" />
	<field name="param_b" descr="reserved for future use" access="RW" high_bound="3" low_bound="0" offset="0x4.24" size="0x4.0" />
	<field name="profile_name" descr="Profile Name. Array of 20 char, Null terminated\;Can&apos;t change profile which is currently used by FW" access="RW" high_bound="19" low_bound="0" offset="0x8.24" size="0x14.0" />
	<field name="profile_config" descr="Profile configuration" subnode="power_profile_config_ext" access="RW" high_bound="1" low_bound="0" offset="0x20.0" size="0x20.0" />
</node>

<node name="mppdr_ext" descr="" size="0x80.0" >
	<field name="vr_power" descr="Power consumption read from VR in Watts" access="RO" high_bound="63" low_bound="0" offset="0x0.16" size="0x80.0" />
</node>

<node name="mppgcr_ext" descr="" size="0x24.0" >
	<field name="e" descr="Enable power capping\;0: Power capping is disabled\;1: Power capping is enabled 2-3: Reserved\;\;Can be changed on the fly. Once disabled 100% line rate is configured" access="RW" offset="0x0.0" size="0x0.2" />
	<field name="phe" descr="Power Histogram Enable\;0: Power Histogram is disabled\;1: Power Histogram is enabled \;2-3: Reserved" access="RW" offset="0x0.2" size="0x0.2" />
	<field name="persistent_mode" descr="[DWIP]\;0: Profiles configuration is persistent\;1: Profiles configuration is not persistent" access="RO" offset="0x0.30" size="0x0.1" />
	<field name="curr_profile_id" descr="The actual profile id used by the FW.\;See Table 634, &quot;MPPCR - Management Power Profiling Configuration Register Layout,&quot; on page 1154\;Valid values: 0-15" access="RO" offset="0x4.0" size="0x0.8" />
	<field name="next_profile_id" descr="The next profile id to be used by the FW.\;See Table 634, &quot;MPPCR - Management Power Profiling Configuration Register Layout,&quot; on page 1154\;Valid values: 0-15" access="RW" offset="0x4.16" size="0x0.8" />
	<field name="idle_power_a_factor" descr="Idle Power A factor to be used when calculating Idle power\;" access="RW" offset="0x8.0" size="0x0.16" />
	<field name="idle_power_b_factor" descr="Idle Power B factor to be used when calculating Idle power" access="RW" offset="0xC.0" size="0x0.16" />
	<field name="shaper_adj_num_of_iter" descr="Num of MPPGCR.sampling_time iterations to update the shaper" access="RW" offset="0x1C.16" size="0x0.8" />
	<field name="min_shaper" descr="Min shaper value to be used by FW\;Min allowed value is 1" access="RW" offset="0x20.0" size="0x0.8" />
</node>

<node name="mppgh_ext" descr="" size="0x50.0" >
	<field name="bin_unit_time_measure" descr="Bin Unit Time Measure\;Units in micro seconds. For instance, 1000 equals to 1ms." access="RO" offset="0x4.0" size="0x0.16" />
	<field name="hist_reset_counter" descr="Counter of number of times FW reset the shaper counters." access="RO" offset="0x8.0" size="0x0.8" />
	<field name="no_shaper_bin" descr="No Shaper Bin\;The time interval spent w/o applying any shaper due to power limits." access="RO" offset="0xC.0" size="0x4.0" />
	<field name="shaper_bin" descr="Shaper Bin \;Each bin represents 6.25%.\;For example, \;shaper_bin[0] will be incremented every time FW configured shaper value greater than 0% and lower than 6.25%.\;shaper_bin[1] will be incremented every time FW configured shaper value 6.25%-12.5%\;..\;shaper_bin[15] will be incremented every time FW configured shaper value 93.75%-100%\;\;Note: The shaper configuration is applied to all ports which effect the traffic / port bandwidth." access="RO" high_bound="15" low_bound="0" offset="0x10.0" size="0x40.0" />
</node>

<node name="mppgs_ext" descr="" size="0x10.0" >
	<field name="op" descr="Operation\;0: Read only\;1: Clear counters and Read" access="OP" offset="0x0.0" size="0x0.2" />
	<field name="critical_power_cnt" descr="Number of times identified critical power indication." access="RO" offset="0x4.0" size="0x0.16" />
	<field name="short_win_power_avg" descr="Power average calculated on the short window\;" access="RO" offset="0x8.0" size="0x0.16" />
	<field name="long_win_power_avg" descr="Power average calculated on the long window\;" access="RO" offset="0xC.0" size="0x0.16" />
</node>

<node name="mpqdr_ext" descr="" size="0x8.0" >
	<field name="lp_msb" descr="Local port[9:8]" access="INDEX" offset="0x0.12" size="0x0.2" />
	<field name="local_port" descr="Local port number (receive port)\;Supported from CPU port" access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="exp" descr="For ingress LER, the default EXP" access="RW" offset="0x4.0" size="0x0.3" />
</node>

<node name="mpre_app_param_ext" descr="" size="0x20.0" >
	<field name="udp_dport" descr="UDP DPORT for trapping the packet to FW." access="RW" offset="0x0.0" size="0x0.16" />
</node>

<node name="mpre_app_param_icmp_ext" descr="" size="0x20.0" >
	<field name="icmp_v4" descr="Enable ICMP4_PING (trap id 0D4h) to go to FW." access="RW" offset="0x0.0" size="0x0.1" />
	<field name="icmp_v6" descr="Enable ICMP6_PING (trap id 0D5h) to go to FW." access="RW" offset="0x0.1" size="0x0.1" />
	<field name="cbs" descr="Committed Burst Size.\;burst size is 2^cbs.\;Range 0...20.\;reserved when p_en=0." access="RW" offset="0x0.24" size="0x0.6" />
	<field name="p_en" descr="Policer enable.\;0: disbable\;1: enable." access="RW" offset="0x0.31" size="0x0.1" />
	<field name="cir" descr="Committed Information Rate.\;cir units are packet/sec.\;Range 0...2^20\;reserved when p_en=0." access="RW" offset="0x4.0" size="0x4.0" />
	<field name="hw_cookie" descr="The HW COOKIE field from ICMP Offload protocol that should be use by to identify packet directed to the offload.\;Packet that arrive with this hw_cookie will be consumed by FW, if cookie is not hw_cookie FW will trap the packet to SDK." access="RW" offset="0x8.0" size="0x4.0" />
</node>

<node name="mpre_application_parameters_auto_ext" descr="" attr_is_union="1" size="0x20.0" >
	<field name="mpre_app_param_ext" descr="" subnode="mpre_app_param_ext" offset="0x0.0" selected_by="Switch2Switch_Latency_Measurements" size="0x20.0" />
	<field name="mpre_app_param_icmp_ext" descr="" subnode="mpre_app_param_icmp_ext" offset="0x0.0" selected_by="ICMP_Offload" size="0x20.0" />
	<field name="mpre_bfd_rx_offload_ext" descr="" subnode="mpre_bfd_rx_offload_ext" offset="0x0.0" selected_by="BFD_RX_Offload" size="0x10.0" />
</node>

<node name="mpre_bfd_rx_offload_ext" descr="" size="0x10.0" >
	<field name="compare_bitmask" descr="When corresponding bit is set, FW will compare these field in the incoming packet.\;bit0 - m\;bit1 - d\;bit2 - a\;bit3 - c\;bit4 - f\;bit5 - p\;bit6 - sta\;bit7 - diag\;bit8 - ver\;bit9 - length" access="RW" offset="0x0.0" size="0x0.16" />
	<field name="bfd_v6" descr="Enable BFD_V6 to go to FW." access="RW" offset="0x0.16" size="0x0.1" />
	<field name="bfd_v4" descr="Enable BFD_V4 to go to FW." access="RW" offset="0x0.17" size="0x0.1" />
	<field name="cbs" descr="Committed Burst Size.\;burst size is 2^cbs.\;Range 0...20.\;reserved when p_en=0." access="RW" offset="0x0.24" size="0x0.6" />
	<field name="p_en" descr="Policer enable.\;0: disbable\;1: enable." access="RW" offset="0x0.31" size="0x0.1" />
	<field name="cir" descr="Committed Information Rate.\;cir units are packet/sec.\;Range 0...2^20\;reserved when p_en=0." access="RW" offset="0x4.0" size="0x4.0" />
	<field name="m" descr="Per field, only if the corresponding bit in compare_bitmask is set, Fw will compare this field to the value in the packet in the BFD header." access="RW" offset="0xC.0" size="0x0.1" />
	<field name="d" descr="Per field, only if the corresponding bit in compare_bitmask is set, Fw will compare this field to the value in the packet in the BFD header." access="RW" offset="0xC.1" size="0x0.1" />
	<field name="a" descr="Per field, only if the corresponding bit in compare_bitmask is set, Fw will compare this field to the value in the packet in the BFD header." access="RW" offset="0xC.2" size="0x0.1" />
	<field name="c" descr="Per field, only if the corresponding bit in compare_bitmask is set, Fw will compare this field to the value in the packet in the BFD header." access="RW" offset="0xC.3" size="0x0.1" />
	<field name="f" descr="Per field, only if the corresponding bit in compare_bitmask is set, Fw will compare this field to the value in the packet in the BFD header." access="RW" offset="0xC.4" size="0x0.1" />
	<field name="p" descr="Per field, only if the corresponding bit in compare_bitmask is set, Fw will compare this field to the value in the packet in the BFD header." access="RW" offset="0xC.5" size="0x0.1" />
	<field name="sta" descr="Per field, only if the corresponding bit in compare_bitmask is set, Fw will compare this field to the value in the packet in the BFD header." access="RW" offset="0xC.6" size="0x0.2" />
	<field name="diag" descr="Per field, only if the corresponding bit in compare_bitmask is set, Fw will compare this field to the value in the packet in the BFD header." access="RW" offset="0xC.8" size="0x0.5" />
	<field name="ver" descr="Per field, only if the corresponding bit in compare_bitmask is set, Fw will compare this field to the value in the packet in the BFD header." access="RW" offset="0xC.13" size="0x0.3" />
	<field name="length" descr="Per field, only if the corresponding bit in compare_bitmask is set, Fw will compare this field to the value in the packet in the BFD header." access="RW" offset="0xC.16" size="0x0.8" />
</node>

<node name="mpre_ext" descr="" size="0x30.0" >
	<field name="pool" descr="Pool Index.\;This pool will be used for consuming received packets by FW.\;Range 0...cap_num_pool_supported - 1.\;\;" access="RW" offset="0x0.0" size="0x0.4" />
	<field name="en" descr="Enable Receiver:\;0: disable\;1: enable" access="RW" offset="0x0.31" size="0x0.1" />
	<field name="fw_app_id" descr="FW Application ID.\;0: Switch2Switch_Latency_Measurements\;1: ICMP_Offload\;3: BFD_RX_Offload" access="INDEX" enum="Switch2Switch_Latency_Measurements=0x0,ICMP_Offload=0x1,BFD_RX_Offload=0x3" offset="0x4.24" size="0x0.8" />
	<field name="application_parameters" descr="Application Parameters.\;Table 1309, &quot;Application Parameters - Switch2Switch Latency Measurements Layout,&quot; on page 1767\;Table 1311, &quot;Application Parameters - ICMP Offload Layout,&quot; on page 1768\;Table 1313, &quot;Application Parameters - BFD_RX_Offload Layout,&quot; on page 1769" subnode="mpre_application_parameters_auto_ext" access="RW" offset="0x10.0" size="0x20.0" union_selector="$(parent).fw_app_id" />
</node>

<node name="mprs_ext" descr="" size="0x14.0" >
	<field name="parsing_depth" descr="Minimum Parsing Depth\;Units of Bytes.\;Need to enlarge parsing depth according to L3, MPLS, tunnels, ACL rules, custom_bytes, traps, hash etc.\;Default is 96B.\;[DWIP] Value must be equal or larger than cap_min_parsing_depth.\;The device will parse no deeper than cap_max_parsing_depth.\;Granularity is 8B.\;" access="RW" offset="0x0.0" size="0x0.16" />
	<field name="ctipl_dis" descr="If set, ctipl_l2_length and ctipl fields are reserved.\;Default value is 0.\;Reserved in Spectrum-5 onwards." access="OP" offset="0x0.29" size="0x0.1" />
	<field name="prs_depth_dis" descr="If set, parsing_depth and parsing_en fields are reserved.\;Default value is 0." access="OP" offset="0x0.30" size="0x0.1" />
	<field name="en_l4_raw_prs" descr="Enable L4 RAW parsing and L4 inner RAW parsing.\;Parser will extract 4 bytes after IP header to l4_raw and will extract 4 bytes after inner IP header for inner_l4_raw.\;See l4_extended_types in Table 2639, &quot;ACL Key Elements - L4 Group,&quot; on page 3419\;Default value is 0.\;" access="RW" offset="0x0.31" size="0x0.1" />
	<field name="parsing_en" descr="Parsing enable\;Bit0: enable parsing of NVE of types VXLAN, VXLAN-GPE, GENEVE and NVGRE, default enabled\;Note: for proper parsing the parsing_depth must also be configured\;Supported for Spectrum-1, reserved otherwise since Spectrum-2 supports concurrent QinQ and NVE." access="RW" offset="0x4.0" size="0x0.16" />
	<field name="ctipl_l2_length" descr="L2 header length to be added to IP length for Cut Through IP Length Based mode\;This length should include DMAC, SMAC, L2 tags (VLANs etc.), MPLS labels. e.g. configure 52 for DMAC+SMAC + 10 tags/labels\;Units of Bytes\;Reserved when ctipl = 0.\;Reserved in Spectrum-5 onwards." access="RW" offset="0x8.0" size="0x0.7" />
	<field name="ctipl" descr="Cut Through IP Length Based\;0: Cut through from low to high rate is based on MTU and port rates (default)\;1: Cut through from low to high rate is based on IP Length and port rates for IP packets, else, based on MTU\;Reserved in Spectrum-5 onwards." access="RW" offset="0x8.8" size="0x0.1" />
	<field name="vxlan_udp_dport" descr="VXLAN UDP destination port\;Used for identifying VXLAN packets and for dport field in encapsulation\;Default 4789" access="RW" offset="0x10.0" size="0x0.16" />
</node>

<node name="mpsc_ext" descr="" size="0x14.0" >
	<field name="lp_msb" descr="Local port[9:8]" access="INDEX" offset="0x0.12" size="0x0.2" />
	<field name="local_port" descr="Local port number (Rx ports)\;Not supported from CPU port\;Not supported from router port" access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="cong" descr="Congestion\;Sample only when egress congestion\;The congestion configuration is done by SBCTC, see\;Section 10.11.1, &quot;SBCTC - Shared Buffer Congestion Threshold Configuration Register&quot;, on page 3336\;For Switch-IB/2 the congestion is port congestion. Thus need to configure port congestion in SBGCR.tele_entitiy, see Section 10.8.1, &quot;SBGCR - Shared Buffer Global Configuration Register&quot;, on page 3300\;For Switch-IB/2 this is a global configuration, affecting all local_ports\;Reserved for Spectrum switches." access="RW" offset="0x4.29" size="0x0.1" />
	<field name="e" descr="Enable\;0: Disable sampling on port local_port (disabled)\;1: Enable sampling on port local_port" access="RW" offset="0x4.30" size="0x0.1" />
	<field name="c" descr="Clear counter\;Clears the count_sample_drop" access="OP" offset="0x4.31" size="0x0.1" />
	<field name="rate" descr="Sampling rate = 1 out of rate packets (with randomization around the point)\;Valid values are: 1 to 3.5*10^9\;" access="RW" offset="0x8.0" size="0x4.0" />
	<field name="count_sample_drops_high" descr="A count of frames that were discarded after sampling. Discard is due to CPU policers or lack of resources towards the CPU.\;" access="RO" offset="0xC.0" size="0x4.0" />
	<field name="count_sample_drops_low" descr="A count of frames that were discarded after sampling. Discard is due to CPU policers or lack of resources towards the CPU.\;" access="RO" offset="0x10.0" size="0x4.0" />
</node>

<node name="mpscr_ext" descr="" size="0x20.0" >
	<field name="warning_inactive_time" descr="Thermal Throttling (FW mode) warning inactive time\;Each unit is equivalent to 100uSec\;Reserved for Switch.\;" access="RW" offset="0x4.0" size="0x0.8" />
	<field name="warning_active_time" descr="Thermal Throttling (FW mode) warning active time\;Each unit is equivalent to 100uSec\;Reserved for Switch.\;" access="RW" offset="0x4.16" size="0x0.8" />
	<field name="critical_inactive_time" descr="Thermal Throttling (FW mode) critical inactive time\;Each unit is equivalent to 100uSec\;Reserved for Switch.\;" access="RW" offset="0x8.0" size="0x0.8" />
	<field name="critical_active_time" descr="Thermal Throttling (FW mode) critical active time\;Each unit is equivalent to 100uSec\;Reserved for Switch.\;" access="RW" offset="0x8.16" size="0x0.8" />
	<field name="l0_all_queues_are_import" descr="[DWIP]\;If set, L0 controller (HW) requires all queues to be empty before moving to L0 state. Global parameter in Switch project.\;Reserved for GPU.\;" access="RW" offset="0xC.0" size="0x0.1" />
	<field name="tav_enable" descr="[SWITCH][RETIMER][DWIP]\;0: TAV disabled\;1: TAV enabled\;Note: This setting reverts to default after ASIC reset.\;" access="RW" offset="0xC.31" size="0x0.1" />
	<field name="cc" descr="Clear Counters\;0: Don&apos;t clear MTSR counters\;1: Clear MTSR counters\;Reserved for Switch." access="OP" offset="0x10.0" size="0x0.1" />
	<field name="queue_depth_th" descr="[Switch_Only]:\;Queue Depth Threshold\;Defines the threshold that above it we move to L1 Idle (not in desire).\;Relevant for normal queues only (high-priority queues are considered empty only if the queue has no TCB line usage at all).\;For Quantum-3: Units of 64Bytes\;\;Relevant for switches only. Unit are line of TCB" access="RW" offset="0x14.0" size="0x0.16" />
</node>

<node name="mpsh_reg_ext" descr="" size="0x50.0" >
	<field name="time_measure_unit" descr="Unit time of time which each bin is counting. Unit is equal to \;time_measure_unit in time_unit\;\;For exmple:\;time_unit = 0\;time_measure_unit = 500\;Each bit tick is 500 useconds" access="RO" offset="0x0.0" size="0x0.16" />
	<field name="power_entity" descr="0 - Main\;1 - Tile 0\;2- Tile 1\;3- Tile 2\;4- Tile 3\;5- Tile 4\;6- Tile 5\;7- Tile 6\;8- Tile 7" access="INDEX" offset="0x0.24" size="0x0.4" />
	<field name="time_unit" descr="Unit time of\;0 - useconds\;1 - miliseconds" access="RO" offset="0x4.0" size="0x0.2" />
	<field name="power_state" descr="Each element indicates the duration that the device was in this power state. The total time equals to:\;value * time_measure_unit\;\;power_state[0]: Normal power.\;power_state[1]: Temperature Aware Voltage (TAV) state." access="RO" high_bound="15" low_bound="0" offset="0x10.0" size="0x40.0" />
</node>

<node name="mpsq_reg_ext" descr="" size="0x10.0" >
	<field name="power_states_supported_bitmask" descr="If the bit is set, the device supports this power state.\;0 - P0. Default power state, each device will support this state.\;1 - P1 TAV\;2-15 - reserved" access="RO" offset="0x0.0" size="0x0.16" />
	<field name="power_entity" descr="0 - Main\;1 - Tile 0\;2- Tile 1\;3- Tile 2\;4- Tile 3\;5- Tile 4\;6- Tile 5\;7- Tile 6\;8- Tile 7" access="INDEX" offset="0x0.24" size="0x0.4" />
	<field name="current_state" descr="The current device power state\;0 - P0\;1 - P1 TAV\;2-15 - reserved" access="RO" offset="0x4.0" size="0x0.4" />
</node>

<node name="mqdik_reg_ext" descr="" size="0x208.0" >
	<field name="algorithm" descr="0: ECC. Used for any of the P256, P385, P521 curves.\;1: RSA. Used for 2048 or 4096 keys." access="RO" offset="0x0.0" size="0x0.8" />
	<field name="key_size" descr="Number of Bytes in the public_key" access="RO" offset="0x0.8" size="0x0.8" />
	<field name="status" descr="0: Key is not ready for query\;1: Key is provided in the response" access="RO" offset="0x0.16" size="0x0.8" />
	<field name="key_index" descr="Type of key used:\;0: public key of identity key\;1: serial number of identity key\;All other values reserved." access="INDEX" offset="0x0.24" size="0x0.8" />
	<field name="public_key" descr="Public-key value, per the specific algorithm.\;For key_index=0, it will be a public key.\;For key_index=1, it will be a serial number." access="RO" high_bound="127" low_bound="0" offset="0x8.0" size="0x200.0" />
</node>

<node name="mqis_reg_ext" descr="" size="0x18.0" >
	<field name="info_type" descr="Type of information string to be queried:\;0x0: VPD - Read the PCI Vital Product Data capability content.\;0x1: MODEL_NAME\;0x2: MODEL_DESCRIPTION\;0x3: IMAGE_VSD\;0x4: DEVICE_VSD\;0x5: ROM_INFO\;other values are reserved." access="INDEX" enum="MODEL_NAME=0x1,MODEL_DESCRIPTION=0x2,IMAGE_VSD=0x3,DEVICE_VSD=0x4,ROM_INFO=0x5" offset="0x0.0" size="0x0.8" />
	<field name="info_length" descr="Total size of the information string, according to info_type. Value given in bytes." access="RO" offset="0x4.0" size="0x0.16" />
	<field name="read_length" descr="Number of bytes requested. The device returns the number of bytes actually read." access="RW" offset="0x8.0" size="0x0.16" />
	<field name="read_offset" descr="Offset in bytes of the first byte requested to read." access="INDEX" offset="0x8.16" size="0x0.16" />
	<field name="info_string" descr="Information string accessed, according to info_type. If the information is not available, a NULL string is returned." access="RO" high_bound="7" low_bound="0" offset="0x10.24" size="0x8.0" />
</node>

<node name="mroe_ext" descr="" size="0x20.0" >
	<field name="fw_app_id" descr="FW Application ID.\;0: N_A\;1: ICMP_Offload\;" access="INDEX" enum="N_A=0x0,ICMP_Offload=0x1" offset="0x0.0" size="0x0.8" />
	<field name="num_rec" descr="Number of valid state_record[]." access="RO" offset="0x8.0" size="0x0.10" />
	<field name="state_record" descr="See Table 1325, &quot;ICMP Offload State Record Register Layout,&quot; on page 1776" subnode="mroe_state_record_auto_ext" access="RO" high_bound="VARIABLE" low_bound="0" offset="0x10.0" size="0x10.0" union_selector="$(parent).fw_app_id" />
</node>

<node name="mroe_state_record_auto_ext" descr="" attr_is_union="1" size="0x10.0" >
	<field name="icmp_state_ext" descr="" subnode="icmp_state_ext" offset="0x0.0" selected_by="ICMP_Offload" size="0x10.0" />
</node>

<node name="mrpr_reg_ext" descr="" size="0x108.0" >
	<field name="type" descr="Runtime parameter to access or query\;" access="INDEX" offset="0x0.0" size="0x0.16" />
	<field name="status" descr="0: Parameter is not supported\;1: Parameter is supported but is not ready for read\;2: Successful read\;3: Successful write\;Else - Reserved" access="RO" offset="0x0.16" size="0x0.8" />
	<field name="length" descr="Number of Bytes in the parameter data section.\;When reading an unsupported /unavailable parameter, this field is 0 and there is no data field in the read response." access="RW" offset="0x0.24" size="0x0.8" />
	<field name="data" descr="Parameter data.\;Writing to this field for read-only parameter has no effect. \;Reading this field for a write-only parameter returns unpredicted value." access="RW" high_bound="63" low_bound="0" offset="0x8.0" size="0x100.0" />
</node>

<node name="mrrr_ext" descr="" size="0x8.0" >
	<field name="init_rr" descr="Initiate resource release:\;0: Resource release type 0 \;1: Resource release type 1 \;If rr_status is &quot;1&quot; then this operation fails" access="WO" offset="0x0.0" size="0x0.4" />
	<field name="rr_status" descr="Resource release status:\;0: No resource release process is ongoing\;1: Resource release process is ongoing" access="RO" offset="0x4.0" size="0x0.4" />
</node>

<node name="mrsr_ext" descr="" size="0x8.0" >
	<field name="command" descr="Reset/shutdown command\;0: clear state of reset_at_pci_disable\;1: software reset immediate (switch soft reset).\;6: reset_at_pci_disable - reset will be done at PCI_DISABLE. See MCAM bit48. Note: when no PCI (e.g. unmanaged switches or for Retimers) will do reset without waiting for PCI_DISABLE\;7: fw_link_reset_at_pci_disable - PCIe FW Link Reset, core is up [DWIP]" access="RW" offset="0x0.0" size="0x0.4" />
</node>

<node name="mrsrft_ext" descr="" size="0x8.0" >
	<field name="state_ld" descr="When PCI Link Disable:\;0: hot_reset\;6: all_reset\;7: PCIe_FW_Link_Reset - core is up" access="RW" enum="hot_reset=0x0,all_reset=0x6,PCIe_FW_Link_Reset=0x7" offset="0x0.0" size="0x0.4" />
	<field name="state_sbr" descr="When PCI Secondary Bus Reset:\;0: hot_reset\;6: all_reset\;7: PCIe_FW_Link_Reset - core is up" access="RW" enum="hot_reset=0x0,all_reset=0x6,PCIe_FW_Link_Reset=0x7" offset="0x0.4" size="0x0.4" />
	<field name="state_sld" descr="When PCI Surprise Link Down:\;0: hot_reset\;6: all_reset\;7: PCIe_FW_Link_Reset - core is up" access="RW" enum="hot_reset=0x0,all_reset=0x6,PCIe_FW_Link_Reset=0x7" offset="0x0.8" size="0x0.4" />
	<field name="state_perst" descr="When PERST:\;0: hot_reset\;6: all_reset\;7: PCIe_FW_Link_Reset - core is up" access="RW" enum="hot_reset=0x0,all_reset=0x6,PCIe_FW_Link_Reset=0x7" offset="0x0.12" size="0x0.4" />
</node>

<node name="msci_ext" descr="" size="0xc.0" >
	<field name="index" descr="CPLD index" access="INDEX" offset="0x0.0" size="0x0.4" />
	<field name="version" descr="CPLD version" access="RO" offset="0x4.0" size="0x4.0" />
</node>

<node name="msgcr_reg_ext" descr="" size="0x8.0" >
	<field name="fake_cable_detect_en" descr="0: fake cable detection is disabled\;1: fake cable detection is enabled" access="RW" offset="0x0.0" size="0x0.1" />
	<field name="support_perst_gpio" descr="[DWIP]:\;0: PERST GPIO assertion will NOT trigger ASIC reset\;1: PERST GPIO assertion will trigger ASIC reset\;" access="RO" offset="0x4.0" size="0x0.1" />
	<field name="support_inter_asic_block" descr="[DWIP]:\;Support inter ASIC blocking\;0: Disable_Link GPIO assertion will NOT trigger Inter ASIC communication blocking\;1: Disable_Link GPIO assertion will trigger Inter ASIC communication blocking\;" access="RO" offset="0x4.1" size="0x0.1" />
	<field name="support_error_injection" descr="[DWIP]:\;Support Error injection \;0: Deny any error injection operation (Thermal/Link/PCI)\;1: Allow error injection trigger\;" access="RO" offset="0x4.8" size="0x0.1" />
</node>

<node name="msgi_ext" descr="" size="0x80.0" >
	<field name="serial_number" descr="ASIC serial number (ASCII string)" access="RO" high_bound="5" low_bound="0" offset="0x0.0" size="0x18.0" />
	<field name="part_number" descr="ASIC part number (ASCII string)" access="RO" high_bound="4" low_bound="0" offset="0x20.0" size="0x14.0" />
	<field name="revision" descr="Revision (ASCII string)" access="RO" offset="0x38.0" size="0x4.0" />
	<field name="product_name" descr="Product Name (ASCII string)" access="RO" high_bound="15" low_bound="0" offset="0x40.0" size="0x40.0" />
</node>

<node name="mshr_reg_ext" descr="" size="0x10.0" >
	<field name="state" descr="Physical Violation Prevention Mode\;0: UNLOCKED\;0x1: LOCKED\;0x2: LOCK_FW_UPDATE\;0x3: LOCK_HOST_CFG\;Supported only in Quantum-3" access="WO" enum="UNLOCKED=0x0,LOCKED=0x1,LOCK_FW_UPDATE=0x2,LOCK_HOST_CFG=0x3" offset="0x0.24" size="0x0.8" />
	<field name="key" descr="Key" access="WO" high_bound="7" low_bound="0" offset="0x8.24" size="0x8.0" />
</node>

<node name="mslmc_ext" descr="" size="0x8.0" >
	<field name="clr" descr="Clear counters" access="OP" offset="0x0.31" size="0x0.1" />
	<field name="packet_res_drop_cnt" descr="Packet response drop counter." access="RO" offset="0x4.0" size="0x4.0" />
</node>

<node name="mslme_ext" descr="" size="0x10.0" >
	<field name="num_rec" descr="Number Of Records.\;Range 1...max_cap_num_s2s_records" access="RO" offset="0x0.0" size="0x0.8" />
	<field name="latency_record" descr="Latency Record\;Table 1319, &quot;Latency Record Layout,&quot; on page 1773" subnode="latency_record_ext" access="RO" arr_is_dynamic="1" high_bound="VARIABLE" low_bound="0" offset="0x8.0" size="0x8.0" size_condition="$(parent).num_rec" />
</node>

<node name="mspmer_ext" descr="" size="0x30.0" >
	<field name="device_index" descr="Device Index\;0: Main_board_or_NIC\;" access="INDEX" offset="0x0.0" size="0x0.4" />
	<field name="status" descr="Status\;0: Success\;1: Physical monitor is not supported\;2: Device index is not valid" access="RO" offset="0x4.0" size="0x0.4" />
	<field name="clr" descr="Clear Counters\;0: don&apos;t clear counters\;1: clear counters" access="OP" offset="0x4.16" size="0x0.1" />
	<field name="prev_en" descr="Prevention Enable\;0: Notification only. Prevention is disabled \;1: Prevention is enabled\;\;In Spectrum-4 only, controlled by NV_SWITCH_PHY_SEC_CONF.pvpm. See Table 386, &quot;NV_SWITCH_PHY_SEC_CONF Layout,&quot; on page 923" access="RO" offset="0x4.24" size="0x0.1" />
	<field name="supported_physical_monitor" descr="31: FMON - Frequency MONitor\;30: VMON - Voltage MONitor\;29: SCPM - Secure Canary Path Monitor\;0: General \;\;" access="RO" offset="0xC.0" size="0x4.0" />
	<field name="fmon_ctr" descr="Frequency Monitor Counter\;\;Stuck at 0xF, cleared only at hard reset (RST_) or power down or clr bit." access="RO" offset="0x14.0" size="0x0.4" />
	<field name="vmon_ctr" descr="Voltage Monitor Counter\;\;Stuck at 0xF, cleared only at hard reset (RST_) or power down or clr bit." access="RO" offset="0x14.4" size="0x0.4" />
	<field name="scpm_ctr" descr="Security Canary Path Monitor Counter\;A circuit macro used to flag timing slack violations as part of mitigations for physical security attacks.\;\;Stuck at 0xF, cleared only at hard reset (RST_) or power down or clr bit." access="RO" offset="0x14.8" size="0x0.4" />
	<field name="general_err" descr="General Error indication\;Cleared only at hard reset (RST_) or power down or clr bit." access="RO" offset="0x14.12" size="0x0.1" />
</node>

<node name="msps_ext" descr="" size="0xa0.0" >
	<field name="psu0" descr="System Power Supply 0 Status" access="RO" high_bound="19" low_bound="0" offset="0x0.0" size="0x50.0" />
	<field name="psu1" descr="System Power Supply 1 Status" access="RO" high_bound="19" low_bound="0" offset="0x50.0" size="0x50.0" />
</node>

<node name="mssir_firebird_ext" descr="" size="0x80.0" >
	<field name="crc" descr="Each bit represent whether a CRC error occured on the management interface to the tile number." access="RO" offset="0x0.0" size="0x0.8" />
	<field name="bypass" descr="Each bit represent whether a bypass clock is run on the corresponding tile." access="RO" offset="0x4.0" size="0x0.8" />
	<field name="fatal_dft" descr="" access="RO" offset="0x8.0" size="0x0.8" />
	<field name="freq0" descr="Each field represent the frequency dividing factor for the core clock for each of the tiles" access="RO" offset="0xC.0" size="0x0.5" />
	<field name="freq1" descr="Each field represent the frequency dividing factor for the core clock for each of the tiles" access="RO" offset="0xC.5" size="0x0.5" />
	<field name="freq2" descr="Each field represent the frequency dividing factor for the core clock for each of the tiles" access="RO" offset="0xC.10" size="0x0.5" />
	<field name="freq3" descr="Each field represent the frequency dividing factor for the core clock for each of the tiles" access="RO" offset="0xC.15" size="0x0.5" />
	<field name="freq4" descr="Each field represent the frequency dividing factor for the core clock for each of the tiles" access="RO" offset="0xC.20" size="0x0.5" />
	<field name="freq5" descr="Each field represent the frequency dividing factor for the core clock for each of the tiles" access="RO" offset="0xC.25" size="0x0.5" />
	<field name="freq6" descr="Each field represent the frequency dividing factor for the core clock for each of the tiles" access="RO" offset="0x10.0" size="0x0.5" />
	<field name="freq7" descr="Each field represent the frequency dividing factor for the core clock for each of the tiles" access="RO" offset="0x10.5" size="0x0.5" />
</node>

<node name="mssir_reg_ext" descr="" size="0x88.0" >
	<field name="sys_indx" descr="System Identifier\;0: Firebird\;" access="INDEX" enum="Firebird=0x0" offset="0x0.0" size="0x0.4" />
	<field name="sys_info" descr="Firebird System Information, see Table 721, &quot;MSSIR - Management System Status Information Register Layout,&quot; on page 1225" subnode="mssir_firebird_ext" access="RW" offset="0x8.0" size="0x80.0" />
</node>

<node name="mtbr_reg_ext" descr="" size="0x410.0" >
	<field name="base_sensor_index" descr="Base sensor index\;Sensors are read starting from base_sensor_index\;Sensor 0 is the ASIC sensor, sensors 1-63 are ambient sensors and sensors 64-127 are mapped to the SFP+/QSFP modules sequentially (module 0 is mapped to sensor 64, module 1 to sensor 65 and so on). Gearbox sensors starts from 256 index." access="INDEX" offset="0x0.0" size="0x0.12" />
	<field name="slot_index" descr="Slot index\;0: Main board" access="INDEX" offset="0x0.16" size="0x0.4" />
	<field name="tmp_type" descr="Temperature Type\;0: Maximum\;1: Minimum" access="INDEX" offset="0x0.31" size="0x0.1" />
	<field name="num_rec" descr="Number of records to read\;Range 1..256" access="OP" offset="0x4.0" size="0x0.8" />
	<field name="temperature_record" descr="Temperature record\;See Table 609, &quot;MTBR - Temperature Record Layout,&quot; on page 1133" subnode="mtbr_temp_record_ext" access="RO" high_bound="255" low_bound="0" offset="0x10.0" size="0x400.0" />
</node>

<node name="mtbr_temp_record_ext" descr="" size="0x4.0" >
	<field name="temperature" descr="Temperature reading from the sensor. Units of 0.125 Celsius degrees.\;For virtual sensors, it is the highest or lowest temperature, as determined by MTBR.tmp_type.\;If no ambient sensor is present then the value is &apos;0&apos;. Also for a passive copper case.\;0x8000:NO_CONN- No cable or device&apos;s sensor is connected.\;0x8001: NO_TEMP_SENS - In case a cable or device is connected but the temperature sensing is not supported.\;0x8002: INDX_NA- No such cable or device&apos;s sensor index. Bigger than the number of modules.\;0x8003: INCORRECT_SENS_INFO - Sensor information is incorrect." access="RO" offset="0x0.0" size="0x0.16" />
	<field name="max_temperature" descr="The highest measured temperature from the sensor.\;For virtual sensors, it is the highest or lowest temperature, as determined by MTBR.tmp_type.\;When the bit relevant MTMP.mte is cleared, the field max_temperature is reserved.\;The value will be &apos;0&apos; for any of the &apos;800X&apos; temperature values and for &apos;0&apos; value." access="RO" offset="0x0.16" size="0x0.16" />
</node>

<node name="mtcap_ext" descr="" size="0x10.0" >
	<field name="sensor_count" descr="Number of ASIC+platform sensors supported by the device \;This includes the ASIC and the ambient sensors. Module sensors are not included.\;This actually is equal to sum of all &apos;1&apos; in sensor_map\;Range 1..64\;\;Known sensors:\;0: current asic temp, FW exposes current max(all diode temp sensors)\;1..63: ambient, supported only for unmanaged switch, defined by ini\;64..127: modules (not exposed by this field)" access="RO" offset="0x0.0" size="0x0.7" />
	<field name="slot_index" descr="Slot index\;0: Main board" access="INDEX" offset="0x0.16" size="0x0.4" />
	<field name="internal_sensor_count" descr="Number of sensors supported by the device that are on the ASIC.\;Exposes how many ASIC diodes exist. \;The FW exposes all of them as sensor[0]" access="RO" offset="0x4.0" size="0x0.8" />
	<field name="sensor_map" descr="Mapping of system sensors supported by the device. Only ASIC and ambient sensors are supported. Each bit represents a sensor.\;Per bit:\;0: Not_connected_or_not_supported\;1: Supports_temperature_measurements" subnode="uint64" access="RO" offset="0x8.0" size="0x8.0" />
</node>

<node name="mtcq_reg_ext" descr="" size="0x70.0" >
	<field name="device_index" descr="Device number.\;For gearboxes, the index represents the gearbox die.\;For cables, the index represents the module index starting at index 1 while index 0 indicates the host device." access="INDEX" offset="0x0.0" size="0x0.12" />
	<field name="status" descr="Indicates the status of the desired token we are generating the challenge for.\;0x0 - OK\;0x1 - TOKEN_ALREADY_APPLIED\;0x2 - TOKEN_NOT_SUPPORTED\;0x3 - NO_KEY_CONFIGURED (there is no public_key that can be used for this token) \;0x4 - INTERFACE_NOT_ALLOWED (asking for local token from remote interface, or remote token from local interface)" access="RO" offset="0x0.16" size="0x0.8" />
	<field name="token_opcode" descr="The token which a challenge is generated for.\;0: RMCS - (ReMote Customer Support)\;1: RMDT - (ReMote Debug Token)\;2: CRCS - (Challenge-Response Customer Support) - supported from Spectrum-4 and above\;3: CRDT - (Challenge-Response Debug Token) - supported from Spectrum-4 and above\;\;5: MTDT\;6: FRC - (Factory ReCustomization)\;7: MTFA\;Other: Reserved" access="INDEX" offset="0x0.24" size="0x0.8" />
	<field name="keypair_uuid" descr="The UUID of the key used to generate the challenge." access="RO" high_bound="3" low_bound="0" offset="0x4.0" size="0x10.0" />
	<field name="base_mac" descr="Device base MAC address / unique identifier." subnode="uint64" access="RO" offset="0x14.0" size="0x8.0" />
	<field name="psid" descr="Device PSID" access="RO" high_bound="3" low_bound="0" offset="0x1C.0" size="0x10.0" />
	<field name="fw_version_39_32" descr="Device FW version" access="RO" offset="0x2C.0" size="0x0.8" />
	<field name="fw_version_31_0" descr="Device FW version" access="RO" offset="0x30.0" size="0x4.0" />
	<field name="source_address" descr="Source address of debug requester. DLID for Infiniband\;Valid only for RMCS/RMDT." access="RO" high_bound="3" low_bound="0" offset="0x34.0" size="0x10.0" />
	<field name="session_id" descr="Unique debug session identifier. \;See details in REMOTE_DEBUG_KEEP_ALIVE.\;Valid only for RMCS." access="RO" offset="0x44.0" size="0x0.16" />
	<field name="challenge_version" descr="Version of the challenge format.\;" access="RO" offset="0x44.24" size="0x0.8" />
	<field name="challenge" descr="Random generated field. Used for randomness and replay-protection." access="RO" high_bound="7" low_bound="0" offset="0x48.0" size="0x20.0" />
	<field name="token_ratchet" descr="Current device&quot;s token rachet value." subnode="uint64" access="RO" offset="0x68.0" size="0x8.0" />
</node>

<node name="mtdc_ext" descr="" size="0x20.0" >
	<field name="tracer_limit_en" descr="Tracer writing to PCI is limited.When this mode is enable, the hw tracer pointer cannot override the software read index pointer.If software will not update the read index pointer, new events will fall and will not be sent.\;0: NA - ignored, does not perform any operation \;1: Enable\;2: Disable" access="RW" offset="0x0.0" size="0x0.2" />
	<field name="tlb_addr_msb" descr="The lsb of the address for the cyclic buffer in the host memory." access="RW" offset="0x8.0" size="0x4.0" />
	<field name="tlb_addr_lsb" descr="The lsb of the for the cyclic buffer address in the host memory." access="RW" offset="0xC.12" size="0x0.20" />
	<field name="hw_pointer" descr="Pointer of the current hw index the tracer is writing to.\;" access="RO" offset="0x10.0" size="0x4.0" />
	<field name="sw_pointer" descr="Pointer to the last tracer event index that the software consumed.\;" access="RW" offset="0x14.0" size="0x4.0" />
</node>

<node name="mtecr_ext" descr="" size="0x60.0" >
	<field name="sensor_count" descr="Number of sensors supported by the ASIC+platform\;This includes the ASIC, ambient sensors, module sensors, Gearboxes etc.\;This actually is equal to sum of all &apos;1&apos; in sensor_map\;\;Known sensors:\;See MTMP.sensor_index description." access="RO" offset="0x0.0" size="0x0.12" />
	<field name="last_sensor" descr="Last sensor index that is available in the system to read from.\;e.g. when 32modules: 64+32-1 = 95" access="RO" offset="0x0.16" size="0x0.12" />
	<field name="internal_sensor_count" descr="Number of sensors supported by the device that are on the ASIC. \;Exposes how many ASIC diodes exist. \;The FW exposes all of them as sensor[0]" access="RO" offset="0x4.0" size="0x0.7" />
	<field name="slot_index" descr="Slot index\;0: Main board" access="INDEX" offset="0x4.28" size="0x0.4" />
	<field name="sensor_map" descr="Mapping of system sensors supported by the device. Each bit represents a sensor.\;This field is size variable based on the last_sensor field and in granularity of 32bits.\;Per bit:\;0: Not connected or not supported\;1: Supports temperature measurements\;\;In case of last_sensor = 704 (22*32):\;sensor_warning[0] bit31 is sensor_warning[703]\;sensor_warning[0] bit0 is sensor_warning[703-31]\;sensor_warning[21] bit31 is sensor_warning[31]\;sensor_warning[21] bit0 is sensor_warning[0]\;\;In case if last_sensor = 259 (22*32):\;Note: roundup(259,32)=288\;sensor_warning[0] bit31 is sensor_warning[287]\;sensor_warning[0] bit0 is sensor_warning[287-31=256]\;sensor_warning[8] bit31 is sensor_warning[31]\;sensor_warning[8] bit0 is sensor_warning[0]\;sensor_warning[9..21] are not used\;\;64-192 of sensor_index are mapped to the modules sequentially (module 0 is mapped to sensor_index 64, module 1 to sensor_index 65 and so on)." access="RO" high_bound="21" low_bound="0" offset="0x8.0" size="0x58.0" />
</node>

<node name="mteim_reg_ext" descr="" size="0x30.0" >
	<field name="cap_core_tile" descr="Number of processors per tile ASIC.\;" access="RO" offset="0x0.0" size="0x0.8" />
	<field name="cap_core_main" descr="Number of processors in the main ASIC." access="RO" offset="0x0.8" size="0x0.8" />
	<field name="cap_core_dpa" descr="Number of processors in the DPA unit." access="RO" offset="0x0.16" size="0x0.8" />
	<field name="cap_num_of_tile" descr="Number of tiles per device. For devices without tiles (only main ASIC), this field should be &apos;0&apos;.\;" access="RO" offset="0x0.24" size="0x0.8" />
	<field name="type_core_tile" descr="Processor type.\;0: N/A\;1: IRISC\;2: RISC5\;Else: Reserved" access="RO" offset="0x4.0" size="0x0.4" />
	<field name="type_core_main" descr="Processor type.\;0: N/A\;1: IRISC\;2: RISC5\;Else: Reserved" access="RO" offset="0x4.4" size="0x0.4" />
	<field name="type_core_dpa" descr="Processor type.\;0: N/A\;1: IRISC\;2: RISC5\;Else: Reserved" access="RO" offset="0x4.8" size="0x0.4" />
	<field name="is_phy_uc_supported" descr="Indicates wether Phy_UC tracers mapping are supported by the device FW. \;When set, The event_id of the Phy UC of the instance will be calculated by first_tile/main _core _event_id[i] + cap_core_tile/main.\;When clear the Phy UC will be ignored.\;" access="RO" offset="0x4.30" size="0x0.1" />
	<field name="is_dwsn_msb_supported" descr="When set to &apos;1&apos;, the device supports dwsn_msb bit within the FW trace layout." access="RO" offset="0x4.31" size="0x0.1" />
	<field name="first_dpa_core_event_id" descr="The mapping for the rest of the DPA ASIC processors are sequential and the mapping is defined as:\;processor[x]=first_dpacore_event_id+x" access="RO" offset="0x8.16" size="0x0.8" />
	<field name="first_main_core_event_id" descr="The mapping for the rest of the main ASIC processors are sequential and the mapping is defined as:\;processor[x]=first_main_core_event_id+x" access="RO" offset="0x8.24" size="0x0.8" />
	<field name="first_tile_core_event_id" descr="The mapping for the rest of the tile[y] ASIC processors are sequential and the mapping is defined as:\;processor[x]=first_tile_core_event_id[y]+x\;" access="RO" high_bound="7" low_bound="0" offset="0xC.24" size="0x8.0" />
</node>

<node name="mteir_reg_ext" descr="" size="0xc.0" >
	<field name="thermal_error_mode" descr="Error type Injected\;0: No thermal error injection\;1: Warning\;2: Critical\;3: Fatal\;4: Force the device into normal temperature range\;Default is no thermal error injection \;Note: Change to critical/fatal may cause the ASIC to reset." access="RW" offset="0x0.0" size="0x0.3" />
</node>

<node name="mtewe_ext" descr="" size="0x10c.0" >
	<field name="sensor_count" descr="Number of sensors supported by the device\;This includes the ASIC, ambient sensors, Gearboxes etc.\;\;Known sensors:\;See MTMP.sensor_index description." access="RO" offset="0x0.0" size="0x0.12" />
	<field name="slot_index" descr="Slot index\;0: Main board" access="INDEX" offset="0x0.12" size="0x0.4" />
	<field name="last_sensor" descr="Last sensor index that is available in the system to read from." access="RO" offset="0x0.16" size="0x0.12" />
	<field name="sensor_warning" descr="Bit vector indicating which of the sensor reading is above threshold.\;This field is size dependent and based on last_sensor field and in granularity of 32bits.\;\;In case of last_sensor = 704 (22*32):\;sensor_warning[0] bit31 is sensor_warning[703]\;sensor_warning[0] bit0 is sensor_warning[703-31]\;sensor_warning[21] bit31 is sensor_warning[31]\;sensor_warning[21] bit0 is sensor_warning[0]\;\;In case if last_sensor = 259 (22*32):\;Note: roundup(259,32)=288\;sensor_warning[0] bit31 is sensor_warning[287]\;sensor_warning[0] bit0 is sensor_warning[287-31=256]\;sensor_warning[8] bit31 is sensor_warning[31]\;sensor_warning[8] bit0 is sensor_warning[0]\;sensor_warning[9..21] are not used" access="RO" high_bound="21" low_bound="0" offset="0x4.0" size="0x58.0" />
</node>

<node name="mtie_ext" descr="" size="0x30.0" >
	<field name="enable_all" descr="Enable/Disable all FW tracer initiator and ignore mask.\;Starts from bit 0.\;0: Use bit mask\;1: Enable all\;2: Disable all" access="OP" offset="0x0.0" size="0x0.2" />
	<field name="log_delay" descr="Adding delay to log events in usecs\;" access="RW" offset="0x4.0" size="0x0.16" />
	<field name="source_id_bitmask" descr="Bit mask of all the possible tracer initiators.\;Reserved when enable_all != 0.\;The mapping of source id to HW unit is unique per device and can be fetched from FW code.\;" access="RW" high_bound="7" low_bound="0" offset="0x10.0" size="0x20.0" />
</node>

<node name="mtim_ext" descr="" size="0x10.0" >
	<field name="log_level" descr="The verbosity of the log. \;0: LOG_DEBUG\;1: LOG_INFO\;2: LOG_WARNING\;3: LOG_ERROR\;\;The lower value reflects higher verbosity than higher value.\;e.g: LOG_INFO contains LOG_WARNING and LOG_ERROR" access="RW" offset="0x0.0" size="0x0.4" />
	<field name="log_bit_mask" descr="Bit mask of the different FW units that can be activated for the FW log.\;The mapping of source id to FW unit is unique per device and can be fetched from FW code.\;" access="RW" offset="0x4.0" size="0x4.0" />
</node>

<node name="mtmp_ext" descr="" size="0x20.0" >
	<field name="sensor_index" descr="Sensors index (when i = 0, unless mentioned otherwise)\;0: Current ASIC temp - virtual sensor of entire ASIC. FW exposes the current max and min over all diode temp sensors.\;1..62: ambient, supported only for unmanaged switch, defined by ini\;64..255: modules \;\;256..288: Gearbox\;[DWIP]: 289: For ig=0, mapped to same virtual sensor as of ig=1, sensor_index=0. This mapping allows support by the MTEWE/TMPW event mechanism.\;[DWIP]: 290..305: For ig=0, mapped to same virtual sensor as of ig=2, asic_index = sensor_index-289, sensor_index=0. This mapping allows support by the MTEWE/TMPW event mechanism." access="INDEX" offset="0x0.0" size="0x0.12" />
	<field name="slot_index" descr="Slot index\;0: Main board" access="INDEX" offset="0x0.16" size="0x0.4" />
	<field name="asic_index" descr="ASIC index. See ig field for more details." access="INDEX" offset="0x0.25" size="0x0.4" />
	<field name="ig" descr="Internal granularity.\;Used to query the internal diodes of the switch main ASIC and tiles. \;0: the &apos;i&apos; field may be used to query the entire ASIC internal diodes. Main + tile.\;1: The &apos;i&apos; field is ignored (considered as 0) and only the main ASIC diodes are available to query and sensor_index is the index of the main ASIC diodes. (The only valid value of sensor_index is 0).\;2: The &apos;i&apos; field is ignored (considered as 0) and only the tile ASIC diodes are available to query and sensor_index is the index of the tile ASIC diodes. To query a specific tile, asic_index field should be used. (The only valid value of sensor_index is 0).\;3: Reserved." access="INDEX" offset="0x0.29" size="0x0.2" />
	<field name="i" descr="Used to query the internal diodes of the switch ASIC; for i=1, sensor_index is the index of the ASIC diode. \;" access="INDEX" offset="0x0.31" size="0x0.1" />
	<field name="temperature" descr="Current temperature reading from the sensor. In case of a virtual sensor, this field reflects the maximum over all real sensors that it represents.\;Units of 0.125 Celsius degrees.\;For negative values 2&apos;s complement is used (for example: -3.25 Celsius will read as 0xFFE6)" access="RO" offset="0x4.0" size="0x0.16" />
	<field name="max_temperature" descr="The highest historic measured temperature from the sensor.\;Reserved when mte = 0\;Cleared by mtr = 1\;Valid only when i = 0\;For negative values 2&apos;s complement is used (for example: -3.25 Celsius will read as 0xFFE6)\;" access="RO" offset="0x8.0" size="0x0.16" />
	<field name="sdme" descr="Shut Down Events Modify Set Enable:\;0: all fields are set\;1: only sdee field is set, all other fields reserved.\;Note: It is invalid to set both weme and sdme in the same operation." access="OP" offset="0x8.28" size="0x0.1" />
	<field name="weme" descr="Warning Events Modify Set Enable:\;0: all fields are set\;1: only set tee, ctlee, and ctree. All other fields reserved.\;Note: It is invalid to set both weme and sdme in the same operation." access="OP" offset="0x8.29" size="0x0.1" />
	<field name="mtr" descr="Max Temperature Reset:\;0: do not modify the value of the max temperature register\;1: clear the value of the max temperature register" access="OP" offset="0x8.30" size="0x0.1" />
	<field name="mte" descr="Max Temperature Enable:\;0: disable measuring the max temperature on a sensor\;1: enables measuring the max temperature on a sensor" access="RW" offset="0x8.31" size="0x0.1" />
	<field name="temperature_threshold_hi" descr="temperature_threshold_hi refers to the high threshold of Warning Event. Units of 0.125 Celsius degrees.\;For negative values 2&apos;s complement is used (for example: -3.25 Celsius will read as 0xFFE6)\;If the sensor temperature measurement is above the threshold (and events are enabled), an event will be generated.\;threshold_hi and threshold_lo implements hysteresis mechanism of the threshold preventing toggling of the indication.\;Note that temperature_threshold_hi must be equal or lower than the system requirement. Where register MTDTH is supported, this value is specified in MTDTH.warning_high.\;System requirement for module is the module warning temperature.\;System requirement for board/silicon sensors is according to product information parameters\;Note that the temperature threshold can be used to generate an event message or an interrupt using GPIO" access="RW" offset="0xC.0" size="0x0.16" />
	<field name="sdee" descr="Temperature Shut Down Event Enable (MTSDE Register)\;0: do_not_generate_event\;1: generate_event\;2: generate_single_event\;\;" access="RW" enum="do_not_generate_event=0x0,generate_event=0x1,generate_single_event=0x2" offset="0xC.28" size="0x0.2" />
	<field name="tee" descr="Temperature Warning Event Enable (MTEWE Register)\;0: do_not_generate_event\;1: generate_event\;2: generate_single_event\;\;" access="RW" enum="do_not_generate_event=0x0,generate_event=0x1,generate_single_event=0x2" offset="0xC.30" size="0x0.2" />
	<field name="temperature_threshold_lo" descr="temperature_threshold_lo refers to the low threshold of Warning Event.Units of 0.125 Celsius degrees.\;For negative values 2&apos;s complement is used (for example: -3.25 Celsius will read as 0xFFE6)\;The offset threshold_lo implements the lower threshold for the hysteresis mechanism of over temperature alert. Once alert is set, if the temperature goes below this threshold, the alert is cleared.\;Note that temperature_threshold_lo must be at least 5 degrees lower than temperature_threshold_hi" access="RW" offset="0x10.0" size="0x0.16" />
	<field name="sensor_name_hi" descr="Sensor Name\;8 character long sensor name\;" access="RO" offset="0x18.0" size="0x4.0" />
	<field name="sensor_name_lo" descr="Sensor Name\;8 character long sensor name\;" access="RO" offset="0x1C.0" size="0x4.0" />
</node>

<node name="mtpcpc_ext" descr="" size="0x28.0" >
	<field name="lp_msb" descr="Local port[9:8]" access="INDEX" offset="0x0.12" size="0x0.2" />
	<field name="local_port" descr="local_port\;Supported to/from CPU port\;Reserved when pport = 0" access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="pport" descr="Per port:\;0: config is global. When reading - the local_port is 1\;1: config is per port" access="INDEX" offset="0x0.31" size="0x0.1" />
	<field name="ptp_trap_en" descr="Enable PTP traps\;The trap_id is configured by MTPTPT" access="RW" offset="0x4.0" size="0x0.1" />
	<field name="ing_correction_message_type" descr="Bitwise vector of PTP message types to update correctionField\;MessageType field as defined by IEEE 1588\;Each bit corresponds to a value (e.g. Bit0: Sync, Bit1: Delay_Req)\;Supported also from CPU port\;Default all 0\;Reserved from Quantum-3 and from Spectrum-6 for all ports but the CPU port" access="RW" offset="0x10.0" size="0x0.16" />
	<field name="egr_correction_message_type" descr="Bitwise vector of PTP message types to update correctionField\;MessageType field as defined by IEEE 1588\;Each bit corresponds to a value (e.g. Bit0: Sync, Bit1: Delay_Req)\;Supported also from CPU port\;Default all 0" access="RW" offset="0x14.0" size="0x0.16" />
	<field name="ptp_pkey" descr="For IB Switches only:\;The PTP Pkey\;Used for identifying the PTP packets.\;Reserved when Ethernet switches" access="RW" offset="0x18.0" size="0x0.15" />
</node>

<node name="mtpppc_ext" descr="" size="0x28.0" >
	<field name="ing_timestamp_message_type" descr="Bitwise vector of PTP message types to timestamp at ingress\;MessageType field as defined by IEEE 1588\;Each bit corresponds to a value (e.g. Bit0: Sync, Bit1: Delay_Req)\;Default all 0\;" access="RW" offset="0x8.0" size="0x0.16" />
	<field name="egr_timestamp_message_type" descr="Bitwise vector of PTP message types to timestamp at egress.\;MessageType field as defined by IEEE 1588\;Each bit corresponds to a value (e.g. Bit0: Sync, Bit1: Delay_Req)\;Default all 0\;" access="RW" offset="0xC.0" size="0x0.16" />
</node>

<node name="mtpps_reg_ext" descr="" size="0x38.0" >
	<field name="cap_max_num_of_pps_out_pins" descr="Maximum number of pps out pins supported on device." access="RO" offset="0x0.0" size="0x0.4" />
	<field name="cap_max_num_of_pps_in_pins" descr="Maximum number of pps in pins supported on device." access="RO" offset="0x0.8" size="0x0.4" />
	<field name="cap_number_of_pps_pins" descr="Total number of pps pins supported on device.\;The virtual pins are not counted here" access="RO" offset="0x0.16" size="0x0.4" />
	<field name="cap_pin_0_mode" descr="Capability of PPS pin #0\;Bit0: support_pps_in\;Bit1: support_pps_out\;Bit2: support_virtual_pin" access="RO" enum="support_pps_in=0x1,support_pps_out=0x2,support_virtual_pin=0x4" offset="0x8.0" size="0x0.4" />
	<field name="cap_pin_1_mode" descr="Capability of PPS pin #1\;Bit0: support_pps_in\;Bit1: support_pps_out\;Bit2: support_virtual_pin" access="RO" enum="support_pps_in=0x1,support_pps_out=0x2,support_virtual_pin=0x4" offset="0x8.8" size="0x0.4" />
	<field name="cap_pin_2_mode" descr="Capability of PPS pin #2\;Bit0: support_pps_in\;Bit1: support_pps_out\;Bit2: support_virtual_pin" access="RO" enum="support_pps_in=0x1,support_pps_out=0x2,support_virtual_pin=0x4" offset="0x8.16" size="0x0.4" />
	<field name="cap_pin_3_mode" descr="Capability of PPS pin #3\;Bit0: support_pps_in\;Bit1: support_pps_out\;Bit2: support_virtual_pin" access="RO" enum="support_pps_in=0x1,support_pps_out=0x2,support_virtual_pin=0x4" offset="0x8.24" size="0x0.4" />
	<field name="cap_pin_4_mode" descr="Capability of PPS pin #4\;Bit0: support_pps_in\;Bit1: support_pps_out\;Bit2: support_virtual_pin" access="RO" enum="support_pps_in=0x1,support_pps_out=0x2,support_virtual_pin=0x4" offset="0xC.0" size="0x0.4" />
	<field name="cap_pin_5_mode" descr="Capability of PPS pin #5\;Bit0: support_pps_in\;Bit1: support_pps_out\;Bit2: support_virtual_pin" access="RO" enum="support_pps_in=0x1,support_pps_out=0x2,support_virtual_pin=0x4" offset="0xC.8" size="0x0.4" />
	<field name="cap_pin_6_mode" descr="Capability of PPS pin #6\;Bit0: support_pps_in\;Bit1: support_pps_out\;Bit2: support_virtual_pin" access="RO" enum="support_pps_in=0x1,support_pps_out=0x2,support_virtual_pin=0x4" offset="0xC.16" size="0x0.4" />
	<field name="cap_pin_7_mode" descr="Capability of PPS pin #7\;Bit0: support_pps_in\;Bit1: support_pps_out\;Bit2: support_virtual_pin" access="RO" enum="support_pps_in=0x1,support_pps_out=0x2,support_virtual_pin=0x4" offset="0xC.24" size="0x0.4" />
	<field name="field_select" descr="Field select indicates which fields to modify in write operation to this register. This field selector supported only when MCAM.mtpps_fs==1. if MCAM.mtpps_fs==0 then SW should ensure that all the WO/RW fields are valid. \;Bit 0: enable\;Bit 1: utc_mode\;Bit 2: pattern\;Bit 3: pin_mode\;Bit 4: time_stamp\;Bit 5: out_pulse_duration\;\;" access="WO" enum="enable=0x1,utc_mode=0x2,pattern=0x4,pin_mode=0x8,time_stamp=0x10,out_pulse_duration=0x20" offset="0x10.0" size="0x4.0" />
	<field name="pin" descr="Pin to be configured or queried out of the supported pins." access="INDEX" offset="0x20.0" size="0x0.8" />
	<field name="pin_mode" descr="Pin mode to be used. The mode must comply with the supported modes of the requested pin.\;0x0: pps_in\;0x1: pps_out\;0x2: virtual_pin\;0x3: pps_out_and_virtual_pin\;\;Operation will fail if pin does not support the required mode." access="RW" enum="pps_in=0x0,pps_out=0x1,virtual_pin=0x2,pps_out_and_virtual_pin=0x3" offset="0x20.8" size="0x0.4" />
	<field name="pattern" descr="When pin_mode = pps_in:\;0x0: Rising edge \;0x1: Falling edge \;\;When pin_mode = pps_out:\;0x0: Pulse - (one shot) The device will generate a pulse at time_stamp time with a duration of out_pulse_duration. \;0x1: Periodic - the device will generate periodical pulses with pulse duration  of  out_pulse_duration every 1 second  according to internal clock. The 1st pulse will be generated at time_stamp time.\;\;Reserved when pin_mode = 0x2 virtual_pin\;\;" access="RW" offset="0x20.16" size="0x0.4" />
	<field name="utc_mode" descr="UTC time:\;0x0: FREE_RUNNING - time_stamp is by free running clock\;0x1: UTC - time_stamp is UTC" access="RW" enum="FREE_RUNNING=0x0,UTC=0x1" offset="0x20.30" size="0x0.1" />
	<field name="enable" descr="Enables the PPS functionality the specific pin.\;0x0: Disable \;0x1: Enable" access="RW" enum="Disable=0x0,Enable=0x1" offset="0x20.31" size="0x0.1" />
	<field name="time_stamp" descr="When pin_mode = pps_in, the latched device time when it was triggered from the external GPIO pin. \;When pin_mode = pps_out or virtual_pin or pps_out_and_virtual_pin, the target time to generate next output signal. \;When utc_mode = FREE_RUNNING - Time is in units of device clock. \;\;\;" subnode="uint64" access="RW" offset="0x28.0" size="0x8.0" />
	<field name="out_pulse_duration" descr="Output pulse duration in units of mSec. \;Range is 1 to 1000. \;Reserved when pin_mode != ptp_out\;In case the set value is 0, device default will be used.\;" access="RW" offset="0x30.16" size="0x0.16" />
</node>

<node name="mtppst_ext" descr="" size="0x10.0" >
	<field name="pin" descr="Pin to be configured or queried out of the supported pins." access="INDEX" offset="0x0.0" size="0x0.8" />
	<field name="timestamp_msb" descr="Device time when it was triggered from the external GPIO pin.\;Time in units of device clock (free running counter or UTC)" access="RO" offset="0x8.0" size="0x4.0" />
	<field name="timestamp_lsb" descr="Device time when it was triggered from the external GPIO pin.\;Time in units of device clock (free running counter or UTC)" access="RO" offset="0xC.0" size="0x4.0" />
</node>

<node name="mtpptr_ext" descr="" size="0x50.0" >
	<field name="dir" descr="Direction\;0: Ingress\;1: Egress" access="INDEX" offset="0x0.0" size="0x0.1" />
	<field name="lp_msb" descr="Local port[9:8]" access="INDEX" offset="0x0.12" size="0x0.2" />
	<field name="local_port" descr="local_port\;Not supported for CPU port" access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="ovf" descr="Overflow\;The HW timestamp FIFO had an overflow\;The overflow state is cleared when clr = 1" access="RO" offset="0x4.0" size="0x0.1" />
	<field name="read_one" descr="Read up to one record\;May response with num_rec = 0 or 1\;" access="OP" offset="0x4.30" size="0x0.1" />
	<field name="clr" descr="Clear the records" access="OP" offset="0x4.31" size="0x0.1" />
	<field name="num_rec" descr="Number of valid records in the response\;When read_one = 1 then this equals to 1 and only 1 record responded, even if the HW FIFO has more than 1 record\;Range 0.. cap_ptp_timestamp_fifo" access="RO" offset="0x8.0" size="0x0.4" />
	<field name="record" descr="Records, see Table 1269, &quot;MTPPTR - Record Layout,&quot; on page 1741" subnode="mtpptr_record_ext" access="RW" high_bound="3" low_bound="0" offset="0x10.0" size="0x40.0" />
</node>

<node name="mtpptr_record_ext" descr="" size="0x10.0" >
	<field name="domain_number" descr="domainNumber field as defined by IEEE 1588" access="RO" offset="0x0.0" size="0x0.8" />
	<field name="message_type" descr="MessageType field as defined by IEEE 1588\;Each bit corresponds to a value (e.g. Bit0: Sync, Bit1: Delay_Req)" access="RO" offset="0x0.8" size="0x0.4" />
	<field name="sequence_id" descr="SequenceId field as defined by IEEE 1588" access="RO" offset="0x4.0" size="0x0.16" />
	<field name="timestamp_high" descr="Timestamp of when the PTP packet has passed through the port\;Units of PLL clock time\;For Spectrum-1 the PLL clock is 156.25Mhz and PLL clock time is 6.4nSec" access="RO" offset="0x8.0" size="0x4.0" />
	<field name="timestamp_low" descr="Timestamp of when the PTP packet has passed through the port\;Units of PLL clock time\;For Spectrum-1 the PLL clock is 156.25Mhz and PLL clock time is 6.4nSec" access="RO" offset="0xC.0" size="0x4.0" />
</node>

<node name="mtpspu_ext" descr="" size="0x8.0" >
	<field name="message_type" descr="Set UTC on packets from CPU for PTP packets with the configured message_types.\;This is a necessary but insufficient condition since need to enable also per port. See Section 5.20.4, &quot;MTPCPC - Monitoring Time Precision Correction Port Configuration&quot;, on page 1744\;Message types are defined by IEEE 1588\;Each bit corresponds to a value (e.g. Bit0: Sync, Bit1: Delay_Req)\;\;Valid bits are 0-3 only.\;Bits 4-15 are reserved as TS shall not be applied to general messages." access="RW" offset="0x4.0" size="0x0.16" />
</node>

<node name="mtptpt_ext" descr="" size="0x8.0" >
	<field name="trap_id" descr="Trap id:\;0: PTP0\;1: PTP1\;2: PTP_IBG1\;See Table 999, &quot;PTP Traps,&quot; on page 1475 for details on which opcode is supported per device" access="INDEX" offset="0x0.0" size="0x0.4" />
	<field name="message_type" descr="Bitwise vector of PTP message types to trap. This is a necessary but non-sufficient condition since need to enable also per port. See Section 5.20.1, &quot;MTPPPC - Monitoring Time Precision Packet Port Configuration&quot;, on page 1738\;Message types are defined by IEEE 1588\;Each bit corresponds to a value (e.g. Bit0: Sync, Bit1: Delay_Req)" access="RW" offset="0x4.0" size="0x0.16" />
</node>

<node name="mtrc_cap_reg_ext" descr="" size="0x84.0" >
	<field name="num_string_db" descr="Number of different string sections building the database" access="RO" offset="0x0.0" size="0x0.4" />
	<field name="trc_ver" descr="Indicates the version of the tracing mechanism.\;0x0: VER_0\;0x1: VER_1\;Other values are reserved.\;Reserved in Switch" access="RO" offset="0x0.24" size="0x0.2" />
	<field name="trace_to_memory" descr="When set the device supports logging traces to memory\;0: FIFO Mode\;1: Host Memory Mode" access="RO" offset="0x0.30" size="0x0.1" />
	<field name="trace_owner" descr="Write 0x1 to register for tracer ownership, write 0x0 to de-register.\;Read value 0x1 indicates tracer ownership is granted.\;" access="RW" offset="0x0.31" size="0x0.1" />
	<field name="num_string_trace" descr="The number of consecutive event_id that should be interpreted as a string trace" access="RO" offset="0x4.16" size="0x0.8" />
	<field name="first_string_trace" descr="The lowest event_id that should be interpreted as a string trace" access="RO" offset="0x4.24" size="0x0.8" />
	<field name="log_max_trace_buffer_size" descr="Log 2 of the maximal size of the trace buffer given in units of 4KB" access="RO" offset="0x8.0" size="0x0.8" />
	<field name="tracer_capabilities" descr="Tracer suppported capbailities bitmask:\;0: FIFO.\;1: MEM mode.\;else, reserved." access="RO" offset="0x8.30" size="0x0.2" />
	<field name="string_db_param" descr="String DB section parameters." subnode="string_db_parameters_ext" access="RO" high_bound="7" low_bound="0" offset="0x10.0" size="0x40.0" />
</node>

<node name="mtrc_conf_reg_ext" descr="" size="0x80.0" >
	<field name="trace_mode" descr="Tracing mode\;0x0: FIFO\;0x1: TRACE_TO_MEMORY\;Other values are reserved." access="RW" offset="0x0.0" size="0x0.4" />
	<field name="log_trace_buffer_size" descr="Log 2 of the Size of the trace buffer, given in units of 4KB.\;Value should not exceed log_max_trace_buffer_size.\;Valid only for trace_mode TRACE_TO_MEMORY.\;Modifying this parameter after the tracer was active may cause loss of sync regarding the location of the next trace." access="RW" offset="0x4.0" size="0x0.8" />
	<field name="trace_mkey" descr="MKey registered for the trace buffer access.\;Valid only for trace_mode TRACE_TO_MEMORY.\;Modifying this parameter after the tracer was active may cause loss of sync regarding the location of the next trace.\;Reserved for Switches." access="RW" offset="0x8.0" size="0x4.0" />
</node>

<node name="mtrc_ctrl_reg_ext" descr="" size="0x40.0" >
	<field name="modify_field_select" descr="Field select indicated which writable fields to modify\;bit 0: trace_status\;Other bits are reserved." access="WO" offset="0x0.0" size="0x0.16" />
	<field name="slcg_cmd" descr="SLCG Command:\;0: NA - do not change slcg configuration\;1: ENABLE - enable all g_trcs\;2: RETURN_TO_DEFAULT - return to default g_trc slcg configurations\;\;note - by default all g_trc are clock gated except selected ones (fw trc)." access="OP" offset="0x0.16" size="0x0.2" />
	<field name="arm_event" descr="When set, an event will be generated if new Tracer events were logged since last event.\;Reserved in Switches." access="WO" offset="0x0.27" size="0x0.1" />
	<field name="trace_status" descr="Current status of the tracer\;0x0: DISABLED - logging traces is stopped\;0x1: ACTIVE - logging traces is active" access="RW" offset="0x0.30" size="0x0.2" />
	<field name="current_timestamp_52_32" descr="MSB of the current timesatmp counter" access="RO" offset="0x8.0" size="0x0.21" />
	<field name="current_timestamp_31_0" descr="LSB of the current timesatmp counter" access="RO" offset="0xC.0" size="0x4.0" />
</node>

<node name="mtrc_stdb_reg_ext" descr="" size="0xc.0" >
	<field name="read_size" descr="The number of bytes to read from the String DB. The number of bytes must:\;Be a multiple of 64B\;Not exceed the String DB section (with start_offset)\;Not exceed the limitations defined by the medium carrying the Register." access="INDEX" offset="0x0.0" size="0x0.24" />
	<field name="string_db_index" descr="The section of the String DB being accessed" access="INDEX" offset="0x0.28" size="0x0.4" />
	<field name="start_offset" descr="The offset in the String DB to read from, given in Bytes. The offset must:\;Be a multiple of 64B\;Not exceed the String DB section (with read_size)" access="INDEX" offset="0x4.0" size="0x4.0" />
	<field name="string_db_data" descr="Strings from the database. The size of this field is defined by read_size" access="RO" arr_is_dynamic="1" high_bound="VARIABLE" low_bound="0" offset="0x8.0" size="0x4.0" size_condition="$(parent).read_size" />
</node>

<node name="mtrc_stdb_v2_ext" descr="" size="0x5a0.0" >
	<field name="read_size" descr="The number of bytes to read from the String DB. The number of bytes must:\;Be a multiple of 64B\;Not exceed the String DB section (with start_offset)\;Not exceed the limitations defined by the medium carrying the Register." access="INDEX" offset="0x0.0" size="0x0.24" />
	<field name="string_db_index" descr="The section of the String DB being accessed" access="INDEX" offset="0x0.28" size="0x0.4" />
	<field name="start_offset" descr="The offset in the String DB to read from, given in Bytes. The offset must:\;Be a multiple of 64B\;Not exceed the String DB section (with read_size)" access="INDEX" offset="0x4.0" size="0x4.0" />
	<field name="string_db_data" descr="Strings from the database. The size of this field is defined by read_size" access="RO" high_bound="357" low_bound="0" offset="0x8.0" size="0x598.0" />
</node>

<node name="mtsh_reg_ext" descr="" size="0x30.0" >
	<field name="time_measure_unit" descr="Unit time of time which each bin is counting. Unit is equal to \;time_measure_unit in time_unit\;\;For exmple:\;time_unit = 0\;time_measure_unit = 500\;Each bit tick is 500 useconds" access="RO" offset="0x0.0" size="0x0.16" />
	<field name="sensor_index" descr="See MTMP.sensor_index (for MTMP.i = 0 and MTMP.ig = 0)." access="INDEX" offset="0x0.16" size="0x0.12" />
	<field name="time_unit" descr="Unit time of\;0 - useconds\;1 - miliseconds" access="RO" offset="0x4.0" size="0x0.2" />
	<field name="thermal_state" descr="Each element indicates the duration that the device was in this thermal state. The total time equals to the element value * unit_time_measure.\;thermal_state[0]: Normal\;thermal_state[1]: High Warning.\;thermal_state[2]: High Critical.\;thermal_state[3]: Low Critical." access="RO" high_bound="7" low_bound="0" offset="0x10.0" size="0x20.0" />
</node>

<node name="mtutc_reg_ext" descr="" size="0x1c.0" >
	<field name="operation" descr="Operation:\;0: SET_TIME_AT_NEXT_SEC - the utc_sec will be sampled at the next PPS (of either virtual_pin or hw_utc_nsec wrap around)\;1: SET_TIME_IMMEDIATE - Reserved when Spectrum-1.\;2: ADJUST_TIME - Reserved when Spectrum-1.\;3: ADJUST_FREQ_UTC \;4: ADJUST_FREQ_FRC - Free Running Clock (DWIP and Switch only)\;5: ADJUST_FREQ_BOTH - (DWIP and Switch only)\;6: ADJUST_PHASE - Supported only if MCAM.mng_feature_cap_mask bit 54 is set. Reserved when Spectrum-1." access="OP" enum="SET_TIME_AT_NEXT_SEC=0x0,SET_TIME_IMMEDIATE=0x1,ADJUST_TIME=0x2,ADJUST_FREQ_UTC=0x3,ADJUST_FREQ_FRC=0x4,ADJUST_FREQ_BOTH=0x5,ADJUST_PHASE=0x6" offset="0x0.0" size="0x0.4" />
	<field name="log_max_phase_adjustment" descr="[DWIP]\;range is from -(2^ log_max_phase_adjustment) to +2^ log_max_phase_adjustment) in units of ns." access="RO" offset="0x0.5" size="0x0.6" />
	<field name="log_max_freq_adjustment" descr="If 0: Range is from -50,000,000 ppb to +50,000,000 ppb.\;Otherwise: range is from -(2^log_max_freq_adjustment) ppb to +2^log_max_freq_adjustment ppb.\;" access="RO" offset="0x0.16" size="0x0.5" />
	<field name="freq_adj_units" descr="Updated when operation is ADJUST_FREQ.\;\;0: units_are_ppb - every PPS the HW frequency will be adjusted by this value\;1: units_are_parts_per_million - but with a 16 bit binary fractional field\;2: units_are_parts_per_billion - but with a 16 bit binary fractional field" access="RW" enum="units_are_ppb=0x0,units_are_parts_per_million=0x1,units_are_parts_per_billion=0x2" offset="0x0.24" size="0x0.3" />
	<field name="freq_adjustment" descr="Units are per MTUTC.freq_adj_units value. Frequency adjustment: Every PPS the HW frequency will be adjusted by this value. \; field.\;Updated when operation is ADJUST_FREQ\;\;Range is from -50,000,000 ppb to +50,000,000 ppb" access="RW" offset="0x4.0" size="0x4.0" />
	<field name="utc_sec" descr="UTC seconds\;Updated when operation is SET_TIME_IMMEDIATE or at next PPS when operation is SET_TIME_AT_NEXT_SEC" access="WO" offset="0x10.0" size="0x4.0" />
	<field name="utc_nsec" descr="UTC nSecs\;Range 0..(10^9-1)\;Updated when operation is SET_TIME_IMMEDIATE\;Reserved when Spectrum-1" access="WO" offset="0x14.0" size="0x0.30" />
	<field name="time_adjustment" descr="Time or phase adjustment\;Updated when operation is ADJUST_TIME or ADJUST_PHASE.\;\;When ADJUST_TIME:\;Time adjustment, Units of nSec, Range is from -32768 to 32768.\;If MCAM.time_adjust_range_extended==1, range is from \;-125,000 to 125,000.\;\;\;When ADJUST_PHASE:\;Phase adjustment, Units of nSec, Range is according to log_max_ phase_adjustment field.\;Reserved when Spectrum-1" access="WO" offset="0x18.0" size="0x4.0" />
</node>

<node name="mtwe_ext" descr="" size="0x10.0" >
	<field name="sensor_warning" descr="Bit vector indicating which of the sensor reading is above threshold.\;Address 00h bit31 is sensor_warning[127]\;Address 0Ch bit0 is sensor_warning[0]" access="RO" high_bound="3" low_bound="0" offset="0x0.0" size="0x10.0" />
</node>

<node name="multicast_fdb_record_ext" descr="" size="0x20.0" >
	<field name="mac_47_32" descr="MAC address." access="INDEX" offset="0x0.0" size="0x0.16" />
	<field name="a" descr="Activity.\;Set for new entries. Set if a forwarding lookup has hit the entry.\;In Spectrum-1 it is set for static entries only.\;To clear the a bit, use &quot;query and clear activity&quot; op.\;Enabled by activity_dis in SGCR, see Section 7.12.1, &quot;SGCR - Switch General Configuration Register&quot;, on page 2027\;Not supported by SwitchX/-2" access="RO" offset="0x0.16" size="0x0.1" />
	<field name="policy" descr="0: STATIC_POLICY - roaming disabled, aging disabled\;1: DYNAMIC_LEARN - HW learning enabled, aging disabled.\;\; -" access="RW" enum="STATIC_POLICY=0x0,DYNAMIC_LEARN=0x1" offset="0x0.17" size="0x0.1" />
	<field name="type_0x2" descr="0x2: Multicast_Record - this record\;See Section 7.2.15, &quot;FDB Records&quot;, on page 1972" access="RW" enum="Multicast_Record=0x2" offset="0x0.20" size="0x0.4" />
	<field name="swid" descr="Switch partition ID.\;Reserved when Spectrum/-2" access="INDEX" offset="0x0.24" size="0x0.8" />
	<field name="mac_31_0" descr="MAC address." access="INDEX" offset="0x4.0" size="0x4.0" />
	<field name="fid_vid" descr="VLAN identifier for SwitchX/-2.\;Filtering identifier (FID) for Spectrum." access="INDEX" offset="0x8.0" size="0x0.16" />
	<field name="pgi" descr="Multicast port group index - index into the port group table.\;Value 0x1FFF indicates the pgi should point to the MID entry.\;For Spectrum this value must be set to 0x1FFF" access="RW" offset="0x8.16" size="0x0.13" />
	<field name="mid" descr="Multicast identifier - global identifier that represents the multicast group across all devices.\;For Spectrum, pointer to PGT table, see Appendix A.2.2, &quot;Port Group Table (PGT)&quot; (page 4588)" access="RW" offset="0xC.0" size="0x0.16" />
	<field name="action" descr="Action to apply on the packet:\;0: NOP - forward\;1: MIRROR_TO_CPU - forward and trap, trap_id is FDB_TRAP\;2: TRAP - (and do not forward), trap_id is FDB_TRAP\;15: DISCARD_ERROR\;Note: On TRAP or DISCARD_ERROR flex_action is ignored." access="RW" offset="0xC.28" size="0x0.4" />
	<field name="flex_action_index" descr="Flexible ACL Action Set index.\;See Section 11.9, &quot;Flexible ACL Action Set&quot;, on page 3689.\;Supported in Spectrum-4 onwards.\;Reserved when set_flex_action=0." access="RW" offset="0x18.0" size="0x0.24" />
	<field name="set_flex_action" descr="Run Flexible ACL Action Set instead of counter increment.\;See Section 11.9, &quot;Flexible ACL Action Set&quot;, on page 3689.\;Supported in Spectrum-4 onwards." access="RW" offset="0x18.31" size="0x0.1" />
	<field name="counter_index" descr="Counter Index for flow counters\;For Spectrum: see Section 5.2, &quot;Flow Counters&quot;, on page 1404\;Reserved when set_flex_action=1.\;Not supported by SwitchX/-2" access="RW" offset="0x1C.0" size="0x0.24" />
	<field name="counter_set_type" descr="Counter Set Type for flow counters\;For Spectrum: See Section 5.2.2, &quot;Counter Set Type&quot;, on page 1405\;Reserved when set_flex_action=1.\;Not supported by SwitchX/-2\;Note: when the multicast is also to router to a router-sub-port inerface then the counter does not count" access="RW" offset="0x1C.24" size="0x0.8" />
</node>

<node name="multicast_tunnel_ext" descr="" size="0x10.0" >
	<field name="fid" descr="Filtering identifier (FID)\;Reserved when v_fid = 0\;Reserved when ubridge=1\;Reserved when Spectrum-2\;" access="RW" offset="0x0.0" size="0x0.16" />
	<field name="underlay_mc_ptr_msb" descr="Most significant bits of Underlay Multicast Pointer. Used as a pointer to the first entry of the group based link lists of MC entries (for NVE tunnels). For Spectrum the number of link lists in the group is configured by TNGCR.nve_group_size_mc.\;The pointer points to entries which are configured by TNUMT or by TNGEE\;For Spectrum family, this points to an entry in the KVD Linear, see Appendix A.3.1, &quot;KVD Central Database&quot; (page 4595)" access="RW" offset="0x0.16" size="0x0.16" />
	<field name="mid" descr="Multicast identifier - global identifier that represents the multicast group across all devices" access="RW" offset="0x4.0" size="0x0.16" />
	<field name="v_fid" descr="valid FID:\;0: .1Q bridge\;1: .1D bridge\;Reserved when ubridge=1\;Reserved when Spectrum-2\;" access="RW" offset="0x4.23" size="0x0.1" />
	<field name="underlay_mc_ptr_lsb" descr="Least significant bits of pointer to link list of flooding entries (for NVE tunnels)\;The pointer may point to TNGEE" access="RW" offset="0x4.24" size="0x0.8" />
	<field name="lbf_tunnel_port_bitmap" descr="Loopback Filter on Tunnel port when generic L2 encapsulation, bitmap:\;bit0: NVE\;bit1: VPLS\;bit2: Flex_tunnel0\;bit3: Flex_tunnel1\;bits4..15: reserved\;At least one bit must be set. If all bits are cleared then NVE is treated as set \;This is used only for loopback filter check\;" access="RW" offset="0x8.0" size="0x0.16" />
	<field name="ecmp_size" descr="ecmp_size:\;ecmp_size is the amount of sequential entries starting from the\;pointer to the first TNUMT/TNGEE (the number of ECMPs).\;0: controlled by TNGCR.nve_group_size_mc\;Values are according to the mixed ECMP scheme detailed in Table 3438, &quot;ECMP Sizes,&quot; on page 4038.\;" access="RW" offset="0xC.0" size="0x0.13" />
</node>

<node name="multicast_tunnel_fdb_record_ext" descr="" size="0x20.0" >
	<field name="mac_47_32" descr="MAC address." access="INDEX" offset="0x0.0" size="0x0.16" />
	<field name="a" descr="Activity. \;Set for new entries. Set if a forwarding lookup has hit the entry.\;In Spectrum-1 it is set for static entries only.\;To clear the a bit, use &quot;query and clear activity&quot; op.\;Enabled by activity_dis in SGCR, see Section 7.12.1, &quot;SGCR - Switch General Configuration Register&quot;, on page 2027\;Not supported by SwitchX and SwitchX2" access="RO" offset="0x0.16" size="0x0.1" />
	<field name="policy" descr="0: STATIC_POLICY - roaming disabled, aging disabled\;1: DYNAMIC_LEARN - HW learning enabled, aging disabled.\;\; -" access="RW" enum="STATIC_POLICY=0x0,DYNAMIC_LEARN=0x1" offset="0x0.17" size="0x0.1" />
	<field name="type_0xF" descr="0xF: Multicast_Tunnel_FDB_Record - this record\;See Section 7.2.15, &quot;FDB Records&quot;, on page 1972" access="RW" offset="0x0.20" size="0x0.4" />
	<field name="swid" descr="Switch partition ID.\;Reserved when Spectrum/-2" access="INDEX" offset="0x0.24" size="0x0.8" />
	<field name="mac_31_0" descr="MAC address." access="INDEX" offset="0x4.0" size="0x4.0" />
	<field name="fid" descr="Filtering ID\;When ubridge=0: only FIDs that are from vFID type are valid." access="INDEX" offset="0x8.0" size="0x0.16" />
	<field name="mid" descr="Multicast identifier - global identifier that represents the multicast group across all devices.\;For Spectrum, pointer to PGT table, see Appendix A.2.2, &quot;Port Group Table (PGT)&quot; (page 4588)" access="RW" offset="0x8.16" size="0x0.16" />
	<field name="underlay_mc_ptr" descr="Underlay Multicast Pointer. Used as a pointer to the first entry of the group based link lists of MC entries (for NVE tunnels). \;For Spectrum the number of link lists in the group is configured by TNGCR.nve_group_size_mc.\;The pointer points to entries which are configured by TNUMT or to TNGEE.\;For Spectrum family, this points to an entry in the KVD Linear, see Appendix A.2.1, &quot;KVD Central Database&quot; (page 4585)" access="RW" offset="0xC.0" size="0x0.24" />
	<field name="action" descr="Action to apply on the packet:\;0: NOP\;1: MIRROR_TO_CPU - (forward and trap), trap_id is FDB_TRAP" access="RW" enum="NOP=0x0,MIRROR_TO_CPU=0x1" offset="0xC.28" size="0x0.4" />
	<field name="tunnel_port_lbf_bitmap" descr="Tunnel port vector for the loopback filter. Bitmap:\;bit0: NVE\;bit1: VPLS\;bit2: Flex_tunnel0\;bit3: Flex_tunnel1\;bits4..15: reserved\;At least one bit must be set. If all bits are cleared then NVE is treated as set \;This is used only for loopback filter check. The check itself is configured by TNPC.\;" access="RW" offset="0x10.0" size="0x0.16" />
	<field name="ecmp_size" descr="Ecmp_size:\;ecmp_size is the amount of sequential entries starting from the\;pointer to the first TNUMT/TNGEE (the number of ECMPs).\;Values are according to the mixed ECMP scheme detailed in Table 3438, &quot;ECMP Sizes,&quot; on page 4038.\;\;Reserevd when Spectrum and SwitchX/-2" access="RW" offset="0x14.0" size="0x0.13" />
	<field name="flex_action_index" descr="Flexible ACL Action Set index.\;See Section 11.9, &quot;Flexible ACL Action Set&quot;, on page 3689.\;Supported in Spectrum-4 onwards.\;Reserved when set_flex_action=0." access="RW" offset="0x18.0" size="0x0.24" />
	<field name="set_flex_action" descr="Run Flexible ACL Action Set instead of counter increment.\;See Section 11.9, &quot;Flexible ACL Action Set&quot;, on page 3689.\;Supported in Spectrum-4 onwards." access="RW" offset="0x18.31" size="0x0.1" />
	<field name="counter_index" descr="Counter Index for flow counters\;For Spectrum: see Section 5.2, &quot;Flow Counters&quot;, on page 1404\;Reserved when set_flex_action=1.\;Not supported by SwitchX/-2" access="RW" offset="0x1C.0" size="0x0.24" />
	<field name="counter_set_type" descr="Counter Set Type for flow counters\;For Spectrum: See Section 5.2.2, &quot;Counter Set Type&quot;, on page 1405\;Reserved when set_flex_action=1.\;Not supported by SwitchX/-2" access="RW" offset="0x1C.24" size="0x0.8" />
</node>

<node name="mvcap_reg_ext" descr="" size="0x10.0" >
	<field name="sensor_map" descr="Mapping of system sensors supported by the device. Each bit represents a sensor. \;Sensor mapping is based on the sensor_map_type\;0: Not connected or not supported\;1: Supports voltage and current measurements" subnode="uint64" access="RO" offset="0x0.0" size="0x8.0" />
	<field name="slot_index" descr="Slot index\;0: Main board" access="INDEX" offset="0x8.0" size="0x0.4" />
	<field name="sensor_map_type" descr="[DWIP]\;0: Sensors 0-63.\;1: Sensors 64-127.\;2: Sensors 128-191." access="INDEX" offset="0x8.28" size="0x0.2" />
</node>

<node name="mvcr_ext" descr="" size="0x18.0" >
	<field name="sensor_index" descr="Sensors:\;- 0..max_system_sensors-1 are ambient sensors on the system (max_system_sensors from INI)\;" access="INDEX" offset="0x0.0" size="0x0.8" />
	<field name="slot_index" descr="Slot index\;0: Main board\;" access="INDEX" offset="0x0.16" size="0x0.4" />
	<field name="curr_cap" descr="0: Sensor does not support current reading\;1: Sensor supports current reading" access="RO" offset="0x0.29" size="0x0.1" />
	<field name="volt_cap" descr="0: Sensor does not support voltage reading\;1: Sensor supports voltage reading" access="RO" offset="0x0.30" size="0x0.1" />
	<field name="i" descr="Used to query internal A2D voltage measurements." access="INDEX" offset="0x0.31" size="0x0.1" />
	<field name="voltage_sensor_value" descr="Voltage reading from the sensor. \;Voltage units are 0.01V." access="RO" offset="0x4.0" size="0x0.16" />
	<field name="current_sensor_value" descr="Current reading from the sensor lsb.\;Current units are 0.01A." access="RO" offset="0x8.0" size="0x0.16" />
	<field name="current_sensor_value_msb" descr="Current reading from the sensor msb.Current units are 0.01A." access="RO" offset="0x8.16" size="0x0.16" />
	<field name="sensor_name" descr="Sensor Name\;8 character long sensor name.\;" subnode="uint64" access="RO" offset="0x10.0" size="0x8.0" />
</node>

<node name="next_action_set_record_ext" descr="" size="0x4.0" >
	<field name="next_action_set_ptr" descr="A pointer to the next action set in the KVD Centralized database.\;Points to KVH Linear\;For Spectrum-2: range is 0.. cap_max_kvd_action_sets - 1" offset="0x0.0" size="0x0.24" />
	<field name="paptr" descr="Partial action pointer for the next action set\;0: pointer to full action pointer or to partial pointer 0\;1: pointer to partial pointer 1\;Note that &quot;full action set&quot; and &quot;partial action set, partial index 0&quot; have the same pointer but different indexes\;Reserved when Spectrum-1." offset="0x0.30" size="0x0.2" />
</node>

<node name="next_nhlfe_ext" descr="" size="0x1c.0" >
	<field name="exp" descr="EXP value for set_exp\;Reserved when Spectrum" access="RW" offset="0x0.16" size="0x0.3" />
	<field name="set_exp" descr="Set the packet EXP with exp value\;Reserved when Spectrum" access="RW" offset="0x0.19" size="0x0.1" />
	<field name="exp_rw" descr="EXP Re-write\;0: Preserve the value of the rewrite_enable\;1: Set the rewrite_enable\;2: Clear the rewrite_enable\;Reserved when Spectrum" access="RW" offset="0x0.20" size="0x0.2" />
	<field name="label_id" descr="Label id to push to the label stack\;Reserved when label_action is &apos;0&apos;" access="RW" offset="0x4.0" size="0x0.20" />
	<field name="label_action" descr="Label action:\;0: no push\;2: push label. Push a new label with label id label_id \;\;" access="RW" offset="0x4.24" size="0x0.3" />
	<field name="next_nhlfe" descr="NHLFE entry pointer\;Points to the NHLFE table. When using ECMP, points to the\;first entry in the ECMP list." access="RW" offset="0x10.0" size="0x0.24" />
	<field name="ecmp_size" descr="ecmp_size is the amount of sequential entries from the next_nhlfe pointer (the number of ECMPs). \;Values are according to the mixed ECMP scheme detailed in Table 3438, &quot;ECMP Sizes,&quot; on page 4038." access="RW" offset="0x14.0" size="0x0.13" />
</node>

<node name="pacl_ext" descr="" size="0x70.0" >
	<field name="acl_type" descr="Type of ACL.\;Reserved for Spectrum family.\;\;" access="RW" offset="0x0.0" size="0x0.8" />
	<field name="v" descr="Valid. Setting the v bit makes the ACL valid. It should not be cleared while the ACL is bounded to either a port, VLAN or ACL rule." access="RW" offset="0x0.24" size="0x0.1" />
	<field name="e" descr="Type of ACL group. Only valid on Create ACL Group operation and Read.\;0: iACL\;1: eACL\;" access="INDEX" enum="iACL=0x0,eACL=0x1" offset="0x0.31" size="0x0.1" />
	<field name="acl_id" descr="An identifier representing the ACL (managed by software)\;Range 0 .. cap_max_acl_regions - 1\;" access="INDEX" offset="0x8.0" size="0x0.16" />
	<field name="tcam_region_info" descr="Information that represents the TCAM region to be used for the ACL. The region information is obtained by PTAR. \;The number of valid regions is derived from the ACL type. The first region will be used for the first packet type in the ACL type list and so forth.\;For Spectrum family entry [0] is used and entries [1..3] are reserved.\;For tcam_region_info [1..3] the value &apos;0&apos; indicates NULL region and can be used to indicate no rules for a specific packet type.\;Note: tcam_region_info[n] is mapped from (acl_id+n).\;\;" subnode="array128_auto" access="RW" high_bound="3" low_bound="0" offset="0x30.0" size="0x40.0" />
</node>

<node name="pagt_ext" descr="" size="0x80.0" >
	<field name="size" descr="Number of ACLs in the group.\;0: invalidate the group\;1 or more: add ACLs to the group\;Range 0 .. cap_max_acl_group_size\;Total number of ACLs in all groups must be lower or equal to cap_max_acl_tot_groups\;Note: a group which is binded must not be invalidated" access="RW" offset="0x0.0" size="0x0.8" />
	<field name="e" descr="0: iACL\;1: eACL\;Reserved for Spectrum family\;" access="INDEX" enum="iACL=0x0,eACL=0x1" offset="0x0.31" size="0x0.1" />
	<field name="acl_group_id" descr="ACL group identifier\;Range of 0 .. cap_max_acl_groups-1" access="INDEX" offset="0x8.0" size="0x0.16" />
	<field name="acl_id_record" descr="See Table 3216, &quot;ACL ID Record Layout,&quot; on page 3802" subnode="acl_id_record_ext" access="RW" high_bound="19" low_bound="0" offset="0x30.0" size="0x50.0" />
</node>

<node name="pagt_v2_ext" descr="" size="0x18.0" >
	<field name="acl_group_element" descr="ACL group element\;Range of 0 .. cap_max_acl_tot_groups-1" access="INDEX" offset="0x0.0" size="0x0.16" />
	<field name="n_v" descr="Next ACL group element is valid.\;0: not valid\;1: valid\;" access="RW" offset="0x0.30" size="0x0.1" />
	<field name="id_v" descr="ACL ID is valid.\;0: not valid\;1: valid\;" access="RW" offset="0x0.31" size="0x0.1" />
	<field name="next_acl_group_element" descr="Next ACL group element\;Range of 0 .. cap_max_acl_tot_groups-1\;Reserved when n_v=0" access="RW" offset="0x4.0" size="0x0.16" />
	<field name="acl_id" descr="ACL identifier\;Range 0 .. cap_max_acl_regions - 1\;Reserved when id_v=0\;" access="RW" offset="0x8.0" size="0x0.16" />
	<field name="commit" descr="ACL Commit\;0: No dedicated commit when the ACL is ended\;1: Do a commit when the ACL is ended\;All ACLs of a multi-ACL should have the same commit value\;Reserved when id_v=0\;Reserved when Spectrum-1" access="RW" offset="0x8.30" size="0x0.1" />
	<field name="multi" descr="Multi-ACL\;0: This ACL is the last ACL in the multi-ACL\;1: This ACL is part of a multi-ACL\;Reserved when id_v=0\;Reserved when Spectrum-1" access="RW" offset="0x8.31" size="0x0.1" />
</node>

<node name="pagtq_ext" descr="" size="0x110.0" >
	<field name="busy_selector" descr="Busy definition selector.\;An ACL group element is busy if:\;0: BUSY_ACL_ID - ACL ID is valid\;1: BUSY_ACL_ID_OR_NEXT - ACL ID is valid or next ACL group element is valid" access="OP" enum="BUSY_ACL_ID=0x0,BUSY_ACL_ID_OR_NEXT=0x1" offset="0x0.31" size="0x0.1" />
	<field name="acl_group_element_busy_bitmap" descr="Each bit represents an ACL group element from range 0 .. cap_max_acl_tot_groups-1.\;Bits cap_max_acl_tot_groups .. 2047 are reserved.\;0: not busy\;1: busy" access="RO" high_bound="63" low_bound="0" offset="0x10.0" size="0x100.0" />
</node>

<node name="paos_reg_ext" descr="" size="0x10.0" >
	<field name="oper_status" descr="Port operational state:\;1: up\;2: down\;4: down_by_port_failure - (transitioned by the hardware)\;  \;" access="RO" enum="up=0x1,down=0x2,down_by_port_failure=0x4" offset="0x0.0" size="0x0.4" />
	<field name="plane_ind" descr="Reserved for non-planarized port.\;Plane port index of the aggregated port. A value of 0 refers to the aggregated port only." access="INDEX" offset="0x0.4" size="0x0.4" />
	<field name="admin_status" descr="Port administrative state (the desired state of the interface):\;1: up\;2: down_by_configuration\;3: up_once - if the port goes up and then down, the operational status should go to &quot;down by port failure&quot; and can only go back up upon explicit command\;4: disabled_by_system - this mode cannot be set by the software, only by the hardware.\;6: sleep - can be configured only if sleep_cap is set. Note that a sleep setting will cause the port to transition immediately into sleep state regardless of previous admin_status.\;[Internal] - up_once shall not be used for GPU case. In order to define link down state set PLDS register" access="RW" enum="up=0x1,down_by_configuration=0x2,up_once=0x3,disabled_by_system=0x4,sleep=0x6" offset="0x0.8" size="0x0.4" />
	<field name="lp_msb" descr="Local port number [9:8]" access="INDEX" offset="0x0.12" size="0x0.2" />
	<field name="local_port" descr="Local port number." access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="swid" descr="For HCA: must always be 0.\;Switch partition ID with which to associate the port.\;Switch partitions are numbered from 0 to 7 inclusively.\;The swid field is only valid when the local_port is the router port. In this case, the swid indicates which of the router ports to configure/query." access="INDEX" offset="0x0.24" size="0x0.8" />
	<field name="e" descr="Event generation on operational state change (oper_status):\;0: Do_not_generate_event\;1: Generate_Event \;2: Generate_Single_Event\;\;Not Supported for HCA." access="RW" enum="Do_not_generate_event=0x0,Generate_Event=0x1,Generate_Single_Event=0x2" offset="0x4.0" size="0x0.2" />
	<field name="physical_state_status" descr="IB Port Physical operational (actual) link state:\;0: N/A\;1: Sleep\;2: Polling\;3: Disabled\;4: PortConfigurationTraining\;5: LinkUp\;6: LinkErrorRecovery\;All others reserved\;Note that physical state of 1,2,3,4 will all be reflected as oper_status = down.\;Ethernet devices that support this field will use only bits 2,3,5." access="RO" enum="N_A=0x0,Sleep=0x1,Polling=0x2,Disabled=0x3,PortConfigurationTraining=0x4,LinkUp=0x5,LinkErrorRecovery=0x6" offset="0x4.4" size="0x0.4" />
	<field name="fd" descr="Force down.\;Supported only when indicated in PCAM\;Can be set only with admin_status = 2 (&apos;down_by_configuration&apos;), will force link to be down. \;" access="RW" offset="0x4.8" size="0x0.1" />
	<field name="sleep_cap" descr="Sleep capability:\;0: Sleep state is not supported\;1: Sleep state supported" access="RO" offset="0x4.9" size="0x0.1" />
	<field name="ps_e" descr="Event generation for physical state.\;On set operation, will be ignored if ee_ps is not set.\;When bit is set, will generate an event for transition into state.\;Bit 0: Sleep\;Bit 1: LinkUp \;Note - LinkUp for an Ethernet link refers to PhyUp state where local side is ready, but not necessarily that peer side is also ready.\;Bit 2: Disabled\;Bit 3: PortConfigurationTraining\;Not Supported for HCA." access="RW" enum="Sleep=0x1,LinkUp=0x2,Disabled=0x4,PortConfigurationTraining=0x8" offset="0x4.12" size="0x0.4" />
	<field name="logical_state_status" descr="IB or NVLink Port Logical link state:\;0: N/A\;1: Down\;2: Init\;3: Arm\;4: Active" access="RO" enum="N_A=0x0,Down=0x1,Init=0x2,Arm=0x3,Active=0x4" offset="0x4.16" size="0x0.3" />
	<field name="ls_e" descr="event generation mask for logical state.\;On set operation, will be ignored when ee_ls is not set.\;When bit is set, will generate event for transition into state.\;Bit 0: Down\;Bit 1: Init\;Bit 2: Arm\;Bit 3: Active\;Not Supported for HCA." access="RW" enum="Down=0x1,Init=0x2,Arm=0x4,Active=0x8" offset="0x4.20" size="0x0.4" />
	<field name="ee_nmxas" descr="Event update enable for NMX AdminState. If this bit is set, event generation will be updated based on the nmxas_e field. Only relevant on Set operations.\;Not Supported for HCA.\;" access="WO" offset="0x4.27" size="0x0.1" />
	<field name="ee_ps" descr="Event update enable for physical state. If this bit is set, event generation will be updated based on the ps_e field. Only relevant on Set operations.\;Not Supported for HCA." access="WO" offset="0x4.28" size="0x0.1" />
	<field name="ee_ls" descr="Event update enable for logical state. If this bit is set, event generation will be updated based on the ls_e field. Only relevant on Set operations.\;Not Supported for HCA." access="WO" offset="0x4.29" size="0x0.1" />
	<field name="ee" descr="Event update enable. If this bit is set, event generation will be updated based on the e field. Only relevant on Set operations.\;Not Supported for HCA." access="WO" offset="0x4.30" size="0x0.1" />
	<field name="ase" descr="Admin state update enable. If this bit is set, admin state will be updated based on admin_state field. Only relevant on Set() operations." access="WO" offset="0x4.31" size="0x0.1" />
	<field name="nmx_adminstate_status" descr="NVLink Port NMX AdminState current state:\;0: N/A\;1: Up\;2: Down\;3: Diag\;" access="RO" enum="N_A=0x0,Up=0x1,Down=0x2,Diag=0x3" offset="0x8.0" size="0x0.3" />
	<field name="nmxas_e" descr="Event generation mask for NMX AdminState status.\;On set operation, will be ignored when ee_nmxas is not set.\;When bit is set, will generate event for transition into state.\;\;Bit 0: Up\;Bit 1: Down\;Bit 2: Diag\;\;" access="RW" enum="Up=0x1,Down=0x2,Diag=0x4" offset="0x8.4" size="0x0.4" />
	<field name="ps_e_ext" descr="Extension of ps_e field. Event generation for physical state.\;On set operation, will be ignored if ee_ps is not set.\;When bit is set, will generate an event for transition into state.\;Bit 0: Polling\;Bit 1: Reserved\;" access="RW" enum="Polling=0x1,Reserved=0x2" offset="0x8.12" size="0x0.2" />
	<field name="last_oper_status" descr="Supported if PCAM.feature_cap_mask bit 118 is set\;Last reported oper state in PUDE:\;0: no_info\;1: up\;2: down\;4: down_by_port_failure - (transitioned by the hardware)" access="RO" enum="up=0x1,down=0x2,down_by_port_failure=0x4" offset="0x8.16" size="0x0.3" />
	<field name="phy_force_linkup_mode" descr="Indicates physical link entered forced linkup debug mode" access="RO" offset="0x8.31" size="0x0.1" />
</node>

<node name="pbgcr_ext" descr="" size="0xc.0" >
	<field name="psbtt" descr="Port Shared Buffer Threshold Type:\;0: DEFAULT_THRESHOLD - calculated by FW\;1: AUTO_AR_THRESHOLD - calculated by FW for AR optimization. [Spectrum-6] Reserved in Spectrum-6\;2: USER_VALUE - user value of the delta to add total headroom size. [Spectrum-6] Reserved in Spectrum-6\;3: SET_SIB_AND_DIB_ABS_VALUE - [internal] values are set according to user_value and dib_user_value field (valid values are 0...511). [Spectrum-6] Used as &quot;disable&quot; in Spectrum-6." access="OP" enum="DEFAULT_THRESHOLD=0x0,AUTO_AR_THRESHOLD=0x1,USER_VALUE=0x2" offset="0x0.0" size="0x0.4" />
	<field name="user_val" descr="User Value for shared buffer threshold.\;Range 0...cap_max_headroom_size\;Units ??? TBD\;Default value 160\;\;Reserved when ppbt != 2\;[Spectrum-6] Reserved in Spectrum-6" access="RW" offset="0x4.0" size="0x0.9" />
</node>

<node name="pbmc_reg_ext" descr="" size="0x6c.0" >
	<field name="lp_msb" descr="Local port[9:8]" access="INDEX" offset="0x0.12" size="0x0.2" />
	<field name="local_port" descr="Local port number." access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="xoff_refresh" descr="The time before a new pause frame should be sent to refresh the pause state. Using the same units as xoff_timer_value above." access="RW" offset="0x4.0" size="0x0.16" />
	<field name="xoff_timer_value" descr="When device generates a pause frame, it uses this value as the pause timer.\;The pause timer is measured in units of pause &quot;quanta&quot;, where each unit is equal to 512 bit times." access="RW" offset="0x4.16" size="0x0.16" />
	<field name="port_buffer_size" descr="Total packet buffer array available for the port. The sum of buffer array allocated to bufferX must not exceed port_buffer_size.\;In Spectrum and above- Max supported Headroom buffer for port. \;" access="RO" offset="0x8.0" size="0x0.16" />
	<field name="fullness_threshold" descr="Almost full threshold configuration.\;Percentage of buffer fullness which indicates &quot;almost full&quot; occurrence\;Range: 0-100%\;Reserved for Switches." access="RW" offset="0x8.16" size="0x0.7" />
	<field name="buffer" descr="Configuring per-buffer parameters. i=0..9.\;See Table 2461, &quot;BufferX Register Layout,&quot; on page 3171" subnode="bufferx_reg_ext" access="RW" high_bound="9" low_bound="0" offset="0xC.0" size="0x50.0" />
	<field name="shared_headroom_pool" descr="Configuring shared headroom pool parameters. Using the same layout as in BufferX.\;Not supported in HCA (See PCAM shp_pbmc_pbsr_support bit).\;See Table 2461, &quot;BufferX Register Layout,&quot; on page 3171" subnode="bufferx_reg_ext" access="RW" offset="0x5C.0" size="0x8.0" />
	<field name="port_shared_buffer" descr="Configuring port shared buffer parameters. Using the same layout as in BufferX.\;Valid for HCA when pbmc_port_shared_buffer is set in PCAM.\;See Table 2461, &quot;BufferX Register Layout,&quot; on page 3171" subnode="bufferx_reg_ext" access="RW" offset="0x64.0" size="0x8.0" />
</node>

<node name="pbsr_reg_ext" descr="" size="0x64.0" >
	<field name="buffer_type" descr="Valid only for 8x port setting (see Table 1811, &quot;PMLP - Ports Module to Local Port Register Fields,&quot; on page 2409)\;See also Section 9.5, &quot;Spectrum 8x Mode&quot;, on page 2212.\;0: One buffer - reserved index for non-8x ports\;1: Main buffer\;2: Secondary buffer" access="INDEX" offset="0x0.0" size="0x0.2" />
	<field name="lp_msb" descr="Local port[9:8]" access="INDEX" offset="0x0.12" size="0x0.2" />
	<field name="local_port" descr="Local port number." access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="clear_wm_buff_mask" descr="Each bit represents a stat_buffer\;per bit:\;0: do not clear watermark\;1: clear watermark\;Reserved when clear_wm = 1" access="OP" offset="0x4.0" size="0x0.10" />
	<field name="used_shared_headroom_buffer" descr="Number of currently used shared headroom buffer cells." access="RO" offset="0x8.0" size="0x0.16" />
	<field name="clear_wm" descr="Clear watermarks for all PGs" access="OP" offset="0x8.31" size="0x0.1" />
	<field name="stat_buffer" descr="status per-buffer parameters. i=0..9\;" subnode="stat_bufferx_reg_ext" access="RO" high_bound="9" low_bound="0" offset="0xC.0" size="0x50.0" />
	<field name="stat_shared_headroom_pool" descr="status of shared headroom pool parameters. Using the same layout as in stat_BufferX, for details see Table 2486, &quot;stat_bufferX Register Layout,&quot; on page 3196.\;Not supported in HCA (See PCAM shp_pbmc_pbsr_support bit). \;Not supported in GPUNet" subnode="stat_bufferx_reg_ext" access="RO" offset="0x5C.0" size="0x8.0" />
</node>

<node name="pbwc_ext" descr="" size="0x8.0" >
	<field name="log_time_interval" descr="Log time interval.\;This field determine the time between measurements T:\;T = (2^log_time_interval) * 64uSec\;Default is 7, means that T = (2^7) * 64uSec = 8mSec.\;\;For SPC4, and SPC5, the range is dependent on the port&apos;s rate:\;800Gbps: 0..10\;400Gbps: 0..10\;200Gbps: 0..11\;100Gbps: 0..12\;50Gbps: 0..13\;25Gbps: 0..14\;10Gbps: 0..15\;\;For Spectrum-6 and above, all values are valid." access="RW" offset="0x0.0" size="0x0.4" />
	<field name="alpha_factor" descr="Alpha for the exponential moving average formula.\;Alpha = 1/(2^alpha_factor)\;Range 0..7\;\;Default is 2" access="RW" offset="0x4.0" size="0x0.3" />
</node>

<node name="pbwr_ext" descr="" size="0x94.0" >
	<field name="local_port_bitmap" descr="Local port\;Each bit represents a local port.\;[DWIP] Bit &lt;i&gt; represents local port &lt;base_port+i&gt;.\;Refer to Section 9.2, &quot;Port Numbering&quot;, on page 2202 for port numbering scheme.\;Ports order in the bitmask is from bottom to top.\;E.g, given base_port=0, for setting local port 1, bit 1 in the last DWORD (offset 0x7Ch) should be set.\;CPU port is not supported.\;Router port is not supported" access="INDEX" high_bound="31" low_bound="0" offset="0x0.0" size="0x80.0" />
	<field name="num_rec" descr="Number of records.\;Range 0..1024.\;Range 1025..2047 is reserved." access="OP" offset="0x80.0" size="0x0.11" />
	<field name="dir" descr="Direction:\;0: ingress\;1: egress" access="INDEX" enum="ingress=0x0,egress=0x1" offset="0x80.31" size="0x0.1" />
	<field name="base_port" descr="[DWIP]\;Base local port for the local port bitmap.\;local_port_bitmap represents local ports from base_port to base_port+1023.\;bw_record[0] corresponds to base_port." access="INDEX" offset="0x84.0" size="0x0.16" />
	<field name="bw_record" descr="BW of the corresponding local port.\;Valid only if the corresponding bit at local_port_bitmap is set (1).\;[DWIP] bw_record[i] corresponds to bit i in local_port_bitmap, which corresponds to local port base_port+i.\;Units of Mega bits.\;" access="RO" arr_is_dynamic="1" high_bound="VARIABLE" low_bound="0" offset="0x90.0" size="0x4.0" size_condition="$(parent).num_rec" />
</node>

<node name="pcam_feature_capability_mask_group0_ext" descr="" size="0x10.0" >
	<field name="feature_cap_mask" descr="Supported port&apos;s enhanced features. Based on feature_group index. When bit is set, The feature is supported in the device:\;Bit 0: PPCNT_counter_group_Phy_statistical_counter_group \;Bit 1 - PPCNT_counter_group_Discard_counter_group\;Bit 9: PFCC - support of stall mask and global rx,tx mask. \;Bit 10: PMCR - support of tx_disable override.\;Bit 11: PPCNT_counter_group - IB Extended port counter group\;Bit 12: PPCNT_Extended_Ethernet_group - tx packet size histograms\;Bit 13: PTYS_extended_Ethernet_support\;Bit 14: PMAOS_reset_toggle_support\;Bit 15: Set_Module_low_power_supported \;Bit 16: Module_power_optimization_is_supported_in_PPSC\;Bit 17: Support_of_IB_force_state_machine_in_PTYS - (an_disable)\;Bit 18: PPCNT_Extended_Ethernet_group_icrc_counter\;Bit 19: cm2_en_is_supported_in_PCAP\;Bit 20: time_tolink_up_is_supported_in_PDDR\;Bit 21: gearbox_die_num_field_is_supported_in_PMDR\;Bit 22: force_entropy_entropy_calc_entropy_gre_calc - and capability bits are supported in PCMR\;Bit 23: FEC_override_support_for_50G_per_lane_is_supported_in_PPLM\;Bit 25: PTYS_allow_both_extended_and_legacy_protocol_masks\;Bit 26: PPCNT_eth_per_tc_cong_group_supported\;Bit 27: pnat_sup_host - the device supports pnat = 2 (host) when set to &apos;1&apos;\;Bit 28: ppcnt_no_buffer_discard_uc - this counter is supported in PPCNT when set to &apos;1&apos;\;Bit 29: pbmc_port_shared_buffer - supported in PBMC.\;Bit 30: PLR_max_retry_window_support - PPCNT group 0x22 max retry per window\;Bit 32: PDDR_ext_eth_proto_support\;Bit 41: PMAOS - support of &quot;opertional_notifcation&quot; field\;Bit 42: PRBS_polarity_support - support of polarity bits in PPTT and PPRT\;Bit 43: PDDR_register_is_supported\;Bit 44: pfcc_buffer_onwership - PFCC buffer ownership is supported.\;Bit 45: force_down - supported in PAOS reg.\;Bit 46: pmlp_lane_mapping_off - Support of m_lane_m field in PMLP.\;Bit 51: ppcnt_symobl_ber\;Bit 52: shp_pbmc_pbsr_support\;Bit 54: ppcnt_effective_error_counter\;Bit 55: FEC_override_support_for_100G_per_lane_is_supported_in_PPLM\;Bit 57: PMECR_option_to_not_generate_events_upon_PMLP_set\;Bit 64: Local_port_MSB - bits [9:8] supported\;Bit 65: PDDR_moule_latched_info_page_supported\;Bit 66: PDDR_module_info_ext_supported\;Bit 70: SLTP_tx_policy_supported\;Bit 71: pmcr_capability_bits_supported\;Bit 72: pmtu_max_admin_mtu_supported\;Bit 73: PPCNT_grp_profile_supported\;Bit 77: PPCNT.physical_layer_counters_RS_FEC_8_lanes_supported\;Bit 85: PPCNT.counters_cap\;Bit 86: SLTP.lane_broadcast_supported\;Bit 87: PMMP.apply_im_supported\;Bit 91: SLRG.all_lanes_supported\;Bit 92: PIPG.ipg_oper_ipg_cap_idx_supported\;Bit 93: PPBMP_clr_supported\;Bit 94: PIPG.dic1_1g_supported\;Bit 98: FEC_override_support_for_200G_per_lane_is_supported_in_PPLM\;Bit 99: PUDE.local_reason_opcode_supported\;Bit 101: PPCNT.physical_layer_counters.intentional_unintentional_link_down_events_supported\;Bit 102: PAOS.nmx_adminstate_status_fields_supported\;Bit 103: PFCC.cable_length_supported\;Bit 104: PDDR.link_up_info_page_1ch_to_2ch_counters_supported\;Bit 107: PFCC.packet_ratio_supported\;Bit 109: PPCNT.Physical_Layer_Counters.data/serdes_received_bits_counters\;Bit 111: PPCNT.physical_layer_recovery_counters_supported\;Bit 112: PMLP.lane_label_mapping_supported\;Bit 113: PPCNT.physical_layer_counters.estimated_effective_ber_supported\;Bit 114 PPCNT.physical_layer_counters.ucr_ber_supported\;Bit 116: PMLP.mode_b_map_bit_supported\;Bit 117: PDDR.link_down_info_page.recovery_entry_reason_supported\;Bit 118: PAOS.last_oper_state_supported\;Bit 119: PPCNT.new_phy_recovery_counters_supported\;Bit 120: PDDR.operational_info_page.test_mode_fsm_state_supported\;Bit 121: PFCC.mlb_mask_supported\;Bit 122: PUDE.recoverable_down_supported\;Bit 123: PDDR.AMLock_aggregated_VLs_Supported\;Bit 124: PPCNT.physical_layer_recovery.successful_recovery_time_supported\;Bit 125: PPCNT.physical_layer_recovery.uncorrectable_during_recovery_supported\;Bit 126: SLRG.measurements_thresholds_supported\;Other bits are reserved" access="RO" enum="PPCNT_counter_group_Phy_statistical_counter_group=0x1,PFCC=0x200,PMCR=0x400,PPCNT_counter_group=0x800,PPCNT_Extended_Ethernet_group=0x1000,PTYS_extended_Ethernet_support=0x2000,PMAOS_reset_toggle_support=0x4000,Set_Module_low_power_supported=0x8000,Module_power_optimization_is_supported_in_PPSC=0x10000,Support_of_IB_force_state_machine_in_PTYS=0x20000,PPCNT_Extended_Ethernet_group_icrc_counter=0x40000,cm2_en_is_supported_in_PCAP=0x80000,time_tolink_up_is_supported_in_PDDR=0x100000,gearbox_die_num_field_is_supported_in_PMDR=0x200000,force_entropy_entropy_calc_entropy_gre_calc=0x400000,FEC_override_support_for_50G_per_lane_is_supported_in_PPLM=0x800000,PTYS_allow_both_extended_and_legacy_protocol_masks=0x2000000,PPCNT_eth_per_tc_cong_group_supported=0x4000000,pnat_sup_host=0x8000000,ppcnt_no_buffer_discard_uc=0x10000000,pbmc_port_shared_buffer=0x20000000,PLR_max_retry_window_support=0x40000000,PDDR_ext_eth_proto_support=0x1,PMAOS=0x200,PRBS_polarity_support=0x400,PDDR_register_is_supported=0x800,pfcc_buffer_onwership=0x1000,force_down=0x2000,pmlp_lane_mapping_off=0x4000,ppcnt_symobl_ber=0x80000,shp_pbmc_pbsr_support=0x100000,ppcnt_effective_error_counter=0x400000,FEC_override_support_for_100G_per_lane_is_supported_in_PPLM=0x800000,PMECR_option_to_not_generate_events_upon_PMLP_set=0x2000000,Local_port_MSB=0x1,PDDR_moule_latched_info_page_supported=0x2,PDDR_module_info_ext_supported=0x4,SLTP_tx_policy_supported=0x40,pmcr_capability_bits_supported=0x80,pmtu_max_admin_mtu_supported=0x100,PPCNT_grp_profile_supported=0x200,PPCNT_physical_layer_counters_RS_FEC_8_lanes_supported=0x2000,PPCNT_counters_cap=0x200000,SLTP_lane_broadcast_supported=0x400000,PMMP_apply_im_supported=0x800000,SLRG_all_lanes_supported=0x8000000,PIPG_ipg_oper_ipg_cap_idx_supported=0x10000000,PPBMP_clr_supported=0x20000000,PIPG_dic1_1g_supported=0x40000000,FEC_override_support_for_200G_per_lane_is_supported_in_PPLM=0x4,PUDE_local_reason_opcode_supported=0x8,PPCNT_physical_layer_counters_intentional_unintentional_link_down_events_supported=0x20,PAOS_nmx_adminstate_status_fields_supported=0x40,PFCC_cable_length_supported=0x80,PDDR_link_up_info_page_1ch_to_2ch_counters_supported=0x100,PFCC_packet_ratio_supported=0x800,PPCNT_physical_layer_recovery_counters_supported=0x8000,PMLP_lane_label_mapping_supported=0x10000,PPCNT_physical_layer_counters_estimated_effective_ber_supported=0x20000,PMLP_mode_b_map_bit_supported=0x100000,PDDR_link_down_info_page_recovery_entry_reason_supported=0x200000,PAOS_last_oper_state_supported=0x400000,PPCNT_new_phy_recovery_counters_supported=0x800000,PDDR_operational_info_page_test_mode_fsm_state_supported=0x1000000,PFCC_mlb_mask_supported=0x2000000,PUDE_recoverable_down_supported=0x4000000,PDDR_AMLock_aggregated_VLs_Supported=0x8000000,PPCNT_physical_layer_recovery_successful_recovery_time_supported=0x10000000,PPCNT_physical_layer_recovery_uncorrectable_during_recovery_supported=0x20000000,SLRG_measurements_thresholds_supported=0x40000000" high_bound="3" low_bound="0" offset="0x0.0" size="0x10.0" />
</node>

<node name="pcam_feature_capability_mask_group1_ext" descr="" size="0x10.0" >
	<field name="feature_cap_mask" descr="Bit 5: PPRM.link_down_timeout_default_supported\;Bit 6: PMDR.active_module_lane_mask_supported\;Bit 7: PPBMC.plr_bw_loss_negotation_supported" access="RO" high_bound="3" low_bound="0" offset="0x0.0" size="0x10.0" />
</node>

<node name="pcam_reg_ext" descr="" size="0x50.0" >
	<field name="access_reg_group" descr="Access Register ID groups\;0: RegID_0x5000_to_0x507F\;1: RegID_0x5080_to_50FF\;Values 2-255 are Reserved" access="INDEX" offset="0x0.0" size="0x0.8" />
	<field name="pl_op" descr="Reserved for non-planarized port.\;Features and access regs will be presented according to:\;0: aggregated_port_access\;1: plane_port_access" access="OP" enum="aggregated_port_access=0x0,plane_port_access=0x1" offset="0x0.8" size="0x0.1" />
	<field name="feature_group" descr="Feature list mask index: \;0: enhanced_features\;1: ext_group1_features\;Values 1 - 255 are Reserved" access="INDEX" enum="enhanced_features=0x0,ext_group1_features=0x1" offset="0x0.16" size="0x0.8" />
	<field name="port_access_reg_cap_mask" descr="Supported port&apos;s access register bitmaks. Based on access_reg_group index.\;When bit is set. The register is supported in the device. \;When access_reg_group == 0 :\;Bit_0: 0x5000 \;Bit_1: 0x5001 (PCAP)\;Bit_2: 0x5002 (PMLP)\;Bit_3: 0x5003 (PMTU)\;Bit_4: 0x5004 (PTYS)\;Bit_127: 0x507F (PCAM)" access="RO" high_bound="3" low_bound="0" offset="0x8.0" size="0x10.0" />
	<field name="feature_cap_mask" descr="Table  1686, &quot;PCAM - Feature Capability Mask Group0 Layout,&quot; on page  2235\;Table  1688, &quot;PCAM - Feature Capability Mask Group1 Layout,&quot; on page  2237" subnode="pcam_reg_feature_cap_mask_auto_ext" access="RO" offset="0x28.0" size="0x10.0" union_selector="$(parent).feature_group" />
</node>

<node name="pcam_reg_feature_cap_mask_auto_ext" descr="" attr_is_union="1" size="0x10.0" >
	<field name="pcam_feature_capability_mask_group0_ext" descr="" subnode="pcam_feature_capability_mask_group0_ext" offset="0x0.0" selected_by="enhanced_features" size="0x10.0" />
	<field name="pcam_feature_capability_mask_group1_ext" descr="" subnode="pcam_feature_capability_mask_group1_ext" offset="0x0.0" selected_by="ext_group1_features" size="0x10.0" />
</node>

<node name="pcap_reg_ext" descr="" size="0x14.0" >
	<field name="lp_msb" descr="Local port number [9:8]" access="INDEX" offset="0x0.12" size="0x0.2" />
	<field name="local_port" descr="Local port number" access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="cm2_en" descr="port_capability_mask[95:80] is supported if set to &apos;1&apos;." access="RW" offset="0x0.31" size="0x0.1" />
	<field name="port_capability_mask" descr="Sets the PortInfoCapabilityMask:\;Specifies the supported capabilities of this node. A bit set to 1 for affirmation of supported capability.\;port_capability_mask[127:96] is mapped to CapabilityMask in PortInfo MAD.\;port_capability_mask[95:80] is mapped to CapabilityMask2 in PortInfo MAD.\;\;\;" access="RW" high_bound="3" low_bound="0" offset="0x4.0" size="0x10.0" />
</node>

<node name="pcct_reg_ext" descr="" size="0x14.0" >
	<field name="port_type" descr="Supported only when indicated by PCAM \;0: Network_port\;1: Near_End_Port - (For Retimer/Gearbox - Host side)\;2: Internal_IC_LR_Port \;3: Far_End_Port - (For Retimer/Gearbox - Line side)\;Other values are reserved." access="INDEX" enum="Network_port=0x0,Near_End_Port=0x1,Internal_IC_LR_Port=0x2,Far_End_Port=0x3" offset="0x0.4" size="0x0.4" />
	<field name="plane_ind" descr="Reserved for non-planarized port.\;Plane port index of the aggregated port. A value of 0 refers to the aggregated port only." access="INDEX" offset="0x0.8" size="0x0.4" />
	<field name="lp_msb" descr="Local port number [9:8]" access="INDEX" offset="0x0.12" size="0x0.2" />
	<field name="pnat" descr="Port number access type. determines the way local_port is interpreted:\;0: Local_port_number\;1: IB_port_number" access="INDEX" enum="Local_port_number=0x0,IB_port_number=0x1" offset="0x0.14" size="0x0.2" />
	<field name="local_port" descr="Local port number." access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="page_select" descr="page select index:\;0: plu_general_tracer_page" access="INDEX" enum="plu_general_tracer_page=0x0" offset="0x4.0" size="0x0.8" />
	<field name="page_data" descr="Table  2422, &quot;PLU General Tracer Page Layout,&quot; on page  3105" subnode="pcct_reg_page_data_auto_ext" access="RW" offset="0x8.0" size="0xc.0" union_selector="$(parent).page_select" />
</node>

<node name="pcct_reg_page_data_auto_ext" descr="" attr_is_union="1" size="0xc.0" >
	<field name="plu_general_tracer_page_ext" descr="" subnode="plu_general_tracer_page_ext" offset="0x0.0" selected_by="plu_general_tracer_page" size="0xc.0" />
</node>

<node name="pcie_perf_counters2_ext" descr="" size="0xf8.0" >
	<field name="total_dwords_transmitted" descr="Total number of DWORDS sent by the PCIe link." access="RO" offset="0x0.0" size="0x4.0" />
	<field name="total_dwords_received" descr="Total number of DWORDS receivedby the PCIe link." access="RO" offset="0x4.0" size="0x4.0" />
	<field name="invalid_flit_counter" descr="Number of invalid flit blocks" access="RO" offset="0x8.0" size="0x4.0" />
	<field name="outbound_read_tlps_count" descr="Number of read TLPs sent by the PCIe link" access="RO" offset="0xC.0" size="0x4.0" />
	<field name="outbound_read_data_dword_high" descr="Number of DWORDS sent in outbound read TLPs - bits 63:32" access="RO" offset="0x10.0" size="0x4.0" />
	<field name="outbound_read_data_dword_low" descr="Number of DWORDS sent in outbound read TLPs - bits 31:0" access="RW" offset="0x14.0" size="0x4.0" />
	<field name="outbound_write_tlps_count" descr="Number of write TLPs sent by the PCIe link." access="RO" offset="0x18.0" size="0x4.0" />
	<field name="outbound_write_data_dword_high" descr="Number of DWORDS sent in outbound write TLPs - bits 63:32" access="RO" offset="0x1C.0" size="0x4.0" />
	<field name="outbound_write_data_dword_low" descr="Number of DWORDS sent in outbound write TLPs - bits 31:0" access="RW" offset="0x20.0" size="0x4.0" />
	<field name="outbound_completion_tlps_count" descr="Number of completion TLPs sent by the PCIe link." access="RO" offset="0x24.0" size="0x4.0" />
	<field name="outbound_completion_data_dwords_count" descr="Number of DWORDS sent in outbound completion TLPs" access="RO" offset="0x28.0" size="0x4.0" />
	<field name="reads_req_dropped_due_missing_tag_count" descr="Number of read request dropped due to missing tag" access="RO" offset="0x2C.0" size="0x4.0" />
	<field name="reads_req_dropped_due_missing_cmpl_credits_count" descr="Number of read request dropped due to missing completion credits" access="RO" offset="0x30.0" size="0x4.0" />
	<field name="reads_req_dropped_due_missing_np_credits_count" descr="Number of read request dropped due to missing non-posted credits" access="RO" offset="0x34.0" size="0x4.0" />
	<field name="NAK_received_count" descr="Number of NAKs received" access="RO" offset="0x38.0" size="0x4.0" />
	<field name="NAK_sent_count" descr="Number of NAKs sent" access="RO" offset="0x3C.0" size="0x4.0" />
	<field name="replay_cnt_rollover_count" descr="Number of replay count rollover" access="RO" offset="0x40.0" size="0x4.0" />
	<field name="FC_error_count" descr="Number of Flow Control Errors" access="RO" offset="0x44.0" size="0x4.0" />
	<field name="replay_count" descr="Number of TLPs replay" access="RO" offset="0x48.0" size="0x4.0" />
	<field name="AER_correctable_errors_count" descr="Number of AER correctable errors count" access="RO" offset="0x4C.0" size="0x4.0" />
	<field name="AER_fatal_error_count" descr="Number of AER fatal errors count" access="RO" offset="0x50.0" size="0x4.0" />
	<field name="AER_non_fatal_error_count" descr="Number of AER non fatal errors count" access="RO" offset="0x54.0" size="0x4.0" />
	<field name="AER_unsupported_request" descr="Number of AER unsupported request" access="RO" offset="0x58.0" size="0x4.0" />
</node>

<node name="pcie_perf_counters_ext" descr="" size="0xf8.0" >
	<field name="rx_errors" descr="Number of transitions to recovery due to Framing errors and CRC (dlp and tlp) errors." access="RO" offset="0x8.0" size="0x4.0" />
	<field name="tx_errors" descr="Number of transitions to recovery due to EIEOS and TS errors." access="RO" offset="0xC.0" size="0x4.0" />
	<field name="crc_error_dllp" descr="Number of transitions to recovery due to identifying CRC DLLP errors" access="RO" offset="0x20.0" size="0x4.0" />
	<field name="crc_error_tlp" descr="Number of transitions to recovery due to identifying CRC TLP errors" access="RO" offset="0x24.0" size="0x4.0" />
	<field name="tx_overflow_buffer_pkt" descr="The number of packets dropped due to lack of PCIe buffers or receive path from NIC port toward the hosts." subnode="uint64" access="RO" offset="0x28.0" size="0x8.0" />
	<field name="outbound_stalled_reads" descr="The percentage of time within the last second that the NIC had outbound non-posted read requests but could not perform the operation due to insufficient non-posted credits.\;Supported only when MCAM.pcie_outbound_stalled ==1." access="RO" offset="0x30.0" size="0x4.0" />
	<field name="outbound_stalled_writes" descr="The percentage of time within the last second that the NIC had outbound posted writes requests but could not perform the operation due to insufficient posted credits.\;Supported only when MCAM.pcie_outbound_stalled ==1." access="RO" offset="0x34.0" size="0x4.0" />
	<field name="outbound_stalled_reads_events" descr="The number of events where outbound_stalled_reads was above a threshold.\;The threshold is configured by outbound_stalled_reads_th in MPEGC.\;Supported only when MCAM.pcie_outbound_stalled ==1." access="RO" offset="0x38.0" size="0x4.0" />
	<field name="outbound_stalled_writes_events" descr="The number of events where outbound_stalled_writes was above a threshold.\;The threshold is configured by outbound_stalled_writes_th in MPEGC.\;Supported only when MCAM.pcie_outbound_stalled ==1." access="RO" offset="0x3C.0" size="0x4.0" />
	<field name="tx_overflow_buffer_marked_pkt" descr="The number of packets marked due to lack of PCIe buffers or receive path from NIC port toward the hosts.\;Supported only if MCAM.mark_tx_action_cqe or MCAM.mark_tx_action_cnp are set to &apos;1&apos;." subnode="uint64" access="RO" offset="0x40.0" size="0x8.0" />
	<field name="effective_ber_coef" descr="Effective_BER = effective_ber_coef*10^(-effective_ber_magnitude)" access="RO" offset="0x48.0" size="0x0.4" />
	<field name="effective_ber_magnitude" descr="Effective_BER = effective_ber_coef*10^(-effective_ber_magnitude)" access="RO" offset="0x48.8" size="0x0.8" />
	<field name="fec_correctable_error_counter" descr="FEC correctable error counter when FLIT is enabled" access="RO" offset="0x54.0" size="0x4.0" />
	<field name="fec_uncorrectable_error_counter" descr="FEC uncorrectable error counter when FLIT is enabled" access="RO" offset="0x58.0" size="0x4.0" />
	<field name="l0_to_recovery" descr="total l0 to recovery - this is a sum of all the l0 to recovery specific causes- l0_to_recovery_eieos, l0_to_recovery_ts, l0_to_recovery_framing, l0_to_recovery_retrain" access="RO" offset="0x5C.0" size="0x4.0" />
	<field name="fber_coef" descr="FBER = fber_coef*10^(-fber_magnitude)" access="RO" offset="0x60.0" size="0x0.4" />
	<field name="fber_magnitude" descr="FBER = fber_coef*10^(-fber_magnitude)" access="RO" offset="0x60.8" size="0x0.8" />
</node>

<node name="pcie_physical_layer_ext" descr="" size="0x4.0" >
	<field name="eqlz_timeout_ph0" descr="" access="RO" offset="0x0.0" size="0x0.1" />
	<field name="eqlz_timeout_ph1" descr="" access="RO" offset="0x0.1" size="0x0.1" />
	<field name="eqlz_timeout_ph2" descr="" access="RO" offset="0x0.2" size="0x0.1" />
	<field name="eqlz_timeout_ph3" descr="" access="RO" offset="0x0.3" size="0x0.1" />
</node>

<node name="pcmr_reg_ext" descr="" size="0xc.0" >
	<field name="lp_msb" descr="Local port[9:8]" access="INDEX" offset="0x0.12" size="0x0.2" />
	<field name="local_port" descr="Local port number\;" access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="fcs_cap" descr="Specifies the check enable/disable capabilities of the local port. A bit set to 1 for affirmation of supported enable/disable capability: \;FCS check disable/enable capability" access="RO" offset="0x4.1" size="0x0.1" />
	<field name="rx_ts_over_crc_cap" descr="Specifies the ingress timestamps enable/disable capabilities of the local port. A bit set to 1 for affirmation of supported enable/disable capability" access="RO" offset="0x4.13" size="0x0.1" />
	<field name="rx_fcs_drop_cap" descr="Specifies the ingress drop enable/disable capabilities of the local port. A bit set to 1 for affirmation of supported enable/disable capability" access="RO" offset="0x4.14" size="0x0.1" />
	<field name="tx_fcs_recalc_cap" descr="Specifies the egress drop enable/disable capabilities of the local port. A bit set to 1 for affirmation of supported enable/disable capability" access="RO" offset="0x4.15" size="0x0.1" />
	<field name="tx_ts_over_crc_cap" descr="Specifies the egress timestamps enable/disable capabilities of the local port. A bit set to 1 for affirmation of supported enable/disable capability" access="RO" offset="0x4.16" size="0x0.1" />
	<field name="fcs_chk" descr="FCS check\;Values:\;0: disable check. \;1: perform check\;Note: when disabling a check, it will also affects the relevant counters." access="RW" offset="0x8.1" size="0x0.1" />
	<field name="rx_ts_over_crc" descr="RX TimeStamp over FCS\;0: no TS over FCS\;1: TS over FCS\;Note: \;1. If this field is changed while traffic is passing then some packets may be dropped due to incorrect FCS.\;2. Default value is (1) - TS over FCS\;Reserved when GPUNet" access="RW" offset="0x8.13" size="0x0.1" />
	<field name="rx_fcs_drop" descr="RX FCS drop control:\;0: ingress port will drop a packet with bad FCS (Default)\;1: ingress port will not drop a packet with bad FCS\;NOTE: All FCS counters (PPCNT) are valid for both drop modes.\;NOTE: Reserved when PCMR.fcs_cap=1 &amp; PCMR.fcs_chk=0" access="RW" offset="0x8.14" size="0x0.1" />
	<field name="tx_fcs_recalc" descr="TX FCS recalculation:\;0: egress port will recalculate and overwrite FCS value (Default) \;1: egress port will not overwrite FCS value \;NOTE: when this bit is set, any modification of the packet will result in a bad FCS.\;Reserved when GPUNet" access="RW" offset="0x8.15" size="0x0.1" />
	<field name="tx_ts_over_crc" descr="TX TimeStamp over FCS\;0: no TS over FCS\;1: TS over FCS\;Reserved when tx_fcs_recalc is set\;Reserved when GPUNet" access="RW" offset="0x8.16" size="0x0.1" />
</node>

<node name="pcnr_reg_ext" descr="" size="0xc.0" >
	<field name="tuning_override" descr="When set, port will override tuning process upon following link-up command (PAOS.admin_status = UP).\;Cleared by FW once PAOS.admin_status = UP command is set.\;\;The tuning_override is recommended to be set when port operational status is UP (PAOS.oper_status=0x1).\;If the field is set while operational status is DOWN (PAOS.oper_status=0x2), port will do best effort of fast linkup on the possible parts of the link (that is, known internal links that cannot change)." access="WO" offset="0x0.0" size="0x0.1" />
	<field name="flua_cap" descr="When set, indicates if flua_en, flua_guar_sec, flua_polling_sec, flua_allowed_ber, flu_always_oper is supported and valid." access="RO" offset="0x0.2" size="0x0.1" />
	<field name="flua_we_mask" descr="Bitmask for all flua fiels. When bit is set in mask, the relevant field configuration is valid. Otherwise, field ignores the value.\;Bit 0: flua_en\;bit 1: flua_allowed_ber\;Bit 2: flua_polling_sec\;Bit 3: flua_guar_sec" access="WO" enum="flua_en=0x1,flua_allowed_ber=0x2,flua_polling_sec=0x4,flua_guar_sec=0x8" offset="0x0.3" size="0x0.4" />
	<field name="lp_msb" descr="Local port number [9:8]" access="INDEX" offset="0x0.12" size="0x0.2" />
	<field name="local_port" descr="Local port number." access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="keep_phy_setting" descr="When Set, The port will keep the same phy setting upon link down event that occurs only upon link down command of peer port. In the event of Down command/cable disconnect, entire link up flow will be initialized.\;\;NOTE: This mode can be configured only when PTYS.an_disable_admin is set (i.e. AN is disabled). \;NOTE: if physical environment was changed (i.e. replacement of module, temp change, etc) there is a possibility that link won&apos;t be established or will be established with high BER" access="WO" offset="0x4.0" size="0x0.1" />
	<field name="flua_en" descr="Get valid only if flua_cap is set.\;Set is valid only if flua_cap and flua_we are set.\;valid only if flua_cap is set\;0: device_default_behavior\;1: enable_fast_linkup_always\;2: disable_fast_linkup_always\;\;When enabled, fast linkup attempt will always be performed. On fast linkup failure, regular linkup flow will be performed.\;flu configuration is ignored when flu_always enabled" access="RW" enum="device_default_behavior=0x0,enable_fast_linkup_always=0x1,disable_fast_linkup_always=0x2" offset="0x4.4" size="0x0.2" />
	<field name="flua_oper" descr="Valid only if flua_cap is set.\;Fast link Up always operational satus\;0: fast_linkup_always_was_not_performed\;1: fast_linkup_always_was_performed" access="RO" enum="fast_linkup_always_was_not_performed=0x0,fast_linkup_always_was_performed=0x1" offset="0x4.6" size="0x0.2" />
	<field name="flua_allowed_ber" descr="BER exponent threshold for allowed ber during the guard period." access="RW" offset="0x4.8" size="0x0.8" />
	<field name="flua_polling_sec" descr="Get valid only if flua_cap is set.\;Set is valid only if flua_cap and flua_we are set.\;Polling allowed time in 2.5 sec granularity.\;When fast linkup always is enabled.\;Determines the amount of time to try fast-linkup during polling state. when timer expires in polling state, regular linkup will be performed" access="RW" offset="0x4.16" size="0x0.8" />
	<field name="flua_guar_sec" descr="Get valid only if flua_cap is set.\;Set is valid only if flua_cap and flua_we are set.\;Guard peiod in sec.\;When fast linkup always is enabled, determines the amount of time after link is up that if the link drops or BER threshold is met, next linkup will not perform fast-linkup." access="RW" offset="0x4.24" size="0x0.5" />
</node>

<node name="pd_link_eth_enabled_ext" descr="" size="0x4.0" >
	<field name="link_eth_active" descr="Ethernet protocols active: see PTYS.ext_eth_proto_oper" access="RO" offset="0x0.0" size="0x4.0" />
</node>

<node name="pd_link_ib_enabled_ext" descr="" size="0x4.0" >
	<field name="link_speed_active" descr="IB link active speed:\;Bit 0: SDR\;Bit 1: DDR\;Bit 2: QDR\;Bit 3: FDR10\;Bit 4: FDR\;Bit 5: EDR\;Bit 6: HDR\;Bit 7: NDR\;Bit 8: XDR" access="RO" enum="SDR=0x1,DDR=0x2,QDR=0x4,FDR10=0x8,FDR=0x10,EDR=0x20,HDR=0x40,NDR=0x80,XDR=0x100" offset="0x0.0" size="0x0.16" />
	<field name="link_width_active" descr="IB link active width:\;Bit 0: 1x\;Bit 1: 2x\;Bit 2: 4x\;\;Other - reserved" access="RO" offset="0x0.16" size="0x0.16" />
</node>

<node name="pddr_c2p_link_enabled_eth_ext" descr="" size="0x4.0" >
	<field name="core_to_phy_link_eth_enabled" descr="Ethernet protocols admin state: see PTYS.ext_eth_proto_admin" access="RO" offset="0x0.0" size="0x4.0" />
</node>

<node name="pddr_c2p_link_enabled_ib_ext" descr="" size="0x4.0" >
	<field name="core_to_phy_link_proto_enabled" descr="bi link enabled speed:\;Bit 0: SDR\;Bit 1: DDR\;Bit 2: QDR\;Bit 3: FDR10\;Bit 4: FDR\;Bit 5: EDR\;Bit 6: HDR\;Bit 7: NDR\;Bit 8: XDR" access="RO" enum="SDR=0x1,DDR=0x2,QDR=0x4,FDR10=0x8,FDR=0x10,EDR=0x20,HDR=0x40,NDR=0x80,XDR=0x100" offset="0x0.0" size="0x0.16" />
	<field name="core_to_phy_link_width_enabled" descr="IB link enabled width:\;Bit 0: 1x\;Bit 1: 2x\;Bit 2: 4x\;\;Other - reserved" access="RO" offset="0x0.16" size="0x0.16" />
</node>

<node name="pddr_c2p_link_enabled_nvlink_ext" descr="" size="0x4.0" >
	<field name="core_to_phy_link_nvlink_enabled" descr="NVLink protocols admin state\;see: Table  1706, &quot;PTYS - Extended Protocol NVLink - admin Layout,&quot; on page  2251" access="RO" offset="0x0.0" size="0x4.0" />
</node>

<node name="pddr_cable_cap_eth_ext" descr="" size="0x4.0" >
	<field name="cable_ext_eth_proto_cap" descr="Cable Ethernet protocols cap. If PTYS.ext_eth_proto_cap filed is supported, use for opcode definition PTYS.ext_eth_proto_capIf PTYS.ext_eth_proto_capability mask is empty, use For opcode definition PTYS.eth_proto_cap." access="RO" offset="0x0.0" size="0x4.0" />
</node>

<node name="pddr_cable_cap_ib_ext" descr="" size="0x4.0" >
	<field name="cable_link_speed_cap" descr="Cable support IB speed:\;Bit 0: SDR\;Bit 1: DDR\;Bit 2: QDR\;Bit 3: FDR10\;Bit 4: FDR\;Bit 5: EDR\;Bit 6: HDR\;Bit 7: NDR\;Bit 8: XDR" access="RO" enum="SDR=0x1,DDR=0x2,QDR=0x4,FDR10=0x8,FDR=0x10,EDR=0x20,HDR=0x40,NDR=0x80,XDR=0x100" offset="0x0.0" size="0x0.16" />
	<field name="cable_link_width_cap" descr="Cable support IB width:\;Bit 0: 1x\;Bit 1: 2x\;Bit 2: 4x\;\;Other - reserved" access="RO" offset="0x0.16" size="0x0.16" />
</node>

<node name="pddr_cable_cap_nvlink_ext" descr="" size="0x4.0" >
	<field name="cable_nvlink_proto_cap" descr="Cable NVLink protocols cap:\;See: Table  1704, &quot;PTYS - Extended Protocol NVLink - cap/oper Layout,&quot; on page  2251" access="RO" offset="0x0.0" size="0x4.0" />
</node>

<node name="pddr_cpo_module_page_ext" descr="" size="0xa8.0" >
	<field name="oe_sn" descr="Represent the OE SN, which matched to the sub module or local port" access="RO" high_bound="3" low_bound="0" offset="0x0.0" size="0x10.0" />
	<field name="laser_source_sn" descr="Represent the ELS SN, which matched to the sub module or local port" access="RO" high_bound="3" low_bound="0" offset="0x10.0" size="0x10.0" />
	<field name="laser_source_fw_version" descr="Relevant for virtual modules based system. represent the ELS FW version.\;" access="RO" offset="0x20.0" size="0x4.0" />
	<field name="els_laser_index" descr="ELS laser index, relevant when no 8x split." access="RO" offset="0x24.0" size="0x0.6" />
	<field name="sub_module" descr="Sub module" access="RO" offset="0x24.8" size="0x0.4" />
	<field name="oe_index" descr="OE index" access="RO" offset="0x24.16" size="0x0.8" />
	<field name="els_index" descr="ELS index" access="RO" offset="0x24.24" size="0x0.8" />
	<field name="oe_lane7_to_els_logical_laser" descr="OE optical lane to ELS logical laser mapping" access="RO" offset="0x28.0" size="0x0.4" />
	<field name="oe_lane6_to_els_logical_laser" descr="OE optical lane to ELS logical laser mapping" access="RO" offset="0x28.4" size="0x0.4" />
	<field name="oe_lane5_to_els_logical_laser" descr="OE optical lane to ELS logical laser mapping" access="RO" offset="0x28.8" size="0x0.4" />
	<field name="oe_lane4_to_els_logical_laser" descr="OE optical lane to ELS logical laser mapping" access="RO" offset="0x28.12" size="0x0.4" />
	<field name="oe_lane3_to_els_logical_laser" descr="OE optical lane to ELS logical laser mapping" access="RO" offset="0x28.16" size="0x0.4" />
	<field name="oe_lane2_to_els_logical_laser" descr="OE optical lane to ELS logical laser mapping" access="RO" offset="0x28.20" size="0x0.4" />
	<field name="oe_lane1_to_els_logical_laser" descr="OE optical lane to ELS logical laser mapping" access="RO" offset="0x28.24" size="0x0.4" />
	<field name="oe_lane0_to_els_logical_laser" descr="OE optical lane to ELS logical laser mapping" access="RO" offset="0x28.28" size="0x0.4" />
	<field name="module_lane_mask" descr="Bit mask of valid lanes." access="RO" offset="0x2C.24" size="0x0.8" />
</node>

<node name="pddr_link_active_eth_ext" descr="" size="0x4.0" >
	<field name="link_eth_active" descr="Ethernet protocols active: see PTYS.ext_eth_proto_oper" access="RO" offset="0x0.0" size="0x4.0" />
</node>

<node name="pddr_link_active_ib_ext" descr="" size="0x4.0" >
	<field name="link_speed_active" descr="IB link active speed:\;Bit 0: SDR\;Bit 1: DDR\;Bit 2: QDR\;Bit 3: FDR10\;Bit 4: FDR\;Bit 5: EDR\;Bit 6: HDR\;Bit 7: NDR\;Bit 8: XDR" access="RO" enum="SDR=0x1,DDR=0x2,QDR=0x4,FDR10=0x8,FDR=0x10,EDR=0x20,HDR=0x40,NDR=0x80,XDR=0x100" offset="0x0.0" size="0x0.16" />
	<field name="link_width_active" descr="IB link active width:\;Bit 0: 1x\;Bit 1: 2x\;Bit 2: 4x\;\;Other - reserved" access="RO" offset="0x0.16" size="0x0.16" />
</node>

<node name="pddr_link_active_nvlink_ext" descr="" size="0x4.0" >
	<field name="link_nvlink_active" descr="NVLink protocols active\;See: Table  1704, &quot;PTYS - Extended Protocol NVLink - cap/oper Layout,&quot; on page  2251" access="RO" offset="0x0.0" size="0x4.0" />
</node>

<node name="pddr_link_down_info_page_ext" descr="" size="0xf4.0" >
	<field name="down_blame" descr="Which receiver caused last link down: \;0: Unknown\;1: Local_phy\;2: Remote_phy" access="RO" enum="Unknown=0x0,Local_phy=0x1,Remote_phy=0x2" offset="0x0.0" size="0x0.4" />
	<field name="down_intent" descr="For the last link down reason, indicates if the link drop was intentional (e.g port down command, cable unplug etc...) or unintentional (e.g Bad SI).\;down_intent is updated on the link drop according to local reason information and updated again on LinkUp according to local + peer down reason (only if negotiation took place during linkup flow)\;0: Unknown\;1: intentional\;2: unintentional" access="RO" enum="Unknown=0x0,intentional=0x1,unintentional=0x2" offset="0x0.4" size="0x0.4" />
	<field name="local_reason_opcode" descr="Opcode of link down reason for local / remote side / last successful recovery entry reason: \;Recovery entry reason supported only if PCAM.feature_cap_mask bit 117 is set\;0: No_link_down_indication\;1: Unknown_reason\;2: Hi_BER\;3: Block_Lock_loss\;4: Alignment_loss\;5: FEC_sync_loss\;6: PLL_lock_loss\;7: FIFO_overflow\;8: false_SKIP_condition\;9: Minor_Error_threshold_exceeded\;10: Physical_layer_retransmission_timeout\;11: Heartbeat_errors\;12: Link_Layer_credit_monitoring_watchdog\;13: Link_Layer_integrity_threshold_exceeded\;14: Link_Layer_buffer_overrun\;15: Down_by_outband_command_with_healthy_link\;16: Down_by_outband_command_for_link_with_hi_ber\;17: Down_by_inband_command_with_healthy_link\;18: Down_by_inband_command_for_link_with_hi_ber\;19: Down_by_verification_GW\;20: Received_Remote_Fault \;21: Received_TS1\;22: Down_by_management_command\;23: Cable_was_unplugged\;24: Cable_access_issue \;25: Cable_Thermal_shutdown \;26: Current_issue \;27: Power_budget\;28: Fast_recovery_raw_ber\;29: Fast_recovery_effective_ber\;30: Fast_recovery_symbol_ber\;31: Fast_recovery_credit_watchdog\;32: Peer_side_down_to_sleep_state\;33: Peer_side_down_to_disable_state\;34: Peer_side_down_to_disable_and_port_lock\;35: Peer_side_down_due_to_thermal_event\;36: Peer_side_down_due_to_force_event\;37: Peer_side_down_due_to_reset_event\;38: Reset_no_power_cycle\;39: Fast_recovery_tx_plr_trigger\;40: Down_due_to_HW_force_event\;42: L1_exit_failure\;43: too_many_link_error_recoveries\;44: Down_due_to_contain_mode\;45: BW_loss_threshold_exceeded\;46: ELS_laser_fault\;47: Hi_SER\;48: down_by_nmx_adminstate_cmd\;49: flua_ber_below_threshold_in_guard_time\;50: Received_Local_Fault \;51: Received_Link_Interruption\;52: Manual_debug_mode\;53: command_triggered_recovery\;58: Recovery_BW_loss_threshold_exceeded\;59: Peer_side_down_due_to_contain_mode\;60: module_unexpected_reset_or_low_power\;61: Down_due_to_contain_mode_rx\;62: Down_due_to_contain_mode_tx" access="RO" offset="0x4.0" size="0x0.8" />
	<field name="recovery_entry_reason" descr="Opcode of link down reason for local / remote side / last successful recovery entry reason: \;Recovery entry reason supported only if PCAM.feature_cap_mask bit 117 is set\;0: No_link_down_indication\;1: Unknown_reason\;2: Hi_BER\;3: Block_Lock_loss\;4: Alignment_loss\;5: FEC_sync_loss\;6: PLL_lock_loss\;7: FIFO_overflow\;8: false_SKIP_condition\;9: Minor_Error_threshold_exceeded\;10: Physical_layer_retransmission_timeout\;11: Heartbeat_errors\;12: Link_Layer_credit_monitoring_watchdog\;13: Link_Layer_integrity_threshold_exceeded\;14: Link_Layer_buffer_overrun\;15: Down_by_outband_command_with_healthy_link\;16: Down_by_outband_command_for_link_with_hi_ber\;17: Down_by_inband_command_with_healthy_link\;18: Down_by_inband_command_for_link_with_hi_ber\;19: Down_by_verification_GW\;20: Received_Remote_Fault \;21: Received_TS1\;22: Down_by_management_command\;23: Cable_was_unplugged\;24: Cable_access_issue \;25: Cable_Thermal_shutdown \;26: Current_issue \;27: Power_budget\;28: Fast_recovery_raw_ber\;29: Fast_recovery_effective_ber\;30: Fast_recovery_symbol_ber\;31: Fast_recovery_credit_watchdog\;32: Peer_side_down_to_sleep_state\;33: Peer_side_down_to_disable_state\;34: Peer_side_down_to_disable_and_port_lock\;35: Peer_side_down_due_to_thermal_event\;36: Peer_side_down_due_to_force_event\;37: Peer_side_down_due_to_reset_event\;38: Reset_no_power_cycle\;39: Fast_recovery_tx_plr_trigger\;40: Down_due_to_HW_force_event\;42: L1_exit_failure\;43: too_many_link_error_recoveries\;44: Down_due_to_contain_mode\;45: BW_loss_threshold_exceeded\;46: ELS_laser_fault\;47: Hi_SER\;48: down_by_nmx_adminstate_cmd\;49: flua_ber_below_threshold_in_guard_time\;50: Received_Local_Fault \;51: Received_Link_Interruption\;52: Manual_debug_mode\;53: command_triggered_recovery\;58: Recovery_BW_loss_threshold_exceeded\;59: Peer_side_down_due_to_contain_mode\;60: module_unexpected_reset_or_low_power\;61: Down_due_to_contain_mode_rx\;62: Down_due_to_contain_mode_tx" access="RO" enum="No_link_down_indication=0x0,Unknown_reason=0x1,Hi_BER=0x2,Block_Lock_loss=0x3,Alignment_loss=0x4,FEC_sync_loss=0x5,PLL_lock_loss=0x6,FIFO_overflow=0x7,false_SKIP_condition=0x8,Minor_Error_threshold_exceeded=0x9,Physical_layer_retransmission_timeout=0xa,Heartbeat_errors=0xb,Link_Layer_credit_monitoring_watchdog=0xc,Link_Layer_integrity_threshold_exceeded=0xd,Link_Layer_buffer_overrun=0xe,Down_by_outband_command_with_healthy_link=0xf,Down_by_outband_command_for_link_with_hi_ber=0x10,Down_by_inband_command_with_healthy_link=0x11,Down_by_inband_command_for_link_with_hi_ber=0x12,Down_by_verification_GW=0x13,Received_Remote_Fault=0x14,Received_TS1=0x15,Down_by_management_command=0x16,Cable_was_unplugged=0x17,Cable_access_issue=0x18,Cable_Thermal_shutdown=0x19,Current_issue=0x1a,Power_budget=0x1b,Fast_recovery_raw_ber=0x1c,Fast_recovery_effective_ber=0x1d,Fast_recovery_symbol_ber=0x1e,Fast_recovery_credit_watchdog=0x1f,Peer_side_down_to_sleep_state=0x20,Peer_side_down_to_disable_state=0x21,Peer_side_down_to_disable_and_port_lock=0x22,Peer_side_down_due_to_thermal_event=0x23,Peer_side_down_due_to_force_event=0x24,Peer_side_down_due_to_reset_event=0x25,Reset_no_power_cycle=0x26,Fast_recovery_tx_plr_trigger=0x27,Down_due_to_HW_force_event=0x28,L1_exit_failure=0x2a,too_many_link_error_recoveries=0x2b,Down_due_to_contain_mode=0x2c,BW_loss_threshold_exceeded=0x2d,ELS_laser_fault=0x2e,Hi_SER=0x2f,down_by_nmx_adminstate_cmd=0x30,flua_ber_below_threshold_in_guard_time=0x31,Received_Local_Fault=0x32,Received_Link_Interruption=0x33,Manual_debug_mode=0x34,command_triggered_recovery=0x35,Recovery_BW_loss_threshold_exceeded=0x3a,Peer_side_down_due_to_contain_mode=0x3b,module_unexpected_reset_or_low_power=0x3c,Down_due_to_contain_mode_rx=0x3d,Down_due_to_contain_mode_tx=0x3e" offset="0x4.16" size="0x0.8" />
	<field name="remote_reason_opcode" descr="Opcode of link down reason for local / remote side / last successful recovery entry reason: \;Recovery entry reason supported only if PCAM.feature_cap_mask bit 117 is set\;0: No_link_down_indication\;1: Unknown_reason\;2: Hi_BER\;3: Block_Lock_loss\;4: Alignment_loss\;5: FEC_sync_loss\;6: PLL_lock_loss\;7: FIFO_overflow\;8: false_SKIP_condition\;9: Minor_Error_threshold_exceeded\;10: Physical_layer_retransmission_timeout\;11: Heartbeat_errors\;12: Link_Layer_credit_monitoring_watchdog\;13: Link_Layer_integrity_threshold_exceeded\;14: Link_Layer_buffer_overrun\;15: Down_by_outband_command_with_healthy_link\;16: Down_by_outband_command_for_link_with_hi_ber\;17: Down_by_inband_command_with_healthy_link\;18: Down_by_inband_command_for_link_with_hi_ber\;19: Down_by_verification_GW\;20: Received_Remote_Fault \;21: Received_TS1\;22: Down_by_management_command\;23: Cable_was_unplugged\;24: Cable_access_issue \;25: Cable_Thermal_shutdown \;26: Current_issue \;27: Power_budget\;28: Fast_recovery_raw_ber\;29: Fast_recovery_effective_ber\;30: Fast_recovery_symbol_ber\;31: Fast_recovery_credit_watchdog\;32: Peer_side_down_to_sleep_state\;33: Peer_side_down_to_disable_state\;34: Peer_side_down_to_disable_and_port_lock\;35: Peer_side_down_due_to_thermal_event\;36: Peer_side_down_due_to_force_event\;37: Peer_side_down_due_to_reset_event\;38: Reset_no_power_cycle\;39: Fast_recovery_tx_plr_trigger\;40: Down_due_to_HW_force_event\;42: L1_exit_failure\;43: too_many_link_error_recoveries\;44: Down_due_to_contain_mode\;45: BW_loss_threshold_exceeded\;46: ELS_laser_fault\;47: Hi_SER\;48: down_by_nmx_adminstate_cmd\;49: flua_ber_below_threshold_in_guard_time\;50: Received_Local_Fault \;51: Received_Link_Interruption\;52: Manual_debug_mode\;53: command_triggered_recovery\;58: Recovery_BW_loss_threshold_exceeded\;59: Peer_side_down_due_to_contain_mode\;60: module_unexpected_reset_or_low_power\;61: Down_due_to_contain_mode_rx\;62: Down_due_to_contain_mode_tx" access="RO" offset="0x8.0" size="0x0.8" />
	<field name="e2e_reason_opcode" descr="see local_reason_opcode for local reason opcode\;for remote reason opcode: local_reason_opcode+100" access="RO" offset="0xC.0" size="0x0.8" />
	<field name="ts1_opcode" descr="TS1 opcode describes the reason the peer requested to ramp down the link:\;0x8: TS1.Sleep\;0x9: TS1.Disable\;0xA: TS1.PortLock\;0xB: TS1.Thermal\;0xC: TS1.Clean \;0xD  : TS1.Force\;0xE: TS1.reset_req\;\;Note: This field is valid in case the local_reason_opcode = 21 or 32-38" access="RO" offset="0xC.12" size="0x0.4" />
	<field name="l1_failure_reason" descr="0: no_info_or_no_l1_failure\;1: HW_timeout\;2: FW_timeout\;3: Recovery_failure" access="RO" offset="0xC.16" size="0x0.4" />
	<field name="last_recovery_state" descr="last unsucsessful recovery event state\;0: no_info\;1: Retrain - no local receiver lock\;2: WaitRMT - local receiver locked, peer not locked\;3: IDLE - both local and remote trasmitter locked" access="RO" offset="0xC.20" size="0x0.4" />
	<field name="num_of_symbol_ber_alarms" descr="Number of Symbol BER Windows that crossed alarm threshold" access="RO" offset="0x10.0" size="0x0.16" />
	<field name="last_raw_ber_magnitude" descr="Last raw BER window calculated.\;\;Raw_BER = raw_ber_coef*10^(-raw_ber_magnitude)" access="RO" offset="0x10.16" size="0x0.8" />
	<field name="last_raw_ber_coef" descr="Last raw BER window calculated.\;\;Raw_BER = raw_ber_coef*10^(-raw_ber_magnitude)" access="RO" offset="0x10.24" size="0x0.4" />
	<field name="cons_raw_norm_ber" descr="Number of last consecutive normal Raw BER windows" access="RO" offset="0x10.28" size="0x0.4" />
	<field name="max_raw_ber_magnitude" descr="Maximal raw BER window calculated.\;\;Raw_BER = raw_ber_coef*10^(-raw_ber_magnitude)\;" access="RO" offset="0x14.0" size="0x0.8" />
	<field name="max_raw_ber_coef" descr="Maximal raw BER window calculated.\;\;Raw_BER = raw_ber_coef*10^(-raw_ber_magnitude)\;" access="RO" offset="0x14.8" size="0x0.4" />
	<field name="min_raw_ber_magnitude" descr="Minimal raw BER window calculated.\;\;Raw_BER = raw_ber_coef*10^(-raw_ber_magnitude)\;" access="RO" offset="0x14.16" size="0x0.8" />
	<field name="min_raw_ber_coef" descr="Minimal raw BER window calculated.\;\;Raw_BER = raw_ber_coef*10^(-raw_ber_magnitude)\;" access="RO" offset="0x14.24" size="0x0.4" />
	<field name="num_of_raw_ber_alarms" descr="Number of Raw BER Windows that crossed alarm threshold\;" access="RO" offset="0x18.0" size="0x0.16" />
	<field name="num_of_eff_ber_alarms" descr="Number of Effective BER Windows that crossed alarm threshold\;" access="RO" offset="0x18.16" size="0x0.16" />
	<field name="time_to_link_down_to_disable" descr="Time in msec to link down to disable state, once a paos down is set or a link down event occurs.\;If the phy manager state is different then disable the timer will return 0." access="RO" offset="0x1C.0" size="0x4.0" />
	<field name="time_to_link_down_to_rx_loss" descr="Time in msec to link down to rx disable state, once a link down event occurs.\;If the phy manager state is different then rx disable the timer will return 0.\;" access="RO" offset="0x20.0" size="0x4.0" />
	<field name="min_eff_ber_magnitude" descr="Minimal effective BER window calculated.\;\;Effective_BER = eff_ber_coef*10^(-eff_ber_magnitude)" access="RO" offset="0x24.0" size="0x0.8" />
	<field name="min_eff_ber_coef" descr="Minimal effective BER window calculated.\;\;Effective_BER = eff_ber_coef*10^(-eff_ber_magnitude)" access="RO" offset="0x24.8" size="0x0.4" />
	<field name="last_eff_ber_magnitude" descr="Last effective BER window calculated.\;\;Effective_BER = eff_ber_coef*10^(-eff_ber_magnitude)" access="RO" offset="0x24.16" size="0x0.8" />
	<field name="last_eff_ber_coef" descr="Last effective BER window calculated.\;\;Effective_BER = eff_ber_coef*10^(-eff_ber_magnitude)" access="RO" offset="0x24.24" size="0x0.4" />
	<field name="cons_eff_norm_ber" descr="Number of last consecutive normal Effective BER windows" access="RO" offset="0x24.28" size="0x0.4" />
	<field name="max_eff_ber_magnitude" descr="Maximal effective BER window calculated.\;\;Effective_BER = eff_ber_coef*10^(-eff_ber_magnitude)" access="RO" offset="0x28.0" size="0x0.8" />
	<field name="max_eff_ber_coef" descr="Maximal effective BER window calculated.\;\;Effective_BER = eff_ber_coef*10^(-eff_ber_magnitude)" access="RO" offset="0x28.8" size="0x0.4" />
	<field name="max_symbol_ber_magnitude" descr="Maximal symbol BER window calculated.\;\;Effective_BER = symbol_ber_coef*10^(-symbol_ber_magnitude)" access="RO" offset="0x28.16" size="0x0.8" />
	<field name="max_symbol_ber_coef" descr="Maximal symbol BER window calculated.\;\;Effective_BER = symbol_ber_coef*10^(-symbol_ber_magnitude)" access="RO" offset="0x28.24" size="0x0.4" />
	<field name="cons_symbol_norm_ber" descr="Number of last consecutive normal Symbol BER windows" access="RO" offset="0x28.28" size="0x0.4" />
	<field name="min_symbol_ber_magnitude" descr="Minimal symbol BER window calculated.\;\;Effective_BER = symbol_ber_coef*10^(-symbol_ber_magnitude)" access="RO" offset="0x2C.0" size="0x0.8" />
	<field name="min_symbol_ber_coef" descr="Minimal symbol BER window calculated.\;\;Effective_BER = symbol_ber_coef*10^(-symbol_ber_magnitude)" access="RO" offset="0x2C.8" size="0x0.4" />
	<field name="last_symbol_ber_magnitude" descr="Last symbol BER window calculated.\;\;Effective_BER = symbol_ber_coef*10^(-symbol_ber_magnitude)" access="RO" offset="0x2C.16" size="0x0.8" />
	<field name="last_symbol_ber_coef" descr="Last symbol BER window calculated.\;\;Effective_BER = symbol_ber_coef*10^(-symbol_ber_magnitude)" access="RO" offset="0x2C.24" size="0x0.4" />
	<field name="hi_ser_counter" descr="Number of hi_ser events since last clear" access="RO" offset="0x30.0" size="0x0.8" />
	<field name="pcs_phy_state_latched" descr="PCS HW state on link-down, latched:\;Bits 0-7: Block lock (one bit per lane) - No FEC mode\;Bits 8-15: AM lock (one bit per lane) - RS FEC mode\;Bits 16-23: FEC lock (one bit per lane) - FC FEC mode\;Bit 24: Align_status\;Bit 25: Hi_BER\;Bit 26: Hi_SER\;Bits 30:27: Reserved\;Bit 31: Active. When set the value of the pcs_phy_state_latched is valid" access="RO" offset="0x34.0" size="0x4.0" />
</node>

<node name="pddr_link_partner_info_ext" descr="" size="0x30.0" >
	<field name="info_supported_mask" descr="bitmask for supported info\;0 - field info is not valid.\;1 - field info is valid.\;\;Bit 0: partner_local_port_supported\;Bit 1: partner_module_type_supported\;Bit 2: partner_id_lsb_supported\;Bit 4: peer_ga_id" access="RO" enum="partner_local_port_supported=0x1,partner_module_type_supported=0x2,partner_id_lsb_supported=0x4,peer_ga_id=0x10" offset="0x0.0" size="0x0.16" />
	<field name="partner_local_port" descr="local_port of link partner\;Valid only if bit 0 is set in info_supported_mask" access="RO" offset="0x4.0" size="0x0.10" />
	<field name="partner_module_type" descr="module type of link partner.\;Module type connected:\;0: undefined\;1: Active_Optical_or_Copper_Cable\;2: Active_Optical_Transceiver\;3: Passive_Copper_cable\;5: Twisted_pair\;6: Far_End_Linear_Equalizer_Cable\;7: Linear_Optical_Transceiver - (Direct Drive)\;8: CPO\;9: Near_end_linear_equalizer_cable\;10: Fully_linear_equalizer_cable\;11: Half_retimed_tx_optical_transceiver\;\;Valid only if bit 1 is set in info_supported_mask" access="RO" enum="undefined=0x0,Active_Optical_or_Copper_Cable=0x1,Active_Optical_Transceiver=0x2,Passive_Copper_cable=0x3,Twisted_pair=0x5,Far_End_Linear_Equalizer_Cable=0x6,Linear_Optical_Transceiver=0x7,CPO=0x8,Near_end_linear_equalizer_cable=0x9,Fully_linear_equalizer_cable=0xa,Half_retimed_tx_optical_transceiver=0xb" offset="0x8.0" size="0x0.4" />
	<field name="peer_ga_id" descr="Valid only if Bit 4 is set in info_supported_mask.\;Indicates the peer port Geographical Adress (GA) OR Module ID in GPU case" access="RO" offset="0x8.16" size="0x0.8" />
	<field name="partner_id_lsb" descr="24 lsb bits of link partner unique ID:\;GUID IB InfiniBand links\;MAC in Ethernet links\;Valid only if bit 2 is set in info_supported_mask" access="RO" offset="0x10.0" size="0x0.24" />
</node>

<node name="pddr_link_up_info_page_ext" descr="" size="0xf8.0" >
	<field name="up_reason_mng" descr="invalid port access severity\;0 - No down command / unknown\;1 - BMC force linkup\;2 - WOL force linkup\;\;3 - ASN.1 force link up" access="RO" offset="0x0.0" size="0x0.4" />
	<field name="up_reason_drv" descr="invalid port access severity\;0 - No down command / unknown\;1 - Up by at least one of the hosts" access="RO" offset="0x0.8" size="0x0.4" />
	<field name="up_reason_pwr" descr="invalid port access severity\;0 - No down command / unknown\;1 - Keep link up on boot \;2 - Keep link up Eth/IB\;3 - Keep link up on standby" access="RO" offset="0x0.16" size="0x0.4" />
	<field name="time_to_link_up" descr="Time in msec to link up from disable until phy up state.\;While the phy manager did not reach phy up state the timer will return 0.\;The timer resets to 0 in one of the following cases:\;1. When moving to disable or rx disable state.\;2. When moving from active or phy up to polling state, while working at force mode." access="RO" offset="0x4.0" size="0x4.0" />
	<field name="fast_link_up_status" descr="Indicates if fast link-up was performed in the link: \;0: Unknown\;1: Fast Link-UP was performed. \;2: Regular link-up flow was performed due to changes in cable\;3: Regular link-up flow was performed due to changes in protocol (speed or FEC)\;4: Regular link-up flow was performed due to a non-fastbootable FW version (PCNR is not supported)\;5: Regular link-up performed due to MLPN flow\;6: Regular link-up performed due to PCNR.tuning_override configuration while port was in &quot;down&quot; state.\;7: Invalid fastboot data struct (0xCAFECAFE magic value is not present. For example, SW reset was executed before finish saving data during PCNR flow)\;8: fast link-up timeout\;9: fast link-up flaps issue\;10: fast link-up failed during link-up" access="RO" offset="0x8.0" size="0x0.4" />
	<field name="time_to_link_up_phy_up_to_active" descr="Ethernet:\;Time in msec to link up from phy up until active state.\;While the phy manager did not reach active state the timer will return 0.\;The timer resets to 0 in one of the following cases:\;1. When moving to disable or rx disable state.\;2. When moving from active or phy up to polling state, while working at force mode.\;IB:\;Time in msec from entering recovery state until back to Active state in case of successful recovery" access="RO" offset="0xC.0" size="0x4.0" />
	<field name="time_to_link_up_sd_to_phy_up" descr="Ethernet only\;Time in msec to link up from signal detect until phy up state.\;While the phy manager did not reach phy up state the timer will return 0.\;The timer resets to 0 in one of the following cases:\;1. When moving to disable or rx disable state.\;2. When moving from active or phy up to polling state, while working at force mode." access="RO" offset="0x10.0" size="0x4.0" />
	<field name="time_to_link_up_disable_to_sd" descr="Ethernet:\;Time in msec to link up from disable until signal detect state.\;While the phy manager did not reach signal detect state the timer will return 0.\;The timer resets to 0 in one of the following cases:\;1. When moving to disable or rx disable state.\;2. When moving from active or phy up to polling state, while working at force mode.\; IB:\;Time in msec to link up from disable until partner is detected (exit of Signal detect/receiver detect states)." access="RO" offset="0x14.0" size="0x4.0" />
	<field name="time_to_link_up_disable_to_pd" descr="Ethernet only\;Time in msec to link up from disable until protocol detect state.\;While the phy manager did not reach protocol detect state the timer will return 0.\;The timer resets to 0 in one of the following cases:\;1. When moving to disable or rx disable state.\;2. When moving from active or phy up to polling state, while working at force mode.\;" access="RO" offset="0x18.0" size="0x4.0" />
	<field name="time_of_module_conf_done_up" descr="Time in msec of phy2mod command response of module conf done in port up case" access="RO" offset="0x1C.0" size="0x4.0" />
	<field name="time_of_module_conf_done_down" descr="Time in msec of phy2mod command response of module conf done in port down case" access="RO" offset="0x20.0" size="0x4.0" />
	<field name="time_logical_init_to_active" descr="Time in mSec that it takes for the port logical state to transition from init to an active state.\;The timer reset to 0 ONLY when the logical port state goes down." access="RO" offset="0x24.0" size="0x4.0" />
	<field name="total_time_pcs_local_fault" descr="Total time in sec of PCS state of Local Fault" access="RO" offset="0x28.0" size="0x4.0" />
	<field name="total_time_pcs_remote_fault" descr="Total time in sec of PCS state of Remote Fault" access="RO" offset="0x2C.0" size="0x4.0" />
	<field name="time_on_last_hi_ser" descr="Time duration of last hi_ser event.\;value reset every new hi_ser event." access="RO" offset="0x30.0" size="0x4.0" />
	<field name="last_phy_data_groups_collection_time" descr="Duration of last phy data collection period conducted by FW Phy following a single timeline event trigger. This indicates the overall duration it took to complete the FW Phy data collection thread.\;\;Value is reset every new data collection trigger. If in the last trigger there was no requirement to collect FW Phy data field should return 0.\;\;Value is in units of 1 [msec]" access="RO" offset="0x34.0" size="0x0.16" />
	<field name="last_data_groups_collection_time" descr="Duration of last data collection period conducted by FW Phy following a single timeline event trigger. This indicates the overall duration it took to complete all different collection threads.\;\;Value is reset every new data collection trigger.\;\;Value is in units of 1 [msec]" access="RO" offset="0x34.16" size="0x0.16" />
	<field name="last_module_data_groups_collection_time" descr="Duration of last module data collection period conducted by FW Phy following a single timeline event trigger. This indicates the overall duration it took to complete the System Module data collection thread.\;\;Value is reset every new data collection trigger. If in the last trigger there was no requirement to collect module data field should return 0.\;\;Value is in units of 1 [msec]" access="RO" offset="0x38.0" size="0x0.16" />
	<field name="last_serdes_data_groups_collection_time" descr="Duration of last SerDes data collection period conducted by FW Phy following a single timeline event trigger. This indicates the overall duration it took to complete the FW Serdes data collection thread.\;\;Value is reset every new data collection trigger. If in the last trigger there was no requirement to collect UPHY data field should return 0.\;\;Value is in units of 1 [msec]" access="RO" offset="0x38.16" size="0x0.16" />
</node>

<node name="pddr_module_info_ext" descr="" size="0xd0.0" >
	<field name="ethernet_compliance_code" descr="QSFP:\;Ethernet Compliance Codes bit mask (10/40G/100G)\;Byte131 per SFF-8636 \;Bit 7 - Extended Specification Compliance valid\;Bit 6 - 10GBASE-LRM\;Bit 5 - 10GBASE-LR\;Bit 4 - 10GBASE-SR\;Bit 3 - 40GBASE-CR4\;Bit 2 - 40GBASE-SR4\;Bit 1 - 40GBASE-LR4\;Bit 0 - 40G Active Cable (XLPPI)\;\;SFP: \;10G Ethernet Compliance Codes\;Byte3 per SFF-8472:\;Bit 7 - 10G Base-ER \;Bit 6 - 10G Base-LRM \;Bit 5 - 10G Base-LR \;Bit 4 - 10G Base-SR\;\;CMIS based (QSFP-DD/ SFP-DD / OSFP/OE)\;Byte 87 - Module Media Interface" access="RW" offset="0x0.0" size="0x0.8" />
	<field name="ext_ethernet_compliance_code" descr="Extended Specification Compliance Codes \;for SFP:\;byte 36 per SFF-8472\;\;for QSFP:\;byte192 per SFF-8636 (QSFP28) \;\;for CMIS (SFP-DD / QSFP-DD/ OSFP/OE):\;Byte 86 - Host Electrical Interface" access="RW" offset="0x0.8" size="0x0.8" />
	<field name="cable_breakout" descr="Reserved for SFP. \;\;For QSFP:\;Byte113 per SFF-8636\;\;For CMIS based modules:\;\;XX naming is according to cable_identifier name\;For example: if cable_identifier = ,6 XX string is QSFP-DD\;\;0 - Unspecified\;1 - XX to XX\;2 - XX to 2xQSFP or 2xXX (depopulated / 4 lanes)\;3 - XX to 4xDSFP or 4xQSFP (depopulated / 2 lanes)\;4 - XX to 8xSFP\;5 - XX (depopulated / 4 lanes) to QSFP or XX (depopulated / 4 lanes)\;6 - XX (depopulated / 4 lanes) to 2xXX(depopulated / 2 lanes) or 2xSFP-DD\;7 - XX (depopulated / 4 lanes) to 4xSFP\;8 - XX(/ 2 lane module) to XX\;9 - XX(/ 2 lane module) to 2xSFP" access="RW" offset="0x0.16" size="0x0.8" />
	<field name="cable_technology" descr="QSFP: \;Byte 147 per SFF-8636.\;\;SFP:\;SFP+ Cable Technology: \;byte8 per SFF-8472:\;Bit 3 - Active Cable\;Bit 2 - Passive Cable\;\;CMIS based (QSFP-DD / OSFP/ SFP-DD/OE):\;Byte 212\;\;0x00: VCSEL_850nm\;0x01: VCSEL_1310nm\;0x02: VCSEL_1550nm\;0x03: FP_laser_1310nm\;0x04: DFB_laser_1310nm\;0x05: DFB_laser_1550nm\;0x06: EML_1310nm\;0x07: EML_1550nm\;0x08: others\;0x09: DFB_laser_1490nm\;0x0a: Passive_copper_cable_unequalized\;0x0b: Passive_copper_cable_equalized\;0x0c: Copper_cable_near_end_and_far_end_limiting_active_equailizer\;0x0d: Copper_cable_far_end_limiting_active_equailizer\;0x0e: Copper_cable_near_end_limiting_active_equializer\;0x0f: Copper_cable_linear_active_equalizers\;0x10: c_band_tunable_laser\;0x11: l_band_tunable_laser\;0x12: Copper_cable_near_end_and_far_end_linear_active_equalizers\;0x13: Copper_cable_far_end_linear_active_equalizers\;0x14:Copper_cable_near_end_linear_active_equalizers\;\;note - passive copper = 0xb\;Linear coppers = 0xF or 0x12 or 0x13 or 0x14" access="RW" enum="VCSEL_850nm=0x0,VCSEL_1310nm=0x1,VCSEL_1550nm=0x2,FP_laser_1310nm=0x3,DFB_laser_1310nm=0x4,DFB_laser_1550nm=0x5,EML_1310nm=0x6,EML_1550nm=0x7,others=0x8,DFB_laser_1490nm=0x9,Passive_copper_cable_unequalized=0xa,Passive_copper_cable_equalized=0xb,Copper_cable_near_end_and_far_end_limiting_active_equailizer=0xc,Copper_cable_far_end_limiting_active_equailizer=0xd,Copper_cable_near_end_limiting_active_equializer=0xe,Copper_cable_linear_active_equalizers=0xf,c_band_tunable_laser=0x10,l_band_tunable_laser=0x11,Copper_cable_near_end_and_far_end_linear_active_equalizers=0x12,Copper_cable_far_end_linear_active_equalizers=0x13,Copper_cable_near_end_linear_active_equalizers=0x14" offset="0x0.24" size="0x0.8" />
	<field name="cable_power_class" descr="Module maximum power consumption for SFP/QSFP:\;0: Power_Class_0 - (1.0 W max)\;1: Power_Class_1 - (1.5 W max)\;2: Power_Class_2 - (2.0 W max)\;3: Power_Class_3 - (2.5 W max)\;4: Power_Class_4 - (3.5 W max)\;5: Power_Class_5 - (4.0 W max)\;6: Power_Class_6 - (4.5 W max)\;7: Power_Class_7 - (5.0 W max)\;8: Power_Class_8 - (power from max_power field)\;\;Module maximum power consumption for SFP-DD:\;0: Power_Class_0 - (0.5 W max)\;1: Power_Class_1 - (1.0 W max)\;2: Power_Class_2 - (1.5 W max)\;3: Power_Class_3 - (2.0 W max)\;4: Power_Class_4 - (3.5 W max)\;5: Power_Class_5 - (5.0 W max)\;6: reserved\;7: reserved\;8: Power_Class_8 - (power from max_power field)\;\;Module maximum power consumption for QSFP-DD/OSFP:\;1 - Power_Class_1 - (1.5 W max)\;2 - Power_Class_2 - (3.5 W max)\;3 - Power_Class_3 - (7.0 W max)\;4 - Power_Class_4 - (8.0 W max)\;5 - Power_Class_5 - (10 W max)\;6 - Power_Class_6 - (12 W max)\;7 - Power_Class_7 - (14 W max)\;8 - Power_Class_8 - (power from max_power field)" access="RO" offset="0x4.0" size="0x0.8" />
	<field name="cable_identifier" descr="0: QSFP28\;1: QSFP_Plus\;2: SFP28_or_SFP_Plus\;3: QSA - (QSFP-&gt;SFP)\;4: Backplane\;5: SFP_DD\;6: QSFP_DD\;7: QSFP_CMIS\;8: OSFP\;9: C2C\;10: DSFP\;11: QSFP_Split_Cable\;12: CPO\;13: OE\;14: ELS\;\;identifiers that are CMIS compliant are: 5,6,7,8,10" access="RO" offset="0x4.8" size="0x0.8" />
	<field name="cable_length" descr="Cable length in 1m units.\;\;For CMIS modules:\;bits 6:7 represent cable_length_multiplier for calculating cable length\;00 - 0.1 multiplier (0.1 to 6.3m)\;01- 1 multiplier (1 to 63m)\;10 - 10 multiplier (10 to 630m)\;11 - 100 multiplier (100 to 6300m)\;\;bits 0:5 represent cable_length_value for calculating cable length.\;length is calculated with cable_length_value * cable_length_multiplier" access="RO" offset="0x4.16" size="0x0.8" />
	<field name="cable_vendor" descr="Cable vendor:\;0: Other\;1: Mellanox\;2: Known_OUI\;3: NVIDIA\;" access="RO" enum="Other=0x0,Mellanox=0x1,Known_OUI=0x2,NVIDIA=0x3" offset="0x4.24" size="0x0.4" />
	<field name="cable_type" descr="Cable/module type:\;0: Unidentified\;1: Active_cable - (active copper / optics)\;2: Optical_Module - (separated)\;3: Passive_copper_cable_or_linear_copper - for distinguishing passive copper and linear copper see cable_technology\;4: Cable_unplugged\;5: Twisted_pair\;6: CPO\;7: OE\;8: ELS\;" access="RO" enum="Unidentified=0x0,Active_cable=0x1,Optical_Module=0x2,Passive_copper_cable_or_linear_copper=0x3,Cable_unplugged=0x4,Twisted_pair=0x5,CPO=0x6,OE=0x7,ELS=0x8" offset="0x4.28" size="0x0.4" />
	<field name="cable_tx_equalization" descr="" access="RO" offset="0x8.0" size="0x0.8" />
	<field name="cable_rx_emphasis" descr="For CMIS (QSFP-DD/ SFP-DD/ OSFP) field will represent Rx pre-emphasis." access="RO" offset="0x8.8" size="0x0.8" />
	<field name="cable_rx_amp" descr="Reserved for SFP\;" access="RO" offset="0x8.16" size="0x0.8" />
	<field name="max_power" descr="Reserved for SFP, QSFP\;Byte 201 for CMIS (QSFP-DD/ SFP-DD/ OSFP/ELS/OE)\;Other Cable ignore field." access="RO" offset="0x8.24" size="0x0.8" />
	<field name="cable_attenuation_5g" descr="Reserved for SFP" access="RO" offset="0xC.0" size="0x0.8" />
	<field name="cable_attenuation_7g" descr="Reserved for SFP" access="RO" offset="0xC.8" size="0x0.8" />
	<field name="cable_attenuation_12g" descr="Reserved for SFP" access="RO" offset="0xC.16" size="0x0.8" />
	<field name="cable_attenuation_25g" descr="Valid only for CMIS (QSFP-DD/ SFP-DD/ OSFP)\;Other Cable ignore field." access="RO" offset="0xC.24" size="0x0.8" />
	<field name="tx_cdr_state" descr="Reserved for SFP\;\;Bit 0 - TX CDR on/off on channel 0 \;Bit 1 - TX CDR on/off on channel 1 \;Bit 2 - TX CDR on/off on channel 2 \;Bit 3 - TX CDR on/off on channel 3 \;Bit 4 - TX CDR on/off on channel 4 \;Bit 5 - TX CDR on/off on channel 5 \;Bit 6 - TX CDR on/off on channel 6 \;Bit 7 - TX CDR on/off on channel 7 \;\;CDR on - when bit is set.\;CDR off - when bit is clear.\;" access="RO" offset="0x10.0" size="0x0.8" />
	<field name="rx_cdr_state" descr="Reserved for SFP\;\;Bit 0 - RX CDR on/off on channel 0 \;Bit 1 - RX CDR on/off on channel 1 \;Bit 2 - RX CDR on/off on channel 2 \;Bit 3 - RX CDR on/off on channel 3\;Bit 4 - RX CDR on/off on channel 4 \;Bit 5 - RX CDR on/off on channel 5 \;Bit 6 - RX CDR on/off on channel 6 \;Bit 7 - RX CDR on/off on channel 7 \;\;CDR on - when bit is set.\;CDR off - when bit is clear.\;" access="RO" offset="0x10.8" size="0x0.8" />
	<field name="tx_cdr_cap" descr="0 - No CDR\;1 - Build-in CDR with on/off control \;2 - Build-in CDR without on/off control" access="RO" offset="0x10.16" size="0x0.4" />
	<field name="rx_cdr_cap" descr="0 - No CDR\;1 - Build-in CDR with on/off control \;2 - Build-in CDR without on/off control" access="RO" offset="0x10.20" size="0x0.4" />
	<field name="cable_rx_post_emphasis" descr="Valid only for CMIS (QSFP-DD/ SFP-DD/ OSFP)\;Rx post-emphasis." access="RO" offset="0x10.24" size="0x0.8" />
	<field name="vendor_name" descr="ASCII Vendor name left-aligned and padded on the right with\;ASCII spaces (20h)" access="RO" high_bound="3" low_bound="0" offset="0x14.0" size="0x10.0" />
	<field name="vendor_pn" descr="Vendor Part Number left-aligned and padded on the right with ASCII spaces (20h)" access="RO" high_bound="3" low_bound="0" offset="0x24.0" size="0x10.0" />
	<field name="vendor_rev" descr="ASCII Vendor revision aligned to right padded with 0h on the left" access="RO" offset="0x34.0" size="0x4.0" />
	<field name="fw_version" descr="If information is not available by the module: set to 0" access="RO" offset="0x38.0" size="0x4.0" />
	<field name="vendor_sn" descr="Vendor Serial Number" access="RO" high_bound="3" low_bound="0" offset="0x3C.0" size="0x10.0" />
	<field name="voltage" descr="U16 Supply Voltage Monitor as defined in SFF-8636/CMIS.\;Internally measured supply voltage in 100uV" access="RO" offset="0x4C.00" size="0x0.16" />
	<field name="temperature" descr="S16 Module Temperature Monitor as defined in SFF-8636/CMIS.\;module temperature in 1/256 C\;Value of 0 may indicate not supported or real temperature value." access="RO" offset="0x4C.16" size="0x0.16" />
	<field name="rx_power_lane1" descr="RX measured power channel 1.\;measured in dBm/uW according to module_info_ext value" access="RO" offset="0x50.0" size="0x0.16" />
	<field name="rx_power_lane0" descr="RX measured power channel 0.\;measured in dBm/uW according to module_info_ext value" access="RO" offset="0x50.16" size="0x0.16" />
	<field name="rx_power_lane3" descr="RX measured power channel 3.\;measured in dBm/uW according to module_info_ext value" access="RO" offset="0x54.0" size="0x0.16" />
	<field name="rx_power_lane2" descr="RX measured power channel 2.\;measured in dBm/uW according to module_info_ext value" access="RO" offset="0x54.16" size="0x0.16" />
	<field name="rx_power_lane5" descr="RX measured power channel 5.\;measured in dBm/uW according to module_info_ext value" access="RO" offset="0x58.0" size="0x0.16" />
	<field name="rx_power_lane4" descr="RX measured power channel 4.\;measured in dBm/uW according to module_info_ext value" access="RO" offset="0x58.16" size="0x0.16" />
	<field name="rx_power_lane7" descr="RX measured power channel 7.\;measured in dBm/uW according to module_info_ext value" access="RO" offset="0x5C.0" size="0x0.16" />
	<field name="rx_power_lane6" descr="RX measured power channel 6.\;measured in dBm/uW according to module_info_ext value" access="RO" offset="0x5C.16" size="0x0.16" />
	<field name="tx_power_lane1" descr="TX measured power channel 1.\;measured in dBm/uW according to module_info_ext value" access="RO" offset="0x60.0" size="0x0.16" />
	<field name="tx_power_lane0" descr="TX measured power channel 0.\;measured in dBm/uW according to module_info_ext value" access="RO" offset="0x60.16" size="0x0.16" />
	<field name="tx_power_lane3" descr="TX measured power channel 3.\;measured in dBm/uW according to module_info_ext value" access="RO" offset="0x64.0" size="0x0.16" />
	<field name="tx_power_lane2" descr="TX measured power channel 2.\;measured in dBm/uW according to module_info_ext value" access="RO" offset="0x64.16" size="0x0.16" />
	<field name="tx_power_lane5" descr="TX measured power channel 5.\;measured in dBm/uW according to module_info_ext value" access="RO" offset="0x68.0" size="0x0.16" />
	<field name="tx_power_lane4" descr="TX measured power channel 4.\;measured in dBm/uW according to module_info_ext value" access="RO" offset="0x68.16" size="0x0.16" />
	<field name="tx_power_lane7" descr="TX measured power channel 7.\;measured in dBm/uW according to module_info_ext value" access="RO" offset="0x6C.0" size="0x0.16" />
	<field name="tx_power_lane6" descr="TX measured power channel 6.\;measured in dBm/uW according to module_info_ext value" access="RO" offset="0x6C.16" size="0x0.16" />
	<field name="tx_bias_lane1" descr="TX measured bias current on channel [i] in 2uA unit.\;\;The real sample value in uA units should be calculated as follows:\;tx_bias_lane[i] * 2 * tx_bias_scaling_factor[enum_value]" access="RO" offset="0x70.0" size="0x0.16" />
	<field name="tx_bias_lane0" descr="TX measured bias current on channel [i] in 2uA unit.\;\;The real sample value in uA units should be calculated as follows:\;tx_bias_lane[i] * 2 * tx_bias_scaling_factor[enum_value]" access="RO" offset="0x70.16" size="0x0.16" />
	<field name="tx_bias_lane3" descr="TX measured bias current on channel [i] in 2uA unit.\;\;The real sample value in uA units should be calculated as follows:\;tx_bias_lane[i] * 2 * tx_bias_scaling_factor[enum_value]" access="RO" offset="0x74.0" size="0x0.16" />
	<field name="tx_bias_lane2" descr="TX measured bias current on channel [i] in 2uA unit.\;\;The real sample value in uA units should be calculated as follows:\;tx_bias_lane[i] * 2 * tx_bias_scaling_factor[enum_value]" access="RO" offset="0x74.16" size="0x0.16" />
	<field name="tx_bias_lane5" descr="TX measured bias current on channel [i] in 2uA unit.\;\;The real sample value in uA units should be calculated as follows:\;tx_bias_lane[i] * 2 * tx_bias_scaling_factor[enum_value]" access="RO" offset="0x78.0" size="0x0.16" />
	<field name="tx_bias_lane4" descr="TX measured bias current on channel [i] in 2uA unit.\;\;The real sample value in uA units should be calculated as follows:\;tx_bias_lane[i] * 2 * tx_bias_scaling_factor[enum_value]" access="RO" offset="0x78.16" size="0x0.16" />
	<field name="tx_bias_lane7" descr="TX measured bias current on channel [i] in 2uA unit.\;\;The real sample value in uA units should be calculated as follows:\;tx_bias_lane[i] * 2 * tx_bias_scaling_factor[enum_value]" access="RO" offset="0x7C.0" size="0x0.16" />
	<field name="tx_bias_lane6" descr="TX measured bias current on channel [i] in 2uA unit.\;\;The real sample value in uA units should be calculated as follows:\;tx_bias_lane[i] * 2 * tx_bias_scaling_factor[enum_value]" access="RO" offset="0x7C.16" size="0x0.16" />
	<field name="temperature_low_th" descr="Alarm low temperature threshold in 1/256 C" access="RO" offset="0x80.0" size="0x0.16" />
	<field name="temperature_high_th" descr="Alarm high temperature threshold in 1/256 C" access="RO" offset="0x80.16" size="0x0.16" />
	<field name="voltage_low_th" descr="Alarm low Voltage threshold in 100uV" access="RO" offset="0x84.0" size="0x0.16" />
	<field name="voltage_high_th" descr="Alarm high Voltage threshold in 100uV" access="RO" offset="0x84.16" size="0x0.16" />
	<field name="rx_power_low_th" descr="Alarm low RX Power threshold in dBm. \;Taking only from channel 0." access="RO" offset="0x88.0" size="0x0.16" />
	<field name="rx_power_high_th" descr="Alarm high RX Power threshold in dBm. \;Taking only from channel 0." access="RO" offset="0x88.16" size="0x0.16" />
	<field name="tx_power_low_th" descr="Alarm low TX Power threshold in dBm. \;Taking only from channel 0." access="RO" offset="0x8C.0" size="0x0.16" />
	<field name="tx_power_high_th" descr="Alarm high TX Power threshold in dBm. \;Taking only from channel 0." access="RO" offset="0x8C.16" size="0x0.16" />
	<field name="tx_bias_low_th" descr="Alarm low TX Bias current threshold in 2 uA. \;\;The real threshold value in uA units should be calculated as follows:\;tx_bias_high_th * 2 * tx_bias_scaling_factor[enum_value]" access="RO" offset="0x90.0" size="0x0.16" />
	<field name="tx_bias_high_th" descr="Alarm high TX Bias current threshold in 2 uA.\;\;The real threshold value in uA units should be calculated as follows:\;tx_bias_high_th * 2 * tx_bias_scaling_factor[enum_value]" access="RO" offset="0x90.16" size="0x0.16" />
	<field name="wavelength" descr="Nominal laser wavelength in nm" access="RO" offset="0x94.0" size="0x0.16" />
	<field name="smf_length" descr="SMF link length\;SFP per byte 14,15.\;QSFP per byte 142\;for CMIS based modules, per byte 132\;\;bit 9:8 - 00 length base in 1 km units\;bit 9:8 - 01 length base in 100m units\;bits 7:0 - length base" access="RO" offset="0x94.16" size="0x0.10" />
	<field name="rx_output_valid_cap" descr="when set, indicates rx_output_valid is supported by the module" access="RW" offset="0x94.26" size="0x0.1" />
	<field name="did_cap" descr="set in case of Linear Direct Drive module" access="RO" offset="0x94.27" size="0x0.1" />
	<field name="rx_power_type" descr="rx power measurement type\;0: OMA\;1: Average_power" access="RO" enum="OMA=0x0,Average_power=0x1" offset="0x94.28" size="0x0.1" />
	<field name="module_st" descr="Valid for CMIS modules only.\;Module state:\;0: reserved\;1: LowPwr_state\;2: PwrUp_state\;3: Ready_state\;4: PwrDn_state\;5: Fault_state" access="RO" enum="reserved=0x0,LowPwr_state=0x1,PwrUp_state=0x2,Ready_state=0x3,PwrDn_state=0x4,Fault_state=0x5" offset="0x94.29" size="0x0.3" />
	<field name="ib_compliance_code" descr="Byte 164 of SFF-8636\;For CMIS modules IB Protocols:\;Bit 0: SDR\;Bit 1: DDR\;Bit 2: QDR\;Bit 3: FDR10\;Bit 4: FDR\;Bit 5: EDR\;Bit 6: HDR\;Bit 7: NDR\;Bit 8: XDR" access="RO" enum="SDR=0x1,DDR=0x2,QDR=0x4,FDR10=0x8,FDR=0x10,EDR=0x20,HDR=0x40,NDR=0x80,XDR=0x100" offset="0x98.0" size="0x0.10" />
	<field name="tx_bias_scaling_factor" descr="Valid for CMIS modules only.\;This field is relevant for the following fields: tx_bias_lane[7:0], tx_bias_high_th and tx_bias_low_th.\;The value of the above fields should be multiplied according to the tx_bias_scaling_factor value.\;0: multiply_1x\;1: multiply_2x\;2: multiply_4x\;" access="RO" enum="multiply_1x=0x0,multiply_2x=0x1,multiply_4x=0x2" offset="0x98.10" size="0x0.2" />
	<field name="active_set_media_compliance_code" descr="Valid for CMIS modules only.\;According to current Active set, value of Module Media Interface byte" access="RO" offset="0x98.16" size="0x0.8" />
	<field name="active_set_host_compliance_code" descr="Valid for CMIS modules only.\;According to current Active set, value of Host Electrical Interface byte" access="RO" offset="0x98.24" size="0x0.8" />
	<field name="ib_width" descr="Bitmask of width of IB Protocols" access="RO" offset="0x9C.0" size="0x0.6" />
	<field name="monitor_cap_mask" descr="monitoring capabilities mask\;Bit 0 - temperature monitoring implemented\;Bit 1 - voltage monitoring implemented\;Bit 2 - tx power monitoring implemented\;Bit 3 - rx power monitoring implemented\;Bit 4 - tx bias monitoring implemented" access="RO" offset="0x9C.8" size="0x0.8" />
	<field name="nbr100" descr="Nominal bit rate in units of 100Mb/s" access="RO" offset="0x9C.16" size="0x0.8" />
	<field name="nbr250" descr="Nominal bit rate in units of 250Mb/s" access="RO" offset="0x9C.24" size="0x0.8" />
	<field name="dp_st_lane" descr="DataPath state for lane&lt;i&gt;\;1: DPDeactivated\;2: DPInit\;3: DPDeinit\;4: DPActivated\;5: DPTxTurnOn\;6: DPTxTurnOff\;7: DPInitialized" access="RO" enum="DPDeactivated=0x1,DPInit=0x2,DPDeinit=0x3,DPActivated=0x4,DPTxTurnOn=0x5,DPTxTurnOff=0x6,DPInitialized=0x7" high_bound="7" low_bound="0" offset="0xA0.28" size="0x4.0" />
	<field name="length_om5" descr="OM5 fiber length supported in units of 2m" access="RO" offset="0xA4.0" size="0x0.8" />
	<field name="length_om4" descr="OM4 fiber length supported in units of 2m\;SFP in units of 10m" access="RO" offset="0xA4.8" size="0x0.8" />
	<field name="length_om3" descr="OM3 fiber length supported in units of 2m\;SFP in units of 10m" access="RO" offset="0xA4.16" size="0x0.8" />
	<field name="length_om2" descr="OM2 fiber length supported in units of 1m\;SFP in units of 10m" access="RO" offset="0xA4.24" size="0x0.8" />
	<field name="memory_map_rev" descr="memory map revision" access="RO" offset="0xA8.0" size="0x0.8" />
	<field name="wavelength_tolerance" descr="16-bit integer value for the laser wavelength tolerance in nm divided by 200 (units of 0.005nm)." access="RO" offset="0xA8.8" size="0x0.16" />
	<field name="length_om1" descr="OM1 fiber length supported in units of 10m" access="RO" offset="0xA8.24" size="0x0.8" />
	<field name="memory_map_compliance" descr="memory map compliance in ASCII.\;SFF-8472 / SFF-8636/ CMIS" access="RO" offset="0xAC.0" size="0x4.0" />
	<field name="date_code" descr="ASCII code for vendor&apos;s date code.\;63:48- 2 digit for date code year, 00 = year 2000\;47:32 - 2 digit for date code month.\;31:16 - 2 digit for day of the month code.\;15:0 - 2 digit LOT code." subnode="uint64" access="RO" offset="0xB0.0" size="0x8.0" />
	<field name="vendor_oui" descr="vendor oui" access="RO" offset="0xB8.0" size="0x0.24" />
	<field name="connector_type" descr="connector type based on SFF-8024" access="RO" offset="0xB8.24" size="0x0.8" />
	<field name="rx_output_valid" descr="Rx output status indication per lane" access="RO" offset="0xBC.0" size="0x0.8" />
	<field name="cable_attenuation_53g" descr="cable attenuation at 53GHz" access="RO" offset="0xBC.8" size="0x0.8" />
	<field name="tx_input_freq_sync" descr="Defines which Tx input lanes must be frequency synchronous.\;0: Tx_input_lanes_1_8\;1: Tx_input_lanes_1_4_and_5-8\;2: Tx_input_lanes_1_2_and_3_4_and_5_6_and_7_8\;3: Lanes_may_be_asynchronous_in_frequency" access="RO" enum="Tx_input_lanes_1_8=0x0,Tx_input_lanes_1_4_and_5=0x1,Tx_input_lanes_1_2_and_3_4_and_5_6_and_7_8=0x2,Lanes_may_be_asynchronous_in_frequency=0x3" offset="0xBC.16" size="0x0.2" />
	<field name="event_logger_cap" descr="Module advertisement for NVDA event data collection logger" access="RO" offset="0xBC.19" size="0x0.1" />
	<field name="error_code" descr="Relevant for CMIS modules only.\;Error Code response for ControlSet configuration of DataPath.\;0x0: ConfigUndefined\;0x1: ConfigSuccess\;0x2: ConfigRejected\;0x3: ConfigRejectedInvalidAppSel\;0x4: ConfigRejectedInvalidDataPath\;0x5: ConfigRejectedInvalidSI\;0x6: ConfigRejectedLanesInUse\;0x7: ConfigRejectedPartialDataPath\;0xC: ConfigInProgress\;0xD: ConfigRejectedInvalid_VS_SI - NVIDIA vendor only" access="RO" enum="ConfigUndefined=0x0,ConfigSuccess=0x1,ConfigRejected=0x2,ConfigRejectedInvalidAppSel=0x3,ConfigRejectedInvalidDataPath=0x4,ConfigRejectedInvalidSI=0x5,ConfigRejectedLanesInUse=0x6,ConfigRejectedPartialDataPath=0x7,ConfigInProgress=0xc,ConfigRejectedInvalid_VS_SI=0xd" offset="0xC0.0" size="0x0.4" />
	<field name="cdr_vendor" descr="Relevant for CMIS modules only\;0x0: Unknown_or_no_CDR\;0x1: Inphy_gen1_polaris\;0x2: Inphy_gen2_Atlas\;0x3: Marvell_Spica_Plus\;0x4: Brdcm_Portofino_or_gemera\;0x5: Nvidia_ArcusE\;0x6: Marvell_nova2or_ara\;0x7: Macom_linear_equalizer\;0x8: Semec_linear_equalizer\;0x9: Marvel_linear_equalizer\;0xA: Marvel_spica_5nm\;0xB: luxic_linear_equalizer\;0xC: Broadcom_sian2_or_3\;0xD: Arcus2" access="RO" enum="Unknown_or_no_CDR=0x0,Inphy_gen1_polaris=0x1,Inphy_gen2_Atlas=0x2,Marvell_Spica_Plus=0x3,Brdcm_Portofino_or_gemera=0x4,Nvidia_ArcusE=0x5,Marvell_nova2or_ara=0x6,Macom_linear_equalizer=0x7,Semec_linear_equalizer=0x8,Marvel_linear_equalizer=0x9,Marvel_spica_5nm=0xa,luxic_linear_equalizer=0xb,Broadcom_sian2_or_3=0xc,Arcus2=0xd" offset="0xC0.4" size="0x0.4" />
	<field name="oe_fuse_rev" descr="Fuse revition for Optical Engine. Relevant for Taipan" access="RO" offset="0xC0.13" size="0x0.3" />
	<field name="max_fiber_length" descr="Maximum length of allowed fiber in meters" access="RO" offset="0xC0.16" size="0x0.16" />
	<field name="els_laser2_fault_state" descr="Relevant for CPO ETH switches. when 8x port split is applied, this fields represent the ELS laser with the higher logical mapping index. indicate the ELS laser fault:\;0: no_fault\;1: laser_fiber_contaminated\;2: laser_APC_fault\;3: laser_power_exceeded_allowed_range\;4: laser_power_subceeded_allowed_range\;5: laser_TEC_control_loop_fault\;6: laser_ramping_timeout_fault\;7: laser_power_tuning_fault" access="RO" enum="no_fault=0x0,laser_fiber_contaminated=0x1,laser_APC_fault=0x2,laser_power_exceeded_allowed_range=0x3,laser_power_subceeded_allowed_range=0x4,laser_TEC_control_loop_fault=0x5,laser_ramping_timeout_fault=0x6,laser_power_tuning_fault=0x7" offset="0xC4.10" size="0x0.3" />
	<field name="els_laser_fault_state" descr="indicate the ELS laser fault.\;0: no_fault\;1: laser_fiber_contaminated\;2: laser_APC_fault\;3: laser_power_exceeded_allowed_range\;4: laser_power_subceeded_allowed_range\;5: laser_TEC_control_loop_fault\;6: laser_ramping_timeout_fault\;7: laser_power_tuning_fault" access="RO" enum="no_fault=0x0,laser_fiber_contaminated=0x1,laser_APC_fault=0x2,laser_power_exceeded_allowed_range=0x3,laser_power_subceeded_allowed_range=0x4,laser_TEC_control_loop_fault=0x5,laser_ramping_timeout_fault=0x6,laser_power_tuning_fault=0x7" offset="0xC4.13" size="0x0.3" />
	<field name="els2_oper_state" descr="Relevant for CPO ETH switches. when 8x port split is applied, this fields represent the ELS laser with the higher logical mapping index. Indicates the ELS laser operative state:\;0: laser_init\;1: laser_active\;2: laser_active_with_fault\;3: laser_down\;4: laser_down_with_fault" access="RO" enum="laser_init=0x0,laser_active=0x1,laser_active_with_fault=0x2,laser_down=0x3,laser_down_with_fault=0x4" offset="0xC4.16" size="0x0.4" />
	<field name="els_oper_state" descr="Indicates the ELS laser operative state:\;0: laser_init\;1: laser_active\;2: laser_active_with_fault\;3: laser_down\;4: laser_down_with_fault" access="RO" enum="laser_init=0x0,laser_active=0x1,laser_active_with_fault=0x2,laser_down=0x3,laser_down_with_fault=0x4" offset="0xC4.20" size="0x0.4" />
	<field name="laser2_restriction" descr="Relevant for CPO ETH switches. when 8x port split is applied, this fields represent the ELS laser with the higher logical mapping index. Each bit represent the ELS&apos;s laser restriction. When restriction are on, the laser can operate only in restricted power mode, for the safety of the optical components. Restriction can be lifted only after fiber testing.\;0: laser2_restriction_on\;1: laser2_restriction_off" access="RO" enum="laser2_restriction_on=0x0,laser2_restriction_off=0x1" offset="0xC4.24" size="0x0.1" />
	<field name="laser_restriction" descr="Relevant for CPO product. Each bit represent the ELS&apos;s laser restriction. When restriction are on, the laser can operate only in restricted power mode, for the safety of the optical components. Restriction can be lifted only after fiber testing.\;0: laser_restriction_on\;1: laser_restriction_off" access="RO" enum="laser_restriction_on=0x0,laser_restriction_off=0x1" offset="0xC4.25" size="0x0.1" />
	<field name="laser2_status" descr="Relevant for CPO ETH switches. when 8x port split is applied, this fields represent the ELS laser with the higher logical mapping index. Each bit represent the ELS&apos;s laser status CMIS name of field.\;0: laser2_off\;1: laser2_ramping\;2: laser2_on" access="RO" enum="laser2_on=0x2" offset="0xC4.26" size="0x0.2" />
	<field name="laser_status" descr="Relevant for CPO product. Each bit represent the ELS&apos;s laser status CMIS name of field.\;0: laser_off\;1: laser_ramping\;2: laser_on" access="RO" enum="laser_on=0x2" offset="0xC4.28" size="0x0.2" />
	<field name="laser2_enabled" descr="Relevant for CPO ETH switches. when 8x port split is applied, this fields represent the ELS laser with the higher logical mapping index. Each bit represent the ELS&apos;s laser. \;0: laser2_disabled\;1: laser2_enabled" access="RO" enum="laser2_disabled=0x0,laser2_enabled=0x1" offset="0xC4.30" size="0x0.1" />
	<field name="laser_enabled" descr="Relevant for CPO product. Each bit represent the ELS&apos;s laser. \;0: laser_disabled\;1: laser_enabled" access="RO" enum="laser_disabled=0x0,laser_enabled=0x1" offset="0xC4.31" size="0x0.1" />
	<field name="module_production_test_revision_lsb" descr="Pluggable module production test version. Lower 32 bits." access="RO" offset="0xC8.0" size="0x4.0" />
	<field name="module_production_test_revision_msb" descr="Pluggable module production test version. Upper 8 bits." access="RO" offset="0xCC.24" size="0x0.8" />
</node>

<node name="pddr_monitor_opcode_ext" descr="" size="0x4.0" >
	<field name="monitor_opcode" descr="Status opcode: \;\;PHY FW indication (0 - 1023):\;0 - No issue observed\;1 - Port is close by command (see PAOS).\;2,3,4,38,39,60,69 - AN failure \;5,6,7,8, 62,63,64,65,66 - Link training failure. \;9,10,11,12,13 - Logical mismatch between link partners\;14 - Remote fault received\;15,42,17,48,49,52, - Bad signal integrity \;16,24-32 - Cable compliance code mismatch (protocol mismatch between cable and port) \;23,22,19,18,50,55- Internal error\;34,35 - Speed degradation\;56 - module_lanes_frequency_not_synced\;57 - signal not detected\;60 - no partner detected for long time\;68 - snapshot and single timeline event data collection timeout\;70- link not healthy, BER doesn&quot;t meet criteria\;128 - Troubleshooting in process\;1023- Info not available\;\;MNG FW issues (1024 - 2047):\;1024 - Cable is unplugged\;1025 - Long Range for non Mellanox cable/module\;1026 - Bus stuck (I2C Data or clock shorted)\;1027 - Bad/unsupported EEPROM\;1028 - Part number list\;1029 - Unsupported cable\;1030 - Module temperature shutdown\;1031 - Shorted cable\;1032 - Power budget exceeded\;1033 - Management forced down the port\;1034 - Module is disabled by command\;1035 - System Power is Exceeded therefore the module is powered off.\;1036 - Module&apos;s PMD type is not enabled (see PMTPS).\;1040 - pcie system power slot Exceeded\;1042 - Module state machine fault\;1043,1044,1045,1046 - Module&apos;s stamping speed degeneration\;1047, 1048 - Modules DataPath FSM fault\;1050, 1051, 1052, 1053- Module Boot Error\;1054 - Module Forced to Low Power by command\;1055 - ELS laser fiber is contaminated\;1056 - ELS laser power control failure\;1057 - ELS unplugged\;1058 - ELS laser rampling timeout failure\;1059 - ELS laser power exceeded allowed power range\;1060 - ELS laser power subceeded allowed power range\;1061 - ELS TEC control loop failure\;1062 - ELS laser power tuning failure\;1063 - ELS laser wavelength tuning failure" access="RW" offset="0x0.0" size="0x0.16" />
</node>

<node name="pddr_operation_info_page_cable_proto_cap_auto_ext" descr="" attr_is_union="1" size="0x4.0" >
	<field name="pddr_cable_cap_eth_ext" descr="" subnode="pddr_cable_cap_eth_ext" offset="0x0.0" selected_by="Ethernet" size="0x4.0" />
	<field name="pddr_cable_cap_ib_ext" descr="" subnode="pddr_cable_cap_ib_ext" offset="0x0.0" selected_by="InfiniBand" size="0x4.0" />
	<field name="pddr_cable_cap_nvlink_ext" descr="" subnode="pddr_cable_cap_nvlink_ext" offset="0x0.0" selected_by="NVLink" size="0x4.0" />
</node>

<node name="pddr_operation_info_page_core_to_phy_link_enabled_auto_ext" descr="" attr_is_union="1" size="0x4.0" >
	<field name="pddr_c2p_link_enabled_eth_ext" descr="" subnode="pddr_c2p_link_enabled_eth_ext" offset="0x0.0" selected_by="Ethernet" size="0x4.0" />
	<field name="pddr_c2p_link_enabled_ib_ext" descr="" subnode="pddr_c2p_link_enabled_ib_ext" offset="0x0.0" selected_by="InfiniBand" size="0x4.0" />
	<field name="pddr_c2p_link_enabled_nvlink_ext" descr="" subnode="pddr_c2p_link_enabled_nvlink_ext" offset="0x0.0" selected_by="NVLink" size="0x4.0" />
</node>

<node name="pddr_operation_info_page_ext" descr="" size="0xf8.0" >
	<field name="neg_mode_active" descr="0: protocol_was_not_negotiated - (force mode)\;1: MLPN_rev0_negotiated\;2: CL73_Ethernet_negotiated\;3: Protocol_according_to_Parallel_detect - (remote port in force mode)\;4: Standard_IB_negotiated" access="RO" enum="protocol_was_not_negotiated=0x0,MLPN_rev0_negotiated=0x1,CL73_Ethernet_negotiated=0x2,Protocol_according_to_Parallel_detect=0x3,Standard_IB_negotiated=0x4" offset="0x0.16" size="0x0.4" />
	<field name="proto_active" descr="Active protocol:\;Bit 0: InfiniBand\;Bit 2: Ethernet\;Bit 3: NVLink" access="RO" enum="InfiniBand=0x1,Ethernet=0x4,NVLink=0x8" offset="0x0.20" size="0x0.4" />
	<field name="resilink_fec_ind" descr="Valid only for resilink link is operational, otherwise ignored.\;\;When cleared, fec_mode_active will represent the Ethernet equivalent FEC of the resilink protocol.\;\;When set, fec_mode_active will represent the Resilink FEC protocol" access="INDEX" offset="0x0.28" size="0x0.1" />
	<field name="ib_phy_fsm_state" descr="FW IB state machine:\;0x0: IB_AN_FSM_DISABLED\;0x1: IB_AN_FSM_INITIALY\;0x2: IB_AN_FSM_RCVR_CFG\;0x3: IB_AN_FSM_CFG_TEST\;0x4: IB_AN_FSM_WAIT_RMT_TEST\;0x5: IB_AN_FSM_WAIT_CFG_ENHANCED\;0x6: IB_AN_FSM_CFG_IDLE\;0x7: IB_AN_FSM_LINK_UP\;0x8: IB_AN_FSM_POLLING" access="RO" enum="IB_AN_FSM_DISABLED=0x0,IB_AN_FSM_INITIALY=0x1,IB_AN_FSM_RCVR_CFG=0x2,IB_AN_FSM_CFG_TEST=0x3,IB_AN_FSM_WAIT_RMT_TEST=0x4,IB_AN_FSM_WAIT_CFG_ENHANCED=0x5,IB_AN_FSM_CFG_IDLE=0x6,IB_AN_FSM_LINK_UP=0x7,IB_AN_FSM_POLLING=0x8" offset="0x4.8" size="0x0.8" />
	<field name="eth_an_fsm_state" descr="Ethernet (CL73) Auto-negotiation FSM state:\;0x0: ETH_AN_FSM_ENABLE\;0x1: ETH_AN_FSM_XMIT_DISABLE\;0x2: ETH_AN_FSM_ABILITY_DETECT\;0x3: ETH_AN_FSM_ACK_DETECT\;0x4: ETH_AN_FSM_COMPLETE_ACK\;0x5: ETH_AN_FSM_AN_GOOD_CHECK\;0x6: ETH_AN_FSM_AN_GOOD\;0x7: ETH_AN_FSM_NEXT_PAGE_WAIT" access="RO" offset="0x4.16" size="0x0.8" />
	<field name="phy_mngr_fsm_state" descr="FW Phy Manager FSM state:\;0: Disabled \;1: Open_port\;2: Polling\;3: Active\;4: Close_port\;5: Phy_up\;6: Sleep\;7: Rx_disable\;8: Signal_detect\;9: Receiver_detect\;10: Sync_peer\;11: Negotiation\;12: Training\;13: SubFSM_active\;14: Protocol_Detect\;15: Unkown\;16: Force_linkup_debug\;17: Waiting_state" access="RO" enum="Disabled=0x0,Open_port=0x1,Polling=0x2,Active=0x3,Close_port=0x4,Phy_up=0x5,Sleep=0x6,Rx_disable=0x7,Signal_detect=0x8,Receiver_detect=0x9,Sync_peer=0xa,Negotiation=0xb,Training=0xc,SubFSM_active=0xd,Protocol_Detect=0xe,Unkown=0xf,Force_linkup_debug=0x10,Waiting_state=0x11" offset="0x4.24" size="0x0.8" />
	<field name="phy_manager_link_enabled" descr="For IB: Table  1994, &quot;PDDR - Phy Manager Link Enabled IB Layout,&quot; on page  2627\;For Ethernet: Table  1996, &quot;PDDR - Phy Manager Link Enabled Eth Layout,&quot; on page  2627\;For NVLink: Table  1998, &quot;PDDR - Phy Manager Link Enable NVLink Layout,&quot; on page  2628" subnode="pddr_operation_info_page_phy_manager_link_enabled_auto_ext" access="RO" offset="0x8.0" size="0x4.0" union_selector="$(parent).proto_active" />
	<field name="core_to_phy_link_enabled" descr="For IB: Table  2000, &quot;PDDR - Core2phy Link Enabled IB Layout,&quot; on page  2629\;For Ethernet: Table  2002, &quot;PDDR - Core2phy Link Enabled Eth Layout,&quot; on page  2630\;For NVLink: Table  2004, &quot;PDDR - Core2phy Link Enabled NVLink Layout,&quot; on page  2630" subnode="pddr_operation_info_page_core_to_phy_link_enabled_auto_ext" access="RO" offset="0xC.0" size="0x4.0" union_selector="$(parent).proto_active" />
	<field name="cable_proto_cap" descr="For IB: Table  2006, &quot;PDDR - Cable Cap IB Layout,&quot; on page  2631\;For Ethernet: Table  2008, &quot;PDDR - Cable Cap Eth Layout,&quot; on page  2632\;For NVLink: Table  2010, &quot;PDDR - Cable Cap NVLink Layout,&quot; on page  2632" subnode="pddr_operation_info_page_cable_proto_cap_auto_ext" access="RO" offset="0x10.0" size="0x4.0" union_selector="$(parent).proto_active" />
	<field name="link_active" descr="For IB: Table  2012, &quot;PDDR - Link Active IB Layout,&quot; on page  2633\;For Ethernet: Table  2014, &quot;PDDR - Link Active Eth Layout,&quot; on page  2633\;For NVLink: Table  2016, &quot;PDDR - Link Active NVLink Layout,&quot; on page  2634" subnode="pddr_operation_info_page_link_active_auto_ext" access="RO" offset="0x14.0" size="0x4.0" union_selector="$(parent).proto_active" />
	<field name="loopback_mode" descr="0: No_loopback_active\;1: Phy_remote_loopback \;2: Phy_local_loopback -When set the port&apos;s egress traffic is looped back to the receiver and the port transmitter is disabled. \;4: External_local_loopback -Enables the port&apos;s transmitter to link with the port&apos;s receiver using an external loopback connector." access="RO" enum="No_loopback_active=0x0,Phy_remote_loopback=0x1,Phy_local_loopback=0x2,External_local_loopback=0x4" offset="0x18.0" size="0x0.12" />
	<field name="pri_or_sec" descr="Indicates for Mode B links if the port was chosen as primary or secondary during linkup.\;0: Not_supported_or_not_chosen_yet.\;1: Primary\;2: Secondary" access="RO" enum="Not_supported_or_not_chosen_yet_=0x0,Primary=0x1,Secondary=0x2" offset="0x18.14" size="0x0.2" />
	<field name="fec_mode_request" descr="FEC mode request.\;See ." access="RO" offset="0x1C.0" size="0x0.16" />
	<field name="fec_mode_active" descr="FEC mode active\;0: No_FEC\;1: Firecode_FEC\;2: Standard_RS_FEC - RS(528,514)\;3: Standard_LL_RS_FEC - RS(271,257)\;4: Interleaved_Quad_RS_FEC - (544,514)   Quad_KP4_FEC\;5: Interleaved_Quad_RS_FEC_PLR - 546,516) Quad_KP4_FEC\;6: Interleaved_Standard_RS-FEC - (544,514)\;7: Standard_RS-FEC - (544,514)\;8: Interleaved_Octet_RS_FEC_PLR -(546,516) Octet_KP4_FEC\;9: Ethernet_Consortium_LL_50G_RS_FEC- (272,257+1)\;10: Interleaved_Ethernet_Consortium_LL_50G_RS_FEC - (272,257+1)\;11: Interleaved_Standard_RS_FEC_PLR - (544,514)\;12: RS-FEC - (544,514) + PLR- [Internal]\;13: LL-FEC - (271,257) + PLR- [Internal]\;14: Ethernet_Consortium_LL_50G_RS_FEC_PLR - (272,257+1) [Internal] \;15: Interleaved_Ethernet_Consortium_LL_50G_RS_FEC_PLR - (272,257+1) [Internal]\;16: Interleaved_Double_RS_Half_KP4_FEC_PLR - (288,258)\;17: Interleaved_Quad_RS_Half_KP4_FEC_PLR - (288,258)\;18: Interleaved_Octet_RS_Half_KP4_FEC_PLR - (288,258)" access="RO" enum="No_FEC=0x0,Firecode_FEC=0x1,Standard_RS_FEC=0x2,Standard_LL_RS_FEC=0x3,Interleaved_Quad_RS_FEC=0x4,Interleaved_Quad_RS_FEC_PLR=0x5,Interleaved_Standard_RS=0x6,Standard_RS=0x7,Interleaved_Octet_RS_FEC_PLR=0x8,Ethernet_Consortium_LL_50G_RS_FEC=0x9,Interleaved_Ethernet_Consortium_LL_50G_RS_FEC=0xa,Interleaved_Standard_RS_FEC_PLR=0xb,RS=0xc,LL=0xd,Ethernet_Consortium_LL_50G_RS_FEC_PLR=0xe,Interleaved_Ethernet_Consortium_LL_50G_RS_FEC_PLR=0xf,Interleaved_Double_RS_Half_KP4_FEC_PLR=0x10,Interleaved_Quad_RS_Half_KP4_FEC_PLR=0x11,Interleaved_Octet_RS_Half_KP4_FEC_PLR=0x12" offset="0x1C.16" size="0x0.16" />
	<field name="eth_100g_fec_support" descr="FEC 100G (25Gb/s per lane) supported FEC include override masking, should reflect current phy configuration after link is up\;\;Bit 0 - No FEC\;Bit 2 - Standard RS-FEC - RS(528,514)\;" access="RO" offset="0x20.0" size="0x0.4" />
	<field name="eth_25g_50g_fec_support" descr="FEC 25G/50G (25Gb/s per lane) supported FEC include override masking, should reflect current phy configuration after link is up\;Bit 0 - No FEC\;Bit 1 - Firecode FEC\;Bit 2 - Standard RS-FEC - RS(528,514)\;" access="RO" offset="0x20.4" size="0x0.4" />
	<field name="profile_fec_in_use" descr="The profile that has been selected: \;Bit 0 - IB spec / legacy (See profiles description) \;Bit 1 - Internal ports (Backplane) \;Bit 2 - Passive copper - Short \;Bit 3 - Passive copper - Medium \;Bit 4 - Passive copper - Long \;Bit 5 - Active optics / copper short reach (&lt;20m) \;Bit 6 - Optics long reach (&gt;20m) \;Bit 7 - NO-FEC \;Bit 8 - FEC-ON" access="RO" offset="0x20.16" size="0x0.16" />
	<field name="pd_link_enabled" descr="For IB: Table  2018, &quot;PDDR - Parallel Detect Link Enabled IB Layout,&quot; on page  2635\;For Ethernet: Table  2020, &quot;PDDR - Parallel Detect Link Enabled Eth Layout,&quot; on page  2635" subnode="pddr_operation_info_page_pd_link_enabled_auto_ext" access="RO" offset="0x24.0" size="0x4.0" union_selector="$(parent).proto_active" />
	<field name="phy_hst_link_enabled" descr="For IB: Table  2022, &quot;PDDR - HST Link Enabled IB Layout,&quot; on page  2636\;For Ethernet: Table  2024, &quot;PDDR - HST Link Enabled Eth Layout,&quot; on page  2637\;For NVLink: Table  2026, &quot;PDDR - HST Link Enabled NVLink Layout,&quot; on page  2637" subnode="pddr_operation_info_page_phy_hst_link_enabled_auto_ext" access="RO" offset="0x28.0" size="0x4.0" union_selector="$(parent).proto_active" />
	<field name="eth_an_link_enabled" descr="Table  2028, &quot;PDDR - ETH AN Link Enabled Eth Layout,&quot; on page  2638" access="RO" offset="0x2C.0" size="0x4.0" />
	<field name="link_health" descr="0: N/A - not supported or not enabled\;1: Attention\;2: Healthy" access="RO" offset="0x38.0" size="0x0.4" />
	<field name="test_mode_fsm_state" descr="Test mode FSM state exposure is supported only if PCAM.feature_cap_mask bit 120 is set.\;Mode B links test mode FSM\;0: Disable - this state is shared by Mode A links and Mode B links test mode FSM\;1: Open_lane\;2: Idle_mode_b\;3: Close_lane\;- Mode A links test mode FSM\;4: Receiver_detect\;5: Idle_mode_a\;6: Signal_detect\;7: Auto_fix_reversal_polarity\;8: Tuning_in_progress" access="RO" enum="Disable=0x0,Open_lane=0x1,Idle_mode_b=0x2,Close_lane=0x3,Receiver_detect=0x4,Idle_mode_a=0x5,Signal_detect=0x6,Auto_fix_reversal_polarity=0x7,Tuning_in_progress=0x8" offset="0x38.24" size="0x0.8" />
	<field name="local_host_class" descr="Local host class - Insertion loss\;0: Unspecified\;1: Host nominal (HN) - 4.45 to 13.95 dB\;2: Host low (HL) - 4.45 to 8.95 dB\;3: Host high (HH) - 4.55 to 18.5 dB\;4-7: Reserved" access="RO" offset="0x3C.0" size="0x0.3" />
	<field name="remote_host_class" descr="Remote host class - Insertion loss\;0: Unspecified\;1: Host nominal (HN) - 4.45 to 13.95 dB\;2: Host low (HL) - 4.45 to 8.95 dB\;3: Host high (HH) - 4.55 to 18.5 dB\;4-7: Reserved" access="RO" offset="0x3C.4" size="0x0.3" />
	<field name="channel_diff_loss" descr="Channel differential loss in dB. The highest loss between receivers and transmitters." access="RO" offset="0x3C.8" size="0x0.5" />
</node>

<node name="pddr_operation_info_page_link_active_auto_ext" descr="" attr_is_union="1" size="0x4.0" >
	<field name="pddr_link_active_eth_ext" descr="" subnode="pddr_link_active_eth_ext" offset="0x0.0" selected_by="Ethernet" size="0x4.0" />
	<field name="pddr_link_active_ib_ext" descr="" subnode="pddr_link_active_ib_ext" offset="0x0.0" selected_by="InfiniBand" size="0x4.0" />
	<field name="pddr_link_active_nvlink_ext" descr="" subnode="pddr_link_active_nvlink_ext" offset="0x0.0" selected_by="NVLink" size="0x4.0" />
</node>

<node name="pddr_operation_info_page_pd_link_enabled_auto_ext" descr="" attr_is_union="1" size="0x4.0" >
	<field name="pd_link_eth_enabled_ext" descr="" subnode="pd_link_eth_enabled_ext" offset="0x0.0" selected_by="Ethernet" size="0x4.0" />
	<field name="pd_link_ib_enabled_ext" descr="" subnode="pd_link_ib_enabled_ext" offset="0x0.0" selected_by="InfiniBand" size="0x4.0" />
</node>

<node name="pddr_operation_info_page_phy_hst_link_enabled_auto_ext" descr="" attr_is_union="1" size="0x4.0" >
	<field name="hst_link_eth_enabled_ext" descr="" subnode="hst_link_eth_enabled_ext" offset="0x0.0" selected_by="Ethernet" size="0x4.0" />
	<field name="hst_link_ib_enabled_ext" descr="" subnode="hst_link_ib_enabled_ext" offset="0x0.0" selected_by="InfiniBand" size="0x4.0" />
	<field name="hst_link_nvlink_enabled_ext" descr="" subnode="hst_link_nvlink_enabled_ext" offset="0x0.0" selected_by="NVLink" size="0x4.0" />
</node>

<node name="pddr_operation_info_page_phy_manager_link_enabled_auto_ext" descr="" attr_is_union="1" size="0x4.0" >
	<field name="pddr_phy_manager_link_enabled_eth_ext" descr="" subnode="pddr_phy_manager_link_enabled_eth_ext" offset="0x0.0" selected_by="Ethernet" size="0x4.0" />
	<field name="pddr_phy_manager_link_enabled_ib_ext" descr="" subnode="pddr_phy_manager_link_enabled_ib_ext" offset="0x0.0" selected_by="InfiniBand" size="0x4.0" />
	<field name="pddr_phy_manager_link_enabled_nvlink_ext" descr="" subnode="pddr_phy_manager_link_enabled_nvlink_ext" offset="0x0.0" selected_by="NVLink" size="0x4.0" />
</node>

<node name="pddr_phy_info_page_ext" descr="" size="0xf8.0" >
	<field name="port_notifications" descr="Port notifications bit mask\;Bit 0 - Link partner advertised capabilities \;Bit 1 - Speed degradation" access="RO" offset="0x0.0" size="0x0.8" />
	<field name="negotiation_mask" descr="Bit 0: eth_base_page\;Bit 1: ib_base_page\;Bit 2: ib_base_page_rev2 - XDR onwards\;Bit 3: Consortium\;Bit 4: MLPN_rev0\;Bit 5: MLPN_rev1\;Bit 6: NLPN_rev2" access="RO" offset="0x0.8" size="0x0.8" />
	<field name="remote_device_type" descr="Remote device type: \;0 - Unknown (3rd party, Force, legacy MLPN)\;1 - CX4\;2 - CX4_LX\;3 - CX5\;4 - CX5_LX\;5 - CX6\;6 - CX6_LX\;7 - CX6_DX\;8 - CX7\;9 - Bluefield-2\;10 - CX8\;11 - Bluefield-3\;12 - CX9\;13 - CX10\;14-99 Reserved\;\;100 - SwitchIB\;101 - Spectrum \;102 - SwitchIB-2\;103 - Quantum\;104 - Spectrum-2\;105 - Spectrum-3\;106 - Quantum-2\;107 - Spectrum-4\;108 -Quantum-3\;109 - Quantum-4\;110 - Spectrum-5\;111 - Spectrum-6\;112 - Quantum-5\;113 - Quantum-6\;114 - Spectrum-7\;115-199 -Reserved\;\;200 - GB100 (OR 102/200)\;201 - GR100\;202 - GR150\;203 - Feinmann\;204 - GB10 - fusion\;205-255 - Reserved" access="RO" offset="0x0.24" size="0x0.8" />
	<field name="lp_ib_revision" descr="Link partner IB TS revision \;\;" access="RO" offset="0x4.0" size="0x0.8" />
	<field name="ib_revision" descr="IB TS revision \;" access="RO" offset="0x4.8" size="0x0.8" />
	<field name="num_of_negotiation_attempts" descr="Negotiation attempt counter" access="RO" offset="0x4.16" size="0x0.16" />
	<field name="phy_manager_disable_mask" descr="Phy manager disable bit mask: \;Bit 0 - Module not present (module absence/cage power off)\;Bit 1 - PAOS command\;Bit 2 - MAD IB PortInfo down command\;Bit 3 - Long range cable (Non Mellanox) \;Bit 4 - Verification command\;Bit 5 - ekey command\;Bit 6 - High power - cable require higher power than allowed.\;Bit 7 - Unknown Identifier (Module)\;Bit 8 - PAOS up once \;Bit 9 - Stamping failure\;Bit 10 - Calibration not done\;Bit 11 - Module Locking\;Bit 13 - Power budget exceeded\;Bit 14 - Interrupt Event / Module Temp\;Bit 15 - TEC flow / module bring up issue" access="RO" offset="0x8.0" size="0x0.24" />
	<field name="hw_link_phy_state" descr="IBP HW FSM Reflected State:\;0x10: sleeping_delay\;0x11: sleeping_quiet\;0x20: polling_active\;0x21: polling_quiet\;0x30: disable\;0x31: update_retimer\;0x40: config_debounce\;0x41: config_receiver\;0x42: config_wait_remote\;0x43: config_tx_reverse_lanes\;0x44: config_enhanced    \;0x45: config_test\;0x46: confg_wait_remote_test\;0x47: config_wait_cfg_enhanced\;0x48: config_idle\;0x50: linkup\;0x51: Linkup_Tx_Idle\;0x52: Linkup_Tx_Empty\;-Recovery\;0x60: recover_retrain\;0x61: recover_wait_remote\;0x62: recover_idle\;0x63: Local_down_cmd\;0x64: Remote_down_cmd\;0x65: uphy_recovery_send_ts1\;0x66: uphy_recovery_send_pam2\;0x67: uphy_recovery_send_pam4\;0x68: uphy_recovery_peq\;0x70: test\;- Force Modes\;0x80: Force_send_ts1 - command may be given only on disable state\;0x90: Force_send_ts2\;0xA0: Force_Sent_Idle\;0xB0: Force_send_ts_Mlnx\;0xC0: Force_send_ts3\;0xD0: Force_LinkUp\;- L1\;0xE0: Go_To_Quiet\;0xE1: Retimer_Align\;0xE2: Quiet_Entry\;0xE3: Quiet\;0xE4: Wake\;0xE5: Wake_Tx_Sleep0\;0xE6: Send_Announce\;0xE7: Tx_HS\;0xE8: Wait_For_Cdr_Lock" access="RO" enum="sleeping_delay=0x10,sleeping_quiet=0x11,polling_active=0x20,polling_quiet=0x21,disable=0x30,update_retimer=0x31,config_debounce=0x40,config_receiver=0x41,config_wait_remote=0x42,config_tx_reverse_lanes=0x43,config_enhanced=0x44,config_test=0x45,confg_wait_remote_test=0x46,config_wait_cfg_enhanced=0x47,config_idle=0x48,linkup=0x50,Linkup_Tx_Idle=0x51,Linkup_Tx_Empty=0x52,recover_retrain=0x60,recover_wait_remote=0x61,recover_idle=0x62,Local_down_cmd=0x63,Remote_down_cmd=0x64,uphy_recovery_send_ts1=0x65,uphy_recovery_send_pam2=0x66,uphy_recovery_send_pam4=0x67,uphy_recovery_peq=0x68,test=0x70,Force_send_ts1=0x80,Force_send_ts2=0x90,Force_Sent_Idle=0xa0,Force_send_ts_Mlnx=0xb0,Force_send_ts3=0xc0,Force_LinkUp=0xd0,Go_To_Quiet=0xe0,Retimer_Align=0xe1,Quiet_Entry=0xe2,Quiet=0xe3,Wake=0xe4,Wake_Tx_Sleep0=0xe5,Send_Announce=0xe6,Tx_HS=0xe7,Wait_For_Cdr_Lock=0xe8" offset="0x8.24" size="0x0.8" />
	<field name="pcs_phy_state" descr="PCS HW state:\;Bits 0-7: Block lock (one bit per lane)\;Bits 8-15: AM lock (one bit per lane)\;Bits 16-23: FEC lock (one bit per lane)\;Bits 24: Align_status\;Bits 25: Hi_BER\;Bits 26: Hi_SER" access="RO" offset="0xC.0" size="0x4.0" />
	<field name="lp_proto_enabled" descr="IB ports: \;Link partner advertised speeds (first TS3)\;See ib_link_speed_enabled encoding.\;\;Ethernet ports:\;Link partner advertised Ethernet protocols active state: see PTYS.lp_advertise" access="RO" offset="0x10.0" size="0x4.0" />
	<field name="lp_fec_mode_request" descr="Reserved when negotiation wasn&apos;t performed according to port_notifications.Link partner advertised capabilities value.\;Advertised link partner FEC mode request" access="RO" offset="0x14.0" size="0x0.16" />
	<field name="lp_fec_mode_support" descr="Reserved when negotiation wasn&apos;t performed according to port_notifications.Link partner advertised capabilities value.\;\;Advertised link partner FEC mode support\;Bit 0 - No FEC\;Bit 1 - Firecode FEC\;Bit 2 - Standard RS-FEC - RS(528,514)\;Bit 3 - Standard LL RS-FEC - RS(271,257)\;Bit 4 - Mellanox Strong RS-FEC - RS(277,257)\;Bit 5 - Mellanox LL RS-FEC - RS(163,155)\;Bit 6 - Reserved\;Bit 7 - Standard RS-FEC (544,514)\;Bit 8 - Zero Latency FEC\;Bit 12 - RS-FEC (544,514) + PLR\;Bit 13 - LL-FEC (271,257) + PLR\;\;" access="RO" offset="0x14.16" size="0x0.16" />
	<field name="ib_last_link_down_reason" descr="Bit 0 - heartbeat_ack_received\;Bit 1 - heartbeat_send_received\;Bit 2 - heartbeat_err\;Bit 3 - tx_width_reduction_done_1x\;Bit 4 - tx_width_reduction_done_full\;Bit 5 - rx_width_reduction_done_1x\;Bit 6 - rx_width_reduction_done_full\;Bit 7 - width_reduction_timeout\;Bit 8 - ibl_link_retrain\;Bit 9 - rx_comskp_timeout\;Bit 10 - fifo_full_err\;Bit 11 - ts_at_linkup\;Bit 12 - minor_threshold_reached\;Bit 13 - link_fail\;Bit 14 - rx_eb_full_r\;Bit 15 - rx_8_10_lane_err\;Bit 16 - llr_link_retrain_set\;Bit 17 - fc_timeout\;Bit 18 - phy_error\;Bit 19 - lli_err\;Bit 20 - excessive_buffer_err\;Bit 21 - remote_init\;Bit 22 - plr_retry_expired\;Bit 23 - port_didnt_exit_plr_sync\;Bit 24 - eq_failed\;Bits 31-24 - Reserved" access="RO" offset="0x18.0" size="0x4.0" />
	<field name="eth_last_link_down_lane" descr="Bit 0 - block_lock_failed\;Bit 1 - skip_detected\;Bit 2 - fec_sync_failed\;Bit 3 - fec_block_sync\;Bit 4 - fec_block_sync_lost" access="RO" high_bound="3" low_bound="0" offset="0x1C.24" size="0x4.0" />
	<field name="speed_deg_db" descr="Bit 0 - Speed degradation database Valid\;Bit 1 - Speed degradation SerDes Rx database valid\;BIts 3-2 - reserved\;Bit 4 - rx_reversal\;Bit 5 - tx_reversal\;Bit 7-6 - reserved\;Bits 11:8 - failed_qdr/fdr10 - bit per lane.\;Bits 15:12 - failed_fdr - bit per lane.\;Bits 19:16- failed_edr - bit per lane.\;Bits 24:20 - peer_failed_test\;Bits 26-25 - reserved\;Bit 27 - first_test_speed" access="RO" offset="0x24.0" size="0x4.0" />
	<field name="degrade_grade_lane0" descr="Valid only when port_notifications.Speed degradation is asserted \;" access="RO" offset="0x28.0" size="0x0.24" />
	<field name="degrade_grade_lane1" descr="Valid only when port_notifications.Speed degradation is asserted \;" access="RO" offset="0x2C.0" size="0x0.24" />
	<field name="degrade_grade_lane2" descr="Valid only when port_notifications.Speed degradation is asserted \;" access="RO" offset="0x30.0" size="0x0.24" />
	<field name="degrade_grade_lane3" descr="Valid only when port_notifications.Speed degradation is asserted \;" access="RO" offset="0x34.0" size="0x0.24" />
	<field name="num_of_presets_tested_lane7" descr="presets tested in TX tuning flow counter or in KR Startup" access="RO" offset="0x38.0" size="0x0.5" />
	<field name="num_of_presets_tested_lane6" descr="presets tested in TX tuning flow counter or in KR Startup" access="RO" offset="0x38.8" size="0x0.5" />
	<field name="num_of_presets_tested_lane5" descr="presets tested in TX tuning flow counter or in KR Startup" access="RO" offset="0x38.16" size="0x0.5" />
	<field name="num_of_presets_tested_lane4" descr="presets tested in TX tuning flow counter or in KR Startup" access="RO" offset="0x38.24" size="0x0.5" />
	<field name="kr_startup_debug_indications_5" descr="kr_startup_debug_indication_&lt;i&gt; bit mask:\;Bit 0: Local_frame_lock\;Bit 1: Remote_frame_lock\;Bit 2: Local_Frame_lock_timer_expired\;Bit 3: Remote_Frame_lock_timer_expired \;Bit 4: Local_receiver_ready\;Bit 5: Remote_receiver_ready\;Bit 6: max_wait_timer_expired \;Bit 7: Wait_timer_done\;Bit 8: Hold_off_timer_expired\;Bit 9: link_fail_inhibit_timer_expired" access="RO" offset="0x3C.0" size="0x0.16" />
	<field name="kr_startup_debug_indications_4" descr="kr_startup_debug_indication_&lt;i&gt; bit mask:\;Bit 0: Local_frame_lock\;Bit 1: Remote_frame_lock\;Bit 2: Local_Frame_lock_timer_expired\;Bit 3: Remote_Frame_lock_timer_expired \;Bit 4: Local_receiver_ready\;Bit 5: Remote_receiver_ready\;Bit 6: max_wait_timer_expired \;Bit 7: Wait_timer_done\;Bit 8: Hold_off_timer_expired\;Bit 9: link_fail_inhibit_timer_expired" access="RO" enum="Local_frame_lock=0x1,Remote_frame_lock=0x2,Local_Frame_lock_timer_expired=0x4,Remote_Frame_lock_timer_expired=0x8,Local_receiver_ready=0x10,Remote_receiver_ready=0x20,max_wait_timer_expired=0x40,Wait_timer_done=0x80,Hold_off_timer_expired=0x100,link_fail_inhibit_timer_expired=0x200" offset="0x3C.16" size="0x0.16" />
	<field name="kr_startup_debug_indications_7" descr="kr_startup_debug_indication_&lt;i&gt; bit mask:\;Bit 0: Local_frame_lock\;Bit 1: Remote_frame_lock\;Bit 2: Local_Frame_lock_timer_expired\;Bit 3: Remote_Frame_lock_timer_expired \;Bit 4: Local_receiver_ready\;Bit 5: Remote_receiver_ready\;Bit 6: max_wait_timer_expired \;Bit 7: Wait_timer_done\;Bit 8: Hold_off_timer_expired\;Bit 9: link_fail_inhibit_timer_expired" access="RO" offset="0x40.0" size="0x0.16" />
	<field name="kr_startup_debug_indications_6" descr="kr_startup_debug_indication_&lt;i&gt; bit mask:\;Bit 0: Local_frame_lock\;Bit 1: Remote_frame_lock\;Bit 2: Local_Frame_lock_timer_expired\;Bit 3: Remote_Frame_lock_timer_expired \;Bit 4: Local_receiver_ready\;Bit 5: Remote_receiver_ready\;Bit 6: max_wait_timer_expired \;Bit 7: Wait_timer_done\;Bit 8: Hold_off_timer_expired\;Bit 9: link_fail_inhibit_timer_expired" access="RO" offset="0x40.16" size="0x0.16" />
	<field name="num_of_presets_tested_lane3" descr="presets tested in TX tuning flow counter or in KR Startup" access="RO" offset="0x44.0" size="0x0.5" />
	<field name="num_of_presets_tested_lane2" descr="presets tested in TX tuning flow counter or in KR Startup" access="RO" offset="0x44.8" size="0x0.5" />
	<field name="num_of_presets_tested_lane1" descr="presets tested in TX tuning flow counter or in KR Startup" access="RO" offset="0x44.16" size="0x0.5" />
	<field name="num_of_presets_tested_lane0" descr="presets tested in TX tuning flow counter or in KR Startup" access="RO" offset="0x44.24" size="0x0.5" />
	<field name="kr_startup_fsm_lane" descr="Per lane KR startup state:\;0: KR_FSM_INITIALIZE\;1: KR_FSM_SEND_TRAINING\;2: KR_FSM_TRAIN_LOCAL_TX\;3: KR_FSM_TRAIN_LOCAL_RX\;4: KR_FSM_TRAIN_REMOTE\;5: KR_FSM_LINK_READY\;6: KR_FSM_SEND_DATA\;7: KR_FSM_NVLT\;8: KR_ABORT\;9: KR_TIMEOUT\;10: KR_FSM_IN_IDLE" access="RO" enum="KR_FSM_INITIALIZE=0x0,KR_FSM_SEND_TRAINING=0x1,KR_FSM_TRAIN_LOCAL_TX=0x2,KR_FSM_TRAIN_LOCAL_RX=0x3,KR_FSM_TRAIN_REMOTE=0x4,KR_FSM_LINK_READY=0x5,KR_FSM_SEND_DATA=0x6,KR_FSM_NVLT=0x7,KR_ABORT=0x8,KR_TIMEOUT=0x9,KR_FSM_IN_IDLE=0xa" high_bound="7" low_bound="0" offset="0x48.24" size="0x8.0" />
	<field name="eth_an_debug_indication" descr="eth_an_debug bit mask:\;Bit 0 - Force link up\;Bit 1 - No HCD\;Bit 2 - Entered ACK_detect\;Bit 3 - Entered Good\;Bit 4 - Entered Good_Check\;Bit 5 - Entered Extra_tune\;Bit 6 - Entered Fix_Reversals\;Bit 7 - Entered Next_Page\;Bit 8 - Entered Sub-FSM Fail\;Bit 9 - Tuning timeout\;Bit 10 - No markers detected (during Good check)\;Bit 11 - Do KR-startup\;Bits 15:18 - KR startup failure mask" access="RO" offset="0x50.0" size="0x4.0" />
	<field name="ib_phy_fsm_state_trace" descr="FW IB state machine:\;HDR Gen\;Bit 0 - entered IB_AN_FSM_DISABLED\;Bit 1 - entered IB_AN_FSM_INITIALY\;Bit 2 - entered IB_AN_FSM_RCVR_CFG\;Bit 3 - entered IB_AN_FSM_CFG_TEST\;Bit 4 - entered IB_AN_FSM_WAIT_RMT_TEST\;Bit 5 - entered IB_AN_FSM_WAIT_CFG_ENHANCED\;Bit 6 - entered IB_AN_FSM_CFG_IDLE\;Bit 7 - entered IB_AN_FSM_LINK_UP\;Bit 8 - Failed from CFG_IDLE\;\;NDR Gen:\;Bit 0 - entered IB_AN_FSM_DISABLED\;Bit 1 - entered IB_AN_FSM_POLLING\;Bit 2 - entered IB_AN_FSM_INITIALY\;Bit 3 - entered IB_AN_FSM_CFG_TEST\;Bit 4 - entered IB_AN_FSM_WAIT_RMT_TEST\;Bit 5 - entered IB_AN_FSM_WAIT_CFG_ENHANCED\;Bit 6 - entered IB_AN_FSM_CFG_IDLE\;Bit 7 - entered IB_AN_FSM_SYNC_CHECK\;Bit 8 - entered IB_AN_FSM_LINK_UP\;Bit 9 - Failed from CFG_IDLE\;Bit 10 - peer requested KR\;Bit 11 - speed degradation needed - &quot;best_grade&quot; didn&quot;t reach threshold\;\;" access="RO" offset="0x54.0" size="0x0.16" />
	<field name="rounds_waited_for_peer_to_end_test" descr="" access="RO" offset="0x54.16" size="0x0.5" />
	<field name="eth_an_watchdog_cnt" descr="counts ETH Watchdog was performed (and closed the IB fsm)." access="RO" offset="0x54.21" size="0x0.2" />
	<field name="fall_from_cfg_idle_cdr_cnt" descr="count falls from Cfg_idle (before linkup) due cdr not lock" access="RO" offset="0x54.23" size="0x0.3" />
	<field name="fall_from_cfg_idle_cnt" descr="count falls from Cfg_idle (before linkup) due amps lock on PLU" access="RO" offset="0x54.26" size="0x0.3" />
	<field name="cdr_not_locked_cnt" descr="count the cdr not locked after EQ" access="RO" offset="0x54.29" size="0x0.3" />
	<field name="kr_startup_debug_indications_1" descr="kr_startup_debug_indication_&lt;i&gt; bit mask:\;Bit 0: Local_frame_lock\;Bit 1: Remote_frame_lock\;Bit 2: Local_Frame_lock_timer_expired\;Bit 3: Remote_Frame_lock_timer_expired \;Bit 4: Local_receiver_ready\;Bit 5: Remote_receiver_ready\;Bit 6: max_wait_timer_expired \;Bit 7: Wait_timer_done\;Bit 8: Hold_off_timer_expired\;Bit 9: link_fail_inhibit_timer_expired" access="RO" offset="0x58.0" size="0x0.16" />
	<field name="kr_startup_debug_indications_0" descr="kr_startup_debug_indication_&lt;i&gt; bit mask:\;Bit 0: Local_frame_lock\;Bit 1: Remote_frame_lock\;Bit 2: Local_Frame_lock_timer_expired\;Bit 3: Remote_Frame_lock_timer_expired \;Bit 4: Local_receiver_ready\;Bit 5: Remote_receiver_ready\;Bit 6: max_wait_timer_expired \;Bit 7: Wait_timer_done\;Bit 8: Hold_off_timer_expired\;Bit 9: link_fail_inhibit_timer_expired" access="RO" enum="Local_frame_lock=0x1,Remote_frame_lock=0x2,Local_Frame_lock_timer_expired=0x4,Remote_Frame_lock_timer_expired=0x8,Local_receiver_ready=0x10,Remote_receiver_ready=0x20,max_wait_timer_expired=0x40,Wait_timer_done=0x80,Hold_off_timer_expired=0x100,link_fail_inhibit_timer_expired=0x200" offset="0x58.16" size="0x0.16" />
	<field name="kr_startup_debug_indications_3" descr="kr_startup_debug_indication_&lt;i&gt; bit mask:\;Bit 0: Local_frame_lock\;Bit 1: Remote_frame_lock\;Bit 2: Local_Frame_lock_timer_expired\;Bit 3: Remote_Frame_lock_timer_expired \;Bit 4: Local_receiver_ready\;Bit 5: Remote_receiver_ready\;Bit 6: max_wait_timer_expired \;Bit 7: Wait_timer_done\;Bit 8: Hold_off_timer_expired\;Bit 9: link_fail_inhibit_timer_expired" access="RO" offset="0x5C.0" size="0x0.16" />
	<field name="kr_startup_debug_indications_2" descr="kr_startup_debug_indication_&lt;i&gt; bit mask:\;Bit 0: Local_frame_lock\;Bit 1: Remote_frame_lock\;Bit 2: Local_Frame_lock_timer_expired\;Bit 3: Remote_Frame_lock_timer_expired \;Bit 4: Local_receiver_ready\;Bit 5: Remote_receiver_ready\;Bit 6: max_wait_timer_expired \;Bit 7: Wait_timer_done\;Bit 8: Hold_off_timer_expired\;Bit 9: link_fail_inhibit_timer_expired" access="RO" offset="0x5C.16" size="0x0.16" />
	<field name="tx_tuning_stages_lane" descr="Stages mask per lane:\;Bit 0: Single_preset_stage\;Bit 1: multiple_preset_stage\;Bit 2: LMS" access="RO" enum="Single_preset_stage=0x1,multiple_preset_stage=0x2,LMS=0x4" high_bound="7" low_bound="0" offset="0x60.28" size="0x4.0" />
	<field name="plu_tx_pwrup" descr="PLU power up status per lane" access="RO" offset="0x64.0" size="0x0.8" />
	<field name="plu_rx_pwrup" descr="PLU power up status per lane" access="RO" offset="0x64.8" size="0x0.8" />
	<field name="plu_tx_polarity" descr="Configured PLU polarity per lane" access="RO" offset="0x64.16" size="0x0.8" />
	<field name="plu_rx_polarity" descr="Configured PLU polarity per lane" access="RO" offset="0x64.24" size="0x0.8" />
	<field name="irisc_status" descr="" access="RO" offset="0x68.0" size="0x0.4" />
	<field name="ib_cfg_delay_timeout" descr="0 - Default as defined in IB Spec.\;1 - Override default with 64msec timeout for all speeds.\;2 - Reserved\;3 - Reserved" access="RO" offset="0x68.4" size="0x0.2" />
	<field name="sd_valid" descr="when set, signal_detected has valid value." access="RO" offset="0x68.6" size="0x0.1" />
	<field name="plu_tx_speed" descr="PLU configured speed:\;" access="RO" offset="0x68.8" size="0x0.4" />
	<field name="plu_rx_speed" descr="PLU configured speed:\;" access="RO" offset="0x68.12" size="0x0.4" />
	<field name="signal_detected" descr="valid only when sd_valid is set\;Bitmask per lane.\;When set signal has been detected on the lane" access="RO" offset="0x68.24" size="0x0.8" />
	<field name="stamping_reason" descr="Bit 0: com_codes_is_zero\;Bit 1: rx_cdr_check_force_mode \;Bit 2: com_code_compliance \;Bit 3: eth_56g_stamped\;Bit 4: non_mlx_qsfp_transceiver\;Bit 5: non_mlx_sfp_transceiver\;Bit 6: ib_comp_codes\;Bit 7: edr_comp\;Bit 8: fdr_comp" access="RO" enum="com_codes_is_zero=0x1,rx_cdr_check_force_mode=0x2,com_code_compliance=0x4,eth_56g_stamped=0x8,non_mlx_qsfp_transceiver=0x10,non_mlx_sfp_transceiver=0x20,ib_comp_codes=0x40,edr_comp=0x80,fdr_comp=0x100" offset="0x6C.0" size="0x4.0" />
	<field name="kr_frame_lock_tuning_failure_events_count" descr="Number of times that fast tuning (50ms) for KR lock failed to achieve frame lock." access="RO" offset="0x70.0" size="0x4.0" />
	<field name="kr_full_tuning_failure_count" descr="Number of times that full tuning (0.5sec/3sec) for KR full tuning flow failed to achieve desire SI performance" access="RO" offset="0x74.0" size="0x4.0" />
	<field name="pm_debug_indication" descr="Bit 0: phy_test_mode\;Bit 1: force_mode_en" access="RO" enum="phy_test_mode=0x1,force_mode_en=0x2" offset="0x78.0" size="0x0.16" />
	<field name="ib_debug_indication" descr="Bit 0: cause_plr_tx_max_outstanding_cells" access="RO" enum="cause_plr_tx_max_outstanding_cells=0x1" offset="0x78.16" size="0x0.16" />
	<field name="pm_catastrophic_enum" descr="Phy Manager catastrophic enum" access="RO" offset="0x7C.0" size="0x0.7" />
	<field name="pm_cat_val" descr="When set, indicates the pm_catastrophic_enum is valid" access="RO" offset="0x7C.7" size="0x0.1" />
	<field name="an_catastrophic_enum" descr="Auto-neg catastrophic enum" access="RO" offset="0x7C.8" size="0x0.7" />
	<field name="an_cat_val" descr="When set, indicates the an_catastrophic_enum is valid" access="RO" offset="0x7C.15" size="0x0.1" />
	<field name="hst_catastrophic_enum" descr="HST catastrophic enum" access="RO" offset="0x7C.16" size="0x0.7" />
	<field name="hst_cat_val" descr="When set, indicates the hst_catastrophic_enum is valid" access="RO" offset="0x7C.23" size="0x0.1" />
	<field name="pd_catastrophic_enum" descr="Parallel Detect catastrophic enum" access="RO" offset="0x7C.24" size="0x0.7" />
	<field name="pd_cat_val" descr="When set, indicates the pd_catastrophic_enum is valid" access="RO" offset="0x7C.31" size="0x0.1" />
	<field name="pd_debug_indication" descr="Bit 0: speed_change_high_speed_module\;Bit 1: False_positive_signal_detect\;Bit 2: Nv2nv_force\;Bit 3: bad_kr_mask \;Bit 4: kr_mlx_peer\;Bit 5: entered_signal_detect\;Bit 6: entered_rate_config\;Bit 7: entered_activate_sunfsm\;Bit 8: entered_done\;Bit 9: entered_subfsm_fail" access="RO" enum="speed_change_high_speed_module=0x1,False_positive_signal_detect=0x2,Nv2nv_force=0x4,bad_kr_mask=0x8,kr_mlx_peer=0x10,entered_signal_detect=0x20,entered_rate_config=0x40,entered_activate_sunfsm=0x80,entered_done=0x100,entered_subfsm_fail=0x200" offset="0x80.0" size="0x4.0" />
	<field name="pd_count" descr="Parallel detect cycles counter" access="RO" offset="0x84.0" size="0x0.6" />
	<field name="fp_signal_detect_count" descr="False Positive signal detect count" access="RO" offset="0x84.8" size="0x0.6" />
	<field name="hst_mismatch_reason" descr="0: speed\;1: FEC\;2: precoding\;3: Gray coding" access="RO" offset="0x84.16" size="0x0.2" />
	<field name="psi_collision2" descr="FSM 2 to call sub fsm of PSI that caused collision\;see fsm_mask in debug page for FSM numbering" access="RO" offset="0x84.22" size="0x0.5" />
	<field name="psi_collision1" descr="FSM 1 to call sub fsm of PSI that caused collision\;see fsm_mask in debug page for FSM numbering" access="RO" offset="0x84.27" size="0x0.5" />
	<field name="nlpn_debug_ind_mask" descr="Bit 0: nonce_match_fail\;Bit 1: timeout - rst cause idle in npln\;Bit 2: hs_neg\;Bit 3: dme_neg" access="RO" enum="nonce_match_fail=0x1,timeout=0x2,hs_neg=0x4,dme_neg=0x8" offset="0x88.0" size="0x0.8" />
	<field name="phy2mod_speed_req" descr="phy 2 module requested speed, aka speed_apsel_value\;bitmask according to PTYS.ext_ethernet_protocol for ETH speeds\;or ib_ext_protocols for IB speeds" access="RO" offset="0x8C.0" size="0x4.0" />
	<field name="phy2mod_deactivate_lanes" descr="Bitmask per lane for phy2mod deactivate request status.\;0 - allow DP activation\;1 - Deactivate module DP" access="RO" offset="0x90.0" size="0x0.8" />
	<field name="phy2mod_ack_lanes" descr="Bitmask per lane for phy2mod request status.\;0 - ack\;1 - nack" access="RO" offset="0x90.8" size="0x0.8" />
	<field name="one_pll_mod" descr="indicates module has one pll for all lanes of the module." access="RO" offset="0x90.29" size="0x0.1" />
	<field name="no_dme_mod" descr="no_dme_module indicates module doesn&apos;t support low speed signaling such as 312.5 MB/s for DME ETH AN signaling or SDR (2.5 GB/s) for IB low speed AN." access="RO" offset="0x90.30" size="0x0.1" />
	<field name="eeprom_prsnt" descr="eeprom present indication" access="RO" offset="0x90.31" size="0x0.1" />
	<field name="rx_bypass_mux_plt0" descr="1 bit per each split; 1-enabled; 0-Bypass (No MacSec)" access="RO" offset="0x94.0" size="0x0.2" />
	<field name="rx_bypass_mux_plt1" descr="1 bit per each split; 1-enabled; 0-Bypass (No MacSec)" access="RO" offset="0x94.2" size="0x0.2" />
	<field name="tx_bypass_mux_plt0" descr="1 bit per each split; 1-enabled; 0-Bypass (No MacSec)" access="RO" offset="0x94.4" size="0x0.2" />
	<field name="tx_bypass_mux_plt1" descr="1 bit per each split; 1-enabled; 0-Bypass (No MacSec)" access="RO" offset="0x94.6" size="0x0.2" />
	<field name="reconciliation_mux_plt0" descr="1 bit per each split; 1-enabled; 0-Bypass (No MacSec)" access="RO" offset="0x94.8" size="0x0.2" />
	<field name="reconciliation_mux_plt1" descr="1 bit per each split; 1-enabled; 0-Bypass (No MacSec)" access="RO" offset="0x94.10" size="0x0.2" />
	<field name="macsec_en_plt0_s0" descr="MacSec enabled plt0 split 0" access="RO" offset="0x94.12" size="0x0.1" />
	<field name="macsec_en_plt0_s1" descr="MacSec enabled plt0 split 1" access="RO" offset="0x94.13" size="0x0.1" />
	<field name="macsec_en_plt1_s0" descr="MacSec enabled plt1 split 0" access="RO" offset="0x94.14" size="0x0.1" />
	<field name="macsec_en_plt1_s1" descr="MacSec enabled plt1 split 1" access="RO" offset="0x94.15" size="0x0.1" />
	<field name="cnt_rx_frame_received_ok_s0" descr="MacSec Engine Wrapper, debug counter" access="RO" offset="0x94.16" size="0x0.4" />
	<field name="cnt_rx_frame_received_ok_s1" descr="MacSec Engine Wrapper, debug counter" access="RO" offset="0x94.20" size="0x0.4" />
	<field name="port_xmit_pkts_inc_s0" descr="MacSec Engine Wrapper, debug counter" access="RO" offset="0x94.24" size="0x0.4" />
	<field name="port_xmit_pkts_inc_s1" descr="MacSec Engine Wrapper, debug counter" access="RO" offset="0x94.28" size="0x0.4" />
	<field name="plr_rtt_ndr_4x_kp4_threshold" descr="rtt threshold in 1 ns units for NDR_4x speeds with KP4 FEC\;" access="RO" offset="0x98.0" size="0x0.16" />
	<field name="plr_rtt_hdr_threshold" descr="rtt threshold in 1 ns units for HDR speeds" access="RO" offset="0x98.16" size="0x0.16" />
	<field name="plr_rtt_ndr_2x_kp4_threshold" descr="rtt threshold in 1 ns units for NDR_2x speeds with KP4 FEC\;" access="RO" offset="0x9C.0" size="0x0.16" />
	<field name="plr_rtt_xdr_1x_kp4_threshold" descr="rtt threshold in 1 ns units for XDR_1x speeds with KP4 FEC\;" access="RO" offset="0x9C.16" size="0x0.16" />
	<field name="plr_rtt_ndr_2x_ell_threshold" descr="rtt threshold in 1 ns units for NDR_2x speeds with ELL FEC\;" access="RO" offset="0xA0.0" size="0x0.16" />
	<field name="plr_rtt_ndr_4x_ell_threshold" descr="rtt threshold in 1 ns units for NDR_4x speeds with ELL FEC\;" access="RO" offset="0xA0.16" size="0x0.16" />
	<field name="plr_rtt_xdr_1x_ell_threshold" descr="rtt threshold in 1 ns units for XDR_1x speeds with ELL FEC\;" access="RO" offset="0xA4.0" size="0x0.16" />
	<field name="plr_rtt_xdr_2x_kp4_threshold" descr="rtt threshold in 1 ns units for XDR_2x speeds with KP4 FEC\;" access="RO" offset="0xA4.16" size="0x0.16" />
	<field name="nv_link_generation" descr="Device NV-Link Generation:\;0: nv_link_5\;1: nv_link_6\;2: nv_link_7\;3: nv_link_8" access="RO" enum="nv_link_5=0x0,nv_link_6=0x1,nv_link_7=0x2,nv_link_8=0x3" offset="0xA8.0" size="0x0.5" />
	<field name="plr_rtt_xdr_2x_ell_threshold" descr="rtt threshold in 1 ns units for XDR_2x speeds with ELL FEC" access="RO" offset="0xA8.16" size="0x0.16" />
	<field name="data_groups_collection_timeout" descr="When set to &quot;1&quot;, Indicates that snapshot and single timeline event data collection reached a timeout prior to successfully collecting all required data.\;\;Value is reset every new data collection trigger." access="RO" offset="0xBC.31" size="0x0.1" />
	<field name="mode_b_fsm_state_lane_0" descr="Mode B FSM state for lane[i]:\;0: STATE_0 \;1: STATE_1 \;2: STATE_2 \;3: STATE_3 \;4: STATE_4 \;\;Note: this FSM is applicable only to mode B links." access="RO" offset="0xC0.0" size="0x0.4" />
	<field name="mode_b_fsm_state_lane_1" descr="Mode B FSM state for lane[i]:\;0: STATE_0 \;1: STATE_1 \;2: STATE_2 \;3: STATE_3 \;4: STATE_4 \;\;Note: this FSM is applicable only to mode B links." access="RO" offset="0xC0.4" size="0x0.4" />
	<field name="local_type" descr="Local type.Can be written by the FW in FW control mode and by the SW in independent mode.\;001: CPO \;010: LPO \;011: FRO \;110: TRO \;111: Not supported" access="RW" offset="0xC4.0" size="0x0.3" />
	<field name="remote_type" descr="Peer type. Can be written by the FW in FW control mode and by the SW in independent mode.\;100: Not detected\;001: CPO detected\;010: LPO detected\;011: FRO detected\;110: TRO detected\;111: Not supported" access="RW" offset="0xC4.4" size="0x0.3" />
	<field name="nvidia_peer" descr="Nvidia peer detected indication" access="RO" offset="0xC4.9" size="0x0.1" />
	<field name="rts_rx_all" descr="RTS received in all lanes assigned to the port" access="RO" offset="0xC4.10" size="0x0.1" />
	<field name="training_status" descr="The status of the ILT function.\;0: FAIL: Any lane training failed\;1: OK: All lanes are OK\;2: READY: All lanes are TRAINED or OK with at least one lane being TRAINED\;3: IN_PROGRESS: At least one lane is being trained and no lanes training failed" access="RO" offset="0xC4.12" size="0x0.2" />
	<field name="rts_status" descr="The status of the RTS function.\;0: FAIL: Any lane training failed\;1: OK: All lanes are OK\;2: READY: remote_rts is true and training_status is READY\;3: IN_PROGRESS: training_status is IN_PROGRESS or remote_rts is false and training_status is READY" access="RO" offset="0xC4.15" size="0x0.2" />
	<field name="isl_ready" descr="Indicates that link training is done for the port. Set to 1 when ln_local_rx_ready and ln_remote_rx_ready are true for all lanes of the port, and to 0 otherwise" access="RO" offset="0xC4.18" size="0x0.1" />
	<field name="l0_train_ctl_state" descr="The actual state of the Training control state diagram (IEEE 802.3dj Annex 178B Figure 178B-10) for lane 0.\;0: QUIET\;1: SEND_TRAINING\;2: TRAIN_START\;3: TRAIN_LOCAL\;4: TRAIN_REMOTE\;5: ISL_READY\;6: PATH_READY\;7: PATH_UP\;8: RECOVERY\;9: FAIL\;10: SEND_LOCAL\;11: RX_READY" access="RO" enum="QUIET=0x0,SEND_TRAINING=0x1,TRAIN_START=0x2,TRAIN_LOCAL=0x3,TRAIN_REMOTE=0x4,ISL_READY=0x5,PATH_READY=0x6,PATH_UP=0x7,RECOVERY=0x8,FAIL=0x9,SEND_LOCAL=0xa,RX_READY=0xb" offset="0xCC.0" size="0x0.4" />
	<field name="l0_rts_update_state" descr="The actual state of the RTS update state diagram (IEEE 802.3dj Annex 178B Figure 178B-9) for lane 0.\;0: START\;1: WAIT_ADJACENT\;2: SWITCH_CLOCK\;3: TX_CLOCK_READY\;4: FORWARD_RTS" access="RO" offset="0xCC.5" size="0x0.3" />
	<field name="l0_local_mc_mode" descr="The modulation and precoding for the transmitter in lane 0.\;0: PAM2\;1: Reserved\;2: PAM4 without precoding\;3: PAM4 with precoding" access="RO" offset="0xCC.8" size="0x0.2" />
	<field name="l0_local_tp_mode" descr="Transmitted test pattern for lane 0.\;0: Synchronous PRBS13\;1: Free-running PRBS13\;2: Reserved\;3: Free-running PRBS31" access="RO" offset="0xCC.10" size="0x0.2" />
	<field name="l0_training_status" descr="The status of the ILT function in lane 0.\;0: FAIL: Training failed\;1: OK: Training OK\;2: Reserved\;3: IN_PROGRESS: Lane is being trained" access="RO" offset="0xCC.12" size="0x0.2" />
	<field name="l0_tx_mode" descr="Indicates the content of the transmitter output of lane 0 when tx_disable = 0.\;0: Training\;1: local pattern being transmitted (for training_enable = 0)\;2: Normal data from PCS being transmitted" access="RO" offset="0xCC.15" size="0x0.2" />
	<field name="l0_polarity_correction" descr="Indicates that an inverted LT frame marker has been detected in lane 0" access="RO" offset="0xCC.18" size="0x0.1" />
	<field name="l0_tx_disable" descr="Lane 0 transmitter disabled (squelch). Used only if training_enable = 0" access="RO" offset="0xCC.19" size="0x0.1" />
	<field name="l0_remote_rts" descr="Received in the LT frames to indicate that the remote interface is ready to send (Invert of the Continue Training bit in the LT frame) for lane 0" access="RO" offset="0xCC.20" size="0x0.1" />
	<field name="l0_local_rts" descr="Lane 0 local interface ready to send" access="RO" offset="0xCC.21" size="0x0.1" />
	<field name="l0_remote_rx_ready" descr="Received in the LT frames to indicate that the remote interface completed training in lane 0" access="RO" offset="0xCC.22" size="0x0.1" />
	<field name="l0_local_rx_ready" descr="Lane 0 local interface completed training" access="RO" offset="0xCC.23" size="0x0.1" />
	<field name="l0_remote_tf_lock" descr="The training frame marker position has been identified on lane 0 by the peer. Reflects the value of the receiver frame lock bit of the status field of the received training frame." access="RO" offset="0xCC.24" size="0x0.1" />
	<field name="l0_local_tf_lock" descr="The training frame marker position has been identified on lane 0 of the interface." access="RO" offset="0xCC.25" size="0x0.1" />
	<field name="l1_train_ctl_state" descr="The actual state of the Training control state diagram (IEEE 802.3dj Annex 178B Figure 178B-10) for lane 1.\;0: QUIET\;1: SEND_TRAINING\;2: TRAIN_START\;3: TRAIN_LOCAL\;4: TRAIN_REMOTE\;5: ISL_READY\;6: PATH_READY\;7: PATH_UP\;8: RECOVERY\;9: FAIL\;10: SEND_LOCAL\;11: RX_READY" access="RO" enum="QUIET=0x0,SEND_TRAINING=0x1,TRAIN_START=0x2,TRAIN_LOCAL=0x3,TRAIN_REMOTE=0x4,ISL_READY=0x5,PATH_READY=0x6,PATH_UP=0x7,RECOVERY=0x8,FAIL=0x9,SEND_LOCAL=0xa,RX_READY=0xb" offset="0xD0.0" size="0x0.4" />
	<field name="l1_rts_update_state" descr="The actual state of the RTS update state diagram (IEEE 802.3dj Annex 178B Figure 178B-9) for lane 1.\;0: START\;1: WAIT_ADJACENT\;2: SWITCH_CLOCK\;3: TX_CLOCK_READY\;4: FORWARD_RTS" access="RO" offset="0xD0.5" size="0x0.3" />
	<field name="l1_local_mc_mode" descr="The modulation and precoding for the transmitter in lane 1.\;0: PAM2\;1: Reserved\;2: PAM4 without precoding\;3: PAM4 with precoding" access="RO" offset="0xD0.8" size="0x0.2" />
	<field name="l1_local_tp_mode" descr="Transmitted test pattern for lane 1.\;0: Synchronous PRBS13\;1: Free-running PRBS13\;2: Reserved\;3: Free-running PRBS31" access="RO" offset="0xD0.10" size="0x0.2" />
	<field name="l1_training_status" descr="The status of the ILT function in lane 1.\;0: FAIL: Training failed\;1: OK: Training OK\;2: Reserved\;3: IN_PROGRESS: Lane is being trained" access="RO" offset="0xD0.12" size="0x0.2" />
	<field name="l1_tx_mode" descr="Indicates the content of the transmitter output of lane 1 when tx_disable = 0.\;0: Training\;1: local pattern being transmitted (for training_enable = 0)\;2: Normal data from PCS being transmitted" access="RO" offset="0xD0.15" size="0x0.2" />
	<field name="l1_polarity_correction" descr="Indicates that an inverted LT frame marker has been detected in lane 1" access="RO" offset="0xD0.18" size="0x0.1" />
	<field name="l1_tx_disable" descr="Lane 1 transmitter disabled (squelch). Used only if training_enable = 0" access="RO" offset="0xD0.19" size="0x0.1" />
	<field name="l1_remote_rts" descr="Received in the LT frames to indicate that the remote interface is ready to send (Invert of the Continue Training bit in the LT frame) for lane 1" access="RO" offset="0xD0.20" size="0x0.1" />
	<field name="l1_local_rts" descr="Lane 1 local interface ready to send" access="RO" offset="0xD0.21" size="0x0.1" />
	<field name="l1_remote_rx_ready" descr="Received in the LT frames to indicate that the remote interface completed training in lane 1" access="RO" offset="0xD0.22" size="0x0.1" />
	<field name="l1_local_rx_ready" descr="Lane 1 local interface completed training" access="RO" offset="0xD0.23" size="0x0.1" />
	<field name="l1_remote_tf_lock" descr="The training frame marker position has been identified on lane 1 by the peer. Reflects the value of the receiver frame lock bit of the status field of the received training frame." access="RO" offset="0xD0.24" size="0x0.1" />
	<field name="l1_local_tf_lock" descr="The training frame marker position has been identified on lane 1 of the interface." access="RO" offset="0xD0.25" size="0x0.1" />
	<field name="l2_train_ctl_state" descr="The actual state of the Training control state diagram (IEEE 802.3dj Annex 178B Figure 178B-10) for lane 2.\;0: QUIET\;1: SEND_TRAINING\;2: TRAIN_START\;3: TRAIN_LOCAL\;4: TRAIN_REMOTE\;5: ISL_READY\;6: PATH_READY\;7: PATH_UP\;8: RECOVERY\;9: FAIL\;10: SEND_LOCAL\;11: RX_READY" access="RO" enum="QUIET=0x0,SEND_TRAINING=0x1,TRAIN_START=0x2,TRAIN_LOCAL=0x3,TRAIN_REMOTE=0x4,ISL_READY=0x5,PATH_READY=0x6,PATH_UP=0x7,RECOVERY=0x8,FAIL=0x9,SEND_LOCAL=0xa,RX_READY=0xb" offset="0xD4.0" size="0x0.4" />
	<field name="l2_rts_update_state" descr="The actual state of the RTS update state diagram (IEEE 802.3dj Annex 178B Figure 178B-9) for lane 2.\;0: START\;1: WAIT_ADJACENT\;2: SWITCH_CLOCK\;3: TX_CLOCK_READY\;4: FORWARD_RTS" access="RO" offset="0xD4.5" size="0x0.3" />
	<field name="l2_local_mc_mode" descr="The modulation and precoding for the transmitter in lane 2.\;0: PAM2\;1: Reserved\;2: PAM4 without precoding\;3: PAM4 with precoding" access="RO" offset="0xD4.8" size="0x0.2" />
	<field name="l2_local_tp_mode" descr="Transmitted test pattern for lane 2.\;0: Synchronous PRBS13\;1: Free-running PRBS13\;2: Reserved\;3: Free-running PRBS31" access="RO" offset="0xD4.10" size="0x0.2" />
	<field name="l2_training_status" descr="The status of the ILT function in lane 2.\;0: FAIL: Training failed\;1: OK: Training OK\;2: Reserved\;3: IN_PROGRESS: Lane is being trained" access="RO" offset="0xD4.12" size="0x0.2" />
	<field name="l2_tx_mode" descr="Indicates the content of the transmitter output of lane 2 when tx_disable = 0.\;0: Training\;1: local pattern being transmitted (for training_enable = 0)\;2: Normal data from PCS being transmitted" access="RO" offset="0xD4.15" size="0x0.2" />
	<field name="l2_polarity_correction" descr="Indicates that an inverted LT frame marker has been detected in lane 2" access="RO" offset="0xD4.18" size="0x0.1" />
	<field name="l2_tx_disable" descr="Lane 2 transmitter disabled (squelch). Used only if training_enable = 0" access="RO" offset="0xD4.19" size="0x0.1" />
	<field name="l2_remote_rts" descr="Received in the LT frames to indicate that the remote interface is ready to send (Invert of the Continue Training bit in the LT frame) for lane 2" access="RO" offset="0xD4.20" size="0x0.1" />
	<field name="l2_local_rts" descr="Lane 2 local interface ready to send" access="RO" offset="0xD4.21" size="0x0.1" />
	<field name="l2_remote_rx_ready" descr="Received in the LT frames to indicate that the remote interface completed training in lane 2" access="RO" offset="0xD4.22" size="0x0.1" />
	<field name="l2_local_rx_ready" descr="Lane 2 local interface completed training" access="RO" offset="0xD4.23" size="0x0.1" />
	<field name="l2_remote_tf_lock" descr="The training frame marker position has been identified on lane 2 by the peer. Reflects the value of the receiver frame lock bit of the status field of the received training frame." access="RO" offset="0xD4.24" size="0x0.1" />
	<field name="l2_local_tf_lock" descr="The training frame marker position has been identified on lane 2 of the interface." access="RO" offset="0xD4.25" size="0x0.1" />
	<field name="l3_train_ctl_state" descr="The actual state of the Training control state diagram (IEEE 802.3dj Annex 178B Figure 178B-10) for lane 3.\;0: QUIET\;1: SEND_TRAINING\;2: TRAIN_START\;3: TRAIN_LOCAL\;4: TRAIN_REMOTE\;5: ISL_READY\;6: PATH_READY\;7: PATH_UP\;8: RECOVERY\;9: FAIL\;10: SEND_LOCAL\;11: RX_READY" access="RO" enum="QUIET=0x0,SEND_TRAINING=0x1,TRAIN_START=0x2,TRAIN_LOCAL=0x3,TRAIN_REMOTE=0x4,ISL_READY=0x5,PATH_READY=0x6,PATH_UP=0x7,RECOVERY=0x8,FAIL=0x9,SEND_LOCAL=0xa,RX_READY=0xb" offset="0xD8.0" size="0x0.4" />
	<field name="l3_rts_update_state" descr="The actual state of the RTS update state diagram (IEEE 802.3dj Annex 178B Figure 178B-9) for lane 3.\;0: START\;1: WAIT_ADJACENT\;2: SWITCH_CLOCK\;3: TX_CLOCK_READY\;4: FORWARD_RTS" access="RO" offset="0xD8.5" size="0x0.3" />
	<field name="l3_local_mc_mode" descr="The modulation and precoding for the transmitter in lane 3.\;0: PAM2\;1: Reserved\;2: PAM4 without precoding\;3: PAM4 with precoding" access="RO" offset="0xD8.8" size="0x0.2" />
	<field name="l3_local_tp_mode" descr="Transmitted test pattern for lane 3.\;0: Synchronous PRBS13\;1: Free-running PRBS13\;2: Reserved\;3: Free-running PRBS31" access="RO" offset="0xD8.10" size="0x0.2" />
	<field name="l3_training_status" descr="The status of the ILT function in lane 3.\;0: FAIL: Training failed\;1: OK: Training OK\;2: Reserved\;3: IN_PROGRESS: Lane is being trained" access="RO" offset="0xD8.12" size="0x0.2" />
	<field name="l3_tx_mode" descr="Indicates the content of the transmitter output of lane 3 when tx_disable = 0.\;0: Training\;1: local pattern being transmitted (for training_enable = 0)\;2: Normal data from PCS being transmitted" access="RO" offset="0xD8.15" size="0x0.2" />
	<field name="l3_polarity_correction" descr="Indicates that an inverted LT frame marker has been detected in lane 3" access="RO" offset="0xD8.18" size="0x0.1" />
	<field name="l3_tx_disable" descr="Lane 3 transmitter disabled (squelch). Used only if training_enable = 0" access="RO" offset="0xD8.19" size="0x0.1" />
	<field name="l3_remote_rts" descr="Received in the LT frames to indicate that the remote interface is ready to send (Invert of the Continue Training bit in the LT frame) for lane 3" access="RO" offset="0xD8.20" size="0x0.1" />
	<field name="l3_local_rts" descr="Lane 3 local interface ready to send" access="RO" offset="0xD8.21" size="0x0.1" />
	<field name="l3_remote_rx_ready" descr="Received in the LT frames to indicate that the remote interface completed training in lane 3" access="RO" offset="0xD8.22" size="0x0.1" />
	<field name="l3_local_rx_ready" descr="Lane 3 local interface completed training" access="RO" offset="0xD8.23" size="0x0.1" />
	<field name="l3_remote_tf_lock" descr="The training frame marker position has been identified on lane 3 by the peer. Reflects the value of the receiver frame lock bit of the status field of the received training frame." access="RO" offset="0xD8.24" size="0x0.1" />
	<field name="l3_local_tf_lock" descr="The training frame marker position has been identified on lane 3 of the interface." access="RO" offset="0xD8.25" size="0x0.1" />
	<field name="l4_train_ctl_state" descr="The actual state of the Training control state diagram (IEEE 802.3dj Annex 178B Figure 178B-10) for lane 4.\;0: QUIET\;1: SEND_TRAINING\;2: TRAIN_START\;3: TRAIN_LOCAL\;4: TRAIN_REMOTE\;5: ISL_READY\;6: PATH_READY\;7: PATH_UP\;8: RECOVERY\;9: FAIL\;10: SEND_LOCAL\;11: RX_READY" access="RO" enum="QUIET=0x0,SEND_TRAINING=0x1,TRAIN_START=0x2,TRAIN_LOCAL=0x3,TRAIN_REMOTE=0x4,ISL_READY=0x5,PATH_READY=0x6,PATH_UP=0x7,RECOVERY=0x8,FAIL=0x9,SEND_LOCAL=0xa,RX_READY=0xb" offset="0xDC.0" size="0x0.4" />
	<field name="l4_rts_update_state" descr="The actual state of the RTS update state diagram (IEEE 802.3dj Annex 178B Figure 178B-9) for lane 4.\;0: START\;1: WAIT_ADJACENT\;2: SWITCH_CLOCK\;3: TX_CLOCK_READY\;4: FORWARD_RTS" access="RO" offset="0xDC.5" size="0x0.3" />
	<field name="l4_local_mc_mode" descr="The modulation and precoding for the transmitter in lane 4.\;0: PAM2\;1: Reserved\;2: PAM4 without precoding\;3: PAM4 with precoding" access="RO" offset="0xDC.8" size="0x0.2" />
	<field name="l4_local_tp_mode" descr="Transmitted test pattern for lane 4.\;0: Synchronous PRBS13\;1: Free-running PRBS13\;2: Reserved\;3: Free-running PRBS31" access="RO" offset="0xDC.10" size="0x0.2" />
	<field name="l4_training_status" descr="The status of the ILT function in lane 4.\;0: FAIL: Training failed\;1: OK: Training OK\;2: Reserved\;3: IN_PROGRESS: Lane is being trained" access="RO" offset="0xDC.12" size="0x0.2" />
	<field name="l4_tx_mode" descr="Indicates the content of the transmitter output of lane 4 when tx_disable = 0.\;0: Training\;1: local pattern being transmitted (for training_enable = 0)\;2: Normal data from PCS being transmitted" access="RO" offset="0xDC.15" size="0x0.2" />
	<field name="l4_polarity_correction" descr="Indicates that an inverted LT frame marker has been detected in lane 4" access="RO" offset="0xDC.18" size="0x0.1" />
	<field name="l4_tx_disable" descr="Lane 4 transmitter disabled (squelch). Used only if training_enable = 0" access="RO" offset="0xDC.19" size="0x0.1" />
	<field name="l4_remote_rts" descr="Received in the LT frames to indicate that the remote interface is ready to send (Invert of the Continue Training bit in the LT frame) for lane 4" access="RO" offset="0xDC.20" size="0x0.1" />
	<field name="l4_local_rts" descr="Lane 4 local interface ready to send" access="RO" offset="0xDC.21" size="0x0.1" />
	<field name="l4_remote_rx_ready" descr="Received in the LT frames to indicate that the remote interface completed training in lane 4" access="RO" offset="0xDC.22" size="0x0.1" />
	<field name="l4_local_rx_ready" descr="Lane 4 local interface completed training" access="RO" offset="0xDC.23" size="0x0.1" />
	<field name="l4_remote_tf_lock" descr="The training frame marker position has been identified on lane 4 by the peer. Reflects the value of the receiver frame lock bit of the status field of the received training frame." access="RO" offset="0xDC.24" size="0x0.1" />
	<field name="l4_local_tf_lock" descr="The training frame marker position has been identified on lane 4 of the interface." access="RO" offset="0xDC.25" size="0x0.1" />
	<field name="l5_train_ctl_state" descr="The actual state of the Training control state diagram (IEEE 802.3dj Annex 178B Figure 178B-10) for lane 5.\;0: QUIET\;1: SEND_TRAINING\;2: TRAIN_START\;3: TRAIN_LOCAL\;4: TRAIN_REMOTE\;5: ISL_READY\;6: PATH_READY\;7: PATH_UP\;8: RECOVERY\;9: FAIL\;10: SEND_LOCAL\;11: RX_READY" access="RO" enum="QUIET=0x0,SEND_TRAINING=0x1,TRAIN_START=0x2,TRAIN_LOCAL=0x3,TRAIN_REMOTE=0x4,ISL_READY=0x5,PATH_READY=0x6,PATH_UP=0x7,RECOVERY=0x8,FAIL=0x9,SEND_LOCAL=0xa,RX_READY=0xb" offset="0xE0.0" size="0x0.4" />
	<field name="l5_rts_update_state" descr="The actual state of the RTS update state diagram (IEEE 802.3dj Annex 178B Figure 178B-9) for lane 5.\;0: START\;1: WAIT_ADJACENT\;2: SWITCH_CLOCK\;3: TX_CLOCK_READY\;4: FORWARD_RTS" access="RO" offset="0xE0.5" size="0x0.3" />
	<field name="l5_local_mc_mode" descr="The modulation and precoding for the transmitter in lane 5.\;0: PAM2\;1: Reserved\;2: PAM4 without precoding\;3: PAM4 with precoding" access="RO" offset="0xE0.8" size="0x0.2" />
	<field name="l5_local_tp_mode" descr="Transmitted test pattern for lane 5.\;0: Synchronous PRBS13\;1: Free-running PRBS13\;2: Reserved\;3: Free-running PRBS31" access="RO" offset="0xE0.10" size="0x0.2" />
	<field name="l5_training_status" descr="The status of the ILT function in lane 5.\;0: FAIL: Training failed\;1: OK: Training OK\;2: Reserved\;3: IN_PROGRESS: Lane is being trained" access="RO" offset="0xE0.12" size="0x0.2" />
	<field name="l5_tx_mode" descr="Indicates the content of the transmitter output of lane 5 when tx_disable = 0.\;0: Training\;1: local pattern being transmitted (for training_enable = 0)\;2: Normal data from PCS being transmitted" access="RO" offset="0xE0.15" size="0x0.2" />
	<field name="l5_polarity_correction" descr="Indicates that an inverted LT frame marker has been detected in lane 5" access="RO" offset="0xE0.18" size="0x0.1" />
	<field name="l5_tx_disable" descr="Lane 5 transmitter disabled (squelch). Used only if training_enable = 0" access="RO" offset="0xE0.19" size="0x0.1" />
	<field name="l5_remote_rts" descr="Received in the LT frames to indicate that the remote interface is ready to send (Invert of the Continue Training bit in the LT frame) for lane 5" access="RO" offset="0xE0.20" size="0x0.1" />
	<field name="l5_local_rts" descr="Lane 5 local interface ready to send" access="RO" offset="0xE0.21" size="0x0.1" />
	<field name="l5_remote_rx_ready" descr="Received in the LT frames to indicate that the remote interface completed training in lane 5" access="RO" offset="0xE0.22" size="0x0.1" />
	<field name="l5_local_rx_ready" descr="Lane 5 local interface completed training" access="RO" offset="0xE0.23" size="0x0.1" />
	<field name="l5_remote_tf_lock" descr="The training frame marker position has been identified on lane 5 by the peer. Reflects the value of the receiver frame lock bit of the status field of the received training frame." access="RO" offset="0xE0.24" size="0x0.1" />
	<field name="l5_local_tf_lock" descr="The training frame marker position has been identified on lane 5 of the interface." access="RO" offset="0xE0.25" size="0x0.1" />
	<field name="l6_train_ctl_state" descr="The actual state of the Training control state diagram (IEEE 802.3dj Annex 178B Figure 178B-10) for lane 6.\;0: QUIET\;1: SEND_TRAINING\;2: TRAIN_START\;3: TRAIN_LOCAL\;4: TRAIN_REMOTE\;5: ISL_READY\;6: PATH_READY\;7: PATH_UP\;8: RECOVERY\;9: FAIL\;10: SEND_LOCAL\;11: RX_READY" access="RO" enum="QUIET=0x0,SEND_TRAINING=0x1,TRAIN_START=0x2,TRAIN_LOCAL=0x3,TRAIN_REMOTE=0x4,ISL_READY=0x5,PATH_READY=0x6,PATH_UP=0x7,RECOVERY=0x8,FAIL=0x9,SEND_LOCAL=0xa,RX_READY=0xb" offset="0xE4.0" size="0x0.4" />
	<field name="l6_rts_update_state" descr="The actual state of the RTS update state diagram (IEEE 802.3dj Annex 178B Figure 178B-9) for lane 6.\;0: START\;1: WAIT_ADJACENT\;2: SWITCH_CLOCK\;3: TX_CLOCK_READY\;4: FORWARD_RTS" access="RO" offset="0xE4.5" size="0x0.3" />
	<field name="l6_local_mc_mode" descr="The modulation and precoding for the transmitter in lane 6.\;0: PAM2\;1: Reserved\;2: PAM4 without precoding\;3: PAM4 with precoding" access="RO" offset="0xE4.8" size="0x0.2" />
	<field name="l6_local_tp_mode" descr="Transmitted test pattern for lane 6.\;0: Synchronous PRBS13\;1: Free-running PRBS13\;2: Reserved\;3: Free-running PRBS31" access="RO" offset="0xE4.10" size="0x0.2" />
	<field name="l6_training_status" descr="The status of the ILT function in lane 6.\;0: FAIL: Training failed\;1: OK: Training OK\;2: Reserved\;3: IN_PROGRESS: Lane is being trained" access="RO" offset="0xE4.12" size="0x0.2" />
	<field name="l6_tx_mode" descr="Indicates the content of the transmitter output of lane 6 when tx_disable = 0.\;0: Training\;1: local pattern being transmitted (for training_enable = 0)\;2: Normal data from PCS being transmitted" access="RO" offset="0xE4.15" size="0x0.2" />
	<field name="l6_polarity_correction" descr="Indicates that an inverted LT frame marker has been detected in lane 6" access="RO" offset="0xE4.18" size="0x0.1" />
	<field name="l6_tx_disable" descr="Lane 6 transmitter disabled (squelch). Used only if training_enable = 0" access="RO" offset="0xE4.19" size="0x0.1" />
	<field name="l6_remote_rts" descr="Received in the LT frames to indicate that the remote interface is ready to send (Invert of the Continue Training bit in the LT frame) for lane 6" access="RO" offset="0xE4.20" size="0x0.1" />
	<field name="l6_local_rts" descr="Lane 6 local interface ready to send" access="RO" offset="0xE4.21" size="0x0.1" />
	<field name="l6_remote_rx_ready" descr="Received in the LT frames to indicate that the remote interface completed training in lane 6" access="RO" offset="0xE4.22" size="0x0.1" />
	<field name="l6_local_rx_ready" descr="Lane 6 local interface completed training" access="RO" offset="0xE4.23" size="0x0.1" />
	<field name="l6_remote_tf_lock" descr="The training frame marker position has been identified on lane 6 by the peer. Reflects the value of the receiver frame lock bit of the status field of the received training frame." access="RO" offset="0xE4.24" size="0x0.1" />
	<field name="l6_local_tf_lock" descr="The training frame marker position has been identified on lane 6 of the interface." access="RO" offset="0xE4.25" size="0x0.1" />
	<field name="l7_train_ctl_state" descr="The actual state of the Training control state diagram (IEEE 802.3dj Annex 178B Figure 178B-10) for lane 7.\;0: QUIET\;1: SEND_TRAINING\;2: TRAIN_START\;3: TRAIN_LOCAL\;4: TRAIN_REMOTE\;5: ISL_READY\;6: PATH_READY\;7: PATH_UP\;8: RECOVERY\;9: FAIL\;10: SEND_LOCAL\;11: RX_READY" access="RO" enum="QUIET=0x0,SEND_TRAINING=0x1,TRAIN_START=0x2,TRAIN_LOCAL=0x3,TRAIN_REMOTE=0x4,ISL_READY=0x5,PATH_READY=0x6,PATH_UP=0x7,RECOVERY=0x8,FAIL=0x9,SEND_LOCAL=0xa,RX_READY=0xb" offset="0xE8.0" size="0x0.4" />
	<field name="l7_rts_update_state" descr="The actual state of the RTS update state diagram (IEEE 802.3dj Annex 178B Figure 178B-9) for lane 7.\;0: START\;1: WAIT_ADJACENT\;2: SWITCH_CLOCK\;3: TX_CLOCK_READY\;4: FORWARD_RTS" access="RO" offset="0xE8.5" size="0x0.3" />
	<field name="l7_local_mc_mode" descr="The modulation and precoding for the transmitter in lane 7.\;0: PAM2\;1: Reserved\;2: PAM4 without precoding\;3: PAM4 with precoding" access="RO" offset="0xE8.8" size="0x0.2" />
	<field name="l7_local_tp_mode" descr="Transmitted test pattern for lane 7.\;0: Synchronous PRBS13\;1: Free-running PRBS13\;2: Reserved\;3: Free-running PRBS31" access="RO" offset="0xE8.10" size="0x0.2" />
	<field name="l7_training_status" descr="The status of the ILT function in lane 7.\;0: FAIL: Training failed\;1: OK: Training OK\;2: Reserved\;3: IN_PROGRESS: Lane is being trained" access="RO" offset="0xE8.12" size="0x0.2" />
	<field name="l7_tx_mode" descr="Indicates the content of the transmitter output of lane 7 when tx_disable = 0.\;0: Training\;1: local pattern being transmitted (for training_enable = 0)\;2: Normal data from PCS being transmitted" access="RO" offset="0xE8.15" size="0x0.2" />
	<field name="l7_polarity_correction" descr="Indicates that an inverted LT frame marker has been detected in lane 7" access="RO" offset="0xE8.18" size="0x0.1" />
	<field name="l7_tx_disable" descr="Lane 7 transmitter disabled (squelch). Used only if training_enable = 0" access="RO" offset="0xE8.19" size="0x0.1" />
	<field name="l7_remote_rts" descr="Received in the LT frames to indicate that the remote interface is ready to send (Invert of the Continue Training bit in the LT frame) for lane 7" access="RO" offset="0xE8.20" size="0x0.1" />
	<field name="l7_local_rts" descr="Lane 7 local interface ready to send" access="RO" offset="0xE8.21" size="0x0.1" />
	<field name="l7_remote_rx_ready" descr="Received in the LT frames to indicate that the remote interface completed training in lane 7" access="RO" offset="0xE8.22" size="0x0.1" />
	<field name="l7_local_rx_ready" descr="Lane 7 local interface completed training" access="RO" offset="0xE8.23" size="0x0.1" />
	<field name="l7_remote_tf_lock" descr="The training frame marker position has been identified on lane 7 by the peer. Reflects the value of the receiver frame lock bit of the status field of the received training frame." access="RO" offset="0xE8.24" size="0x0.1" />
	<field name="l7_local_tf_lock" descr="The training frame marker position has been identified on lane 7 of the interface." access="RO" offset="0xE8.25" size="0x0.1" />
</node>

<node name="pddr_phy_manager_link_enabled_eth_ext" descr="" size="0x4.0" >
	<field name="phy_manager_link_eth_enabled" descr="Ethernet protocols admin state: see PTYS.ext_eth_proto_admin" access="RO" offset="0x0.0" size="0x4.0" />
</node>

<node name="pddr_phy_manager_link_enabled_ib_ext" descr="" size="0x4.0" >
	<field name="phy_manager_link_proto_enabled" descr="IB link enabled speed:\;Bit 0 - SDR\;Bit 1 - DDR\;Bit 2 - QDR\;Bit 3 - FDR10\;Bit 4 - FDR\;Bit 5 - EDR\;Bit 6 - HDR\;Bit 7 - NDR\;Bit 8 - XDR" access="RO" offset="0x0.0" size="0x0.16" />
	<field name="phy_manager_link_width_enabled" descr="IB link enabled width:\;Bit 0 - 1x\;Bit 1 - 2x\;Bit 2 - 4x\;Other - reserved" access="RO" offset="0x0.16" size="0x0.16" />
</node>

<node name="pddr_phy_manager_link_enabled_nvlink_ext" descr="" size="0x4.0" >
	<field name="phy_manager_link_nvlink_enabled" descr="NVLink protocols admin state: \;see: Table  1706, &quot;PTYS - Extended Protocol NVLink - admin Layout,&quot; on page  2251" access="RO" offset="0x0.0" size="0x4.0" />
</node>

<node name="pddr_reg_ext" descr="" size="0x100.0" >
	<field name="port_type" descr="Supported only when indicated by PCAM \;0: Network_port\;1: Near_End_Port - (For Retimer/Gearbox - Host side)\;2: Internal_IC_LR_Port \;3: Far_End_Port - (For Retimer/Gearbox - Line side)\;Other values are reserved." access="INDEX" enum="Network_port=0x0,Near_End_Port=0x1,Internal_IC_LR_Port=0x2,Far_End_Port=0x3" offset="0x0.4" size="0x0.4" />
	<field name="plane_ind" descr="Reserved for non-planarized port.\;Plane port index of the aggregated port. A value of 0 refers to the aggregated port only." access="INDEX" offset="0x0.8" size="0x0.4" />
	<field name="lp_msb" descr="Local port number [9:8]" access="INDEX" offset="0x0.12" size="0x0.2" />
	<field name="pnat" descr="Port number access type. determines the way local_port is interpreted:\;0: Local_port_number\;1: IB_port_number\;3: Out_of_band_or_PCI" access="INDEX" enum="Local_port_number=0x0,IB_port_number=0x1,Out_of_band_or_PCI=0x3" offset="0x0.14" size="0x0.2" />
	<field name="local_port" descr="Local port number." access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="module_ind_type" descr="Module index type selector:\;0: CPO_or_pluggable_modules\;1: OE\;2: ELS" access="INDEX" enum="CPO_or_pluggable_modules=0x0,OE=0x1,ELS=0x2" offset="0x0.24" size="0x0.2" />
	<field name="page_select" descr="page select index:\;0: Operational_info_page\;1: Troubleshooting_info_page\;2: Phy_info_page\;3: Module_info_page\;6: link_down_info\;8: Link_up_info\;9: Module_latched_flag_info_page\;11: link_partner_info_page\;14: cpo_module_info_page" access="INDEX" enum="Operational_info_page=0x0,Troubleshooting_info_page=0x1,Phy_info_page=0x2,Module_info_page=0x3,link_down_info=0x6,Link_up_info=0x8,Module_latched_flag_info_page=0x9,link_partner_info_page=0xb,cpo_module_info_page=0xe" offset="0x4.0" size="0x0.8" />
	<field name="module_info_ext" descr="Module info extended configurations.\;resolution for rx_power, rx_power_high_th, rx_power_low_th tx_power, tx_power_high_th, tx_power_low_th in module info page\;0: dbm\;1: uW" access="OP" enum="dbm=0x0,uW=0x1" offset="0x4.29" size="0x0.2" />
	<field name="page_data" descr="Table  1992, &quot;Operation Info Page Layout,&quot; on page  2618\;Table  2038, &quot;Troubleshooting info Page layout,&quot; on page  2702\;Table  2030, &quot;Phy Info Page Layout,&quot; on page  2639\;Table  2036, &quot;Module Info Page Layout,&quot; on page  2685\;Table  2032, &quot;Link Down Info Page Layout,&quot; on page  2678\;Table  2048, &quot;Link Up Info Page Layout,&quot; on page  2715\;Table  2050, &quot;Module Latched Flag Info Page Layout,&quot; on page  2719\;Table 2060, &quot;Link Partner Info Page Layout,&quot; on page 2737\;Table  2062, &quot;CPO Module Page Layout,&quot; on page  2739" subnode="pddr_reg_page_data_auto_ext" access="RO" offset="0x8.0" size="0xf8.0" union_selector="$(parent).page_select" />
</node>

<node name="pddr_reg_page_data_auto_ext" descr="" attr_is_union="1" size="0xf8.0" >
	<field name="module_latched_flag_info_ext" descr="" subnode="module_latched_flag_info_ext" offset="0x0.0" selected_by="Module_latched_flag_info_page" size="0x50.0" />
	<field name="pddr_cpo_module_page_ext" descr="" subnode="pddr_cpo_module_page_ext" offset="0x0.0" selected_by="cpo_module_info_page" size="0xa8.0" />
	<field name="pddr_link_down_info_page_ext" descr="" subnode="pddr_link_down_info_page_ext" offset="0x0.0" selected_by="link_down_info" size="0xf4.0" />
	<field name="pddr_link_partner_info_ext" descr="" subnode="pddr_link_partner_info_ext" offset="0x0.0" selected_by="link_partner_info_page" size="0x30.0" />
	<field name="pddr_link_up_info_page_ext" descr="" subnode="pddr_link_up_info_page_ext" offset="0x0.0" selected_by="Link_up_info" size="0xf8.0" />
	<field name="pddr_module_info_ext" descr="" subnode="pddr_module_info_ext" offset="0x0.0" selected_by="Module_info_page" size="0xd0.0" />
	<field name="pddr_operation_info_page_ext" descr="" subnode="pddr_operation_info_page_ext" offset="0x0.0" selected_by="Operational_info_page" size="0xf8.0" />
	<field name="pddr_phy_info_page_ext" descr="" subnode="pddr_phy_info_page_ext" offset="0x0.0" selected_by="Phy_info_page" size="0xf8.0" />
	<field name="pddr_troubleshooting_page_ext" descr="" subnode="pddr_troubleshooting_page_ext" offset="0x0.0" selected_by="Troubleshooting_info_page" size="0xf8.0" />
</node>

<node name="pddr_troubleshooting_page_ext" descr="" size="0xf8.0" >
	<field name="group_opcode" descr="0: Monitor_opcodes" access="INDEX" enum="Monitor_opcodes=0x0" offset="0x0.0" size="0x0.16" />
	<field name="status_opcode" descr="Status opcode described in:\;Table  2040, &quot;PDDR - Monitor opcodes layout,&quot; on page  2703" subnode="pddr_troubleshooting_page_status_opcode_auto_ext" access="RO" offset="0x4.0" size="0x4.0" union_selector="$(parent).group_opcode" />
	<field name="status_message" descr="ASCII code message\;All Messages are terminated by a Null character &apos;\0&apos;" access="RO" high_bound="58" low_bound="0" offset="0xC.0" size="0xec.0" />
</node>

<node name="pddr_troubleshooting_page_status_opcode_auto_ext" descr="" attr_is_union="1" size="0x4.0" >
	<field name="pddr_monitor_opcode_ext" descr="" subnode="pddr_monitor_opcode_ext" offset="0x0.0" selected_by="Monitor_opcodes" size="0x4.0" />
</node>

<node name="peabfe_ext" descr="" size="0x410.0" >
	<field name="size" descr="Number of BF entries to be updated\;Range is 1..256" access="OP" offset="0x0.0" size="0x0.9" />
	<field name="bf_entry" descr="Bloom Filter entry\;See Table 3280, &quot;PEABFE - Bloom Filter Entry Layout,&quot; on page 3850\;" subnode="beabfe_bloom_filter_ext" access="RW" high_bound="255" low_bound="0" offset="0x10.0" size="0x400.0" />
</node>

<node name="peapbl_ext" descr="" size="0x20.0" >
	<field name="region_id" descr="Region identifier\;Range 0 .. cap_max_regions-1\;Note: the register updates all duplicated regions" access="INDEX" offset="0x0.0" size="0x0.16" />
	<field name="erp_id" descr="erp id" access="INDEX" offset="0x10.0" size="0x0.4" />
	<field name="num_rec" descr="Number of records to be updated\;Range is 1..36" access="WO" offset="0x10.16" size="0x0.8" />
	<field name="pruning_ctcam_cs" descr="Pruning C-TCAM clear or set. Clear or set defined by c_s\;0: don&apos;t modify prune_ctcam bit\;1: modify the prune_ctcam bit" access="WO" offset="0x10.28" size="0x0.1" />
	<field name="c_s" descr="Clear or set:\;0: prune clear\;1: prune set" access="WO" offset="0x10.31" size="0x0.1" />
	<field name="pruning_vector_cs" descr="Pruning vector clear or set. Modify option defined by c_s\;Per bit:\;0: don&apos;t modify pruning_vector bit\;1: modify the pruning_vector bit" access="WO" offset="0x14.0" size="0x0.16" />
</node>

<node name="peapbm_ext" descr="" size="0xf8.0" >
	<field name="region_id" descr="Region identifier\;Range 0 .. cap_max_regions-1\;Note: the register updates all duplicated regions" access="INDEX" offset="0x0.0" size="0x0.16" />
	<field name="erp_id" descr="erp id" access="INDEX" offset="0x10.0" size="0x0.4" />
	<field name="erp_id_mask" descr="erp id mask, per bit:\;0: for both values of erp_id bit\;1: for value according to erp_id bit\;Example: mask 1111 - update only erp_id, mask 0000 - update all erps" access="INDEX" offset="0x10.8" size="0x0.4" />
	<field name="pruning_ctcam_cs" descr="Pruning C-TCAM clear or set. Clear or set defined by c_s\;0: don&apos;t modify prune_ctcam bit\;1: modify the prune_ctcam bit" access="WO" offset="0x10.28" size="0x0.1" />
	<field name="c_s" descr="Clear or set:\;0: prune clear\;1: prune set" access="WO" offset="0x10.31" size="0x0.1" />
	<field name="pruning_vector_cs" descr="Pruning vector clear or set. Modify option defined by c_s\;Per bit:\;0: don&apos;t modify pruning_vector bit\;1: modify the pruning_vector bit" access="WO" offset="0x14.0" size="0x0.16" />
	<field name="priority_start" descr="Update will be from priority_start (inclusive) to priority_end (inclusive).\;For Spectrum-2 range is 1.. cap_kvd_size-1" access="INDEX" offset="0x18.0" size="0x0.24" />
	<field name="priority_end" descr="Update will be from priority_start (inclusive) to priority_end (inclusive).\;For Spectrum-2 range is 1.. cap_kvd_size-1" access="INDEX" offset="0x1C.0" size="0x0.24" />
	<field name="key" descr="ACL Key as described in Section 11.7.1, &quot;Flex2 ACL Key Blocks Layout&quot;, on page 3497\;Note: for regions which have 12 Key Blocks the 6 lsb Key Blocks are valid and the 6 msb Key Blocks are not used for this function" access="INDEX" high_bound="23" low_bound="0" offset="0x20.0" size="0x60.0" />
	<field name="key_mask" descr="Mask\;Mask entries which match the key with this mask. Per bit:\;0: ignore bit key (always match)\;1: compare bit in key\;Note: for regions which have 12 Key Blocks the 6 lsb Key Blocks are valid and the 6 msb Key Blocks are not used for this function" access="INDEX" high_bound="23" low_bound="0" offset="0x80.0" size="0x60.0" />
	<field name="large_entry_key_id" descr="Large entry key ID\;A key for 12 Key block rules\;Reserved when the region has 2, 4 or 6 key blocks\;Range 0 .. cap_max_pe_large_key_id- 1" access="INDEX" offset="0xE0.0" size="0x0.24" />
	<field name="large_entry_key_id_mask" descr="Large entry key ID mask\;0: ignore bit large_entry_key_id (always match)\;1: compare bit in large_entry_key_id\;Reserved when the region has 2, 4 or 6 key blocks\;Range 0 .. cap_max_pe_large_key_id- 1" access="INDEX" offset="0xE4.0" size="0x0.24" />
	<field name="delta_start" descr="Start point of delta value and mask\;Units of bits\;Reserved when delta_mask = 0" access="INDEX" offset="0xF0.0" size="0x0.10" />
	<field name="delta_value" descr="Delta value\;Relevant only for large keys when delta_start &gt;= 27*8bits\;For all other cases the delta_value is given in the key" access="INDEX" offset="0xF4.0" size="0x0.8" />
	<field name="delta_mask" descr="Delta mask\;Per bit:\;0: ignore relevant bit from offset delta_start\;1: compare relevant bit from offset delta_start" access="INDEX" offset="0xF4.16" size="0x0.8" />
</node>

<node name="peaps_ext" descr="" size="0x34.0" >
	<field name="ovf" descr="Overflow:\;0: previous session ended okay\;1: previous session had an overflow \;Overflow example: value of 90 was shifted by -100 to -10\;This field is cleared at every read or write access\;Regardless of region" access="RO" offset="0x0.30" size="0x0.1" />
	<field name="busy" descr="Busy:\;0: READY - can accept a new priority shift command\;1: BUSY - cannot accept a new priority shift command\;Regardless of region" access="RO" offset="0x0.31" size="0x0.1" />
	<field name="ct_offset" descr="Offset within the C-TCAM region to start the priority shift\;Reserved when ct_size = 0" access="WO" offset="0x8.0" size="0x0.16" />
	<field name="ct_size" descr="The number of rules in the C-TCAM to do the priority shift, starting from ct_offset" access="WO" offset="0xC.0" size="0x0.16" />
	<field name="tcam_region_info" descr="Opaque object that represents the TCAM region\;This is the base region. All duplicated region_id&apos;s will be shifted as well. See Section 11.10.20, &quot;PERD - Policy-Engine Region Duplication Register&quot;, on page 3816" access="WO" high_bound="3" low_bound="0" offset="0x10.0" size="0x10.0" />
	<field name="priority_start" descr="Initial start priority\;For Spectrum-2 range is 1.. cap_kvd_size-1" access="WO" offset="0x20.0" size="0x0.24" />
	<field name="priority_end" descr="Initial end priority\;Must be equal or greater than priority_start\;For Spectrum-2 range is 1.. cap_kvd_size-1" access="WO" offset="0x24.0" size="0x0.24" />
	<field name="priority_inc" descr="2&apos;s complement value for priority increase or decrease" access="WO" offset="0x30.0" size="0x0.24" />
</node>

<node name="pecb_ext" descr="" size="0x210.0" >
	<field name="tfst" descr="Take First\;0: take last (in packet offset) extraction point (default)\;1: take first (in packet offset) extraction point\;Example1: L2-&gt;L3-&gt;UDP-&gt;FPH3-&gt;FPH3-&gt;FPH3\;Take the first or last FPH3\;Example2: IPv4-&gt;UDP. Take IPv4 (first) or UDP (last)\;Reserved when Spectrum (which supports only last)." access="RW" offset="0x0.0" size="0x0.1" />
	<field name="cbset" descr="Custom Bytes Set\;Range 0 .. cap_max_custom_byte_sets-1\;See encoding in Table 3780, &quot;Spectrum Custom Bytes Sets,&quot; on page 4455" access="INDEX" offset="0x4.0" size="0x0.8" />
	<field name="ext_point" descr="Extraction point protocol encoding\;Extraction point protocol encoding is define by Table 3785, &quot;Custom Bytes Extraction Points,&quot; on page 4458\;Example: ext_point &quot;IPv6 Payload&quot; is at index 11 (0xB)\;Maximum number of concurrent enabled extraction points per cbset is cap_max_ext_points\;See Table 3274, &quot;Extraction_point Layout,&quot; on page 3847" access="RW" high_bound="255" low_bound="0" offset="0x10.16" size="0x200.0" />
</node>

<node name="peckc_ext" descr="" size="0x30.0" >
	<field name="key" descr="Key:\;0: has_conf_et\;1: dscp_range\;2: or_tcp_control_or_ecn\;4: ipv6_custom_extension\;5: inner_ipv6_custom_extension\;6: ipv6_hbh_custom_option\;7: inner_ipv6_hbh_custom_option" access="INDEX" offset="0x0.0" size="0x0.8" />
	<field name="index" descr="Index\;For example: dscp_range[2]: key=1, index=2\;Valid bits according to the key" access="INDEX" offset="0x4.0" size="0x0.8" />
	<field name="attributes0" descr="Attributes per key:\;has_conf_et: ethertype, 16bits\;\;dscp_range: dscp_min, 6bits\;\;or_tcp_control_or_ecn: xor, 9bits\;\;ipv6_custom_extension: value, 8bits\;inner_ipv6_custom_extension: value, 8bits\;\;ipv6_hbh_custom_option: value, 8bits\;inner_ipv6_hbh_custom_option: value, 8bits" access="RW" high_bound="3" low_bound="0" offset="0x10.0" size="0x10.0" />
	<field name="attributes1" descr="Attributes per key:\;has_conf_et: tag length\;\;dscp_range: dscp_max, 6bits\;\;or_tcp_control_or_ecn: mask, 9bits\;or_tcp_control_or_ecn[i] = ({tcp_control,tcp_ecn_bits} ^ xor) &amp; mask)\;\;ipv6_custom_extension: mask, 8bits\;inner_ipv6_custom_extension: mask, 8bits\;\;ipv6_hbh_custom_option: mask, 8bits\;inner_ipv6_hbh_custom_option: mask, 8bits" access="RW" high_bound="3" low_bound="0" offset="0x20.0" size="0x10.0" />
</node>

<node name="pecnee_ext" descr="" size="0x18.0" >
	<field name="region_id" descr="Region identifier\;Range 0 .. cap_max_regions-1\;Note: the counter (PECNER) is always enabled. It is suggested to clear the counter (PECNER.clear) after changing the region_id, erp_id_bitwise or ctcam" access="RW" offset="0x8.0" size="0x0.16" />
	<field name="region_id_mask" descr="Region_id mask\;Per bit:\;0: ignore region_id relevant bit\;1: compare region_id relevant bit\;Can be used for a binary search on regions with high count values\;Range 0 .. 2^ (round_down(log2(cap_max_regions-1)) + 1)" access="RW" offset="0xC.0" size="0x0.16" />
	<field name="erp_id_bitwise" descr="Erp ID to count on\;Value as bitwise. Can set either one erp or all erps. (e.g. value of b&apos;101 is not allowed).\;When more than 1 region is counted then all erps are counted\;Reserved when region_id_mask != FF&apos;s (more than 1 region)\;\;" access="RW" offset="0x10.0" size="0x0.16" />
	<field name="ctcam" descr="Count on C-TCAM\;When more than 1 region then all C-TCAM access are counted\;Reserved when region_id_mask != 0 (more than 1 region)" access="RW" offset="0x14.0" size="0x0.1" />
</node>

<node name="pecner_ext" descr="" size="0x38.0" >
	<field name="clear" descr="Clear counters" access="OP" offset="0x0.31" size="0x0.1" />
	<field name="erp_initial_high" descr="ERP or C-TCAM is initial active after erpt_vector (phase 1)\;Note: if n (erps + ctcam) are enabled then the counter may increase by 0..n for a given region lookup" access="RO" offset="0x10.0" size="0x4.0" />
	<field name="erp_initial_low" descr="ERP or C-TCAM is initial active after erpt_vector (phase 1)\;Note: if n (erps + ctcam) are enabled then the counter may increase by 0..n for a given region lookup" access="RO" offset="0x14.0" size="0x4.0" />
	<field name="erp_post_bf_high" descr="ERP active after bloom filter (phase 2)\;Doesn&apos;t increment as C-TCAM\;Note: if n erps are enabled then the counter may increase by 0..n for a given region lookup\;Note: when PERCR.bf_bypass=1 then this counter does not count." access="RO" offset="0x18.0" size="0x4.0" />
	<field name="erp_post_bf_low" descr="ERP active after bloom filter (phase 2)\;Doesn&apos;t increment as C-TCAM\;Note: if n erps are enabled then the counter may increase by 0..n for a given region lookup\;Note: when PERCR.bf_bypass=1 then this counter does not count." access="RO" offset="0x1C.0" size="0x4.0" />
	<field name="erp_lookup_high" descr="ERP or CTCAM had a lookup - active after bloom filter and pruning (phase 3)\;Note: if n erps + ctcam are enabled then the counter may increase by 0..n for a given region lookup" access="RO" offset="0x20.0" size="0x4.0" />
	<field name="erp_lookup_low" descr="ERP or CTCAM had a lookup - active after bloom filter and pruning (phase 3)\;Note: if n erps + ctcam are enabled then the counter may increase by 0..n for a given region lookup" access="RO" offset="0x24.0" size="0x4.0" />
	<field name="erp_any_match_high" descr="ERP or CTCAM had a match (not yet a final match - later priority will choose the final)\;Note: if n erps + ctcam are enabled then the counter may increase by 0..n for a given region lookup" access="RO" offset="0x28.0" size="0x4.0" />
	<field name="erp_any_match_low" descr="ERP or CTCAM had a match (not yet a final match - later priority will choose the final)\;Note: if n erps + ctcam are enabled then the counter may increase by 0..n for a given region lookup" access="RO" offset="0x2C.0" size="0x4.0" />
	<field name="erp_final_match_high" descr="ERP or CTCAM had a final match\;Note: the counter may increase by 0..1 for a given region lookup" access="RO" offset="0x30.0" size="0x4.0" />
	<field name="erp_final_match_low" descr="ERP or CTCAM had a final match\;Note: the counter may increase by 0..1 for a given region lookup" access="RO" offset="0x34.0" size="0x4.0" />
</node>

<node name="pecnre_ext" descr="" size="0x10.0" >
	<field name="region_id" descr="Region identifier\;Range 0 .. cap_max_regions-1\;Note: the counter (PECNRR) is always enabled. It is suggested to clear the counter (PECNRR.clear) after changing the region_id" access="RW" offset="0x8.0" size="0x0.16" />
	<field name="region_id_mask" descr="Region_id mask\;Per bit:\;0: ignore region_id relevant bit\;1: compare region_id relevant bit\;Can be used for a binary search on regions with high count values\;Note: value of all &apos;0&apos; is not supported \;Range 0 .. 2^ (round_down(log2(cap_max_regions-1)) + 1)" access="RW" offset="0xC.0" size="0x0.16" />
</node>

<node name="pecnrr_ext" descr="" size="0x20.0" >
	<field name="clear" descr="Clear counters" access="OP" offset="0x0.31" size="0x0.1" />
	<field name="tcam_trigger_high" descr="Count number of tcam triggers (bind to ACL group)\;For example: if a packet has iACL and eirfACL then inc by 2\;Note: packets from CPU ingress are not counted" access="RO" offset="0x10.0" size="0x4.0" />
	<field name="tcam_trigger_low" descr="Count number of tcam triggers (bind to ACL group)\;For example: if a packet has iACL and eirfACL then inc by 2\;Note: packets from CPU ingress are not counted" access="RO" offset="0x14.0" size="0x4.0" />
	<field name="tcam_full_lookup_high" descr="Count number of tcam triggers which needed a full lookup\;\;Note: packets from CPU ingress are not counted" access="RO" offset="0x18.0" size="0x4.0" />
	<field name="tcam_full_lookup_low" descr="Count number of tcam triggers which needed a full lookup\;\;Note: packets from CPU ingress are not counted" access="RO" offset="0x1C.0" size="0x4.0" />
</node>

<node name="pefa_ext" descr="" size="0xb0.0" >
	<field name="index" descr="Index in the KVD Linear Centralized Database. For more details \;see Appendix A.2.1.2, &quot;KVD Central Database Linear Entries&quot; (page 4588)\;Range is 0.. cap_max_kvd_action_sets - 1" access="INDEX" offset="0x0.0" size="0x0.24" />
	<field name="pind" descr="Partial Index\;Used for partial action set\;0: full action set\;1: double partial action sets \;2: partial action set, partial index 0\;3: partial action set, partial index 1\;Note that &quot;full action set&quot; and &quot;partial action set, partial index 0&quot; have the same pointer but different indexes\;Reserved when Spectrum-1." access="INDEX" offset="0x0.30" size="0x0.2" />
	<field name="as_user_val" descr="Action set user value\;Can be used for activity dump, see PEFAAD\;Note: for partial action sets, both action sets in the same index have the same as_user_val\;Reserved when ddd_en = 1\;Reserved when Spectrum\;" access="RW" offset="0x4.0" size="0x0.10" />
	<field name="ddd_en" descr="The action is DDD enabled\;Note that action DDD must be enabled if (1) DDD is enabled for actions and (2) the action is pointed by a ddd priority.\;See IDDD and IGCR.ddd_pe_actions_priority\;Note: for partial action sets, both action sets in the same index have the same ddd_en\;" access="RW" offset="0x4.20" size="0x0.1" />
	<field name="ca" descr="Clear activity:\;When write: \;0: activity is set\;1: activity is cleared\;2: activity is maintained (used for updating)\;When read:\;0, 2: activity is maintained\;1: after reading the activity is cleared\;Reserved when Spectrum\;When pind=1 then applies to both partials" access="OP" offset="0x4.24" size="0x0.2" />
	<field name="a1" descr="Activity of partial1.\;Reserved when pind = 0 or pind = 2." access="RO" offset="0x4.28" size="0x0.1" />
	<field name="a" descr="Activity of full or partial0For a new entry: set if ca=0, clear if ca=1\;Set if a packet lookup has hit on the specific entry\;Reserved when Spectrum\;When pind=&quot;double partial&quot; then applies to partial 0\;Reserved when pind = 3\;" access="RO" offset="0x4.29" size="0x0.1" />
	<field name="flexible_action_set" descr="Action-set to perform when rule is matched.\;See Table 3083, &quot;Flexible Action Set Layout,&quot; on page 3691\;Must be zero padded if action set is shorter." subnode="flexible_action_set_ext" access="RW" offset="0x8.0" size="0xa8.0" />
</node>

<node name="pefaad_ext" descr="" size="0x420.0" >
	<field name="filter_fields" descr="Filter Fields:\;if a bit is &apos;0&apos; then the relevant field is ignored and dump is done regardless of the field value\;Bit0: filter by activity: entry_a\;Bit1: filter by action set user value: as_user_val when ddd_en=0\;All set filters are relevant (there is AND between the filters)\;Reserved when op is Clear activity" access="INDEX" offset="0x0.0" size="0x0.8" />
	<field name="num_rec" descr="At request: number of records requested\;At response: number of records dumped\;Range for request is 1..256\;Range for response is 0..256" access="OP" offset="0x4.0" size="0x0.9" />
	<field name="op" descr="Operation\;0: Dump entries\;1: Dump entries and force end of session (clear activity will clear this session while next dump will be a new session)\;2: Clear activity for all entries which were dumped in the current session" access="OP" offset="0x4.24" size="0x0.2" />
	<field name="entry_a" descr="Dump only if activity has value of entry_a\;Reserved when filter_fields bit0 is &apos;0&apos;" access="INDEX" offset="0x8.16" size="0x0.1" />
	<field name="as_user_val" descr="Action set user value\;Reserved when ddd_en = 1\;Reserved when filter_fields bit1 is &apos;0&apos;" access="INDEX" offset="0x10.0" size="0x0.10" />
	<field name="index_dump" descr="Dumped index\;For Spectrum-2 pointer to policy engine actions array which is in the KVH Linear." subnode="index_dump" access="RO" high_bound="255" low_bound="0" offset="0x20.0" size="0x400.0" />
</node>

<node name="peir_reg_ext" descr="" size="0xc.0" >
	<field name="lp_msb" descr="Local port number [9:8]" access="INDEX" offset="0x0.12" size="0x0.2" />
	<field name="local_port" descr="Local port number" access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="error_count" descr="Error Count\;Number of times the port will generate the configured error.\;0 indicates not to generate error.\;Reading error_count will return the number of left errors to inject. When 0, all requested errors has been injected." access="RW" offset="0x4.16" size="0x0.4" />
	<field name="error_type" descr="Error Type to generate\;0 - No Error\;---- Physical Errors ----\;1 - 8/10 Symbol Error (per lane)\;2 - 8/10 Disparity Error (per lane)\;3:7 - Reserved\;8 - 64/66 Sync Header (per lane, with block count)\;9 - 64/66 Alignment Marker (per lane, with block count)\;10 - 64/66 Block Type (per lane, with block count)\;---- Packet Errors ----\;16 - EBP marking (with packet count)\;17 - Corrupt data packet ICRC\;18 - Corrupt data packet VCRC\;19 - Corrupt credit packet LPCRC\;" access="RW" offset="0x8.0" size="0x0.8" />
	<field name="lane" descr="Bit vector for lane (bit 0, lane 0)\;Only relevant for specific errors at physical layer" access="RW" offset="0x8.16" size="0x0.4" />
</node>

<node name="pemi_FERC_Properties_ext" descr="" size="0xf8.0" >
	<field name="ferc_cap" descr="Frame Error Count (FERC) represents the number of uncorrectable FEC frames measured. This is a post-FEC decoder error metric\;\;FERC group capability mask:\;Bit 0: ferc_min_media\;Bit 1: ferc_min_host\;Bit 2: ferc_max_media\;Bit 3: ferc_max_host\;bit 4: ferc_avg_media\;bit 5: ferc_avg_host\;bit 6: ferc_val_media\;bit 7: ferc_val_host" access="RO" enum="ferc_min_media=0x1,ferc_min_host=0x2,ferc_max_media=0x4,ferc_max_host=0x8,ferc_avg_media=0x10,ferc_avg_host=0x20,ferc_val_media=0x40,ferc_val_host=0x80" offset="0x0.16" size="0x0.16" />
	<field name="ferc_min_high_media_warning" descr="Thresholds for the FERC values." access="RO" offset="0x4.0" size="0x0.16" />
	<field name="ferc_min_high_media_alarm" descr="Thresholds for the FERC values." access="RO" offset="0x4.16" size="0x0.16" />
	<field name="ferc_min_high_host_warning" descr="Thresholds for the FERC values." access="RO" offset="0x8.0" size="0x0.16" />
	<field name="ferc_min_high_host_alarm" descr="Thresholds for the FERC values." access="RO" offset="0x8.16" size="0x0.16" />
	<field name="ferc_max_high_media_warning" descr="Thresholds for the FERC values." access="RO" offset="0xC.0" size="0x0.16" />
	<field name="ferc_max_high_media_alarm" descr="Thresholds for the FERC values." access="RO" offset="0xC.16" size="0x0.16" />
	<field name="ferc_max_high_host_warning" descr="Thresholds for the FERC values." access="RO" offset="0x10.0" size="0x0.16" />
	<field name="ferc_max_high_host_alarm" descr="Thresholds for the FERC values." access="RO" offset="0x10.16" size="0x0.16" />
	<field name="ferc_avg_high_media_warning" descr="Thresholds for the FERC values." access="RO" offset="0x14.0" size="0x0.16" />
	<field name="ferc_avg_high_media_alarm" descr="Thresholds for the FERC values." access="RO" offset="0x14.16" size="0x0.16" />
	<field name="ferc_avg_high_host_warning" descr="Thresholds for the FERC values." access="RO" offset="0x18.0" size="0x0.16" />
	<field name="ferc_avg_high_host_alarm" descr="Thresholds for the FERC values." access="RO" offset="0x18.16" size="0x0.16" />
</node>

<node name="pemi_FERC_Samples_ext" descr="" size="0xf8.0" >
	<field name="ferc_val_host0" descr="The sampled value of the FERC in the host input." access="RO" offset="0x0.0" size="0x0.16" />
	<field name="ferc_val_media0" descr="The sampled value of the FERC in the media input." access="RO" offset="0x0.16" size="0x0.16" />
	<field name="ferc_val_host1" descr="The sampled value of the FERC in the host input." access="RO" offset="0x4.0" size="0x0.16" />
	<field name="ferc_val_media1" descr="The sampled value of the FERC in the media input." access="RO" offset="0x4.16" size="0x0.16" />
	<field name="ferc_val_host2" descr="The sampled value of the FERC in the host input." access="RO" offset="0x8.0" size="0x0.16" />
	<field name="ferc_val_media2" descr="The sampled value of the FERC in the media input." access="RO" offset="0x8.16" size="0x0.16" />
	<field name="ferc_val_host3" descr="The sampled value of the FERC in the host input." access="RO" offset="0xC.0" size="0x0.16" />
	<field name="ferc_val_media3" descr="The sampled value of the FERC in the media input." access="RO" offset="0xC.16" size="0x0.16" />
	<field name="ferc_val_host4" descr="The sampled value of the FERC in the host input." access="RO" offset="0x10.0" size="0x0.16" />
	<field name="ferc_val_media4" descr="The sampled value of the FERC in the media input." access="RO" offset="0x10.16" size="0x0.16" />
	<field name="ferc_val_host5" descr="The sampled value of the FERC in the host input." access="RO" offset="0x14.0" size="0x0.16" />
	<field name="ferc_val_media5" descr="The sampled value of the FERC in the media input." access="RO" offset="0x14.16" size="0x0.16" />
	<field name="ferc_val_host6" descr="The sampled value of the FERC in the host input." access="RO" offset="0x18.0" size="0x0.16" />
	<field name="ferc_val_media6" descr="The sampled value of the FERC in the media input." access="RO" offset="0x18.16" size="0x0.16" />
	<field name="ferc_val_host7" descr="The sampled value of the FERC in the host input." access="RO" offset="0x1C.0" size="0x0.16" />
	<field name="ferc_val_media7" descr="The sampled value of the FERC in the media input." access="RO" offset="0x1C.16" size="0x0.16" />
	<field name="ferc_min_host0" descr="The minimum statistical value of the FERC in the host input." access="RO" offset="0x20.0" size="0x0.16" />
	<field name="ferc_min_media0" descr="The minimum statistical value of the FERC in the media input." access="RO" offset="0x20.16" size="0x0.16" />
	<field name="ferc_min_host1" descr="The minimum statistical value of the FERC in the host input." access="RO" offset="0x24.0" size="0x0.16" />
	<field name="ferc_min_media1" descr="The minimum statistical value of the FERC in the media input." access="RO" offset="0x24.16" size="0x0.16" />
	<field name="ferc_min_host2" descr="The minimum statistical value of the FERC in the host input." access="RO" offset="0x28.0" size="0x0.16" />
	<field name="ferc_min_media2" descr="The minimum statistical value of the FERC in the media input." access="RO" offset="0x28.16" size="0x0.16" />
	<field name="ferc_min_host3" descr="The minimum statistical value of the FERC in the host input." access="RO" offset="0x2C.0" size="0x0.16" />
	<field name="ferc_min_media3" descr="The minimum statistical value of the FERC in the media input." access="RO" offset="0x2C.16" size="0x0.16" />
	<field name="ferc_min_host4" descr="The minimum statistical value of the FERC in the host input." access="RO" offset="0x30.0" size="0x0.16" />
	<field name="ferc_min_media4" descr="The minimum statistical value of the FERC in the media input." access="RO" offset="0x30.16" size="0x0.16" />
	<field name="ferc_min_host5" descr="The minimum statistical value of the FERC in the host input." access="RO" offset="0x34.0" size="0x0.16" />
	<field name="ferc_min_media5" descr="The minimum statistical value of the FERC in the media input." access="RO" offset="0x34.16" size="0x0.16" />
	<field name="ferc_min_host6" descr="The minimum statistical value of the FERC in the host input." access="RO" offset="0x38.0" size="0x0.16" />
	<field name="ferc_min_media6" descr="The minimum statistical value of the FERC in the media input." access="RO" offset="0x38.16" size="0x0.16" />
	<field name="ferc_min_host7" descr="The minimum statistical value of the FERC in the host input." access="RO" offset="0x3C.0" size="0x0.16" />
	<field name="ferc_min_media7" descr="The minimum statistical value of the FERC in the media input." access="RO" offset="0x3C.16" size="0x0.16" />
	<field name="ferc_max_host0" descr="The maximum statistical value of the FERC in the host input." access="RO" offset="0x40.0" size="0x0.16" />
	<field name="ferc_max_media0" descr="The maximum statistical value of the FERC in the media input" access="RO" offset="0x40.16" size="0x0.16" />
	<field name="ferc_max_host1" descr="The maximum statistical value of the FERC in the host input." access="RO" offset="0x44.0" size="0x0.16" />
	<field name="ferc_max_media1" descr="The maximum statistical value of the FERC in the media input" access="RO" offset="0x44.16" size="0x0.16" />
	<field name="ferc_max_host2" descr="The maximum statistical value of the FERC in the host input." access="RO" offset="0x48.0" size="0x0.16" />
	<field name="ferc_max_media2" descr="The maximum statistical value of the FERC in the media input" access="RO" offset="0x48.16" size="0x0.16" />
	<field name="ferc_max_host3" descr="The maximum statistical value of the FERC in the host input." access="RO" offset="0x4C.0" size="0x0.16" />
	<field name="ferc_max_media3" descr="The maximum statistical value of the FERC in the media input" access="RO" offset="0x4C.16" size="0x0.16" />
	<field name="ferc_max_host4" descr="The maximum statistical value of the FERC in the host input." access="RO" offset="0x50.0" size="0x0.16" />
	<field name="ferc_max_media4" descr="The maximum statistical value of the FERC in the media input" access="RO" offset="0x50.16" size="0x0.16" />
	<field name="ferc_max_host5" descr="The maximum statistical value of the FERC in the host input." access="RO" offset="0x54.0" size="0x0.16" />
	<field name="ferc_max_media5" descr="The maximum statistical value of the FERC in the media input" access="RO" offset="0x54.16" size="0x0.16" />
	<field name="ferc_max_host6" descr="The maximum statistical value of the FERC in the host input." access="RO" offset="0x58.0" size="0x0.16" />
	<field name="ferc_max_media6" descr="The maximum statistical value of the FERC in the media input" access="RO" offset="0x58.16" size="0x0.16" />
	<field name="ferc_max_host7" descr="The maximum statistical value of the FERC in the host input." access="RO" offset="0x5C.0" size="0x0.16" />
	<field name="ferc_max_media7" descr="The maximum statistical value of the FERC in the media input" access="RO" offset="0x5C.16" size="0x0.16" />
	<field name="ferc_avg_host0" descr="The average statistical value of the FERC in the host input." access="RO" offset="0x60.0" size="0x0.16" />
	<field name="ferc_avg_media0" descr="The average statistical value of the FERC in the media input." access="RO" offset="0x60.16" size="0x0.16" />
	<field name="ferc_avg_host1" descr="The average statistical value of the FERC in the host input." access="RO" offset="0x64.0" size="0x0.16" />
	<field name="ferc_avg_media1" descr="The average statistical value of the FERC in the media input." access="RO" offset="0x64.16" size="0x0.16" />
	<field name="ferc_avg_host2" descr="The average statistical value of the FERC in the host input." access="RO" offset="0x68.0" size="0x0.16" />
	<field name="ferc_avg_media2" descr="The average statistical value of the FERC in the media input." access="RO" offset="0x68.16" size="0x0.16" />
	<field name="ferc_avg_host3" descr="The average statistical value of the FERC in the host input." access="RO" offset="0x6C.0" size="0x0.16" />
	<field name="ferc_avg_media3" descr="The average statistical value of the FERC in the media input." access="RO" offset="0x6C.16" size="0x0.16" />
	<field name="ferc_avg_host4" descr="The average statistical value of the FERC in the host input." access="RO" offset="0x70.0" size="0x0.16" />
	<field name="ferc_avg_media4" descr="The average statistical value of the FERC in the media input." access="RO" offset="0x70.16" size="0x0.16" />
	<field name="ferc_avg_host5" descr="The average statistical value of the FERC in the host input." access="RO" offset="0x74.0" size="0x0.16" />
	<field name="ferc_avg_media5" descr="The average statistical value of the FERC in the media input." access="RO" offset="0x74.16" size="0x0.16" />
	<field name="ferc_avg_host6" descr="The average statistical value of the FERC in the host input." access="RO" offset="0x78.0" size="0x0.16" />
	<field name="ferc_avg_media6" descr="The average statistical value of the FERC in the media input." access="RO" offset="0x78.16" size="0x0.16" />
	<field name="ferc_avg_host7" descr="The average statistical value of the FERC in the host input." access="RO" offset="0x7C.0" size="0x0.16" />
	<field name="ferc_avg_media7" descr="The average statistical value of the FERC in the media input." access="RO" offset="0x7C.16" size="0x0.16" />
</node>

<node name="pemi_Laser_Monitors_Properties_ext" descr="" size="0xf8.0" >
	<field name="optical_channel_temperature_cap" descr="Optical channel temperature capability" access="RO" offset="0x0.26" size="0x0.1" />
	<field name="els_input_power_cap" descr="ELS input power capability" access="RO" offset="0x0.27" size="0x0.1" />
	<field name="cooled_laser_temperature_cap" descr="cooled laser temperature capability" access="RO" offset="0x0.28" size="0x0.1" />
	<field name="laser_frequency_error_cap" descr="Laser frequency error capability" access="RO" offset="0x0.29" size="0x0.1" />
	<field name="tec_current_cap" descr="TEC current capability" access="RO" offset="0x0.30" size="0x0.1" />
	<field name="laser_age_cap" descr="Laser age capability" access="RO" offset="0x0.31" size="0x0.1" />
	<field name="laser_age_high_warning" descr="Thresholds for the Laser age is presented in percentage." access="RO" offset="0x4.0" size="0x0.16" />
	<field name="laser_age_high_alarm" descr="Thresholds for the Laser age is presented in percentage." access="RO" offset="0x4.16" size="0x0.16" />
	<field name="tec_current_low_alarm" descr="Thresholds for the Thermo-electric Cooler (TEC) current.\;presented in percentage." access="RO" offset="0x8.0" size="0x0.16" />
	<field name="tec_current_high_alarm" descr="Thresholds for the Thermo-electric Cooler (TEC) current.\;presented in percentage." access="RO" offset="0x8.16" size="0x0.16" />
	<field name="tec_current_low_warning" descr="Thresholds for the Thermo-electric Cooler (TEC) current.\;presented in percentage." access="RO" offset="0xC.0" size="0x0.16" />
	<field name="tec_current_high_warning" descr="Thresholds for the Thermo-electric Cooler (TEC) current.\;presented in percentage." access="RO" offset="0xC.16" size="0x0.16" />
	<field name="laser_frequency_error_high_warning" descr="Thresholds for the laser frequency error in unit scale of 10 MHz." access="RO" offset="0x10.0" size="0x0.16" />
	<field name="laser_frequency_error_high_alarm" descr="Thresholds for the laser frequency error in unit scale of 10 MHz." access="RO" offset="0x10.16" size="0x0.16" />
	<field name="cooled_laser_temp_low_alarm" descr="Thresholds for the laser temperature. \;In unit scale of 1/256 Celsius degrees." access="RO" offset="0x14.0" size="0x0.16" />
	<field name="cooled_laser_temp_high_alarm" descr="Thresholds for the laser temperature. \;In unit scale of 1/256 Celsius degrees." access="RO" offset="0x14.16" size="0x0.16" />
	<field name="cooled_laser_temp_low_warning" descr="Thresholds for the laser temperature. \;In unit scale of 1/256 Celsius degrees." access="RO" offset="0x18.0" size="0x0.16" />
	<field name="cooled_laser_temp_high_warning" descr="Thresholds for the laser temperature. \;In unit scale of 1/256 Celsius degrees." access="RO" offset="0x18.16" size="0x0.16" />
</node>

<node name="pemi_Laser_Monitors_Samples_ext" descr="" size="0xf8.0" >
	<field name="laser_age_lane1" descr="Laser age is presented in percentage.\;0% BOL, 100% EOL." access="RO" offset="0x0.0" size="0x0.16" />
	<field name="laser_age_lane0" descr="Laser age is presented in percentage.\;0% BOL, 100% EOL." access="RO" offset="0x0.16" size="0x0.16" />
	<field name="laser_age_lane3" descr="Laser age is presented in percentage.\;0% BOL, 100% EOL." access="RO" offset="0x4.0" size="0x0.16" />
	<field name="laser_age_lane2" descr="Laser age is presented in percentage.\;0% BOL, 100% EOL." access="RO" offset="0x4.16" size="0x0.16" />
	<field name="laser_age_lane5" descr="Laser age is presented in percentage.\;0% BOL, 100% EOL." access="RO" offset="0x8.0" size="0x0.16" />
	<field name="laser_age_lane4" descr="Laser age is presented in percentage.\;0% BOL, 100% EOL." access="RO" offset="0x8.16" size="0x0.16" />
	<field name="laser_age_lane7" descr="Laser age is presented in percentage.\;0% BOL, 100% EOL." access="RO" offset="0xC.0" size="0x0.16" />
	<field name="laser_age_lane6" descr="Laser age is presented in percentage.\;0% BOL, 100% EOL." access="RO" offset="0xC.16" size="0x0.16" />
	<field name="tec_current_laser1" descr="Thermo-electric Cooler (TEC) current. Observes the amount of current flowing to the TEC of a cooled laser.\;TEC current presented in percentages: 100/32767 %.\;+32767 (100%) of the max current magnitude when heating\;-32767 is -100% of the max current magnitude when cooling\;" access="RO" offset="0x10.0" size="0x0.16" />
	<field name="tec_current_laser0" descr="Thermo-electric Cooler (TEC) current. Observes the amount of current flowing to the TEC of a cooled laser.\;TEC current presented in percentages: 100/32767 %.\;+32767 (100%) of the max current magnitude when heating\;-32767 is -100% of the max current magnitude when cooling\;" access="RO" offset="0x10.16" size="0x0.16" />
	<field name="tec_current_laser3" descr="Thermo-electric Cooler (TEC) current. Observes the amount of current flowing to the TEC of a cooled laser.\;TEC current presented in percentages: 100/32767 %.\;+32767 (100%) of the max current magnitude when heating\;-32767 is -100% of the max current magnitude when cooling\;" access="RO" offset="0x14.0" size="0x0.16" />
	<field name="tec_current_laser2" descr="Thermo-electric Cooler (TEC) current. Observes the amount of current flowing to the TEC of a cooled laser.\;TEC current presented in percentages: 100/32767 %.\;+32767 (100%) of the max current magnitude when heating\;-32767 is -100% of the max current magnitude when cooling\;" access="RO" offset="0x14.16" size="0x0.16" />
	<field name="tec_current_laser5" descr="Thermo-electric Cooler (TEC) current. Observes the amount of current flowing to the TEC of a cooled laser.\;TEC current presented in percentages: 100/32767 %.\;+32767 (100%) of the max current magnitude when heating\;-32767 is -100% of the max current magnitude when cooling\;" access="RO" offset="0x18.0" size="0x0.16" />
	<field name="tec_current_laser4" descr="Thermo-electric Cooler (TEC) current. Observes the amount of current flowing to the TEC of a cooled laser.\;TEC current presented in percentages: 100/32767 %.\;+32767 (100%) of the max current magnitude when heating\;-32767 is -100% of the max current magnitude when cooling\;" access="RO" offset="0x18.16" size="0x0.16" />
	<field name="tec_current_laser7" descr="Thermo-electric Cooler (TEC) current. Observes the amount of current flowing to the TEC of a cooled laser.\;TEC current presented in percentages: 100/32767 %.\;+32767 (100%) of the max current magnitude when heating\;-32767 is -100% of the max current magnitude when cooling\;" access="RO" offset="0x1C.0" size="0x0.16" />
	<field name="tec_current_laser6" descr="Thermo-electric Cooler (TEC) current. Observes the amount of current flowing to the TEC of a cooled laser.\;TEC current presented in percentages: 100/32767 %.\;+32767 (100%) of the max current magnitude when heating\;-32767 is -100% of the max current magnitude when cooling\;" access="RO" offset="0x1C.16" size="0x0.16" />
	<field name="els_input_power_lane1" descr="Laser power in OE input, in units of dBm.\;" access="RO" offset="0x20.0" size="0x0.16" />
	<field name="els_input_power_lane0" descr="Laser power in OE input, in units of dBm.\;" access="RO" offset="0x20.16" size="0x0.16" />
	<field name="els_input_power_lane3" descr="Laser power in OE input, in units of dBm.\;" access="RO" offset="0x24.0" size="0x0.16" />
	<field name="els_input_power_lane2" descr="Laser power in OE input, in units of dBm.\;" access="RO" offset="0x24.16" size="0x0.16" />
	<field name="els_input_power_lane5" descr="Laser power in OE input, in units of dBm.\;" access="RO" offset="0x28.0" size="0x0.16" />
	<field name="els_input_power_lane4" descr="Laser power in OE input, in units of dBm.\;" access="RO" offset="0x28.16" size="0x0.16" />
	<field name="els_input_power_lane7" descr="Laser power in OE input, in units of dBm.\;" access="RO" offset="0x2C.0" size="0x0.16" />
	<field name="els_input_power_lane6" descr="Laser power in OE input, in units of dBm.\;" access="RO" offset="0x2C.16" size="0x0.16" />
	<field name="laser_frequency_error_lane1" descr="Laser frequency error for media lane &lt;i&gt;, observes the difference between the target center frequency and the actual current center frequency.\;The laser frequency error is in unit scale of 10 MHz." access="RO" offset="0x30.0" size="0x0.16" />
	<field name="laser_frequency_error_lane0" descr="Laser frequency error for media lane &lt;i&gt;, observes the difference between the target center frequency and the actual current center frequency.\;The laser frequency error is in unit scale of 10 MHz." access="RO" offset="0x30.16" size="0x0.16" />
	<field name="laser_frequency_error_lane3" descr="Laser frequency error for media lane &lt;i&gt;, observes the difference between the target center frequency and the actual current center frequency.\;The laser frequency error is in unit scale of 10 MHz." access="RO" offset="0x34.0" size="0x0.16" />
	<field name="laser_frequency_error_lane2" descr="Laser frequency error for media lane &lt;i&gt;, observes the difference between the target center frequency and the actual current center frequency.\;The laser frequency error is in unit scale of 10 MHz." access="RO" offset="0x34.16" size="0x0.16" />
	<field name="laser_frequency_error_lane5" descr="Laser frequency error for media lane &lt;i&gt;, observes the difference between the target center frequency and the actual current center frequency.\;The laser frequency error is in unit scale of 10 MHz." access="RO" offset="0x38.0" size="0x0.16" />
	<field name="laser_frequency_error_lane4" descr="Laser frequency error for media lane &lt;i&gt;, observes the difference between the target center frequency and the actual current center frequency.\;The laser frequency error is in unit scale of 10 MHz." access="RO" offset="0x38.16" size="0x0.16" />
	<field name="laser_frequency_error_lane7" descr="Laser frequency error for media lane &lt;i&gt;, observes the difference between the target center frequency and the actual current center frequency.\;The laser frequency error is in unit scale of 10 MHz." access="RO" offset="0x3C.0" size="0x0.16" />
	<field name="laser_frequency_error_lane6" descr="Laser frequency error for media lane &lt;i&gt;, observes the difference between the target center frequency and the actual current center frequency.\;The laser frequency error is in unit scale of 10 MHz." access="RO" offset="0x3C.16" size="0x0.16" />
	<field name="cooled_laser_temperature_lane1" descr="The laser TEC temperature for media lane &lt;i&gt;, observes the difference between the target laser temperature for laser temperature.\;The laser temperature value is in unit scale of 1/256 Celsius degrees." access="RO" offset="0x40.0" size="0x0.16" />
	<field name="cooled_laser_temperature_lane0" descr="The laser TEC temperature for media lane &lt;i&gt;, observes the difference between the target laser temperature for laser temperature.\;The laser temperature value is in unit scale of 1/256 Celsius degrees." access="RO" offset="0x40.16" size="0x0.16" />
	<field name="cooled_laser_temperature_lane3" descr="The laser TEC temperature for media lane &lt;i&gt;, observes the difference between the target laser temperature for laser temperature.\;The laser temperature value is in unit scale of 1/256 Celsius degrees." access="RO" offset="0x44.0" size="0x0.16" />
	<field name="cooled_laser_temperature_lane2" descr="The laser TEC temperature for media lane &lt;i&gt;, observes the difference between the target laser temperature for laser temperature.\;The laser temperature value is in unit scale of 1/256 Celsius degrees." access="RO" offset="0x44.16" size="0x0.16" />
	<field name="cooled_laser_temperature_lane5" descr="The laser TEC temperature for media lane &lt;i&gt;, observes the difference between the target laser temperature for laser temperature.\;The laser temperature value is in unit scale of 1/256 Celsius degrees." access="RO" offset="0x48.0" size="0x0.16" />
	<field name="cooled_laser_temperature_lane4" descr="The laser TEC temperature for media lane &lt;i&gt;, observes the difference between the target laser temperature for laser temperature.\;The laser temperature value is in unit scale of 1/256 Celsius degrees." access="RO" offset="0x48.16" size="0x0.16" />
	<field name="cooled_laser_temperature_lane7" descr="The laser TEC temperature for media lane &lt;i&gt;, observes the difference between the target laser temperature for laser temperature.\;The laser temperature value is in unit scale of 1/256 Celsius degrees." access="RO" offset="0x4C.0" size="0x0.16" />
	<field name="cooled_laser_temperature_lane6" descr="The laser TEC temperature for media lane &lt;i&gt;, observes the difference between the target laser temperature for laser temperature.\;The laser temperature value is in unit scale of 1/256 Celsius degrees." access="RO" offset="0x4C.16" size="0x0.16" />
	<field name="optical_channel1_temperature" descr="The OE channels temperature for media lane &lt;i&gt;. channels temperature value is in unit scale of 1/256 Celsius degrees." access="RO" offset="0x50.0" size="0x0.16" />
	<field name="optical_channel0_temperature" descr="The OE channels temperature for media lane &lt;i&gt;. channels temperature value is in unit scale of 1/256 Celsius degrees." access="RO" offset="0x50.16" size="0x0.16" />
	<field name="optical_channel3_temperature" descr="The OE channels temperature for media lane &lt;i&gt;. channels temperature value is in unit scale of 1/256 Celsius degrees." access="RO" offset="0x54.0" size="0x0.16" />
	<field name="optical_channel2_temperature" descr="The OE channels temperature for media lane &lt;i&gt;. channels temperature value is in unit scale of 1/256 Celsius degrees." access="RO" offset="0x54.16" size="0x0.16" />
	<field name="optical_channel5_temperature" descr="The OE channels temperature for media lane &lt;i&gt;. channels temperature value is in unit scale of 1/256 Celsius degrees." access="RO" offset="0x58.0" size="0x0.16" />
	<field name="optical_channel4_temperature" descr="The OE channels temperature for media lane &lt;i&gt;. channels temperature value is in unit scale of 1/256 Celsius degrees." access="RO" offset="0x58.16" size="0x0.16" />
	<field name="optical_channel7_temperature" descr="The OE channels temperature for media lane &lt;i&gt;. channels temperature value is in unit scale of 1/256 Celsius degrees." access="RO" offset="0x5C.0" size="0x0.16" />
	<field name="optical_channel6_temperature" descr="The OE channels temperature for media lane &lt;i&gt;. channels temperature value is in unit scale of 1/256 Celsius degrees." access="RO" offset="0x5C.16" size="0x0.16" />
</node>

<node name="pemi_Module_Status_Properties_ext" descr="" size="0xf8.0" >
	<field name="laser_source_module_temperature" descr="Laser source module temperatuire" access="RO" offset="0x0.25" size="0x0.1" />
	<field name="module_max_tec_power_cap" descr="Max TEC power capability" access="RO" offset="0x0.26" size="0x0.1" />
	<field name="module_temperature_cap" descr="Temperature capability" access="RO" offset="0x0.27" size="0x0.1" />
	<field name="module_tx_bias_cap" descr="Tx bias capability\;" access="RO" offset="0x0.28" size="0x0.1" />
	<field name="module_tx_power_cap" descr="Tx power capability\;" access="RO" offset="0x0.29" size="0x0.1" />
	<field name="module_rx_power_cap" descr="Rx power capability" access="RO" offset="0x0.30" size="0x0.1" />
	<field name="module_voltage_cap" descr="Voltage capability" access="RO" offset="0x0.31" size="0x0.1" />
	<field name="voltage_low_alarm" descr="Thresholds for internal supply voltage monitor: 100   V increments" access="RO" offset="0x4.0" size="0x0.16" />
	<field name="voltage_high_alarm" descr="Thresholds for internal supply voltage monitor: 100   V increments" access="RO" offset="0x4.16" size="0x0.16" />
	<field name="voltage_low_warning" descr="Thresholds for internal supply voltage monitor: 100   V increments" access="RO" offset="0x8.0" size="0x0.16" />
	<field name="voltage_high_warning" descr="Thresholds for internal supply voltage monitor: 100   V increments" access="RO" offset="0x8.16" size="0x0.16" />
	<field name="rx_power_low_alarm" descr="Thresholds for Rx optical power monitor: \;0.1 uW increments Total measurement range of 0 to 6.5535 mW (~-40 dBm to +8.2 dBm for non-zero values)\;measured in dBm or uW according to module_info_ext value" access="RO" offset="0xC.0" size="0x0.16" />
	<field name="rx_power_high_alarm" descr="Thresholds for Rx optical power monitor: \;0.1 uW increments Total measurement range of 0 to 6.5535 mW (~-40 dBm to +8.2 dBm for non-zero values)\;measured in dBm or uW according to module_info_ext value" access="RO" offset="0xC.16" size="0x0.16" />
	<field name="rx_power_low_warning" descr="Thresholds for Rx optical power monitor: \;0.1 uW increments Total measurement range of 0 to 6.5535 mW (~-40 dBm to +8.2 dBm for non-zero values)\;measured in dBm or uW according to module_info_ext value" access="RO" offset="0x10.0" size="0x0.16" />
	<field name="rx_power_high_warning" descr="Thresholds for Rx optical power monitor: \;0.1 uW increments Total measurement range of 0 to 6.5535 mW (~-40 dBm to +8.2 dBm for non-zero values)\;measured in dBm or uW according to module_info_ext value" access="RO" offset="0x10.16" size="0x0.16" />
	<field name="tx_power_low_alarm" descr="Thresholds for Tx optical power monitor: \;in 0.1 uW increments Total measurement range of 0 to 6.5535 mW (or ~-40 dBm to +8.2 dBm for non-zero values)" access="RO" offset="0x14.0" size="0x0.16" />
	<field name="tx_power_high_alarm" descr="Thresholds for Tx optical power monitor: \;in 0.1 uW increments Total measurement range of 0 to 6.5535 mW (or ~-40 dBm to +8.2 dBm for non-zero values)" access="RO" offset="0x14.16" size="0x0.16" />
	<field name="tx_power_low_warning" descr="Thresholds for Tx optical power monitor: \;in 0.1 uW increments Total measurement range of 0 to 6.5535 mW (or ~-40 dBm to +8.2 dBm for non-zero values)" access="RO" offset="0x18.0" size="0x0.16" />
	<field name="tx_power_high_warning" descr="Thresholds for Tx optical power monitor: \;in 0.1 uW increments Total measurement range of 0 to 6.5535 mW (or ~-40 dBm to +8.2 dBm for non-zero values)" access="RO" offset="0x18.16" size="0x0.16" />
	<field name="tx_bias_high_alarm" descr="Thresholds for Tx laser bias monitor: 2 uA increments" access="RO" offset="0x1C.0" size="0x4.0" />
	<field name="tx_bias_low_alarm" descr="Thresholds for Tx laser bias monitor: 2 uA increments" access="RO" offset="0x20.0" size="0x4.0" />
	<field name="tx_bias_high_warning" descr="Thresholds for Tx laser bias monitor: 2 uA increments" access="RO" offset="0x24.0" size="0x4.0" />
	<field name="tx_bias_low_warning" descr="Thresholds for Tx laser bias monitor: 2 uA increments" access="RO" offset="0x28.0" size="0x4.0" />
	<field name="temperature_low_alarm" descr="Thresholds for temperature: 1/256 Celsius degrees\;" access="RO" offset="0x2C.0" size="0x0.16" />
	<field name="temperature_high_alarm" descr="Thresholds for temperature: 1/256 Celsius degrees\;" access="RO" offset="0x2C.16" size="0x0.16" />
	<field name="temperature_low_warning" descr="Thresholds for temperature: 1/256 Celsius degrees\;" access="RO" offset="0x30.0" size="0x0.16" />
	<field name="temperature_high_warning" descr="Thresholds for temperature: 1/256 Celsius degrees\;" access="RO" offset="0x30.16" size="0x0.16" />
	<field name="max_tec_power_low_alarm" descr="Thresholds for max TEC power: 1 mW" access="RO" offset="0x34.0" size="0x0.16" />
	<field name="max_tec_power_high_alarm" descr="Thresholds for max TEC power: 1 mW" access="RO" offset="0x34.16" size="0x0.16" />
	<field name="max_tec_power_low_warning" descr="Thresholds for max TEC power: 1 mW" access="RO" offset="0x38.0" size="0x0.16" />
	<field name="max_tec_power_high_warning" descr="Thresholds for max TEC power: 1 mW" access="RO" offset="0x38.16" size="0x0.16" />
</node>

<node name="pemi_PAM4_Level_Transition_Properties_ext" descr="" size="0xf8.0" >
	<field name="pam4_level_transition_cap" descr="Pam4 level transition measures signal-to-noise ratio, more sensitive to a noise floor. PAM level transition is defined as the average of the peak histogram height divided by the minimum histogram height. \;When the minimum histogram height between PAM levels is zero the value is encoded as FFFF.\;\;Pam4 level transition group capability mask:\;Bit 0: pam4_level_transition_media\;Bit 1: pam4_level_transition_host" access="RO" enum="pam4_level_transition_media=0x1,pam4_level_transition_host=0x2" offset="0x0.16" size="0x0.16" />
	<field name="pam4_level_transition_media_low_warning" descr="Thresholds for the PAM4 level transition value on the media lanes. \;In unit scale of 1/256 dB." access="RO" offset="0x4.0" size="0x0.16" />
	<field name="pam4_level_transition_media_low_alarm" descr="Thresholds for the PAM4 level transition value on the media lanes. \;In unit scale of 1/256 dB." access="RO" offset="0x4.16" size="0x0.16" />
	<field name="pam4_level_transition_host_low_warning" descr="Thresholds for the PAM4 level transition value on the host lanes. \;In unit scale of 1/256 dB." access="RO" offset="0x8.0" size="0x0.16" />
	<field name="pam4_level_transition_host_low_alarm" descr="Thresholds for the PAM4 level transition value on the host lanes. \;In unit scale of 1/256 dB." access="RO" offset="0x8.16" size="0x0.16" />
</node>

<node name="pemi_PAM4_Level_Transition_Samples_ext" descr="" size="0xf8.0" >
	<field name="pam4_level_transition_media_lane1" descr="Measures the electrical level noise in the media lane &lt;i&gt;. \;Defined as the minimum of three individual PAM level transition values. PAM level transition is defined as the average of the peak histogram height divided by the minimum histogram height.\;Measured in units scale of 1/256 db. \;When the minimum histogram height is zero the PAM level transition value is encoded as FFFF (255.996 dB)." access="RO" offset="0x0.0" size="0x0.16" />
	<field name="pam4_level_transition_media_lane0" descr="Measures the electrical level noise in the media lane &lt;i&gt;. \;Defined as the minimum of three individual PAM level transition values. PAM level transition is defined as the average of the peak histogram height divided by the minimum histogram height.\;Measured in units scale of 1/256 db. \;When the minimum histogram height is zero the PAM level transition value is encoded as FFFF (255.996 dB)." access="RO" offset="0x0.16" size="0x0.16" />
	<field name="pam4_level_transition_media_lane3" descr="Measures the electrical level noise in the media lane &lt;i&gt;. \;Defined as the minimum of three individual PAM level transition values. PAM level transition is defined as the average of the peak histogram height divided by the minimum histogram height.\;Measured in units scale of 1/256 db. \;When the minimum histogram height is zero the PAM level transition value is encoded as FFFF (255.996 dB)." access="RO" offset="0x4.0" size="0x0.16" />
	<field name="pam4_level_transition_media_lane2" descr="Measures the electrical level noise in the media lane &lt;i&gt;. \;Defined as the minimum of three individual PAM level transition values. PAM level transition is defined as the average of the peak histogram height divided by the minimum histogram height.\;Measured in units scale of 1/256 db. \;When the minimum histogram height is zero the PAM level transition value is encoded as FFFF (255.996 dB)." access="RO" offset="0x4.16" size="0x0.16" />
	<field name="pam4_level_transition_media_lane5" descr="Measures the electrical level noise in the media lane &lt;i&gt;. \;Defined as the minimum of three individual PAM level transition values. PAM level transition is defined as the average of the peak histogram height divided by the minimum histogram height.\;Measured in units scale of 1/256 db. \;When the minimum histogram height is zero the PAM level transition value is encoded as FFFF (255.996 dB)." access="RO" offset="0x8.0" size="0x0.16" />
	<field name="pam4_level_transition_media_lane4" descr="Measures the electrical level noise in the media lane &lt;i&gt;. \;Defined as the minimum of three individual PAM level transition values. PAM level transition is defined as the average of the peak histogram height divided by the minimum histogram height.\;Measured in units scale of 1/256 db. \;When the minimum histogram height is zero the PAM level transition value is encoded as FFFF (255.996 dB)." access="RO" offset="0x8.16" size="0x0.16" />
	<field name="pam4_level_transition_media_lane7" descr="Measures the electrical level noise in the media lane &lt;i&gt;. \;Defined as the minimum of three individual PAM level transition values. PAM level transition is defined as the average of the peak histogram height divided by the minimum histogram height.\;Measured in units scale of 1/256 db. \;When the minimum histogram height is zero the PAM level transition value is encoded as FFFF (255.996 dB)." access="RO" offset="0xC.0" size="0x0.16" />
	<field name="pam4_level_transition_media_lane6" descr="Measures the electrical level noise in the media lane &lt;i&gt;. \;Defined as the minimum of three individual PAM level transition values. PAM level transition is defined as the average of the peak histogram height divided by the minimum histogram height.\;Measured in units scale of 1/256 db. \;When the minimum histogram height is zero the PAM level transition value is encoded as FFFF (255.996 dB)." access="RO" offset="0xC.16" size="0x0.16" />
	<field name="pam4_level_transition_host_lane1" descr="Measures the electrical level noise in the host lane &lt;i&gt;. \;Defined as the minimum of three individual PAM level transition values. PAM level transition is defined as the average of the peak histogram height divided by the minimum histogram height.\;Measured in units scale of 1/256 db. \;When the minimum histogram height is zero the PAM level transition value is encoded as FFFF (255.996 dB)." access="RO" offset="0x10.0" size="0x0.16" />
	<field name="pam4_level_transition_host_lane0" descr="Measures the electrical level noise in the host lane &lt;i&gt;. \;Defined as the minimum of three individual PAM level transition values. PAM level transition is defined as the average of the peak histogram height divided by the minimum histogram height.\;Measured in units scale of 1/256 db. \;When the minimum histogram height is zero the PAM level transition value is encoded as FFFF (255.996 dB)." access="RO" offset="0x10.16" size="0x0.16" />
	<field name="pam4_level_transition_host_lane3" descr="Measures the electrical level noise in the host lane &lt;i&gt;. \;Defined as the minimum of three individual PAM level transition values. PAM level transition is defined as the average of the peak histogram height divided by the minimum histogram height.\;Measured in units scale of 1/256 db. \;When the minimum histogram height is zero the PAM level transition value is encoded as FFFF (255.996 dB)." access="RO" offset="0x14.0" size="0x0.16" />
	<field name="pam4_level_transition_host_lane2" descr="Measures the electrical level noise in the host lane &lt;i&gt;. \;Defined as the minimum of three individual PAM level transition values. PAM level transition is defined as the average of the peak histogram height divided by the minimum histogram height.\;Measured in units scale of 1/256 db. \;When the minimum histogram height is zero the PAM level transition value is encoded as FFFF (255.996 dB)." access="RO" offset="0x14.16" size="0x0.16" />
	<field name="pam4_level_transition_host_lane5" descr="Measures the electrical level noise in the host lane &lt;i&gt;. \;Defined as the minimum of three individual PAM level transition values. PAM level transition is defined as the average of the peak histogram height divided by the minimum histogram height.\;Measured in units scale of 1/256 db. \;When the minimum histogram height is zero the PAM level transition value is encoded as FFFF (255.996 dB)." access="RO" offset="0x18.0" size="0x0.16" />
	<field name="pam4_level_transition_host_lane4" descr="Measures the electrical level noise in the host lane &lt;i&gt;. \;Defined as the minimum of three individual PAM level transition values. PAM level transition is defined as the average of the peak histogram height divided by the minimum histogram height.\;Measured in units scale of 1/256 db. \;When the minimum histogram height is zero the PAM level transition value is encoded as FFFF (255.996 dB)." access="RO" offset="0x18.16" size="0x0.16" />
	<field name="pam4_level_transition_host_lane7" descr="Measures the electrical level noise in the host lane &lt;i&gt;. \;Defined as the minimum of three individual PAM level transition values. PAM level transition is defined as the average of the peak histogram height divided by the minimum histogram height.\;Measured in units scale of 1/256 db. \;When the minimum histogram height is zero the PAM level transition value is encoded as FFFF (255.996 dB)." access="RO" offset="0x1C.0" size="0x0.16" />
	<field name="pam4_level_transition_host_lane6" descr="Measures the electrical level noise in the host lane &lt;i&gt;. \;Defined as the minimum of three individual PAM level transition values. PAM level transition is defined as the average of the peak histogram height divided by the minimum histogram height.\;Measured in units scale of 1/256 db. \;When the minimum histogram height is zero the PAM level transition value is encoded as FFFF (255.996 dB)." access="RO" offset="0x1C.16" size="0x0.16" />
</node>

<node name="pemi_Pre_FEC_BER_Properties_ext" descr="" size="0xf8.0" >
	<field name="pre_fec_ber_cap" descr="Pre-FEC Bit Error Ratio represents the total number of bits that were corrected by the FEC during an interval divided by the total number of bits received in that interval.\;\;group capability mask:\;Bit 0: pre_fec_ber_min_media\;Bit 1: pre_fec_ber_min_host\;Bit 2: pre_fec_ber_max_media\;Bit 3: pre_fec_ber_max_host\;bit 4: pre_fec_ber_avg_media\;bit 5: pre_fec_ber_avg_host\;bit 6: pre_fec_ber_val_media\;bit 7: pre_fec_ber_val_host" access="RO" enum="pre_fec_ber_min_media=0x1,pre_fec_ber_min_host=0x2,pre_fec_ber_max_media=0x4,pre_fec_ber_max_host=0x8,pre_fec_ber_avg_media=0x10,pre_fec_ber_avg_host=0x20,pre_fec_ber_val_media=0x40,pre_fec_ber_val_host=0x80" offset="0x0.16" size="0x0.16" />
	<field name="pre_fec_ber_min_high_media_warning" descr="Thresholds for the pre-FEC BER values." access="RO" offset="0x4.0" size="0x0.16" />
	<field name="pre_fec_ber_min_high_media_alarm" descr="Thresholds for the pre-FEC BER values." access="RO" offset="0x4.16" size="0x0.16" />
	<field name="pre_fec_ber_min_high_host_warning" descr="Thresholds for the pre-FEC BER values." access="RO" offset="0x8.0" size="0x0.16" />
	<field name="pre_fec_ber_min_high_host_alarm" descr="Thresholds for the pre-FEC BER values." access="RO" offset="0x8.16" size="0x0.16" />
	<field name="pre_fec_ber_max_high_media_warning" descr="Thresholds for the pre-FEC BER values." access="RO" offset="0xC.0" size="0x0.16" />
	<field name="pre_fec_ber_max_high_media_alarm" descr="Thresholds for the pre-FEC BER values." access="RO" offset="0xC.16" size="0x0.16" />
	<field name="pre_fec_ber_max_high_host_warning" descr="Thresholds for the pre-FEC BER values." access="RO" offset="0x10.0" size="0x0.16" />
	<field name="pre_fec_ber_max_high_host_alarm" descr="Thresholds for the pre-FEC BER values." access="RO" offset="0x10.16" size="0x0.16" />
	<field name="pre_fec_ber_avg_high_media_warning" descr="Thresholds for the pre-FEC BER values." access="RO" offset="0x14.0" size="0x0.16" />
	<field name="pre_fec_ber_avg_high_media_alarm" descr="Thresholds for the pre-FEC BER values." access="RO" offset="0x14.16" size="0x0.16" />
	<field name="pre_fec_ber_avg_high_host_warning" descr="Thresholds for the pre-FEC BER values." access="RO" offset="0x18.0" size="0x0.16" />
	<field name="pre_fec_ber_avg_high_host_alarm" descr="Thresholds for the pre-FEC BER values." access="RO" offset="0x18.16" size="0x0.16" />
</node>

<node name="pemi_Pre_FEC_BER_Samples_ext" descr="" size="0xf8.0" >
	<field name="pre_fec_ber_val_host0" descr="The sampled value of the Pre-FEC BER in the host input." access="RO" offset="0x0.0" size="0x0.16" />
	<field name="pre_fec_ber_val_media0" descr="The sampled value of the Pre-FEC BER in the media input." access="RO" offset="0x0.16" size="0x0.16" />
	<field name="pre_fec_ber_val_host1" descr="The sampled value of the Pre-FEC BER in the host input." access="RO" offset="0x4.0" size="0x0.16" />
	<field name="pre_fec_ber_val_media1" descr="The sampled value of the Pre-FEC BER in the media input." access="RO" offset="0x4.16" size="0x0.16" />
	<field name="pre_fec_ber_val_host2" descr="The sampled value of the Pre-FEC BER in the host input." access="RO" offset="0x8.0" size="0x0.16" />
	<field name="pre_fec_ber_val_media2" descr="The sampled value of the Pre-FEC BER in the media input." access="RO" offset="0x8.16" size="0x0.16" />
	<field name="pre_fec_ber_val_host3" descr="The sampled value of the Pre-FEC BER in the host input." access="RO" offset="0xC.0" size="0x0.16" />
	<field name="pre_fec_ber_val_media3" descr="The sampled value of the Pre-FEC BER in the media input." access="RO" offset="0xC.16" size="0x0.16" />
	<field name="pre_fec_ber_val_host4" descr="The sampled value of the Pre-FEC BER in the host input." access="RO" offset="0x10.0" size="0x0.16" />
	<field name="pre_fec_ber_val_media4" descr="The sampled value of the Pre-FEC BER in the media input." access="RO" offset="0x10.16" size="0x0.16" />
	<field name="pre_fec_ber_val_host5" descr="The sampled value of the Pre-FEC BER in the host input." access="RO" offset="0x14.0" size="0x0.16" />
	<field name="pre_fec_ber_val_media5" descr="The sampled value of the Pre-FEC BER in the media input." access="RO" offset="0x14.16" size="0x0.16" />
	<field name="pre_fec_ber_val_host6" descr="The sampled value of the Pre-FEC BER in the host input." access="RO" offset="0x18.0" size="0x0.16" />
	<field name="pre_fec_ber_val_media6" descr="The sampled value of the Pre-FEC BER in the media input." access="RO" offset="0x18.16" size="0x0.16" />
	<field name="pre_fec_ber_val_host7" descr="The sampled value of the Pre-FEC BER in the host input." access="RO" offset="0x1C.0" size="0x0.16" />
	<field name="pre_fec_ber_val_media7" descr="The sampled value of the Pre-FEC BER in the media input." access="RO" offset="0x1C.16" size="0x0.16" />
	<field name="pre_fec_ber_min_host0" descr="The minimum statistical value of the Pre-FEC BER in the host input." access="RO" offset="0x20.0" size="0x0.16" />
	<field name="pre_fec_ber_min_media0" descr="The minimum statistical value of the Pre-FEC BER in the media input." access="RO" offset="0x20.16" size="0x0.16" />
	<field name="pre_fec_ber_min_host1" descr="The minimum statistical value of the Pre-FEC BER in the host input." access="RO" offset="0x24.0" size="0x0.16" />
	<field name="pre_fec_ber_min_media1" descr="The minimum statistical value of the Pre-FEC BER in the media input." access="RO" offset="0x24.16" size="0x0.16" />
	<field name="pre_fec_ber_min_host2" descr="The minimum statistical value of the Pre-FEC BER in the host input." access="RO" offset="0x28.0" size="0x0.16" />
	<field name="pre_fec_ber_min_media2" descr="The minimum statistical value of the Pre-FEC BER in the media input." access="RO" offset="0x28.16" size="0x0.16" />
	<field name="pre_fec_ber_min_host3" descr="The minimum statistical value of the Pre-FEC BER in the host input." access="RO" offset="0x2C.0" size="0x0.16" />
	<field name="pre_fec_ber_min_media3" descr="The minimum statistical value of the Pre-FEC BER in the media input." access="RO" offset="0x2C.16" size="0x0.16" />
	<field name="pre_fec_ber_min_host4" descr="The minimum statistical value of the Pre-FEC BER in the host input." access="RO" offset="0x30.0" size="0x0.16" />
	<field name="pre_fec_ber_min_media4" descr="The minimum statistical value of the Pre-FEC BER in the media input." access="RO" offset="0x30.16" size="0x0.16" />
	<field name="pre_fec_ber_min_host5" descr="The minimum statistical value of the Pre-FEC BER in the host input." access="RO" offset="0x34.0" size="0x0.16" />
	<field name="pre_fec_ber_min_media5" descr="The minimum statistical value of the Pre-FEC BER in the media input." access="RO" offset="0x34.16" size="0x0.16" />
	<field name="pre_fec_ber_min_host6" descr="The minimum statistical value of the Pre-FEC BER in the host input." access="RO" offset="0x38.0" size="0x0.16" />
	<field name="pre_fec_ber_min_media6" descr="The minimum statistical value of the Pre-FEC BER in the media input." access="RO" offset="0x38.16" size="0x0.16" />
	<field name="pre_fec_ber_min_host7" descr="The minimum statistical value of the Pre-FEC BER in the host input." access="RO" offset="0x3C.0" size="0x0.16" />
	<field name="pre_fec_ber_min_media7" descr="The minimum statistical value of the Pre-FEC BER in the media input." access="RO" offset="0x3C.16" size="0x0.16" />
	<field name="pre_fec_ber_max_host0" descr="The maximum statistical value of the Pre-FEC BER in the host input." access="RO" offset="0x40.0" size="0x0.16" />
	<field name="pre_fec_ber_max_media0" descr="The maximum statistical value of the Pre-FEC BER in the media input." access="RO" offset="0x40.16" size="0x0.16" />
	<field name="pre_fec_ber_max_host1" descr="The maximum statistical value of the Pre-FEC BER in the host input." access="RO" offset="0x44.0" size="0x0.16" />
	<field name="pre_fec_ber_max_media1" descr="The maximum statistical value of the Pre-FEC BER in the media input." access="RO" offset="0x44.16" size="0x0.16" />
	<field name="pre_fec_ber_max_host2" descr="The maximum statistical value of the Pre-FEC BER in the host input." access="RO" offset="0x48.0" size="0x0.16" />
	<field name="pre_fec_ber_max_media2" descr="The maximum statistical value of the Pre-FEC BER in the media input." access="RO" offset="0x48.16" size="0x0.16" />
	<field name="pre_fec_ber_max_host3" descr="The maximum statistical value of the Pre-FEC BER in the host input." access="RO" offset="0x4C.0" size="0x0.16" />
	<field name="pre_fec_ber_max_media3" descr="The maximum statistical value of the Pre-FEC BER in the media input." access="RO" offset="0x4C.16" size="0x0.16" />
	<field name="pre_fec_ber_max_host4" descr="The maximum statistical value of the Pre-FEC BER in the host input." access="RO" offset="0x50.0" size="0x0.16" />
	<field name="pre_fec_ber_max_media4" descr="The maximum statistical value of the Pre-FEC BER in the media input." access="RO" offset="0x50.16" size="0x0.16" />
	<field name="pre_fec_ber_max_host5" descr="The maximum statistical value of the Pre-FEC BER in the host input." access="RO" offset="0x54.0" size="0x0.16" />
	<field name="pre_fec_ber_max_media5" descr="The maximum statistical value of the Pre-FEC BER in the media input." access="RO" offset="0x54.16" size="0x0.16" />
	<field name="pre_fec_ber_max_host6" descr="The maximum statistical value of the Pre-FEC BER in the host input." access="RO" offset="0x58.0" size="0x0.16" />
	<field name="pre_fec_ber_max_media6" descr="The maximum statistical value of the Pre-FEC BER in the media input." access="RO" offset="0x58.16" size="0x0.16" />
	<field name="pre_fec_ber_max_host7" descr="The maximum statistical value of the Pre-FEC BER in the host input." access="RO" offset="0x5C.0" size="0x0.16" />
	<field name="pre_fec_ber_max_media7" descr="The maximum statistical value of the Pre-FEC BER in the media input." access="RO" offset="0x5C.16" size="0x0.16" />
	<field name="pre_fec_ber_avg_host0" descr="The average statistical value of the Pre-FEC BER in the host input." access="RO" offset="0x60.0" size="0x0.16" />
	<field name="pre_fec_ber_avg_media0" descr="The average statistical value of the Pre-FEC BER in the media input." access="RO" offset="0x60.16" size="0x0.16" />
	<field name="pre_fec_ber_avg_host1" descr="The average statistical value of the Pre-FEC BER in the host input." access="RO" offset="0x64.0" size="0x0.16" />
	<field name="pre_fec_ber_avg_media1" descr="The average statistical value of the Pre-FEC BER in the media input." access="RO" offset="0x64.16" size="0x0.16" />
	<field name="pre_fec_ber_avg_host2" descr="The average statistical value of the Pre-FEC BER in the host input." access="RO" offset="0x68.0" size="0x0.16" />
	<field name="pre_fec_ber_avg_media2" descr="The average statistical value of the Pre-FEC BER in the media input." access="RO" offset="0x68.16" size="0x0.16" />
	<field name="pre_fec_ber_avg_host3" descr="The average statistical value of the Pre-FEC BER in the host input." access="RO" offset="0x6C.0" size="0x0.16" />
	<field name="pre_fec_ber_avg_media3" descr="The average statistical value of the Pre-FEC BER in the media input." access="RO" offset="0x6C.16" size="0x0.16" />
	<field name="pre_fec_ber_avg_host4" descr="The average statistical value of the Pre-FEC BER in the host input." access="RO" offset="0x70.0" size="0x0.16" />
	<field name="pre_fec_ber_avg_media4" descr="The average statistical value of the Pre-FEC BER in the media input." access="RO" offset="0x70.16" size="0x0.16" />
	<field name="pre_fec_ber_avg_host5" descr="The average statistical value of the Pre-FEC BER in the host input." access="RO" offset="0x74.0" size="0x0.16" />
	<field name="pre_fec_ber_avg_media5" descr="The average statistical value of the Pre-FEC BER in the media input." access="RO" offset="0x74.16" size="0x0.16" />
	<field name="pre_fec_ber_avg_host6" descr="The average statistical value of the Pre-FEC BER in the host input." access="RO" offset="0x78.0" size="0x0.16" />
	<field name="pre_fec_ber_avg_media6" descr="The average statistical value of the Pre-FEC BER in the media input." access="RO" offset="0x78.16" size="0x0.16" />
	<field name="pre_fec_ber_avg_host7" descr="The average statistical value of the Pre-FEC BER in the host input." access="RO" offset="0x7C.0" size="0x0.16" />
	<field name="pre_fec_ber_avg_media7" descr="The average statistical value of the Pre-FEC BER in the media input." access="RO" offset="0x7C.16" size="0x0.16" />
</node>

<node name="pemi_SEWmax_Properties_ext" descr="" size="0xf8.0" >
	<field name="sew_max_cap" descr="Maximum FEC Symbol Error Weight (SEWmax) Also known as maximum FEC bin or as maximum FEC symbol errorsThis observable represents the highest number of correctable FEC symbols in a FEC frame that have been detected by a FEC decoder during a sample measurement interval.\;\;SEWmax group capability mask:\;Bit 0: sew_max_min_media\;Bit 1: sew_max_min_host\;Bit 2: sew_max_max_media\;Bit 3: sew_max_max_host\;bit 4: sew_max_avg_media\;bit 5: sew_max_avg_host\;bit 6: sew_max_val_media\;bit 7: sew_max_val_host" access="RO" enum="sew_max_min_media=0x1,sew_max_min_host=0x2,sew_max_max_media=0x4,sew_max_max_host=0x8,sew_max_avg_media=0x10,sew_max_avg_host=0x20,sew_max_val_media=0x40,sew_max_val_host=0x80" offset="0x0.16" size="0x0.16" />
	<field name="sew_max_min_high_media_warning" descr="Thresholds for the SEWmax values." access="RO" offset="0x4.0" size="0x0.16" />
	<field name="sew_max_min_high_media_alarm" descr="Thresholds for the SEWmax values." access="RO" offset="0x4.16" size="0x0.16" />
	<field name="sew_max_min_high_host_warning" descr="Thresholds for the SEWmax values." access="RO" offset="0x8.0" size="0x0.16" />
	<field name="sew_max_min_high_host_alarm" descr="Thresholds for the SEWmax values." access="RO" offset="0x8.16" size="0x0.16" />
	<field name="sew_max_max_high_media_warning" descr="Thresholds for the SEWmax values." access="RO" offset="0xC.0" size="0x0.16" />
	<field name="sew_max_max_high_media_alarm" descr="Thresholds for the SEWmax values." access="RO" offset="0xC.16" size="0x0.16" />
	<field name="sew_max_max_high_host_warning" descr="Thresholds for the SEWmax values." access="RO" offset="0x10.0" size="0x0.16" />
	<field name="sew_max_max_high_host_alarm" descr="Thresholds for the SEWmax values." access="RO" offset="0x10.16" size="0x0.16" />
	<field name="sew_max_avg_high_media_warning" descr="Thresholds for the SEWmax values." access="RO" offset="0x14.0" size="0x0.16" />
	<field name="sew_max_avg_high_media_alarm" descr="Thresholds for the SEWmax values." access="RO" offset="0x14.16" size="0x0.16" />
	<field name="sew_max_avg_high_host_warning" descr="Thresholds for the SEWmax values." access="RO" offset="0x18.0" size="0x0.16" />
	<field name="sew_max_avg_high_host_alarm" descr="Thresholds for the SEWmax values." access="RO" offset="0x18.16" size="0x0.16" />
</node>

<node name="pemi_SEWmax_Samples_ext" descr="" size="0xf8.0" >
	<field name="sew_max_val_host0" descr="The sampled value of the SEWmax in the host input." access="RO" offset="0x0.0" size="0x0.16" />
	<field name="sew_max_val_media0" descr="The sampled value of the SEWmax in the media input." access="RO" offset="0x0.16" size="0x0.16" />
	<field name="sew_max_val_host1" descr="The sampled value of the SEWmax in the host input." access="RO" offset="0x4.0" size="0x0.16" />
	<field name="sew_max_val_media1" descr="The sampled value of the SEWmax in the media input." access="RO" offset="0x4.16" size="0x0.16" />
	<field name="sew_max_val_host2" descr="The sampled value of the SEWmax in the host input." access="RO" offset="0x8.0" size="0x0.16" />
	<field name="sew_max_val_media2" descr="The sampled value of the SEWmax in the media input." access="RO" offset="0x8.16" size="0x0.16" />
	<field name="sew_max_val_host3" descr="The sampled value of the SEWmax in the host input." access="RO" offset="0xC.0" size="0x0.16" />
	<field name="sew_max_val_media3" descr="The sampled value of the SEWmax in the media input." access="RO" offset="0xC.16" size="0x0.16" />
	<field name="sew_max_val_host4" descr="The sampled value of the SEWmax in the host input." access="RO" offset="0x10.0" size="0x0.16" />
	<field name="sew_max_val_media4" descr="The sampled value of the SEWmax in the media input." access="RO" offset="0x10.16" size="0x0.16" />
	<field name="sew_max_val_host5" descr="The sampled value of the SEWmax in the host input." access="RO" offset="0x14.0" size="0x0.16" />
	<field name="sew_max_val_media5" descr="The sampled value of the SEWmax in the media input." access="RO" offset="0x14.16" size="0x0.16" />
	<field name="sew_max_val_host6" descr="The sampled value of the SEWmax in the host input." access="RO" offset="0x18.0" size="0x0.16" />
	<field name="sew_max_val_media6" descr="The sampled value of the SEWmax in the media input." access="RO" offset="0x18.16" size="0x0.16" />
	<field name="sew_max_val_host7" descr="The sampled value of the SEWmax in the host input." access="RO" offset="0x1C.0" size="0x0.16" />
	<field name="sew_max_val_media7" descr="The sampled value of the SEWmax in the media input." access="RO" offset="0x1C.16" size="0x0.16" />
	<field name="sew_max_min_host0" descr="The minimum statistical value of the SEWmax in the host input." access="RO" offset="0x20.0" size="0x0.16" />
	<field name="sew_max_min_media0" descr="The minimum statistical value of the SEWmax in the media input." access="RO" offset="0x20.16" size="0x0.16" />
	<field name="sew_max_min_host1" descr="The minimum statistical value of the SEWmax in the host input." access="RO" offset="0x24.0" size="0x0.16" />
	<field name="sew_max_min_media1" descr="The minimum statistical value of the SEWmax in the media input." access="RO" offset="0x24.16" size="0x0.16" />
	<field name="sew_max_min_host2" descr="The minimum statistical value of the SEWmax in the host input." access="RO" offset="0x28.0" size="0x0.16" />
	<field name="sew_max_min_media2" descr="The minimum statistical value of the SEWmax in the media input." access="RO" offset="0x28.16" size="0x0.16" />
	<field name="sew_max_min_host3" descr="The minimum statistical value of the SEWmax in the host input." access="RO" offset="0x2C.0" size="0x0.16" />
	<field name="sew_max_min_media3" descr="The minimum statistical value of the SEWmax in the media input." access="RO" offset="0x2C.16" size="0x0.16" />
	<field name="sew_max_min_host4" descr="The minimum statistical value of the SEWmax in the host input." access="RO" offset="0x30.0" size="0x0.16" />
	<field name="sew_max_min_media4" descr="The minimum statistical value of the SEWmax in the media input." access="RO" offset="0x30.16" size="0x0.16" />
	<field name="sew_max_min_host5" descr="The minimum statistical value of the SEWmax in the host input." access="RO" offset="0x34.0" size="0x0.16" />
	<field name="sew_max_min_media5" descr="The minimum statistical value of the SEWmax in the media input." access="RO" offset="0x34.16" size="0x0.16" />
	<field name="sew_max_min_host6" descr="The minimum statistical value of the SEWmax in the host input." access="RO" offset="0x38.0" size="0x0.16" />
	<field name="sew_max_min_media6" descr="The minimum statistical value of the SEWmax in the media input." access="RO" offset="0x38.16" size="0x0.16" />
	<field name="sew_max_min_host7" descr="The minimum statistical value of the SEWmax in the host input." access="RO" offset="0x3C.0" size="0x0.16" />
	<field name="sew_max_min_media7" descr="The minimum statistical value of the SEWmax in the media input." access="RO" offset="0x3C.16" size="0x0.16" />
	<field name="sew_max_max_host0" descr="The maximum statistical value of the SEWmax in the host input." access="RO" offset="0x40.0" size="0x0.16" />
	<field name="sew_max_max_media0" descr="The maximum statistical value of the SEWmax in the media input" access="RO" offset="0x40.16" size="0x0.16" />
	<field name="sew_max_max_host1" descr="The maximum statistical value of the SEWmax in the host input." access="RO" offset="0x44.0" size="0x0.16" />
	<field name="sew_max_max_media1" descr="The maximum statistical value of the SEWmax in the media input" access="RO" offset="0x44.16" size="0x0.16" />
	<field name="sew_max_max_host2" descr="The maximum statistical value of the SEWmax in the host input." access="RO" offset="0x48.0" size="0x0.16" />
	<field name="sew_max_max_media2" descr="The maximum statistical value of the SEWmax in the media input" access="RO" offset="0x48.16" size="0x0.16" />
	<field name="sew_max_max_host3" descr="The maximum statistical value of the SEWmax in the host input." access="RO" offset="0x4C.0" size="0x0.16" />
	<field name="sew_max_max_media3" descr="The maximum statistical value of the SEWmax in the media input" access="RO" offset="0x4C.16" size="0x0.16" />
	<field name="sew_max_max_host4" descr="The maximum statistical value of the SEWmax in the host input." access="RO" offset="0x50.0" size="0x0.16" />
	<field name="sew_max_max_media4" descr="The maximum statistical value of the SEWmax in the media input" access="RO" offset="0x50.16" size="0x0.16" />
	<field name="sew_max_max_host5" descr="The maximum statistical value of the SEWmax in the host input." access="RO" offset="0x54.0" size="0x0.16" />
	<field name="sew_max_max_media5" descr="The maximum statistical value of the SEWmax in the media input" access="RO" offset="0x54.16" size="0x0.16" />
	<field name="sew_max_max_host6" descr="The maximum statistical value of the SEWmax in the host input." access="RO" offset="0x58.0" size="0x0.16" />
	<field name="sew_max_max_media6" descr="The maximum statistical value of the SEWmax in the media input" access="RO" offset="0x58.16" size="0x0.16" />
	<field name="sew_max_max_host7" descr="The maximum statistical value of the SEWmax in the host input." access="RO" offset="0x5C.0" size="0x0.16" />
	<field name="sew_max_max_media7" descr="The maximum statistical value of the SEWmax in the media input" access="RO" offset="0x5C.16" size="0x0.16" />
	<field name="sew_max_avg_host0" descr="The average statistical value of the SEWmax in the host input." access="RO" offset="0x60.0" size="0x0.16" />
	<field name="sew_max_avg_media0" descr="The average statistical value of the SEWmax in the media input." access="RO" offset="0x60.16" size="0x0.16" />
	<field name="sew_max_avg_host1" descr="The average statistical value of the SEWmax in the host input." access="RO" offset="0x64.0" size="0x0.16" />
	<field name="sew_max_avg_media1" descr="The average statistical value of the SEWmax in the media input." access="RO" offset="0x64.16" size="0x0.16" />
	<field name="sew_max_avg_host2" descr="The average statistical value of the SEWmax in the host input." access="RO" offset="0x68.0" size="0x0.16" />
	<field name="sew_max_avg_media2" descr="The average statistical value of the SEWmax in the media input." access="RO" offset="0x68.16" size="0x0.16" />
	<field name="sew_max_avg_host3" descr="The average statistical value of the SEWmax in the host input." access="RO" offset="0x6C.0" size="0x0.16" />
	<field name="sew_max_avg_media3" descr="The average statistical value of the SEWmax in the media input." access="RO" offset="0x6C.16" size="0x0.16" />
	<field name="sew_max_avg_host4" descr="The average statistical value of the SEWmax in the host input." access="RO" offset="0x70.0" size="0x0.16" />
	<field name="sew_max_avg_media4" descr="The average statistical value of the SEWmax in the media input." access="RO" offset="0x70.16" size="0x0.16" />
	<field name="sew_max_avg_host5" descr="The average statistical value of the SEWmax in the host input." access="RO" offset="0x74.0" size="0x0.16" />
	<field name="sew_max_avg_media5" descr="The average statistical value of the SEWmax in the media input." access="RO" offset="0x74.16" size="0x0.16" />
	<field name="sew_max_avg_host6" descr="The average statistical value of the SEWmax in the host input." access="RO" offset="0x78.0" size="0x0.16" />
	<field name="sew_max_avg_media6" descr="The average statistical value of the SEWmax in the media input." access="RO" offset="0x78.16" size="0x0.16" />
	<field name="sew_max_avg_host7" descr="The average statistical value of the SEWmax in the host input." access="RO" offset="0x7C.0" size="0x0.16" />
	<field name="sew_max_avg_media7" descr="The average statistical value of the SEWmax in the media input." access="RO" offset="0x7C.16" size="0x0.16" />
</node>

<node name="pemi_SNR_Properties_ext" descr="" size="0xf8.0" >
	<field name="snr_cap" descr="The SNR, represents the electrical signal-to-noise ratio on an optical lane, and it&apos;s defined as the minimum of the three individual eye SNR values.\;\;SNR group capability mask:\;Bit 0: snr_media\;Bit 1: snr_host" access="RO" enum="snr_media=0x1,snr_host=0x2" offset="0x0.16" size="0x0.16" />
	<field name="snr_media_low_warning" descr="Thresholds for the SNR value on the media lanes. \;In unit scale of 1/256 dB." access="RO" offset="0x4.0" size="0x0.16" />
	<field name="snr_media_low_alarm" descr="Thresholds for the SNR value on the media lanes. \;In unit scale of 1/256 dB." access="RO" offset="0x4.16" size="0x0.16" />
	<field name="snr_host_low_warning" descr="Thresholds for the SNR value on the media lanes. \;In unit scale of 1/256 dB." access="RO" offset="0x8.0" size="0x0.16" />
	<field name="snr_host_low_alarm" descr="Thresholds for the SNR value on the media lanes. \;In unit scale of 1/256 dB." access="RO" offset="0x8.16" size="0x0.16" />
</node>

<node name="pemi_SNR_Samples_ext" descr="" size="0xf8.0" >
	<field name="snr_media_lane1" descr="SNR value on the media lane &lt;i&gt;. In unit scale of 1/256 dB.\;The SNR value represents the electrical signal-to-noise ratio on an optical lane, and is defined as the minimum of the three individual eye SNR values." access="RO" offset="0x0.0" size="0x0.16" />
	<field name="snr_media_lane0" descr="SNR value on the media lane &lt;i&gt;. In unit scale of 1/256 dB.\;The SNR value represents the electrical signal-to-noise ratio on an optical lane, and is defined as the minimum of the three individual eye SNR values." access="RO" offset="0x0.16" size="0x0.16" />
	<field name="snr_media_lane3" descr="SNR value on the media lane &lt;i&gt;. In unit scale of 1/256 dB.\;The SNR value represents the electrical signal-to-noise ratio on an optical lane, and is defined as the minimum of the three individual eye SNR values." access="RO" offset="0x4.0" size="0x0.16" />
	<field name="snr_media_lane2" descr="SNR value on the media lane &lt;i&gt;. In unit scale of 1/256 dB.\;The SNR value represents the electrical signal-to-noise ratio on an optical lane, and is defined as the minimum of the three individual eye SNR values." access="RO" offset="0x4.16" size="0x0.16" />
	<field name="snr_media_lane5" descr="SNR value on the media lane &lt;i&gt;. In unit scale of 1/256 dB.\;The SNR value represents the electrical signal-to-noise ratio on an optical lane, and is defined as the minimum of the three individual eye SNR values." access="RO" offset="0x8.0" size="0x0.16" />
	<field name="snr_media_lane4" descr="SNR value on the media lane &lt;i&gt;. In unit scale of 1/256 dB.\;The SNR value represents the electrical signal-to-noise ratio on an optical lane, and is defined as the minimum of the three individual eye SNR values." access="RO" offset="0x8.16" size="0x0.16" />
	<field name="snr_media_lane7" descr="SNR value on the media lane &lt;i&gt;. In unit scale of 1/256 dB.\;The SNR value represents the electrical signal-to-noise ratio on an optical lane, and is defined as the minimum of the three individual eye SNR values." access="RO" offset="0xC.0" size="0x0.16" />
	<field name="snr_media_lane6" descr="SNR value on the media lane &lt;i&gt;. In unit scale of 1/256 dB.\;The SNR value represents the electrical signal-to-noise ratio on an optical lane, and is defined as the minimum of the three individual eye SNR values." access="RO" offset="0xC.16" size="0x0.16" />
	<field name="snr_host_lane1" descr="SNR value on the host lane &lt;i&gt;. In unit scale of 1/256 dB.\;The SNR value represents the electrical signal-to-noise ratio on an optical lane, and is defined as the minimum of the three individual eye SNR values." access="RO" offset="0x10.0" size="0x0.16" />
	<field name="snr_host_lane0" descr="SNR value on the host lane &lt;i&gt;. In unit scale of 1/256 dB.\;The SNR value represents the electrical signal-to-noise ratio on an optical lane, and is defined as the minimum of the three individual eye SNR values." access="RO" offset="0x10.16" size="0x0.16" />
	<field name="snr_host_lane3" descr="SNR value on the host lane &lt;i&gt;. In unit scale of 1/256 dB.\;The SNR value represents the electrical signal-to-noise ratio on an optical lane, and is defined as the minimum of the three individual eye SNR values." access="RO" offset="0x14.0" size="0x0.16" />
	<field name="snr_host_lane2" descr="SNR value on the host lane &lt;i&gt;. In unit scale of 1/256 dB.\;The SNR value represents the electrical signal-to-noise ratio on an optical lane, and is defined as the minimum of the three individual eye SNR values." access="RO" offset="0x14.16" size="0x0.16" />
	<field name="snr_host_lane5" descr="SNR value on the host lane &lt;i&gt;. In unit scale of 1/256 dB.\;The SNR value represents the electrical signal-to-noise ratio on an optical lane, and is defined as the minimum of the three individual eye SNR values." access="RO" offset="0x18.0" size="0x0.16" />
	<field name="snr_host_lane4" descr="SNR value on the host lane &lt;i&gt;. In unit scale of 1/256 dB.\;The SNR value represents the electrical signal-to-noise ratio on an optical lane, and is defined as the minimum of the three individual eye SNR values." access="RO" offset="0x18.16" size="0x0.16" />
	<field name="snr_host_lane7" descr="SNR value on the host lane &lt;i&gt;. In unit scale of 1/256 dB.\;The SNR value represents the electrical signal-to-noise ratio on an optical lane, and is defined as the minimum of the three individual eye SNR values." access="RO" offset="0x1C.0" size="0x0.16" />
	<field name="snr_host_lane6" descr="SNR value on the host lane &lt;i&gt;. In unit scale of 1/256 dB.\;The SNR value represents the electrical signal-to-noise ratio on an optical lane, and is defined as the minimum of the three individual eye SNR values." access="RO" offset="0x1C.16" size="0x0.16" />
</node>

<node name="pemi_cpo_module_info_samples_ext" descr="" size="0x34.0" >
	<field name="oe_sn" descr="Represent the OE SN, which matched to the sub module or local port" access="RO" high_bound="4" low_bound="0" offset="0x0.0" size="0x14.0" />
	<field name="laser_source_sn" descr="Represent the ELS SN, which matched to the sub module or local port" access="RO" high_bound="3" low_bound="0" offset="0x14.0" size="0x10.0" />
	<field name="laser_source_fw_version" descr="Relevant for virtual modules based system. represent the ELS FW version.\;" access="RO" offset="0x24.0" size="0x4.0" />
	<field name="els_module_index" descr="ELS module index, as module index among system modules" access="RO" offset="0x28.8" size="0x0.8" />
	<field name="oe_index" descr="OE modulex index" access="RO" offset="0x28.16" size="0x0.8" />
	<field name="els_index" descr="ELS module index, as shown on front panel" access="RO" offset="0x28.24" size="0x0.8" />
	<field name="oe_lane7_to_els_logical_laser" descr="OE optical lane to ELS logical laser mapping" access="RO" offset="0x2C.0" size="0x0.4" />
	<field name="oe_lane6_to_els_logical_laser" descr="OE optical lane to ELS logical laser mapping" access="RO" offset="0x2C.4" size="0x0.4" />
	<field name="oe_lane5_to_els_logical_laser" descr="OE optical lane to ELS logical laser mapping" access="RO" offset="0x2C.8" size="0x0.4" />
	<field name="oe_lane4_to_els_logical_laser" descr="OE optical lane to ELS logical laser mapping" access="RO" offset="0x2C.12" size="0x0.4" />
	<field name="oe_lane3_to_els_logical_laser" descr="OE optical lane to ELS logical laser mapping" access="RO" offset="0x2C.16" size="0x0.4" />
	<field name="oe_lane2_to_els_logical_laser" descr="OE optical lane to ELS logical laser mapping" access="RO" offset="0x2C.20" size="0x0.4" />
	<field name="oe_lane1_to_els_logical_laser" descr="OE optical lane to ELS logical laser mapping" access="RO" offset="0x2C.24" size="0x0.4" />
	<field name="oe_lane0_to_els_logical_laser" descr="OE optical lane to ELS logical laser mapping" access="RO" offset="0x2C.28" size="0x0.4" />
	<field name="sub_module" descr="The sub module of the virtual module of the given port number.\;If sub_module was used - return the same sub_module as the index" access="RO" offset="0x30.20" size="0x0.4" />
	<field name="sub_module_lane_mask" descr="Bit mask of valid lanes for the selected sub module" access="RO" offset="0x30.24" size="0x0.8" />
</node>

<node name="pemi_ext" descr="" size="0x100.0" >
	<field name="status" descr="The status of the page reading:\;0: READ_SUCCESSFUL - read operation was successful\;1: OPERATION_NOT_SUPPORTED\;2: NO_EEPROM_MODULE - no response from module&apos;s \;EEPROM.\;3: MODULE_NOT_CONNECTED - no module present indication.\;4: I2C_ERROR - an Error occurred while trying to access the module&apos;s EEPROM using I2C.\;5: MODULE_IN_PROGRESS - indicates that the module is still busy.\;6: CDB_STSATUS_FAILED - the CDB return status is FAILED." access="RO" enum="READ_SUCCESSFUL=0x0,OPERATION_NOT_SUPPORTED=0x1,NO_EEPROM_MODULE=0x2,MODULE_NOT_CONNECTED=0x3,I2C_ERROR=0x4,MODULE_IN_PROGRESS=0x5,CDB_STSATUS_FAILED=0x6" offset="0x0.0" size="0x0.8" />
	<field name="last_sub_module" descr="Relevant for CPO virtual module based switches, for pages module_status, laser_source_essential, laser_source_advance, optical_engine_telemetry_parameters, when module_index_cap=1. last_sub_module=1, is an indication that user reached the last supported sub_module index of the page that was selected via page_select." access="RO" offset="0x0.8" size="0x0.1" />
	<field name="lp_msb" descr="Local port number [9:8]\;\;For Retimer: reserved" access="INDEX" offset="0x0.12" size="0x0.2" />
	<field name="pnat" descr="Port number access type. determines the way local_port is \;interpreted:\;0: Local_port_number\;1: IB_port_number\;3: Out_of_band_or_PCI\;\;For Retimer: reserved" access="INDEX" offset="0x0.14" size="0x0.2" />
	<field name="local_port" descr="Local port number\;For Retimer: Data path number\;If module_index_cap is set, fields represent module index" access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="module_ind_type" descr="Module index type selector, for IB CPO switches only:\;0: CPO_or_pluggable_modules\;1: OE\;2: ELS" access="INDEX" offset="0x0.24" size="0x0.2" />
	<field name="module_index_cap" descr="Indicates if local_port fields represent a local port of module index.\;0: local_port\;1: module_index" access="INDEX" enum="local_port=0x0,module_index=0x1" offset="0x0.26" size="0x0.1" />
	<field name="sub_module" descr="Indicates start offset of rx_lane, tx_lane inside the modules lanes in 8x granularity. relevant for modules with more than 8 lanes. such as OE.\;0: lanes_0-7\;1: lanes_8_15\;2: lanes_16_23\;3: lanes_24_31" access="INDEX" offset="0x0.27" size="0x0.4" />
	<field name="page_select" descr="The user can select to read a sampled data page or a properties page.\;\;0: Module_Status_Samples\;1: SNR_Samples\;2: Laser_Monitors_Samples\;3: PAM4_Level_Transition_Samples\;4: Pre_FEC_BER_Samples\;5: FERC_Samples\;7: Laser_Source_Module_Essential_Samples\;8: Laser_Source_Module_Advanced_Samples\;9: Optical_Engine_Debug_Parameters_Samples\;10: Laser_Source_Module_Status_Samples\;11: Optical_Engine_Telemetry_Parameters_Samples\;12: SEWmax_Samples\;13: CPO_Module_Info_Samples\;16: Module_Status_Properties\;17: SNR_Properties\;18: Laser_Monitors_Properties\;19: PAM4_Level_Transition_Properties\;20: Pre_FEC_BER_Properties\;21: FERC_Properties\;23: Laser_Source_Module_Essential_Properties\;24: Laser_Source_Module_Advanced_Properties\;25: Optical_Engine_Debug_Parameters_Properties\;26: Laser_Source_Module_Status_Properties\;27: Optical_Engine_Telemetry_Parameters_Properties\;28: SEWmax_Properties\;All other values are reserved." access="INDEX" enum="Module_Status_Samples=0x0,SNR_Samples=0x1,Laser_Monitors_Samples=0x2,PAM4_Level_Transition_Samples=0x3,Pre_FEC_BER_Samples=0x4,FERC_Samples=0x5,Laser_Source_Module_Essential_Samples=0x7,Laser_Source_Module_Advanced_Samples=0x8,Optical_Engine_Debug_Parameters_Samples=0x9,Laser_Source_Module_Status_Samples=0xa,Optical_Engine_Telemetry_Parameters_Samples=0xb,SEWmax_Samples=0xc,CPO_Module_Info_Samples=0xd,Module_Status_Properties=0x10,SNR_Properties=0x11,Laser_Monitors_Properties=0x12,PAM4_Level_Transition_Properties=0x13,Pre_FEC_BER_Properties=0x14,FERC_Properties=0x15,Laser_Source_Module_Essential_Properties=0x17,Laser_Source_Module_Advanced_Properties=0x18,Optical_Engine_Debug_Parameters_Properties=0x19,Laser_Source_Module_Status_Properties=0x1a,Optical_Engine_Telemetry_Parameters_Properties=0x1b,SEWmax_Properties=0x1c" offset="0x4.0" size="0x0.5" />
	<field name="group_cap_mask" descr="Group capability mask:\;Bit 0: Module_Status\;Bit 1: SNR\;Bit 2: Laser_Monitors\;Bit 3: PAM4_Level_Transition\;Bit 4: Pre_FEC_BER\;Bit 5: FERC\;Bit 11: Optical_Engine_Telemetry_Parameters_samples\;Bit 12: SEWmax\;Bit 13: CPO_Module_info" access="RO" enum="Module_Status=0x1,SNR=0x2,Laser_Monitors=0x4,PAM4_Level_Transition=0x8,Pre_FEC_BER=0x10,FERC=0x20,Optical_Engine_Telemetry_Parameters_samples=0x800,SEWmax=0x1000,CPO_Module_info=0x2000" offset="0x4.16" size="0x0.16" />
	<field name="page_data" descr="Page data:\;Table  2266, &quot;Module Status Samples Page- Layout,&quot; on page  2968\;Table  2268, &quot;SNR Samples page - Layout,&quot; on page  2972\;Table  2270, &quot;Laser Monitors Samples page - Layout,&quot; on page  2973\;Table  2272, &quot;PAM4 Level Transition Samples Page - Layout,&quot; on page  2978\;Table  2274, &quot;Pre-FEC BER Samples Page - Layout,&quot; on page  2980\;Table  2276, &quot;FERC Samples page - Layout,&quot; on page  2985\;Table  2278, &quot;SEWmax Samples page - Layout,&quot; on page  2989\;Table  2318, &quot;CPO Module Info Samples page - Layout,&quot; on page  3042\;Table  2282, &quot;Laser Source Module Essential Samples Page - Layout,&quot; on page  2995\;Table 2284, &quot;Laser Source Module Advanced Samples Page - Layout,&quot; on page 3002\;Table 2286, &quot;Optical Engine Debug Parameters Samples Page - Layout,&quot; on page 3005\;Table 2310, &quot;Laser Source Module Status Samples page - Layout,&quot; on page 3026\;Table 2314, &quot;Optical Engine Telemetry Parameters Samples page - Layout,&quot; on page 3028\;Table  2288, &quot;Module Status Properties Page - Layout,&quot; on page  3010\;Table  2290, &quot;SNR Properties Page - Layout,&quot; on page  3012\;Table  2292, &quot;Laser Monitors Properties Page - Layout,&quot; on page  3013\;Table  2294, &quot;PAM4 Level Transition Properties Page - Layout,&quot; on page  3015\;Table  2296, &quot;Pre-FEC BER Properties Page - Layout,&quot; on page  3016\;Table  2298, &quot;FERC Properties Page - Layout,&quot; on page  3018\;Table  2301, &quot;SEWmax Properties Page - Fields,&quot; on page  3020\;Table  2304, &quot;Laser Source Module Essential Properties page - Layout,&quot; on page  3023\;Table 2306, &quot;Laser Source Module Advanced Properties page - Layout,&quot; on page 3024\;Table 2308, &quot;Optical Engine Debug Parameters Properties page - Layout,&quot; on page 3025\;Table 2312, &quot;Laser Source Module Status Properties page - Layout,&quot; on page 3027\;Table 2316, &quot;Optical Engine Telemetry Parameters Properties page - Layout,&quot; on page 3040" subnode="pemi_page_data_auto_ext" access="RO" offset="0x8.0" size="0xf8.0" union_selector="$(parent).page_select" />
</node>

<node name="pemi_laser_source_module_advance_properties_ext" descr="" size="0xf8.0" >
	<field name="module_power_consumption_cap" descr="Module power consumption capability" access="RO" offset="0x0.27" size="0x0.1" />
	<field name="tec_health_cap" descr="TEC health capability" access="RO" offset="0x0.28" size="0x0.1" />
	<field name="laser_health_cap" descr="Laser health capability" access="RO" offset="0x0.29" size="0x0.1" />
	<field name="tec_voltage_cap" descr="TEC voltage capability" access="RO" offset="0x0.30" size="0x0.1" />
	<field name="laser_mpd_cap" descr="Laser MPD capability" access="RO" offset="0x0.31" size="0x0.1" />
</node>

<node name="pemi_laser_source_module_advanced_samples_ext" descr="" size="0xf8.0" >
	<field name="laser_mpd_lane1" descr="Laser MPD for lane &lt;i&gt;, in unit of 1   A.\;" access="RO" offset="0x0.0" size="0x0.16" />
	<field name="laser_mpd_lane0" descr="Laser MPD for lane &lt;i&gt;, in unit of 1   A.\;" access="RO" offset="0x0.16" size="0x0.16" />
	<field name="laser_mpd_lane3" descr="Laser MPD for lane &lt;i&gt;, in unit of 1   A.\;" access="RO" offset="0x4.0" size="0x0.16" />
	<field name="laser_mpd_lane2" descr="Laser MPD for lane &lt;i&gt;, in unit of 1   A.\;" access="RO" offset="0x4.16" size="0x0.16" />
	<field name="laser_mpd_lane5" descr="Laser MPD for lane &lt;i&gt;, in unit of 1   A.\;" access="RO" offset="0x8.0" size="0x0.16" />
	<field name="laser_mpd_lane4" descr="Laser MPD for lane &lt;i&gt;, in unit of 1   A.\;" access="RO" offset="0x8.16" size="0x0.16" />
	<field name="laser_mpd_lane7" descr="Laser MPD for lane &lt;i&gt;, in unit of 1   A.\;" access="RO" offset="0xC.0" size="0x0.16" />
	<field name="laser_mpd_lane6" descr="Laser MPD for lane &lt;i&gt;, in unit of 1   A.\;" access="RO" offset="0xC.16" size="0x0.16" />
	<field name="tec_voltage_laser1" descr="TEC voltage for TEC that mapped to laser &lt;i&gt; , in unit of 1 mV.\;" access="RO" offset="0x10.0" size="0x0.16" />
	<field name="tec_voltage_laser0" descr="TEC voltage for TEC that mapped to laser &lt;i&gt; , in unit of 1 mV.\;" access="RO" offset="0x10.16" size="0x0.16" />
	<field name="tec_voltage_laser3" descr="TEC voltage for TEC that mapped to laser &lt;i&gt; , in unit of 1 mV.\;" access="RO" offset="0x14.0" size="0x0.16" />
	<field name="tec_voltage_laser2" descr="TEC voltage for TEC that mapped to laser &lt;i&gt; , in unit of 1 mV.\;" access="RO" offset="0x14.16" size="0x0.16" />
	<field name="tec_voltage_laser5" descr="TEC voltage for TEC that mapped to laser &lt;i&gt; , in unit of 1 mV.\;" access="RO" offset="0x18.0" size="0x0.16" />
	<field name="tec_voltage_laser4" descr="TEC voltage for TEC that mapped to laser &lt;i&gt; , in unit of 1 mV.\;" access="RO" offset="0x18.16" size="0x0.16" />
	<field name="tec_voltage_laser7" descr="TEC voltage for TEC that mapped to laser &lt;i&gt; , in unit of 1 mV.\;" access="RO" offset="0x1C.0" size="0x0.16" />
	<field name="tec_voltage_laser6" descr="TEC voltage for TEC that mapped to laser &lt;i&gt; , in unit of 1 mV.\;" access="RO" offset="0x1C.16" size="0x0.16" />
	<field name="health_value_tec3" descr="TEC health for TEC that mapped to laser&lt;i&gt;, in unit of 5mV.\;" access="RO" offset="0x20.0" size="0x0.8" />
	<field name="health_value_tec2" descr="TEC health for TEC that mapped to laser&lt;i&gt;, in unit of 5mV.\;" access="RO" offset="0x20.8" size="0x0.8" />
	<field name="health_value_tec1" descr="TEC health for TEC that mapped to laser&lt;i&gt;, in unit of 5mV.\;" access="RO" offset="0x20.16" size="0x0.8" />
	<field name="health_value_tec0" descr="TEC health for TEC that mapped to laser&lt;i&gt;, in unit of 5mV.\;" access="RO" offset="0x20.24" size="0x0.8" />
	<field name="health_value_tec7" descr="TEC health for TEC that mapped to laser&lt;i&gt;, in unit of 5mV.\;" access="RO" offset="0x24.0" size="0x0.8" />
	<field name="health_value_tec6" descr="TEC health for TEC that mapped to laser&lt;i&gt;, in unit of 5mV.\;" access="RO" offset="0x24.8" size="0x0.8" />
	<field name="health_value_tec5" descr="TEC health for TEC that mapped to laser&lt;i&gt;, in unit of 5mV.\;" access="RO" offset="0x24.16" size="0x0.8" />
	<field name="health_value_tec4" descr="TEC health for TEC that mapped to laser&lt;i&gt;, in unit of 5mV.\;" access="RO" offset="0x24.24" size="0x0.8" />
	<field name="health_value_laser3" descr="Laser health for lane &lt;i&gt;, in unit of 5mV.\;" access="RO" offset="0x28.0" size="0x0.8" />
	<field name="health_value_laser2" descr="Laser health for lane &lt;i&gt;, in unit of 5mV.\;" access="RO" offset="0x28.8" size="0x0.8" />
	<field name="health_value_laser1" descr="Laser health for lane &lt;i&gt;, in unit of 5mV.\;" access="RO" offset="0x28.16" size="0x0.8" />
	<field name="health_value_laser0" descr="Laser health for lane &lt;i&gt;, in unit of 5mV.\;" access="RO" offset="0x28.24" size="0x0.8" />
	<field name="health_value_laser7" descr="Laser health for lane &lt;i&gt;, in unit of 5mV.\;" access="RO" offset="0x2C.0" size="0x0.8" />
	<field name="health_value_laser6" descr="Laser health for lane &lt;i&gt;, in unit of 5mV.\;" access="RO" offset="0x2C.8" size="0x0.8" />
	<field name="health_value_laser5" descr="Laser health for lane &lt;i&gt;, in unit of 5mV.\;" access="RO" offset="0x2C.16" size="0x0.8" />
	<field name="health_value_laser4" descr="Laser health for lane &lt;i&gt;, in unit of 5mV.\;" access="RO" offset="0x2C.24" size="0x0.8" />
	<field name="power_consumption" descr="Laser souyrce module power consumption in unit of 0.1W" access="RO" offset="0x30.16" size="0x0.16" />
</node>

<node name="pemi_laser_source_module_essential_properties_ext" descr="" size="0xf8.0" >
	<field name="opt_power_setpoint_cap" descr="Optical power setpoint capability" access="RO" offset="0x0.27" size="0x0.1" />
	<field name="icc_monitor_cap" descr="ICC monitor capability" access="RO" offset="0x0.28" size="0x0.1" />
	<field name="laser_voltage_monitor_cap" descr="Laser voltage monitor capability" access="RO" offset="0x0.29" size="0x0.1" />
	<field name="laser_optical_power_Cap" descr="Laser optical power monitor capability" access="RO" offset="0x0.30" size="0x0.1" />
	<field name="laser_bias_cap" descr="Laser bias monitor capability\;" access="RO" offset="0x0.31" size="0x0.1" />
	<field name="laser_bias_low_alarm" descr="Laser bias threshold in 100  A increaments" access="RO" offset="0x4.0" size="0x0.16" />
	<field name="laser_bias_high_alarm" descr="Laser bias threshold in 100  A increaments" access="RO" offset="0x4.16" size="0x0.16" />
	<field name="laser_bias_low_warning" descr="Laser bias threshold in 100  A increaments" access="RO" offset="0x8.0" size="0x0.16" />
	<field name="laser_bias_high_warning" descr="Laser bias threshold in 100  A increaments" access="RO" offset="0x8.16" size="0x0.16" />
	<field name="laser_optical_power_low_alarm" descr="Laser optical power threshold in 10  W increaments" access="RO" offset="0xC.0" size="0x0.16" />
	<field name="laser_optical_power_high_alarm" descr="Laser optical power threshold in 10  W increaments" access="RO" offset="0xC.16" size="0x0.16" />
	<field name="laser_optical_power_low_warning" descr="Laser optical power threshold in 10  W increaments" access="RO" offset="0x10.0" size="0x0.16" />
	<field name="laser_optical_power_high_warning" descr="Laser optical power threshold in 10  W increaments" access="RO" offset="0x10.16" size="0x0.16" />
</node>

<node name="pemi_laser_source_module_essential_samples_ext" descr="" size="0xf8.0" >
	<field name="voltage_monitor3" descr="Laser voltage for laser &lt;i&gt;, in unit of 15 mV.\;" access="RO" offset="0x0.0" size="0x0.8" />
	<field name="voltage_monitor2" descr="Laser voltage for laser &lt;i&gt;, in unit of 15 mV.\;" access="RO" offset="0x0.8" size="0x0.8" />
	<field name="voltage_monitor1" descr="Laser voltage for laser &lt;i&gt;, in unit of 15 mV.\;" access="RO" offset="0x0.16" size="0x0.8" />
	<field name="voltage_monitor0" descr="Laser voltage for laser &lt;i&gt;, in unit of 15 mV.\;" access="RO" offset="0x0.24" size="0x0.8" />
	<field name="voltage_monitor7" descr="Laser voltage for laser &lt;i&gt;, in unit of 15 mV.\;" access="RO" offset="0x4.0" size="0x0.8" />
	<field name="voltage_monitor6" descr="Laser voltage for laser &lt;i&gt;, in unit of 15 mV.\;" access="RO" offset="0x4.8" size="0x0.8" />
	<field name="voltage_monitor5" descr="Laser voltage for laser &lt;i&gt;, in unit of 15 mV.\;" access="RO" offset="0x4.16" size="0x0.8" />
	<field name="voltage_monitor4" descr="Laser voltage for laser &lt;i&gt;, in unit of 15 mV.\;" access="RO" offset="0x4.24" size="0x0.8" />
	<field name="bias_current_monitor1" descr="Laser bias for laser &lt;i&gt;, in unit of 100 mA." access="RO" offset="0x8.0" size="0x0.16" />
	<field name="bias_current_monitor0" descr="Laser bias for laser &lt;i&gt;, in unit of 100 mA." access="RO" offset="0x8.16" size="0x0.16" />
	<field name="bias_current_monitor3" descr="Laser bias for laser &lt;i&gt;, in unit of 100 mA." access="RO" offset="0xC.0" size="0x0.16" />
	<field name="bias_current_monitor2" descr="Laser bias for laser &lt;i&gt;, in unit of 100 mA." access="RO" offset="0xC.16" size="0x0.16" />
	<field name="bias_current_monitor5" descr="Laser bias for laser &lt;i&gt;, in unit of 100 mA." access="RO" offset="0x10.0" size="0x0.16" />
	<field name="bias_current_monitor4" descr="Laser bias for laser &lt;i&gt;, in unit of 100 mA." access="RO" offset="0x10.16" size="0x0.16" />
	<field name="bias_current_monitor7" descr="Laser bias for laser &lt;i&gt;, in unit of 100 mA." access="RO" offset="0x14.0" size="0x0.16" />
	<field name="bias_current_monitor6" descr="Laser bias for laser &lt;i&gt;, in unit of 100 mA." access="RO" offset="0x14.16" size="0x0.16" />
	<field name="opt_power_monitor1" descr="Laser optical power for laser &lt;i&gt;, in unit of 10   W.\;" access="RO" offset="0x18.0" size="0x0.16" />
	<field name="opt_power_monitor0" descr="Laser optical power for laser &lt;i&gt;, in unit of 10   W.\;" access="RO" offset="0x18.16" size="0x0.16" />
	<field name="opt_power_monitor3" descr="Laser optical power for laser &lt;i&gt;, in unit of 10   W.\;" access="RO" offset="0x1C.0" size="0x0.16" />
	<field name="opt_power_monitor2" descr="Laser optical power for laser &lt;i&gt;, in unit of 10   W.\;" access="RO" offset="0x1C.16" size="0x0.16" />
	<field name="opt_power_monitor5" descr="Laser optical power for laser &lt;i&gt;, in unit of 10   W.\;" access="RO" offset="0x20.0" size="0x0.16" />
	<field name="opt_power_monitor4" descr="Laser optical power for laser &lt;i&gt;, in unit of 10   W.\;" access="RO" offset="0x20.16" size="0x0.16" />
	<field name="opt_power_monitor7" descr="Laser optical power for laser &lt;i&gt;, in unit of 10   W.\;" access="RO" offset="0x24.0" size="0x0.16" />
	<field name="opt_power_monitor6" descr="Laser optical power for laser &lt;i&gt;, in unit of 10   W.\;" access="RO" offset="0x24.16" size="0x0.16" />
	<field name="icc_monitor" descr="VCC bias, in unit of 200   A." access="RW" offset="0x28.16" size="0x0.16" />
	<field name="opt_power_setpoint1" descr="Laser optical setpoint for laser &lt;i&gt;, in unit of 10   W.\;" access="RO" offset="0x2C.0" size="0x0.16" />
	<field name="opt_power_setpoint0" descr="Laser optical setpoint for laser &lt;i&gt;, in unit of 10   W.\;" access="RO" offset="0x2C.16" size="0x0.16" />
	<field name="opt_power_setpoint3" descr="Laser optical setpoint for laser &lt;i&gt;, in unit of 10   W.\;" access="RO" offset="0x30.0" size="0x0.16" />
	<field name="opt_power_setpoint2" descr="Laser optical setpoint for laser &lt;i&gt;, in unit of 10   W.\;" access="RO" offset="0x30.16" size="0x0.16" />
	<field name="opt_power_setpoint5" descr="Laser optical setpoint for laser &lt;i&gt;, in unit of 10   W.\;" access="RO" offset="0x34.0" size="0x0.16" />
	<field name="opt_power_setpoint4" descr="Laser optical setpoint for laser &lt;i&gt;, in unit of 10   W.\;" access="RO" offset="0x34.16" size="0x0.16" />
	<field name="opt_power_setpoint7" descr="Laser optical setpoint for laser &lt;i&gt;, in unit of 10   W.\;" access="RO" offset="0x38.0" size="0x0.16" />
	<field name="opt_power_setpoint6" descr="Laser optical setpoint for laser &lt;i&gt;, in unit of 10   W.\;" access="RO" offset="0x38.16" size="0x0.16" />
	<field name="laser_source_temperature" descr="ELS source module TS1 temperature unit of 1/256 C. Relevant for CPO ETH switches." access="RW" offset="0x3C.16" size="0x0.16" />
	<field name="laser_age_lane1" descr="Laser age is presented in percentage.\;0% BOL, 100% EOL." access="RO" offset="0x40.0" size="0x0.16" />
	<field name="laser_age_lane0" descr="Laser age is presented in percentage.\;0% BOL, 100% EOL." access="RO" offset="0x40.16" size="0x0.16" />
	<field name="laser_age_lane3" descr="Laser age is presented in percentage.\;0% BOL, 100% EOL." access="RO" offset="0x44.0" size="0x0.16" />
	<field name="laser_age_lane2" descr="Laser age is presented in percentage.\;0% BOL, 100% EOL." access="RO" offset="0x44.16" size="0x0.16" />
	<field name="laser_age_lane5" descr="Laser age is presented in percentage.\;0% BOL, 100% EOL." access="RO" offset="0x48.0" size="0x0.16" />
	<field name="laser_age_lane4" descr="Laser age is presented in percentage.\;0% BOL, 100% EOL." access="RO" offset="0x48.16" size="0x0.16" />
	<field name="laser_age_lane7" descr="Laser age is presented in percentage.\;0% BOL, 100% EOL." access="RO" offset="0x4C.0" size="0x0.16" />
	<field name="laser_age_lane6" descr="Laser age is presented in percentage.\;0% BOL, 100% EOL." access="RO" offset="0x4C.16" size="0x0.16" />
	<field name="tec_current_laser1" descr="Thermo-electric Cooler (TEC) current. Observes the amount of current flowing to the TEC of a cooled laser.\;TEC current presented in percentages: 100/32767 %.\;+32767 (100%) of the max current magnitude when heating\;-32767 is -100% of the max current magnitude when cooling\;" access="RO" offset="0x50.0" size="0x0.16" />
	<field name="tec_current_laser0" descr="Thermo-electric Cooler (TEC) current. Observes the amount of current flowing to the TEC of a cooled laser.\;TEC current presented in percentages: 100/32767 %.\;+32767 (100%) of the max current magnitude when heating\;-32767 is -100% of the max current magnitude when cooling\;" access="RO" offset="0x50.16" size="0x0.16" />
	<field name="tec_current_laser3" descr="Thermo-electric Cooler (TEC) current. Observes the amount of current flowing to the TEC of a cooled laser.\;TEC current presented in percentages: 100/32767 %.\;+32767 (100%) of the max current magnitude when heating\;-32767 is -100% of the max current magnitude when cooling\;" access="RO" offset="0x54.0" size="0x0.16" />
	<field name="tec_current_laser2" descr="Thermo-electric Cooler (TEC) current. Observes the amount of current flowing to the TEC of a cooled laser.\;TEC current presented in percentages: 100/32767 %.\;+32767 (100%) of the max current magnitude when heating\;-32767 is -100% of the max current magnitude when cooling\;" access="RO" offset="0x54.16" size="0x0.16" />
	<field name="tec_current_laser5" descr="Thermo-electric Cooler (TEC) current. Observes the amount of current flowing to the TEC of a cooled laser.\;TEC current presented in percentages: 100/32767 %.\;+32767 (100%) of the max current magnitude when heating\;-32767 is -100% of the max current magnitude when cooling\;" access="RO" offset="0x58.0" size="0x0.16" />
	<field name="tec_current_laser4" descr="Thermo-electric Cooler (TEC) current. Observes the amount of current flowing to the TEC of a cooled laser.\;TEC current presented in percentages: 100/32767 %.\;+32767 (100%) of the max current magnitude when heating\;-32767 is -100% of the max current magnitude when cooling\;" access="RO" offset="0x58.16" size="0x0.16" />
	<field name="tec_current_laser7" descr="Thermo-electric Cooler (TEC) current. Observes the amount of current flowing to the TEC of a cooled laser.\;TEC current presented in percentages: 100/32767 %.\;+32767 (100%) of the max current magnitude when heating\;-32767 is -100% of the max current magnitude when cooling\;" access="RO" offset="0x5C.0" size="0x0.16" />
	<field name="tec_current_laser6" descr="Thermo-electric Cooler (TEC) current. Observes the amount of current flowing to the TEC of a cooled laser.\;TEC current presented in percentages: 100/32767 %.\;+32767 (100%) of the max current magnitude when heating\;-32767 is -100% of the max current magnitude when cooling\;" access="RO" offset="0x5C.16" size="0x0.16" />
	<field name="laser_frequency_error_lane1" descr="Laser frequency error for media lane &lt;i&gt;, observes the difference between the target center frequency and the actual current center frequency.\;The laser frequency error is in unit scale of 10 MHz." access="RO" offset="0x60.0" size="0x0.16" />
	<field name="laser_frequency_error_lane0" descr="Laser frequency error for media lane &lt;i&gt;, observes the difference between the target center frequency and the actual current center frequency.\;The laser frequency error is in unit scale of 10 MHz." access="RO" offset="0x60.16" size="0x0.16" />
	<field name="laser_frequency_error_lane3" descr="Laser frequency error for media lane &lt;i&gt;, observes the difference between the target center frequency and the actual current center frequency.\;The laser frequency error is in unit scale of 10 MHz." access="RO" offset="0x64.0" size="0x0.16" />
	<field name="laser_frequency_error_lane2" descr="Laser frequency error for media lane &lt;i&gt;, observes the difference between the target center frequency and the actual current center frequency.\;The laser frequency error is in unit scale of 10 MHz." access="RO" offset="0x64.16" size="0x0.16" />
	<field name="laser_frequency_error_lane5" descr="Laser frequency error for media lane &lt;i&gt;, observes the difference between the target center frequency and the actual current center frequency.\;The laser frequency error is in unit scale of 10 MHz." access="RO" offset="0x68.0" size="0x0.16" />
	<field name="laser_frequency_error_lane4" descr="Laser frequency error for media lane &lt;i&gt;, observes the difference between the target center frequency and the actual current center frequency.\;The laser frequency error is in unit scale of 10 MHz." access="RO" offset="0x68.16" size="0x0.16" />
	<field name="laser_frequency_error_lane7" descr="Laser frequency error for media lane &lt;i&gt;, observes the difference between the target center frequency and the actual current center frequency.\;The laser frequency error is in unit scale of 10 MHz." access="RO" offset="0x6C.0" size="0x0.16" />
	<field name="laser_frequency_error_lane6" descr="Laser frequency error for media lane &lt;i&gt;, observes the difference between the target center frequency and the actual current center frequency.\;The laser frequency error is in unit scale of 10 MHz." access="RO" offset="0x6C.16" size="0x0.16" />
	<field name="cooled_laser_temperature_lane1" descr="The laser TEC temperature for media lane &lt;i&gt;, observes the difference between the target laser temperature for laser temperature.\;The laser temperature value is in unit scale of 1/256 Celsius degrees." access="RO" offset="0x70.0" size="0x0.16" />
	<field name="cooled_laser_temperature_lane0" descr="The laser TEC temperature for media lane &lt;i&gt;, observes the difference between the target laser temperature for laser temperature.\;The laser temperature value is in unit scale of 1/256 Celsius degrees." access="RO" offset="0x70.16" size="0x0.16" />
	<field name="cooled_laser_temperature_lane3" descr="The laser TEC temperature for media lane &lt;i&gt;, observes the difference between the target laser temperature for laser temperature.\;The laser temperature value is in unit scale of 1/256 Celsius degrees." access="RO" offset="0x74.0" size="0x0.16" />
	<field name="cooled_laser_temperature_lane2" descr="The laser TEC temperature for media lane &lt;i&gt;, observes the difference between the target laser temperature for laser temperature.\;The laser temperature value is in unit scale of 1/256 Celsius degrees." access="RO" offset="0x74.16" size="0x0.16" />
	<field name="cooled_laser_temperature_lane5" descr="The laser TEC temperature for media lane &lt;i&gt;, observes the difference between the target laser temperature for laser temperature.\;The laser temperature value is in unit scale of 1/256 Celsius degrees." access="RO" offset="0x78.0" size="0x0.16" />
	<field name="cooled_laser_temperature_lane4" descr="The laser TEC temperature for media lane &lt;i&gt;, observes the difference between the target laser temperature for laser temperature.\;The laser temperature value is in unit scale of 1/256 Celsius degrees." access="RO" offset="0x78.16" size="0x0.16" />
	<field name="cooled_laser_temperature_lane7" descr="The laser TEC temperature for media lane &lt;i&gt;, observes the difference between the target laser temperature for laser temperature.\;The laser temperature value is in unit scale of 1/256 Celsius degrees." access="RO" offset="0x7C.0" size="0x0.16" />
	<field name="cooled_laser_temperature_lane6" descr="The laser TEC temperature for media lane &lt;i&gt;, observes the difference between the target laser temperature for laser temperature.\;The laser temperature value is in unit scale of 1/256 Celsius degrees." access="RO" offset="0x7C.16" size="0x0.16" />
	<field name="laser_status" descr="Relevant for CPO product. Each 2 bit represent the ELS&apos;s laser status:\;0: laser_off\;1: laser_ramping\;2: laser_on" access="RO" enum="laser_on=0x2" offset="0x80.0" size="0x0.16" />
	<field name="laser_restriction" descr="Relevant for CPO product. Each bit represent the ELS&apos;s laser restriction. When restriction are on, the laser can operate only in restricted power mode, for the safety of the optical components. Restriction can be lifted only after fiber testing.\;0: laser_restriction_on\;1: laser_restriction_off" access="RO" enum="laser_restriction_on=0x0,laser_restriction_off=0x1" offset="0x80.16" size="0x0.8" />
	<field name="laser_enabled" descr="Relevant for CPO product. Each bit represent the ELS&apos;s laser. \;0: laser_disabled\;1: laser_enabled" access="RO" enum="laser_disabled=0x0,laser_enabled=0x1" offset="0x80.24" size="0x0.8" />
	<field name="els_laser7_state_fault" descr="indicate the ELS laser fault.\;0: no_fault\;1: laser_fiber_contaminated\;2: laser_APC_fault\;3: laser_power_exceeded_allowed_range\;4: laser_power_subceeded_allowed_range\;5: laser_TEC_control_loop_fault\;6: laser_ramping_timeout_fault\;7: laser_power_tuning_fault" access="RO" offset="0x84.0" size="0x0.4" />
	<field name="els_laser6_state_fault" descr="indicate the ELS laser fault.\;0: no_fault\;1: laser_fiber_contaminated\;2: laser_APC_fault\;3: laser_power_exceeded_allowed_range\;4: laser_power_subceeded_allowed_range\;5: laser_TEC_control_loop_fault\;6: laser_ramping_timeout_fault\;7: laser_power_tuning_fault" access="RO" offset="0x84.4" size="0x0.4" />
	<field name="els_laser5_state_fault" descr="indicate the ELS laser fault.\;0: no_fault\;1: laser_fiber_contaminated\;2: laser_APC_fault\;3: laser_power_exceeded_allowed_range\;4: laser_power_subceeded_allowed_range\;5: laser_TEC_control_loop_fault\;6: laser_ramping_timeout_fault\;7: laser_power_tuning_fault" access="RO" offset="0x84.8" size="0x0.4" />
	<field name="els_laser4_state_fault" descr="indicate the ELS laser fault.\;0: no_fault\;1: laser_fiber_contaminated\;2: laser_APC_fault\;3: laser_power_exceeded_allowed_range\;4: laser_power_subceeded_allowed_range\;5: laser_TEC_control_loop_fault\;6: laser_ramping_timeout_fault\;7: laser_power_tuning_fault" access="RO" offset="0x84.12" size="0x0.4" />
	<field name="els_laser3_state_fault" descr="indicate the ELS laser fault.\;0: no_fault\;1: laser_fiber_contaminated\;2: laser_APC_fault\;3: laser_power_exceeded_allowed_range\;4: laser_power_subceeded_allowed_range\;5: laser_TEC_control_loop_fault\;6: laser_ramping_timeout_fault\;7: laser_power_tuning_fault" access="RO" offset="0x84.16" size="0x0.4" />
	<field name="els_laser2_state_fault" descr="indicate the ELS laser fault.\;0: no_fault\;1: laser_fiber_contaminated\;2: laser_APC_fault\;3: laser_power_exceeded_allowed_range\;4: laser_power_subceeded_allowed_range\;5: laser_TEC_control_loop_fault\;6: laser_ramping_timeout_fault\;7: laser_power_tuning_fault" access="RO" offset="0x84.20" size="0x0.4" />
	<field name="els_laser1_state_fault" descr="indicate the ELS laser fault.\;0: no_fault\;1: laser_fiber_contaminated\;2: laser_APC_fault\;3: laser_power_exceeded_allowed_range\;4: laser_power_subceeded_allowed_range\;5: laser_TEC_control_loop_fault\;6: laser_ramping_timeout_fault\;7: laser_power_tuning_fault" access="RO" offset="0x84.24" size="0x0.4" />
	<field name="els_laser0_state_fault" descr="indicate the ELS laser fault.\;0: no_fault\;1: laser_fiber_contaminated\;2: laser_APC_fault\;3: laser_power_exceeded_allowed_range\;4: laser_power_subceeded_allowed_range\;5: laser_TEC_control_loop_fault\;6: laser_ramping_timeout_fault\;7: laser_power_tuning_fault" access="RO" enum="no_fault=0x0,laser_fiber_contaminated=0x1,laser_APC_fault=0x2,laser_power_exceeded_allowed_range=0x3,laser_power_subceeded_allowed_range=0x4,laser_TEC_control_loop_fault=0x5,laser_ramping_timeout_fault=0x6,laser_power_tuning_fault=0x7" offset="0x84.28" size="0x0.4" />
	<field name="laser1_freq" descr="Laser frequecny in units scale of 5GHz" access="RO" offset="0x88.0" size="0x0.16" />
	<field name="laser0_freq" descr="Laser frequecny in units scale of 5GHz" access="RO" offset="0x88.16" size="0x0.16" />
	<field name="laser3_freq" descr="Laser frequecny in units scale of 5GHz" access="RO" offset="0x8C.0" size="0x0.16" />
	<field name="laser2_freq" descr="Laser frequecny in units scale of 5GHz" access="RO" offset="0x8C.16" size="0x0.16" />
	<field name="laser5_freq" descr="Laser frequecny in units scale of 5GHz" access="RO" offset="0x90.0" size="0x0.16" />
	<field name="laser4_freq" descr="Laser frequecny in units scale of 5GHz" access="RO" offset="0x90.16" size="0x0.16" />
	<field name="laser7_freq" descr="Laser frequecny in units scale of 5GHz" access="RO" offset="0x94.0" size="0x0.16" />
	<field name="laser6_freq" descr="Laser frequecny in units scale of 5GHz" access="RO" offset="0x94.16" size="0x0.16" />
</node>

<node name="pemi_laser_source_module_status_properties_ext" descr="" size="0xf8.0" >
	<field name="els_laser_state_fault_cap" descr="Laser fault state capability" access="RO" offset="0x0.28" size="0x0.1" />
	<field name="laser_status_cap" descr="Laser status capability" access="RO" offset="0x0.29" size="0x0.1" />
	<field name="laser_restriction_cap" descr="Laser restriction capability" access="RO" offset="0x0.30" size="0x0.1" />
	<field name="laser_enabled_cap" descr="Laser enabled capability" access="RO" offset="0x0.31" size="0x0.1" />
</node>

<node name="pemi_laser_source_module_status_samples_ext" descr="" size="0xf8.0" >
	<field name="laser_status" descr="Relevant for CPO product. Each 2 bit represent the ELS&apos;s laser status:\;0: laser_off\;1: laser_ramping\;2: laser_on" access="RO" enum="laser_on=0x2" offset="0x0.0" size="0x0.16" />
	<field name="laser_restriction" descr="Relevant for CPO product. Each bit represent the ELS&apos;s laser restriction. When restriction are on, the laser can operate only in restricted power mode, for the safety of the optical components. Restriction can be lifted only after fiber testing.\;0: laser_restriction_on\;1: laser_restriction_off" access="RO" enum="laser_restriction_on=0x0,laser_restriction_off=0x1" offset="0x0.16" size="0x0.8" />
	<field name="laser_enabled" descr="Relevant for CPO product. Each bit represent the ELS&apos;s laser. \;0: laser_disabled\;1: laser_enabled" access="RO" enum="laser_disabled=0x0,laser_enabled=0x1" offset="0x0.24" size="0x0.8" />
	<field name="els_laser7_state_fault" descr="indicate the ELS laser fault.\;0: no_fault\;1: laser_fiber_contaminated\;2: laser_APC_fault\;3: laser_power_exceeded_allowed_range\;4: laser_power_subceeded_allowed_range\;5: laser_TEC_control_loop_fault\;6: laser_ramping_timeout_fault\;7: laser_power_tuning_fault" access="RO" offset="0x4.0" size="0x0.4" />
	<field name="els_laser6_state_fault" descr="indicate the ELS laser fault.\;0: no_fault\;1: laser_fiber_contaminated\;2: laser_APC_fault\;3: laser_power_exceeded_allowed_range\;4: laser_power_subceeded_allowed_range\;5: laser_TEC_control_loop_fault\;6: laser_ramping_timeout_fault\;7: laser_power_tuning_fault" access="RO" offset="0x4.4" size="0x0.4" />
	<field name="els_laser5_state_fault" descr="indicate the ELS laser fault.\;0: no_fault\;1: laser_fiber_contaminated\;2: laser_APC_fault\;3: laser_power_exceeded_allowed_range\;4: laser_power_subceeded_allowed_range\;5: laser_TEC_control_loop_fault\;6: laser_ramping_timeout_fault\;7: laser_power_tuning_fault" access="RO" offset="0x4.8" size="0x0.4" />
	<field name="els_laser4_state_fault" descr="indicate the ELS laser fault.\;0: no_fault\;1: laser_fiber_contaminated\;2: laser_APC_fault\;3: laser_power_exceeded_allowed_range\;4: laser_power_subceeded_allowed_range\;5: laser_TEC_control_loop_fault\;6: laser_ramping_timeout_fault\;7: laser_power_tuning_fault" access="RO" offset="0x4.12" size="0x0.4" />
	<field name="els_laser3_state_fault" descr="indicate the ELS laser fault.\;0: no_fault\;1: laser_fiber_contaminated\;2: laser_APC_fault\;3: laser_power_exceeded_allowed_range\;4: laser_power_subceeded_allowed_range\;5: laser_TEC_control_loop_fault\;6: laser_ramping_timeout_fault\;7: laser_power_tuning_fault" access="RO" offset="0x4.16" size="0x0.4" />
	<field name="els_laser2_state_fault" descr="indicate the ELS laser fault.\;0: no_fault\;1: laser_fiber_contaminated\;2: laser_APC_fault\;3: laser_power_exceeded_allowed_range\;4: laser_power_subceeded_allowed_range\;5: laser_TEC_control_loop_fault\;6: laser_ramping_timeout_fault\;7: laser_power_tuning_fault" access="RO" offset="0x4.20" size="0x0.4" />
	<field name="els_laser1_state_fault" descr="indicate the ELS laser fault.\;0: no_fault\;1: laser_fiber_contaminated\;2: laser_APC_fault\;3: laser_power_exceeded_allowed_range\;4: laser_power_subceeded_allowed_range\;5: laser_TEC_control_loop_fault\;6: laser_ramping_timeout_fault\;7: laser_power_tuning_fault" access="RO" offset="0x4.24" size="0x0.4" />
	<field name="els_laser0_state_fault" descr="indicate the ELS laser fault.\;0: no_fault\;1: laser_fiber_contaminated\;2: laser_APC_fault\;3: laser_power_exceeded_allowed_range\;4: laser_power_subceeded_allowed_range\;5: laser_TEC_control_loop_fault\;6: laser_ramping_timeout_fault\;7: laser_power_tuning_fault" access="RO" enum="no_fault=0x0,laser_fiber_contaminated=0x1,laser_APC_fault=0x2,laser_power_exceeded_allowed_range=0x3,laser_power_subceeded_allowed_range=0x4,laser_TEC_control_loop_fault=0x5,laser_ramping_timeout_fault=0x6,laser_power_tuning_fault=0x7" offset="0x4.28" size="0x0.4" />
</node>

<node name="pemi_module_status_samples_ext" descr="" size="0xf8.0" >
	<field name="voltage" descr="Internally measured supply voltage in 100uV" access="RO" offset="0x0.0" size="0x0.16" />
	<field name="temperature" descr="module temperature in unit of 1/256 C" access="RO" offset="0x0.16" size="0x0.16" />
	<field name="rx_power_lane1" descr="RX measured power on lane &lt;i&gt;.\; measured or uW according to module_info_ext value.For Taipan switch, in 0.1 uW" access="RO" offset="0x4.0" size="0x0.16" />
	<field name="rx_power_lane0" descr="RX measured power on lane &lt;i&gt;.\; measured or uW according to module_info_ext value.For Taipan switch, in 0.1 uW" access="RO" offset="0x4.16" size="0x0.16" />
	<field name="rx_power_lane3" descr="RX measured power on lane &lt;i&gt;.\; measured or uW according to module_info_ext value.For Taipan switch, in 0.1 uW" access="RO" offset="0x8.0" size="0x0.16" />
	<field name="rx_power_lane2" descr="RX measured power on lane &lt;i&gt;.\; measured or uW according to module_info_ext value.For Taipan switch, in 0.1 uW" access="RO" offset="0x8.16" size="0x0.16" />
	<field name="rx_power_lane5" descr="RX measured power on lane &lt;i&gt;.\; measured or uW according to module_info_ext value.For Taipan switch, in 0.1 uW" access="RO" offset="0xC.0" size="0x0.16" />
	<field name="rx_power_lane4" descr="RX measured power on lane &lt;i&gt;.\; measured or uW according to module_info_ext value.For Taipan switch, in 0.1 uW" access="RO" offset="0xC.16" size="0x0.16" />
	<field name="rx_power_lane7" descr="RX measured power on lane &lt;i&gt;.\; measured or uW according to module_info_ext value.For Taipan switch, in 0.1 uW" access="RO" offset="0x10.0" size="0x0.16" />
	<field name="rx_power_lane6" descr="RX measured power on lane &lt;i&gt;.\; measured or uW according to module_info_ext value.For Taipan switch, in 0.1 uW" access="RO" offset="0x10.16" size="0x0.16" />
	<field name="tx_power_lane1" descr="TX measured power on lane &lt;i&gt;\;measured in dBm or uW according to module_info_ext value.For Taipan switch, in 0.1 uW" access="RO" offset="0x14.0" size="0x0.16" />
	<field name="tx_power_lane0" descr="TX measured power on lane &lt;i&gt;\;measured in dBm or uW according to module_info_ext value.For Taipan switch, in 0.1 uW" access="RO" offset="0x14.16" size="0x0.16" />
	<field name="tx_power_lane3" descr="TX measured power on lane &lt;i&gt;\;measured in dBm or uW according to module_info_ext value.For Taipan switch, in 0.1 uW" access="RO" offset="0x18.0" size="0x0.16" />
	<field name="tx_power_lane2" descr="TX measured power on lane &lt;i&gt;\;measured in dBm or uW according to module_info_ext value.For Taipan switch, in 0.1 uW" access="RO" offset="0x18.16" size="0x0.16" />
	<field name="tx_power_lane5" descr="TX measured power on lane &lt;i&gt;\;measured in dBm or uW according to module_info_ext value.For Taipan switch, in 0.1 uW" access="RO" offset="0x1C.0" size="0x0.16" />
	<field name="tx_power_lane4" descr="TX measured power on lane &lt;i&gt;\;measured in dBm or uW according to module_info_ext value.For Taipan switch, in 0.1 uW" access="RO" offset="0x1C.16" size="0x0.16" />
	<field name="tx_power_lane7" descr="TX measured power on lane &lt;i&gt;\;measured in dBm or uW according to module_info_ext value.For Taipan switch, in 0.1 uW" access="RO" offset="0x20.0" size="0x0.16" />
	<field name="tx_power_lane6" descr="TX measured power on lane &lt;i&gt;\;measured in dBm or uW according to module_info_ext value.For Taipan switch, in 0.1 uW" access="RO" offset="0x20.16" size="0x0.16" />
	<field name="tx_bias_lane0" descr="TX measured bias current on lane &lt;i&gt; in 2uA" access="RO" offset="0x24.0" size="0x4.0" />
	<field name="tx_bias_lane1" descr="TX measured bias current on lane &lt;i&gt; in 2uA" access="RO" offset="0x28.0" size="0x4.0" />
	<field name="tx_bias_lane2" descr="TX measured bias current on lane &lt;i&gt; in 2uA" access="RO" offset="0x2C.0" size="0x4.0" />
	<field name="tx_bias_lane3" descr="TX measured bias current on lane &lt;i&gt; in 2uA" access="RO" offset="0x30.0" size="0x4.0" />
	<field name="tx_bias_lane4" descr="TX measured bias current on lane &lt;i&gt; in 2uA" access="RO" offset="0x34.0" size="0x4.0" />
	<field name="tx_bias_lane5" descr="TX measured bias current on lane &lt;i&gt; in 2uA" access="RO" offset="0x38.0" size="0x4.0" />
	<field name="tx_bias_lane6" descr="TX measured bias current on lane &lt;i&gt; in 2uA" access="RO" offset="0x3C.0" size="0x4.0" />
	<field name="tx_bias_lane7" descr="TX measured bias current on lane &lt;i&gt; in 2uA" access="RO" offset="0x40.0" size="0x4.0" />
	<field name="dp_st_lane6" descr="DataPath state for lane &lt;i&gt;\;1: DPDeactivated \;2: DPInit \;3: DPDeinit \;4: DPActivated \;5: DPTxTurnOn \;6: DPTxTurnOff \;7: DPInitialized" access="RO" offset="0x44.1" size="0x0.4" />
	<field name="dp_st_lane5" descr="DataPath state for lane &lt;i&gt;\;1: DPDeactivated \;2: DPInit \;3: DPDeinit \;4: DPActivated \;5: DPTxTurnOn \;6: DPTxTurnOff \;7: DPInitialized" access="RO" offset="0x44.5" size="0x0.4" />
	<field name="dp_st_lane4" descr="DataPath state for lane &lt;i&gt;\;1: DPDeactivated \;2: DPInit \;3: DPDeinit \;4: DPActivated \;5: DPTxTurnOn \;6: DPTxTurnOff \;7: DPInitialized" access="RO" offset="0x44.9" size="0x0.4" />
	<field name="dp_st_lane3" descr="DataPath state for lane &lt;i&gt;\;1: DPDeactivated \;2: DPInit \;3: DPDeinit \;4: DPActivated \;5: DPTxTurnOn \;6: DPTxTurnOff \;7: DPInitialized" access="RO" offset="0x44.13" size="0x0.4" />
	<field name="dp_st_lane2" descr="DataPath state for lane &lt;i&gt;\;1: DPDeactivated \;2: DPInit \;3: DPDeinit \;4: DPActivated \;5: DPTxTurnOn \;6: DPTxTurnOff \;7: DPInitialized" access="RO" offset="0x44.17" size="0x0.4" />
	<field name="dp_st_lane1" descr="DataPath state for lane &lt;i&gt;\;1: DPDeactivated \;2: DPInit \;3: DPDeinit \;4: DPActivated \;5: DPTxTurnOn \;6: DPTxTurnOff \;7: DPInitialized" access="RO" offset="0x44.21" size="0x0.4" />
	<field name="dp_st_lane0" descr="DataPath state for lane &lt;i&gt;\;1: DPDeactivated \;2: DPInit \;3: DPDeinit \;4: DPActivated \;5: DPTxTurnOn \;6: DPTxTurnOff \;7: DPInitialized" access="RO" offset="0x44.25" size="0x0.4" />
	<field name="module_st" descr="Valid for CMIS modules only. Module state:\; 0: reserved \;1: LowPwr_state \;2: PwrUp_state \;3: Ready_state \;4: PwrDn_state \;5: Fault_state" access="RO" offset="0x44.29" size="0x0.3" />
	<field name="max_tec_power" descr="Maximum power measure between all TECs in unit of 1mW" access="RO" offset="0x48.0" size="0x0.16" />
	<field name="dp_st_lane7" descr="DataPath state for lane &lt;i&gt;\;1: DPDeactivated \;2: DPInit \;3: DPDeinit \;4: DPActivated \;5: DPTxTurnOn \;6: DPTxTurnOff \;7: DPInitialized" access="RO" offset="0x48.28" size="0x0.4" />
	<field name="laser_source_temperature" descr="ELS source module TS1 temperature unit of 1/256 C." access="RO" offset="0x4C.16" size="0x0.16" />
	<field name="els_input_power_lane1" descr="Laser power in OE input, in units of dBm.\;" access="RO" offset="0x50.0" size="0x0.16" />
	<field name="els_input_power_lane0" descr="Laser power in OE input, in units of dBm.\;" access="RO" offset="0x50.16" size="0x0.16" />
	<field name="els_input_power_lane3" descr="Laser power in OE input, in units of dBm.\;" access="RO" offset="0x54.0" size="0x0.16" />
	<field name="els_input_power_lane2" descr="Laser power in OE input, in units of dBm.\;" access="RO" offset="0x54.16" size="0x0.16" />
	<field name="els_input_power_lane5" descr="Laser power in OE input, in units of dBm.\;" access="RO" offset="0x58.0" size="0x0.16" />
	<field name="els_input_power_lane4" descr="Laser power in OE input, in units of dBm.\;" access="RO" offset="0x58.16" size="0x0.16" />
	<field name="els_input_power_lane7" descr="Laser power in OE input, in units of dBm.\;" access="RO" offset="0x5C.0" size="0x0.16" />
	<field name="els_input_power_lane6" descr="Laser power in OE input, in units of dBm.\;" access="RO" offset="0x5C.16" size="0x0.16" />
	<field name="tx_los" descr="Bitmask for latched Tx loss of signal flag per lane.\;Bit 0 - lane 0... Bit 7 - lane 7\;Relevant for CPO module (virtual module)" access="RO" offset="0x60.16" size="0x0.8" />
	<field name="rx_los" descr="Bitmask for latched Rx loss of signal flag per lane.\;Bit 0 - lane 0... Bit 7 - lane 7\;Relevant for CPO module (virtual module)" access="RO" offset="0x60.24" size="0x0.8" />
	<field name="tx_power_lo_war" descr="Bitmask for latched Tx power low warning flag per lane.\;Bit 0 - lane 0... Bit 7 - lane 7\;Relevant for CPO module (virtual module)" access="RO" offset="0x64.0" size="0x0.8" />
	<field name="tx_power_hi_war" descr="Bitmask for latched Tx power high warning flag per lane.\;Bit 0 - lane 0... Bit 7 - lane 7\;Relevant for CPO module (virtual module)" access="RO" offset="0x64.8" size="0x0.8" />
	<field name="tx_power_lo_al" descr="Bitmask for latched Tx power low alarm flag per lane.\;Bit 0 - lane 0... Bit 7 - lane 7\;Relevant for CPO module (virtual module)" access="RO" offset="0x64.16" size="0x0.8" />
	<field name="tx_power_hi_al" descr="Bitmask for latched Tx power high alarm flag per lane.\;Bit 0 - lane 0... Bit 7 - lane 7\;Relevant for CPO module (virtual module)" access="RO" offset="0x64.24" size="0x0.8" />
	<field name="rx_power_lo_war" descr="Bitmask for latched Rx power low warning flag per lane.\;Bit 0 - lane 0... Bit 7 - lane 7" access="RO" offset="0x68.0" size="0x0.8" />
	<field name="rx_power_hi_war" descr="Bitmask for latched Rx power high warning flag per lane.\;Bit 0 - lane 0... Bit 7 - lane 7\;Relevant for CPO module (virtual module)" access="RO" offset="0x68.8" size="0x0.8" />
	<field name="rx_power_lo_al" descr="Bitmask for latched Rx power low alarm flag per lane.\;Bit 0 - lane 0... Bit 7 - lane 7\;Relevant for CPO module (virtual module)" access="RO" offset="0x68.16" size="0x0.8" />
	<field name="rx_power_hi_al" descr="Bitmask for latched Rx power high alarm flag per lane.\;Bit 0 - lane 0... Bit 7 - lane 7\;Relevant for CPO module (virtual module)" access="RO" offset="0x68.24" size="0x0.8" />
</node>

<node name="pemi_optical_engine_debug_parameters_samples_ext" descr="" size="0xf8.0" >
	<field name="heater_voltage_lane1" descr="Optical Engine heater voltage for lane &lt;i&gt; in unit of 1500 / 4095 mV" offset="0x0.0" size="0x0.16" />
	<field name="heater_voltage_lane0" descr="Optical Engine heater voltage for lane &lt;i&gt; in unit of 1500 / 4095 mV" offset="0x0.16" size="0x0.16" />
	<field name="heater_voltage_lane3" descr="Optical Engine heater voltage for lane &lt;i&gt; in unit of 1500 / 4095 mV" offset="0x4.0" size="0x0.16" />
	<field name="heater_voltage_lane2" descr="Optical Engine heater voltage for lane &lt;i&gt; in unit of 1500 / 4095 mV" offset="0x4.16" size="0x0.16" />
	<field name="heater_voltage_lane5" descr="Optical Engine heater voltage for lane &lt;i&gt; in unit of 1500 / 4095 mV" offset="0x8.0" size="0x0.16" />
	<field name="heater_voltage_lane4" descr="Optical Engine heater voltage for lane &lt;i&gt; in unit of 1500 / 4095 mV" offset="0x8.16" size="0x0.16" />
	<field name="heater_voltage_lane7" descr="Optical Engine heater voltage for lane &lt;i&gt; in unit of 1500 / 4095 mV" offset="0xC.0" size="0x0.16" />
	<field name="heater_voltage_lane6" descr="Optical Engine heater voltage for lane &lt;i&gt; in unit of 1500 / 4095 mV" offset="0xC.16" size="0x0.16" />
	<field name="photocurrent_lane1" descr="Optical Engine photo current for lane &lt;i&gt; in unit of TBD" offset="0x10.0" size="0x0.16" />
	<field name="photocurrent_lane0" descr="Optical Engine photo current for lane &lt;i&gt; in unit of TBD" offset="0x10.16" size="0x0.16" />
	<field name="photocurrent_lane3" descr="Optical Engine photo current for lane &lt;i&gt; in unit of TBD" offset="0x14.0" size="0x0.16" />
	<field name="photocurrent_lane2" descr="Optical Engine photo current for lane &lt;i&gt; in unit of TBD" offset="0x14.16" size="0x0.16" />
	<field name="photocurrent_lane5" descr="Optical Engine photo current for lane &lt;i&gt; in unit of TBD" offset="0x18.0" size="0x0.16" />
	<field name="photocurrent_lane4" descr="Optical Engine photo current for lane &lt;i&gt; in unit of TBD" offset="0x18.16" size="0x0.16" />
	<field name="photocurrent_lane7" descr="Optical Engine photo current for lane &lt;i&gt; in unit of TBD" offset="0x1C.0" size="0x0.16" />
	<field name="photocurrent_lane6" descr="Optical Engine photo current for lane &lt;i&gt; in unit of TBD" offset="0x1C.16" size="0x0.16" />
	<field name="tx_cm_cathode_voltage_lane1" descr="Optical Engine Tx cathode common mode voltage for lane &lt;i&gt; in unit of 1500 / 4095 mV" offset="0x20.0" size="0x0.16" />
	<field name="tx_cm_cathode_voltage_lane0" descr="Optical Engine Tx cathode common mode voltage for lane &lt;i&gt; in unit of 1500 / 4095 mV" offset="0x20.16" size="0x0.16" />
	<field name="tx_cm_cathode_voltage_lane3" descr="Optical Engine Tx cathode common mode voltage for lane &lt;i&gt; in unit of 1500 / 4095 mV" offset="0x24.0" size="0x0.16" />
	<field name="tx_cm_cathode_voltage_lane2" descr="Optical Engine Tx cathode common mode voltage for lane &lt;i&gt; in unit of 1500 / 4095 mV" offset="0x24.16" size="0x0.16" />
	<field name="tx_cm_cathode_voltage_lane5" descr="Optical Engine Tx cathode common mode voltage for lane &lt;i&gt; in unit of 1500 / 4095 mV" offset="0x28.0" size="0x0.16" />
	<field name="tx_cm_cathode_voltage_lane4" descr="Optical Engine Tx cathode common mode voltage for lane &lt;i&gt; in unit of 1500 / 4095 mV" offset="0x28.16" size="0x0.16" />
	<field name="tx_cm_cathode_voltage_lane7" descr="Optical Engine Tx cathode common mode voltage for lane &lt;i&gt; in unit of 1500 / 4095 mV" offset="0x2C.0" size="0x0.16" />
	<field name="tx_cm_cathode_voltage_lane6" descr="Optical Engine Tx cathode common mode voltage for lane &lt;i&gt; in unit of 1500 / 4095 mV" offset="0x2C.16" size="0x0.16" />
	<field name="tx_cm_anode_voltage_lane1" descr="Optical Engine Tx anode common mode voltage for lane &lt;i&gt; in unit of 1500 / 4095 mV" offset="0x30.0" size="0x0.16" />
	<field name="tx_cm_anode_voltage_lane0" descr="Optical Engine Tx anode common mode voltage for lane &lt;i&gt; in unit of 1500 / 4095 mV" offset="0x30.16" size="0x0.16" />
	<field name="tx_cm_anode_voltage_lane3" descr="Optical Engine Tx anode common mode voltage for lane &lt;i&gt; in unit of 1500 / 4095 mV" offset="0x34.0" size="0x0.16" />
	<field name="tx_cm_anode_voltage_lane2" descr="Optical Engine Tx anode common mode voltage for lane &lt;i&gt; in unit of 1500 / 4095 mV" offset="0x34.16" size="0x0.16" />
	<field name="tx_cm_anode_voltage_lane5" descr="Optical Engine Tx anode common mode voltage for lane &lt;i&gt; in unit of 1500 / 4095 mV" offset="0x38.0" size="0x0.16" />
	<field name="tx_cm_anode_voltage_lane4" descr="Optical Engine Tx anode common mode voltage for lane &lt;i&gt; in unit of 1500 / 4095 mV" offset="0x38.16" size="0x0.16" />
	<field name="tx_cm_anode_voltage_lane7" descr="Optical Engine Tx anode common mode voltage for lane &lt;i&gt; in unit of 1500 / 4095 mV" offset="0x3C.0" size="0x0.16" />
	<field name="tx_cm_anode_voltage_lane6" descr="Optical Engine Tx anode common mode voltage for lane &lt;i&gt; in unit of 1500 / 4095 mV" offset="0x3C.16" size="0x0.16" />
	<field name="rx_voa_xpol_voltage_lane1" descr="Optical Engine Rx XPOL VOA for lane &lt;i&gt; in unit of 1500 / 4095 mV" offset="0x40.0" size="0x0.16" />
	<field name="rx_voa_xpol_voltage_lane0" descr="Optical Engine Rx XPOL VOA for lane &lt;i&gt; in unit of 1500 / 4095 mV" offset="0x40.16" size="0x0.16" />
	<field name="rx_voa_xpol_voltage_lane3" descr="Optical Engine Rx XPOL VOA for lane &lt;i&gt; in unit of 1500 / 4095 mV" offset="0x44.0" size="0x0.16" />
	<field name="rx_voa_xpol_voltage_lane2" descr="Optical Engine Rx XPOL VOA for lane &lt;i&gt; in unit of 1500 / 4095 mV" offset="0x44.16" size="0x0.16" />
	<field name="rx_voa_xpol_voltage_lane5" descr="Optical Engine Rx XPOL VOA for lane &lt;i&gt; in unit of 1500 / 4095 mV" offset="0x48.0" size="0x0.16" />
	<field name="rx_voa_xpol_voltage_lane4" descr="Optical Engine Rx XPOL VOA for lane &lt;i&gt; in unit of 1500 / 4095 mV" offset="0x48.16" size="0x0.16" />
	<field name="rx_voa_xpol_voltage_lane7" descr="Optical Engine Rx XPOL VOA for lane &lt;i&gt; in unit of 1500 / 4095 mV" offset="0x4C.0" size="0x0.16" />
	<field name="rx_voa_xpol_voltage_lane6" descr="Optical Engine Rx XPOL VOA for lane &lt;i&gt; in unit of 1500 / 4095 mV" offset="0x4C.16" size="0x0.16" />
	<field name="rx_voa_ypol_voltage_lane1" descr="Optical Engine Rx YPOL VOA for lane &lt;i&gt; in unit of 1500 / 4095 mV" offset="0x50.0" size="0x0.16" />
	<field name="rx_voa_ypol_voltage_lane0" descr="Optical Engine Rx YPOL VOA for lane &lt;i&gt; in unit of 1500 / 4095 mV" offset="0x50.16" size="0x0.16" />
	<field name="rx_voa_ypol_voltage_lane3" descr="Optical Engine Rx YPOL VOA for lane &lt;i&gt; in unit of 1500 / 4095 mV" offset="0x54.0" size="0x0.16" />
	<field name="rx_voa_ypol_voltage_lane2" descr="Optical Engine Rx YPOL VOA for lane &lt;i&gt; in unit of 1500 / 4095 mV" offset="0x54.16" size="0x0.16" />
	<field name="rx_voa_ypol_voltage_lane5" descr="Optical Engine Rx YPOL VOA for lane &lt;i&gt; in unit of 1500 / 4095 mV" offset="0x58.0" size="0x0.16" />
	<field name="rx_voa_ypol_voltage_lane4" descr="Optical Engine Rx YPOL VOA for lane &lt;i&gt; in unit of 1500 / 4095 mV" offset="0x58.16" size="0x0.16" />
	<field name="rx_voa_ypol_voltage_lane7" descr="Optical Engine Rx YPOL VOA for lane &lt;i&gt; in unit of 1500 / 4095 mV" offset="0x5C.0" size="0x0.16" />
	<field name="rx_voa_ypol_voltage_lane6" descr="Optical Engine Rx YPOL VOA for lane &lt;i&gt; in unit of 1500 / 4095 mV" offset="0x5C.16" size="0x0.16" />
</node>

<node name="pemi_optical_engine_telemetry_parameters_properties_ext" descr="" size="0xf8.0" >
	<field name="r_parameter_cap" descr="" access="RW" offset="0x0.14" size="0x0.1" />
	<field name="q_parameter_cap" descr="" access="RO" offset="0x0.15" size="0x0.1" />
	<field name="p_parameter_cap" descr="" access="RO" offset="0x0.16" size="0x0.1" />
	<field name="o_parameter_cap" descr="" access="RO" offset="0x0.17" size="0x0.1" />
	<field name="n_parameter_cap" descr="" access="RO" offset="0x0.18" size="0x0.1" />
	<field name="m_parameter_cap" descr="" access="RO" offset="0x0.19" size="0x0.1" />
	<field name="l_parameter_cap" descr="" access="RO" offset="0x0.20" size="0x0.1" />
	<field name="k_parameter_cap" descr="" access="RO" offset="0x0.21" size="0x0.1" />
	<field name="j_parameter_cap" descr="" access="RO" offset="0x0.22" size="0x0.1" />
	<field name="i_parameter_cap" descr="" access="RO" offset="0x0.23" size="0x0.1" />
	<field name="h_parameter_cap" descr="" access="RO" offset="0x0.24" size="0x0.1" />
	<field name="g_parameter_cap" descr="" access="RO" offset="0x0.25" size="0x0.1" />
	<field name="f_parameter_cap" descr="" access="RO" offset="0x0.26" size="0x0.1" />
	<field name="e_parameter_cap" descr="" access="RO" offset="0x0.27" size="0x0.1" />
	<field name="d_parameter_cap" descr="" access="RO" offset="0x0.28" size="0x0.1" />
	<field name="c_parameter_cap" descr="" access="RO" offset="0x0.29" size="0x0.1" />
	<field name="b_parameter_cap" descr="" access="RO" offset="0x0.30" size="0x0.1" />
	<field name="a_parameter_cap" descr="" access="RO" offset="0x0.31" size="0x0.1" />
</node>

<node name="pemi_optical_engine_telemetry_parameters_samples_ext" descr="" size="0xf8.0" >
	<field name="a_parameter_lane1" descr="a parameter" access="RO" offset="0x0.0" size="0x0.16" />
	<field name="a_parameter_lane0" descr="a parameter" access="RO" offset="0x0.16" size="0x0.16" />
	<field name="a_parameter_lane3" descr="a parameter" access="RO" offset="0x4.0" size="0x0.16" />
	<field name="a_parameter_lane2" descr="a parameter" access="RO" offset="0x4.16" size="0x0.16" />
	<field name="a_parameter_lane5" descr="a parameter" access="RO" offset="0x8.0" size="0x0.16" />
	<field name="a_parameter_lane4" descr="a parameter" access="RO" offset="0x8.16" size="0x0.16" />
	<field name="a_parameter_lane7" descr="a parameter" access="RO" offset="0xC.0" size="0x0.16" />
	<field name="a_parameter_lane6" descr="a parameter" access="RO" offset="0xC.16" size="0x0.16" />
	<field name="c_parameter_lane1" descr="" access="RO" offset="0x10.0" size="0x0.8" />
	<field name="c_parameter_lane0" descr="" access="RO" offset="0x10.8" size="0x0.8" />
	<field name="b_parameter_lane7" descr="" access="RO" offset="0x10.16" size="0x0.2" />
	<field name="b_parameter_lane6" descr="" access="RO" offset="0x10.18" size="0x0.2" />
	<field name="b_parameter_lane5" descr="" access="RO" offset="0x10.20" size="0x0.2" />
	<field name="b_parameter_lane4" descr="" access="RO" offset="0x10.22" size="0x0.2" />
	<field name="b_parameter_lane3" descr="" access="RO" offset="0x10.24" size="0x0.2" />
	<field name="b_parameter_lane2" descr="" access="RO" offset="0x10.26" size="0x0.2" />
	<field name="b_parameter_lane1" descr="" access="RO" offset="0x10.28" size="0x0.2" />
	<field name="b_parameter_lane0" descr="" access="RO" offset="0x10.30" size="0x0.2" />
	<field name="c_parameter_lane5" descr="" access="RO" offset="0x14.0" size="0x0.8" />
	<field name="c_parameter_lane4" descr="" access="RO" offset="0x14.8" size="0x0.8" />
	<field name="c_parameter_lane3" descr="" access="RO" offset="0x14.16" size="0x0.8" />
	<field name="c_parameter_lane2" descr="" access="RO" offset="0x14.24" size="0x0.8" />
	<field name="d_parameter_lane1" descr="" access="RO" offset="0x18.0" size="0x0.8" />
	<field name="d_parameter_lane0" descr="" access="RO" offset="0x18.8" size="0x0.8" />
	<field name="c_parameter_lane7" descr="" access="RO" offset="0x18.16" size="0x0.8" />
	<field name="c_parameter_lane6" descr="" access="RO" offset="0x18.24" size="0x0.8" />
	<field name="d_parameter_lane5" descr="" access="RO" offset="0x1C.0" size="0x0.8" />
	<field name="d_parameter_lane4" descr="" access="RO" offset="0x1C.8" size="0x0.8" />
	<field name="d_parameter_lane3" descr="" access="RO" offset="0x1C.16" size="0x0.8" />
	<field name="d_parameter_lane2" descr="" access="RO" offset="0x1C.24" size="0x0.8" />
	<field name="e_parameter_lane3" descr="" access="RO" offset="0x20.0" size="0x0.4" />
	<field name="e_parameter_lane2" descr="" access="RO" offset="0x20.4" size="0x0.4" />
	<field name="e_parameter_lane1" descr="" access="RO" offset="0x20.8" size="0x0.4" />
	<field name="e_parameter_lane0" descr="" access="RO" offset="0x20.12" size="0x0.4" />
	<field name="d_parameter_lane7" descr="" access="RO" offset="0x20.16" size="0x0.8" />
	<field name="d_parameter_lane6" descr="" access="RO" offset="0x20.24" size="0x0.8" />
	<field name="f_parameter_lane3" descr="" access="RO" offset="0x24.0" size="0x0.4" />
	<field name="f_parameter_lane2" descr="" access="RO" offset="0x24.4" size="0x0.4" />
	<field name="f_parameter_lane1" descr="" access="RO" offset="0x24.8" size="0x0.4" />
	<field name="f_parameter_lane0" descr="" access="RO" offset="0x24.12" size="0x0.4" />
	<field name="e_parameter_lane7" descr="" access="RO" offset="0x24.16" size="0x0.4" />
	<field name="e_parameter_lane6" descr="" access="RO" offset="0x24.20" size="0x0.4" />
	<field name="e_parameter_lane5" descr="" access="RO" offset="0x24.24" size="0x0.4" />
	<field name="e_parameter_lane4" descr="" access="RO" offset="0x24.28" size="0x0.4" />
	<field name="g_parameter_lane0" descr="" access="RO" offset="0x28.0" size="0x0.16" />
	<field name="f_parameter_lane7" descr="" access="RO" offset="0x28.16" size="0x0.4" />
	<field name="f_parameter_lane6" descr="" access="RO" offset="0x28.20" size="0x0.4" />
	<field name="f_parameter_lane5" descr="" access="RO" offset="0x28.24" size="0x0.4" />
	<field name="f_parameter_lane4" descr="" access="RO" offset="0x28.28" size="0x0.4" />
	<field name="g_parameter_lane2" descr="" access="RO" offset="0x2C.0" size="0x0.16" />
	<field name="g_parameter_lane1" descr="" access="RO" offset="0x2C.16" size="0x0.16" />
	<field name="g_parameter_lane4" descr="" access="RO" offset="0x30.0" size="0x0.16" />
	<field name="g_parameter_lane3" descr="" access="RO" offset="0x30.16" size="0x0.16" />
	<field name="g_parameter_lane6" descr="" access="RW" offset="0x34.0" size="0x0.16" />
	<field name="g_parameter_lane5" descr="" access="RW" offset="0x34.16" size="0x0.16" />
	<field name="g_parameter_lane7" descr="" access="RW" offset="0x38.16" size="0x0.16" />
	<field name="h_parameter_lane1" descr="" access="RO" offset="0x3C.0" size="0x0.16" />
	<field name="h_parameter_lane0" descr="" access="RO" offset="0x3C.16" size="0x0.16" />
	<field name="h_parameter_lane3" descr="" access="RO" offset="0x40.0" size="0x0.16" />
	<field name="h_parameter_lane2" descr="" access="RO" offset="0x40.16" size="0x0.16" />
	<field name="h_parameter_lane5" descr="" access="RO" offset="0x44.0" size="0x0.16" />
	<field name="h_parameter_lane4" descr="" access="RO" offset="0x44.16" size="0x0.16" />
	<field name="h_parameter_lane7" descr="" access="RO" offset="0x48.0" size="0x0.16" />
	<field name="h_parameter_lane6" descr="" access="RO" offset="0x48.16" size="0x0.16" />
	<field name="i_parameter_lane7" descr="" access="RO" offset="0x4C.0" size="0x0.4" />
	<field name="i_parameter_lane6" descr="" access="RO" offset="0x4C.4" size="0x0.4" />
	<field name="i_parameter_lane5" descr="" access="RO" offset="0x4C.8" size="0x0.4" />
	<field name="i_parameter_lane4" descr="" access="RO" offset="0x4C.12" size="0x0.4" />
	<field name="i_parameter_lane3" descr="" access="RO" offset="0x4C.16" size="0x0.4" />
	<field name="i_parameter_lane2" descr="" access="RO" offset="0x4C.20" size="0x0.4" />
	<field name="i_parameter_lane1" descr="" access="RO" offset="0x4C.24" size="0x0.4" />
	<field name="i_parameter_lane0" descr="" access="RO" offset="0x4C.28" size="0x0.4" />
	<field name="j_parameter_lane7" descr="" access="RO" offset="0x50.0" size="0x0.4" />
	<field name="j_parameter_lane6" descr="" access="RO" offset="0x50.4" size="0x0.4" />
	<field name="j_parameter_lane5" descr="" access="RO" offset="0x50.8" size="0x0.4" />
	<field name="j_parameter_lane4" descr="" access="RO" offset="0x50.12" size="0x0.4" />
	<field name="j_parameter_lane3" descr="" access="RO" offset="0x50.16" size="0x0.4" />
	<field name="j_parameter_lane2" descr="" access="RO" offset="0x50.20" size="0x0.4" />
	<field name="j_parameter_lane1" descr="" access="RO" offset="0x50.24" size="0x0.4" />
	<field name="j_parameter_lane0" descr="" access="RO" offset="0x50.28" size="0x0.4" />
	<field name="l_parameter_lane2" descr="" access="RO" offset="0x54.0" size="0x0.8" />
	<field name="l_parameter_lane1" descr="" access="RO" offset="0x54.8" size="0x0.8" />
	<field name="l_parameter_lane0" descr="" access="RO" offset="0x54.16" size="0x0.8" />
	<field name="k_parameter_lane7" descr="" access="RO" offset="0x54.24" size="0x0.1" />
	<field name="k_parameter_lane6" descr="" access="RO" offset="0x54.25" size="0x0.1" />
	<field name="k_parameter_lane5" descr="" access="RO" offset="0x54.26" size="0x0.1" />
	<field name="k_parameter_lane4" descr="" access="RO" offset="0x54.27" size="0x0.1" />
	<field name="k_parameter_lane3" descr="" access="RO" offset="0x54.28" size="0x0.1" />
	<field name="k_parameter_lane2" descr="" access="RO" offset="0x54.29" size="0x0.1" />
	<field name="k_parameter_lane1" descr="" access="RO" offset="0x54.30" size="0x0.1" />
	<field name="k_parameter_lane0" descr="" access="RO" offset="0x54.31" size="0x0.1" />
	<field name="l_parameter_lane6" descr="" access="RO" offset="0x58.0" size="0x0.8" />
	<field name="l_parameter_lane5" descr="" access="RO" offset="0x58.8" size="0x0.8" />
	<field name="l_parameter_lane4" descr="" access="RO" offset="0x58.16" size="0x0.8" />
	<field name="l_parameter_lane3" descr="" access="RO" offset="0x58.24" size="0x0.8" />
	<field name="l_parameter_lane7" descr="" access="RO" offset="0x5C.24" size="0x0.8" />
	<field name="m_parameter_lane1" descr="" access="RO" offset="0x60.0" size="0x0.16" />
	<field name="m_parameter_lane0" descr="" access="RO" offset="0x60.16" size="0x0.16" />
	<field name="m_parameter_lane3" descr="" access="RO" offset="0x64.0" size="0x0.16" />
	<field name="m_parameter_lane2" descr="" access="RO" offset="0x64.16" size="0x0.16" />
	<field name="m_parameter_lane5" descr="" access="RO" offset="0x68.0" size="0x0.16" />
	<field name="m_parameter_lane4" descr="" access="RO" offset="0x68.16" size="0x0.16" />
	<field name="m_parameter_lane7" descr="" access="RO" offset="0x6C.0" size="0x0.16" />
	<field name="m_parameter_lane6" descr="" access="RO" offset="0x6C.16" size="0x0.16" />
	<field name="n_parameter_lane1" descr="" access="RO" offset="0x70.0" size="0x0.16" />
	<field name="n_parameter_lane0" descr="" access="RO" offset="0x70.16" size="0x0.16" />
	<field name="n_parameter_lane3" descr="" access="RO" offset="0x74.0" size="0x0.16" />
	<field name="n_parameter_lane2" descr="" access="RO" offset="0x74.16" size="0x0.16" />
	<field name="n_parameter_lane5" descr="" access="RO" offset="0x78.0" size="0x0.16" />
	<field name="n_parameter_lane4" descr="" access="RO" offset="0x78.16" size="0x0.16" />
	<field name="n_parameter_lane7" descr="" access="RO" offset="0x7C.0" size="0x0.16" />
	<field name="n_parameter_lane6" descr="" access="RO" offset="0x7C.16" size="0x0.16" />
	<field name="o_parameter_lane7" descr="" access="RO" offset="0x80.16" size="0x0.2" />
	<field name="o_parameter_lane6" descr="" access="RO" offset="0x80.18" size="0x0.2" />
	<field name="o_parameter_lane5" descr="" access="RO" offset="0x80.20" size="0x0.2" />
	<field name="o_parameter_lane4" descr="" access="RO" offset="0x80.22" size="0x0.2" />
	<field name="o_parameter_lane3" descr="" access="RO" offset="0x80.24" size="0x0.2" />
	<field name="o_parameter_lane2" descr="" access="RO" offset="0x80.26" size="0x0.2" />
	<field name="o_parameter_lane1" descr="" access="RO" offset="0x80.28" size="0x0.2" />
	<field name="o_parameter_lane0" descr="" access="RO" offset="0x80.30" size="0x0.2" />
	<field name="p_parameter_lane3" descr="" access="RO" offset="0x84.0" size="0x0.8" />
	<field name="p_parameter_lane2" descr="" access="RO" offset="0x84.8" size="0x0.8" />
	<field name="p_parameter_lane1" descr="" access="RO" offset="0x84.16" size="0x0.8" />
	<field name="p_parameter_lane0" descr="" access="RO" offset="0x84.24" size="0x0.8" />
	<field name="p_parameter_lane7" descr="" access="RO" offset="0x88.0" size="0x0.8" />
	<field name="p_parameter_lane6" descr="" access="RO" offset="0x88.8" size="0x0.8" />
	<field name="p_parameter_lane5" descr="" access="RO" offset="0x88.16" size="0x0.8" />
	<field name="p_parameter_lane4" descr="" access="RO" offset="0x88.24" size="0x0.8" />
	<field name="r_parameter_lane1" descr="" access="RO" offset="0x8C.0" size="0x0.8" />
	<field name="r_parameter_lane0" descr="" access="RO" offset="0x8C.8" size="0x0.8" />
	<field name="q_parameter_lane7" descr="" access="RO" offset="0x8C.16" size="0x0.2" />
	<field name="q_parameter_lane6" descr="" access="RO" offset="0x8C.18" size="0x0.2" />
	<field name="q_parameter_lane5" descr="" access="RO" offset="0x8C.20" size="0x0.2" />
	<field name="q_parameter_lane4" descr="" access="RO" offset="0x8C.22" size="0x0.2" />
	<field name="q_parameter_lane3" descr="" access="RO" offset="0x8C.24" size="0x0.2" />
	<field name="q_parameter_lane2" descr="" access="RO" offset="0x8C.26" size="0x0.2" />
	<field name="q_parameter_lane1" descr="" access="RO" offset="0x8C.28" size="0x0.2" />
	<field name="q_parameter_lane0" descr="" access="RO" offset="0x8C.30" size="0x0.2" />
	<field name="r_parameter_lane5" descr="" access="RO" offset="0x90.0" size="0x0.8" />
	<field name="r_parameter_lane4" descr="" access="RO" offset="0x90.8" size="0x0.8" />
	<field name="r_parameter_lane3" descr="" access="RO" offset="0x90.16" size="0x0.8" />
	<field name="r_parameter_lane2" descr="" access="RO" offset="0x90.24" size="0x0.8" />
	<field name="OeVerMajor" descr="OE BKV version, major" access="RO" offset="0x94.0" size="0x0.16" />
	<field name="r_parameter_lane7" descr="" access="RO" offset="0x94.16" size="0x0.8" />
	<field name="r_parameter_lane6" descr="" access="RO" offset="0x94.24" size="0x0.8" />
	<field name="OeVerRc" descr="" access="RO" offset="0x98.0" size="0x0.16" />
	<field name="OeVerMinor" descr="OE BKV version, minor" access="RO" offset="0x98.16" size="0x0.16" />
	<field name="oe_advanced_troubleshooting_lane3" descr="" access="RO" offset="0x9C.0" size="0x0.8" />
	<field name="oe_advanced_troubleshooting_lane2" descr="" access="RO" offset="0x9C.8" size="0x0.8" />
	<field name="oe_advanced_troubleshooting_lane1" descr="" access="RO" offset="0x9C.16" size="0x0.8" />
	<field name="oe_advanced_troubleshooting_lane0" descr="" access="RO" offset="0x9C.24" size="0x0.8" />
	<field name="oe_advanced_troubleshooting_lane7" descr="" access="RO" offset="0xA0.0" size="0x0.8" />
	<field name="oe_advanced_troubleshooting_lane6" descr="" access="RO" offset="0xA0.8" size="0x0.8" />
	<field name="oe_advanced_troubleshooting_lane5" descr="" access="RO" offset="0xA0.16" size="0x0.8" />
	<field name="oe_advanced_troubleshooting_lane4" descr="" access="RO" offset="0xA0.24" size="0x0.8" />
</node>

<node name="pemi_optical_engine_telemetry_properties_ext" descr="" size="0xf8.0" >
	<field name="rx_voa_ypol_voltage_cap" descr="Optical engine Rx VOA ypol voltage capability" access="RO" offset="0x0.26" size="0x0.1" />
	<field name="rx_voa_xpol_voltage_cap" descr="Optical engine Rx VOA xpol voltage capability" access="RO" offset="0x0.27" size="0x0.1" />
	<field name="tx_cm_anode_voltage_cap" descr="Optical engine Tx common mode anode voltage capability" access="RO" offset="0x0.28" size="0x0.1" />
	<field name="tx_cm_cathode_voltage_cap" descr="Optical engine Tx common mode cathode voltage capability" access="RO" offset="0x0.29" size="0x0.1" />
	<field name="photocurrent_cap" descr="Optical engine photocurrent capability" access="RO" offset="0x0.30" size="0x0.1" />
	<field name="heater_voltage_cap" descr="Optical engine heater voltage monitor capability" access="RO" offset="0x0.31" size="0x0.1" />
</node>

<node name="pemi_page_data_auto_ext" descr="" attr_is_union="1" size="0xf8.0" >
	<field name="pemi_FERC_Properties_ext" descr="" subnode="pemi_FERC_Properties_ext" offset="0x0.0" selected_by="FERC_Properties" size="0xf8.0" />
	<field name="pemi_FERC_Samples_ext" descr="" subnode="pemi_FERC_Samples_ext" offset="0x0.0" selected_by="FERC_Samples" size="0xf8.0" />
	<field name="pemi_Laser_Monitors_Properties_ext" descr="" subnode="pemi_Laser_Monitors_Properties_ext" offset="0x0.0" selected_by="Laser_Monitors_Properties" size="0xf8.0" />
	<field name="pemi_Laser_Monitors_Samples_ext" descr="" subnode="pemi_Laser_Monitors_Samples_ext" offset="0x0.0" selected_by="Laser_Monitors_Samples" size="0xf8.0" />
	<field name="pemi_Module_Status_Properties_ext" descr="" subnode="pemi_Module_Status_Properties_ext" offset="0x0.0" selected_by="Module_Status_Properties" size="0xf8.0" />
	<field name="pemi_PAM4_Level_Transition_Properties_ext" descr="" subnode="pemi_PAM4_Level_Transition_Properties_ext" offset="0x0.0" selected_by="PAM4_Level_Transition_Properties" size="0xf8.0" />
	<field name="pemi_PAM4_Level_Transition_Samples_ext" descr="" subnode="pemi_PAM4_Level_Transition_Samples_ext" offset="0x0.0" selected_by="PAM4_Level_Transition_Samples" size="0xf8.0" />
	<field name="pemi_Pre_FEC_BER_Properties_ext" descr="" subnode="pemi_Pre_FEC_BER_Properties_ext" offset="0x0.0" selected_by="Pre_FEC_BER_Properties" size="0xf8.0" />
	<field name="pemi_Pre_FEC_BER_Samples_ext" descr="" subnode="pemi_Pre_FEC_BER_Samples_ext" offset="0x0.0" selected_by="Pre_FEC_BER_Samples" size="0xf8.0" />
	<field name="pemi_SEWmax_Properties_ext" descr="" subnode="pemi_SEWmax_Properties_ext" offset="0x0.0" selected_by="SEWmax_Properties" size="0xf8.0" />
	<field name="pemi_SEWmax_Samples_ext" descr="" subnode="pemi_SEWmax_Samples_ext" offset="0x0.0" selected_by="SEWmax_Samples" size="0xf8.0" />
	<field name="pemi_SNR_Properties_ext" descr="" subnode="pemi_SNR_Properties_ext" offset="0x0.0" selected_by="SNR_Properties" size="0xf8.0" />
	<field name="pemi_SNR_Samples_ext" descr="" subnode="pemi_SNR_Samples_ext" offset="0x0.0" selected_by="SNR_Samples" size="0xf8.0" />
	<field name="pemi_cpo_module_info_samples_ext" descr="" subnode="pemi_cpo_module_info_samples_ext" offset="0x0.0" selected_by="CPO_Module_Info_Samples" size="0x34.0" />
	<field name="pemi_laser_source_module_advance_properties_ext" descr="" subnode="pemi_laser_source_module_advance_properties_ext" offset="0x0.0" selected_by="Laser_Source_Module_Advanced_Properties" size="0xf8.0" />
	<field name="pemi_laser_source_module_advanced_samples_ext" descr="" subnode="pemi_laser_source_module_advanced_samples_ext" offset="0x0.0" selected_by="Laser_Source_Module_Advanced_Samples" size="0xf8.0" />
	<field name="pemi_laser_source_module_essential_properties_ext" descr="" subnode="pemi_laser_source_module_essential_properties_ext" offset="0x0.0" selected_by="Laser_Source_Module_Essential_Properties" size="0xf8.0" />
	<field name="pemi_laser_source_module_essential_samples_ext" descr="" subnode="pemi_laser_source_module_essential_samples_ext" offset="0x0.0" selected_by="Laser_Source_Module_Essential_Samples" size="0xf8.0" />
	<field name="pemi_laser_source_module_status_properties_ext" descr="" subnode="pemi_laser_source_module_status_properties_ext" offset="0x0.0" selected_by="Laser_Source_Module_Status_Properties" size="0xf8.0" />
	<field name="pemi_laser_source_module_status_samples_ext" descr="" subnode="pemi_laser_source_module_status_samples_ext" offset="0x0.0" selected_by="Laser_Source_Module_Status_Samples" size="0xf8.0" />
	<field name="pemi_module_status_samples_ext" descr="" subnode="pemi_module_status_samples_ext" offset="0x0.0" selected_by="Module_Status_Samples" size="0xf8.0" />
	<field name="pemi_optical_engine_debug_parameters_samples_ext" descr="" subnode="pemi_optical_engine_debug_parameters_samples_ext" offset="0x0.0" selected_by="Optical_Engine_Debug_Parameters_Samples" size="0xf8.0" />
	<field name="pemi_optical_engine_telemetry_parameters_properties_ext" descr="" subnode="pemi_optical_engine_telemetry_parameters_properties_ext" offset="0x0.0" selected_by="Optical_Engine_Telemetry_Parameters_Properties" size="0xf8.0" />
	<field name="pemi_optical_engine_telemetry_parameters_samples_ext" descr="" subnode="pemi_optical_engine_telemetry_parameters_samples_ext" offset="0x0.0" selected_by="Optical_Engine_Telemetry_Parameters_Samples" size="0xf8.0" />
	<field name="pemi_optical_engine_telemetry_properties_ext" descr="" subnode="pemi_optical_engine_telemetry_properties_ext" offset="0x0.0" selected_by="Optical_Engine_Debug_Parameters_Properties" size="0xf8.0" />
</node>

<node name="pemrbt_ext" descr="" size="0x14.0" >
	<field name="protocol" descr="Protocol:\;0: IPv4\;1: IPv6" access="INDEX" offset="0x0.0" size="0x0.1" />
	<field name="op" descr="0: Bind ACL to MC group\;2: Add - will add the content of a given ACL group to the already existing bound group\;" access="RW" offset="0x0.20" size="0x0.3" />
	<field name="group_id" descr="ACL group identifier (acl_group_id) or ACL group element (acl_group_element).\;Default: group 0 for Spectrum only\;For ACL group identifier, range of group id is 0..cap_max_acl_groups-1.\;For ACL group element, range of group element is 0..cap_max_acl_tot_groups-1.\;Note: the group_id must be configured prior to enabling mc router" access="RW" offset="0x10.0" size="0x0.16" />
</node>

<node name="pepc_reg_ext" descr="" size="0x10.0" >
	<field name="lp_msb" descr="Local port number [9:8]" access="INDEX" offset="0x0.12" size="0x0.2" />
	<field name="local_port" descr="Local port number." access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="twisted_pair_an_mode" descr="twisted_pair operational mode in case of AN enabled: \;0x0: auto_Master_Slave_mode_for_AN_links\;0x1: Master_mode\;0x2: Slave_mode" access="RW" enum="auto_Master_Slave_mode_for_AN_links=0x0,Master_mode=0x1,Slave_mode=0x2" offset="0x4.0" size="0x0.2" />
	<field name="twisted_pair_force_mode" descr="twisted_pair operational mode in case of AN disabled: \;0x0: Master_mode\;0x1: Slave_mode" access="RW" enum="Master_mode=0x0,Slave_mode=0x1" offset="0x4.8" size="0x0.1" />
</node>

<node name="perar_ext" descr="" size="0x8.0" >
	<field name="region_id" descr="Region identifier\;Range 0 .. cap_max_regions-1" access="INDEX" offset="0x0.0" size="0x0.16" />
	<field name="hw_region" descr="HW Region\;Range 0 .. cap_max_regions-1\;Spectrum-2 note: \;- For a 8 key block region, 2 consecutive regions are used\;- For a 12 key block region, 3 consecutive regions are used\;- For sensitivity (PACL.acl_type != 0): if any region (in the sensitivity) is 2 then all regions (in the sensitivity) are 2, if any region (in the sensitivity) is 3 then all regions (in the sensitivity) are 3\;" access="RW" offset="0x4.0" size="0x0.16" />
</node>

<node name="perb_base_classifier_ext" descr="" size="0x40.0" >
	<field name="inner_l2_type" descr="Bit0: others\;Bit1: Ethernet" access="RW" offset="0x0.0" size="0x0.2" />
	<field name="l3_mc" descr="L3 Multicast, according to DIP MSB:\;Bit0: MC \;Bit1: Not MC" access="RW" offset="0x0.16" size="0x0.2" />
	<field name="l2_mc" descr="L2 Multicast, according to DMAC[40]:\;Bit0: MC - packet is Ethernet and DMAC[40] = 1\;Bit1: Not MC\;Default {0, 0}" access="RW" offset="0x0.20" size="0x0.2" />
	<field name="l2_flood" descr="L2 Flooding based on prev FDB:\;Bit0: flooded \;Bit1: not flooded\;Reserved when iport, tunnel_iport and erif" access="RW" offset="0x0.24" size="0x0.2" />
	<field name="l3_type" descr="Ethertype\;Bit0: None \;Bit1: IPv4\;Bit2: IPv6\;Bit3: GRH\;Bit4: Fiber-Channel\;Bit5: ARP\;Bit6: Raw \;Bit7: MPLS\;" access="RW" offset="0x4.0" size="0x0.8" />
	<field name="inner_l3_type" descr="same as for l3_type" access="RW" offset="0x8.0" size="0x0.8" />
	<field name="inner_ip_frag" descr="same as for ip_frag" access="RW" offset="0xC.0" size="0x0.2" />
	<field name="ip_frag" descr="IP Packet is fragmented:\;Bit0: fragmented\;Bit1: not fragmented" access="RW" offset="0xC.8" size="0x0.2" />
	<field name="l4_type" descr="Bit0: others \;Bit1: Raw \;Bit2: TCP\;Bit3: UDP\;Bit4: BTH\;Bit5: BTH_over_UDP\;Bit6: ICMP\;Bit7: IGMP\;Bit8: AH\;Bit9: ESP" access="RW" offset="0x10.0" size="0x0.11" />
	<field name="inner_l4_type" descr="Bit0: others \;Bit1: Raw \;Bit2: TCP\;Bit3: UDP\;Bit6: ICMP\;Bit7: IGMP\;Bit8: AH\;Bit9: ESP" access="RW" offset="0x14.0" size="0x0.11" />
	<field name="tunnel_type" descr="Bit0: others\;Bit1: VxLAN\;Bit2: NVGRE\;Bit3: MPLS\;Bit4: IPinIP - no GRE\;Bit5: IPinGREinIP_Key - with GRE and a key\;Bit6: IPinGREinIP - with GRE, without a key\;Bit7: ARN\;Bit8: Flex" access="RW" offset="0x18.0" size="0x0.9" />
	<field name="tq_command" descr="tq command indicate the flow of the packet.\;Bit0: switch\;Bit1: ip_router\;Bit2: mpls_lsr\;Bit3: vxlan_encap\;Bit4: ipinip_encap\;Bit5: mpls_encap\;Bit6: router_vx_encap\;Bit9: arn_encap\;Bit13: ip_gw\;Bit14: mac_o_flex_encap\;Bit15: ip_o_flex_encap\;Bit17: router_flex_encap\;For don&apos;t care, SW will set all the bits to 1" access="RW" offset="0x1C.0" size="0x0.19" />
	<field name="decap_tq_command" descr="Bit0: If the packet is after decap - classify according to tq_command field\;Bit1: if packet is not after decap - classify according to tq_command field" access="RW" offset="0x1C.30" size="0x0.2" />
	<field name="fpp_index" descr="Bit0 : if set, fpp (flex parser program) was not used\;Bit1-Bit8: fpp index + 1" access="RW" offset="0x20.0" size="0x0.9" />
	<field name="inner_fpp_index" descr="Bit0 : if set, inner fpp was not used\;Bit1-Bit8: inner fpp index + 1" access="RW" offset="0x24.0" size="0x0.9" />
</node>

<node name="perb_classifier_entry_auto_ext" descr="" attr_is_union="1" size="0xc4.0" >
	<field name="perb_classifier_eport_ext" descr="" subnode="perb_classifier_eport_ext" offset="0x0.0" selected_by="eport" size="0x48.0" />
	<field name="perb_classifier_erif_ext" descr="" subnode="perb_classifier_erif_ext" offset="0x0.0" selected_by="erif" size="0x44.0" />
	<field name="perb_classifier_iport_ext" descr="" subnode="perb_classifier_iport_ext" offset="0x0.0" selected_by="iport" size="0xc4.0" />
	<field name="perb_classifier_irif_ext" descr="" subnode="perb_classifier_irif_ext" offset="0x0.0" selected_by="irif" size="0x44.0" />
</node>

<node name="perb_classifier_eport_ext" descr="" size="0x48.0" >
	<field name="base_classifier" descr="Base classifier\;See Table 3206, &quot;PERB base_classifier Layout,&quot; on page 3794" subnode="perb_base_classifier_ext" access="RW" offset="0x0.0" size="0x40.0" />
	<field name="rb_eport_group" descr="Per bit: rule-binding eport_group\;See Section 11.10.10, &quot;PERBEG - Policy-Engine Rule Binding Egress port Group&quot;, on page 3798" access="RW" offset="0x40.0" size="0x4.0" />
	<field name="tunnel_port" descr="Bitmask of egress tunnel port" access="RW" offset="0x44.0" size="0x0.4" />
</node>

<node name="perb_classifier_erif_ext" descr="" size="0x44.0" >
	<field name="base_classifier" descr="Base classifier\;See Table 3206, &quot;PERB base_classifier Layout,&quot; on page 3794" subnode="perb_base_classifier_ext" access="RW" offset="0x0.0" size="0x40.0" />
	<field name="rb_erif_group" descr="Per bit: rule-binding erif_group\;See Section 11.10.9, &quot;PERBRG - Policy-Engine Rule Binding Router Group&quot;, on page 3797" access="RW" offset="0x40.0" size="0x0.4" />
</node>

<node name="perb_classifier_iport_ext" descr="" size="0xc4.0" >
	<field name="base_classifier" descr="Base classifier\;See Table 3206, &quot;PERB base_classifier Layout,&quot; on page 3794" subnode="perb_base_classifier_ext" access="RW" offset="0x0.0" size="0x40.0" />
	<field name="ingress_local_port_list" descr="Local port\;Each bit represents a local port. Refer to Section 9.2, &quot;Port Numbering&quot;, on page 2202 for port numbering scheme.\;Ports order in the bitmask is from bottom to top. e.g for setting local port 1, bit 1 in the last DWORD (offset 0xBCh) should be set.\;CPU port is not supported.\;Router port is not supported" access="RW" high_bound="31" low_bound="0" offset="0x40.0" size="0x80.0" />
	<field name="tunnel_port" descr="Bitmask of ingress tunnel port" access="RW" offset="0xC0.0" size="0x0.4" />
</node>

<node name="perb_classifier_irif_ext" descr="" size="0x44.0" >
	<field name="base_classifier" descr="Base classifier\;See Table 3206, &quot;PERB base_classifier Layout,&quot; on page 3794" subnode="perb_base_classifier_ext" access="RW" offset="0x0.0" size="0x40.0" />
	<field name="rb_irif_group" descr="Per bit: rule-binding irif_group\;See Section 11.10.9, &quot;PERBRG - Policy-Engine Rule Binding Router Group&quot;, on page 3797" access="RW" offset="0x40.0" size="0x0.4" />
</node>

<node name="perb_ext" descr="" size="0xe4.0" >
	<field name="rule_profile_index" descr="Rule Index\;Range 0 - cap_max_rule_based_binding_profile - 1" access="INDEX" offset="0x0.0" size="0x0.4" />
	<field name="pipe_stage" descr="Pipe line stage:\;0: iport\;1: irif\;2: erif\;3: eport" access="INDEX" enum="iport=0x0,irif=0x1,erif=0x2,eport=0x3" offset="0x0.16" size="0x0.4" />
	<field name="op" descr="0: Configure classifier and bind interface to group_id.\;1: Unbind ACL from interface (classifier points to NULL group).\;2: Disable classifier." access="RW" offset="0x4.0" size="0x0.2" />
	<field name="group_id" descr="ACL group identifier (acl_group_id) or ACL group element (acl_group_element).\;For ACL group identifier, range of group id is 0..cap_max_acl_groups-1.\;For ACL group element, range of group element is 0..cap_max_acl_tot_groups-1" access="RW" offset="0x8.0" size="0x0.16" />
	<field name="classifier_entry" descr="Classifier entry, related to pipe_stage:\;Table 3198, &quot;PERB classifier_iport Layout,&quot; on page 3790\;Table 3200, &quot;PERB classifier_irif Layout,&quot; on page 3791\;Table 3202, &quot;PERB classifier_erif Layout,&quot; on page 3792\;Table 3204, &quot;PERB classifier_eport Layout,&quot; on page 3793" subnode="perb_classifier_entry_auto_ext" access="RW" offset="0x20.0" size="0xc4.0" union_selector="$(parent).pipe_stage" />
</node>

<node name="perbeg_ext" descr="" size="0x10.0" >
	<field name="egress_lp_msb" descr="Egress local port[9:8]" access="INDEX" offset="0x0.12" size="0x0.2" />
	<field name="egress_local_port" descr="Egress local port.\;CPU port is not supported." access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="rb_eport_group" descr="Used by PERB classifier\;Default 0\;Range 0 - cap_max_rb_eport_group - 1" access="RW" offset="0xC.0" size="0x0.5" />
</node>

<node name="perbrg_ext" descr="" size="0x10.0" >
	<field name="rif" descr="Router Interface" access="INDEX" offset="0x0.0" size="0x0.16" />
	<field name="dir" descr="Direction of rif interface:\;0: ingress rif\;1: egress rif" access="INDEX" offset="0x8.0" size="0x0.1" />
	<field name="rb_rif_group" descr="Value of rb_rif_group\;Used by PERB classifier\;Default 0\;Range 0 - cap_max_rb_rif_group - 1" access="RW" offset="0xC.0" size="0x0.5" />
</node>

<node name="percr_ext" descr="" size="0x80.0" >
	<field name="region_id" descr="Region identifier\;Range 0 .. cap_max_regions-1" access="INDEX" offset="0x0.0" size="0x0.16" />
	<field name="bf_bypass" descr="Bloom filter bypass\;0: Bloom filter is used (default)\;1: Bypass BF, erps are used regardless of bloom filter\;The bypass is an OR condition of region_id or erp. See PERPT.bf_bypass\;\;Reserved when Spectrum-1" access="RW" offset="0x4.16" size="0x0.1" />
	<field name="ctcam_ignore_prune" descr="Ignore prune_ctcam by other A-TCAM rules\;Used e.g. for a new rule" access="RW" offset="0x4.24" size="0x0.1" />
	<field name="atcam_ignore_prune" descr="Ignore prune_vector by other A-TCAM rules\;Used e.g. for a new rule\;See PGCR.atcam_ignore_prune_vector, See Section 11.10.1, &quot;PGCR - Policy-Engine General Configuration Register&quot;, on page 3778" access="RW" offset="0x4.25" size="0x0.1" />
	<field name="master_mask" descr="Master mask, mask the ERPs, the delta_masks and the C-TCAM lookup.\;When there are no erp&apos;s (erpt_pointer_valid = 0) then this provides the mask\;Per bit:\;0: TCAM will ignore the bit in key\;1: TCAM will compare the bit in key\;Reserved when Spectrum-1\;\;" access="RW" high_bound="23" low_bound="0" offset="0x20.0" size="0x60.0" />
</node>

<node name="perd_ext" descr="" size="0x50.0" >
	<field name="region_id" descr="Region identifier\;Range 0 .. cap_max_regions-1" access="INDEX" offset="0x0.0" size="0x0.16" />
	<field name="atcam_dup" descr="A-TCAM region duplication:\;0: dup 1\;1: dup 2\;2: dup 4\;3: dup 8\;4: dup 16" access="RW" offset="0x8.0" size="0x0.3" />
	<field name="region_id_dup" descr="Region ID for duplication\;Reserved when i &gt;= atcam_dup\;" subnode="region_id_dup" access="RW" high_bound="14" low_bound="0" offset="0x14.0" size="0x3c.0" />
</node>

<node name="pererp_ext" descr="" size="0x1c.0" >
	<field name="region_id" descr="Region identifier\;Range 0 .. cap_max_regions-1" access="INDEX" offset="0x0.0" size="0x0.16" />
	<field name="ctcam_le" descr="C-TCAM Lookup enable\;Reserved when erpt_pointer_valid = 0\;" access="RW" offset="0x4.28" size="0x0.1" />
	<field name="erpt_pointer" descr="Pointer to erp table within the erp bank\;Can be changed for an existing region\;Range is 0.. cap_max_erp_table_bank_size-1\;Reserved when erpt_pointer_valid = 0\;Note: the erpt_pointer can have the same value for different ACLs. However, the erpt_pointer must not point to a mid-entry of different ACL (e.g. if ACL1 uses erpt_pointer 100 with vector of 8 lsbs then ACL2 must not point to the range 101..107)" access="RW" offset="0x10.0" size="0x0.8" />
	<field name="erpt_bank_pointer" descr="Pointer to erp table bank\;Note: May be modified any time\;Range 0 .. cap_max_erp_table_banks-1\;Reserved when erpt_pointer_valid = 0" access="RW" offset="0x10.16" size="0x0.4" />
	<field name="ctcam_only" descr="C-TCAM only\;Lookup only in C-CTAM\;Reserved when erpt_pointer_valid = 1\;\;" access="RW" offset="0x10.30" size="0x0.1" />
	<field name="erpt_pointer_valid" descr="erpt_pointer is valid:\;0: exact match, erpt_pointer is not valid\;1: use erps, erpt_pointer is valid\;The non valid erpt is used as follows:\;- if ctcam_only = 0 then lookup only 1 time in A-TCAM, without erp, using master_mask. a.k.a. exact-match. No C-TCAM lookup\;- if ctcam_only = 1 then lookup only in C-TCAM, without erp\;" access="RW" offset="0x10.31" size="0x0.1" />
	<field name="erpt_vector" descr="Vector of allowed erp_indexes starting from erpt_pointer withing the erpt_bank_pointer\;Note that the allow is on erp_index and not on erp_id\;Used for speeding the lookups \;Next entries will be in next bank\;\;Reserved when erpt_pointer_valid = 0" access="RW" offset="0x14.0" size="0x0.16" />
	<field name="master_rp_id" descr="Master RP ID\;When there are no erp&apos;s then this provide the erp_id for the lookup\;Reserved when erpt_pointer_valid = 1\;Can be changed for an existing region\;" access="RW" offset="0x18.0" size="0x0.4" />
</node>

<node name="perla_ext" descr="" size="0x8.0" >
	<field name="hw_region" descr="HW Region\;Range 0 .. cap_max_regions-1\;" access="INDEX" offset="0x0.0" size="0x0.16" />
	<field name="lookup_region_id" descr="Region identifier used for ATCAM lookup\;Range 0 .. cap_max_regions-1" access="RW" offset="0x4.0" size="0x0.16" />
</node>

<node name="perpt_ext" descr="" size="0x80.0" >
	<field name="erpt_index" descr="Index to erp table within the erp bank\;Within an erp range pointed by an ACL the lower entries are searched before higher entries.\;Range is 0.. cap_max_erp_table_bank_size-1" access="INDEX" offset="0x0.0" size="0x0.8" />
	<field name="erpt_bank" descr="Erp table bank\;Range 0 .. cap_max_erp_table_banks-1" access="INDEX" offset="0x0.16" size="0x0.4" />
	<field name="key_size" descr="0: 2 key blocks \;1: 4 key blocks \;2: 8 key blocks \;3: 12 key blocks" access="OP" offset="0x4.0" size="0x0.4" />
	<field name="erp_id" descr="erp ID for use by the rules\;Note that the erp_id may be modified by SW, even when the erp is in use.\;Note: ERP ID 0 with all-zero mask is a &quot;default&quot; ERP that always matches.\;" access="RW" offset="0x8.0" size="0x0.4" />
	<field name="bf_bypass" descr="Bloom Filter bypass\;0: This erp is used only if bloom filter state is set for the given rule \;1: This erp is used regardless of bloom filter state\;The bypass is an OR condition of region_id or erp. See PERCR.bf_bypass\;" access="RW" offset="0x8.8" size="0x0.1" />
	<field name="erpt_base_index" descr="Base Index to erp table within the erp bank\;Must align to erp_index_in_vector\;Range is 0.. cap_max_erp_table_bank_size-1" access="OP" offset="0xC.0" size="0x0.8" />
	<field name="erpt_base_bank" descr="Base Erp table bank, points to head of erp_vector\;Must align to erp_index_in_vector\;Range 0 .. cap_max_erp_table_banks-1" access="OP" offset="0xC.16" size="0x0.4" />
	<field name="erp_index_in_vector" descr="erp index in the vector\;Must align to {erpt_base_bank, erpt_base_index}\;" access="OP" offset="0x10.0" size="0x0.4" />
	<field name="erp_vector" descr="erp vector, needed for write operations\;" access="OP" offset="0x14.0" size="0x0.16" />
	<field name="mask" descr="Mask, at the same size as key. per bit:\;0: A-TCAM will ignore the bit in key\;1: A-TCAM will compare the bit in key\;" access="RW" high_bound="23" low_bound="0" offset="0x20.0" size="0x60.0" />
</node>

<node name="petcm_ext" descr="" size="0x20.0" >
	<field name="tx_command_val" descr="Tx command Value.\;Each element in the array will hold the corresponding value of the TX command\;Index 0: switch\;Index 1: ip_router\;Index 2: mpls_lsr\;Index 3: vxlan_encap\;Index 4: ipinip_encap\;Index 5: mpls_encap\;Index 6: router_vx_encap\;Index 7: arn_encap\;Index 8: ip_gw\;Index 9: mac_o_flex_encap\;Index 10: ip_o_flex_encap\;Index 11: router_flex_encap\;\;When value equals to 0xff this command is not valid." access="RO" high_bound="31" low_bound="0" offset="0x0.24" size="0x20.0" />
</node>

<node name="pevpb_ext" descr="" size="0x8.0" >
	<field name="lp_msb" descr="Local port[9:8]" access="INDEX" offset="0x0.12" size="0x0.2" />
	<field name="local_port" descr="Ingress local port \;Not including CPU port in Spectrum-1.\;From Spectrum-2 and on CPU port is supported.\;Note: Spectrum-2: no VLAN binding for tunnel_port" access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="ev" descr="Enable VLAN binding from ingress port\;0: disable\;1: enable (default)" access="RW" offset="0x4.0" size="0x0.1" />
</node>

<node name="pfcc_reg_ext" descr="" size="0x20.0" >
	<field name="shl_opr" descr="Send to higher layers operation:\;0: Pause and PFC are handled by the port (default)\;1: Pause and PFC are handled by the port and are also been send to higher layers.\;Only valid if shl_cap = 1." access="RW" offset="0x0.0" size="0x0.1" />
	<field name="shl_cap" descr="Send to higher layers capabilities:\;0: No capability of sending Pause and PFC to higher layers\;1: Device has capability of send Pause and PFC to higher layers\;NOTE: This relates to IEEE 802.3 PAUSE and IEEE 802.3 PFC." access="RO" offset="0x0.1" size="0x0.1" />
	<field name="lp_msb" descr="Local port[9:8]" access="INDEX" offset="0x0.12" size="0x0.2" />
	<field name="pnat" descr="Port number access type. determines the way local_port is interpreted:\;0: Local port number\;1: IB / label port number" access="INDEX" offset="0x0.14" size="0x0.2" />
	<field name="local_port" descr="Local port number." access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="prio_mask_rx" descr="Bit per prio indicating if RX flow control policy should be updated based on bit pfcrx ." access="OP" offset="0x4.0" size="0x0.8" />
	<field name="prio_mask_tx" descr="Bit per prio indicating if TX flow control policy should be updated based on bit pfctx ." access="OP" offset="0x4.16" size="0x0.8" />
	<field name="ppan" descr="Pause policy auto negotiation\;0: disabled - generate and ignore pause frames based on pptx, pprx\;1: enabled - when auto-negotiation is performed, set the pause policy based on the auto-negotiation resolution.\;\;" access="RW" enum="disabled=0x0,enabled=0x1" offset="0x4.28" size="0x0.4" />
	<field name="pfctx" descr="Priority based flow control policy on TX[7:0]. Per priority bit mask:\;0: never generate pause frames on the specified priority (default)\;1: generate pause frames according to RX buffer threshold on the specified priority\;pfctx, pptx must be mutually exclusive (for example, only one of them at most can be set)." access="RW" offset="0x8.16" size="0x0.8" />
	<field name="patx" descr="Peer advertisement pause policy on Tx\;0: Unknown\;1: Peer supports pause on Tx\;2: Peer doesn&apos;t support pause on Tx\;\;" access="RO" offset="0x8.27" size="0x0.2" />
	<field name="aptx" descr="Active (operational) pause policy on TX\;0: do not generate pause frames\;1: generate pause frames according to RX buffer threshold" access="RO" offset="0x8.30" size="0x0.1" />
	<field name="pptx" descr="Admin pause policy on TX (see also pfctx):\;0: never generate pause frames (default)\;1: generate pause frames according to RX buffer threshold" access="RW" offset="0x8.31" size="0x0.1" />
	<field name="pfcrx" descr="Priority based flow control policy on RX[7:0]. Per priority bit mask:\;0: ignore incoming pause frames on the specified priority (default)\;1: respect incoming pause frames on the specified priority" access="RW" offset="0xC.16" size="0x0.8" />
	<field name="parx" descr="Peer advertisement pause policy on Rx\;0: Unknown\;1: Peer supports pause on Rx\;2: Peer doesn&apos;t support pause on Rx\;\;" access="RO" offset="0xC.27" size="0x0.2" />
	<field name="aprx" descr="Active (operational) pause policy on RX\;0: ignore received pause frames\;1: respect received pause frames" access="RO" offset="0xC.30" size="0x0.1" />
	<field name="pprx" descr="Admin pause policy on RX (see also pfcrx):\;0: ignore received pause frames (default)\;1: respect received pause frames" access="RW" offset="0xC.31" size="0x0.1" />
	<field name="pfc_rx_timer_value" descr="[DWIP] Preconfigured PFC wait time\;Unit of 512 BitTime\;Valid range is 1..65535\;Reserved when pfc_rx_timer_mode != 1" access="RW" offset="0x18.0" size="0x0.16" />
	<field name="pfc_rx_timer_mode" descr="[DWIP] PFC RX timer mode\;0: TIMER - timer from packet.\;1: FIXED_VALUE - override value, take value of pfc_rx_timer_value\;2: DOUBLE_TIMER - double timer from packet. Supported from Spectrum-6\;\;Supported only from Spectrum-4.\;This field can be changed on the fly" access="RW" enum="TIMER=0x0,FIXED_VALUE=0x1,DOUBLE_TIMER=0x2" offset="0x18.16" size="0x0.2" />
</node>

<node name="pfcr_ext" descr="" size="0xc.0" >
	<field name="lp_msb" descr="Local port[9:8]" access="INDEX" offset="0x0.12" size="0x0.2" />
	<field name="local_port" descr="Local port number\;" access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="tx_toc_mod" descr="Modifies timestamp over CRC from free running clock to UTC.\;0: Free_Running_Clock - default\;1: UTC\;\;On Write, reserved when\;tx_fcs_recalc_disable=0\; [Spectrum-6] PROFILE.e2e_time=GLOBALLY_DISABLED (from Spectrum-6 only)\;MOGCR.local_toc_fmt=0 (global) - MOGCR.toc_fmt is applied.\;\;Reserved when Spectrum-1." access="RW" enum="Free_Running_Clock=0x0,UTC=0x1" offset="0x8.13" size="0x0.1" />
	<field name="rx_toc_insert" descr="Inserts end-to-end timestamp at ingress.\;0: Timestamp is not inserted at ingress\;1: Timestamp is inserted at ingress - default\;See Section 5.8, &quot;End-to-End Time Measurement&quot;, on page 1468.\;Should be configured the same for all ports.\;Reserved when Spectrum-1.\;[Spectrum-6] Read Only from Spectrum-6 (reserved on Write)." access="RW" offset="0x8.15" size="0x0.1" />
	<field name="tx_icrc_check_disable" descr="Disables internal checksum check at egress.\;0: Internal checksum is checked at egress\;1: Internal checksum is not checked at egress\;Reserved when Spectrum-1 and from Spectrum-6." access="RW" offset="0x8.22" size="0x0.1" />
	<field name="rx_icrc_generation_disable" descr="Disables internal checksum generation at ingress.\;0: Internal checksum is generated at ingress\;1: Internal checksum is not generated at ingress\;Reserved when Spectrum-1 and from Spectrum-6." access="RW" offset="0x8.23" size="0x0.1" />
	<field name="tx_fcs_recalc_disable" descr="Disables FCS (32 bits CRC) recalculation at egress.\;0: FCS is recalculated upon egress - default\;1: FCS is not recalculated upon egress - [Spectrum-6] set when PROFILE.e2e_time=GLOBALLY_DISABLED (from Spectrum-6 only).\;[Spectrum-6] In Spectrum-6, when FCS recalculation is disabled and timestamp insertion is enabled globally, timestamp is inserted over CRC.\;" access="RW" offset="0x8.30" size="0x0.1" />
	<field name="rx_fcs_check_disable" descr="Disables FCS (32 bits CRC) check at ingress.\;0: FCS is checked at ingress - default\;1: FCS is not checked at ingress - [Spectrum-6] set when PROFILE.e2e_time=GLOBALLY_DISABLED (from Spectrum-6 only)." access="RW" offset="0x8.31" size="0x0.1" />
</node>

<node name="pfldc_ext" descr="" size="0xc.0" >
	<field name="lane" descr="Logical lane number.\;\;Lane selection is relevant only if UPHY measurements are being conducted during debug mode entry.\;\;If uphy_measurement_admin == 0, then this field is ignored as all other actions are port specific, and not lane specific." access="INDEX" offset="0x0.0" size="0x0.4" />
	<field name="plane_ind" descr="Reserved for non-planarized port.\;Plane port index of the aggregated port. A value of 0 refers to the aggregated port only." access="INDEX" offset="0x0.8" size="0x0.4" />
	<field name="lp_msb" descr="Local port number [9:8]" access="INDEX" offset="0x0.12" size="0x0.2" />
	<field name="pnat" descr="Port number access type. determines the way local_port is interpreted:\;0: Local_port_number\;1: IB_port_number\;3: Out_of_band_or_PCI" access="INDEX" enum="Local_port_number=0x0,IB_port_number=0x1,Out_of_band_or_PCI=0x3" offset="0x0.14" size="0x0.2" />
	<field name="local_port" descr="Local port number." access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="mps" descr="[DWIP]\;Multiple Port Set.\;Supported only if indicated in PMSCR.prm_support of PFLDC support, otherwise ignored.\;When set, local_port index is ignored and set command is given to all ports in mask given from PMSCR.local_port_mask field" access="INDEX" offset="0x0.31" size="0x0.1" />
	<field name="debug_mode_oper" descr="Indicates if port is currently in debug mode.\;\;0: regular_operation - port is not in debug mode\;1: debug_mode" access="RO" enum="regular_operation=0x0,debug_mode=0x1" offset="0x4.0" size="0x0.1" />
	<field name="debug_mode_admin" descr="Sets the conditions to enter debug mode.\;Note: All unused bits are reserved\;\;Bit 0: force_debug_mode - Manually enter debug mode when set\;Bit 1: force_debug_mode_logic_up - Manually enter debug mode without dropping logic layer. Packets may still pass on the link, until port receives a link fault indication.\;Bit 2: arm_auto_debug_mode - Port will enter debug mode upon receiving a link fault indication. Valid until cleared\;Bit 3: arm_auto_debug_mode_once - Port will enter debug mode upon receiving a link fault indication. cleared after each debug mode entry (auto / manual)" access="RW" enum="force_debug_mode=0x1,force_debug_mode_logic_up=0x2,arm_auto_debug_mode=0x4,arm_auto_debug_mode_once=0x8" offset="0x4.8" size="0x0.8" />
	<field name="debug_mode_cap" descr="Indicates which debug mode entry conditions are supported.\;Note: All unused bits are reserved\;\;Bit 0: force_debug_mode\;Bit 1: force_debug_mode_logic_up\;Bit 2: auto_debug_mode - if set, port supports &quot;Bit 2: arm_auto_debug_mode&quot; &amp; &quot;Bit 3: arm_auto_debug_mode_once&quot; under debug_mode_admin field" access="RO" enum="force_debug_mode=0x1,force_debug_mode_logic_up=0x2,auto_debug_mode=0x4" offset="0x4.16" size="0x0.8" />
	<field name="disable_debug_mode_admin" descr="When set, port will disable debug mode, and resume regular port operations:\;1. If a link fault indication was raised, port will return to the configured default down state - Polling, Sleep or Disabled\;2. If no link fault indication was raised during debug mode, port will attempt a recovery flow in supported devices. If recovery is successful port will return to linkup, if not port will drop to default down state.  \;\;Note:\;When this field is set any other PFLDC configuration field is ignored.\;\;0: do_nothing\;1: disable_debug_mode" access="WO" enum="do_nothing=0x0,disable_debug_mode=0x1" offset="0x4.25" size="0x0.1" />
	<field name="change_recovery_flow_admin" descr="Valid only if debug mode auto entry has been configured by setting debug_mode_admin[2] or debug_mode_admin[3].\;\;Configures port recovery behavior when auto debug mode is set, and a link fault indication was raised.\;\;0: fw_default\;1: force_skip_recovery - port will not attempt recovery flow, and immediately enter debug mode\;2: force_recovery - if port supports recovery, it will attempt to conduct recovery flow prior to entering debug mode\;3: Reserved" access="RW" enum="fw_default=0x0,force_skip_recovery=0x1,force_recovery=0x2,Reserved=0x3" offset="0x4.26" size="0x0.2" />
	<field name="change_recovery_flow_cap" descr="Indicates if altering recovery default behavior when entering force linkup mode is supported.\;0: not_supported\;1: supported" access="RO" enum="not_supported=0x0,supported=0x1" offset="0x4.28" size="0x0.1" />
	<field name="all_ports_admin" descr="Set debug mode for all non-service ports in device\;0: single_port\;1: all_ports" access="RW" enum="single_port=0x0,all_ports=0x1" offset="0x4.29" size="0x0.1" />
	<field name="all_ports_cap" descr="Indicates if device supports capability to set debug mode on all non-service ports.\;0: not_supported\;1: supported" access="RO" enum="not_supported=0x0,supported=0x1" offset="0x4.30" size="0x0.1" />
	<field name="dc_cpl_allow" descr="Relevant only for DC couple ports, Ignored otherwise.\;Field must be set when entering force linkup debug mode, otherwise  command is ignored.\;When entering force linkup debug mode in DC couple system the following message must be presented to user:\;&quot;Warning: DC couple system must be powered on both sides of the physical link prior to enabling force linkup debug mode. System may be harmed and product lifetime may be  shortened if not ensured.&quot;" access="WO" offset="0x4.31" size="0x0.1" />
	<field name="debug_mode_timer_period" descr="Configures time period for port to remain in debug mode. Once period passes port will exit debug mode.\;\;Value is in units of 10 [sec]" access="RW" offset="0x8.0" size="0x0.16" />
	<field name="debug_mode_timer_admin" descr="Enables device to disable debug mode in port after pre-defined time period set in debug_mode_timer_period\;0: no_timer\;1: set_timer" access="RW" enum="no_timer=0x0,set_timer=0x1" offset="0x8.22" size="0x0.1" />
	<field name="debug_mode_timer_cap" descr="Indicates if device supports capability to disable debug mode after the configured time period has passed.\;0: not_supported\;1: supported" access="RO" enum="not_supported=0x0,supported=0x1" offset="0x8.24" size="0x0.1" />
	<field name="detect_markers_admin" descr="Valid only if transmit_detect_markers_cap Bit 1 is set.\;\;Allows manually configuring port behavior regarding alignment markers detection, while in debug mode.\;\;0: fw_default\;1: enable_markers_detection\;2: disable_markers_detection\;3: reserved" access="RW" enum="fw_default=0x0,enable_markers_detection=0x1,disable_markers_detection=0x2,reserved=0x3" offset="0x8.26" size="0x0.2" />
	<field name="transmit_markers_admin" descr="Valid only if transmit_detect_markers_cap Bit 0 is set.\;\;Allows manually configuring port behavior regarding alignment markers transmission, while in debug mode.\;\;0: fw_default\;1: enable_markers_transmission\;2: disable_markers_transmission\;3: reserved" access="RW" enum="fw_default=0x0,enable_markers_transmission=0x1,disable_markers_transmission=0x2,reserved=0x3" offset="0x8.28" size="0x0.2" />
	<field name="transmit_detect_markers_cap" descr="Indicates if port supports capability to manually override alignment markers transmission &amp; detection while in debug mode.\;Bit 0: transmit_markers_override_supported\;Bit 1: detect_markers_override_supported" access="RO" enum="transmit_markers_override_supported=0x1,detect_markers_override_supported=0x2" offset="0x8.30" size="0x0.2" />
</node>

<node name="pfsc_reg_ext" descr="" size="0x10.0" >
	<field name="lp_msb" descr="Local port[9:8]" access="INDEX" offset="0x0.12" size="0x0.2" />
	<field name="local_port" descr="Local port number." access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="fwd_admin" descr="Administratively configured of Forward switching for Egress:\;0: Allow cut-through forwarding\;1: Always Store and Forward" access="RW" offset="0x4.0" size="0x0.4" />
	<field name="fwd_oper" descr="Operational Egress Forward switching:\;0: Cut-Through forwarding operation is allowed\;1: Only Store and Forward operation" access="RO" offset="0x8.0" size="0x0.4" />
</node>

<node name="pgcb_ext" descr="" size="0x2a0.0" >
	<field name="cfg_buffer_num" descr="The configuration buffer index\;Valid values: 0..72" access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="first" descr="Set to indicate this is the first chunk of the buffer\;Reserved on query." access="OP" offset="0x0.29" size="0x0.1" />
	<field name="last" descr="Set to indicate this is the last chunk of the buffer.\;" access="RW" offset="0x0.30" size="0x0.1" />
	<field name="clr" descr="Set to clear the buffer and the ports mapping.\;All fields other than cfg_buf_num are reserved when this is set.\;This resets buffer_offset to 0.\;Reserved on query." access="OP" offset="0x0.31" size="0x0.1" />
	<field name="buffer_size" descr="Size of buffer data in units of bytes, MUST be in 4 bytes granularity, 0,4,8,12, etc...\;Maximum buffer size supported in FW is 1024B.\;On get, FW returns the number of valid bytes written to the buffer starting from buffer_offset." access="RW" offset="0x4.0" size="0x0.16" />
	<field name="version_major" descr="The buffer content major version.\;This will use to identify the content" access="RW" offset="0x4.16" size="0x0.16" />
	<field name="buffer_offset" descr="Offset to write the data to or read the data from.\;Units of bytes.\;Reserved on set, valid only on get opertation.\;" access="INDEX" offset="0x8.0" size="0x0.16" />
	<field name="version_minor" descr="The buffer content minor version." access="RW" offset="0x8.16" size="0x0.16" />
	<field name="ports_bitmap" descr="ports mask indicating on which ports the configuration buffer should be sent to the peer GPU\;Valid on when first=1, reserved otherwise." access="RW" high_bound="31" low_bound="0" offset="0x20.0" size="0x80.0" />
	<field name="buffer" descr="The configuration buffer data.\;" access="RW" high_bound="127" low_bound="0" offset="0xA0.0" size="0x200.0" />
</node>

<node name="pgcr_ext" descr="" size="0x20.0" >
	<field name="pbs_table_size" descr="Number of PBS entries. This is a settable capability.\;Reserved for Spectrum family.\;" access="RW" offset="0x0.0" size="0x0.16" />
	<field name="update_prune" descr="Update atcam_ignore_prune_vector only\;0: update all fields including atcam_ignore_prune_vector\;1: update only atcam_ignore_prune_vector\;Reserved when Spectrum-1" access="OP" offset="0x0.31" size="0x0.1" />
	<field name="max_iacl" descr="Max Ingress ACL\;Maximum number of Ingress ACLs\;Reserved for Spectrum family." access="RO" offset="0x8.0" size="0x0.16" />
	<field name="max_eacl" descr="Max Egress ACL\;Maximum number of Egress ACLs\;Reserved for Spectrum family." access="RO" offset="0x8.16" size="0x0.16" />
	<field name="atcam_ignore_prune_vector" descr="When atcam_ignore_prune is set for a region, then the ignore is for ERP IDs according to this vector\;Each bit is per ERP ID\;0: do not ignore erp prune\;1: ignore erp prune\;\;Reserved when Spectrum-1\;" access="RW" offset="0x14.0" size="0x0.16" />
	<field name="default_action_pointer_base" descr="Default action pointer base\;Each region has a default action pointer which is equal to:\;default_action_pointer_base + region_id\;For Spectrum-2 pointer to policy engine actions array which is in the KVH Linear.\;Notes: \;1. may be changed on the fly, need fence to release old action entries\;2. pointer either to full action-set or to partial pointer 0\;3. when a multi-ACL the first region_id is used for all regions of the multi-ACL\;4. User must not set actions in the range of (default_action_pointer_base+cap_max_regions) ... (default_action_pointer_base+cap_max_default_actions-1)" access="RW" offset="0x1C.0" size="0x0.24" />
</node>

<node name="pgmr_ext" descr="" size="0x2c.0" >
	<field name="pg_sel" descr="Selection between an operation on a local port or a group, for &apos;set&apos; and &apos;get&apos; operations. \;0 - local port (group field is neglected even if set)\;1 - group (local_port field is neglected even if set)" access="OP" offset="0x0.0" size="0x0.1" />
	<field name="port_type" descr="For HCA supported only when indicated by PCAM \;0 - Network Port\;1 - Near-End Port (For Retimer/Gearbox - Host side)\;2 - Internal IC LR Port \;3 - Far-End Port (For Retimer/Gearbox - Line side)\;Other values are reserved." access="INDEX" offset="0x0.4" size="0x0.4" />
	<field name="group" descr="Group number" access="INDEX" offset="0x0.8" size="0x0.4" />
	<field name="lp_msb" descr="Local port number [9:8]" access="INDEX" offset="0x0.12" size="0x0.2" />
	<field name="pnat" descr="Port number access type. Determines the way local_port is interpreted:\;0 - Local port number\;1 - IB port number\;3 - Out of band / PCI" access="INDEX" offset="0x0.14" size="0x0.2" />
	<field name="local_port" descr="Local port number" access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="version" descr="0 - 16nm products" access="RO" offset="0x0.24" size="0x0.4" />
	<field name="status" descr="0 - Invalid\;1 - Valid" access="RO" offset="0x0.28" size="0x0.4" />
	<field name="group_of_port" descr="The corresponding group number for thelocal_port" access="RW" offset="0x4.4" size="0x0.4" />
	<field name="plane_ind" descr="Reserved for non-planarized port.\;Plane port index of the aggregated port. A value of 0 refers to the aggregated port only." access="INDEX" offset="0x4.8" size="0x0.4" />
	<field name="ports_mapping_of_group" descr="A bit map of all available local ports in the system (each bit represents a local port). \;The corresponding bits which represent the local ports for the specific group in the group field, are set to &apos;1&apos;.\;If set to &apos;0&apos; - not in that specific group or not available.\;Bit 0 - local_port 1\;Bit 1 - local_port 2\;..." access="RW" high_bound="8" low_bound="0" offset="0x8.0" size="0x24.0" />
</node>

<node name="pgrrs_ext" descr="" size="0x90.0" >
	<field name="lp_msb" descr="Local port number MSB.\;" access="INDEX" offset="0x0.12" size="0x0.2" />
	<field name="local_port" descr="Local port number.\;" access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="nldf_status" descr="0: success\;1: failed" access="RO" offset="0x0.29" size="0x0.3" />
	<field name="peer_local_port" descr="Peer GPU local port number.\;" access="RO" offset="0x4.16" size="0x0.8" />
	<field name="reg_status_entry" descr="See Table 2544, &quot;Register Return Status Layout Layout&quot;" subnode="reg_return_status_ext" access="RO" high_bound="31" low_bound="0" offset="0x10.0" size="0x80.0" />
</node>

<node name="pguid_reg_ext" descr="" size="0x60.0" >
	<field name="lp_msb" descr="Local port number [9:8]" access="INDEX" offset="0x0.12" size="0x0.2" />
	<field name="pnat" descr="Port number access type. determines the way local_port is interpreted:\;0 - Local port number\;1 - IB port number" access="INDEX" offset="0x0.14" size="0x0.2" />
	<field name="local_port" descr="local_port number" access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="sys_guid" descr="System GUID.\;Only 64 LSB are used. 64 MSB are reserved." access="RO" high_bound="3" low_bound="0" offset="0x4.0" size="0x10.0" />
	<field name="node_guid" descr="Node GUID.\;Only 64 LSB are used. 64 MSB are reserved." access="RO" high_bound="3" low_bound="0" offset="0x14.0" size="0x10.0" />
	<field name="port_guid" descr="Port GUID.\;Only 64 LSB are used. 64 MSB are reserved." access="RO" high_bound="3" low_bound="0" offset="0x24.0" size="0x10.0" />
	<field name="allocated_guid" descr="Allocated GUID.\;Only 64 LSB are used. 64 MSB are reserved." access="RO" high_bound="3" low_bound="0" offset="0x34.0" size="0x10.0" />
</node>

<node name="phbr_ext" descr="" size="0x1c.0" >
	<field name="lp_msb" descr="Local port[9:8]" access="INDEX" offset="0x0.12" size="0x0.2" />
	<field name="local_port" descr="local_port" access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="hist_id" descr="Histogram id to bind\;from 0 to cap_max_port_hist_id - 1" access="INDEX" offset="0x4.0" size="0x0.8" />
	<field name="hist_type" descr="Histogram Type.\;See Table 2481, &quot;Histogram Types,&quot; on page 3182" access="RW" offset="0x8.0" size="0x0.16" />
	<field name="mode" descr="Mode:\;0: Linear\;1: Exponential" access="RW" enum="Linear=0x0,Exponential=0x1" offset="0x8.28" size="0x0.3" />
	<field name="first_bin_thr" descr="First Bin Threshold.\;All values that are under this threshold will be counted in the first bin.\;Units according to the units of the hist_type.\;Range 1...(2^28) - 1" access="RW" offset="0xC.0" size="0x4.0" />
	<field name="bin_size" descr="Bin Size.\;bin_0 size will be first_bin_thr.\;If mode = 0, the size of bin 1-8 will be bin_size.\;If mode = 1, the size of bin_i will be 2^(i-1) * bin_size when 1 &lt; i &lt; 8.\;Range 1...(2^25) - 1\;Units according to the units of the hist_type" access="RW" offset="0x10.0" size="0x4.0" />
	<field name="hist_repeat_num" descr="Histogram Repeat Number.\;When this field equal to 0 the histogram will stop.\;When this field equal to 0xffffff the histogram will run infinite times.\;On other values the histogram will run hist_repeat_num times.\;Range 1...2^24 - 1" access="RW" offset="0x14.0" size="0x0.24" />
	<field name="sample_time" descr="Sample time interval. \;Allowed range for Spectrum:\;time = 2^sample_time * 128nSec\;sample_time range is 0..cap_max_sample_time-1" access="RW" offset="0x18.0" size="0x0.6" />
</node>

<node name="phbr_for_port_tclass_reg_ext" descr="" size="0x4.0" >
	<field name="tclass" descr="Traffic Class\;Range: 0..cap_max_tclass-1" access="RW" offset="0x0.0" size="0x0.8" />
</node>

<node name="phrr_reg_ext" descr="" size="0x68.0" >
	<field name="lp_msb" descr="Local port[9:8]" access="INDEX" offset="0x0.12" size="0x0.2" />
	<field name="local_port" descr="local_port" access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="clr" descr="Clear:\;1: Clear the data in the histogram agent" access="RW" offset="0x0.31" size="0x0.1" />
	<field name="hist_id" descr="see Table  2479, &quot;PHBR - Port Histogram Binding Register Layout,&quot; on page  3180" access="INDEX" offset="0x4.0" size="0x0.8" />
	<field name="bin" descr="Value of bin \;Units according to the units of the hist_type which is used for the hist_id" subnode="uint64" access="RO" high_bound="9" low_bound="0" offset="0x10.0" size="0x50.0" />
	<field name="min_watermark" descr="Min value while the histogram was working." access="RO" offset="0x60.0" size="0x4.0" />
	<field name="max_watermark" descr="Max value while the histogram was working." access="RO" offset="0x64.0" size="0x4.0" />
</node>

<node name="phys_layer_cntrs_ext" descr="" size="0xf8.0" >
	<field name="time_since_last_clear_high" descr="The time passed since the last counters clear event in msec." access="RO" offset="0x0.0" size="0x4.0" />
	<field name="time_since_last_clear_low" descr="The time passed since the last counters clear event in msec." access="RO" offset="0x4.0" size="0x4.0" />
	<field name="symbol_errors_high" descr="Perf.PortCounters(SymbolErrorCounter) = Perf.PortCounters(UnknownSymbol)" access="RO" offset="0x8.0" size="0x4.0" />
	<field name="symbol_errors_low" descr="Perf.PortCounters(SymbolErrorCounter) = Perf.PortCounters(UnknownSymbol)" access="RO" offset="0xC.0" size="0x4.0" />
	<field name="sync_headers_errors_high" descr="Perf.PortExtendedSpeedsCounters(SynchHeaderErrorCounter)" access="RO" offset="0x10.0" size="0x4.0" />
	<field name="sync_headers_errors_low" descr="Perf.PortExtendedSpeedsCounters(SynchHeaderErrorCounter)" access="RO" offset="0x14.0" size="0x4.0" />
	<field name="edpl_bip_errors_lane0_high" descr="Perf.PortExtendedSpeedsCounters(ErrorDetectionPerLane0Counter) / BIP error counter, lane 0\;In PRBS test mode, indicates the number of PRBS errors\;on lane 0" access="RO" offset="0x18.0" size="0x4.0" />
	<field name="edpl_bip_errors_lane0_low" descr="Perf.PortExtendedSpeedsCounters(ErrorDetectionPerLane0Counter) / BIP error counter, lane 0\;In PRBS test mode, indicates the number of PRBS errors\;on lane 0" access="RO" offset="0x1C.0" size="0x4.0" />
	<field name="edpl_bip_errors_lane1_high" descr="Perf.PortExtendedSpeedsCounters(ErrorDetectionPerLane1Counter) / BIP error counter, lane 1\;In PRBS test mode, indicates the number of PRBS errors\;on lane 1" access="RO" offset="0x20.0" size="0x4.0" />
	<field name="edpl_bip_errors_lane1_low" descr="Perf.PortExtendedSpeedsCounters(ErrorDetectionPerLane1Counter) / BIP error counter, lane 1\;In PRBS test mode, indicates the number of PRBS errors\;on lane 1" access="RO" offset="0x24.0" size="0x4.0" />
	<field name="edpl_bip_errors_lane2_high" descr="Perf.PortExtendedSpeedsCounters(ErrorDetectionPerLane2Counter) / BIP error counter, lane 2\;In PRBS test mode, indicates the number of PRBS errors\;on lane 2" access="RO" offset="0x28.0" size="0x4.0" />
	<field name="edpl_bip_errors_lane2_low" descr="Perf.PortExtendedSpeedsCounters(ErrorDetectionPerLane2Counter) / BIP error counter, lane 2\;In PRBS test mode, indicates the number of PRBS errors\;on lane 2" access="RO" offset="0x2C.0" size="0x4.0" />
	<field name="edpl_bip_errors_lane3_high" descr="Perf.PortExtendedSpeedsCounters(ErrorDetectionPerLane3Counter) / BIP error counter, lane 3\;In PRBS test mode, indicates the number of PRBS errors\;on lane 3" access="RO" offset="0x30.0" size="0x4.0" />
	<field name="edpl_bip_errors_lane3_low" descr="Perf.PortExtendedSpeedsCounters(ErrorDetectionPerLane3Counter) / BIP error counter, lane 3\;In PRBS test mode, indicates the number of PRBS errors\;on lane 3" access="RO" offset="0x34.0" size="0x4.0" />
	<field name="fc_fec_corrected_blocks_lane0_high" descr="Perf.PortExtendedSpeedsCounters(FECCorrectableBlockCounterLane0)" access="RO" offset="0x38.0" size="0x4.0" />
	<field name="fc_fec_corrected_blocks_lane0_low" descr="Perf.PortExtendedSpeedsCounters(FECCorrectableBlockCounterLane0)" access="RO" offset="0x3C.0" size="0x4.0" />
	<field name="fc_fec_corrected_blocks_lane1_high" descr="Perf.PortExtendedSpeedsCounters(FECCorrectableBlockCounterLane1)" access="RO" offset="0x40.0" size="0x4.0" />
	<field name="fc_fec_corrected_blocks_lane1_low" descr="Perf.PortExtendedSpeedsCounters(FECCorrectableBlockCounterLane1)" access="RO" offset="0x44.0" size="0x4.0" />
	<field name="fc_fec_corrected_blocks_lane2_high" descr="Perf.PortExtendedSpeedsCounters(FECCorrectableBlockCounterLane2)" access="RO" offset="0x48.0" size="0x4.0" />
	<field name="fc_fec_corrected_blocks_lane2_low" descr="Perf.PortExtendedSpeedsCounters(FECCorrectableBlockCounterLane2)" access="RO" offset="0x4C.0" size="0x4.0" />
	<field name="fc_fec_corrected_blocks_lane3_high" descr="Perf.PortExtendedSpeedsCounters(FECCorrectableBlockCounterLane3)" access="RO" offset="0x50.0" size="0x4.0" />
	<field name="fc_fec_corrected_blocks_lane3_low" descr="Perf.PortExtendedSpeedsCounters(FECCorrectableBlockCounterLane3)" access="RO" offset="0x54.0" size="0x4.0" />
	<field name="fc_fec_uncorrectable_blocks_lane0_high" descr="Perf.PortExtendedSpeedsCounters(FECCorrectableBlockCounterLane0)" access="RO" offset="0x58.0" size="0x4.0" />
	<field name="fc_fec_uncorrectable_blocks_lane0_low" descr="Perf.PortExtendedSpeedsCounters(FECCorrectableBlockCounterLane0)" access="RO" offset="0x5C.0" size="0x4.0" />
	<field name="fc_fec_uncorrectable_blocks_lane1_high" descr="Perf.PortExtendedSpeedsCounters(FECCorrectableBlockCounterLane1)" access="RO" offset="0x60.0" size="0x4.0" />
	<field name="fc_fec_uncorrectable_blocks_lane1_low" descr="Perf.PortExtendedSpeedsCounters(FECCorrectableBlockCounterLane1)" access="RO" offset="0x64.0" size="0x4.0" />
	<field name="fc_fec_uncorrectable_blocks_lane2_high" descr="Perf.PortExtendedSpeedsCounters(FECCorrectableBlockCounterLane2)" access="RO" offset="0x68.0" size="0x4.0" />
	<field name="fc_fec_uncorrectable_blocks_lane2_low" descr="Perf.PortExtendedSpeedsCounters(FECCorrectableBlockCounterLane2)" access="RO" offset="0x6C.0" size="0x4.0" />
	<field name="fc_fec_uncorrectable_blocks_lane3_high" descr="Perf.PortExtendedSpeedsCounters(FECCorrectableBlockCounterLane3)" access="RO" offset="0x70.0" size="0x4.0" />
	<field name="fc_fec_uncorrectable_blocks_lane3_low" descr="Perf.PortExtendedSpeedsCounters(FECCorrectableBlockCounterLane3)" access="RO" offset="0x74.0" size="0x4.0" />
	<field name="rs_fec_corrected_blocks_high" descr="Perf.PortExtendedSpeedsCounters(FECCorrecableBlockCounter)" access="RO" offset="0x78.0" size="0x4.0" />
	<field name="rs_fec_corrected_blocks_low" descr="Perf.PortExtendedSpeedsCounters(FECCorrecableBlockCounter)" access="RO" offset="0x7C.0" size="0x4.0" />
	<field name="rs_fec_uncorrectable_blocks_high" descr="Perf.PortExtendedSpeedsCounters(FEUncorrecableBlockCounter)" access="RO" offset="0x80.0" size="0x4.0" />
	<field name="rs_fec_uncorrectable_blocks_low" descr="Perf.PortExtendedSpeedsCounters(FEUncorrecableBlockCounter)" access="RO" offset="0x84.0" size="0x4.0" />
	<field name="rs_fec_no_errors_blocks_high" descr="The number of RS-FEC blocks received that had no errors.\;Note: Total rs_fec blocks received = rs_fec_corrected_blocks + rs_fec_uncorrectable_blocks + rs_fec_no_errors_blocks" access="RO" offset="0x88.0" size="0x4.0" />
	<field name="rs_fec_no_errors_blocks_low" descr="The number of RS-FEC blocks received that had no errors.\;Note: Total rs_fec blocks received = rs_fec_corrected_blocks + rs_fec_uncorrectable_blocks + rs_fec_no_errors_blocks" access="RO" offset="0x8C.0" size="0x4.0" />
	<field name="rs_fec_corrected_symbols_total_high" descr="Perf.PortExtendedSpeedCounters(PortFECCorrectedSymbolCounter)" access="RO" offset="0x98.0" size="0x4.0" />
	<field name="rs_fec_corrected_symbols_total_low" descr="Perf.PortExtendedSpeedCounters(PortFECCorrectedSymbolCounter)" access="RO" offset="0x9C.0" size="0x4.0" />
	<field name="rs_fec_corrected_symbols_lane0_high" descr="Perf.PortExtendedSpeedCounters(FECCorrectedSymbolCounterLane0)" access="RO" offset="0xA0.0" size="0x4.0" />
	<field name="rs_fec_corrected_symbols_lane0_low" descr="Perf.PortExtendedSpeedCounters(FECCorrectedSymbolCounterLane0)" access="RO" offset="0xA4.0" size="0x4.0" />
	<field name="rs_fec_corrected_symbols_lane1_high" descr="Perf.PortExtendedSpeedCounters(FECCorrectedSymbolCounterLane1)" access="RO" offset="0xA8.0" size="0x4.0" />
	<field name="rs_fec_corrected_symbols_lane1_low" descr="Perf.PortExtendedSpeedCounters(FECCorrectedSymbolCounterLane1)" access="RO" offset="0xAC.0" size="0x4.0" />
	<field name="rs_fec_corrected_symbols_lane2_high" descr="Perf.PortExtendedSpeedCounters(FECCorrectedSymbolCounterLane2)" access="RO" offset="0xB0.0" size="0x4.0" />
	<field name="rs_fec_corrected_symbols_lane2_low" descr="Perf.PortExtendedSpeedCounters(FECCorrectedSymbolCounterLane2)" access="RO" offset="0xB4.0" size="0x4.0" />
	<field name="rs_fec_corrected_symbols_lane3_high" descr="Perf.PortExtendedSpeedCounters(FECCorrectedSymbolCounterLane3)" access="RO" offset="0xB8.0" size="0x4.0" />
	<field name="rs_fec_corrected_symbols_lane3_low" descr="Perf.PortExtendedSpeedCounters(FECCorrectedSymbolCounterLane3)" access="RO" offset="0xBC.0" size="0x4.0" />
	<field name="link_down_events" descr="Counts local unintentional drops (no remote consideration)\;\;Perf.PortCounters(LinkDownedCounter)" access="RO" offset="0xC0.0" size="0x4.0" />
	<field name="successful_recovery_events" descr="\;Counts successful recovery events per active link. clears on new link up" access="RO" offset="0xC4.0" size="0x4.0" />
	<field name="rs_fec_corrected_symbols_lane4_high" descr="Perf.PortExtendedSpeedCounters(FECCorrectedSymbolCounterLane4)" access="RO" offset="0xC8.0" size="0x4.0" />
	<field name="rs_fec_corrected_symbols_lane4_low" descr="Perf.PortExtendedSpeedCounters(FECCorrectedSymbolCounterLane4)" access="RO" offset="0xCC.0" size="0x4.0" />
	<field name="rs_fec_corrected_symbols_lane5_high" descr="Perf.PortExtendedSpeedCounters(FECCorrectedSymbolCounterLane5)" access="RO" offset="0xD0.0" size="0x4.0" />
	<field name="rs_fec_corrected_symbols_lane5_low" descr="Perf.PortExtendedSpeedCounters(FECCorrectedSymbolCounterLane5)" access="RO" offset="0xD4.0" size="0x4.0" />
	<field name="rs_fec_corrected_symbols_lane6_high" descr="Perf.PortExtendedSpeedCounters(FECCorrectedSymbolCounterLane6)" access="RO" offset="0xD8.0" size="0x4.0" />
	<field name="rs_fec_corrected_symbols_lane6_low" descr="Perf.PortExtendedSpeedCounters(FECCorrectedSymbolCounterLane6)" access="RO" offset="0xDC.0" size="0x4.0" />
	<field name="rs_fec_corrected_symbols_lane7_high" descr="Perf.PortExtendedSpeedCounters(FECCorrectedSymbolCounterLane7)" access="RO" offset="0xE0.0" size="0x4.0" />
	<field name="rs_fec_corrected_symbols_lane7_low" descr="Perf.PortExtendedSpeedCounters(FECCorrectedSymbolCounterLane7)" access="RO" offset="0xE4.0" size="0x4.0" />
	<field name="unintentional_link_down_events" descr="Counts Local &amp; remote unintentional drops (remote intentional are not counted)\;Updated on link drop only" access="RO" offset="0xF0.0" size="0x4.0" />
	<field name="intentional_link_down_events" descr="Counts Local &amp; remote intentional drops (remote intentional counted)\;Updated on link drop only" access="RO" offset="0xF4.0" size="0x4.0" />
</node>

<node name="phys_layer_stat_cntrs_ext" descr="" size="0xf8.0" >
	<field name="time_since_last_clear_high" descr="The time passed since the last counters clear event in msec.\;" access="RO" offset="0x0.0" size="0x4.0" />
	<field name="time_since_last_clear_low" descr="The time passed since the last counters clear event in msec.\;" access="RO" offset="0x4.0" size="0x4.0" />
	<field name="phy_received_bits_high" descr="This counter provides information on the total \;amount of bits received by the PHY FEC decoder.\;" access="RO" offset="0x8.0" size="0x4.0" />
	<field name="phy_received_bits_low" descr="This counter provides information on the total \;amount of bits received by the PHY FEC decoder.\;" access="RO" offset="0xC.0" size="0x4.0" />
	<field name="phy_symbol_errors_high" descr="This counter provides information on error bits that were not corrected by phy correction mechanisms. (FEC + PLR)\;" access="RO" offset="0x10.0" size="0x4.0" />
	<field name="phy_symbol_errors_low" descr="This counter provides information on error bits that were not corrected by phy correction mechanisms. (FEC + PLR)\;" access="RO" offset="0x14.0" size="0x4.0" />
	<field name="phy_corrected_bits_high" descr="Corrected bits by FEC engine. \;" access="RO" offset="0x18.0" size="0x4.0" />
	<field name="phy_corrected_bits_low" descr="Corrected bits by FEC engine. \;" access="RO" offset="0x1C.0" size="0x4.0" />
	<field name="phy_raw_errors_lane0_high" descr="This counter provides information on error bits that were identified on lane 0. \;When FEC is enabled this induction corresponds to corrected errors.\;In PRBS test mode, indicates the number of PRBS errors\;on lane 0\;\;\;" access="RO" offset="0x20.0" size="0x4.0" />
	<field name="phy_raw_errors_lane0_low" descr="This counter provides information on error bits that were identified on lane 0. \;When FEC is enabled this induction corresponds to corrected errors.\;In PRBS test mode, indicates the number of PRBS errors\;on lane 0\;\;\;" access="RO" offset="0x24.0" size="0x4.0" />
	<field name="phy_raw_errors_lane1_high" descr="This counter provides information on error bits that were identified on lane 1. \;When FEC is enabled this induction corresponds to corrected errors\;In PRBS test mode, indicates the number of PRBS errors\;on lane 1\;\;" access="RO" offset="0x28.0" size="0x4.0" />
	<field name="phy_raw_errors_lane1_low" descr="This counter provides information on error bits that were identified on lane 1. \;When FEC is enabled this induction corresponds to corrected errors\;In PRBS test mode, indicates the number of PRBS errors\;on lane 1\;\;" access="RO" offset="0x2C.0" size="0x4.0" />
	<field name="phy_raw_errors_lane2_high" descr="This counter provides information on error bits that were identified on lane 2. \;When FEC is enabled this induction corresponds to corrected errors.\;In PRBS test mode, indicates the number of PRBS errors\;on lane 2\;" access="RO" offset="0x30.0" size="0x4.0" />
	<field name="phy_raw_errors_lane2_low" descr="This counter provides information on error bits that were identified on lane 2. \;When FEC is enabled this induction corresponds to corrected errors.\;In PRBS test mode, indicates the number of PRBS errors\;on lane 2\;" access="RO" offset="0x34.0" size="0x4.0" />
	<field name="phy_raw_errors_lane3_high" descr="This counter provides information on error bits that were identified on lane 3. \;When FEC is enabled this induction corresponds to corrected errors.\;In PRBS test mode, indicates the number of PRBS errors\;on lane 3\;" access="RO" offset="0x38.0" size="0x4.0" />
	<field name="phy_raw_errors_lane3_low" descr="This counter provides information on error bits that were identified on lane 3. \;When FEC is enabled this induction corresponds to corrected errors.\;In PRBS test mode, indicates the number of PRBS errors\;on lane 3\;" access="RO" offset="0x3C.0" size="0x4.0" />
	<field name="phy_raw_errors_lane4_high" descr="This counter provides information on error bits that were identified on lane 4. \;When FEC is enabled this induction corresponds to corrected errors.\;In PRBS test mode, indicates the number of PRBS errors\;on lane 4\;" access="RO" offset="0x40.0" size="0x4.0" />
	<field name="phy_raw_errors_lane4_low" descr="This counter provides information on error bits that were identified on lane 4. \;When FEC is enabled this induction corresponds to corrected errors.\;In PRBS test mode, indicates the number of PRBS errors\;on lane 4\;" access="RO" offset="0x44.0" size="0x4.0" />
	<field name="phy_raw_errors_lane5_high" descr="This counter provides information on error bits that were identified on lane 5. \;When FEC is enabled this induction corresponds to corrected errors\;In PRBS test mode, indicates the number of PRBS errors\;on lane 5\;" access="RO" offset="0x48.0" size="0x4.0" />
	<field name="phy_raw_errors_lane5_low" descr="This counter provides information on error bits that were identified on lane 5. \;When FEC is enabled this induction corresponds to corrected errors\;In PRBS test mode, indicates the number of PRBS errors\;on lane 5\;" access="RO" offset="0x4C.0" size="0x4.0" />
	<field name="phy_raw_errors_lane6_high" descr="This counter provides information on error bits that were identified on lane 6. \;When FEC is enabled this induction corresponds to corrected errors.\;In PRBS test mode, indicates the number of PRBS errors\;on lane 6" access="RO" offset="0x50.0" size="0x4.0" />
	<field name="phy_raw_errors_lane6_low" descr="This counter provides information on error bits that were identified on lane 6. \;When FEC is enabled this induction corresponds to corrected errors.\;In PRBS test mode, indicates the number of PRBS errors\;on lane 6" access="RO" offset="0x54.0" size="0x4.0" />
	<field name="phy_raw_errors_lane7_high" descr="This counter provides information on error bits that were identified on lane 7. \;When FEC is enabled this induction corresponds to corrected errors.\;In PRBS test mode, indicates the number of PRBS errors\;on lane 7" access="RO" offset="0x58.0" size="0x4.0" />
	<field name="phy_raw_errors_lane7_low" descr="This counter provides information on error bits that were identified on lane 7. \;When FEC is enabled this induction corresponds to corrected errors.\;In PRBS test mode, indicates the number of PRBS errors\;on lane 7" access="RO" offset="0x5C.0" size="0x4.0" />
	<field name="raw_ber_coef" descr="Raw_BER = raw_ber_coef  *10^(-raw_ber_magnitude)\;" access="RO" offset="0x60.0" size="0x0.4" />
	<field name="raw_ber_magnitude" descr="Raw_BER = raw_ber_coef  *10^(-raw_ber_magnitude)\;" access="RO" offset="0x60.8" size="0x0.8" />
	<field name="fc_zero_hist" descr="Valid for links with RS FEC histograms only.\;First histogram error with value of 0 while all higher errors are only with 0 value as well.\;0 - No histogram active / N/A value" access="RO" offset="0x60.16" size="0x0.10" />
	<field name="effective_ber_coef" descr="effective_fec_BER = effective_fec_ber_coef *10^(-effective_fec_ber_magnitude)\;" access="RO" offset="0x64.0" size="0x0.4" />
	<field name="effective_ber_magnitude" descr="effective_fec_BER = effective_fec_ber_coef *10^(-effective_fec_ber_magnitude)\;" access="RO" offset="0x64.8" size="0x0.8" />
	<field name="estimated_effective_ber_coef" descr="Supported if PCAM.feature_cap_mask bit 105 set\;estimated_effective_fec_BER = estimated_effective_fec_ber_coef estimated_effective_ber_coef_float*10^(-effective_fec_ber_magnitude)\;" access="RO" offset="0x64.16" size="0x0.4" />
	<field name="estimated_effective_ber_coef_float" descr="Supported if PCAM.feature_cap_mask bit 105 set\;estimated_effective_fec_BER = estimated_effective_fec_ber_coef estimated_effective_ber_coef_float*10^(-effective_fec_ber_magnitude)\;" access="RO" offset="0x64.20" size="0x0.4" />
	<field name="estimated_effective_ber_magnitude" descr="Supported if PCAM.feature_cap_mask bit 105 set\;estimated_effective_fec_BER = estimated_effective_fec_ber_coef estimated_effective_ber_coef_float*10^(-effective_fec_ber_magnitude)\;" access="RO" offset="0x64.24" size="0x0.8" />
	<field name="symbol_ber_coef" descr="Symbol_BER = symbol_ber_coef*10^(-symbol_ber_magnitude)" access="RO" offset="0x68.0" size="0x0.4" />
	<field name="symbol_ber_magnitude" descr="Symbol_BER = symbol_ber_coef*10^(-symbol_ber_magnitude)" access="RO" offset="0x68.8" size="0x0.8" />
	<field name="ucr_ber_coef" descr="Supported if PCAM.feature_cap_mask bit 106 set\;ucr_fec_BER = ucr_fec_ber_coef ucr_ber_coef_float*10^(-ucr_ber_magnitude)\;" access="RO" offset="0x68.16" size="0x0.4" />
	<field name="ucr_ber_coef_float" descr="Supported if PCAM.feature_cap_mask bit 106 set\;ucr_fec_BER = ucr_fec_ber_coef ucr_ber_coef_float*10^(-ucr_ber_magnitude)\;" access="RO" offset="0x68.20" size="0x0.4" />
	<field name="ucr_ber_magnitude" descr="Supported if PCAM.feature_cap_mask bit 106 set\;ucr_fec_BER = ucr_fec_ber_coef ucr_ber_coef_float*10^(-ucr_ber_magnitude)\;" access="RO" offset="0x68.24" size="0x0.8" />
	<field name="raw_ber_coef_lane1" descr="Raw_BER_lan0 = raw_ber_coef_lane1*10^(-raw_ber_magnitude_lane1)" access="RO" offset="0x6C.0" size="0x0.4" />
	<field name="raw_ber_magnitude_lane1" descr="Raw_BER_lan0 = raw_ber_coef_lane1*10^(-raw_ber_magnitude_lane1)" access="RO" offset="0x6C.8" size="0x0.8" />
	<field name="raw_ber_coef_lane0" descr="Raw_BER_lan0 = raw_ber_coef_lane0*10^(-raw_ber_magnitude_lane0)" access="RO" offset="0x6C.16" size="0x0.4" />
	<field name="raw_ber_magnitude_lane0" descr="Raw_BER_lan0 = raw_ber_coef_lane0*10^(-raw_ber_magnitude_lane0)" access="RO" offset="0x6C.24" size="0x0.8" />
	<field name="raw_ber_coef_lane3" descr="Raw_BER_lan0 = raw_ber_coef_lane3*10^(-raw_ber_magnitude_lane3)" access="RO" offset="0x70.0" size="0x0.4" />
	<field name="raw_ber_magnitude_lane3" descr="Raw_BER_lan0 = raw_ber_coef_lane3*10^(-raw_ber_magnitude_lane3)" access="RO" offset="0x70.8" size="0x0.8" />
	<field name="raw_ber_coef_lane2" descr="Raw_BER_lan0 = raw_ber_coef_lane2*10^(-raw_ber_magnitude_lane2)" access="RO" offset="0x70.16" size="0x0.4" />
	<field name="raw_ber_magnitude_lane2" descr="Raw_BER_lan0 = raw_ber_coef_lane2*10^(-raw_ber_magnitude_lane2)" access="RO" offset="0x70.24" size="0x0.8" />
	<field name="raw_ber_coef_lane5" descr="Raw_BER_lan0 = raw_ber_coef_lane5*10^(-raw_ber_magnitude_lane5)" access="RO" offset="0x74.0" size="0x0.4" />
	<field name="raw_ber_magnitude_lane5" descr="Raw_BER_lan0 = raw_ber_coef_lane5*10^(-raw_ber_magnitude_lane5)" access="RO" offset="0x74.8" size="0x0.8" />
	<field name="raw_ber_coef_lane4" descr="Raw_BER_lan0 = raw_ber_coef_lane4*10^(-raw_ber_magnitude_lane4)" access="RO" offset="0x74.16" size="0x0.4" />
	<field name="raw_ber_magnitude_lane4" descr="Raw_BER_lan0 = raw_ber_coef_lane4*10^(-raw_ber_magnitude_lane4)" access="RO" offset="0x74.24" size="0x0.8" />
	<field name="raw_ber_coef_lane7" descr="Raw_BER_lan0 = raw_ber_coef_lane7*10^(-raw_ber_magnitude_lane7)" access="RO" offset="0x78.0" size="0x0.4" />
	<field name="raw_ber_magnitude_lane7" descr="Raw_BER_lan0 = raw_ber_coef_lane7*10^(-raw_ber_magnitude_lane7)" access="RO" offset="0x78.8" size="0x0.8" />
	<field name="raw_ber_coef_lane6" descr="Raw_BER_lan0 = raw_ber_coef_lane6*10^(-raw_ber_magnitude_lane6)" access="RO" offset="0x78.16" size="0x0.4" />
	<field name="raw_ber_magnitude_lane6" descr="Raw_BER_lan0 = raw_ber_coef_lane6*10^(-raw_ber_magnitude_lane6)" access="RO" offset="0x78.24" size="0x0.8" />
	<field name="phy_effective_errors_high" descr="This counter provides information on error bits that were not corrected by FEC correction algorithm or that FEC is not active.\;" access="RO" offset="0x7C.0" size="0x4.0" />
	<field name="phy_effective_errors_low" descr="This counter provides information on error bits that were not corrected by FEC correction algorithm or that FEC is not active.\;" access="RO" offset="0x80.0" size="0x4.0" />
</node>

<node name="pifr_reg_ext" descr="" size="0x60.0" >
	<field name="lp_msb" descr="Local port[9:8]" access="INDEX" offset="0x0.12" size="0x0.2" />
	<field name="local_port" descr="Egress Local port number.\;Note: Port isolation is not supported to \ from port 0 (i.e CPU port)." access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="table_id" descr="Table ID:\;0: GLOBAL table. Note that IGCR.pisbo affects the behavior of this table\;1: BRIDGE_ONLY table\;Supported only from spectrum-3" access="INDEX" offset="0x0.28" size="0x0.4" />
	<field name="port_filter" descr="Ingress Port filter bitmask\;0: Do not filter (default value for all local_port).\;1: Filter - Packets coming from port_filter&lt;i&gt; will not be transmitted to port local_port. \;All LAG ports must share the same configuration.\;Refer to the relevant section for port numbering scheme." access="RW" high_bound="7" low_bound="0" offset="0x20.0" size="0x20.0" />
	<field name="port_filter_update_en" descr="port_filter_update_en bitmask, see port_filter\;When port_filter_update_en&lt;i&gt; set, the filter value for local port i is updated according to port_filter&lt;i&gt;.\;When port_filter_update_en&lt;i&gt; is cleared, the filter value for local port i maintains its current value." access="WO" high_bound="7" low_bound="0" offset="0x40.0" size="0x20.0" />
</node>

<node name="pifr_v2_ext" descr="" size="0x120.0" >
	<field name="lp_msb" descr="Local port[9:8]" access="INDEX" offset="0x0.12" size="0x0.2" />
	<field name="local_port" descr="Egress Local port number.\;Note: Port isolation is not supported to \ from port 0 (i.e CPU port)." access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="table_id" descr="Supported only from spectrum-3\;Table ID:\;0: GLOBAL_table - note that IGCR.pisbo affects the behavior of this table\;1: BRIDGE_ONLY" access="INDEX" enum="GLOBAL_table=0x0,BRIDGE_ONLY=0x1" offset="0x0.28" size="0x0.4" />
	<field name="port_filter" descr="Ingress Port filter bitmask\;0: Do not filter (default value for all local_port).\;1: Filter - Packets coming from port_filter&lt;i&gt; will not be transmitted to port local_port. \;All LAG ports must share the same configuration.\;Refer to the relevant section for port numbering scheme." access="RW" high_bound="31" low_bound="0" offset="0x20.0" size="0x80.0" />
	<field name="port_filter_update_en" descr="port_filter_update_en bitmask, see port_filter\;When port_filter_update_en&lt;i&gt; set, the filter value for local port i is updated according to port_filter&lt;i&gt;.\;When port_filter_update_en&lt;i&gt; is cleared, the filter value for local port i maintains its current value." access="WO" high_bound="31" low_bound="0" offset="0xA0.0" size="0x80.0" />
</node>

<node name="pipg_reg_ext" descr="" size="0x8.0" >
	<field name="dic1_1g" descr="This field is relevant for Spectrum devices only.\;In case this field is set to &apos;1&apos; and the operational speed is 1000BASE-X or SGMII, it will enable DIC1 for an average IPG size of 12 Bytes.\;\;" access="RW" offset="0x0.0" size="0x0.1" />
	<field name="dic1_1g_write_en" descr="This field is relevant for Spectrum devices only.\;&apos;dic1_1g&apos; field write enable.\;Relevant for set operation only, while this bit is set to &apos;0&apos;- ignore &apos;dic1_1g&apos;." access="WO" offset="0x0.1" size="0x0.1" />
	<field name="ipg_oper" descr="Inter Packet Gap operational value in ipg_res_cap Bytes units.\;For example, in case of &apos;ipg_oper&apos; =3 and &apos;ipg_res_cap&apos;=0: 4 Bytes- the IPG operational size is 12 Bytes (3*4).\;If there is a mismatch between the operational IPG capabilities and the &apos;ipg&apos; field, &apos;ipg_oper&apos; will be configured to the IPG default value of the device.\;\;Note: Supported only when indicated by PCAM Bit 92: PIPG.ipg_oper_ipg_cap_idx_supported." access="RO" offset="0x0.2" size="0x0.8" />
	<field name="lp_msb" descr="Local port number [9:8]" access="INDEX" offset="0x0.12" size="0x0.2" />
	<field name="local_port" descr="Local port number." access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="ipg" descr="The Inter Packet Gap admin value for the port in &apos;ipg_res_cap&apos; Bytes units.\;For example, in case of &apos;ipg&apos; =4 and &apos;ipg_res_cap&apos;=0: 4 Bytes -the IPG size that will be configured will be 16 Bytes (4*4)\;\;Valid values for configuring the IPG field should meet to following two conditions:\;1. &apos;ipg&apos; = &apos;ipg_min_cap&apos; + &apos;ipg_res_cap&apos;*N. For N= 0,1,2, ..\;2. &apos;ipg&apos; must be in the range of ipg_min_cap and ipg_max_cap.\;\;The configured &apos;ipg&apos; value will take effect only after link negotiation and if there is no mismatch between the operational IPG capabilities and the configured value." access="RW" offset="0x4.2" size="0x0.8" />
	<field name="ipg_max_cap" descr="Maximum Inter Packet Gap supported on the port in &apos;ipg_res_cap&apos; bytes unit.\;The return value will be according the speed selected in the &apos;ipg_cap_index&quot;." access="RO" offset="0x4.10" size="0x0.8" />
	<field name="ipg_min_cap" descr="Minimum Inter Packet Gap supported on the port in &apos;ipg_res_cap&apos; bytes unit. \;The return value will be according the speed selected in the &apos;ipg_cap_index&quot;." access="RO" offset="0x4.18" size="0x0.4" />
	<field name="ipg_cap_index" descr="The &apos;ipg_min_cap&apos; and &apos;ipg_max_cap&apos; return value will be according to the selected speed index: \;\;0: The Minimum/Maximum capability of the device (Regardless of the operational link speed).\;1: SGMII_100M\;2: 1000BASE-X / SGMII\;4: 5GBASE-R\;5: XFI / XAUI-1 // 10G\;6: XLAUI-4/XLPPI-4 // 40G \;7: 25GAUI-1/ 25GBASE-CR / KR \;8: 50GAUI-2 / LAUI-2/ 50GBASE-CR2/KR2 \;9: 50GAUI-1 /50GBASE-CR / KR\;10: CAUI-4 / 100GBASE-CR4 / KR4\;11: 100GAUI-2 / 100GBASE-CR2 / KR2 \;12: 100GAUI-1 / 100GBASE-CR / KR\;13: 200GAUI-4 / 200GBASE-CR4/KR4\;14: 200GAUI-2 / 200GBASE-CR2/KR2\;15: 200GAUI-1 / 200GBASE-CR1/KR1\;16: 400GAUI-8/ 400GBASE-CR8\;17: 400GAUI-4/ 400GBASE-CR4\;18: 400GAUI-2 / 400GBASE-CR2/KR2\;19: Reserved [internal] Placeholder for 400GAUI-1\;20: 800GAUI-8 / 800GBASE-CR8 / KR8\;21: 800GAUI-4 / 800GBASE-CR4/KR4\;24: 1.6TAUI-8 /1.6TBASE-CR8/KR8\;32: SGMII_10M\;\;Note: Supported only when indicated by PCAM Bit 92: PIPG.ipg_oper_ipg_cap_idx_supported." access="INDEX" offset="0x4.22" size="0x0.6" />
	<field name="ipg_res_cap" descr="IPG configurable resolution of the device in Bytes granularity.\;0: bytes_4x\;1: bytes_8x" access="RO" enum="bytes_4x=0x0,bytes_8x=0x1" offset="0x4.28" size="0x0.1" />
</node>

<node name="plbf_reg_ext" descr="" size="0x8.0" >
	<field name="lbf_mode" descr="Loop-back filter mode:\;0: Do not update loop-back filter mode\;1: Disable Bridge loop-back filtering\;2: Enable Bridge loop-back filtering (default)" access="RW" offset="0x0.0" size="0x0.3" />
	<field name="lp_msb" descr="Local port[9:8]" access="INDEX" offset="0x0.12" size="0x0.2" />
	<field name="local_port" descr="Local port number." access="INDEX" offset="0x0.16" size="0x0.8" />
</node>

<node name="plcc_reg_ext" descr="" size="0x10.0" >
	<field name="port_type" descr="Supported only when indicated by PCAM \;0: Network_port\;1: Near_End_Port - (For Retimer/Gearbox - Host side)\;2: Internal_IC_LR_Port \;3: Far_End_Port - (For Retimer/Gearbox - Line side)\;Other values are reserved." access="INDEX" enum="Network_port=0x0,Near_End_Port=0x1,Internal_IC_LR_Port=0x2,Far_End_Port=0x3" offset="0x0.4" size="0x0.4" />
	<field name="plane_ind" descr="Reserved for non-planarized port.\;Plane port index of the aggregated port. A value of 0 refers to the aggregated port only." access="INDEX" offset="0x0.8" size="0x0.4" />
	<field name="lp_msb" descr="Local port number [9:8]" access="INDEX" offset="0x0.12" size="0x0.2" />
	<field name="pnat" descr="Port number access type. determines the way local_port is interpreted:\;0: Local_port_number\;1: IB_port_number\;3: Out_of_band_or_PCI" access="INDEX" enum="Local_port_number=0x0,IB_port_number=0x1,Out_of_band_or_PCI=0x3" offset="0x0.14" size="0x0.2" />
	<field name="local_port" descr="Local port number." access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="page_select" descr="page select index:\;0: High_symbol_error_rate_configuration_page\;1: High_bit_error_rate_configuration_page" access="INDEX" enum="High_symbol_error_rate_configuration_page=0x0,High_bit_error_rate_configuration_page=0x1" offset="0x4.0" size="0x0.8" />
	<field name="page_data" descr="Table  2416, &quot;High symbol error rate configuration Page Layout,&quot; on page  3103\;Table  2418, &quot;High bit error rate configuration Page Layout,&quot; on page  3103" subnode="plcc_reg_page_data_auto_ext" access="RW" offset="0x8.0" size="0x8.0" union_selector="$(parent).page_select" />
</node>

<node name="plcc_reg_page_data_auto_ext" descr="" attr_is_union="1" size="0x8.0" >
	<field name="High_bit_error_rate_configuration_page_ext" descr="" subnode="High_bit_error_rate_configuration_page_ext" offset="0x0.0" selected_by="High_bit_error_rate_configuration_page" size="0x4.0" />
	<field name="High_symbol_error_rate_configuration_page_ext" descr="" subnode="High_symbol_error_rate_configuration_page_ext" offset="0x0.0" selected_by="High_symbol_error_rate_configuration_page" size="0x8.0" />
</node>

<node name="pldc_ext" descr="" size="0x14.0" >
	<field name="lp_msb" descr="Local port[9:8]" access="INDEX" offset="0x0.12" size="0x0.2" />
	<field name="local_port" descr="Local port number." access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="clr" descr="Clear Counters\;0: Don&apos;t clear counters\;1: Clear counters" access="OP" offset="0x0.31" size="0x0.1" />
	<field name="link_up_delay_cnt" descr="Counts the number of times that link up indication was delayed (ignored) due to timer not expired." access="RO" offset="0x4.0" size="0x0.16" />
	<field name="link_down_delay_cnt" descr="Counts the number of times that link down indication was delayed (ignored) due to timer not expired." access="RO" offset="0x8.0" size="0x0.16" />
	<field name="timer_expired_cnt" descr="Counts the number of times that timer expired (both for up and down events) which result in sending link indication.\;Note: When a port goes down administratively (PAOS) while a delay is set, the timer expires and the counter is incremented." access="RO" offset="0xC.0" size="0x0.16" />
	<field name="timer_cancel_cnt" descr="Counts the number of times that timer was canceled to avoid sending redundant event (up or down)." access="RO" offset="0x10.0" size="0x0.16" />
</node>

<node name="plds_ext" descr="" size="0x18.0" >
	<field name="fec_uncor_cap" descr="When set, rs_fec_uncor_th is valid and configurable" access="RO" offset="0x0.0" size="0x0.1" />
	<field name="plr_retry_cap" descr="When set, plr_csn_retry_th is valid and configurable" access="RO" offset="0x0.1" size="0x0.1" />
	<field name="fec_uncor_force_cap" descr="For the link negotiation mechanism, does the host support forcing the threshold value of link drop trigger for number of uncorrectable FEC blocks - between the two connected ports.\;\;0 - Not supported\;1 - Supported" access="RO" offset="0x0.2" size="0x0.1" />
	<field name="plr_retry_force_cap" descr="For the link negotiation mechanism, does the host support forcing the threshold value of link drop trigger for number of PLR retry on same CSN - between the two connected ports.\;\;0 - Not supported\;1 - Supported" access="RO" offset="0x0.3" size="0x0.1" />
	<field name="fec_uncor_force" descr="If set, force the rs_fec_uncor_th value on the peer port" access="RW" offset="0x0.4" size="0x0.1" />
	<field name="plr_retry_force" descr="If set, force the plr_csn_retry_th value on the peer port" access="RW" offset="0x0.5" size="0x0.1" />
	<field name="delayed_recovery_force" descr="If set, force the delayed_recovery_admin value on the peer port" access="RW" offset="0x0.6" size="0x0.1" />
	<field name="delayed_recovery_cap" descr="When set, delayed_recovery fields are valid and configurable" access="RO" offset="0x0.7" size="0x0.1" />
	<field name="lp_msb" descr="Local port number [9:8]." access="INDEX" offset="0x0.12" size="0x0.2" />
	<field name="pnat" descr="Port number access type, determines the way local_port is interpreted:\;0 - Local port number.\;1 - IB port number." access="INDEX" offset="0x0.14" size="0x0.2" />
	<field name="local_port" descr="Local port number." access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="neg_res" descr="The negotiation result capability bit.\;Indicates the negotiation results for supporting the transition of the down request opcodes between the link partners.\;0: The device doesn&quot;t support receiving remote down request opcodes.\;1: The device support receiving remote down request opcodes.\;\;Note: While this bit is set to &quot;0&quot;, the link-down default states configurations will not be operational.\;This bit will be set to &apos;1&apos; in case the following 2 conditions are met: \;- Both the link partners are NVIDIA devices. \;- Both the link partners are XDR devices and above." access="RO" offset="0x4.0" size="0x0.1" />
	<field name="link_dwn_default_state_cfg" descr="The user can configure or retrieve the LinkDownDefaultState:\;0: Polling\;1: Sleep\;2: Disable" access="RW" offset="0x4.4" size="0x0.4" />
	<field name="link_down_cap" descr="The link-down states capability mask:\;Bit 0: LinkDownDefaultState\;Bit 1: Polling\;Bit 2: Sleep\;Bit 3: Disable" access="RO" enum="LinkDownDefaultState=0x1,Polling=0x2,Sleep=0x4,Disable=0x8" offset="0x4.10" size="0x0.8" />
	<field name="config_down_cap" descr="Capability mask for the supported reasons for link-down request:\;Bit 0: LinkLocalErrorDefaultState\;Bit 1: LinkRemoteErrorDefaultState\;Bit 2: RemoteDownCMD2Disable\;Bit 3: RemoteDownCMD2Sleep\;Bit 4: RemoteDownDueToReset\;Bit 5: RemoteDownDueToUpperLayerDP\;Bit 6: RemoteDownDueToPortLock\;Bit 7: RemoteDownDueToThermal\;Bit 8: RemoteDownDueToCintainMode" access="RO" enum="LinkLocalErrorDefaultState=0x1,LinkRemoteErrorDefaultState=0x2,RemoteDownCMD2Disable=0x4,RemoteDownCMD2Sleep=0x8,RemoteDownDueToReset=0x10,RemoteDownDueToUpperLayerDP=0x20,RemoteDownDueToPortLock=0x40,RemoteDownDueToThermal=0x80,RemoteDownDueToCintainMode=0x100" offset="0x4.21" size="0x0.11" />
	<field name="link_dwn_rmt_thermal_cfg" descr="The user can configure or retrieve the link-down default state for the RemoteDownDueToThermal down request:\;0: LinkDownDefaultState\;1: Polling\;2: Sleep\;3: Disable\;\;Note: TS1.PortLock opcode will be mapped to RemoteDownDueToThermal." access="RW" offset="0x8.1" size="0x0.3" />
	<field name="link_dwn_rmt_port_lock_cfg" descr="The user can configure or retrieve the link-down default state for the RemoteDownDueToPortLock down request:\;0: LinkDownDefaultState\;1: Polling\;2: Sleep\;3: Disable\;\;Note: TS1.PortLock opcode will be mapped to RemoteDownDueToPortLock." access="RW" offset="0x8.5" size="0x0.3" />
	<field name="link_dwn_rmt_up_layer_cfg" descr="The user can configure or retrieve the link-down default state for the RemoteDownDueToUpperLayerDP down request:\;0: LinkDownDefaultState\;1: Polling\;2: Sleep\;3: Disable\;\;Note: TS1.Force opcode will be mapped to RemoteDownDueToUpperLayerDP." access="RW" offset="0x8.9" size="0x0.3" />
	<field name="link_dwn_rmt_reset_cfg" descr="The user can configure or retrieve the link-down default state for the RemoteDownDueToReset down request:\;0: LinkDownDefaultState\;1: Polling\;2: Sleep\;3: Disable\;\;Note: TS1.reset_req opcode will be mapped to RemoteDownDueToReset." access="RW" offset="0x8.13" size="0x0.3" />
	<field name="link_dwn_rmt_sleep_cfg" descr="The user can configure or retrieve the link-down default state for the RemoteDownCMD2Sleep down request:\;0: LinkDownDefaultState\;1: Polling\;2: Sleep\;3: Disable\;\;Note: TS1.Sleep opcode will be mapped to RemoteDownCMD2Sleep." access="RW" offset="0x8.17" size="0x0.3" />
	<field name="link_dwn_rmt_disable_cfg" descr="The user can configure or retrieve the link-down default state for the RemoteDownCMD2Disable down request:\;0: LinkDownDefaultState\;1: Polling\;2: Sleep\;3: Disable\;\;Note: TS1.Disable opcode will be mapped to RemoteDownCMD2Disable." access="RW" offset="0x8.21" size="0x0.3" />
	<field name="link_dwn_rmt_error_cfg" descr="The user can configure or retrieve the link-down default state for the LinkRemoteErrorDefaultState down request:\;0: LinkDownDefaultState\;1: Polling\;2: Sleep\;3: Disable\;\;Note: TS1.Thermal opcode will be mapped to LinkRemoteErrorDefaultState." access="RW" offset="0x8.25" size="0x0.3" />
	<field name="link_dwn_local_error_cfg" descr="The user can configure or retrieve the link-down default state for the LinkLocalErrorDefaultState down request:\;0: LinkDownDefaultState\;1: Polling\;2: Sleep\;3: Disable" access="RW" offset="0x8.29" size="0x0.3" />
	<field name="set_mask" descr="The set bit mask allows the user to configure which fields to modify and which will not be changed on a set operation. \;Bit 0: LinkLocalErrorDefaultState_en\;Bit 1: LinkRemoteErrorDefaultState_en\;Bit 2: RemoteDownCMD2Disable_en\;Bit 3: RemoteDownCMD2Sleep_en\;Bit 4: RemoteDownDueToReset_en\;Bit 5: RemoteDownDueToUpperLayerDP_en \;Bit 6: RemoteDownDueToPortLock_en\;Bit 7: RemoteDownDueToThermal_en\;Bit 8: RemoteDownDueToContainMode" access="WO" enum="LinkLocalErrorDefaultState_en=0x1,LinkRemoteErrorDefaultState_en=0x2,RemoteDownCMD2Disable_en=0x4,RemoteDownCMD2Sleep_en=0x8,RemoteDownDueToReset_en=0x10,RemoteDownDueToUpperLayerDP_en=0x20,RemoteDownDueToPortLock_en=0x40,RemoteDownDueToThermal_en=0x80,RemoteDownDueToContainMode=0x100" offset="0xC.0" size="0x0.11" />
	<field name="link_dwn_rmt_contain_mode" descr="The user can configure or retrieve the link-down default state for the RemoteDownDueToContainMode down request:\;0: LinkDownDefaultState\;1: Polling\;2: Sleep\;3: Disable\;\;Note: TS1.PortLock opcode will be mapped to RemoteDownDueToContainMode." access="RW" offset="0xC.12" size="0x0.3" />
	<field name="linkup_retry_iterations" descr="Number of retry &apos;N&apos; iterations allowed for linkup tries before going to link down default state.\;Valid only when link link_dwn_default_state_cfg is set to Sleep or Disabled states, ignored otherwise.\;0 - FW_default\;1-255 - &apos;N&apos; retries\;\;Note:\;Counter will iterate +1 only when exiting polling state (after peer side is detected)." access="RW" offset="0xC.24" size="0x0.8" />
	<field name="rs_fec_uncor_th" descr="Link drop trigger for number of uncorrectable FEC blocks in a 128 fec block window threshold.\;If threshold is crossed, link will be dropped or trigger recovery flow.\;0: FW_default\;\;If fec_uncor_force_cap is cleared: On Get, when link is down, shall return the admin value to be configured. When link is up, returns operational value.\;If fec_uncor_force_cap is set: On Get, shall return the admin value to be configured." access="RW" offset="0x10.0" size="0x0.7" />
	<field name="plr_csn_retry_th_oper" descr="Operational value for the Link drop trigger for number of uncorrectable FEC blocks in a 128 fec block window threshold.\;Valid only if fec_uncor_force_cap is set." access="RO" offset="0x10.7" size="0x0.9" />
	<field name="plr_csn_retry_th" descr="Link drop trigger for number of PLR retry on same CSN threshold.\;If threshold is crossed, link will be dropped or trigger recovery flow.\;0: FW_default\;\;If plr_retry_force_cap is cleared: On Get, when link is down, shall return the admin value to be configured. When link is up, returns operational value.\;If plr_retry_force_cap is set: On Get, shall return the admin value to be configured." access="RW" offset="0x10.16" size="0x0.9" />
	<field name="rs_fec_uncor_th_oper" descr="Operational value for the Link drop trigger for number of PLR retry on same CSN thresh.\;Valid only if plr_retry_force_cap is set." access="RO" offset="0x10.25" size="0x0.7" />
	<field name="delayed_recovery_oper" descr="0: not_supported\;1: delayed_recovery_enable\;2: delayed_recovery_disable" access="RO" offset="0x14.0" size="0x0.2" />
	<field name="delayed_recovery_admin" descr="0: Auto (based on FW default - INI)\;1: delayed_recovery_enable\;2: delayed_recovery_disable" access="RW" offset="0x14.2" size="0x0.2" />
</node>

<node name="pldt_ext" descr="" size="0xc.0" >
	<field name="lp_msb" descr="Local port[9:8]" access="INDEX" offset="0x0.12" size="0x0.2" />
	<field name="local_port" descr="Local port number." access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="link_up_delay" descr="Link up delay. Units of 10 msec.\;Default value: 0 msec (link up delay is disabled. Link change indication will be sent immediately).\;Valid values: 0 ms - 5000 ms." access="RW" offset="0x4.0" size="0x0.16" />
	<field name="link_down_delay" descr="Link down delay. Units of 10 msec.\;Default value: 0 msec (link down delay is disabled. Link change indication will be sent immediately).\;Note: When a port goes down administratively (PAOS) while a delay is set, the timer expires (not disabled).\;Valid values: 0 ms - 5000 ms." access="RW" offset="0x8.0" size="0x0.16" />
</node>

<node name="plib_reg_ext" descr="" size="0x10.0" >
	<field name="ib_port" descr="In IB port: InfiniBand port remapping for local_port\;In Ethernet port: Label port remapping for local_port\;Note: ib_port number can only be updated when a port admin state is DISABLED." access="RW" offset="0x0.0" size="0x0.10" />
	<field name="lp_msb" descr="Local port number [9:8]" access="INDEX" offset="0x0.12" size="0x0.2" />
	<field name="local_port" descr="Local port number." access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="split_num" descr="Valid only for Ethernet Switches. \;Label split mapping for local_port" access="RW" offset="0x4.0" size="0x0.4" />
</node>

<node name="plibdb_ext" descr="" size="0x10.0" >
	<field name="lp_msb" descr="Local port number [9:8]" access="INDEX" offset="0x0.12" size="0x0.2" />
	<field name="local_port" descr="Local port number." access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="ib_port_1x" descr="IB port remapping for local port when port is configured in width of 1x.\;Note: This value is theoretical and not the actual configuration\;Range: 1.. cap_max_switch_ports\;Value of 0 means port is unmapped." access="RO" offset="0x4.0" size="0x0.10" />
	<field name="ib_port_2x" descr="IB port remapping for local port when port is configured in width of 2x.\;Note: This value is theoretical and not the actual configuration\;Range: 1.. cap_max_switch_ports\;Value of 0 means port is unmapped" access="RO" offset="0x8.0" size="0x0.10" />
	<field name="ib_port_4x" descr="IB port remapping for local port when port is configured in width of 4x.\;Note: This value is theoretical and not the actual configuration\;Range: 1.. cap_max_switch_ports\;Value of 0 means port is unmapped" access="RO" offset="0xC.0" size="0x0.10" />
</node>

<node name="pllp_reg_ext" descr="" size="0x18.0" >
	<field name="label_port" descr="Front panel label of the port\;Note:\;PLIB.ib_port provides IB port in IB and label_port in Eth\;MOLP provides the 16bit mirror header value" access="RO" offset="0x0.0" size="0x0.10" />
	<field name="lp_msb" descr="Local port[9:8]" access="INDEX" offset="0x0.12" size="0x0.2" />
	<field name="local_port" descr="Local port number." access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="split_num" descr="The position of this local port within each split IPIL port.\;When no split: split_num should be 0\;When split to 2: split_num should be 0,1\;When split to 4: split_num should be 0   3\;When split to 8: split_num should be 0   7\;Split to 8 exists only for ETH" access="RO" offset="0x4.0" size="0x0.4" />
	<field name="ipil_num" descr="Inter port in Label number.\;Gives mapping of the basic port unit / MPO  inside the label (cage), From the lowest lanes of the module to the highest.\;e.g Label of 8x lanes, with 2 ipil\;ipil 1 - will be port mapped to lanes 1-4\;ipil 2 - will be port mapped to lanes 5-8\;\;When ipil_stat is 0 (no ipil): ipil_num should be 0.\;When ipil_stat is 1: ipil_num should be 1,2\;When ipil_stat is 2: ipil_num should be 1   4\;When ipil_stat is 3: ipil_num should be 1   8" access="RO" offset="0x4.8" size="0x0.4" />
	<field name="split_stat" descr="Defines the split of each IPIL into local ports.\;\;0: no split\;1: split to 2 local ports\;2: split to 4 local ports\;3: split to 8 local ports\;" access="RO" offset="0x4.16" size="0x0.4" />
	<field name="ipil_stat" descr="Inter port in Label status.\;Number of inter port units / MPOs inside the label (cage). Determined strictly by the form factor.\;0: 1 inter port in label\;1: 2 inter port in label\;2: 4 inter port in label\;3: 8 inter port in label." access="RO" offset="0x4.24" size="0x0.4" />
	<field name="slot_num" descr="Valid only for Ethernet Switches. \;Slot_number mapping for local_port" access="RO" offset="0x8.0" size="0x0.4" />
	<field name="conn_type" descr="Connectivity Type\;0: N/A\;1: not-wired \;2: wire to front panel\;3: wired to Switch\;4: wired to GPU\;5: wired to NIC\;\;Describes the internal wiring on the port.\;Quantum: Supported from Quantum-3 and above.\;Spectrum: Only relevant value is 0." access="RO" offset="0xC.0" size="0x0.3" />
	<field name="rmt_id" descr="Remote ASIC Id\;Reserved when conn_type = 0/1/2\;Quantum: Supported from Quantum-3 and above.\;Spectrum: Reserved as 0.\;Obsolete and not updated by FW." access="RO" offset="0xC.8" size="0x0.8" />
	<field name="is_fnm" descr="0: Mission port\;1: FNM port\;Supported from Quantum-3 and above" access="RO" offset="0xC.16" size="0x0.1" />
	<field name="maf" descr="Mission Port as FNM \;0: Mission port\;1: Mission port treated as FNM port.\;\;When set, the port shall be configured as a FNM port. \;Reserved when is_fnm is set. \;Note: This configuration does not change port type as stated in is_fnm field. \;Quantum: Supported from Quantum-3 and above.\;Spectrum: Only relevant value is 0." access="RO" offset="0xC.17" size="0x0.1" />
	<field name="protocol" descr="0: N/A (when FW has no info)\;1: ETH (for Eth devices)\;2: IB\;3: NVLink\;Supported from Quantum-3 and above\;" access="RO" offset="0x10.0" size="0x0.3" />
	<field name="sub_module" descr="[DWIP]\;Sub Module ID.\;Indicates start offset of module lanes in 8x granularity" access="RO" offset="0x10.20" size="0x0.4" />
	<field name="module" descr="[DWIP]\;Module ID.\;Range: 0 .. MGPIR.max_modules_per_slot -1" access="RO" offset="0x10.24" size="0x0.8" />
	<field name="resource_label_port" descr="[DWIP]\;Resource label port \;The label port for the resource module.\;Value of 0xFFFF means field is not valid.\;" access="RO" offset="0x14.0" size="0x0.16" />
	<field name="oe_identifier" descr="[DWIP]\;Optical engine identifier, which represents the OE index which the port is connected to.\;Value of 0xFFFF means field is not valid." access="RO" offset="0x14.16" size="0x0.16" />
</node>

<node name="pltc_reg_ext" descr="" size="0x10.0" >
	<field name="lane_mask" descr="for set operation, lane bitmask\;for query operation, only one bit shall be set" access="INDEX" offset="0x0.0" size="0x0.8" />
	<field name="lp_msb" descr="Local port number [9:8]" access="INDEX" offset="0x0.12" size="0x0.2" />
	<field name="pnat" descr="Port number access type. determines the way local_port is interpreted:\;0: Local_port_number\;1: IB_port_number" access="INDEX" offset="0x0.14" size="0x0.2" />
	<field name="local_port" descr="Local port number." access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="precoding_cap_mask" descr="0x0 - no tx precoding available / no override capability\;\;Bit 0- tx precoding override possible via local_tx_precoding_admin field\;Bit 1- rx precoding override possible via local_rx_precoding_admin field" access="RO" offset="0x4.0" size="0x0.4" />
	<field name="local_tx_precoding_admin" descr="0 - auto\;1 - force Tx precoding\;2 - force Tx without precoding" access="RW" offset="0x8.0" size="0x0.2" />
	<field name="local_rx_precoding_admin" descr="Rx configuration override per lane.\;0 - auto\;1 - Rx precoding enabled. \;if negotiated, request Tx precoding from peer.\;2 - Rx precoding disabled. \;if negotiated, request no Tx precoding from peer" access="RW" offset="0x8.16" size="0x0.2" />
	<field name="local_tx_precoding_oper" descr="0 - unknown / no active link\;1 - Tx precoding enabled.\;2 - Tx precoding disabled." access="RO" offset="0xC.0" size="0x0.2" />
	<field name="local_rx_precoding_oper" descr="Rx precoding operational mode\;0 - unknown / no active link\;1 - Rx precoding enabled. \;2 - Rx precoding disabled." access="RO" offset="0xC.16" size="0x0.2" />
</node>

<node name="plu_general_tracer_page_ext" descr="" size="0xc.0" >
	<field name="stop_condition_oper" descr="Configured stop condition for PLU general tracer. Admin value set with stop_condition field.\;0: Link Fail\;1: First Uncorrectable" access="RO" offset="0x0.24" size="0x0.1" />
	<field name="stop_condition" descr="Configures stop condition for PLU general tracer. Once stop condition is met all fields are latched.\;0: Link Fail\;1: First Uncorrectable" access="RW" offset="0x0.30" size="0x0.1" />
	<field name="clr" descr="Clear all latched values. This bit can be set for both Set() and Get() operation\;0: Do nothing\;1: Clear" access="OP" offset="0x0.31" size="0x0.1" />
	<field name="Previous_7_FEC_block_histogram" descr="Histogram bin the i+1 previous FEC block belongs to. Latched when PLU general tracer stop condition is met" access="RO" offset="0x4.0" size="0x0.4" />
	<field name="Previous_6_FEC_block_histogram" descr="Histogram bin the i+1 previous FEC block belongs to. Latched when PLU general tracer stop condition is met" access="RO" offset="0x4.4" size="0x0.4" />
	<field name="Previous_5_FEC_block_histogram" descr="Histogram bin the i+1 previous FEC block belongs to. Latched when PLU general tracer stop condition is met" access="RO" offset="0x4.8" size="0x0.4" />
	<field name="Previous_4_FEC_block_histogram" descr="Histogram bin the i+1 previous FEC block belongs to. Latched when PLU general tracer stop condition is met" access="RO" offset="0x4.12" size="0x0.4" />
	<field name="Previous_3_FEC_block_histogram" descr="Histogram bin the i+1 previous FEC block belongs to. Latched when PLU general tracer stop condition is met" access="RO" offset="0x4.16" size="0x0.4" />
	<field name="Previous_2_FEC_block_histogram" descr="Histogram bin the i+1 previous FEC block belongs to. Latched when PLU general tracer stop condition is met" access="RO" offset="0x4.20" size="0x0.4" />
	<field name="Previous_1_FEC_block_histogram" descr="Histogram bin the i+1 previous FEC block belongs to. Latched when PLU general tracer stop condition is met" access="RO" offset="0x4.24" size="0x0.4" />
	<field name="Previous_0_FEC_block_histogram" descr="Histogram bin the i+1 previous FEC block belongs to. Latched when PLU general tracer stop condition is met" access="RO" offset="0x4.28" size="0x0.4" />
	<field name="Previous_15_FEC_block_histogram" descr="Histogram bin the i+1 previous FEC block belongs to. Latched when PLU general tracer stop condition is met" access="RO" offset="0x8.0" size="0x0.4" />
	<field name="Previous_14_FEC_block_histogram" descr="Histogram bin the i+1 previous FEC block belongs to. Latched when PLU general tracer stop condition is met" access="RO" offset="0x8.4" size="0x0.4" />
	<field name="Previous_13_FEC_block_histogram" descr="Histogram bin the i+1 previous FEC block belongs to. Latched when PLU general tracer stop condition is met" access="RO" offset="0x8.8" size="0x0.4" />
	<field name="Previous_12_FEC_block_histogram" descr="Histogram bin the i+1 previous FEC block belongs to. Latched when PLU general tracer stop condition is met" access="RO" offset="0x8.12" size="0x0.4" />
	<field name="Previous_11_FEC_block_histogram" descr="Histogram bin the i+1 previous FEC block belongs to. Latched when PLU general tracer stop condition is met" access="RO" offset="0x8.16" size="0x0.4" />
	<field name="Previous_10_FEC_block_histogram" descr="Histogram bin the i+1 previous FEC block belongs to. Latched when PLU general tracer stop condition is met" access="RO" offset="0x8.20" size="0x0.4" />
	<field name="Previous_9_FEC_block_histogram" descr="Histogram bin the i+1 previous FEC block belongs to. Latched when PLU general tracer stop condition is met" access="RO" offset="0x8.24" size="0x0.4" />
	<field name="Previous_8_FEC_block_histogram" descr="Histogram bin the i+1 previous FEC block belongs to. Latched when PLU general tracer stop condition is met" access="RO" offset="0x8.28" size="0x0.4" />
</node>

<node name="pmaos_reg_ext" descr="" size="0x10.0" >
	<field name="oper_status" descr="Module state (reserved while admin_status is disabled):\;0: initializing\;1: plugged_enabled\;2: unplugged\;3: module_plugged_with_error - (details in error_type).\;5: unknown" access="RO" enum="initializing=0x0,plugged_enabled=0x1,unplugged=0x2,module_plugged_with_error=0x3,unknown=0x5" offset="0x0.0" size="0x0.4" />
	<field name="admin_status" descr="Module administrative state (the desired state of the module):\;1: enabled\;2: disabled_by_configuration\;3: enabled_once - if the module is active and then unplugged, or module experienced an error event, the operational status should go to &quot;disabled&quot; and can only be enabled upon explicit enable command.\;0xe: disconnect_cable\;\;Note - To disable a module, all ports associated with the port must be disabled first. \;Note 2 - disconnect cable will shut down the optical module in ungraceful manner. Not supported for OE/ELS.\;Note 3 - Disabling OE in QM-3 CPO will not cause to the OE to power disable. User will need to set all the modules to disable, which will cause the power enable to go down.\;Note 4 - Disabling OE in QM3-CPO will cause the ELS to go down as well as part of the HW flow. Before setting the ELS back up, OE should be set to up beforehand.\;" access="RW" enum="enabled=0x1,disabled_by_configuration=0x2,enabled_once=0x3,disconnect_cable=0xe" offset="0x0.8" size="0x0.4" />
	<field name="module" descr="Module number." access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="slot_index" descr="Reserved for HCA\;Slot_index \;Slot_index = 0 represent the onboard (motherboard). \;In case of non modular system only slot_index = 0 is available." access="INDEX" offset="0x0.24" size="0x0.4" />
	<field name="rst" descr="Module Reset toggle\;NOTE: setting reset while module is plugged-in will result in transition of oper_status to initialization." access="OP" offset="0x0.31" size="0x0.1" />
	<field name="e" descr="Event Generation on operational state change:\;0: Do_not_generate_event\;1: Generate_Event\;2: Generate_Single_Event\;Not supported by secondary ASICs." access="RW" enum="Do_not_generate_event=0x0,Generate_Event=0x1,Generate_Single_Event=0x2" offset="0x4.0" size="0x0.2" />
	<field name="error_type" descr="Module error details:\;0x0: Power_Budget_Exceeded\;0x1: Long_Range_for_non_MLNX_cable_or_module\;0x2: Bus_stuck - (I2C Data or clock shorted)\;0x3: bad_or_unsupported_EEPROM\;0x4: Enforce_part_number_list\;0x5: unsupported_cable\;0x6: High_Temperature\;0x7: bad_cable - (Module/Cable is shorted)\;0x8: PMD_type_is_not_enabled - (see PMTPS)\;0xc: pcie_system_power_slot_Exceeded\;\;[DWIP] 0xf: Boot_error\;[DWIP] 0x10: Recovery_error\;[DWIP] 0x11: Submodule_failure\;\;[DWIP] 0x13: els_critical_indication\;Valid only when oper_status = 4&apos;b0011" access="RO" enum="Power_Budget_Exceeded=0x0,Long_Range_for_non_MLNX_cable_or_module=0x1,Bus_stuck=0x2,bad_or_unsupported_EEPROM=0x3,Enforce_part_number_list=0x4,unsupported_cable=0x5,High_Temperature=0x6,bad_cable=0x7,PMD_type_is_not_enabled=0x8,pcie_system_power_slot_Exceeded=0xc" offset="0x4.8" size="0x0.5" />
	<field name="operational_notification" descr="This notification can occur only if module passed initialization process\;0x0: No notifications.\;0x1: Speed degradation - the module is not enabled in its full speed due to incompatible transceiver/cable \;Valid only when oper_status = 4&apos;b0001." access="RO" offset="0x4.16" size="0x0.4" />
	<field name="rev_incompatible" descr="When in multi ASIC module sharing systems,\;This flag will be asserted in case primary and secondary FW versions are not compatible." access="RO" offset="0x4.28" size="0x0.1" />
	<field name="secondary" descr="Indicates whether the ASIC serves as a the modules secondary (=1) or primary (=0) device." access="RO" offset="0x4.29" size="0x0.1" />
	<field name="ee" descr="Event update enable. If this bit is set, event generation will be updated based on the e field. Only relevant on Set operations.\;Not supported by secondary ASICs." access="WO" offset="0x4.30" size="0x0.1" />
	<field name="ase" descr="Admin status update enable. If this bit is set, admin state will be updated based on admin_state field. Only relevant on Set() operations." access="WO" offset="0x4.31" size="0x0.1" />
</node>

<node name="pmcr_reg_ext" descr="" size="0x2c.0" >
	<field name="plane_ind" descr="Reserved for non-planarized port.\;Plane port index of the aggregated port. A value of 0 refers to the aggregated port only." access="INDEX" offset="0x0.4" size="0x0.4" />
	<field name="error_code_response" descr="Valid for CMIS modules.\;error code response on override values.\;0x0: ConfigUndefined\;0x1: ConfigSuccess\;0x2: ConfigRejected\;0x3: ConfigRejectedInvalidAppSel\;0x4: ConfigRejectedInvalidDataPath\;0x5: ConfigRejectedInvalidSI\;0x6: ConfigRejectedLanesInUse\;0x7: ConfigRejectedPartialDataPath\;0xC: ConfigInProgress" access="RO" enum="ConfigUndefined=0x0,ConfigSuccess=0x1,ConfigRejected=0x2,ConfigRejectedInvalidAppSel=0x3,ConfigRejectedInvalidDataPath=0x4,ConfigRejectedInvalidSI=0x5,ConfigRejectedLanesInUse=0x6,ConfigRejectedPartialDataPath=0x7,ConfigInProgress=0xc" offset="0x0.8" size="0x0.4" />
	<field name="lp_msb" descr="Local port number [9:8]" access="INDEX" offset="0x0.12" size="0x0.2" />
	<field name="local_port" descr="Local port number." access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="cdr_override_cntl" descr="Module CDR override control:\;0 - Auto (default)\;1 - Keep the module configuration\;2 - Override" access="RW" offset="0x4.0" size="0x0.2" />
	<field name="cdr_override_cap" descr="Module TX and RX override control capability.\;Bit 0 - RX CDR control is possible\;Bit 0 - TX CDR control is possible" access="RO" offset="0x4.2" size="0x0.2" />
	<field name="cdr_override_value" descr="Valid only in case CDR is configured to override mode by cdr_override_cntl: \;0 - RX OFF, TX OFF\;1 - RX ON, TX OFF\;2 - RX OFF, TX ON\;3 - RX ON, TX ON" access="RW" offset="0x4.8" size="0x0.4" />
	<field name="tx_disable_override_cntl" descr="In HCA, valid based on PCAM feature capabilities. \;Module TX_DISABLE override control:\;0 - Auto (default)\;1 - Keep the module configuration\;2 - Override" access="RW" offset="0x4.16" size="0x0.2" />
	<field name="tx_disable_override_value" descr="Valid only in case TX_DISABLE is configured to override mode by tx_disable_override_cntl: \;0 - TX_DISABLE is low (i.e. TX is enabled)\;1 - TX_DISABLE is high (i.e. TX is disabled)" access="RW" offset="0x4.24" size="0x0.2" />
	<field name="rx_amp_override_cntl" descr="Module RX amplitude override control:\;0 - Auto (default)\;1 - Keep the module configuration\;2 - Override" access="RW" offset="0x8.0" size="0x0.2" />
	<field name="rx_amp_override_cap" descr="Module rx_amp override control capability." access="RO" offset="0x8.2" size="0x0.1" />
	<field name="rx_amp_override_value" descr="Valid only in case RX amplitude is configured to override mode by rx_amp_override_cntl" access="RW" offset="0x8.8" size="0x0.4" />
	<field name="rx_amp_override_value_cap" descr="Module rx_amp bitmask of allowed values." access="RO" offset="0x8.12" size="0x0.4" />
	<field name="rx_los_override_cntl" descr="Valid only in case RX _LOS is configured to override mode by rx_los_override_admin" access="RW" offset="0x8.16" size="0x0.2" />
	<field name="rx_los_override_cap" descr="Module RX_LOS override control capability." access="RO" offset="0x8.18" size="0x0.1" />
	<field name="rx_los_override_admin" descr="Module RX _LOS override control:\;0 - Auto (default)\;1 - Keep the module configuration\;2 - Override" access="RW" offset="0x8.24" size="0x0.2" />
	<field name="rx_emp_override_cntl" descr="Module RX emphasis override control:\;0 - Auto (default)\;1 - Keep the module configuration\;2 - Override" access="RW" offset="0xC.0" size="0x0.2" />
	<field name="rx_emp_override_cap" descr="Module rx_emp override control capability." access="RO" offset="0xC.2" size="0x0.1" />
	<field name="rx_emp_override_value" descr="For CMIS modules, pre emphasis equalization value.\;For SFF modules, emphasis equalization value.\;Valid only in case RX emphasis is configured to override mode by rx_emp_override_cntl" access="RW" offset="0xC.8" size="0x0.4" />
	<field name="rx_emp_override_value_cap" descr="Module rx_emp max allowed values." access="RO" offset="0xC.12" size="0x0.4" />
	<field name="rx_post_emp_override_cntl" descr="Module RX emphasis override control:\;0 - Auto (default)\;1 - Keep the module configuration\;2 - Override" access="RW" offset="0xC.16" size="0x0.2" />
	<field name="rx_post_emp_override_cap" descr="Module rx_post_emp override control capability." access="RO" offset="0xC.18" size="0x0.1" />
	<field name="rx_post_emp_override_value" descr="Valid for CMIS modules only.\;Post emphasis equalization value.\;Valid only in case RX emphasis is configured to override mode by rx_post_emp_override_cntl" access="RW" offset="0xC.24" size="0x0.4" />
	<field name="rx_post_emp_override_value_cap" descr="Module rx_post_emp max allowed values." access="RO" offset="0xC.28" size="0x0.4" />
	<field name="tx_equ_override_cntl" descr="Module TX equalization override control:\;0 - Auto (default)\;1 - Keep the module configuration\;2 - Override" access="RW" offset="0x10.0" size="0x0.2" />
	<field name="tx_equ_override_cap" descr="Module TX equalization override control capability." access="RO" offset="0x10.2" size="0x0.1" />
	<field name="tx_equ_override_value" descr="Valid only in case TX equalization is configured to override mode by tx_equ_override_cntl." access="RW" offset="0x10.8" size="0x0.4" />
	<field name="tx_equ_override_value_cap" descr="Module tx_eq max allowed values." access="RO" offset="0x10.12" size="0x0.4" />
	<field name="tx_adaptive_override_value" descr="0 - disable adaptive Tx Equalization\;1 - enable adaptive Tx equalization\;Valid only in case TX equalization is configured to override mode by tx_adaptive_override_cntrl." access="RW" offset="0x10.17" size="0x0.1" />
	<field name="tx_adaptive_override_cntrl" descr="Module adaptive tuning flow override control:\;0 - Auto (default)\;1 - Keep the module configuration\;2 - override" access="RW" offset="0x10.24" size="0x0.2" />
	<field name="tx_adaptive_override_cap" descr="Module TX adaptive tuning flow override control capability." access="RO" offset="0x10.26" size="0x0.1" />
	<field name="ap_sel_override_cntrl" descr="Module Application select override control:\;0 - Auto (default)\;1 - Use Module&apos;s Default application value\;2 - Override" access="RW" offset="0x18.0" size="0x0.2" />
	<field name="ap_sel_override_value" descr="Application Select from the applications list advertised by the module. Up to 15 applications available.\;\;Values range from 1 to 15.\;\;Note: application can be set with default SI values defined by the module or SI defined by the host" access="RW" offset="0x18.8" size="0x0.4" />
	<field name="dr_cap" descr="capabilities of the module 200g per lane SMF DR applications (Bitmask):\;Bit 0 - DR\;Bit 1 - DR-2" access="RO" offset="0x18.24" size="0x0.2" />
	<field name="dr_admin" descr="When using PTYS and selecting an application, for the host, there could be a situation where the module support more then one option for the same host electrical application. \;this field is used to set the default application in the module for the Ethernet 200G generation, and distinguish between DR and DR-2 option.\;the module capability can be observed on dr_cap\;this field uses for setting the default option to choose between DR and DR-2\;\;0x0 - FW default\;0x1 - DR\;0x2 - DR-2" access="RW" offset="0x18.28" size="0x0.2" />
	<field name="media_type_override_cntl" descr="Module media type override control:\;0 - Auto (default)\;1 - Keep the module configuration\;2 - Override" access="RW" offset="0x1C.0" size="0x0.2" />
	<field name="media_type_override_cap" descr="Media type override capability is possible via media_type_override_cntrl field" access="RO" offset="0x1C.2" size="0x0.1" />
	<field name="media_type_override_value" descr="Valid only in case media_type_override_cntrl is configured to override mode.\;Configures module media type peer side for optimal performance\;0: Peer_is_retimed_module - [internal] &quot;Optical_retimed &quot; in CDB\;1: Peer_is_CPO_module - [internal] &quot;Optical_CPO&quot; in CDB\;2: reserved\;3: reserved" access="RW" offset="0x1C.8" size="0x0.2" />
	<field name="prec_host_tx_override_cntl" descr="Precoding host Tx override control.\;0 - Auto (FW default)\;1 - Keep the module configuration - module read\;2 - Override - overrides according to prec_host_tx_override_val\;Note:\;According to configured value above,\;get operation prec_host_tx_override_val reads the value which is indexed to.\;" access="RW" offset="0x20.0" size="0x0.2" />
	<field name="prec_host_rx_override_cntl" descr="Precoding host Rx override control.\;0 - Auto (FW default)\;1 - Keep the module configuration - module read\;2 - Override - overrides according to prec_host_rx_override_val\;Note:\;According to configured value above,\;get operation prec_host_rx_override_val reads the value which is indexed to.\;" access="RW" offset="0x20.2" size="0x0.2" />
	<field name="prec_host_cap" descr="Precoding host override is supported" access="RW" offset="0x20.7" size="0x0.1" />
	<field name="prec_host_tx_override_val" descr="Precoding host Tx override value.\;Set is valid only in case prec_host_tx_override_cntl is configured to override mode.\;0: precoding_line_tx_disabled\;1: precoding_line_tx_enabled" access="RW" offset="0x20.8" size="0x0.1" />
	<field name="prec_host_rx_override_val" descr="Precoding host Rx override value.\;Set is valid only in case prec_host_rx_override_cntl is configured to override mode.\;0: precoding_host_rx_disabled\;1: precoding_host_rx_enabled" access="RW" offset="0x20.9" size="0x0.1" />
	<field name="prec_line_tx_override_cntl" descr="Precoding line Tx override control.\;0 - Auto (FW default)\;1 - Keep the module configuration - module read\;2 - Override - overrides according to prec_line_tx_override_val\;Note:\;According to configured value above,\;get operation prec_line_tx_override_val reads the value which is indexed to.\;" access="RW" offset="0x20.16" size="0x0.2" />
	<field name="prec_line_rx_override_cntl" descr="Precoding line Rx override control.\;0 - Auto (FW default)\;1 - Keep the module configuration - module read\;2 - Override - overrides according to prec_line_rx_override_val\;Note:\;According to configured value above,\;get operation prec_line_rx_override_val reads the value which is indexed to.\;" access="RW" offset="0x20.18" size="0x0.2" />
	<field name="prec_line_cap" descr="Precoding line override is supported" access="RW" offset="0x20.23" size="0x0.1" />
	<field name="prec_line_tx_override_val" descr="Precoding line Tx override value.\;Set is valid only in case prec_line_tx_override_cntl is configured to override mode.\;0: precoding_line_tx_disabled\;1: precoding_line_tx_enabled" access="RW" offset="0x20.24" size="0x0.1" />
	<field name="prec_line_rx_override_val" descr="Precoding line Rx override value.\;Set is valid only in case prec_line_rx_override_cntl is configured to override mode.\;0: precoding_line_rx_disabled\;1: precoding_line_rx_enabled" access="RW" offset="0x20.25" size="0x0.1" />
</node>

<node name="pmdr_reg_ext" descr="" size="0x48.0" >
	<field name="lp_msb" descr="Local port number [9:8]" access="INDEX" offset="0x0.0" size="0x0.2" />
	<field name="plane_ind" descr="Reserved for non-planarized port.\;Plane port index of the aggregated port. A value of 0 refers to the aggregated port only." access="INDEX" offset="0x0.4" size="0x0.4" />
	<field name="width_valid" descr="When set, port_width field value is valid. otherwise ignored" access="RO" offset="0x0.10" size="0x0.1" />
	<field name="mcm_tile_valid" descr="0 if there is no MCM tile arch" access="RO" offset="0x0.12" size="0x0.1" />
	<field name="gb_valid" descr="0 if there is no Gearbox/Retimer arch" access="RO" offset="0x0.13" size="0x0.1" />
	<field name="pnat" descr="Port number access type. determines the way local_port is interpreted:\;0 - Local port number\;1 - IB port number\;3 - Out of band / PCI" access="INDEX" offset="0x0.14" size="0x0.2" />
	<field name="local_port" descr="[7:0] bits for Local port number." access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="version" descr="0 - 40nm products\;1 - 28nm products\;3 - 16nm products\;4 - 7nm products\;5 - 5nm products SerDes Gen7.0/ 7.5\;6 - 5nm products SerDes Gen8.0" access="RO" offset="0x0.24" size="0x0.4" />
	<field name="status" descr="0 - Invalid\;1 - Valid\;2 - Bad Param (Values are not ready yet - during polling)\;3 - Invalid index of local_port or label_port" access="RO" offset="0x0.28" size="0x0.4" />
	<field name="pport_msb" descr="[9:8] pport bits" access="RO" offset="0x4.6" size="0x0.2" />
	<field name="cluster" descr="Logical cluster number" access="RO" offset="0x4.8" size="0x0.7" />
	<field name="module" descr="" access="RO" offset="0x4.16" size="0x0.8" />
	<field name="pport" descr="" access="RO" offset="0x4.24" size="0x0.8" />
	<field name="ib_port" descr="" access="RO" offset="0x8.0" size="0x0.8" />
	<field name="module_lane_mask" descr="lane mask of active lanes on module\;Bit 0: Lane 0\;Bit 1: Lane 1\;Bit 2: Lane 2\;Bit 3: Lane 3\;Bit 4: Lane 4\;Bit 5: Lane 5\;Bit 6: Lane 6\;Bit 7: Lane 7" access="RO" offset="0x8.8" size="0x0.8" />
	<field name="swid" descr="" access="RO" offset="0x8.16" size="0x0.8" />
	<field name="split" descr="Number of ports the label port is split to.\;0 - split to 1\;1 - split to 2\;2 - split to 4\;3 - split to 8" access="RO" offset="0x8.24" size="0x0.3" />
	<field name="gb_dp_num" descr="DataPath number in GB/Retimer of the port" access="RO" offset="0x8.27" size="0x0.5" />
	<field name="lp_query_msb" descr="MSB Local port bits [9:8] index for the label port chosen (in case pnat field is &apos;1&apos;)." access="RO" offset="0xC.0" size="0x0.2" />
	<field name="lbp_query_msb" descr="MSB Label port bits [9:8] index." access="RO" offset="0xC.2" size="0x0.2" />
	<field name="tile_pport_msb" descr="MSB tile_pport bits [7:6] index." access="RO" offset="0xC.4" size="0x0.2" />
	<field name="port_width" descr="Port width of logical lanes.\;According to number of port width, indicates how many lanes shall be considered in lane&lt;i&gt;_physical_tx/rx\;0 - port is unmapped" access="RO" offset="0xC.6" size="0x0.4" />
	<field name="local_port_query" descr="LSB Local port bits [7:0] index for the label port chosen (in case pnat field is &apos;1&apos;)." access="RO" offset="0xC.16" size="0x0.8" />
	<field name="label_port_query" descr="Label port index for the local port chosen (in case pnat field is &apos;0&apos;)." access="RO" offset="0xC.24" size="0x0.8" />
	<field name="gearbox_die_num" descr="Number of the Gearbox/Retimer the local_port is related to.\;valid only when gb_valid is 1" access="RO" offset="0x10.0" size="0x0.7" />
	<field name="tile_pport" descr="" access="RO" offset="0x10.8" size="0x0.5" />
	<field name="pll_cnt_rx" descr="Number of common PLLs mapped to port rx lanes." access="RO" offset="0x10.13" size="0x0.3" />
	<field name="mcm_tile_num" descr="Number of the MCM Tile the local_port is related to.\;valid only when mcm_tile_valid is 1\;" access="RO" offset="0x10.16" size="0x0.8" />
	<field name="tile_cluster" descr="" access="RO" offset="0x10.24" size="0x0.4" />
	<field name="slot_index" descr="Reserved for HCA \;Slot_index \;Slot_index = 0 represent the onboard (motherboard). \;In case of non modular system only slot_index = 0 is available." access="RO" offset="0x10.28" size="0x0.4" />
	<field name="lane0_physical_rx" descr="LSB [2:0] bits for logical lane&lt;i&gt; to physical rx lane mapping" access="RO" offset="0x14.0" size="0x0.3" />
	<field name="lane1_physical_rx" descr="LSB [2:0] bits for logical lane&lt;i&gt; to physical rx lane mapping" access="RO" offset="0x14.3" size="0x0.3" />
	<field name="lane2_physical_rx" descr="LSB [2:0] bits for logical lane&lt;i&gt; to physical rx lane mapping" access="RO" offset="0x14.6" size="0x0.3" />
	<field name="lane3_physical_rx" descr="LSB [2:0] bits for logical lane&lt;i&gt; to physical rx lane mapping" access="RO" offset="0x14.9" size="0x0.3" />
	<field name="lane4_physical_rx" descr="LSB [2:0] bits for logical lane&lt;i&gt; to physical rx lane mapping" access="RO" offset="0x14.12" size="0x0.3" />
	<field name="lane5_physical_rx" descr="LSB [2:0] bits for logical lane&lt;i&gt; to physical rx lane mapping" access="RO" offset="0x14.15" size="0x0.3" />
	<field name="lane6_physical_rx" descr="LSB [2:0] bits for logical lane&lt;i&gt; to physical rx lane mapping" access="RO" offset="0x14.18" size="0x0.3" />
	<field name="lane7_physical_rx" descr="LSB [2:0] bits for logical lane&lt;i&gt; to physical rx lane mapping" access="RO" offset="0x14.21" size="0x0.3" />
	<field name="pll_cnt_tx" descr="Number of common PLLs mapped to port for tx lanes." access="RO" offset="0x14.24" size="0x0.3" />
	<field name="vl_num" descr="largest VL number of the port.\;for e.g if vl_num = 3\;VL&lt;0-3&gt;_lane_map are only valid" access="RO" offset="0x14.27" size="0x0.5" />
	<field name="lane0_physical_tx" descr="LSB [2:0] bits for logical lane&lt;i&gt; to physical tx lane mapping" access="RO" offset="0x18.0" size="0x0.3" />
	<field name="lane1_physical_tx" descr="LSB [2:0] bits for logical lane&lt;i&gt; to physical tx lane mapping" access="RO" offset="0x18.3" size="0x0.3" />
	<field name="lane2_physical_tx" descr="LSB [2:0] bits for logical lane&lt;i&gt; to physical tx lane mapping" access="RO" offset="0x18.6" size="0x0.3" />
	<field name="lane3_physical_tx" descr="LSB [2:0] bits for logical lane&lt;i&gt; to physical tx lane mapping" access="RO" offset="0x18.9" size="0x0.3" />
	<field name="lane4_physical_tx" descr="LSB [2:0] bits for logical lane&lt;i&gt; to physical tx lane mapping" access="RO" offset="0x18.12" size="0x0.3" />
	<field name="lane5_physical_tx" descr="LSB [2:0] bits for logical lane&lt;i&gt; to physical tx lane mapping" access="RO" offset="0x18.15" size="0x0.3" />
	<field name="lane6_physical_tx" descr="LSB [2:0] bits for logical lane&lt;i&gt; to physical tx lane mapping" access="RO" offset="0x18.18" size="0x0.3" />
	<field name="lane7_physical_tx" descr="LSB [2:0] bits for logical lane&lt;i&gt; to physical tx lane mapping" access="RO" offset="0x18.21" size="0x0.3" />
	<field name="pll_index" descr="minimal index of pll group of pll that port uses for tx lanes.\;For all common pll&apos;s that are mapped to the port: [pll_index, pll_index+ 1, ... pll_index + pll_cnt]" access="RO" offset="0x18.24" size="0x0.8" />
	<field name="VL0_lane_map" descr="logical lane number that maps to VL_x lane" access="RO" offset="0x1C.0" size="0x0.4" />
	<field name="VL1_lane_map" descr="logical lane number that maps to VL_x lane" access="RO" offset="0x1C.4" size="0x0.4" />
	<field name="VL2_lane_map" descr="logical lane number that maps to VL_x lane" access="RO" offset="0x1C.8" size="0x0.4" />
	<field name="VL3_lane_map" descr="logical lane number that maps to VL_x lane" access="RO" offset="0x1C.12" size="0x0.4" />
	<field name="VL4_lane_map" descr="logical lane number that maps to VL_x lane" access="RO" offset="0x1C.16" size="0x0.4" />
	<field name="VL5_lane_map" descr="logical lane number that maps to VL_x lane" access="RO" offset="0x1C.20" size="0x0.4" />
	<field name="VL6_lane_map" descr="logical lane number that maps to VL_x lane" access="RO" offset="0x1C.24" size="0x0.4" />
	<field name="VL7_lane_map" descr="logical lane number that maps to VL_x lane" access="RO" offset="0x1C.28" size="0x0.4" />
	<field name="VL8_lane_map" descr="logical lane number that maps to VL_x lane" access="RO" offset="0x20.0" size="0x0.4" />
	<field name="VL9_lane_map" descr="logical lane number that maps to VL_x lane" access="RO" offset="0x20.4" size="0x0.4" />
	<field name="VL10_lane_map" descr="logical lane number that maps to VL_x lane" access="RO" offset="0x20.8" size="0x0.4" />
	<field name="VL11_lane_map" descr="logical lane number that maps to VL_x lane" access="RO" offset="0x20.12" size="0x0.4" />
	<field name="VL12_lane_map" descr="logical lane number that maps to VL_x lane" access="RO" offset="0x20.16" size="0x0.4" />
	<field name="VL13_lane_map" descr="logical lane number that maps to VL_x lane" access="RO" offset="0x20.20" size="0x0.4" />
	<field name="VL14_lane_map" descr="logical lane number that maps to VL_x lane" access="RO" offset="0x20.24" size="0x0.4" />
	<field name="VL15_lane_map" descr="logical lane number that maps to VL_x lane" access="RO" offset="0x20.28" size="0x0.4" />
	<field name="VL16_lane_map" descr="logical lane number that maps to VL_x lane" access="RO" offset="0x24.0" size="0x0.4" />
	<field name="VL17_lane_map" descr="logical lane number that maps to VL_x lane" access="RO" offset="0x24.4" size="0x0.4" />
	<field name="VL18_lane_map" descr="logical lane number that maps to VL_x lane" access="RO" offset="0x24.8" size="0x0.4" />
	<field name="VL19_lane_map" descr="logical lane number that maps to VL_x lane" access="RO" offset="0x24.12" size="0x0.4" />
	<field name="VL20_lane_map" descr="logical lane number that maps to VL_x lane" access="RO" offset="0x24.16" size="0x0.4" />
	<field name="VL21_lane_map" descr="logical lane number that maps to VL_x lane" access="RO" offset="0x24.20" size="0x0.4" />
	<field name="VL22_lane_map" descr="logical lane number that maps to VL_x lane" access="RO" offset="0x24.24" size="0x0.4" />
	<field name="VL23_lane_map" descr="logical lane number that maps to VL_x lane" access="RO" offset="0x24.28" size="0x0.4" />
	<field name="VL24_lane_map" descr="logical lane number that maps to VL_x lane" access="RO" offset="0x28.0" size="0x0.4" />
	<field name="VL25_lane_map" descr="logical lane number that maps to VL_x lane" access="RO" offset="0x28.4" size="0x0.4" />
	<field name="VL26_lane_map" descr="logical lane number that maps to VL_x lane" access="RO" offset="0x28.8" size="0x0.4" />
	<field name="VL27_lane_map" descr="logical lane number that maps to VL_x lane" access="RO" offset="0x28.12" size="0x0.4" />
	<field name="VL28_lane_map" descr="logical lane number that maps to VL_x lane" access="RO" offset="0x28.16" size="0x0.4" />
	<field name="VL29_lane_map" descr="logical lane number that maps to VL_x lane" access="RO" offset="0x28.20" size="0x0.4" />
	<field name="VL30_lane_map" descr="logical lane number that maps to VL_x lane" access="RO" offset="0x28.24" size="0x0.4" />
	<field name="VL31_lane_map" descr="logical lane number that maps to VL_x lane" access="RO" offset="0x28.28" size="0x0.4" />
	<field name="fiber_connector_index" descr="For SP5. Represent the fiber connector index on front panel" access="RO" offset="0x3C.16" size="0x0.8" />
	<field name="sub_module" descr="Indicates start offset of rx_lane, tx_lane inside the modules lanes in 8x granularity. relevant for modules with more than 8 lanes. such as OE.\;0: lanes_0-7\;1: lanes_8_15\;2: lanes_16_23\;3: lanes_24_31" access="RO" offset="0x3C.28" size="0x0.4" />
	<field name="oe_lane7_to_els_logical_laser" descr="OE optical lane to ELS logical laser mapping" access="RO" offset="0x40.0" size="0x0.4" />
	<field name="oe_lane6_to_els_logical_laser" descr="OE optical lane to ELS logical laser mapping" access="RO" offset="0x40.4" size="0x0.4" />
	<field name="oe_lane5_to_els_logical_laser" descr="OE optical lane to ELS logical laser mapping" access="RO" offset="0x40.8" size="0x0.4" />
	<field name="oe_lane4_to_els_logical_laser" descr="OE optical lane to ELS logical laser mapping" access="RO" offset="0x40.12" size="0x0.4" />
	<field name="oe_lane3_to_els_logical_laser" descr="OE optical lane to ELS logical laser mapping" access="RO" offset="0x40.16" size="0x0.4" />
	<field name="oe_lane2_to_els_logical_laser" descr="OE optical lane to ELS logical laser mapping" access="RO" offset="0x40.20" size="0x0.4" />
	<field name="oe_lane1_to_els_logical_laser" descr="OE optical lane to ELS logical laser mapping" access="RO" offset="0x40.24" size="0x0.4" />
	<field name="oe_lane0_to_els_logical_laser" descr="OE optical lane to ELS logical laser mapping" access="RO" offset="0x40.28" size="0x0.4" />
	<field name="els_module_index" descr="ELS module index" access="RO" offset="0x44.0" size="0x0.8" />
	<field name="els_index" descr="ELS label index" access="RO" offset="0x44.10" size="0x0.6" />
	<field name="active_module_lane_mask" descr="Lane mask representing the active lanes associated with the local port as determined by the agreed link protocol during link up.\;0: N/A (not supported or link is down)\;Bit 0: Lane 0\;Bit 1: Lane 1\;Bit 2: Lane 2\;Bit 3: Lane 3\;Bit 4: Lane 4\;Bit 5: Lane 5\;Bit 6: Lane 6\;Bit 7: Lane 7\;\;Note: supported only if indication by PCAM.feature_group=1.bit 6." access="RW" offset="0x44.16" size="0x0.8" />
	<field name="oe_mcu_index" descr="Optical engine MCU index. If system has no MCU on the OE, this field represent the OE index." access="RO" offset="0x44.24" size="0x0.7" />
	<field name="cpo_indication" descr="CPO indication:\;0 - not CPO\;1 - CPO\;" access="RO" offset="0x44.31" size="0x0.1" />
</node>

<node name="pmecr_reg_ext" descr="" size="0x20.0" >
	<field name="lp_msb" descr="Local port number [9:8]" access="INDEX" offset="0x0.12" size="0x0.2" />
	<field name="local_port" descr="Local port number." access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="e" descr="Event generation on local port mapping change (PMLP):\;0: Do_not_generate_event\;1: Generate_Event \;2: Generate_Single_Event" access="RW" enum="Do_not_generate_event=0x0,Generate_Event=0x1,Generate_Single_Event=0x2" offset="0x4.0" size="0x0.2" />
	<field name="swi" descr="Software ignore.\;If this bit is set, the device shouldn&quot;t generate events in case of PMLP SET operation but only upon self local port mapping change (if applicable according to e configuration).\;This is supplementary configuration on top of e value." access="RW" offset="0x4.8" size="0x0.1" />
	<field name="eswi" descr="Software ignore enable bit.\;If this bit is set, the value if swi is used. \;If this bit is clear, the value of swi is ignored.\;Only relevant on Set operations." access="WO" offset="0x4.24" size="0x0.1" />
	<field name="ee" descr="Event update enable. If this bit is set, event generation will be updated based on the e field. Only relevant on Set operations." access="WO" offset="0x4.30" size="0x0.1" />
</node>

<node name="pmft_ext" descr="" size="0x14.0" >
	<field name="lane_mask" descr="laser bitmask selector. each bit represent a logical laser." access="INDEX" offset="0x0.0" size="0x0.8" />
	<field name="sub_module" descr="Sub module index" access="INDEX" offset="0x0.16" size="0x0.4" />
	<field name="module_index" descr="Module index" access="INDEX" offset="0x0.24" size="0x0.7" />
	<field name="num_of_faults_to_trigger" descr="number of faults the user want to trigger sequantioaly" access="WO" offset="0x4.0" size="0x0.6" />
	<field name="fault_type" descr="Select the fault type. if the fault has no diffrence between alarm level and warning level, tis field will be neglected:\;0: alarm\;1: warning" access="WO" enum="alarm=0x0,warning=0x1" offset="0x4.10" size="0x0.2" />
	<field name="time_interval_between_faults" descr="the time interval between each fault to be trigger. In 100msec resolution" access="WO" offset="0x4.16" size="0x0.7" />
	<field name="set_laser_source_fault" descr="fault selector, only relevant when the module index related to ELS module:\;0: no_fault_to_trigger\;1: apc_fault\;2: tec_control_loop_fault\;3: laser_high_power_fault\;4: laser_low_power_fault\;5: laser_ramping_timeout_fault" access="WO" enum="no_fault_to_trigger=0x0,apc_fault=0x1,tec_control_loop_fault=0x2,laser_high_power_fault=0x3,laser_low_power_fault=0x4,laser_ramping_timeout_fault=0x5" offset="0x8.0" size="0x0.5" />
	<field name="laser_source_faults_cap" descr="Faults capability:\;Bit 0: apc_fault\;Bit 1: tec_control_loop_fault\;Bit 2: laser_high_power_fault\;Bit 3: laser_low_power_fault\;Bit 4: laser_ramping_timeout_fault" access="RO" enum="apc_fault=0x1,tec_control_loop_fault=0x2,laser_high_power_fault=0x4,laser_low_power_fault=0x8,laser_ramping_timeout_fault=0x10" offset="0x8.15" size="0x0.12" />
	<field name="module_type_cap" descr="Module type capability:\;0: undefined\;1: laser_source\;2: cpo_module\;" access="RO" enum="undefined=0x0,laser_source=0x1,cpo_module=0x2" offset="0x8.28" size="0x0.4" />
	<field name="cpo_module_faults_cap" descr="Faults capability:\;Bit 0: apc_fault\;Bit 1: tec_control_loop_fault\;Bit 2: laser_high_power_fault\;Bit 3: laser_low_power_fault\;Bit 4: laser_ramping_timeout_fault\;Bit 5: fiber_check_fault\;Bit 6: laser_tune_fault\;Bit 7: laser_fine_tune_fault" access="RO" enum="apc_fault=0x1,tec_control_loop_fault=0x2,laser_high_power_fault=0x4,laser_low_power_fault=0x8,laser_ramping_timeout_fault=0x10,fiber_check_fault=0x20,laser_tune_fault=0x40,laser_fine_tune_fault=0x80" offset="0xC.15" size="0x0.12" />
</node>

<node name="pmlp_reg_ext" descr="" size="0x40.0" >
	<field name="width" descr="0: unmap_local_port\;1: x1 - lane 0 is used\;2: x2 - lanes 0,1 are used\;4: x4 - lanes 0,1,2 and 3 are used\;8: x8 - lanes 0-7 are used\;\;Other - reserved" access="RW" enum="unmap_local_port=0x0,x1=0x1,x2=0x2,x4=0x4,x8=0x8" offset="0x0.0" size="0x0.8" />
	<field name="plane_ind" descr="Reserved for non-planarized port.\;Plane port index of the aggregated port. A value of 0 refers to the aggregated port only." access="INDEX" offset="0x0.8" size="0x0.4" />
	<field name="lp_msb" descr="Local port number [9:8]" access="INDEX" offset="0x0.12" size="0x0.2" />
	<field name="local_port" descr="Local port number." access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="m_lane_m" descr="Module lane mapping: \;0 - Local to Module mapping include module lanes mapping\;1 - Local to Module mapping only, without lane mapping\;\;When this operational is set (&apos;1&apos;), the following fields are ignored in SET command and should return the value &quot;0&quot; in GET commands: \;PMLP.rxtx\;PMLP.lane&lt;i&gt;_module_mapping.tx_lane\;PMLP.lane&lt;i&gt;_module_mapping.rx_lane" access="OP" offset="0x0.28" size="0x0.1" />
	<field name="rxtx" descr="Use different configuration for RX and TX.\;If this bit is cleared, the TX value is used for both RX and TX. When set, the RX configuration is taken from the separate field. This is to enable backward compatible implementation." access="RW" offset="0x0.31" size="0x0.1" />
	<field name="lane_module_mapping" descr="Module SerDes for lane &lt;i&gt;\;Up to 8 SerDes in a module can be mapped to a local port." subnode="lane_2_module_mapping_ext" access="RW" high_bound="7" low_bound="0" offset="0x4.0" size="0x20.0" />
</node>

<node name="pmlpe_reg_ext" descr="" size="0x40.0" >
	<field name="width" descr="0: unmap_local_port\;1: x1 - lane 0 is used\;2: x2 - lanes 0,1 are used\;4: x4 - lanes 0,1,2 and 3 are used\;8: x8 - lanes 0-7 are used\;\;Other - reserved" access="RO" enum="unmap_local_port=0x0,x1=0x1,x2=0x2,x4=0x4,x8=0x8" offset="0x0.0" size="0x0.8" />
	<field name="lp_msb" descr="Local port number [9:8]" access="INDEX" offset="0x0.12" size="0x0.2" />
	<field name="local_port" descr="Local port number." access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="rxtx" descr="Use different configuration for RX and TX.\;If this bit is cleared, the TX value is used for both RX and TX. When set, the RX configuration is taken from the separate field. This is to enable backward compatible implementation." access="RO" offset="0x0.31" size="0x0.1" />
	<field name="lane_module_mapping" descr="Module SerDes for lane &lt;i&gt;\;Up to 8 SerDes in a module can be mapped to a local port." subnode="lane_to_module_mapping_ext" access="RO" high_bound="7" low_bound="0" offset="0x4.0" size="0x20.0" />
</node>

<node name="pmlr_reg_ext" descr="" size="0x28.0" >
	<field name="status" descr="0- Normal mission mode.\;1- Module is disabled/not connected.\;2- unsupported configuration setting\;3- input loopback is enabled\;4- output loopback is enabled" access="RO" offset="0x0.0" size="0x0.4" />
	<field name="lane_mask" descr="not relevant for port_module = local port\;Logical lanes of module to configure or read\;For set function bitmask of lanes to set\;For read only one bit shall be set.\;\;Note:\;Media side may be different number of lanes than host side, configuration is done by logical lane of media side corresponding to port number" access="INDEX" offset="0x0.4" size="0x0.8" />
	<field name="lp_msb" descr="not relevant for port_module = module index\;Local port number [9:8]" access="INDEX" offset="0x0.12" size="0x0.2" />
	<field name="pnat" descr="Port number access type. determines the way local_port is \;interpreted:\;0: Local_port_number\;1: IB_port_number\;3: Out_of_band_or_PCI" access="INDEX" offset="0x0.14" size="0x0.2" />
	<field name="local_port" descr="if port_module = local port-&gt; Local port number \;if port_module = module index -&gt; Module number" access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="slot_index" descr="Reserved for HCA\;Slot_index \;Slot_index = 0 represent the onboard (motherboard). \;In case of non modular system only slot_index = 0 is available." access="INDEX" offset="0x0.24" size="0x0.4" />
	<field name="host_media" descr="Host or Media lanes\;0 - Media lanes\;1 - Host lanes" access="INDEX" offset="0x0.30" size="0x0.1" />
	<field name="lb_cap" descr="Modules Loopback capabilities - bitmask\;0x00: loopback not supported\;\;Bit 0: Simultaneous Host and Media side Loopbacks\;Bit 1: Per Lane Loopback supported\;Bit 2: Output Loopback\;Bit 3: Input loopback\;\;Note: See CMIS spec for input/output loopback definition" access="RO" offset="0x4.0" size="0x0.8" />
	<field name="lb_en" descr="Modules Loopback enable only one bit shall be set.\;According to host_media field index\;0x0 disable all loopbacks\;Bit 0: Enable Input Loopback\;Bit 1: Enable Output Loopback\;\;Note:\;For Configuration that is not supported by capability it will be rejected." access="RW" offset="0x4.16" size="0x0.8" />
</node>

<node name="pmlse_reg_ext" descr="" size="0x10.0" >
	<field name="laser_mask" descr="laser bitmask selector. each bit represent a logical laser." access="RO" offset="0x0.0" size="0x0.8" />
	<field name="module_index" descr="Module index" access="INDEX" offset="0x0.24" size="0x0.7" />
	<field name="operation_bandwidth" descr="Possible FW capability to handle operation lasers bandwidth:\;Bit 0: one_laser_parallelism\;Bit 1: two_lasers_parallelism\;Bit 2: four_lasers_parallelism\;Bit 3: eight_lasers_parallelism" access="RO" enum="one_laser_parallelism=0x1,two_lasers_parallelism=0x2,four_lasers_parallelism=0x4,eight_lasers_parallelism=0x8" offset="0x4.0" size="0x0.4" />
	<field name="laser7_operation" descr="Get laser operation, 3 bits per laser:\;0: no_operation\;1: fiber_check\;2: laser_tuning\;3: laser_up" access="RO" offset="0x4.8" size="0x0.3" />
	<field name="laser6_operation" descr="Get laser operation, 3 bits per laser:\;0: no_operation\;1: fiber_check\;2: laser_tuning\;3: laser_up" access="RO" offset="0x4.11" size="0x0.3" />
	<field name="laser5_operation" descr="Get laser operation, 3 bits per laser:\;0: no_operation\;1: fiber_check\;2: laser_tuning\;3: laser_up" access="RO" offset="0x4.14" size="0x0.3" />
	<field name="laser4_operation" descr="Get laser operation, 3 bits per laser:\;0: no_operation\;1: fiber_check\;2: laser_tuning\;3: laser_up" access="RO" offset="0x4.17" size="0x0.3" />
	<field name="laser3_operation" descr="Get laser operation, 3 bits per laser:\;0: no_operation\;1: fiber_check\;2: laser_tuning\;3: laser_up" access="RO" offset="0x4.20" size="0x0.3" />
	<field name="laser2_operation" descr="Get laser operation, 3 bits per laser:\;0: no_operation\;1: fiber_check\;2: laser_tuning\;3: laser_up" access="RO" offset="0x4.23" size="0x0.3" />
	<field name="laser1_operation" descr="Get laser operation, 3 bits per laser:\;0: no_operation\;1: fiber_check\;2: laser_tuning\;3: laser_up" access="RO" offset="0x4.26" size="0x0.3" />
	<field name="laser0_operation" descr="Get laser operation, 3 bits per laser:\;0: no_operation\;1: fiber_check\;2: laser_tuning\;3: laser_up" access="RO" enum="no_operation=0x0,fiber_check=0x1,laser_tuning=0x2,laser_up=0x3" offset="0x4.29" size="0x0.3" />
	<field name="get_operation_status_laser7" descr="Get laser state, 4 bits per laser:\;0: no_operation_received\;1: operation_in_progress\;2: operation_succeeded\;3: operation_failed\;4: operation_failed_fiber_check_was_not_done\;5: operation_failed_due_to_no_power_setpoint\;6: ELS_laser_failure - see PDDR.module_info.els_laser_fault_state\;7: operation_failed_due_to_operation_abort\;8: operation_failed_due_to_timeout9: operation_failed_module_uninitialized\;10: operation_failed_laser_tune_was_not_done" access="RO" offset="0x8.0" size="0x0.4" />
	<field name="get_operation_status_laser6" descr="Get laser state, 4 bits per laser:\;0: no_operation_received\;1: operation_in_progress\;2: operation_succeeded\;3: operation_failed\;4: operation_failed_fiber_check_was_not_done\;5: operation_failed_due_to_no_power_setpoint\;6: ELS_laser_failure - see PDDR.module_info.els_laser_fault_state\;7: operation_failed_due_to_operation_abort\;8: operation_failed_due_to_timeout9: operation_failed_module_uninitialized\;10: operation_failed_laser_tune_was_not_done" access="RO" offset="0x8.4" size="0x0.4" />
	<field name="get_operation_status_laser5" descr="Get laser state, 4 bits per laser:\;0: no_operation_received\;1: operation_in_progress\;2: operation_succeeded\;3: operation_failed\;4: operation_failed_fiber_check_was_not_done\;5: operation_failed_due_to_no_power_setpoint\;6: ELS_laser_failure - see PDDR.module_info.els_laser_fault_state\;7: operation_failed_due_to_operation_abort\;8: operation_failed_due_to_timeout9: operation_failed_module_uninitialized\;10: operation_failed_laser_tune_was_not_done" access="RO" offset="0x8.8" size="0x0.4" />
	<field name="get_operation_status_laser4" descr="Get laser state, 4 bits per laser:\;0: no_operation_received\;1: operation_in_progress\;2: operation_succeeded\;3: operation_failed\;4: operation_failed_fiber_check_was_not_done\;5: operation_failed_due_to_no_power_setpoint\;6: ELS_laser_failure - see PDDR.module_info.els_laser_fault_state\;7: operation_failed_due_to_operation_abort\;8: operation_failed_due_to_timeout9: operation_failed_module_uninitialized\;10: operation_failed_laser_tune_was_not_done" access="RO" offset="0x8.12" size="0x0.4" />
	<field name="get_operation_status_laser3" descr="Get laser state, 4 bits per laser:\;0: no_operation_received\;1: operation_in_progress\;2: operation_succeeded\;3: operation_failed\;4: operation_failed_fiber_check_was_not_done\;5: operation_failed_due_to_no_power_setpoint\;6: ELS_laser_failure - see PDDR.module_info.els_laser_fault_state\;7: operation_failed_due_to_operation_abort\;8: operation_failed_due_to_timeout9: operation_failed_module_uninitialized\;10: operation_failed_laser_tune_was_not_done" access="RO" offset="0x8.16" size="0x0.4" />
	<field name="get_operation_status_laser2" descr="Get laser state, 4 bits per laser:\;0: no_operation_received\;1: operation_in_progress\;2: operation_succeeded\;3: operation_failed\;4: operation_failed_fiber_check_was_not_done\;5: operation_failed_due_to_no_power_setpoint\;6: ELS_laser_failure - see PDDR.module_info.els_laser_fault_state\;7: operation_failed_due_to_operation_abort\;8: operation_failed_due_to_timeout9: operation_failed_module_uninitialized\;10: operation_failed_laser_tune_was_not_done" access="RO" offset="0x8.20" size="0x0.4" />
	<field name="get_operation_status_laser1" descr="Get laser state, 4 bits per laser:\;0: no_operation_received\;1: operation_in_progress\;2: operation_succeeded\;3: operation_failed\;4: operation_failed_fiber_check_was_not_done\;5: operation_failed_due_to_no_power_setpoint\;6: ELS_laser_failure - see PDDR.module_info.els_laser_fault_state\;7: operation_failed_due_to_operation_abort\;8: operation_failed_due_to_timeout9: operation_failed_module_uninitialized\;10: operation_failed_laser_tune_was_not_done" access="RO" offset="0x8.24" size="0x0.4" />
	<field name="get_operation_status_laser0" descr="Get laser state, 4 bits per laser:\;0: no_operation_received\;1: operation_in_progress\;2: operation_succeeded\;3: operation_failed\;4: operation_failed_fiber_check_was_not_done\;5: operation_failed_due_to_no_power_setpoint\;6: ELS_laser_failure - see PDDR.module_info.els_laser_fault_state\;7: operation_failed_due_to_operation_abort\;8: operation_failed_due_to_timeout9: operation_failed_module_uninitialized\;10: operation_failed_laser_tune_was_not_done" access="RO" enum="no_operation_received=0x0,operation_in_progress=0x1,operation_succeeded=0x2,operation_failed=0x3,operation_failed_fiber_check_was_not_done=0x4,operation_failed_due_to_no_power_setpoint=0x5,ELS_laser_failure=0x6,operation_failed_due_to_operation_abort=0x7,operation_failed_due_to_timeout9=0x8,operation_failed_laser_tune_was_not_done=0xa" offset="0x8.28" size="0x0.4" />
</node>

<node name="pmmp_cmis_protocol_override_layout_ext" descr="" size="0xc.0" >
	<field name="host_electrical_compliance" descr="Host Electrical compliance code per CMIS byte 86 based on SFF-8024 table 4-5\;0 - unspecified\;1- 1000BASE - CX\;2 - XAUI\;3 - XFI\;4 - SFI\;5 - 25GAUI C2M\;6 - XLAUI C2M\;7 - XLPPI\;8 - LAUI-2 C2M\;9 - 50GAUI-2 C2M\;10 - 50GAUI-1 C2M\;11 - CAUI-4 C2M\;13 - 100GAUI-2 C2M\;15 - 200GAUI-4 C2M\;17 - 400GAUI-8 C2M\;20 - 25GBASE-CR CA-L\;21 - 25GBASE-CR CA-S\;22 - 25GBASE-CR CA-N\;23 - 40GBASE-CR4\;24 - 50GBASE-CR\;26 - 100GBASE-CR4\;27 - 100GBASE-CR2\;28 - 200GBASE-CR4\;29 - 400GBASE-CR8\;\;65 - CAUI-4 C2M no FEC\;66 - CAUI-4 C2M RS FEC\;67 - 50GBASE-CR2 RS FEC\;68 - 50GBASE-CR2 FC FEC\;69 - 50GBASE-CR2 no FEC" access="RW" offset="0x0.0" size="0x0.8" />
	<field name="cable_breakout" descr="bits 7-0 as per byte 210 in CMIS, Near-End implementation\;Bit 0 - Channel 1 implementation \;Bit 1 - Channel 2 implementation\;Bit 2 - Channel 3 implementation\;Bit 3 - Channel 4 implementation\;Bit 4- Channel 5 implementation \;Bit 5- Channel 6 implementation\;Bit 6- Channel 7 implementation\;Bit 7- Channel 8 implementation\;\;for each channel:\;0 - Channel implemented \;1 - Channel not - implemented\;\;bit 12-8 as per byte 211 4-0 in CMIS, Far-End implementation\;" access="RW" offset="0x0.8" size="0x0.13" />
	<field name="media_type_encoding" descr="Byte 85 in CMIS. Media type encoding override\;0: undefined\;1: Optical_MMF\;2: Optical_SMF\;3: Passive_copper\;4: Active_cables\;5: BASE_T" access="RW" offset="0x0.21" size="0x0.4" />
	<field name="mod_pwrup_maxduration" descr="Module transition to high power maximum duration. coded according to table 8-29 of CMIS." access="RW" offset="0x0.28" size="0x0.4" />
	<field name="media_compliance" descr="Module media interface compliance for CMIS, per byte 87.\;Values taken according to module_media_type from SFF-8024:\;\;If MMF - SFF-8024 table 4-6, MM media interface codes\;If SMF - SFF-8024 table 4-7, SM media interface code\;\;If Active cable- SFF-8024 table 4-9 Active cable assembly code:\;0 -unspecified\;1 - Active cable assembly with BER &lt; 1e-12\;2 - Active cable assembly with BER &lt; 5e-5\;3 - Active cable assembly with BER &lt; 2.6e-4\;4 - Active cable assembly with BER &lt; 1e-6" access="RW" offset="0x4.0" size="0x0.8" />
	<field name="module_media_type" descr="Module media type encoding, per byte 85 of CMIS:\;0 - undefined\;1 - MMF\;2 - SMF\;3 - passive Copper\;4 - Active cables\;5 - Base-T" access="RW" offset="0x4.8" size="0x0.8" />
	<field name="dp_tx_off_maxduration" descr="Data path turn off maximum duration. coded according to table 8-29 of CMIS 4.0." access="RW" offset="0x4.16" size="0x0.4" />
	<field name="dp_tx_on_maxduration" descr="Data path turn on maximum duration. coded according to table 8-29 of CMIS 4.0." access="RW" offset="0x4.20" size="0x0.4" />
	<field name="dp_init_maxduration" descr="Data path init maximum duration. coded according to table 8-29 of CMIS 4.0." access="RW" offset="0x4.28" size="0x0.4" />
	<field name="cmis_override_mask" descr="bitmask of override from CMIS protocol bytes page.\;Relevant only when Bit 9 is set in eeprom_override field.\;inverse polarity.\;0 - override\;1 - don&apos;t override\;\;Bit 0 - cable_breakout\;Bit 1 -host_electrical_compliance\;Bit 2 - module_media_type\;Bit 3 - media_compliance\;Bit 4 - mod_pwrup_maxDuration\;Bit 5 - dp_init_maxDuration\;Bit 6 - dp_tx_on_maxDuration\;Bit 7 - dp_tx_off_maxDuration\;Bit 9 - media_type_encoding" access="RW" offset="0x8.0" size="0x0.16" />
</node>

<node name="pmmp_qsfp_protocol_override_layout_ext" descr="" size="0xc.0" >
	<field name="ethernet_compliance_code" descr="Ethernet Compliance Codes bit mask (10/40G/100G)\;Override byte131 per SFF-8636:\;Bit 7 - Extended Specification Compliance valid\;Bit 6 - 10GBASE-LRM\;Bit 5 - 10GBASE-LR\;Bit 4 - 10GBASE-SR\;Bit 3 - 40GBASE-CR4\;Bit 2 - 40GBASE-SR4\;Bit 1 - 40GBASE-LR4\;Bit 0 - 40G Active Cable (XLPPI)" access="RW" offset="0x0.0" size="0x0.8" />
	<field name="cable_breakout" descr="Override of byte113 per SFF-8636:\;Bit 6-4 (Far End):\;0 - Far end is unspecified\;1 - Cable with single far end with 4 channels implemented, or separable module with 4-channel connector\;2 - Cable with single far end with 2 channels implemented, or separable module with 2-channel connector\;3 - Cable with single far end with 1 channel implemented, or separable module with 1-channel connector\;4 - 4 far ends with 1 channel implemented in each (i.e. 4x1 break out)\;5 - 2 far ends with 2 channels implemented in each (i.e. 2x2 break out)\;6 - 2 far ends with 1 channel implemented in each (i.e. 2x1 break out)\;\;Bit 3-0 (Near End)\;Bit 0 - Channel 1 implementation \;Bit 1 - Channel 2 implementation\;Bit 2 - Channel 3 implementation\;Bit 3 - Channel 4 implementation\;\;for each channel:\;0 - Channel implemented \;1 - Channel not - implemented\;" access="RW" offset="0x0.8" size="0x0.8" />
	<field name="giga_ethernet_compliance_code" descr="Gigabit Ethernet Compliance Codes \;Override byte134 per SFF-8636:\;Bit 3 - 1000BASE-T\;Bit 2 - 1000BASE-CX\;Bit 1 - 1000BASE-LX\;Bit 0 - 1000BASE-SX" access="RW" offset="0x4.0" size="0x0.8" />
	<field name="ext_ethernet_compliance_code" descr="Extended Specification Compliance Codes \;Override byte192 per SFF-8636:\;0 - Unspecified\;1 - 100G AOC (Active Optical Cable) or 25GAUI C2M AOC with FEC\;2 - 100GBASE-SR4 or 25GBASE-SR\;3 - 100GBASE-LR4 or 25GBASE-LR\;4 - 100GBASE-ER4 or 25GBASE-ER\;5 - 100GBASE-SR10\;6 - 100G CWDM4\;7 - 100G PSM4 Parallel SMF\;8 - 100G ACC (Active Copper Cable) or 25GAUI C2M ACC. with FEC\;11 - 100GBASE-CR4 or 25GBASE-CR CA-L\;12 - 25GBASE-CR CA-S\;13 - 25GBASE-CR CA-N\;16 - 40GBASE-ER4\;17 - 4 x 10GBASE-SR\;18 - 40G PSM4 Parallel SMF\;19 - G959.1 profile P1I1-2D1 (10709 MBd, 2km, 1310nm SM)\;20 - G959.1 profile P1S1-2D2 (10709 MBd, 40km, 1550nm SM)\;21 - G959.1 profile P1L1-2D2 (10709 MBd, 80km, 1550nm SM)\;22 - 10GBASE-T with SFI electrical interface\;23 - 100G CLR4\;24 - 100G AOC or 25GAUI C2M AOC. No FEC\;25 - 100G ACC or 25GAUI C2M ACC. No FEC" access="RW" offset="0x4.8" size="0x0.8" />
</node>

<node name="pmmp_reg_ext" descr="" size="0x40.0" >
	<field name="sticky" descr="When set will keep eeprom_override values after plug out event" access="RW" offset="0x0.0" size="0x0.1" />
	<field name="apply_im" descr="When set, override will be configured immediately without PMAOS toggle requirement if supported.\;For the list of supported overrides, see eeprom_override description.\;supported if PCAM.bit 87 set.\;Field is ignored when set_laser_state is set to a non-zero value." access="WO" offset="0x0.1" size="0x0.1" />
	<field name="els_trigger_mode" descr="Relevant for ELS module for IB CPO switches only. Relevant for User to configure the ELS module states: \;0: Do_not_generate_event\;1: Generate_Event\;" access="WO" offset="0x0.2" size="0x0.2" />
	<field name="laser_mask" descr="Relevant for ELS module for IB CPO switches only, ELS lasers bitmask. When set, only selected lasers, will follow the set_laser_operation field.\;" access="INDEX" offset="0x0.8" size="0x0.8" />
	<field name="module" descr="Module number." access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="slot_index" descr="Reserved for HCA\;Slot_index \;Slot_index = 0 represent the onboard (motherboard). \;In case of non modular system only slot_index = 0 is available." access="INDEX" offset="0x0.24" size="0x0.4" />
	<field name="override_target" descr="Relevant only for power_setpoint_lane[] override field. When set, the power setpoint parameters will be written into non-voletile memory in ELSFP module, instead of CMIS page." access="OP" offset="0x0.29" size="0x0.1" />
	<field name="eeprom_override" descr="Override/ignore EEPROM advertisement properties bitmask: \;Bit 0: Override_cable_protocols_and_technology_for_QSFP\;Bit 1: Override_cable_protocols_and_technology_for_SFP\;Bit 2: Ignore_Power_Class - set high power\;Bit 3: Override_Cable_Length \;Bit 4: Override_Attenuation\;Bit 8: Set_Module_to_Low_Power\;Bit 9: Override_cable_protocols_and_technology_for_CMIS - based modules QSFP-DD/ OSFP/ DSFP/ SFP-DD\;Bit 11: Override_module_type\;Bit 12: Override_ELS_lane_power\;Bit 13: Override_ELS_output_fiber_checked_flag\;Bit 14: Override_ELS_lane_enable\;Supported overrides with apply_im is bits 8, 12, 13, 14.\;rest of overrides will be applied only after PMAOS toggle.\;For bits 11-14, the override is done separately - each configuration at a time" access="RW" enum="Override_cable_protocols_and_technology_for_QSFP=0x1,Override_cable_protocols_and_technology_for_SFP=0x2,Ignore_Power_Class=0x4,Override_Cable_Length=0x8,Override_Attenuation=0x10,Set_Module_to_Low_Power=0x100,Override_cable_protocols_and_technology_for_CMIS=0x200,Override_module_type=0x800,Override_ELS_lane_power=0x1000,Override_ELS_output_fiber_checked_flag=0x2000,Override_ELS_lane_enable=0x4000" offset="0x4.0" size="0x0.16" />
	<field name="eeprom_override_mask" descr="Write Mask bit (negative polarity):\;0 - allow write\;1 - ignore write\;On write commands, indicates which of the bits from eeprom_override field are updated.\;Reserved on read operations." access="WO" offset="0x4.16" size="0x0.16" />
	<field name="qsfp_cable_protocol_technology" descr="Protocol technology override for QSFP cable or CMIS based cable (QSFP-DD/OSFP)\;Valid only when the protocols and technology for QSFP is overridden as indicated by eeprom_override\;Table  1828, &quot;PMMP - QSFP Protocol Bytes Override Layout,&quot; on page  2424\;Table  1832, &quot;PMMP - CMIS Protocol Bytes Override Layout,&quot; on page  2428" subnode="pmmp_reg_qsfp_cable_protocol_technology_auto_ext" access="RW" offset="0x8.0" size="0xc.0" union_selector="$(parent).eeprom_override" />
	<field name="sfp_cable_protocol_technology" descr="Valid only when the protocols and technology is overridden as indicated by eeprom_override\;Table  1830, &quot;PMMP - SFP Protocol Bytes Override Layout,&quot; on page  2427" subnode="pmmp_reg_sfp_cable_protocol_technology_auto_ext" access="RW" offset="0x14.0" size="0xc.0" union_selector="$(parent).eeprom_override" />
	<field name="cable_length" descr="Length of cable assembly, units of 1 m for non CMIS cables.\;\;for CMIS cables, represents cable length field:\;bits 6:7 represent cable_length_multiplier for calculating cable length\;00 - 0.1 multiplier (0.1 to 6.3m)\;01- 1 multiplier (1 to 63m)\;10 - 10 multiplier (10 to 630m)\;11 - 100 multiplier (100 to 6300m)\;\;Valid only when the cable length is overridden as indicated by eeprom_override." access="RW" offset="0x20.0" size="0x0.8" />
	<field name="module_type" descr="0: passive_copper_cable\;1: active_copper_cable\;2: Liner_far_end_equalized_copper\;3: Linear_full_equalized_copper\;4: Linear_optical_module - Direct Drive\;5: active_optical_module\;6: on_board_retimer_over_transceiver" access="RW" offset="0x20.8" size="0x0.4" />
	<field name="set_laser_operation" descr="Relevant for ELS module for IB CPO switches only. Set Laser operation:\;0: no_operation\;1: fiber_check\;2: laser_tuning\;3: laser_up\;6: laser_fine_tune\;7: laser_wavelength_tune" access="WO" offset="0x20.29" size="0x0.3" />
	<field name="attenuation_5g" descr="Valid only when the attenuation is overridden as indicated by eeprom_override.\;Attenuation - total channel attenuation @ 5GHz in db." access="RW" offset="0x24.0" size="0x0.8" />
	<field name="attenuation_7g" descr="Valid only when the attenuation is overridden as indicated by eeprom_override.\;Attenuation - total channel attenuation @ 7GHz in db." access="RW" offset="0x24.8" size="0x0.8" />
	<field name="attenuation_12g" descr="Valid only when the attenuation is overridden as indicated by eeprom_override.\;Attenuation - total channel attenuation @ 12GHz in db." access="RW" offset="0x24.16" size="0x0.8" />
	<field name="attenuation_25g" descr="Valid only when the attenuation is overridden as indicated by eeprom_override.\;Attenuation - total channel attenuation @ 25GHz in db." access="RW" offset="0x24.24" size="0x0.8" />
	<field name="attenuation_53g" descr="Valid only when the attenuation is overridden as indicated by eeprom_override.\;Attenuation - total channel attenuation @ 53GHz in db." access="RW" offset="0x28.8" size="0x0.8" />
	<field name="lane_enable" descr="Laser Enable. Valid only when override_ELS_lane_enable_and_ELS_putput_fiber_checked_flag is overridden as indicated by eeprom_override. Bit mask for ELS laser, should be same bitmask as output_fiber_checked_flag:\;0 - disable laser\;1 - enable laser" access="RW" offset="0x28.16" size="0x0.8" />
	<field name="output_fiber_checked_flag" descr="Set power restriction for ELS laser. Valid only when override_ELS_lane_enable is overridden as indicated by eeprom_override. This bit mask, should be same bitmask as lane_enable:\;0 - set restriction on\;1 - set restriction off" access="RW" offset="0x28.24" size="0x0.8" />
	<field name="power_setpoint_lane" descr="Laser optical power for laser &lt;i&gt;, in unit of 10   W. Valid only when override_ELS_lanepower is overridden as indicated by eeprom_override" access="RW" high_bound="7" low_bound="0" offset="0x30.16" size="0x10.0" />
</node>

<node name="pmmp_reg_qsfp_cable_protocol_technology_auto_ext" descr="" attr_is_union="1" size="0xc.0" >
	<field name="pmmp_cmis_protocol_override_layout_ext" descr="" subnode="pmmp_cmis_protocol_override_layout_ext" offset="0x0.0" selected_by="Override_cable_protocols_and_technology_for_CMIS" size="0xc.0" />
	<field name="pmmp_qsfp_protocol_override_layout_ext" descr="" subnode="pmmp_qsfp_protocol_override_layout_ext" offset="0x0.0" selected_by="Override_cable_protocols_and_technology_for_QSFP" size="0xc.0" />
</node>

<node name="pmmp_reg_sfp_cable_protocol_technology_auto_ext" descr="" attr_is_union="1" size="0xc.0" >
	<field name="pmmp_sfp_protocol_bytes_override_ext" descr="" subnode="pmmp_sfp_protocol_bytes_override_ext" offset="0x0.0" selected_by="Override_cable_protocols_and_technology_for_SFP" size="0xc.0" />
</node>

<node name="pmmp_sfp_protocol_bytes_override_ext" descr="" size="0xc.0" >
	<field name="tengig_ethernet_compliance_code" descr="10G Ethernet Compliance Codes\;Override byte3 per SFF-8472:\;Bit 7 - 10G Base-ER \;Bit 6 - 10G Base-LRM \;Bit 5 - 10G Base-LR \;Bit 4 - 10G Base-SR\;" access="RW" offset="0x0.0" size="0x0.8" />
	<field name="cable_technology" descr="SFP+ Cable Technology\;Override byte8 per SFF-8472:\;Bit 3 - Active Cable\;Bit 2 - Passive Cable" access="RW" offset="0x0.8" size="0x0.8" />
	<field name="bit_rate" descr="Override byte12 per SFF-8472\;The nominal bit (signaling) rate (BR, nominal) is specified in units of 100 MBd, rounded off to the nearest 100 MBd.\;A value of FFh indicates the bit rate is greater than 25.0Gb/s" access="RW" offset="0x0.16" size="0x0.8" />
	<field name="ethernet_compliance_code" descr="Ethernet Compliance Codes \;Override byte6 per SFF-8472:\;Bit 7 - BASE-PX \;Bit 6 - BASE-BX10 \;Bit 5 - 100BASE-FX \;Bit 4 - 100BASE-LX/LX10 \;Bit 3 - 1000BASE-T \;Bit 2 - 1000BASE-CX \;Bit 1 - 1000BASE-LX \;Bit 0 - 1000BASE-SX\;" access="RW" offset="0x4.0" size="0x0.8" />
	<field name="ext_ethernet_compliance_code" descr="Extended Specification Compliance Codes (25GE) \;Override byte36 per SFF-8472:\;0 - Unspecified\;1 - 100G AOC (Active Optical Cable) or 25GAUI C2M AOC with FEC\;2 - 100GBASE-SR4 or 25GBASE-SR\;3 - 100GBASE-LR4 or 25GBASE-LR\;4 - 100GBASE-ER4 or 25GBASE-ER\;5 - 100GBASE-SR10\;6 - 100G CWDM4\;7 - 100G PSM4 Parallel SMF\;8 - 100G ACC (Active Copper Cable) or 25GAUI C2M ACC. with FEC\;11 - 100GBASE-CR4 or 25GBASE-CR CA-L\;12 - 25GBASE-CR CA-S\;13 - 25GBASE-CR CA-N\;16 - 40GBASE-ER4\;17 - 4 x 10GBASE-SR\;18 - 40G PSM4 Parallel SMF\;19 - G959.1 profile P1I1-2D1 (10709 MBd, 2km, 1310nm SM)\;20 - G959.1 profile P1S1-2D2 (10709 MBd, 40km, 1550nm SM)\;21 - G959.1 profile P1L1-2D2 (10709 MBd, 80km, 1550nm SM)\;22 - 10GBASE-T with SFI electrical interface\;23 - 100G CLR4\;24 - 100G AOC or 25GAUI C2M AOC. No FEC\;25 - 100G ACC or 25GAUI C2M ACC. No FEC" access="RW" offset="0x4.8" size="0x0.8" />
</node>

<node name="pmpc_reg_ext" descr="" size="0x20.0" >
	<field name="module_state_updated" descr="On read operation:\;A bit vector where each bit represents a module (bit 0 represents module 0 etc). A set bit indicates one or more changes in the module state (plugged/unplugged/unknown) has happened since the last time the bit was cleared. The default is 1 in all relevant bits.\;On write operation:\;Used to clear the module_status_updated bits. Writing a set bit clears the relevant bit in the module_status_updated vector. Cleared bits in this field preserve the value of the relevant bit in the bit vector. The software cannot set a bit in the module_status_updated vector.\;Note: To prevent a case where an update is missed by the software, it is recommended to use the flow below:\;Read the module_status_updated vector\;Find a bit(s) relevant to a module(s) the software would like to handle\;Clear the relevant bit(s)\;Handle the module (e.g. read the module parameters using MCIA register)\;Read module_status_updated again to make sure the status did not change after reading the cable information." access="RW" high_bound="7" low_bound="0" offset="0x0.0" size="0x20.0" />
</node>

<node name="pmpd_reg_ext" descr="" size="0x30.0" >
	<field name="status" descr="0 - Diagnostic data not supported\;1 - Normal mission mode. \;2 - PRBS checker is not locked. \;3 - PRBS checker is locked." access="RO" offset="0x0.0" size="0x0.4" />
	<field name="cl" descr="clear counters" access="OP" offset="0x0.4" size="0x0.1" />
	<field name="lane" descr="Module lane number" access="INDEX" offset="0x0.8" size="0x0.4" />
	<field name="host_media" descr="Host or Media lanes\;0 - Media lanes\;1 - Host lanes" access="INDEX" offset="0x0.12" size="0x0.1" />
	<field name="module" descr="module to access" access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="slot_index" descr="Reserved for HCA\;Slot_index \;Slot_index = 0 represent the onboard (motherboard). \;In case of non modular system only slot_index = 0 is available." access="INDEX" offset="0x0.24" size="0x0.4" />
	<field name="errors_cap" descr="Bits Errors count capability" access="RO" offset="0x0.29" size="0x0.1" />
	<field name="ber_cap" descr="BER measure capability" access="RO" offset="0x0.30" size="0x0.1" />
	<field name="snr_cap" descr="SNR measure capability" access="RO" offset="0x0.31" size="0x0.1" />
	<field name="prbs_bits_high" descr="This counter provides information on the total amount of prbs traffic (bits) received on module&apos;s side." access="RO" offset="0x4.0" size="0x4.0" />
	<field name="prbs_bits_low" descr="This counter provides information on the total amount of prbs traffic (bits) received on module&apos;s side." access="RO" offset="0x8.0" size="0x4.0" />
	<field name="prbs_errors_high" descr="This counter provides information on the total amount of prbs errors detected on module&apos;s side." access="RO" offset="0xC.0" size="0x4.0" />
	<field name="prbs_errors_low" descr="This counter provides information on the total amount of prbs errors detected on module&apos;s side." access="RO" offset="0x10.0" size="0x4.0" />
	<field name="measured_snr" descr="SNR in dB\;0 - not supported." access="RO" offset="0x14.16" size="0x0.16" />
	<field name="ber_coef" descr="BER = raw_ber_coef*10^(-raw_ber_magnitude)" access="RO" offset="0x18.0" size="0x0.4" />
	<field name="ber_magnitude" descr="BER = raw_ber_coef*10^(-raw_ber_magnitude)" access="RO" offset="0x18.8" size="0x0.8" />
</node>

<node name="pmpe_reg_ext" descr="" size="0x10.0" >
	<field name="module_status" descr="Port operational state:\;1: plugged_enabled\;2: unplugged\;3: module_plugged_error - details in error_type \;5: unknown" access="RO" enum="plugged_enabled=0x1,unplugged=0x2,module_plugged_error=0x3,unknown=0x5" offset="0x0.0" size="0x0.4" />
	<field name="module" descr="Module number." access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="slot_index" descr="Reserved for HCA\;Slot_index \;Slot_index = 0 represent the onboard (motherboard). \;In case of non modular system only slot_index = 0 is available." access="INDEX" offset="0x0.24" size="0x0.4" />
	<field name="error_type" descr="Module error details:\;0x0: Power_Budget_Exceeded\;0x1: Long_Range_for_non_MLNX_cable_or_module\;0x2: Bus_stuck - (I2C Data or clock shorted)\;0x3: bad_or_unsupported_EEPROM\;0x4: Enforce_part_number_list\;0x5: unsupported_cable\;0x6: High_Temperature\;0x7: bad_cable - (Module/Cable is shorted)\;0x8: PMD_type_is_not_enabled - (see PMTPS).\;0xc: pcie_system_power_slot_Exceeded\;0xf: Boot_error - [DWIP]\;0x10: Recovery_error - [DWIP]\;0x11: Submodule_failure - [DWIP]\;0x13: els_critical_indication - [DWIP]\;Valid only when (oper_status = 0x3)." access="RO" enum="Power_Budget_Exceeded=0x0,Long_Range_for_non_MLNX_cable_or_module=0x1,Bus_stuck=0x2,bad_or_unsupported_EEPROM=0x3,Enforce_part_number_list=0x4,unsupported_cable=0x5,High_Temperature=0x6,bad_cable=0x7,PMD_type_is_not_enabled=0x8,pcie_system_power_slot_Exceeded=0xc,Boot_error=0xf,Recovery_error=0x10,Submodule_failure=0x11,els_critical_indication=0x13" offset="0x4.8" size="0x0.5" />
</node>

<node name="pmpr_reg_ext" descr="" size="0x10.0" >
	<field name="module" descr="Module number." access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="slot_index" descr="Reserved for HCA \;Slot_index \;Slot_index = 0 represent the onboard (motherboard). \;In case of non modular system only slot_index = 0 is available." access="INDEX" offset="0x0.24" size="0x0.4" />
	<field name="attenuation_5g" descr="Attenuation - total channel attenuation @ 5GHz in db." access="RW" offset="0x4.0" size="0x0.8" />
	<field name="attenuation_7g" descr="Attenuation - total channel attenuation @ 7GHz in db. \;A 0 value implies that attenuation_5g is used also for 7GHz" access="RW" offset="0x8.0" size="0x0.8" />
	<field name="attenuation_53g" descr="Attenuation - total channel attenuation @ 53GHz in db.\;A 0 value implies that attenuation_5g is used also for 25GHz" access="RW" offset="0x8.16" size="0x0.8" />
	<field name="attenuation_12g" descr="Attenuation - total channel attenuation @ 12GHz in db.\;A 0 value implies that attenuation_5g is used also for 12GHz" access="RW" offset="0xC.0" size="0x0.8" />
	<field name="attenuation_25g" descr="Attenuation - total channel attenuation @ 25GHz in db.\;A 0 value implies that attenuation_5g is used also for 25GHz" access="RW" offset="0xC.16" size="0x0.8" />
</node>

<node name="pmpt_reg_ext" descr="" size="0x1c.0" >
	<field name="status" descr="0 - Normal mission mode. \;1 - Module is not connected OR module doesn&apos;t support PRBS and diagnostics data\;2 - unsupported configuration setting\;3 - PRBS Generator only\;4 - PRBS Checker only \;5 - PRBS traffic both Checker and Generator\;Note: For lock status on PRBS data see PMPD.status" access="RO" offset="0x0.0" size="0x0.4" />
	<field name="lane_mask" descr="Reserved when (le=0 or ls = 0)\;Logical lane number mask.\;For Get operation only one bit shall be set" access="INDEX" offset="0x0.4" size="0x0.8" />
	<field name="host_media" descr="Host or Media lanes\;0 - Media lanes\;1 - Host lanes" access="INDEX" offset="0x0.12" size="0x0.1" />
	<field name="invt_cap" descr="PRBS inversion is supported" access="RO" offset="0x0.13" size="0x0.1" />
	<field name="swap_cap" descr="PAM4 MSB&lt;-&gt; LSB swapping is supported by the module" access="RO" offset="0x0.14" size="0x0.1" />
	<field name="module" descr="module index" access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="slot_index" descr="Reserved for HCA\;Slot_index \;Slot_index = 0 represent the onboard (motherboard). \;In case of non modular system only slot_index = 0 is available." access="INDEX" offset="0x0.24" size="0x0.4" />
	<field name="le" descr="Per Lane configuration enable (can be set only if ls = 1):\;0 - No per lane configuration\;1 - Per lane configurations\;When le is cleared, lane index is reserved and all PMPT configurations are taking place on all lanes.\;When le is set, configurations are taking place per lane based on lane index\;Affects lane indexing for set operations only, ignored for get operations" access="OP" offset="0x0.29" size="0x0.1" />
	<field name="ls" descr="Per Lane configuration support/capability: \;0 - No support of per lane configuration\;1 - Support of per lane configuration" access="RO" offset="0x0.30" size="0x0.1" />
	<field name="e" descr="Enable PRBS test mode bit:\;0 - PRBS is disabled.\;1 - PRBS is enabled." access="RW" offset="0x0.31" size="0x0.1" />
	<field name="prbs_modes_cap" descr="Supported module&apos;s PRBS capability (bitmask)\;Bit 0 - PRBS31 (x^31 + x^28 + 1)\;Bit 1 - PRBS23 (x^23 + x^18 + 1)\;Bit 5 - PRBS7 (x^7 + x^6 + 1)\;Bit 6 - PRBS11 (x^11 + x^9 + 1)\;Bit 11 - PRBS9 (x^9 + x^5 + 1)\;Bit 17 - PRBS13 (x^13 + x^12 + x^2+ x + 1)\;Bit 21 - SSPR\;Bit 22 - SSPRQ" access="RO" offset="0x4.0" size="0x4.0" />
	<field name="modulation" descr="Reserved for speeds below 53.125Gb/s (lane_rate_admin &lt; 7):\;0 - NRZ test pattern\;1 - PAM4 encoding" access="INDEX" offset="0x8.0" size="0x0.4" />
	<field name="ch_ge" descr="0 - Access is for both Checker and Generator (Can be used for Set operations only)\;1 - Access is for Generator\;2 - Access if for Checker\;Note: Checker and Generator must be in same rate" access="INDEX" offset="0x8.4" size="0x0.2" />
	<field name="invt_admin" descr="PRBS inversion enable bit, see ivnt_cap:\;0 - NO PRBS inversion\;1 - PRBS inversion" access="RW" offset="0x8.8" size="0x0.1" />
	<field name="swap_admin" descr="PAM4 MSB&lt;-&gt; LSB swapping enable bit, see swap_cap. \;0 - NO MSB&lt;-&gt; LSB swapping \;1 - MSB &lt;-&gt; LSB swapping" access="RW" offset="0x8.9" size="0x0.1" />
	<field name="prbs_mode_admin" descr="See prbs_mode_cap: \;0x0 - PRBS31 (x^31 + x^28 + 1)\;0x1 - PRBS23 (x^23 + x^18 + 1)\;0x5 - PRBS7 (x^7 + x^6 + 1)\;0x6 - PRBS11 (x^11 + x^9 + 1)\;0xB - PRBS9 (x^9 + x^5 + 1)\;0x11 - PRBS13 (x^13 + x^12 + x^2+ x + 1)\;0x15 - SSPR\;0x16 - SSPRQ" access="RW" offset="0x8.24" size="0x0.8" />
	<field name="lane_rate_cap" descr="Per lane rate capability (bitmask)\;Bit 0 - 1GE (1.25 Gb/s)\;Bit 1 - SDR (2.5 Gb/s) \;Bit 2 - Reserved\;Bit 3- 10GE/40GE (10.3125 Gb/s) \;Bit 4- FDR (14.0625 Gb/s) \;Bit 5- EDR / 25GE / 50GE / 100GE (25.78125 Gb/s) \;Bit 6- Reserved \;Bit 7- HDR /50GE / 100GE / 200GE / 400GE (26.5625Gbd / 53.125Gb/s) \;Bit 8- NDR /100GE / 200GE / 400GE / 800GE (53.125 Gbd / 106.25Gb/s)\;Bit 9 - XDR (106.25 Gbd / 212.5Gb/s)" access="RO" offset="0xC.16" size="0x0.16" />
	<field name="lane_rate_admin" descr="Lane rate be used in PRBS, see lane_rate_cap:\;0 - Non selected. \;1 - 1GE (1.25 Gb/s)\;2 - SDR (2.5 Gb/s) \;8 - 10GE/40GE (10.3125 Gb/s) \;16 - FDR (14.0625 Gb/s) \;32 - EDR / 25GE / 50GE / 100GE (25.78125 Gb/s) \;128 - HDR /50GE / 100GE / 200GE / 400GE (26.5625Gbd / 53.125Gb/s) \;256 - NDR /100GE / 200GE / 400GE / 800GE (53.125 Gbd / 106.25Gb/s)\;512 - XDR (106.25 Gbd / 212.5Gb/s)\;" access="RW" offset="0x10.16" size="0x0.16" />
</node>

<node name="pmsc_reg_ext" descr="" size="0x40.0" >
	<field name="port_mapping_updated" descr="On read operation:\;A bit vector where each bit represents a local port with +1 offset (bit 0 represents local port 1, bit 1 represent local port 2 etc). A set bit indicates one or more changes in the local port mapping (mapped/unmapped) has happened since the last time the bit was cleared. The default is 1 in all relevant bits.\;On write operation:\;Used to clear the port_mapping_updated bits. Writing a set bit clears the relevant bit in the port_mapping_updated vector. Cleared bits in this field preserve the value of the relevant bit in the bit vector. The software cannot set a bit in the port_mapping_updated vector.\;Note: To prevent a case where an update is missed by the software, it is recommended to use the flow below:\;Read the port_mapping_updated vector\;Find a bit(s) relevant to a local_port(s) the software would like to handle\;Clear the relevant bit(s)\;Handle the local port (e.g. read PMLPE)\;Read port_mapping_updated again to make sure the status did not change after reading the PMPLE information." access="RW" high_bound="7" low_bound="0" offset="0x0.0" size="0x20.0" />
</node>

<node name="pmscr_reg_ext" descr="" size="0x48.0" >
	<field name="prm_index" descr="Register to get / set the local port mask configurations\;0: PREI\;1: PFLDC\;2: PEDCC" access="INDEX" enum="PREI=0x0,PFLDC=0x1,PEDCC=0x2" offset="0x0.0" size="0x0.4" />
	<field name="prm_support" descr="Bitmask of the register that supports the multiple port set configuration.\;Bit 0: PREI\;Bit 1: PFLDC\;Bit 2: PEDCC\;\;Note that if the selected register index is not supported, a bad status will be returned." access="RO" enum="PREI=0x1,PFLDC=0x2,PEDCC=0x4" offset="0x0.8" size="0x0.8" />
	<field name="local_port_mask" descr="Local port mask for applying the register configuration based on the prm_index selected.\;For unmapped local_ports command is ignored." access="RW" high_bound="16" low_bound="0" offset="0x4.0" size="0x44.0" />
</node>

<node name="pmtdb_reg_ext" descr="" size="0x40.0" >
	<field name="status" descr="0 - success\;1 - number of ports exceed the module width\;2 - Module was not instantiated (check ini/modular switch configuration flow)\;3 - ports combination is not allowed" access="RO" offset="0x0.0" size="0x0.4" />
	<field name="sub_module" descr="Indicates start offset of module lanes in 8x granularity. relevant for modules with more than 8 lanes.\;0: lanes_0-7\;1: lanes_8_15\;2: lanes_16_23\;3: lanes_24_31" access="INDEX" offset="0x0.4" size="0x0.4" />
	<field name="num_ports" descr="Number of ports in a single module (split/breakout)\;Examples: \;if num_ports = 1 than only port1 should contain local_port information. \;if num_ports = 4 than port1, port 2, port3 and port4 should contain local_port information. \;\;The combination of port_width and num_ports also detriments the mapping of port_num&lt;x&gt; to module&apos;s lanes.\;\;port_num&lt;x&gt; uses module lanes:\;(X-1)*port_width: X*port_width - 1 \;\;if num_ports&gt; 0 than port_num1 uses module lanes 0:port_width-1\;if num_ports&gt;1 than port_num2 uses modules lanes port_width: 2*port_width - 1.\;if num_ports&gt;2 than port_num3 uses modules lanes 2*port_width: 3*port_width - 1.\;and so on." access="INDEX" offset="0x0.8" size="0x0.4" />
	<field name="ports_width" descr="Port&apos;s width\;0 - per port&lt;x&gt;_width indexes\;1 - 1x \;2 - 2x\;4 - 4x\;8 - 8x" access="INDEX" offset="0x0.12" size="0x0.4" />
	<field name="module" descr="Module number." access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="slot_index" descr="Reserved for HCA\;Slot_index \;Slot_index = 0 represent the onboard (motherboard). \;In case of non modular system only slot_index = 0 is available." access="INDEX" offset="0x0.24" size="0x0.4" />
	<field name="port_num2" descr="Return the local_port value which can be assigned to the module." access="RO" offset="0x4.0" size="0x0.10" />
	<field name="port2_width" descr="port 2 width. valid only if port_width set to 0." access="INDEX" offset="0x4.12" size="0x0.4" />
	<field name="port_num1" descr="Return the local_port value which can be assigned to the module.\;In case of more than one port, port&lt;x&gt; represent the /&lt;x&gt; port of the module. \;Example: \;port1 represent the &lt;label_port&gt; /1\;port2 represent the &lt;label_port&gt; /2\;port3 represent the &lt;label_port&gt; /3\;" access="RO" offset="0x4.16" size="0x0.10" />
	<field name="port1_width" descr="port 1 width. valid only if port_width set to 0.\;1 - 1x \;2 - 2x\;4 - 4x\;8 - 8x" access="INDEX" offset="0x4.28" size="0x0.4" />
	<field name="port_num4" descr="Return the local_port value which can be assigned to the module." access="RO" offset="0x8.0" size="0x0.10" />
	<field name="port4_width" descr="port 4 width. valid only if port_width set to 0." access="INDEX" offset="0x8.12" size="0x0.4" />
	<field name="port_num3" descr="Return the local_port value which can be assigned to the module." access="RO" offset="0x8.16" size="0x0.10" />
	<field name="port3_width" descr="port 3 width. valid only if port_width set to 0." access="INDEX" offset="0x8.28" size="0x0.4" />
	<field name="port_num6" descr="Return the local_port value which can be assigned to the module." access="RO" offset="0xC.0" size="0x0.10" />
	<field name="port6_width" descr="port 6 width. valid only if port_width set to 0." access="INDEX" offset="0xC.12" size="0x0.4" />
	<field name="port_num5" descr="Return the local_port value which can be assigned to the module." access="RO" offset="0xC.16" size="0x0.10" />
	<field name="port5_width" descr="port 5 width. valid only if port_width set to 0." access="INDEX" offset="0xC.28" size="0x0.4" />
	<field name="port_num8" descr="Return the local_port value which can be assigned to the module." access="RO" offset="0x10.0" size="0x0.10" />
	<field name="port8_width" descr="port 8 width. valid only if port_width set to 0." access="INDEX" offset="0x10.12" size="0x0.4" />
	<field name="port_num7" descr="Return the local_port value which can be assigned to the module." access="RO" offset="0x10.16" size="0x0.10" />
	<field name="port7_width" descr="port 7 width. valid only if port_width set to 0." access="INDEX" offset="0x10.28" size="0x0.4" />
</node>

<node name="pmtm_reg_ext" descr="" size="0x10.0" >
	<field name="module" descr="module number" access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="slot_index" descr="Reserved for HCA\;Slot_index \;Slot_index = 0 represent the onboard (motherboard). \;In case of non modular system only slot_index = 0 is available." access="INDEX" offset="0x0.24" size="0x0.4" />
	<field name="module_type" descr="module_type: \;0: Backplane_with_4_lanes\;1: QSFP\;2: SFP\;3: No_Cage - [Obsolete]\;4: Backplane_with_single_lane\;8: Backplane_with_two_lanes\;10: Chip2Chip4x\;11: Chip2Chip2x \;12: Chip2Chip1x\;14: QSFP_DD \;15: OSFP\;16: SFP_DD\;17: DSFP \;18: Chip2Chip8x\;19: Twisted_Pair\;20: Backplane_with_8_lanes\;21: Loopback \;22: OE_16x \;23: OSFP_ELS\;24: QSFP_2x\;25: CPO_32x" access="RW" enum="Backplane_with_4_lanes=0x0,QSFP=0x1,SFP=0x2,No_Cage=0x3,Backplane_with_single_lane=0x4,Backplane_with_two_lanes=0x8,Chip2Chip4x=0xa,Chip2Chip2x=0xb,Chip2Chip1x=0xc,QSFP_DD=0xe,OSFP=0xf,SFP_DD=0x10,DSFP=0x11,Chip2Chip8x=0x12,Twisted_Pair=0x13,Backplane_with_8_lanes=0x14,Loopback=0x15,OE_16x=0x16,OSFP_ELS=0x17,QSFP_2x=0x18,CPO_32x=0x19" offset="0x4.0" size="0x0.5" />
	<field name="module_width" descr="Number of module&apos;s electrical lanes (in conjunction with module_width_hi).\;\;NOTE: For SET command, this value (in conjunction with module_width_hi) should match the module type width in module_type field" access="RW" offset="0x4.8" size="0x0.5" />
	<field name="module_width_hi" descr="Number of module&apos;s electrical lanes (in conjunction with module_width).\;\;NOTE: For SET command, this value (in conjunction with module_width) should match the module type width in module_type field" access="RW" offset="0x4.13" size="0x0.3" />
</node>

<node name="pmtu_reg_ext" descr="" size="0x10.0" >
	<field name="itre" descr="Ingress Truncation enable, the admin_mtu is used as truncation:\;0: disable\;1: enable\;Reserved when NICs (NICs use only &apos;0&apos;)\;Reserved when IB Switches (use only &apos;0&apos;)\;Reserved when i_e = 0 or 2\;Reserved when GPUNet" access="RW" offset="0x0.0" size="0x0.1" />
	<field name="i_e" descr="Ingress/Egress:\;0: applies for both ingress and for egress, read from egress\;1: applies only for ingress\;2: applies only for egress\;Reserved when NICs (NICs use only &apos;0&apos;)\;Reserved when IB Switches (use only &apos;0&apos;)\;Reserved when GPUNet" access="INDEX" offset="0x0.4" size="0x0.2" />
	<field name="lp_msb" descr="Local port[9:8]" access="INDEX" offset="0x0.12" size="0x0.2" />
	<field name="local_port" descr="Local port number\;Not including CPU port" access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="protocol" descr="[DWIP]:\;The protocol which the MTU is applied to. \;0: All protocols that are supported by the device. On get, it will return the value for IBg1\;1: IB (gen 1) \;2: NVLink\;3: IBg2\;4-15: Reserved\;Reserved when Eth switches\;Reserved when NIC\;Note: for GB100 IBg2 is not PoR, Nov 2023" access="INDEX" offset="0x0.28" size="0x0.4" />
	<field name="max_mtu" descr="Maximum MTU supported on the port (Read Only).\;MTU depends on the port type. When port type (Eth/IB/FC) is configured, the relevant MTU is reported. When the port type is not configured, the minimum between the max_mtu for the different types (Eth/IB/FC) is reported.\;Informative:- For GPUNet: IB is used for MADs, thus max MTU is 768B\;- NVLink max MTU is 320B" access="RO" offset="0x4.16" size="0x0.16" />
	<field name="admin_mtu" descr="Administratively configured MTU on the port. Must be smaller or equal to max_mtu.\;When IB: configuration is allowed only when port state is down.\;When itre=1 then must be at least 128B and granularity is 8B" access="RW" offset="0x8.16" size="0x0.16" />
	<field name="oper_mtu" descr="Operational MTU. This is the actual MTU configured on the ports. Packets exceeding this size will be dropped.\;Note: For NICs and for IB the actual operational MTU is reported which may be smaller than admin_mtu.\;For NICs: when PCAM.max_admin_mtu capability is set then oper_mtu will be the max of all admin_mtu" access="RO" offset="0xC.16" size="0x0.16" />
</node>

<node name="power_profile_config_ext" descr="" size="0x10.0" >
	<field name="max_integral" descr="The max value allowed for the integral calculation" access="RW" offset="0x0.0" size="0x0.16" />
	<field name="power_allocation" descr="Power Allocation Threshold \;Units of Watt\;Can&apos;t change profile which is currently used by FW" access="RW" offset="0x0.16" size="0x0.11" />
	<field name="v" descr="Valid bit\;0: Profile configuration isn&apos;t valid\;1: Profile configuration is valid" access="RW" offset="0x0.30" size="0x0.1" />
	<field name="Kd_factor" descr="Kd factor used for the FW PID controller" access="RW" offset="0x4.0" size="0x0.8" />
	<field name="Ki_factor" descr="Ki factor used for the FW PID controller" access="RW" offset="0x4.8" size="0x0.8" />
	<field name="Kp_factor" descr="Kp factor used for the FW PID controller" access="RW" offset="0x4.16" size="0x0.8" />
	<field name="avg_pwr_num_of_sampling" descr="Num of MPPGCR.sampling_time to be used for the window average calculation\;Valid when tcs = 0" access="RW" offset="0x4.24" size="0x0.8" />
	<field name="pid_update_num_of_sampling" descr="Number of sampling to update PID output\;Valid when tcs = 0" access="RW" offset="0xC.0" size="0x0.8" />
</node>

<node name="ppad_reg_ext" descr="" size="0x10.0" >
	<field name="mac_47_32" descr="If single_base_mac = 0 - base MAC address\;If single_base_mac = 1 - the per port MAC address" access="RW" offset="0x0.0" size="0x0.16" />
	<field name="local_port" descr="Port number\;Reserved when single_base_mac = 0" access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="lp_msb" descr="Local port[9:8]" access="INDEX" offset="0x0.24" size="0x0.2" />
	<field name="single_base_mac" descr="0: base_mac - Switch global MAC address. FW will set incremental MAC per port starting from the base_mac.\;1: single_mac - mac of the local_port" access="OP" offset="0x0.28" size="0x0.1" />
	<field name="mac_31_0" descr="If single_base_mac = 0 - base MAC address\;If single_base_mac = 1 - the per port MAC address" access="RW" offset="0x4.0" size="0x4.0" />
</node>

<node name="ppaos_reg_ext" descr="" size="0x10.0" >
	<field name="phy_test_mode_status" descr="Port extended down status:\;0: regular_operation - (port down/up according to PAOS) \;1: phy_test_mode\;\;phy test mode can be valid only when PAOS.admin_status=2 and PAOS.oper_status=2 (i.e port is down)." access="RO" enum="regular_operation=0x0,phy_test_mode=0x1" offset="0x0.0" size="0x0.4" />
	<field name="port_type" descr="For HCA supported only when indicated by PCAM \;0 - Network Port\;1 - Near-End Port (For Retimer/Gearbox - Host side)\;2 - Internal IC LR Port \;3 - Far-End Port (For Retimer/Gearbox - Line side)\;Other values are reserved." access="INDEX" offset="0x0.4" size="0x0.4" />
	<field name="phy_test_mode_admin" descr="Port extended administrative down status:\;0: regular_operation - (port down/up according to PAOS) \;1: phy_test_mode\;\;The phy test mode (1) can be set only when PAOS.admin_status=2 (i.e port configuration is down)." access="RW" enum="regular_operation=0x0,phy_test_mode=0x1" offset="0x0.8" size="0x0.4" />
	<field name="lp_msb" descr="Local port number [9:8]" access="INDEX" offset="0x0.12" size="0x0.2" />
	<field name="local_port" descr="Local port number." access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="swid" descr="For HCA: must always be 0.\;Switch partition ID with which to associate the port.\;Switch partitions are numbered from 0 to 7 inclusively.\;The swid field is only valid when the local_port is the router port. In this case, the swid indicates which of the router ports to configure/query." access="INDEX" offset="0x0.24" size="0x0.8" />
	<field name="phy_status" descr="rx phy status:\;0: rx_phy_down\;1: rx_phy_up\;2: rx_phy_down_by_command\;\;Note: The phy up indication is according to protocol (up == align_status=true)\;i.g. In PRBS test mode phy up is when PRB is lock (up== prbs lock)" access="RO" offset="0x4.0" size="0x0.4" />
	<field name="plane_ind" descr="Reserved for non-planarized port.\;Plane port index of the aggregated port. A value of 0 refers to the aggregated port only." access="INDEX" offset="0x4.4" size="0x0.4" />
	<field name="phy_status_admin" descr="rx phy port admin. Controls phy entities operational port status.\;valid for port_type &lt;&gt; &apos;0&apos;.\;to operate link status for port_type &apos;0&apos; use PAOS.admin_status.\;0: rx_phy_down\;1: rx_phy_up\;" access="RW" offset="0x4.8" size="0x0.4" />
	<field name="primary_secondary_oper" descr="Indicates for Mode B links if the port was chosen as primary or secondary during linkup.\;0: Not_supported_or_not_chosen_yet.\;1: Primary\;2: Secondary" access="RO" enum="Not_supported_or_not_chosen_yet_=0x0,Primary=0x1,Secondary=0x2" offset="0x4.20" size="0x0.2" />
	<field name="primary_secondary_constant" descr="Used to keep primary / secondary role constant between link toggles. If the field is set to &quot;1&quot; on local device and peer, both will keep their current role as primary or secondary.\;0: not_constant_role\;1: constant_role" access="RW" enum="not_constant_role=0x0,constant_role=0x1" offset="0x4.22" size="0x0.1" />
	<field name="primary_secondary" descr="This field can be configured when port is up, and configuration will be saved for next port toggle. The field functions as an admin field.\;\;The primary_secondary field will set the role of the port in the link negotiation state. \;\;0: fw_default\;1: primary\;2: secondary\;3: random_negotiation - (Auto - based on AN resolution)\;\;" access="RW" enum="fw_default=0x0,primary=0x1,secondary=0x2,random_negotiation=0x3" offset="0x4.25" size="0x0.2" />
	<field name="dc_cpl_port" descr="When set, indicates that ports trace is DC coupled.\;Enabling test mode in case of DC coupled port is allowed only when setting dc_cpl_allow and printing warning to user as specified in the description." access="RO" offset="0x4.28" size="0x0.1" />
	<field name="dc_cpl_allow" descr="Relevant only for DC couple ports, Ignored otherwise.\;Field must be set when entering test mode, otherwise command is ignored.\;When entering test mode in DC couple system the following message must be presented to user:\;&quot;Warning: DC couple system must be powered on both sides of the physical link prior to enabling test mode. System may be harmed and product lifetime may be shortened if not ensured.&quot;" access="WO" offset="0x4.29" size="0x0.1" />
</node>

<node name="ppbmc_reg_ext" descr="" size="0x10.0" >
	<field name="port_type" descr="For HCA supported only when indicated by PCAM \;0 - Network Port\;1 - Near-End Port (For Retimer/Gearbox - Host side)\;2 - Internal IC LR Port \;3 - Far-End Port (For Retimer/Gearbox - Line side)\;4 - USR Main\;5 - USR Tile\;Other values are reserved.\;Configuration 4,5 should use the same clock" access="INDEX" offset="0x0.4" size="0x0.4" />
	<field name="monitor_type" descr="Operational monitor types enabled based on monitor_cntl setting and the operational mode of the link:\;Bit 0: Post_FEC_or_No_FEC_BER_monitoring\;Bit 1: Pre_FEC_BER_monitoring\;Bit 2: Symbol_BER_monitoring\;Bit 3: Estimated_Effective_BER_monitoring" access="RO" enum="Post_FEC_or_No_FEC_BER_monitoring=0x1,Pre_FEC_BER_monitoring=0x2,Symbol_BER_monitoring=0x4,Estimated_Effective_BER_monitoring=0x8" offset="0x0.8" size="0x0.4" />
	<field name="lp_msb" descr="Local port number [9:8]" access="INDEX" offset="0x0.12" size="0x0.2" />
	<field name="pnat" descr="Port number access type. determines the way local_port is interpreted:\;0 - Local port number\;1 - IB port number" access="INDEX" offset="0x0.14" size="0x0.2" />
	<field name="local_port" descr="local_port" access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="monitor_e_ctrl_ind" descr="Valid only when monitor_e_ctrl_ind_cap is set.\;The index is applied to the following fields: clr_cap, clr, e, event_ctrl, and monitor_state fields.\;0: All_monitors\;5: Tx_BW_loss - \;All other reserved" access="INDEX" offset="0x0.24" size="0x0.4" />
	<field name="clr_cap" descr="This field indicates whether the &apos;clr&apos; option is supported for the monitor specified by the monitor_e_ctrl_ind." access="RO" offset="0x0.30" size="0x0.1" />
	<field name="clr" descr="This field allows the monitor control settings to restored to the default values for the monitor specified by the monitor_e_ctrl_ind. When &apos;clr&apos; is set, the following fields will revert to the FW defaults values for the selected monitor: monitor_ctrl/monitor_ctrl_ext, e, and event_ctrl." access="RW" offset="0x0.31" size="0x0.1" />
	<field name="monitor_state" descr="The monitor state of the port:\;0 - No BER Monitor support\;1 - Normal\;2 - Warning\;3 - Alarm\;* The init monitor state for each port upon link up is normal" access="RO" offset="0x4.0" size="0x0.8" />
	<field name="est_ef_ber_cap" descr="Indicates Estimated Effective BER monitoring supported" access="RO" offset="0x4.8" size="0x0.1" />
	<field name="clr_stat" descr="clear statistics from PPDR. link_down_info page of selected monitor type" access="OP" offset="0x4.9" size="0x0.1" />
	<field name="monitor_e_ctrl_ind_cap" descr="When set monitor_e_ctrl_ind is valid" access="RO" offset="0x4.10" size="0x0.1" />
	<field name="monitor_type_ext" descr="Operational monitor types extenstion enabled based on monitor_cntl, monitor_cntl_ext setting and the operational mode of the link:\;Bit 0: UCR - Uncorrectable Codeword Ratio" access="RO" enum="UCR=0x1" offset="0x4.12" size="0x0.4" />
	<field name="monitor_cntl" descr="Bitmask - monitor options to enable monitoring:\;When multiple_monitor_cap is set, multiple bits can be set. Else, only 1 bit can be set\;Bit 0: Raw_BER_monitor - When set, a link with FEC active will monitor Pre-FEC BER.\;Bit 1: Effective_FEC_monitor\;Bit 2: Symbol_FEC_monitor\;Bit 3: Estimated_Effective_BER_monitoring" access="RW" enum="Raw_BER_monitor=0x1,Effective_FEC_monitor=0x2,Symbol_FEC_monitor=0x4,Estimated_Effective_BER_monitoring=0x8" offset="0x4.16" size="0x0.8" />
	<field name="event_ctrl" descr="Bitmask - event generation on operational state change:\;Bit 0 - Normal state\;Bit 1 - Warning state\;Bit 2 - Alarm state\;Bit 3 - Reserved\;\;Note: Normal state events can be generated only if either Alarm and/or Warning events are enabled." access="RW" offset="0x4.24" size="0x0.4" />
	<field name="multiple_monitor_cap" descr="When set, multiple monitoring groups are possible. Hence, monitor_cntl can be set with multiple bits.\;else, monitor_cntl can be set with only 1 bits" access="RO" offset="0x4.28" size="0x0.1" />
	<field name="ievent" descr="Invoke event\;0: Read only\;1: Does both reading and invoke an event of type PPBME_TRAP\;\;Note: setting this field invokes an event, regardless to e and event_ctl fields, it has no effect on the event state." access="OP" offset="0x4.29" size="0x0.1" />
	<field name="e" descr="Event generation on operational state change:\;0 - Do not generate event\;1 - Generate Event \;2 - Generate Single Event\;Not Supported for HCA." access="RW" offset="0x4.30" size="0x0.2" />
	<field name="monitor_type_ext2" descr="Operational monitor types extenstion enabled based on monitor_cntl, monitor_cntl_ext setting and the operational mode of the link:" access="RO" offset="0x8.8" size="0x0.8" />
	<field name="monitor_type_cap" descr="Monitor type capability mask:\;Bit 0: plr_tx_bw_loss_lf\;Bit 3: Estimated_Effective_BER_monitoring\;Bit 4: UCR - Uncorrectable Codeword Ratio\;\;Note - raw BER, effective BER, symbol BER do not have capability" access="RO" enum="Estimated_Effective_BER_monitoring=0x8,UCR=0x10" offset="0x8.16" size="0x0.8" />
	<field name="monitor_cntl_ext" descr="Bitmask - monitor options to enable monitoring:\;When multiple_monitor_cap is set, multiple bits can be set. Else, only 1 bit can be set\;" access="RW" offset="0xC.16" size="0x0.8" />
</node>

<node name="ppbme_reg_ext" descr="" size="0x10.0" >
	<field name="monitor_type" descr="Monitor type based on monitor_options setting and the operational mode of the link:\;0: Post_FEC_or_No_FEC_BER_monitoring\;1: Pre_FEC_BER_monitoring\;2: Symbol_BER_monitoring\;3: Estimated_Effective_BER_monitoring" access="RO" enum="Post_FEC_or_No_FEC_BER_monitoring=0x0,Pre_FEC_BER_monitoring=0x1,Symbol_BER_monitoring=0x2,Estimated_Effective_BER_monitoring=0x3" offset="0x0.8" size="0x0.4" />
	<field name="lp_msb" descr="Local port number [9:8]" access="INDEX" offset="0x0.12" size="0x0.2" />
	<field name="pnat" descr="Port number access type. determines the way local_port is interpreted:\;0 - Local port number\;1 - IB port number" access="INDEX" offset="0x0.14" size="0x0.2" />
	<field name="local_port" descr="local_port" access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="monitor_state" descr="The monitor state of the port:\;0 - No BER Monitor on the port\;1 - Normal\;2 - Warning\;3 - Alarm" access="RO" offset="0x4.0" size="0x0.8" />
	<field name="ievent" descr="Invoke event\;0: Read only\;1: Does both reading and invoke an event of type PPBME_TRAP\;\;Note: setting this field invokes an event, regardless to e and event_ctl fields, it has no effect on the event state." access="OP" offset="0x4.29" size="0x0.1" />
</node>

<node name="ppbmi_ext" descr="" size="0x18.0" >
	<field name="ilm_index" descr="ILM entry Index\;For Spectrum, the index points to the KVD Linear, see Section A.2.1.2, &quot;KVD Central Database Linear Entries&quot;, on page 4588" access="INDEX" offset="0x4.0" size="0x0.24" />
	<field name="nhlfe_index" descr="NHLFE entry pointer\;Points to the NHLFE table. When using ECMP, points to the first entry in the ECMP list\;For Spectrum, the index is to the KVD linear, see Section A.2.1.2, &quot;KVD Central Database Linear Entries&quot;, on page 4588" access="RW" offset="0x8.0" size="0x0.24" />
	<field name="ecmp_size" descr="The amount of sequential entries starting from the nhlfe_ptr (the number of ECMPs)\;Values are according to the mixed ECMP scheme detailed in Table 3438, &quot;ECMP Sizes,&quot; on page 4038." access="RW" offset="0xC.0" size="0x0.13" />
	<field name="npop" descr="Number of labels to pop from the label stack.\;Range from 0 to cap_mpls_ilm_entry_pop" access="RW" offset="0xC.24" size="0x0.2" />
</node>

<node name="ppbmp_monitor_parameters_ext" descr="" size="0x8.0" >
	<field name="warning_th_exp" descr="BER threshold for warning state, when the monitor state is normal and the monitored BER crosses above the warning_threshold, the monitor state will is set to warning\;warning_threshold = warning_th_mantissa * 10^(-warning_th_exp)\;The warning_threshold shall be within the supported range for the monitor type" access="RW" offset="0x0.0" size="0x0.8" />
	<field name="warning_th_mantissa" descr="BER threshold for warning state, when the monitor state is normal and the monitored BER crosses above the warning_threshold, the monitor state will is set to warning\;warning_threshold = warning_th_mantissa * 10^(-warning_th_exp)\;The warning_threshold shall be within the supported range for the monitor type" access="RW" offset="0x0.8" size="0x0.4" />
	<field name="alarm_th_exp" descr="BER threshold for alarm state, when the monitored BER crosses above the alarm_threshold, the monitor state is set to alarm.\;alarm_threshold = alarm_th_mantissa * 10^(-alarm_th_exp)\;The alarm_threshold shall be within the supported range for the monitor type" access="RW" offset="0x0.16" size="0x0.8" />
	<field name="alarm_th_mantissa" descr="BER threshold for alarm state, when the monitored BER crosses above the alarm_threshold, the monitor state is set to alarm.\;alarm_threshold = alarm_th_mantissa * 10^(-alarm_th_exp)\;The alarm_threshold shall be within the supported range for the monitor type" access="RW" offset="0x0.24" size="0x0.4" />
	<field name="normal_th_exp" descr="BER threshold for normal state, when the monitored BER crosses below the normal_threshold, the monitor state is set to normal.\;normal_threshold = normal_th_mantissa * 10^(-normal_th_exp)\;The warning_threshold shall be within the supported range for the monitor type" access="RW" offset="0x4.16" size="0x0.8" />
	<field name="normal_th_mantissa" descr="BER threshold for normal state, when the monitored BER crosses below the normal_threshold, the monitor state is set to normal.\;normal_threshold = normal_th_mantissa * 10^(-normal_th_exp)\;The warning_threshold shall be within the supported range for the monitor type" access="RW" offset="0x4.24" size="0x0.4" />
</node>

<node name="ppbmp_monitor_params_cap_ext" descr="" size="0x4.0" >
	<field name="th_cap_exp_min" descr="The minimum value that could be configured for the [*]_th_exp fields of the Monitor Parameters." access="RO" offset="0x0.0" size="0x0.8" />
	<field name="th_cap_exp_max" descr="The maximum value that could be configured for the [*]_th_exp fields of the Monitor Parameters." access="RO" offset="0x0.8" size="0x0.8" />
</node>

<node name="ppbmp_reg_ext" descr="" size="0x30.0" >
	<field name="monitor_group" descr="Monitor Parameters Group\;0x0: Raw_BER_RS\;0x1: Raw_BER_FC\;0x2: Effective_BER\;0x4: Pre_FEC_BER\;0x5: Symbol_BER\;0x6: Estimated_Effective_BER_monitoring\;0x7: UCR - Uncorrectable Codeword Ratio\;0x8: Tx_BW_loss -" access="INDEX" enum="Raw_BER_RS=0x0,Raw_BER_FC=0x1,Effective_BER=0x2,Pre_FEC_BER=0x4,Symbol_BER=0x5,Estimated_Effective_BER_monitoring=0x6,UCR=0x7,Tx_BW_loss=0x8" offset="0x0.0" size="0x0.4" />
	<field name="grp_prf_set" descr="When set, grp_prf field will set local_port&apos;s group.\;Else, grp_prf field will be ignore in set operation" access="WO" offset="0x0.11" size="0x0.1" />
	<field name="lp_msb" descr="Local port number [9:8]" access="INDEX" offset="0x0.12" size="0x0.2" />
	<field name="pnat" descr="Port number access type. determines the way local_port is interpreted:\;0 - Local port number\;1 - IB port number" access="INDEX" offset="0x0.14" size="0x0.2" />
	<field name="local_port" descr="local_port" access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="grp_prf" descr="Group profile port is mapped to.\;when group_profile is set," access="RW" offset="0x0.24" size="0x0.3" />
	<field name="grp_prf_cap" descr="When set grp_prf field is configurable.\;Note: supported only in IB/NVLink devices" access="RO" offset="0x0.27" size="0x0.1" />
	<field name="admin_oper_sel" descr="On read operation, selects how monitor_parameters and time_window fields are represented.\;0: show_fields_as_admin (if no neg, also operational)\;1: show_fields_as_oper" access="INDEX" offset="0x0.28" size="0x0.1" />
	<field name="monitor_parameters_w_ignore" descr="&apos;monitor_parameters&apos; field ignore write. \;Relevant for set operation only, while this bit is set to &apos;1&apos;- \;ignore the &apos;monitor_parameters&apos; values." access="WO" offset="0x0.29" size="0x0.1" />
	<field name="time_window_w_en" descr="&apos;time_window&apos; field write enable\;Relevant for set operation only, while this bit is set to &apos;0&apos;- \;ignore the &apos;time_window&apos; value." access="WO" offset="0x0.30" size="0x0.1" />
	<field name="clr" descr="Supported if PCAM.feature_cap_mask bit 93 is set.\;0: override_thresholds - thresholds set according to monitor_parameters values.\;1: set_fw_default_thresholds - thresholds set in monitor_parameters are ignored\;\;" access="RW" enum="override_thresholds=0x0,set_fw_default_thresholds=0x1" offset="0x0.31" size="0x0.1" />
	<field name="monitor_parameters" descr="Table 2116, &quot;PPBMP - BER Monitor Parameters Layout,&quot; on page 2821" subnode="ppbmp_reg_monitor_parameters_auto_ext" access="RW" offset="0x4.0" size="0x8.0" />
	<field name="time_window" descr="The time frame which the events are grouped. \;This is a tumbling window (not a sliding window), means that each window is uncorrelated to the adjacent windows events. \;For BER features the time window derived from \;the lowest threshold.\;\;The field units are as follows:\;1. For monitors 0x1 to 0x5: the time_window is specified in units of 1 msec.\;2. For monitors 0x8 to 0xD: the time_window is specified in units of the PPBMP.sampling_rate returned value.\;\;Notes:\;1. Value of zero is means the BER monitor is not active or time window is unknown.2. The time window is adjustable only if time_window_set_cap is set." access="RW" offset="0xC.0" size="0x0.24" />
	<field name="time_window_set_cap" descr="The capability to adjust the time_window field" access="RO" offset="0xC.31" size="0x0.1" />
	<field name="sampling_rate" descr="Time frame to measure warning threshold and error threshold. \;Units of 10mSec, range 0..1Sec. \;Value of zero is means the BER monitor is not active or sampling rate is unknown" access="RO" offset="0x10.0" size="0x0.8" />
	<field name="monitor_parameters_cap" descr="The configured Monitor Parameters shall be within the ranges defined by this field.\;The returned value is according to the monitor_group index and the device capabilities.\;See Table 2120, &quot;PPBMP - Monitor Parameters Capabilities Layout,&quot; on page 2824" subnode="ppbmp_monitor_params_cap_ext" access="RO" offset="0x14.0" size="0x4.0" />
	<field name="window_data_validation_thr" descr="Window data validation threshold - represents the minimum percentage of the time window during which data must be transmitted over the link for the window to be considered valid for monitoring event triggering.\;\;This threshold is specified as a percentage [%] of the total time_window size and in 1 [%] percentage units.\;Valid range is between [1,..,100]\;\;If the data usage within the current window falls below this threshold, the window is unreliable and will not trigger a monitoring event or an action.\;\;Supported only when indicating by window_data_validation_cap\;field." access="RW" offset="0x18.0" size="0x0.7" />
	<field name="window_data_validation_en" descr="When enabled, FW will validate the percentage of the time window during which data must be transmitted.\;0: do_not_validate\;1: validate\;\;Supported only when indicating by window_data_validation_cap\;field." access="RW" offset="0x18.8" size="0x0.1" />
	<field name="warning_thr_crossing_action" descr="FW action required when exceeding warning or alarm thresholds:\;0: Do_nothing\;1: Toggle_the_physical_link (drop to polling).\;2: Recovery\;3: Disable\;4: Sleep\;\;Supported only when indicating by thr_crossing_action_cap field.\;\;" access="RW" offset="0x18.10" size="0x0.3" />
	<field name="alarm_thr_crossing_action" descr="FW action required when exceeding warning or alarm thresholds:\;0: Do_nothing\;1: Toggle_the_physical_link (drop to polling).\;2: Recovery\;3: Disable\;4: Sleep\;\;Supported only when indicating by thr_crossing_action_cap field.\;\;" access="RW" offset="0x18.13" size="0x0.3" />
	<field name="thr_crossing_action_cap" descr="Return if the monitors support the thr_crossing_action fields: \;0: not_supported\;1: supported" access="RO" offset="0x18.30" size="0x0.1" />
	<field name="window_data_validation_cap" descr="Return if the monitors support the window_data_validation fields: \;0: not_supported\;1: supported" access="RO" offset="0x18.31" size="0x0.1" />
</node>

<node name="ppbmp_reg_monitor_parameters_auto_ext" descr="" attr_is_union="1" size="0x8.0" >
	<field name="ppbmp_monitor_parameters_ext" descr="" subnode="ppbmp_monitor_parameters_ext" offset="0x0.0" size="0x8.0" />
</node>

<node name="ppbs_ext" descr="" size="0x1c.0" >
	<field name="type" descr="Entry type:\;0x0: Unicast_Record\;0x1: Unicast_LAG_Record\;0x2: Multicast_Record\;0xC: Unicast_Tunnel_Record\;0xF: Multicast_Tunnel_Record" access="RW" enum="Unicast_Record=0x0,Unicast_LAG_Record=0x1,Multicast_Record=0x2,Unicast_Tunnel_Record=0xc,Multicast_Tunnel_Record=0xf" offset="0x4.20" size="0x0.4" />
	<field name="swid" descr="Switch partition ID for queries. Reserved on Write.\;Reserved from Spectrum-1" access="INDEX" offset="0x4.24" size="0x0.8" />
	<field name="pbs_ptr" descr="Index into the PBS table. \;For Spectrum family, the index points to the KVD Linear, see Appendix A.2.1.2, &quot;KVD Central Database Linear Entries&quot; (page 4588)" access="INDEX" offset="0x8.0" size="0x0.24" />
	<field name="pbs_record" descr="PBS Record. For full description see:\;Table 3258, &quot;Unicast PBS Record Layout,&quot; on page 3836\;Table 3260, &quot;Unicast LAG PBS Record Layout,&quot; on page 3837\;Table 3262, &quot;Multicast PBS Record Layout,&quot; on page 3838\;Table 3264, &quot;Unicast Tunnel PBS Record Layout,&quot; on page 3839\;Table 3266, &quot;Multicast Tunnel PBS Record Layout,&quot; on page 3841" subnode="ppbs_pbs_record_auto_ext" access="RW" offset="0xC.0" size="0x10.0" union_selector="$(parent).type" />
</node>

<node name="ppbs_multicast_ext" descr="" size="0x8.0" >
	<field name="fid" descr="Filtering identifier (FID)\;Reserved when v_fid = 0\;Reserved when ubridge=1\;Reserved when Spectrum-2 \;" access="RW" offset="0x0.0" size="0x0.16" />
	<field name="pgi" descr="Multicast port group index - index into the Port Group Table.\;Value 0x1FFF indicates the pgi should point to the MID entry.\;For Spectrum family this value must be set to 0x1FFF" access="RW" offset="0x0.16" size="0x0.13" />
	<field name="v_fid" descr="valid FID:\;0: .1Q bridge\;1: .1D bridge\;Reserved when ubridge=1\;Reserved when Spectrum-2\;" access="RW" offset="0x0.31" size="0x0.1" />
	<field name="mid" descr="Multicast port group index - index to the port group table." access="RW" offset="0x4.0" size="0x0.16" />
</node>

<node name="ppbs_pbs_record_auto_ext" descr="" attr_is_union="1" size="0x10.0" >
	<field name="multicast_tunnel_ext" descr="" subnode="multicast_tunnel_ext" offset="0x0.0" selected_by="Multicast_Tunnel_Record" size="0x10.0" />
	<field name="ppbs_multicast_ext" descr="" subnode="ppbs_multicast_ext" offset="0x0.0" selected_by="Multicast_Record" size="0x8.0" />
	<field name="ppbs_unicast_ext" descr="" subnode="ppbs_unicast_ext" offset="0x0.0" selected_by="Unicast_Record" size="0x8.0" />
	<field name="unicast_lag_ext" descr="" subnode="unicast_lag_ext" offset="0x0.0" selected_by="Unicast_LAG_Record" size="0x8.0" />
	<field name="unicast_tunnel_ext" descr="" subnode="unicast_tunnel_ext" offset="0x0.0" selected_by="Unicast_Tunnel_Record" size="0x10.0" />
</node>

<node name="ppbs_unicast_ext" descr="" size="0x8.0" >
	<field name="fid" descr="Filtering identifier (FID)\;Reserved when v_fid = 0\;Reserved when ubridge=1\;" access="RW" offset="0x0.0" size="0x0.16" />
	<field name="vid" descr="New VID when set_vid = 1\;Reserved when set_vid = 0\;Reserved when ubridge=0" access="RW" offset="0x0.16" size="0x0.12" />
	<field name="set_vid" descr="Set VID:\;0: do not update VID\;1: set VID\;For Spectrum-2 when set_vid=0 and smpe_valid=1 then the smpe will modify the vid\;Reserved when ubridge=0" access="RW" offset="0x0.30" size="0x0.1" />
	<field name="v_fid" descr="valid FID:\;0: .1Q bridge, the VID is maintained\;1: .1D bridge, the VID is modified according to:\;{fid, system_port} -&gt; vid\;Where the mapping is according to SVFA register\;Reserved when ubridge=1" access="RW" offset="0x0.31" size="0x0.1" />
	<field name="system_port" descr="Unique port identifier for the final destination of the packet\;Must be &apos;0&apos; when action is &apos;3&apos; - forward to IP router \;Note: for Spectrum family, if action is 0 (forward) and system_port is 0 then the PPBS entry must not be used! (Must not be pointed by an ACL action)" access="RW" offset="0x4.0" size="0x0.16" />
	<field name="action" descr="Action to apply on the packet:\;0: NOP - forward (based on the system_port destination)\;3: FORWARD_TO_IP_ROUTER\;4: FORWARD_TO_FCF - Reserved for Spectrum family.\;5: DISCARD - Reserved for Spectrum family.\;15: DISCARD_ERROR" access="RW" enum="NOP=0x0,FORWARD_TO_IP_ROUTER=0x3,FORWARD_TO_FCF=0x4,DISCARD=0x5,DISCARD_ERROR=0xf" offset="0x4.28" size="0x0.4" />
</node>

<node name="ppbt_ext" descr="" size="0x14.0" >
	<field name="lp_msb" descr="Local port[9:8]" access="INDEX" offset="0x0.12" size="0x0.2" />
	<field name="local_port" descr="When tport = 0:\;Local port \;Not including CPU port in Spectrum-1.\;From Spectrum-2 and on CPU port is supported.\;When tport = 1: Tunnel port" access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="tport" descr="Port is tunnel port\;Supported from Spectrum-2 and on" access="INDEX" offset="0x0.24" size="0x0.1" />
	<field name="op" descr="0: Bind ACL to Port\;1: Unbind ACL from Port (default)\;" access="RW" offset="0x0.28" size="0x0.3" />
	<field name="e" descr="0: iACL\;1: eACL" access="INDEX" enum="iACL=0x0,eACL=0x1" offset="0x0.31" size="0x0.1" />
	<field name="acl_id_group_id" descr="When g=0:\;ACL identifier (acl_id)\;Range of acl id is 0..cap_max_acl_regions-1\;When g=1:\;ACL group identifier (acl_group_id) or ACL group element (acl_group_element).\;For ACL group identifier, range of group id is 0..cap_max_acl_groups-1.\;For ACL group element, range of group element is 0..cap_max_acl_tot_groups-1." access="RW" offset="0x10.0" size="0x0.16" />
	<field name="g" descr="group\;0: bind an ACL\;1: bind an ACL group\;Must be set to 1 for Spectrum family" access="RW" offset="0x10.31" size="0x0.1" />
</node>

<node name="ppcnt_infiniband_general_counter_ext" descr="" size="0xf8.0" >
	<field name="rq_general_error_high" descr="The total number of packets that were dropped since it contained errors. Reasons for this include:\;1. dropped due to MPR mismatch.\;Supported only when indicated by PCAM.\;" access="RO" offset="0x10.0" size="0x4.0" />
	<field name="rq_general_error_low" descr="The total number of packets that were dropped since it contained errors. Reasons for this include:\;1. dropped due to MPR mismatch.\;Supported only when indicated by PCAM.\;" access="RO" offset="0x14.0" size="0x4.0" />
</node>

<node name="ppcnt_infiniband_packets_counter_ext" descr="" size="0xf8.0" >
	<field name="time_since_last_clear_high" descr="The time passed since the last counters clear event in msec." access="RO" offset="0x0.0" size="0x4.0" />
	<field name="time_since_last_clear_low" descr="The time passed since the last counters clear event in msec." access="RO" offset="0x4.0" size="0x4.0" />
	<field name="port_unicast_xmit_pkts_high" descr="For counter description please refer to the InfiniBand  Specification" access="RO" offset="0x8.0" size="0x4.0" />
	<field name="port_unicast_xmit_pkts_low" descr="For counter description please refer to the InfiniBand  Specification" access="RO" offset="0xC.0" size="0x4.0" />
	<field name="port_unicast_rcv_pkts_high" descr="For counter description please refer to the InfiniBand  Specification" access="RO" offset="0x10.0" size="0x4.0" />
	<field name="port_unicast_rcv_pkts_low" descr="For counter description please refer to the InfiniBand  Specification" access="RO" offset="0x14.0" size="0x4.0" />
	<field name="sync_header_error_counter_high" descr="For counter description please refer to the InfiniBand  Specification" access="RO" offset="0x18.0" size="0x4.0" />
	<field name="sync_header_error_counter_low" descr="For counter description please refer to the InfiniBand  Specification" access="RO" offset="0x1C.0" size="0x4.0" />
	<field name="port_local_physical_errors_high" descr="For counter description please refer to the InfiniBand  Specification" access="RO" offset="0x20.0" size="0x4.0" />
	<field name="port_local_physical_errors_low" descr="For counter description please refer to the InfiniBand  Specification" access="RO" offset="0x24.0" size="0x4.0" />
	<field name="port_malformed_packet_errors_high" descr="For counter description please refer to the InfiniBand  Specification" access="RO" offset="0x28.0" size="0x4.0" />
	<field name="port_malformed_packet_errors_low" descr="For counter description please refer to the InfiniBand  Specification" access="RO" offset="0x2C.0" size="0x4.0" />
	<field name="port_buffer_overrun_errors_high" descr="For counter description please refer to the InfiniBand  Specification" access="RO" offset="0x30.0" size="0x4.0" />
	<field name="port_buffer_overrun_errors_low" descr="For counter description please refer to the InfiniBand  Specification" access="RO" offset="0x34.0" size="0x4.0" />
	<field name="port_dlid_mapping_errors_high" descr="For counter description please refer to the InfiniBand  Specification" access="RO" offset="0x38.0" size="0x4.0" />
	<field name="port_dlid_mapping_errors_low" descr="For counter description please refer to the InfiniBand  Specification" access="RO" offset="0x3C.0" size="0x4.0" />
	<field name="port_vl_mapping_errors_high" descr="For counter description please refer to the InfiniBand  Specification" access="RO" offset="0x40.0" size="0x4.0" />
	<field name="port_vl_mapping_errors_low" descr="For counter description please refer to the InfiniBand  Specification" access="RO" offset="0x44.0" size="0x4.0" />
	<field name="port_looping_errors_high" descr="For counter description please refer to the InfiniBand  Specification" access="RO" offset="0x48.0" size="0x4.0" />
	<field name="port_looping_errors_low" descr="For counter description please refer to the InfiniBand  Specification" access="RO" offset="0x4C.0" size="0x4.0" />
	<field name="port_inactive_discards_high" descr="For counter description please refer to the InfiniBand  Specification" access="RO" offset="0x50.0" size="0x4.0" />
	<field name="port_inactive_discards_low" descr="For counter description please refer to the InfiniBand  Specification" access="RO" offset="0x54.0" size="0x4.0" />
	<field name="port_neighbor_mtu_discards_high" descr="For counter description please refer to the InfiniBand  Specification" access="RO" offset="0x58.0" size="0x4.0" />
	<field name="port_neighbor_mtu_discards_low" descr="For counter description please refer to the InfiniBand  Specification" access="RO" offset="0x5C.0" size="0x4.0" />
	<field name="port_llu_rx_icrc_error_high" descr="Total number of packets received on the port with ICRC error." access="RO" offset="0x60.0" size="0x4.0" />
	<field name="port_llu_rx_icrc_error_low" descr="Total number of packets received on the port with ICRC error." access="RO" offset="0x64.0" size="0x4.0" />
	<field name="port_tx_parity_error_high" descr="Total number of packets with parity error detected on the switch." access="RO" offset="0x68.0" size="0x4.0" />
	<field name="port_tx_parity_error_low" descr="Total number of packets with parity error detected on the switch." access="RO" offset="0x6C.0" size="0x4.0" />
</node>

<node name="ppcnt_nvlink_reduction_mlid_counters_ext" descr="" size="0xa0.0" >
	<field name="mlid" descr="The MLID the counters applies to.\;Value of 0xFFFF means the counters aggregates all MLIDs." access="RO" offset="0x4.0" size="0x0.16" />
	<field name="incoming_good_mc_read_req_pkt_high" descr="Per lean pipe, per MLID (and one for all MLIDs\;combined):\;count incoming good MC read requests - packets" access="RO" offset="0x10.0" size="0x4.0" />
	<field name="incoming_good_mc_read_req_pkt_low" descr="Per lean pipe, per MLID (and one for all MLIDs\;combined):\;count incoming good MC read requests - packets" access="RO" offset="0x14.0" size="0x4.0" />
	<field name="incoming_good_mc_read_req_data_high" descr="Per lean pipe, per MLID (and one for all MLIDs\;combined):\;count incoming good MC read requests - data" access="RO" offset="0x18.0" size="0x4.0" />
	<field name="incoming_good_mc_read_req_data_low" descr="Per lean pipe, per MLID (and one for all MLIDs\;combined):\;count incoming good MC read requests - data" access="RO" offset="0x1C.0" size="0x4.0" />
	<field name="incoming_good_mc_write_req_pkt_high" descr="Per lean pipe, per MLID (and one for all MLIDs\;combined):\;count incoming good MC write requests - packets" access="RO" offset="0x20.0" size="0x4.0" />
	<field name="incoming_good_mc_write_req_pkt_low" descr="Per lean pipe, per MLID (and one for all MLIDs\;combined):\;count incoming good MC write requests - packets" access="RO" offset="0x24.0" size="0x4.0" />
	<field name="incoming_good_mc_write_req_data_high" descr="Per lean pipe, per MLID (and one for all MLIDs\;combined):\;count incoming good MC write requests - data" access="RO" offset="0x28.0" size="0x4.0" />
	<field name="incoming_good_mc_write_req_data_low" descr="Per lean pipe, per MLID (and one for all MLIDs\;combined):\;count incoming good MC write requests - data" access="RO" offset="0x2C.0" size="0x4.0" />
	<field name="incoming_good_mc_read_resp_pkt_high" descr="Per lean pipe, per MLID (and one for all MLIDs\;combined):\;count incoming good MC read responses -\;packets" access="RO" offset="0x30.0" size="0x4.0" />
	<field name="incoming_good_mc_read_resp_pkt_low" descr="Per lean pipe, per MLID (and one for all MLIDs\;combined):\;count incoming good MC read responses -\;packets" access="RO" offset="0x34.0" size="0x4.0" />
	<field name="incoming_good_mc_read_resp_data_high" descr="Per lean pipe, per MLID (and one for all MLIDs\;combined):\;count incoming good MC read responses - data" access="RO" offset="0x38.0" size="0x4.0" />
	<field name="incoming_good_mc_read_resp_data_low" descr="Per lean pipe, per MLID (and one for all MLIDs\;combined):\;count incoming good MC read responses - data" access="RO" offset="0x3C.0" size="0x4.0" />
	<field name="incoming_good_mc_write_resp_pkt_high" descr="Per lean pipe, per MLID (and one for all MLIDs\;combined):\;count incoming good MC write responses -\;packets" access="RO" offset="0x40.0" size="0x4.0" />
	<field name="incoming_good_mc_write_resp_pkt_low" descr="Per lean pipe, per MLID (and one for all MLIDs\;combined):\;count incoming good MC write responses -\;packets" access="RO" offset="0x44.0" size="0x4.0" />
	<field name="incoming_good_mc_write_resp_data_high" descr="Per lean pipe, per MLID (and one for all MLIDs\;combined):\;count incoming good MC write responses - data" access="RO" offset="0x48.0" size="0x4.0" />
	<field name="incoming_good_mc_write_resp_data_low" descr="Per lean pipe, per MLID (and one for all MLIDs\;combined):\;count incoming good MC write responses - data" access="RO" offset="0x4C.0" size="0x4.0" />
	<field name="generated_mc_read_resp_pkt_high" descr="Per lean pipe, per MLID (and one for all MLIDs\;combined):\;count generated MC read responses - packets" access="RO" offset="0x50.0" size="0x4.0" />
	<field name="generated_mc_read_resp_pkt_low" descr="Per lean pipe, per MLID (and one for all MLIDs\;combined):\;count generated MC read responses - packets" access="RO" offset="0x54.0" size="0x4.0" />
	<field name="generated_mc_read_resp_data_high" descr="Per lean pipe, per MLID (and one for all MLIDs\;combined):\;count generated MC read responses - data" access="RO" offset="0x58.0" size="0x4.0" />
	<field name="generated_mc_read_resp_data_low" descr="Per lean pipe, per MLID (and one for all MLIDs\;combined):\;count generated MC read responses - data" access="RO" offset="0x5C.0" size="0x4.0" />
	<field name="generated_mc_write_resp_pkt_high" descr="Per lean pipe, per MLID (and one for all MLIDs\;combined):\;count generated MC write responses - packets" access="RO" offset="0x60.0" size="0x4.0" />
	<field name="generated_mc_write_resp_pkt_low" descr="Per lean pipe, per MLID (and one for all MLIDs\;combined):\;count generated MC write responses - packets" access="RO" offset="0x64.0" size="0x4.0" />
	<field name="generated_mc_write_resp_data_high" descr="Per lean pipe, per MLID (and one for all MLIDs\;combined):\;count generated MC write responses - data" access="RO" offset="0x68.0" size="0x4.0" />
	<field name="generated_mc_write_resp_data_low" descr="Per lean pipe, per MLID (and one for all MLIDs\;combined):\;count generated MC write responses - data" access="RO" offset="0x6C.0" size="0x4.0" />
	<field name="dropped_pkt_high" descr="Per lean pipe, per MLID (and one for all MLIDs\;combined):\;count dropped packets. Should count only on\;configuration errors and not C&amp;D errors / LLU_RX\;errors.\;Includes penalty box errors." access="RO" offset="0x70.0" size="0x4.0" />
	<field name="dropped_pkt_low" descr="Per lean pipe, per MLID (and one for all MLIDs\;combined):\;count dropped packets. Should count only on\;configuration errors and not C&amp;D errors / LLU_RX\;errors.\;Includes penalty box errors." access="RO" offset="0x74.0" size="0x4.0" />
	<field name="trapped_pkt_high" descr="Per lean pipe, per MLID (and one for all MLIDs\;combined):\;count trapped packets" access="RO" offset="0x78.0" size="0x4.0" />
	<field name="trapped_pkt_low" descr="Per lean pipe, per MLID (and one for all MLIDs\;combined):\;count trapped packets" access="RO" offset="0x7C.0" size="0x4.0" />
	<field name="nvl_reduction_errors_high" descr="Per lean pipe, count reduction configuration error.\;This counter ignores the specified MLID value." access="RO" offset="0x80.0" size="0x4.0" />
	<field name="nvl_reduction_errors_low" descr="Per lean pipe, count reduction configuration error.\;This counter ignores the specified MLID value." access="RO" offset="0x84.0" size="0x4.0" />
	<field name="nvl_reduction_penalty_box_errors_high" descr="Per lean pipe, count reduction MLID in penalty\;box errors for both requests and responses.\;This counter ignores the specified MLID value." access="RO" offset="0x88.0" size="0x4.0" />
	<field name="nvl_reduction_penalty_box_errors_low" descr="Per lean pipe, count reduction MLID in penalty\;box errors for both requests and responses.\;This counter ignores the specified MLID value." access="RO" offset="0x8C.0" size="0x4.0" />
	<field name="port_nvr_local_alm_id_allocations_high" descr="Count number of allocated local ALM_ID.\;When RIB Mode is off, the counted values should\;match the number of reductions on the port.\;This counter ignores the specified MLID and\;LeanPipe values." access="RO" offset="0x90.0" size="0x4.0" />
	<field name="port_nvr_local_alm_id_allocations_low" descr="Count number of allocated local ALM_ID.\;When RIB Mode is off, the counted values should\;match the number of reductions on the port.\;This counter ignores the specified MLID and\;LeanPipe values." access="RO" offset="0x94.0" size="0x4.0" />
	<field name="port_nvr_global_alm_id_allocations_high" descr="Count number of allocated global ALM_ID\;from RIB. When RIB is off, count should be 0.\;This counter ignores the specified MLID and\;LeanPipe values." access="RO" offset="0x98.0" size="0x4.0" />
	<field name="port_nvr_global_alm_id_allocations_low" descr="Count number of allocated global ALM_ID\;from RIB. When RIB is off, count should be 0.\;This counter ignores the specified MLID and\;LeanPipe values." access="RO" offset="0x9C.0" size="0x4.0" />
</node>

<node name="ppcnt_plr_counters_ext" descr="" size="0xf8.0" >
	<field name="plr_rcv_codes_high" descr="Number of received PLR codewords\;\;" access="RO" offset="0x0.0" size="0x4.0" />
	<field name="plr_rcv_codes_low" descr="Number of received PLR codewords\;\;" access="RO" offset="0x4.0" size="0x4.0" />
	<field name="plr_rcv_code_err_high" descr="The total number of rejected codewords received" access="RO" offset="0x8.0" size="0x4.0" />
	<field name="plr_rcv_code_err_low" descr="The total number of rejected codewords received" access="RO" offset="0xC.0" size="0x4.0" />
	<field name="plr_rcv_uncorrectable_code_high" descr="The number of uncorrectable codewords received\;" access="RO" offset="0x10.0" size="0x4.0" />
	<field name="plr_rcv_uncorrectable_code_low" descr="The number of uncorrectable codewords received\;" access="RO" offset="0x14.0" size="0x4.0" />
	<field name="plr_xmit_codes_high" descr="Number of transmitted PLR codewords" access="RO" offset="0x18.0" size="0x4.0" />
	<field name="plr_xmit_codes_low" descr="Number of transmitted PLR codewords" access="RO" offset="0x1C.0" size="0x4.0" />
	<field name="plr_xmit_retry_codes_high" descr="The total number of codewords retransmitted." access="RO" offset="0x20.0" size="0x4.0" />
	<field name="plr_xmit_retry_codes_low" descr="The total number of codewords retransmitted." access="RO" offset="0x24.0" size="0x4.0" />
	<field name="plr_xmit_retry_events_high" descr="The total number of retransmitted event. \;\;" access="RO" offset="0x28.0" size="0x4.0" />
	<field name="plr_xmit_retry_events_low" descr="The total number of retransmitted event. \;\;" access="RO" offset="0x2C.0" size="0x4.0" />
	<field name="plr_sync_events_high" descr="The number of sync events" access="RO" offset="0x30.0" size="0x4.0" />
	<field name="plr_sync_events_low" descr="The number of sync events" access="RO" offset="0x34.0" size="0x4.0" />
	<field name="plr_codes_loss_high" descr="Received bandwidth loss due to codes retransmission. calculated in resolution of \;(plr_rcv_code_err / plr_rcv_codes) * 10^10\;\;BW Loss % = (plr_codes_loss / 10^10 ) *100" access="RO" offset="0x38.0" size="0x4.0" />
	<field name="plr_codes_loss_low" descr="Received bandwidth loss due to codes retransmission. calculated in resolution of \;(plr_rcv_code_err / plr_rcv_codes) * 10^10\;\;BW Loss % = (plr_codes_loss / 10^10 ) *100" access="RO" offset="0x3C.0" size="0x4.0" />
	<field name="plr_xmit_retry_events_within_t_sec_max_high" descr="The maximum number of retransmitted events in t sec window\;" access="RO" offset="0x40.0" size="0x4.0" />
	<field name="plr_xmit_retry_events_within_t_sec_max_low" descr="The maximum number of retransmitted events in t sec window\;" access="RO" offset="0x44.0" size="0x4.0" />
	<field name="plr_outstanding_cells" descr="Number of outstanding cells in PLR buffer" access="RO" offset="0x50.24" size="0x0.8" />
	<field name="plr_rcv_good_codes_high" descr="Number of all the good none sync PLR codewords received.\;This counter provides information on the total number of codewords received by the higher link layer at the output of the PLR correction mechanism." access="RO" offset="0x54.0" size="0x4.0" />
	<field name="plr_rcv_good_codes_low" descr="Number of all the good none sync PLR codewords received.\;This counter provides information on the total number of codewords received by the higher link layer at the output of the PLR correction mechanism." access="RO" offset="0x58.0" size="0x4.0" />
	<field name="plr_tx_codes_loss_high" descr="Transmitted bandwidth loss due to codes retransmission. calculated in resolution of (plr_xmit_retry_codes /plr_xmit_codes)*10^10\;\;Tx BW Loss % = (plr_xmit_retry_codes / plr_xmit_codes)" access="RO" offset="0x5C.0" size="0x4.0" />
	<field name="plr_tx_codes_loss_low" descr="Transmitted bandwidth loss due to codes retransmission. calculated in resolution of (plr_xmit_retry_codes /plr_xmit_codes)*10^10\;\;Tx BW Loss % = (plr_xmit_retry_codes / plr_xmit_codes)" access="RO" offset="0x60.0" size="0x4.0" />
	<field name="plr_tx_max_outstanding_cell_high" descr="Counts each time the buffer reaches its maximum size." access="RO" offset="0x64.0" size="0x4.0" />
	<field name="plr_tx_max_outstanding_cell_low" descr="Counts each time the buffer reaches its maximum size." access="RO" offset="0x68.0" size="0x4.0" />
</node>

<node name="ppcnt_recovery_counters_ext" descr="" size="0xf4.0" >
	<field name="total_successful_recovery_events" descr="Number of total successful recovery events of any of the recovery types during ports reset cycle (does not clear on link down)" access="RO" offset="0x0.0" size="0x4.0" />
	<field name="unintentional_link_down_events" descr="Counts Local &amp; remote unintentional drops (remote intentional are not counted)\;Updated on link drop only" access="RO" offset="0x4.0" size="0x4.0" />
	<field name="intentional_link_down_events" descr="Counts Local &amp; remote intentional drops (remote intentional counted)\;Updated on link drop only" access="RO" offset="0x8.0" size="0x4.0" />
	<field name="time_in_last_host_logical_recovery" descr="Time in ms of each of the recovery types from last recovery flow event." access="RO" offset="0xC.0" size="0x4.0" />
	<field name="time_in_last_host_serdes_feq_recovery" descr="Time in ms of each of the recovery types from last recovery flow event." access="RO" offset="0x10.0" size="0x4.0" />
	<field name="time_in_last_module_tx_disable_recovery" descr="Time in ms of each of the recovery types from last recovery flow event." access="RO" offset="0x14.0" size="0x4.0" />
	<field name="time_in_last_module_datapath_full_toggle_recovery" descr="Time in ms of each of the recovery types from last recovery flow event." access="RO" offset="0x18.0" size="0x4.0" />
	<field name="total_time_in_host_logical_recovery" descr="Total time in ms of each of the recovery types from all of the recovery flows that happened. Accumulative between link flaps" access="RO" offset="0x1C.0" size="0x4.0" />
	<field name="total_time_in_host_serdes_feq_recovery" descr="Total time in ms of each of the recovery types from all of the recovery flows that happened. Accumulative between link flaps" access="RO" offset="0x20.0" size="0x4.0" />
	<field name="total_time_in_module_tx_disable_recovery" descr="Total time in ms of each of the recovery types from all of the recovery flows that happened. Accumulative between link flaps" access="RO" offset="0x24.0" size="0x4.0" />
	<field name="total_time_in_module_datapath_full_toggle_recovery" descr="Total time in ms of each of the recovery types from all of the recovery flows that happened. Accumulative between link flaps" access="RO" offset="0x28.0" size="0x4.0" />
	<field name="total_host_logical_recovery_count" descr="Counter of the total times each recovery type flow happened. Accumulative between link flaps\;" access="RO" offset="0x2C.0" size="0x4.0" />
	<field name="total_host_serdes_feq_recovery_count" descr="Counter of the total times each recovery type flow happened. Accumulative between link flaps\;" access="RO" offset="0x30.0" size="0x4.0" />
	<field name="total_module_tx_disable_recovery_count" descr="Counter of the total times each recovery type flow happened. Accumulative between link flaps\;" access="RO" offset="0x34.0" size="0x4.0" />
	<field name="total_module_datapath_full_toggle_recovery_count" descr="Counter of the total times each recovery type flow happened. Accumulative between link flaps\;" access="RO" offset="0x38.0" size="0x4.0" />
	<field name="total_host_logical_succesful_recovery_count" descr="Counter of the total times each recovery type flow happened and succeeded to recover. Accumulative between link flaps\;" access="RO" offset="0x3C.0" size="0x4.0" />
	<field name="total_host_serdes_feq_succesful_recovery_count" descr="Counter of the total times each recovery type flow happened and succeeded to recover. Accumulative between link flaps\;" access="RO" offset="0x40.0" size="0x4.0" />
	<field name="total_module_tx_disable_succesful_recovery_count" descr="Counter of the total times each recovery type flow happened and succeeded to recover. Accumulative between link flaps\;" access="RO" offset="0x44.0" size="0x4.0" />
	<field name="total_module_datapath_full_toggle_succesful_recovery_count" descr="Counter of the total times each recovery type flow happened and succeeded to recover. Accumulative between link flaps\;" access="RO" offset="0x48.0" size="0x4.0" />
	<field name="time_since_last_recovery" descr="Time since last successful recovery\;1 sec granularity.\;valid only if total_successful_recoveries OR successful_recovery_event &gt;= 1" access="RO" offset="0x4C.0" size="0x4.0" />
	<field name="last_host_logical_recovery_attempts_count" descr="number of lock attempts counts. lock attempt is defined as 500uS cycle lock attempt to linkup   " access="RO" offset="0x50.0" size="0x4.0" />
	<field name="last_host_serdes_feq_attempts_count" descr="number PHY algorithm cycles counts." access="RO" offset="0x54.0" size="0x4.0" />
	<field name="time_between_last_2_recoveries" descr="time in msec between 2 last consecutive recoveries (success or fail) from exit of first to entry of second. When value ss in 0xFFFF, time is more than 1min    \;\;valid only if (total_successful_recoveries OR successful_recovery_event) + link_down_counter &gt;= 2" access="RO" offset="0x58.0" size="0x0.16" />
	<field name="last_successful_recovery_time" descr="Time in ms of the last successful recovery flow event.\;\;Supported if PCAM.feature_cap_mask bit 124 is set" access="RO" offset="0x60.0" size="0x4.0" />
	<field name="total_successful_recovery_time" descr="Total time in ms of each of the recovery types from all of the recovery flows that happened. \;Accumulative between link flaps\;\;Supported if PCAM.feature_cap_mask bit 124 is set" access="RO" offset="0x64.0" size="0x4.0" />
	<field name="last_Successful_recovery_step_attempts" descr="Valid only when UPHY_recovery_steps enabled, counts number of steps triggered (step1 + step2)\;" access="RO" offset="0x68.0" size="0x4.0" />
	<field name="last_rs_fec_uncorrectable_during_recovery_high" descr="Number of uncorrectable RS-FEC blocks received on port, during the last recovery flow event.\;\;Supported if PCAM.feature_cap_mask bit 125 is set" access="RO" offset="0x6C.0" size="0x4.0" />
	<field name="last_rs_fec_uncorrectable_during_recovery_low" descr="Number of uncorrectable RS-FEC blocks received on port, during the last recovery flow event.\;\;Supported if PCAM.feature_cap_mask bit 125 is set" access="RO" offset="0x70.0" size="0x4.0" />
	<field name="total_rs_fec_uncorrectable_during_recovery_high" descr="Number of uncorrectable RS-FEC blocks received on port during recovery, accumulative on all recovery events between link flap.\;Supported if PCAM.feature_cap_mask bit 125 is set" access="RO" offset="0x74.0" size="0x4.0" />
	<field name="total_rs_fec_uncorrectable_during_recovery_low" descr="Number of uncorrectable RS-FEC blocks received on port during recovery, accumulative on all recovery events between link flap.\;Supported if PCAM.feature_cap_mask bit 125 is set" access="RO" offset="0x78.0" size="0x4.0" />
	<field name="wait_for_module_time" descr="time in ms, waited for module rx_output_valid" access="RO" offset="0x7C.0" size="0x4.0" />
</node>

<node name="ppcnt_reg_counter_set_auto_ext" descr="" attr_is_union="1" size="0xf8.0" >
	<field name="IB_long_portcntrs_attribute_grp_data_ext" descr="" subnode="IB_long_portcntrs_attribute_grp_data_ext" offset="0x0.0" selected_by="InfiniBand_Extended_Port_Counters" size="0xf8.0" />
	<field name="IB_portcntrs_attribute_grp_data_ext" descr="" subnode="IB_portcntrs_attribute_grp_data_ext" offset="0x0.0" selected_by="InfiniBand_Port_Counters" size="0xf8.0" />
	<field name="eth_2819_cntrs_grp_data_layout_ext" descr="" subnode="eth_2819_cntrs_grp_data_layout_ext" offset="0x0.0" selected_by="RFC_2819_Counters" size="0xf8.0" />
	<field name="eth_2863_cntrs_grp_data_layout_ext" descr="" subnode="eth_2863_cntrs_grp_data_layout_ext" offset="0x0.0" selected_by="RFC_2863_Counters" size="0xf8.0" />
	<field name="eth_3635_cntrs_grp_data_layout_ext" descr="" subnode="eth_3635_cntrs_grp_data_layout_ext" offset="0x0.0" selected_by="RFC_3635_Counters" size="0xf8.0" />
	<field name="eth_802_3_cntrs_grp_data_layout_ext" descr="" subnode="eth_802_3_cntrs_grp_data_layout_ext" offset="0x0.0" selected_by="IEEE_802_3_Counters" size="0xf8.0" />
	<field name="eth_discard_cntrs_grp_ext" descr="" subnode="eth_discard_cntrs_grp_ext" offset="0x0.0" selected_by="Ethernet_Discard_Counters" size="0xf8.0" />
	<field name="eth_extended_cntrs_grp_data_layout_ext" descr="" subnode="eth_extended_cntrs_grp_data_layout_ext" offset="0x0.0" selected_by="Ethernet_Extended_Counters" size="0xf8.0" />
	<field name="eth_per_prio_grp_data_layout_ext" descr="" subnode="eth_per_prio_grp_data_layout_ext" offset="0x0.0" selected_by="Per_Priority_Counters" size="0xf8.0" />
	<field name="eth_per_traffic_class_cong_layout_ext" descr="" subnode="eth_per_traffic_class_cong_layout_ext" offset="0x0.0" selected_by="Per_Traffic_Class_Congestion_Counters" size="0xf8.0" />
	<field name="eth_per_traffic_class_layout_ext" descr="" subnode="eth_per_traffic_class_layout_ext" offset="0x0.0" selected_by="Per_Traffic_Class_Counters" size="0xf8.0" />
	<field name="phys_layer_cntrs_ext" descr="" subnode="phys_layer_cntrs_ext" offset="0x0.0" selected_by="Physical_Layer_Counters" size="0xf8.0" />
	<field name="phys_layer_stat_cntrs_ext" descr="" subnode="phys_layer_stat_cntrs_ext" offset="0x0.0" selected_by="Physical_Layer_Statistical_Counters" size="0xf8.0" />
	<field name="ppcnt_infiniband_general_counter_ext" descr="" subnode="ppcnt_infiniband_general_counter_ext" offset="0x0.0" selected_by="InfiniBand_General_Counters" size="0xf8.0" />
	<field name="ppcnt_infiniband_packets_counter_ext" descr="" subnode="ppcnt_infiniband_packets_counter_ext" offset="0x0.0" selected_by="InfiniBand_pkts_counters" size="0xf8.0" />
	<field name="ppcnt_nvlink_reduction_mlid_counters_ext" descr="" subnode="ppcnt_nvlink_reduction_mlid_counters_ext" offset="0x0.0" selected_by="NVLink_Reduction_Counters" size="0xa0.0" />
	<field name="ppcnt_plr_counters_ext" descr="" subnode="ppcnt_plr_counters_ext" offset="0x0.0" selected_by="PLR_counters_group" size="0xf8.0" />
	<field name="ppcnt_recovery_counters_ext" descr="" subnode="ppcnt_recovery_counters_ext" offset="0x0.0" selected_by="physical_layer_recovery_counters" size="0xf4.0" />
	<field name="ppcnt_rs_fec_histograms_counters_ext" descr="" subnode="ppcnt_rs_fec_histograms_counters_ext" offset="0x0.0" selected_by="RS_FEC_Histogram_group" size="0xf8.0" />
</node>

<node name="ppcnt_reg_ext" descr="" size="0x100.0" >
	<field name="grp" descr="Performance counter group.\;Group 63 indicates all groups (include all per priority/TC/Receive Buffer counters). Only valid on Set() operation with clr bit set.\;0x0: IEEE_802_3_Counters\;0x1: RFC_2863_Counters\;0x2: RFC_2819_Counters\;0x3: RFC_3635_Counters\;0x5: Ethernet_Extended_Counters\;0x6: Ethernet_Discard_Counters \;0x10: Per_Priority_Counters - \;0x11: Per_Traffic_Class_Counters - \;0x12: Physical_Layer_Counters\;0x13: Per_Traffic_Class_Congestion_Counters\;0x16: Physical_Layer_Statistical_Counters\;0x1A: physical_layer_recovery_counters\;0x20: InfiniBand_Port_Counters\;0x21: InfiniBand_Extended_Port_Counters\;0x22: PLR_counters_group\;0x23: RS_FEC_Histogram_group\;0x25: InfiniBand_pkts_counters\;0x26: InfiniBand_General_Counters\;0x27: L1_General_Counters\;0x2C: NVLink_Reduction_Counters" access="INDEX" enum="IEEE_802_3_Counters=0x0,RFC_2863_Counters=0x1,RFC_2819_Counters=0x2,RFC_3635_Counters=0x3,Ethernet_Extended_Counters=0x5,Ethernet_Discard_Counters=0x6,Per_Priority_Counters=0x10,Per_Traffic_Class_Counters=0x11,Physical_Layer_Counters=0x12,Per_Traffic_Class_Congestion_Counters=0x13,Physical_Layer_Statistical_Counters=0x16,physical_layer_recovery_counters=0x1a,InfiniBand_Port_Counters=0x20,InfiniBand_Extended_Port_Counters=0x21,PLR_counters_group=0x22,RS_FEC_Histogram_group=0x23,InfiniBand_pkts_counters=0x25,InfiniBand_General_Counters=0x26,NVLink_Reduction_Counters=0x2c" offset="0x0.0" size="0x0.6" />
	<field name="port_type" descr="Supported only when indicated by PCAM on FPGA based NICs:\;0 - Network Port\;1 - Near-End Port (For Retimer/Gearbox - Host side)\;2 - Internal IC LR Port \;3 - Far-End Port (For Retimer/Gearbox - Line side)" access="INDEX" offset="0x0.8" size="0x0.4" />
	<field name="lp_msb" descr="Local port number [9:8]" access="INDEX" offset="0x0.12" size="0x0.2" />
	<field name="pnat" descr="Port number access type:\;0: Local_port_number\;1: IB_port_number\;2: host_port_number\;Note - pnat=2 is supported for &quot;Per Traffic Class Congestion Counters&quot; and &quot;Per Traffic Class Counters&quot; groups." access="INDEX" enum="Local_port_number=0x0,IB_port_number=0x1,host_port_number=0x2" offset="0x0.14" size="0x0.2" />
	<field name="local_port" descr="Local port number. \;Note:\;when lp_gl = 0, 255 indicates all ports on the device, and is only allowed for Set() operation.\;when lp_gl = 1, the index is a local port number\;Note: for HCA this bit is not supported, ignored by device" access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="swid" descr="Switch partition ID to associate port with.\;Switch partitions are numbered from 0 to 7 inclusively.\;Switch partition 254 indicates stacking ports.\;Switch partition 255 indicates all switch partitions.\;Valid for IB router port.\;Valid on Set() operation with local_port=255." access="INDEX" offset="0x0.24" size="0x0.8" />
	<field name="prio_tc" descr="Priority index for per priority counter sets, valid values: 0-7\;For Spectrum-2 and on at tx side range can be 0..cap_max_tclass_data-1, cap_control_tclass, see QGCR.tx_cnt_tclass.\; \;Traffic class index for per traffic class counter set, valid values:\;For Switches, valid values: 0 .. cap_max_tclass_data-1\; \;For HCA, valid values: 0.. HCA_CAP.max_tc\;\;Otherwise must be 0.\;\;For &quot;NVLink Reduction Counters&quot; group index of MLID and lean pipe." access="INDEX" offset="0x4.0" size="0x0.5" />
	<field name="grp_profile" descr="Supported only when indicated by PCAM: PPCNT_grp_profile_supported (bit 73).\;The group profile index. Relevant only if the clr bit is set.\;0: Will reset the counter value for all counters in the counter group.\;Else: Will point to the corresponding bit-map profile in the PPCGP register. The bit map will return the specific counters that will be reset in the group.\;\;NOTE: The grp_profile index is not supported for the following counters groups:\;1. 0x12: Physical_Layer_Counters\;2. 0x16: Physical_Layer_Statistical_Counters\;3. 0x22: PLR_counters_group\;" access="INDEX" offset="0x4.5" size="0x0.3" />
	<field name="plane_ind" descr="Reserved for non-planarized port.\;Plane port index of the aggregated port. A value of 0 refers to the aggregated port only." access="INDEX" offset="0x4.8" size="0x0.4" />
	<field name="counters_cap" descr="counters_cap is supported if PCAM.feature_cap_mask bit 85 is set.\;When set, each counter in the group will show in bit 0 if the counter is supported.\;&apos;0&apos; - not supported\;&apos;1&apos; - supported\;Note: To know which PPCNT groups are supported per device, listed in table TBD or PCAM fields with PPCNT can be queried." access="OP" offset="0x4.29" size="0x0.1" />
	<field name="lp_gl" descr="Local Port global variable\;0: local_port port 255 = all ports of the device.\;1: local_port index indicates Local port number.\;for HCA this bit is not supported, ignored by device" access="INDEX" offset="0x4.30" size="0x0.1" />
	<field name="clr" descr="Clear counters. Setting the clr bit will reset the counter value for all counters in the counter group. This bit can be set for both Set() and Get() operation.\;\;NOTE: Clearing a certain group&apos;s counters can influence another group&apos;s counters value." access="OP" offset="0x4.31" size="0x0.1" />
	<field name="counter_set" descr="Counter set as described in\;Table  1714, &quot;Ethernet IEEE 802.3 Counters Group Data Layout,&quot; on page  2266\;Table  1716, &quot;Ethernet RFC 2863 Counter Group Data Layout,&quot; on page  2270\;Table  1718, &quot;Ethernet RFC 2819 Counter Group Data Layout,&quot; on page  2273\;Table  1720, &quot;Ethernet RFC 3635 Counter Group Data Layout,&quot; on page  2278\;Table  1722, &quot;Ethernet Extended Counter Group Data Layout,&quot; on page  2282\;Table  1725, &quot;Ethernet Discard Counter Group Fields,&quot; on page  2287\;Table  1726, &quot;Ethernet Per Priority Group Data Layout,&quot; on page  2289\;Table  1730, &quot;Ethernet Per Traffic Class Group data layout,&quot; on page  2297\;Table  1742, &quot;Physical Layer Counters Data Layout,&quot; on page  2308\;Table  1732, &quot;Ethernet Per Traffic Class Congestion Group data layout,&quot; on page  2298\;Table  1746, &quot;Physical Layer Statistical Counters Data Layout,&quot; on page  2317\;Table  1738, &quot;InfiniBand PortCounters Attribute Group Data Layout,&quot; on page  2302\;Table  1740, &quot;InfiniBand Extended PortCounters Attribute Group Data Layout,&quot; on page  2304\;Table  1748, &quot;PLR Counters Data Layout,&quot; on page  2323 \;Table  1750, &quot;RS-Histograms Data Layout,&quot; on page  2326\;Table  1754, &quot;InfiniBand Packets Counters Data Layout,&quot; on page  2328\;Table  1756, &quot;InfiniBand General Counters Data Layout,&quot; on page  2331\;Table  1774, &quot;Physical Layer Recovery Counters Group Data Layout,&quot; on page  2361\;Table  1776, &quot;NVLink Reduction Counters Group Layout,&quot; on page  2365" subnode="ppcnt_reg_counter_set_auto_ext" access="RO" offset="0x8.0" size="0xf8.0" union_selector="$(parent).grp" />
</node>

<node name="ppcnt_rs_fec_histograms_counters_ext" descr="" size="0xf8.0" >
	<field name="hist" descr="Value of RS-hist\;In order to know bin errors distribution use PPHCR reg." subnode="uint64" access="RO" high_bound="20" low_bound="0" offset="0x0.0" size="0xa8.0" />
</node>

<node name="ppfcg_ext" descr="" size="0x8.0" >
	<field name="event_config" descr="Event Configuration:\;0 - on each storm detection, send only one event (and stop monitoring this port.tc until SW enables it).\;1 - on each storm detection, send event (keep monitoring the port.tc).\;note - when 1, FW will notify after polling_interval*detect_num.\;Default value - 1" access="RW" offset="0x0.31" size="0x0.1" />
</node>

<node name="pphcr_bin_range_ext" descr="" size="0x4.0" >
	<field name="low_val" descr="Low range of bin&apos;s measurement" access="RW" offset="0x0.0" size="0x0.6" />
	<field name="high_val" descr="High range of bin&apos;s measurement" access="RW" offset="0x0.16" size="0x0.6" />
</node>

<node name="pphcr_ext" descr="" size="0x5c.0" >
	<field name="we" descr="Support of histogram bins configuration. \;In case this bit is cleared, the port doesn&apos;t support configuration of the histogram bins, for the specific hist_type." access="RO" offset="0x0.0" size="0x0.1" />
	<field name="plane_ind" descr="Reserved for non-planarized port.\;Plane port index of the aggregated port. A value of 0 refers to the aggregated port only." access="INDEX" offset="0x0.4" size="0x0.4" />
	<field name="port_type" descr="0 - Network Port\;1 - Near-End Port (For Retimer/Gearbox - Host side)\;3 - Far-End Port (For Retimer/Gearbox - Line side)\;Other values are reserved." access="INDEX" offset="0x0.8" size="0x0.4" />
	<field name="lp_msb" descr="Local port number [9:8]" access="INDEX" offset="0x0.12" size="0x0.2" />
	<field name="pnat" descr="Port number access type:\;0: Local_port_number\;1: IB_port_number" access="INDEX" enum="Local_port_number=0x0,IB_port_number=0x1" offset="0x0.14" size="0x0.2" />
	<field name="local_port" descr="local_port or DataPath number" access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="active_hist_type" descr="0 - Invalid (Link down / unsupported) \;1 - KP4 RS-FEC (544,514) errors \;2 - LL RS-FEC (271,257) / (272,257+1) errors\;3 - KR4 RS-FEC (528,514) errors\;4 - PRBS errors" access="RO" offset="0x0.28" size="0x0.4" />
	<field name="hist_type" descr="0: According to active link" access="INDEX" offset="0x4.0" size="0x0.4" />
	<field name="num_of_bins" descr="Available number of bins \;" access="RO" offset="0x4.16" size="0x0.8" />
	<field name="hist_min_measurement" descr="Lowest measurement/low limit of the histogram \;Example:\;In case of hist_type = 1, represent KP4 RS FEC symbol errors(= 0)\;In case of hist_type = 2, represent LL RS FEC symbol errors ( = 0)\;" access="RO" offset="0x8.0" size="0x0.8" />
	<field name="hist_max_measurement" descr="Highest measurement/high limit of the histogram:\;Example:\;In case of hist_type = 1, represent KP4 RS FEC symbol errors ( = 15)\;In case of hist_type = 2, represent LL RS FEC symbol errors ( = 7)" access="RO" offset="0x8.16" size="0x0.8" />
	<field name="bin_range_write_mask" descr="Valid only if we (write enable) = 1 \;Ignored on GET \;Write mask for the bin_range array. \;If bit X is set, bin_range [X] write should be execute\;Else if bit X is clear, ignored value in written to bin_range [X]" access="WO" offset="0xC.0" size="0x0.16" />
	<field name="bin_range" descr="Write to bin_range[x] is applicable only if we = 1 &amp; the corresponding bits in bin_range_write_mask is set.\;Mapping of measurement units to a bin.\;See Table  2094, &quot;PPHCR - Port Phy Bin Range Histogram Configuration Layout,&quot; on page  2792" subnode="pphcr_bin_range_ext" access="RW" high_bound="18" low_bound="0" offset="0x10.0" size="0x4c.0" />
</node>

<node name="pplm_nvl6_fec_ext" descr="" size="0x18.0" >
	<field name="nvlink_fec_override_admin_200g_1x_mode_a" descr="200G 1x (200G_1x_Simplex) Mode A - override admin bitmask (one-hot setting):\;0: auto_mode - no override\;Bit 11: RS_FEC_546_516_plus_PLR_Double_FEC_Engine\;All others Reserved" access="RW" enum="auto_mode=0x0,RS_FEC_546_516_plus_PLR_Double_FEC_Engine=0x800" offset="0x0.0" size="0x0.16" />
	<field name="nvlink_fec_override_cap_200g_1x_mode_a" descr="200G 1x (200G_1x_Simplex) Mode A - override capability bitmask:\;Bit 11: RS_FEC_546_516_plus_PLR_Double_FEC_Engine\;All others Reserved" access="RO" enum="RS_FEC_546_516_plus_PLR_Double_FEC_Engine=0x800" offset="0x0.16" size="0x0.16" />
	<field name="nvlink_fec_override_admin_400g_2x_mode_a" descr="400G 2x (400G_2x_Simplex) Mode A - override admin bitmask (one-hot set\;ting):\;0: auto_mode - no override\;Bit 5: RS_FEC_546_516_plus_PLR_Quad_FEC_Engine\;Bit 8: RS_FEC_546_516_plus_PLR_Octet_FEC_Engine\;Bit 11: RS_FEC_546_516_plus_PLR_Double_FEC_Engine\;All others Reserved" access="RW" enum="auto_mode=0x0,RS_FEC_546_516_plus_PLR_Quad_FEC_Engine=0x20,RS_FEC_546_516_plus_PLR_Octet_FEC_Engine=0x100,RS_FEC_546_516_plus_PLR_Double_FEC_Engine=0x800" offset="0x4.0" size="0x0.16" />
	<field name="nvlink_fec_override_cap_400g_2x_mode_a" descr="400G 2x (400G_2x_Simplex) Mode A - override capability bitmask:\;Bit 5: RS_FEC_546_516_plus_PLR_Quad_FEC_Engine\;Bit 8: RS_FEC_546_516_plus_PLR_Octet_FEC_Engine\;Bit 11: RS_FEC_546_516_plus_PLR_Double_FEC_Engine\;All others Reserved" access="RO" enum="RS_FEC_546_516_plus_PLR_Quad_FEC_Engine=0x20,RS_FEC_546_516_plus_PLR_Octet_FEC_Engine=0x100,RS_FEC_546_516_plus_PLR_Double_FEC_Engine=0x800" offset="0x4.16" size="0x0.16" />
	<field name="nvlink_fec_override_admin_400g_2x_mode_b" descr="400G 2x (375G_2x_Bidi) Mode B - override admin bitmask (one-hot setting):\;0: auto_mode - no override\;Bit 5: RS_FEC_546_516_plus_PLR_Quad_FEC_Engine\;Bit 8: RS_FEC_546_516_plus_PLR_Octet_FEC_Engine\;Bit 11: RS_FEC_546_516_plus_PLR_Double_FEC_Engine\;All others Reserved" access="RW" enum="auto_mode=0x0,RS_FEC_546_516_plus_PLR_Quad_FEC_Engine=0x20,RS_FEC_546_516_plus_PLR_Octet_FEC_Engine=0x100,RS_FEC_546_516_plus_PLR_Double_FEC_Engine=0x800" offset="0x8.0" size="0x0.16" />
	<field name="nvlink_fec_override_cap_400g_2x_mode_b" descr="400G 2x (375G_2x_Bidi) Mode B - override capability bitmask:\;Bit 5: RS_FEC_546_516_plus_PLR_Quad_FEC_Engine\;Bit 8: RS_FEC_546_516_plus_PLR_Octet_FEC_Engine\;Bit 11: RS_FEC_546_516_plus_PLR_Double_FEC_Engine\;All others Reserved" access="RO" enum="RS_FEC_546_516_plus_PLR_Quad_FEC_Engine=0x20,RS_FEC_546_516_plus_PLR_Octet_FEC_Engine=0x100,RS_FEC_546_516_plus_PLR_Double_FEC_Engine=0x800" offset="0x8.16" size="0x0.16" />
	<field name="nvlink_fec_override_admin_360g_2x_mode_b" descr="360G 2x (337p5G_2x_Bidi) Mode B - override admin bitmask (one-hot setting):\;0: auto_mode - no override\;Bit 5: RS_FEC_546_516_plus_PLR_Quad_FEC_Engine\;Bit 8: RS_FEC_546_516_plus_PLR_Octet_FEC_Engine\;Bit 11: RS_FEC_546_516_plus_PLR_Double_FEC_Engine\;All others Reserved" access="RW" enum="auto_mode=0x0,RS_FEC_546_516_plus_PLR_Quad_FEC_Engine=0x20,RS_FEC_546_516_plus_PLR_Octet_FEC_Engine=0x100,RS_FEC_546_516_plus_PLR_Double_FEC_Engine=0x800" offset="0xC.0" size="0x0.16" />
	<field name="nvlink_fec_override_cap_360g_2x_mode_b" descr="360G 2x (337p5G_2x_Bidi) Mode B - override capability bitmask:\;Bit 5: RS_FEC_546_516_plus_PLR_Quad_FEC_Engine\;Bit 8: RS_FEC_546_516_plus_PLR_Octet_FEC_Engine\;Bit 11: RS_FEC_546_516_plus_PLR_Double_FEC_Engine\;All others Reserved" access="RO" enum="RS_FEC_546_516_plus_PLR_Quad_FEC_Engine=0x20,RS_FEC_546_516_plus_PLR_Octet_FEC_Engine=0x100,RS_FEC_546_516_plus_PLR_Double_FEC_Engine=0x800" offset="0xC.16" size="0x0.16" />
	<field name="nvlink_fec_override_admin_328g_2x_mode_b" descr="328G 2x (307p5G_2x_Bidi) Mode B - override admin bitmask (one-hot setting):\;0: auto_mode - no override\;Bit 5: RS_FEC_546_516_plus_PLR_Quad_FEC_Engine\;Bit 8: RS_FEC_546_516_plus_PLR_Octet_FEC_Engine\;Bit 11: RS_FEC_546_516_plus_PLR_Double_FEC_Engine\;All others Reserved" access="RW" enum="auto_mode=0x0,RS_FEC_546_516_plus_PLR_Quad_FEC_Engine=0x20,RS_FEC_546_516_plus_PLR_Octet_FEC_Engine=0x100,RS_FEC_546_516_plus_PLR_Double_FEC_Engine=0x800" offset="0x10.0" size="0x0.16" />
	<field name="nvlink_fec_override_cap_328g_2x_mode_b" descr="328G 2x (307p5G_2x_Bidi) Mode B - override capability bitmask:\;Bit 5: RS_FEC_546_516_plus_PLR_Quad_FEC_Engine\;Bit 8: RS_FEC_546_516_plus_PLR_Octet_FEC_Engine\;Bit 11: RS_FEC_546_516_plus_PLR_Double_FEC_Engine\;All others Reserved" access="RO" enum="RS_FEC_546_516_plus_PLR_Quad_FEC_Engine=0x20,RS_FEC_546_516_plus_PLR_Octet_FEC_Engine=0x100,RS_FEC_546_516_plus_PLR_Double_FEC_Engine=0x800" offset="0x10.16" size="0x0.16" />
	<field name="nvlink_fec_override_admin_200g_2x_mode_a" descr="200G 2x (200G_2x_Simplex XDR 2x slow) Mode A - override admin bitmask (one-hot setting):\;0: auto_mode - no override\;Bit 5: RS_FEC_546_516_plus_PLR_Quad_FEC_Engine\;Bit 8: RS_FEC_546_516_plus_PLR_Octet_FEC_Engine\;Bit 11: RS_FEC_546_516_plus_PLR_Double_FEC_Engine\;All others Reserved" access="RW" enum="auto_mode=0x0,RS_FEC_546_516_plus_PLR_Quad_FEC_Engine=0x20,RS_FEC_546_516_plus_PLR_Octet_FEC_Engine=0x100,RS_FEC_546_516_plus_PLR_Double_FEC_Engine=0x800" offset="0x14.0" size="0x0.16" />
	<field name="nvlink_fec_override_cap_200g_2x_mode_a" descr="200G 2x (200G_2x_Simplex XDR 2x slow) Mode A - override capability bitmask:\;Bit 5: RS_FEC_546_516_plus_PLR_Quad_FEC_Engine\;Bit 8: RS_FEC_546_516_plus_PLR_Octet_FEC_Engine\;Bit 11: RS_FEC_546_516_plus_PLR_Double_FEC_Engine\;All others Reserved" access="RO" enum="RS_FEC_546_516_plus_PLR_Quad_FEC_Engine=0x20,RS_FEC_546_516_plus_PLR_Octet_FEC_Engine=0x100,RS_FEC_546_516_plus_PLR_Double_FEC_Engine=0x800" offset="0x14.16" size="0x0.16" />
</node>

<node name="pplm_reg_ext" descr="" size="0x80.0" >
	<field name="test_mode" descr="0: Mission_mode_configuration_and_capabilities\;1: Test_mode_configuration_and_capabilities" access="INDEX" enum="Mission_mode_configuration_and_capabilities=0x0,Test_mode_configuration_and_capabilities=0x1" offset="0x0.1" size="0x0.1" />
	<field name="plr_vld" descr="When set, PLR set configurations are valid, otherwise ignored.\;relevant fields for PLR configurations are: plr_margin_th, tx_crc_plr, plr_reject_mode\;Feature is supported when PCAM bit 95 is set" access="WO" offset="0x0.2" size="0x0.1" />
	<field name="tx_crc_plr_vld" descr="Valid only when plr_vld is set. When set, PLR configuration for tx_crc_plr is used , otherwise ignored." access="WO" offset="0x0.3" size="0x0.1" />
	<field name="plane_ind" descr="Reserved for non-planarized port.\;Plane port index of the aggregated port. A value of 0 refers to the aggregated port only." access="INDEX" offset="0x0.4" size="0x0.4" />
	<field name="port_type" descr="Supported only when indicated by PCAM \;0: Network_Port\;1: Near_End_Port - For Gearbox - Host side\;2: Internal_IC_Port \;3: Far_End_Port - For Gearbox - Line side\;\;Other values are reserved.\;\;Using port_type &apos;0&apos; will override all different parts of the link structure.\;Using port_type &apos;1&apos; will configure also port_type &apos;2&apos; accordingly and vise versa." access="INDEX" enum="Network_Port=0x0,Near_End_Port=0x1,Internal_IC_Port=0x2,Far_End_Port=0x3" offset="0x0.8" size="0x0.4" />
	<field name="lp_msb" descr="Local port number [9:8]" access="INDEX" offset="0x0.12" size="0x0.2" />
	<field name="pnat" descr="Port number access type. \;0: Local_port_number\;1: IB_port_number" access="INDEX" enum="Local_port_number=0x0,IB_port_number=0x1" offset="0x0.14" size="0x0.2" />
	<field name="local_port" descr="Local port number" access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="plr_reject_mode_vld" descr="Valid only when plr_vld is set. When set, PLR configuration for plr_reject_mode is used, otherwise ignored." access="WO" offset="0x0.24" size="0x0.1" />
	<field name="plr_margin_th_override_to_default" descr="Valid only if plr_vld is not set. When set, force default value into the plr_margin_th" access="WO" offset="0x0.25" size="0x0.1" />
	<field name="tx_crc_plr_override_to_default" descr="Valid only if plr_vld is not set. When set, force default value into the tx_crc_plr" access="WO" offset="0x0.26" size="0x0.1" />
	<field name="plr_reject_mode_override_to_default" descr="Valid only if plr_vld is not set. When set, force default value into the plr_reject_mode" access="WO" offset="0x0.27" size="0x0.1" />
	<field name="resilink_fec_ind" descr="Valid only for resilink link is operational, otherwise ignored.\;\;When cleared,  will represent the Ethernet equivalent FEC of the resilink protocol.\;\;When set,  will represent the Resilink FEC protocol" access="INDEX" offset="0x0.28" size="0x0.1" />
	<field name="fec_generation" descr="For protocol generations presented as an enum under this field, fec_override_cap &amp; fec_override_admin fields per each supported rate will appear under the fec_page_data field.\;0: NVL6\;1: NVL7" access="RO" enum="NVL6=0x0,NVL7=0x1" offset="0x4.0" size="0x0.4" />
	<field name="plr_margin_th_support" descr="Supported PLR margin thresholds capability bitmask:\;Bit 0: PLR margin threshold 0 supported\;Bit 1: PLR margin threshold 1 supported\;Bit 2: PLR margin threshold 2 supported\;Bit 3: PLR margin threshold 3 supported\;Bit 4: PLR margin threshold 4 supported\;Bit 5: PLR margin threshold 5 supported\;Bit 6: PLR margin threshold 6 supported\;Bit 7: PLR margin threshold 7 supported\;" access="RO" offset="0x4.9" size="0x0.8" />
	<field name="tx_crc_plr_support" descr="Supported tx CRC over PLR capability\;0: not supported\;1: supported" access="RO" offset="0x4.18" size="0x0.1" />
	<field name="plr_reject_mode_support" descr="Supported PLR reject modes capability bitmask:\;Bit 0: rejection_based_on_plr_margin\;Bit 1: rejection_based_on_crc_and_cs\;Bit 2: rejection_based_on_CS\;Bit 3: rejection_based_on_CS_on_demand" access="RO" offset="0x4.19" size="0x0.4" />
	<field name="plr_reject_mode_oper" descr="This is the operational value:\;0: rejection_based_on_plr_margin\;1: rejection_based_on_crc_and_cs\;2: rejection_based_on_CS\;3: rejection_based_on_CS_on_demand" access="RO" offset="0x4.25" size="0x0.2" />
	<field name="tx_crc_plr_oper" descr="This is the operational value. When set tx CRC over PLR is enabled" access="RO" offset="0x4.27" size="0x0.1" />
	<field name="plr_margin_th_oper" descr="This is the operational value.\;PLR margin threshold in which a codeword is retransmitted" access="RO" offset="0x4.28" size="0x0.4" />
	<field name="fec_mode_active" descr="Active FEC (bitmask)\;For each enum, a short prefix for tools is presented in the row below.\;0: No_FEC \;1: Firecode_FEC\;FC_FEC\;2: Standard_RS_FEC - RS(528,514)\;KR4_FEC\;3: Standard_LL_RS_FEC - RS(271,257)\;LL_FEC\;4: Interleaved_Quad_RS_FEC - (544,514)  \;Quad_KP4_FEC\;5: Interleaved_Quad_RS_FEC_PLR - (546,516) \;Quad_KP4_FEC\;6: Interleaved_Standard_RS-FEC - (544,514)\;Int_KP4_FEC\;7: Standard_RS-FEC - (544,514)\;KP4_FEC\;8: Interleaved_Octet_RS_FEC_PLR - (546,516) \;Octet_KP4_FEC\;9: Ethernet_Consortium_LL_50G_RS_FEC- (272,257+1)\;ELL_FEC\;10: Interleaved_Ethernet_Consortium_LL_50G_RS_FEC - (272,257+1)\;Int_ELL_FEC\;11: Interleaved_Standard_RS_FEC_PLR - (544,514) \;Int_KP4_FEC_PLR\;12: RS-FEC - (544,514) + PLR\;KP4_FEC_PLR\;13: LL-FEC - (271,257) + PLR\;LL_FEC_PLR\;14: Ethernet_Consortium_LL_50G_RS_FEC_PLR - (272,257+1) [Internal] \;ELL_FEC_PLR\;15: Interleaved_Ethernet_Consortium_LL_50G_RS_FEC_PLR - (272,257+1) [Internal]\;Int_ELL_FEC_PLR\;16: RS_FEC_288_258_plus_PLR_Double_FEC_Engine\;17: RS_FEC_288_258_plus_PLR_Quad_FEC_Engine\;18: RS_FEC_288_258_plus_PLR_Octet_FEC_Engine" access="RO" enum="No_FEC=0x0,Firecode_FEC=0x1,Standard_RS_FEC=0x2,Standard_LL_RS_FEC=0x3,Interleaved_Quad_RS_FEC=0x4,Interleaved_Quad_RS_FEC_PLR=0x5,Interleaved_Standard_RS=0x6,Standard_RS=0x7,Interleaved_Octet_RS_FEC_PLR=0x8,Ethernet_Consortium_LL_50G_RS_FEC=0x9,Interleaved_Ethernet_Consortium_LL_50G_RS_FEC=0xa,Interleaved_Standard_RS_FEC_PLR=0xb,RS=0xc,LL=0xd,Ethernet_Consortium_LL_50G_RS_FEC_PLR=0xe,Interleaved_Ethernet_Consortium_LL_50G_RS_FEC_PLR=0xf,RS_FEC_288_258_plus_PLR_Double_FEC_Engine=0x10,RS_FEC_288_258_plus_PLR_Quad_FEC_Engine=0x11,RS_FEC_288_258_plus_PLR_Octet_FEC_Engine=0x12" offset="0xC.0" size="0x0.24" />
	<field name="plr_reject_mode" descr="This is the admin value:\;0: rejection_based_on_plr_margin\;1: rejection_based_on_crc_and_cs\;2: rejection_based_on_CS\;3: rejection_based_on_CS_on_demand\;set value is used only if both plr_vld and plr_reject_mode_vld are set, else configure to default value" access="RW" offset="0xC.24" size="0x0.2" />
	<field name="tx_crc_plr" descr="This is the admin value. When set, tx CRC over PLR is enabled.\;Set value is used only if both plr_vld and tx_crc_plr_vld are set, else configure to default value.\;In addition, the set value has to be &apos;1&apos; if the value in plr_reject_mode is rejection_based_on_crc_and_cs, and this is the only case where setting the value to &apos;1&apos; is valid." access="RW" offset="0xC.27" size="0x0.1" />
	<field name="plr_margin_th" descr="This is the admin value.\;PLR margin threshold in which a codeword is retransmitted\;set value is used only if plr_vld is set to high, else configure to default value\;" access="RW" offset="0xC.28" size="0x0.4" />
	<field name="fec_override_cap_10g_40g" descr="10GE/40GE Ethernet FEC override capability bitmask:\;Bit 0: No_FEC\;Bit 1: Firecode_FEC\;Bit 2: Reserved2\;Bit 3: Reserved3\;\;" access="RO" enum="No_FEC=0x1,Firecode_FEC=0x2,Reserved2=0x4,Reserved3=0x8" offset="0x10.0" size="0x0.4" />
	<field name="fec_override_cap_25g" descr="25GE Ethernet FEC override capability bitmask:\;Bit 0: No_FEC\;Bit 1: Firecode_FEC\;Bit 2: RS_FEC\;Bit 3: Reserved" access="RO" enum="No_FEC=0x1,Firecode_FEC=0x2,RS_FEC=0x4,Reserved=0x8" offset="0x10.4" size="0x0.4" />
	<field name="fec_override_cap_50g" descr="50GE (2 lanes) Ethernet FEC override capability bitmask:\;Bit 0: No_FEC\;Bit 1: Firecode_FEC\;Bit 2: RS_FEC\;Bit 3: Reserved" access="RO" enum="No_FEC=0x1,Firecode_FEC=0x2,RS_FEC=0x4,Reserved=0x8" offset="0x10.8" size="0x0.4" />
	<field name="fec_override_cap_100g" descr="100GE (4 lanes) Ethernet FEC override capability bitmask:\;Bit 0: No_FEC\;Bit 1: Reserved1\;Bit 2: RS_FEC - (528,514)\;Bit 3: Reserved3" access="RO" enum="No_FEC=0x1,Reserved1=0x2,RS_FEC=0x4,Reserved3=0x8" offset="0x10.12" size="0x0.4" />
	<field name="fec_override_cap_56g" descr="56GE Ethernet FEC override capability bitmask:\;Bit 0: No_FEC\;Bit 1: Firecode_FEC\;Bit 2: Reserved2\;Bit 3: Reserved3" access="RO" enum="No_FEC=0x1,Firecode_FEC=0x2,Reserved2=0x4,Reserved3=0x8" offset="0x10.16" size="0x0.4" />
	<field name="rs_fec_correction_bypass_cap" descr="RS-FEC correction bypass override capability:\;0: NO_correction_bypass\;1: RS_FEC_correction_bypass" access="RO" enum="NO_correction_bypass=0x0,RS_FEC_correction_bypass=0x1" offset="0x10.28" size="0x0.4" />
	<field name="fec_override_admin_10g_40g" descr="10GE/40GE Ethernet FEC override admin, see 10g_40g_fec_override_cap.\;(one-hot setting): \;0: auto_mode - no override\;Bit 0: No_FEC\;Bit 1: Firecode_FEC\;\;" access="RW" enum="No_FEC=0x1,Firecode_FEC=0x2" offset="0x14.0" size="0x0.4" />
	<field name="fec_override_admin_25g" descr="25GE Ethernet FEC override admin, see 25g_fec_override_cap. (one-hot setting): \;0: auto_mode - no override\;Bit 0: No_FEC\;Bit 1: Firecode_FEC\;Bit 2: RS_FEC\;\;Note - 25g_fec_override_admin and 50g_fec_override_admin must be set with the same value." access="RW" enum="No_FEC=0x1,Firecode_FEC=0x2,RS_FEC=0x4" offset="0x14.4" size="0x0.4" />
	<field name="fec_override_admin_50g" descr="50GE Ethernet FEC override admin, see 50g_fec_override_cap. (one-hot setting): \;0: auto_mode - no override\;Bit 0: No_FEC\;Bit 1: Firecode_FEC\;Bit 2: RS_FEC\;\;Note - 25g_fec_override_admin and 50g_fec_override_admin must be set with the same value." access="RW" enum="No_FEC=0x1,Firecode_FEC=0x2,RS_FEC=0x4" offset="0x14.8" size="0x0.4" />
	<field name="fec_override_admin_100g" descr="100GE Ethernet FEC override admin, see 100g_fec_override_cap. (one-hot setting): \;0: auto_mode - no override\;Bit 0: No_FEC\;Bit 2: RS_FEC" access="RW" enum="No_FEC=0x1,RS_FEC=0x4" offset="0x14.12" size="0x0.4" />
	<field name="fec_override_admin_56g" descr="56GE Ethernet FEC override admin, see 56g_fec_override_cap. (one-hot setting): \;0: auto_mode - no override\;Bit 0: No_FEC\;Bit 1: Firecode_FEC" access="RW" enum="No_FEC=0x1,Firecode_FEC=0x2" offset="0x14.16" size="0x0.4" />
	<field name="rs_fec_correction_bypass_admin" descr="RS-FEC correction bypass override admin: (one-hot setting): \;0: auto_mode - no override \;1: NO_correction_bypass\;2: RS_FEC_correction_bypass" access="RW" enum="auto_mode=0x0,NO_correction_bypass=0x1,RS_FEC_correction_bypass=0x2" offset="0x14.28" size="0x0.4" />
	<field name="fec_override_cap_200g_4x" descr="200GE FEC override capability bitmask:\;Bit 8: Zero_Latency_FEC\;Bit 9: Fifty50G_Ethernet_Consortium_LL_RS_FEC_272_257plus1\;Others bits reserved" access="RO" enum="Fifty50G_Ethernet_Consortium_LL_RS_FEC_272_257plus1=0x200" offset="0x18.0" size="0x0.16" />
	<field name="fec_override_cap_400g_8x" descr="400GE FEC override capability bitmask:\;Bit 8: Zero_Latency_FEC\;Bit 9: Fifty50G_Ethernet_Consortium_LL_RS_FEC_272_257plus1\;All others are reserved" access="RO" enum="Fifty50G_Ethernet_Consortium_LL_RS_FEC_272_257plus1=0x200" offset="0x18.16" size="0x0.16" />
	<field name="fec_override_cap_50g_1x" descr="50GE single lane override capability bitmask:\;Bit 8: Zero_Latency_FEC\;Bit 9: Fifty50G_Ethernet_Consortium_LL_RS_FEC_272_257plus1\;All others are reserved" access="RO" enum="Fifty50G_Ethernet_Consortium_LL_RS_FEC_272_257plus1=0x200" offset="0x1C.0" size="0x0.16" />
	<field name="fec_override_cap_100g_2x" descr="100GE over 2 lanes, FEC override capability bitmask:\;Bit 8: Zero_Latency_FEC\;Bit 9: Fifty50G_Ethernet_Consortium_LL_RS_FEC_272_257plus1\;All others are reserved" access="RO" enum="Fifty50G_Ethernet_Consortium_LL_RS_FEC_272_257plus1=0x200" offset="0x1C.16" size="0x0.16" />
	<field name="fec_override_admin_200g_4x" descr="200GE FEC override admin bitmask (one-hot setting) \;0: Auto_mode\;Bit 7: RS_FEC_544_514 - (544,514)\;Bit 9: RS_FEC_272_257_plus_1 - (272,257+1)" access="RW" enum="RS_FEC_544_514=0x80,RS_FEC_272_257_plus_1=0x200" offset="0x20.0" size="0x0.16" />
	<field name="fec_override_admin_400g_8x" descr="400GE FEC override admin bitmask (one-hot setting): \;0: Auto_mode\;Bit7: RS_FEC_544_514\;Bit 9: RS_FEC_272_257_plus_1 - (272,257+1)" access="RW" enum="RS_FEC_544_514=0x80,RS_FEC_272_257_plus_1=0x200" offset="0x20.16" size="0x0.16" />
	<field name="fec_override_admin_50g_1x" descr="50GE, 1lanes FEC override admin bitmask (one-hot setting)\;0: Auto_mode\;Bit 7: RS_FEC_544_514 - (544,514)\;Bit 9: RS_FEC_272_257_plus_1 - (272,257+1)" access="RW" enum="RS_FEC_544_514=0x80,RS_FEC_272_257_plus_1=0x200" offset="0x24.0" size="0x0.16" />
	<field name="fec_override_admin_100g_2x" descr="100GE, 2 lanes FEC override admin bitmask (one-hot setting):\;0: Auto_mode\;Bit 7: RS_FEC_544_514 - (544,514)\;Bit 9: RS_FEC_272_257_plus_1 - (272,257+1)" access="RW" enum="RS_FEC_544_514=0x80,RS_FEC_272_257_plus_1=0x200" offset="0x24.16" size="0x0.16" />
	<field name="fec_override_cap_400g_4x" descr="400GE, 4 lanes FEC override capability bitmask:\;Bit 7: RS_FEC_544_514 - (544,514)\;Bit 9: Ethernet_Consortium_LL_50G_RS_FEC_272_257_plus_1 - (272,257+1)\;Other bits Reserved" access="RO" enum="RS_FEC_544_514=0x80,Ethernet_Consortium_LL_50G_RS_FEC_272_257_plus_1=0x200" offset="0x28.0" size="0x0.16" />
	<field name="fec_override_cap_800g_8x" descr="800GE, 8 lanes FEC override capability bitmask:\;Bit 7: RS_FEC_544_514 - RS-FEC (544,514)\;Bit 8: Reserved\;Bit 9: Ethernet_Consortium_LL_50G_RS_FEC- (272,257+1)\;Other bits Reserved" access="RO" enum="RS_FEC_544_514=0x80,Reserved=0x100,Ethernet_Consortium_LL_50G_RS_FEC=0x200" offset="0x28.16" size="0x0.16" />
	<field name="fec_override_cap_100g_1x" descr="100GE, 1 lane FEC override capability bitmask:\;Bit 6: Interleaved_RS_FEC_544_514\;Bit 7: RS_FEC_544_514\;Bit 9: Ethernet_Consortium_Low_Latency_RS_FEC_272_257_plus_1\;Bit 10: Interleaved_Ethernet_Consortium_LL_50G_RS_FEC_272_257_plus_1\;Other bits reserved" access="RO" enum="Interleaved_RS_FEC_544_514=0x40,RS_FEC_544_514=0x80,Ethernet_Consortium_Low_Latency_RS_FEC_272_257_plus_1=0x200,Interleaved_Ethernet_Consortium_LL_50G_RS_FEC_272_257_plus_1=0x400" offset="0x2C.0" size="0x0.16" />
	<field name="fec_override_cap_200g_2x" descr="200GE, 2 lanes FEC override capability bitmask:\;Bit 7: RS_FEC_544_514\;Bit 9: Ethernet_Consortium_LL_50G_RS_FEC_272_257_plus_1\;Other bits Reserved" access="RO" enum="RS_FEC_544_514=0x80,Ethernet_Consortium_LL_50G_RS_FEC_272_257_plus_1=0x200" offset="0x2C.16" size="0x0.16" />
	<field name="fec_override_admin_400g_4x" descr="400GE, 4 lanes FEC override admin bitmask (one-hot setting):\;0: Auto_mode\;Bit 7: RS_FEC_544_514\;Bit 9: Ethernet_Consortium_Low_Latency_RS_FEC_272_257plus_1\;Other bits Reserved" access="RW" enum="Auto_mode=0x0,RS_FEC_544_514=0x80,Ethernet_Consortium_Low_Latency_RS_FEC_272_257plus_1=0x200" offset="0x44.0" size="0x0.16" />
	<field name="fec_override_admin_800g_8x" descr="800GE, 8 lanes FEC override admin bitmask (one-hot setting):\;0: Auto_mode\;Bit 7: RS_FEC_544_514\;Bit 9: Ethernet_Consortium_Low_Latency_RS_FEC_272_257plus_1\;Other bits Reserved" access="RW" enum="Auto_mode=0x0,RS_FEC_544_514=0x80,Ethernet_Consortium_Low_Latency_RS_FEC_272_257plus_1=0x200" offset="0x44.16" size="0x0.16" />
	<field name="fec_override_admin_100g_1x" descr="100GE, 1 lane FEC override admin bitmask (one-hot setting):\;0: Auto_mode\;Bit 6: Interleaved_RS_FEC_544_514\;Bit 7: RS_FEC_544_514\;Bit 9: Ethernet_Consortium_50G_Low_Latency_RS_FEC_272_257_plus_1\;Bit 10: Interleaved_Ethernet_Consortium_LL_50G_RS_FEC_272_257_plus_1\;Other bits Reserved" access="RW" enum="Auto_mode=0x0,Interleaved_RS_FEC_544_514=0x40,RS_FEC_544_514=0x80,Ethernet_Consortium_50G_Low_Latency_RS_FEC_272_257_plus_1=0x200,Interleaved_Ethernet_Consortium_LL_50G_RS_FEC_272_257_plus_1=0x400" offset="0x48.0" size="0x0.16" />
	<field name="fec_override_admin_200g_2x" descr="200GE, 2 lanes FEC override admin bitmask (one-hot setting):\;0: Auto_mode\;Bit 7: RS_FEC_544_514\;Bit 9: Ethernet_Consortium_Low_Latency_RS_FEC_272_257_plus_1\;Other bits Reserved" access="RW" enum="Auto_mode=0x0,RS_FEC_544_514=0x80,Ethernet_Consortium_Low_Latency_RS_FEC_272_257_plus_1=0x200" offset="0x48.16" size="0x0.16" />
	<field name="fec_override_cap_800g_4x" descr="800GE, 4 lane FEC override capability bitmask:\;Bit 4: RS_FEC_544_514_Quad_FEC_Engine" access="RO" enum="RS_FEC_544_514_Quad_FEC_Engine=0x10" offset="0x58.0" size="0x0.16" />
	<field name="fec_override_cap_1600g_8x" descr="1600GE, 8 lane FEC override capability bitmask:\;Bit 4: RS_FEC_544_514_Quad_FEC_Engine" access="RO" enum="RS_FEC_544_514_Quad_FEC_Engine=0x10" offset="0x58.16" size="0x0.16" />
	<field name="fec_override_cap_200g_1x" descr="200GE, 1 lane FEC override capability bitmask:\;Bit 4: RS_FEC_544_514_Quad_FEC_Engine" access="RO" enum="RS_FEC_544_514_Quad_FEC_Engine=0x10" offset="0x5C.0" size="0x0.16" />
	<field name="fec_override_cap_400g_2x" descr="400GE, 2 lane FEC override capability bitmask:\;Bit 4: RS_FEC_544_514_Quad_FEC_Engine" access="RO" enum="RS_FEC_544_514_Quad_FEC_Engine=0x10" offset="0x5C.16" size="0x0.16" />
	<field name="fec_override_admin_800g_4x" descr="800GE, 4 lanes FEC override admin bitmask (one-hot setting):\;0: Auto_mode\;Bit 4: RS_FEC_544_514_Quad_FEC_Engine\;Other bits Reserved" access="RW" enum="Auto_mode=0x0,RS_FEC_544_514_Quad_FEC_Engine=0x10" offset="0x60.0" size="0x0.16" />
	<field name="fec_override_admin_1600g_8x" descr="1600GE, 8 lanes FEC override admin bitmask (one-hot setting):\;0: Auto_mode\;Bit 4: RS_FEC_544_514_Quad_FEC_Engine\;Other bits Reserved" access="RW" enum="Auto_mode=0x0,RS_FEC_544_514_Quad_FEC_Engine=0x10" offset="0x60.16" size="0x0.16" />
	<field name="fec_override_admin_200g_1x" descr="200GE, 1 lanes FEC override admin bitmask (one-hot setting):\;0: Auto_mode\;Bit 4: RS_FEC_544_514_Quad_FEC_Engine\;Other bits Reserved" access="RW" enum="Auto_mode=0x0,RS_FEC_544_514_Quad_FEC_Engine=0x10" offset="0x64.0" size="0x0.16" />
	<field name="fec_override_admin_400g_2x" descr="400GE, 2 lanes FEC override admin bitmask (one-hot setting):\;0: Auto_mode\;Bit 4: RS_FEC_544_514_Quad_FEC_Engine\;Other bits Reserved" access="RW" enum="Auto_mode=0x0,RS_FEC_544_514_Quad_FEC_Engine=0x10" offset="0x64.16" size="0x0.16" />
	<field name="fec_page_data" descr="Table  1878, &quot;PPLM - NVL6 Rates FEC Override Layout,&quot; on page  2505" subnode="pplm_reg_fec_page_data_auto_ext" access="RW" offset="0x68.0" size="0x18.0" union_selector="$(parent).fec_generation" />
</node>

<node name="pplm_reg_fec_page_data_auto_ext" descr="" attr_is_union="1" size="0x18.0" >
	<field name="pplm_nvl6_fec_ext" descr="" subnode="pplm_nvl6_fec_ext" offset="0x0.0" selected_by="NVL6" size="0x18.0" />
</node>

<node name="pplr_reg_ext" descr="" size="0x8.0" >
	<field name="plane_ind" descr="Reserved for non-planarized port.\;Plane port index of the aggregated port. A value of 0 refers to the aggregated port only." access="INDEX" offset="0x0.0" size="0x0.4" />
	<field name="port_type" descr="For HCA supported only when indicated by PCAM \;0: Network_Port\;1: Near_End_Port- (For Retimer/Gearbox - Host side)\;2: Internal_IC_LR_Port \;3: Far_End_Port - (For Retimer/Gearbox - Line side)\;Other values are reserved." access="INDEX" enum="Network_Port=0x0,Near_End_Port=0x1,Internal_IC_LR_Port=0x2,Far_End_Port=0x3" offset="0x0.4" size="0x0.4" />
	<field name="op_mod" descr="operational mode for link configurations for phy_ local_loopback mode.\;0 - link will operate in optimal latency performance mode\;1 - link will operate in same configurations as operational port.\;\;Note: for FEC override via PPLM register, chosen FEC will be according to the PPLM configuration that was set and this bit will be ignored for FEC purposes" access="OP" offset="0x0.8" size="0x0.1" />
	<field name="apply_im" descr="Apply immediate: When set, the enabled/disabled loopback will be set immediately even if link is active.\;Note: Currently supported only for Bit 7: LL_local_loopback. in other loopbacks will be ignored" access="OP" offset="0x0.9" size="0x0.1" />
	<field name="lp_msb" descr="Local port number [9:8]" access="INDEX" offset="0x0.12" size="0x0.2" />
	<field name="local_port" descr="Local port number." access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="lb_en" descr="Loopback enable - only one bit shall be set.\;Bit 0: Phy_remote_loopback\;Bit 1: Phy_local_loopback\;Bit 2: External_local_loopback\;Bit 7: LL_local_loopback\;\;" access="RW" enum="Phy_remote_loopback=0x1,Phy_local_loopback=0x2,External_local_loopback=0x4,LL_local_loopback=0x80" offset="0x4.0" size="0x0.12" />
	<field name="lb_cap" descr="Loopback capability - bitmask\;Bit 0: Phy_remote_loopback\;Bit 1: Phy_local_loopback - When set the port&apos;s egress traffic is looped back to the receiver and the port transmitter is disabled.\;Bit 2: External_local_loopback - Enables the port&apos;s transmitter to link with the port&apos;s receiver using an external loopback connector.\;Bit 4: Near_end_digital_loopback - [Internal]\;Bit 7: LL_local_loopback - When set the port&apos;s egress Link layer traffic is looped back to the receiver. Physical port in this loopback mode is down.\;\;Notes \;1. Phy remote loopback can be supported only for lane rate higher than 25Gbuad in the 16nm devices.\;3. In Ethernet, when LL_Local_loopback is set and physical link is not down, physical state may reach only up to Phy Up state and forced to send Local Faults. When released link may transition to LinkUp state.\;" access="RO" enum="Phy_remote_loopback=0x1,Phy_local_loopback=0x2,External_local_loopback=0x4,LL_local_loopback=0x80" offset="0x4.16" size="0x0.12" />
	<field name="lb_cap_mode_idx" descr="Supported only when indicated by PCAM Bit 97:PPLR.lb_cap_mode_idx. The returned value of the &apos;lp_cap&apos; capability field will be according to the selected mode index:\;0: Operational_mode\;1: Test_mode" access="INDEX" enum="Operational_mode=0x0,Test_mode=0x1" offset="0x4.30" size="0x0.1" />
</node>

<node name="pprm_phy_steps_ext" descr="" size="0x68.0" >
	<field name="step1_preset_support_mask" descr="Bitmask of supported preset for step1/2\;\;Bit 0: PEQ_only\;Bit 1: CDR_toggle\;Bit 2: full_duplex_EQ\;Bit 3: Logic_lock_only" access="RO" offset="0x0.0" size="0x0.8" />
	<field name="step2_preset_support_mask" descr="Bitmask of supported preset for step1/2\;\;Bit 0: PEQ_only\;Bit 1: CDR_toggle\;Bit 2: full_duplex_EQ\;Bit 3: Logic_lock_only" access="RO" enum="PEQ_only=0x1,CDR_toggle=0x2,full_duplex_EQ=0x4,Logic_lock_only=0x8" offset="0x0.12" size="0x0.8" />
	<field name="eff_align_aq_time" descr="64ns granularity\;time to stabilize effective align acquired\;0: FW_default" access="RW" offset="0x0.24" size="0x0.8" />
	<field name="step1_preset_admin" descr="Admin for requested preset during negotiation for step1/2\;\;0: FW_default\;1: PEQ_only\;2: CDR_toggle\;3: full_duplex_EQ\;4: Logic_lock_only\;0xF: no_request - skip step" access="RW" offset="0x4.0" size="0x0.4" />
	<field name="step2_preset_admin" descr="Admin for requested preset during negotiation for step1/2\;\;0: FW_default\;1: PEQ_only\;2: CDR_toggle\;3: full_duplex_EQ\;4: Logic_lock_only\;0xF: no_request - skip step" access="RW" enum="FW_default=0x0,PEQ_only=0x1,CDR_toggle=0x2,full_duplex_EQ=0x3,Logic_lock_only=0x4,no_request=0xf" offset="0x4.8" size="0x0.4" />
	<field name="eff_align_aq_time_oper" descr="64ns granularity\;time to stabilize effective align acquired operational fields." access="RO" offset="0x4.13" size="0x0.8" />
	<field name="step2_time_gran" descr="Affects granularity of all timers and timeouts of step2 fields:\;\;step2_state_65_to_66_time, step2_state_66_to_67_time, step2_state_67_to_68_time, step2_state_60_timeout, step2_state_61_timeout, step2_state_62_timeout, step2_state_60_to_linkup_timeout\;\;0: 1us\;1: 10us\;2: 100us" access="RO" offset="0x4.28" size="0x0.2" />
	<field name="step1_state_65_to_66_time_pre1" descr="1us / step2_time_gran granularity for preset 1 (PEQ only)\;Time for state transition 0x65  to 0x66\;0: FW_default" access="RW" offset="0x8.0" size="0x0.10" />
	<field name="step2_state_65_to_66_time_pre1" descr="1us / step2_time_gran granularity for preset 1 (PEQ only)\;Time for state transition 0x65  to 0x66\;0: FW_default" access="RW" offset="0x8.10" size="0x0.10" />
	<field name="step1_peq_n_retry_pre1" descr="Number of PEQ to do in state 0x68 for preset 1 (PEQ only)\;0: FW_default\;1-15: &lt;N&gt; PEQ retries\;16-30: reserved\;31: skip_state_0x68" access="RW" offset="0x8.20" size="0x0.5" />
	<field name="step2_peq_n_retry_pre1" descr="Number of PEQ to do in state 0x68 for preset 1 (PEQ only)\;0: FW_default\;1-15: &lt;N&gt; PEQ retries\;16-30: reserved\;31: skip_state_0x68" access="RW" offset="0x8.26" size="0x0.5" />
	<field name="step1_state_66_to_67_time_pre1" descr="1us / step2_time_gran granularity for preset 1 (PEQ only)\;Time for state transition 0x66to 0x67\;0: FW_default" access="RW" offset="0xC.0" size="0x0.16" />
	<field name="step2_state_66_to_67_time_pre1" descr="1us / step2_time_gran granularity for preset 1 (PEQ only)\;Time for state transition 0x66to 0x67\;0: FW_default" access="RW" offset="0xC.16" size="0x0.16" />
	<field name="step1_state_67_to_68_time_pre1" descr="1us / step2_time_gran granularity for preset 1 (PEQ only)\;Time for state transition 0x66  to 0x67\;0: FW_default" access="RW" offset="0x10.0" size="0x0.16" />
	<field name="step2_state_67_to_68_time_pre1" descr="1us / step2_time_gran granularity for preset 1 (PEQ only)\;Time for state transition 0x66  to 0x67\;0: FW_default" access="RW" offset="0x10.16" size="0x0.16" />
	<field name="step1_state_60_timeout" descr="1us / step2_time_gran granularity.\;Watchdog timeout for state 0x60 \;0: FW_default" access="RW" offset="0x14.0" size="0x0.16" />
	<field name="step2_state_60_timeout" descr="1us / step2_time_gran granularity.\;Watchdog timeout for state 0x60 \;0: FW_default" access="RW" offset="0x14.16" size="0x0.16" />
	<field name="step1_state_61_timeout" descr="1us / step2_time_gran granularity. \;Watchdog timeout for state 0x61 \;0: FW_default\;" access="RW" offset="0x18.0" size="0x0.16" />
	<field name="step2_state_61_timeout" descr="1us / step2_time_gran granularity. \;Watchdog timeout for state 0x61 \;0: FW_default\;" access="RW" offset="0x18.16" size="0x0.16" />
	<field name="step1_state_62_timeout" descr="1us / step2_time_gran granularity. \;Watchdog timeout for state 0x62 \;0: FW_default\;" access="RW" offset="0x1C.0" size="0x0.16" />
	<field name="step2_state_62_timeout" descr="1us / step2_time_gran granularity. \;Watchdog timeout for state 0x62 \;0: FW_default\;" access="RW" offset="0x1C.16" size="0x0.16" />
	<field name="step2_state_60_to_linkup_timeout_oper" descr="10us granularity. \;Watchdog timeout for states 0x60 to 0x62 after negotiation agreement" access="RO" offset="0x20.0" size="0x0.16" />
	<field name="step2_state_60_to_linkup_timeout" descr="10us granularity. \;Watchdog timeout for states 0x60 to 0x62\;0: FW_default" access="RW" offset="0x20.16" size="0x0.16" />
	<field name="step1_preset_oper" descr="0x0: no_request - skip step\;1: PEQ_only\;2: CDR_toggle\;3: full_duplex_EQ\;4: Logic_lock_only" access="RO" offset="0x24.0" size="0x0.4" />
	<field name="step2_preset_oper" descr="0x0: no_request - skip step\;1: PEQ_only\;2: CDR_toggle\;3: full_duplex_EQ\;4: Logic_lock_only" access="RO" offset="0x24.8" size="0x0.4" />
	<field name="step1_peq_n_retry_oper" descr="Agreed peq N retry in state 0x68\;1-15: &lt;N&gt; PEQ retries\;16-30: reserved\;31: skip_state_0x68" access="RO" offset="0x24.16" size="0x0.5" />
	<field name="step2_peq_n_retry_oper" descr="Agreed peq N retry in state 0x68\;1-15: &lt;N&gt; PEQ retries\;16-30: reserved\;31: skip_state_0x68" access="RO" offset="0x24.24" size="0x0.5" />
	<field name="step1_state_65_to_66_time_oper" descr="1us / step2_time_gran granularity. \;Time for state transition 0x65  to 0x66\;0: FW_default" access="RO" offset="0x28.0" size="0x0.10" />
	<field name="step2_state_65_to_66_time_oper" descr="1us / step2_time_gran granularity. \;Time for state transition 0x65  to 0x66\;0: FW_default" access="RO" offset="0x28.10" size="0x0.10" />
	<field name="step1_state_66_to_67_time_oper" descr="1us / step2_time_gran granularity. \;Time for state transition 0x66to 0x67\;0: FW_default" access="RO" offset="0x2C.0" size="0x0.16" />
	<field name="step2_state_66_to_67_time_oper" descr="1us / step2_time_gran granularity. \;Time for state transition 0x66to 0x67\;0: FW_default" access="RO" offset="0x2C.16" size="0x0.16" />
	<field name="step1_state_67_to_68_time_oper" descr="1us / step2_time_gran granularity. \;Time for state transition 0x66  to 0x67\;0: FW_default" access="RO" offset="0x30.0" size="0x0.16" />
	<field name="step2_state_67_to_68_time_oper" descr="1us / step2_time_gran granularity. \;Time for state transition 0x66  to 0x67\;0: FW_default" access="RO" offset="0x30.16" size="0x0.16" />
	<field name="step1_state_60_timeout_oper" descr="1us / step2_time_gran granularity. \;Watchdog timeout for state 0x60 \;0: FW_default" access="RO" offset="0x34.0" size="0x0.16" />
	<field name="step2_state_60_timeout_oper" descr="1us / step2_time_gran granularity. \;Watchdog timeout for state 0x60 \;0: FW_default" access="RO" offset="0x34.16" size="0x0.16" />
	<field name="step1_state_61_timeout_oper" descr="1us / step2_time_gran granularity. \;Watchdog timeout for state 0x61 \;0: FW_default" access="RO" offset="0x38.0" size="0x0.16" />
	<field name="step2_state_61_timeout_oper" descr="1us / step2_time_gran granularity. \;Watchdog timeout for state 0x61 \;0: FW_default" access="RO" offset="0x38.16" size="0x0.16" />
	<field name="step1_state_62_timeout_oper" descr="1us / step2_time_gran granularity. \;Watchdog timeout for state 0x62 \;0: FW_default" access="RO" offset="0x3C.0" size="0x0.16" />
	<field name="step2_state_62_timeout_oper" descr="1us / step2_time_gran granularity. \;Watchdog timeout for state 0x62 \;0: FW_default" access="RO" offset="0x3C.16" size="0x0.16" />
	<field name="step1_state_65_to_66_time_pre2" descr="1us / step2_time_gran granularity for preset 2 (CDR toggle)\;Time for state transition 0x65  to 0x66\;0: FW_default" access="RW" offset="0x48.0" size="0x0.10" />
	<field name="step2_state_65_to_66_time_pre2" descr="1us / step2_time_gran granularity for preset 2 (CDR toggle)\;Time for state transition 0x65  to 0x66\;0: FW_default" access="RW" offset="0x48.10" size="0x0.10" />
	<field name="step1_peq_n_retry_pre2" descr="Number of PEQ to do in state 0x68 for preset 2 (CDR toggle)\;0: FW_default\;1-15: &lt;N&gt; PEQ retries\;16-30: reserved\;31: skip_state_0x68" access="RW" offset="0x48.20" size="0x0.5" />
	<field name="step2_peq_n_retry_pre2" descr="Number of PEQ to do in state 0x68 for preset 2 (CDR toggle)\;0: FW_default\;1-15: &lt;N&gt; PEQ retries\;16-30: reserved\;31: skip_state_0x68" access="RW" offset="0x48.26" size="0x0.5" />
	<field name="step1_state_66_to_67_time_pre2" descr="1us / step2_time_gran granularity for preset 2 (CDR toggle)\;Time for state transition 0x66to 0x67\;0: FW_default" access="RW" offset="0x4C.0" size="0x0.16" />
	<field name="step2_state_66_to_67_time_pre2" descr="1us / step2_time_gran granularity for preset 2 (CDR toggle)\;Time for state transition 0x66to 0x67\;0: FW_default" access="RW" offset="0x4C.16" size="0x0.16" />
	<field name="step1_state_67_to_68_time_pre2" descr="1us / step2_time_gran granularity for preset 2 (CDR toggle)\;Time for state transition 0x66  to 0x67\;0: FW_default" access="RW" offset="0x50.0" size="0x0.16" />
	<field name="step2_state_67_to_68_time_pre2" descr="1us / step2_time_gran granularity for preset 2 (CDR toggle)\;Time for state transition 0x66  to 0x67\;0: FW_default" access="RW" offset="0x50.16" size="0x0.16" />
	<field name="step1_state_65_to_66_time_pre3" descr="1us / step2_time_gran granularity for preset 3 (Full duplex)\;Time for state transition 0x65  to 0x66\;0: FW_default" access="RW" offset="0x54.0" size="0x0.10" />
	<field name="step2_state_65_to_66_time_pre3" descr="1us / step2_time_gran granularity for preset 3 (Full duplex)\;Time for state transition 0x65  to 0x66\;0: FW_default" access="RW" offset="0x54.10" size="0x0.10" />
	<field name="step1_peq_n_retry_pre3" descr="Number of PEQ to do in state 0x68 for preset 3 (Full duplex)\;0: FW_default\;1-15: &lt;N&gt; PEQ retries\;16-30: reserved\;31: skip_state_0x68" access="RW" offset="0x54.20" size="0x0.5" />
	<field name="step2_peq_n_retry_pre3" descr="Number of PEQ to do in state 0x68 for preset 3 (Full duplex)\;0: FW_default\;1-15: &lt;N&gt; PEQ retries\;16-30: reserved\;31: skip_state_0x68" access="RW" offset="0x54.26" size="0x0.5" />
	<field name="step1_state_66_to_67_time_pre3" descr="1us / step2_time_gran granularity for preset 3 (Full duplex)\;Time for state transition 0x66to 0x67\;0: FW_default" access="RW" offset="0x58.0" size="0x0.16" />
	<field name="step2_state_66_to_67_time_pre3" descr="1us / step2_time_gran granularity for preset 3 (Full duplex)\;Time for state transition 0x66to 0x67\;0: FW_default" access="RW" offset="0x58.16" size="0x0.16" />
	<field name="step1_state_67_to_68_time_pre3" descr="1us / step2_time_gran granularity for preset 3 (Full duplex)\;Time for state transition 0x66  to 0x67\;0: FW_default" access="RW" offset="0x5C.0" size="0x0.16" />
	<field name="step2_state_67_to_68_time_pre3" descr="1us / step2_time_gran granularity for preset 3 (Full duplex)\;Time for state transition 0x66  to 0x67\;0: FW_default" access="RW" offset="0x5C.16" size="0x0.16" />
</node>

<node name="pprm_reg_ext" descr="" size="0x94.0" >
	<field name="ovrd_no_neg_bhvr" descr="Defines the behavior of no_neg_bhvr field.\;0: ingore_no_neg_bhvr_field - stay with current configured behaivour\;1: no_neg_behavior_according_to_fw_defult - ignore no_neg_bhvr set, and set FW default for the behavior\;2: no_neg_behavior_according_to_no_neg_bhvr_field - set behavior according to configured no_neg_bhvr field" access="RW" offset="0x0.2" size="0x0.2" />
	<field name="wait_for_module_cap" descr="When set, wait_for_module supported " access="RO" offset="0x0.6" size="0x0.1" />
	<field name="recovery_go_once_cap" descr="When set, recovery_go_once is supported and configurable." access="RO" offset="0x0.7" size="0x0.1" />
	<field name="plane_ind" descr="Reserved for non-planarized port.\;Plane port index of the aggregated port. A value of 0 refers to the aggregated port only." access="INDEX" offset="0x0.8" size="0x0.4" />
	<field name="lp_msb" descr="Local port number [9:8]" access="INDEX" offset="0x0.12" size="0x0.2" />
	<field name="pnat" descr="Port number access type. \;0 - Local port number\;1 - IB port number" access="INDEX" offset="0x0.14" size="0x0.2" />
	<field name="local_port" descr="Local port number." access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="recovery_go_once" descr="Valid only when recovery_go_once_cap is set &amp; oper_recovery != 0\;When set, will trigger recovery flow according to the configured recovery paramters set in this register." access="WO" offset="0x0.27" size="0x0.1" />
	<field name="param_select" descr="Selects which recovery parameters is selected in param_page_data.\;0: no_param_select\;1: phy_recovery_steps\;\;Note - valid only if recovery type is also supported in recovery_types_cap." access="INDEX" enum="no_param_select=0x0,phy_recovery_steps=0x1" offset="0x0.28" size="0x0.4" />
	<field name="recovery_types_cap" descr="Recovery types that are supported by device.\;Bit 0: host_logic_re_lock\;Bit 1: host_serdes_feq\;Bit 2: module_tx_disable\;Bit 3: module_datapath_full_toggle\;Bit 4: phy_recovery_steps" access="RO" enum="host_logic_re_lock=0x1,host_serdes_feq=0x2,module_tx_disable=0x4,module_datapath_full_toggle=0x8,phy_recovery_steps=0x10" offset="0x4.0" size="0x0.8" />
	<field name="no_neg_bhvr" descr="Relevant only if ovrd_no_neg_bhvr is set to &apos;2&apos;, ignored otherwise\;In case of no negotiation happened during link up flow, defines the behavior of enabled recovery types:\;Bit 0: host_logic_re_lock\;Bit 1: host_serdes_feq\;Bit 2-3: reserved\;\;0: Disaled\;1: Enabled" access="RW" enum="host_logic_re_lock=0x1,host_serdes_feq=0x2,Disaled=0x0,Enabled=0x1" offset="0x4.24" size="0x0.4" />
	<field name="wd_logic_re_lock_res" descr="time resolution for wd_time_host_logic_re_lock field.\;0: 1ms\;1: 10ms\;2: 100ms\;3: 1 sec" access="RW" offset="0x4.28" size="0x0.2" />
	<field name="oper_logic_re_lock_res" descr="time resolution for oper_time_host_logic_re_lock field.\;0: 1ms\;1: 10ms\;2: 100ms\;3: 1 sec" access="RO" offset="0x4.30" size="0x0.2" />
	<field name="module_datapath_full_toggle" descr="Admin Configurations per recovery type.\;Recovery types:\;1. Host Logic re_lock - Physical layer alignment re-lock\;2. Host SerDes Full EQ \;3. Module Tx Disable - Toggle module optical laser to off--&gt;on. supported only on optical modules that support TxDisable command\;4. Full module Toggle - Re-initialization of CMIS module DPSM.\;5. PHY recovery steps\;\;0: FW_default\;1: Enable\;2: Disable\;3: Disable_Support_in_Negotiation\;\;" access="RW" offset="0x8.0" size="0x0.4" />
	<field name="module_tx_disable" descr="Admin Configurations per recovery type.\;Recovery types:\;1. Host Logic re_lock - Physical layer alignment re-lock\;2. Host SerDes Full EQ \;3. Module Tx Disable - Toggle module optical laser to off--&gt;on. supported only on optical modules that support TxDisable command\;4. Full module Toggle - Re-initialization of CMIS module DPSM.\;5. PHY recovery steps\;\;0: FW_default\;1: Enable\;2: Disable\;3: Disable_Support_in_Negotiation\;\;" access="RW" offset="0x8.4" size="0x0.4" />
	<field name="host_serdes_feq" descr="Admin Configurations per recovery type.\;Recovery types:\;1. Host Logic re_lock - Physical layer alignment re-lock\;2. Host SerDes Full EQ \;3. Module Tx Disable - Toggle module optical laser to off--&gt;on. supported only on optical modules that support TxDisable command\;4. Full module Toggle - Re-initialization of CMIS module DPSM.\;5. PHY recovery steps\;\;0: FW_default\;1: Enable\;2: Disable\;3: Disable_Support_in_Negotiation\;\;" access="RW" offset="0x8.8" size="0x0.4" />
	<field name="host_logic_re_lock" descr="Admin Configurations per recovery type.\;Recovery types:\;1. Host Logic re_lock - Physical layer alignment re-lock\;2. Host SerDes Full EQ \;3. Module Tx Disable - Toggle module optical laser to off--&gt;on. supported only on optical modules that support TxDisable command\;4. Full module Toggle - Re-initialization of CMIS module DPSM.\;5. PHY recovery steps\;\;0: FW_default\;1: Enable\;2: Disable\;3: Disable_Support_in_Negotiation\;\;" access="RW" offset="0x8.12" size="0x0.4" />
	<field name="phy_recovery_steps" descr="Admin Configurations per recovery type.\;Recovery types:\;1. Host Logic re_lock - Physical layer alignment re-lock\;2. Host SerDes Full EQ \;3. Module Tx Disable - Toggle module optical laser to off--&gt;on. supported only on optical modules that support TxDisable command\;4. Full module Toggle - Re-initialization of CMIS module DPSM.\;5. PHY recovery steps\;\;0: FW_default\;1: Enable\;2: Disable\;3: Disable_Support_in_Negotiation\;\;" access="RW" enum="FW_default=0x0,Enable=0x1,Disable=0x2,Disable_Support_in_Negotiation=0x3" offset="0x8.16" size="0x0.4" />
	<field name="link_down_timeout_override_to_default" descr="When set, force default value into the link_down_timeout field.\;\;Note: This field is supported only when indicated by PCAM.feature_group=1.Bit 5." access="RW" offset="0x8.31" size="0x0.1" />
	<field name="link_down_timeout" descr="Desired time in 1 mSec granularity from start of the recovery process until port announces port down.\;1. 0x0 - Means that port will announce port down immediately, and will try &quot;recovery&quot; types when port is down.\;2. 0xFFFF - Means all recovery types allowed will be tried (if agreed) before port announces down.\;\;Note: For QM4 and GR100, the values 0x0 and 0xFFFF are not supported. If these values are set, they will be ignored." access="RW" offset="0xC.0" size="0x0.16" />
	<field name="link_down_timeout_oper" descr="operational time in 1 mSec granularity from start of the recovery process until port announces port down after negotiation agreed on both sides" access="RO" offset="0x10.0" size="0x0.16" />
	<field name="draining_timeout" descr="Time in mSec from start of the recovery process until port draining starts (and if port is still in &quot;LinkUp&quot;). \;Value of 0 means draining is disabled.\;Default value of 100mSec" access="RW" offset="0x14.0" size="0x0.8" />
	<field name="delay_on_module_read" descr="ms delay before module check, to allow module status update\;\;0: FW_default -" access="RW" offset="0x14.16" size="0x0.8" />
	<field name="wait_for_module" descr="When enabled, host waits with recovery algorithm until module electrical output towards host indicates valid output.\;When disabled, host starts recovery algorithm immediatly on trigger.\;\;0: FW_default\;1: wait_for_module_en\;2: wait_for_module_dis\;3: force_module_recovery_on_host_failure" access="RW" offset="0x14.26" size="0x0.2" />
	<field name="oper_recovery" descr="Bitmask of agreed and operational recovery modes.\;Prior to negotiation and linkup value will be 0.\;Bit 0: host_logic_re_lock\;Bit 1: host_serdes_feq\;Bit 2: module_tx_disable\;Bit 3: module_datapath_full_toggle\;Bit 4: phy_recovery_steps" access="RO" enum="host_logic_re_lock=0x1,host_serdes_feq=0x2,module_tx_disable=0x4,module_datapath_full_toggle=0x8,phy_recovery_steps=0x10" offset="0x18.0" size="0x0.8" />
	<field name="wd_module_full_toggle" descr="500ms granularity for watchdog timer in Module full toggle recovery\;0: FW default - valid for set only\;on GET operation, returns watchdog value requested" access="RW" offset="0x1C.0" size="0x0.8" />
	<field name="wd_module_tx_disable" descr="100ms granularity for watchdog timer in Module Tx Disable recovery\;0: FW default - valid for set only\;on GET operation, returns watchdog value requested" access="RW" offset="0x1C.8" size="0x0.8" />
	<field name="wd_host_serdes_feq" descr="10ms granularity for watchdog timer in host FEQ recovery\;0: FW default - valid for set only\;on GET operation, returns watchdog value requested" access="RW" offset="0x1C.16" size="0x0.8" />
	<field name="wd_host_logic_re_lock" descr="granularity of wd_logic_re_lock_res for watchdog timer in host re_lock recovery\;0: FW default - valid for set only\;on GET operation, returns watchdog value requested\;\;" access="RW" offset="0x1C.24" size="0x0.8" />
	<field name="oper_time_module_full_toggle" descr="500ms granularity for operational timer in Module full toggle recovery\;on GET operation, returns watchdog value requested" access="RO" offset="0x20.0" size="0x0.8" />
	<field name="oper_time_module_tx_disable" descr="100ms granularity for operational timer in Module Tx Disable recovery\;on GET operation, returns watchdog value requested" access="RO" offset="0x20.8" size="0x0.8" />
	<field name="oper_time_host_serdes_feq" descr="10ms granularity for operational timer in host FEQ recovery\;on GET operation, returns watchdog value requested" access="RO" offset="0x20.16" size="0x0.8" />
	<field name="oper_time_host_logic_re_lock" descr="granularity of oper_logic_re_lock_res for operational timer in host Re-lock recovery\;on GET operation, returns watchdog value requested" access="RO" offset="0x20.24" size="0x0.8" />
	<field name="param_page_data" descr="recovery parameters for read / write functionality\;see Table  1804, &quot;PPRM phy recovery steps params,&quot; on page  2400" subnode="pprm_reg_param_page_data_auto_ext" access="RW" offset="0x2C.0" size="0x68.0" union_selector="$(parent).param_select" />
</node>

<node name="pprm_reg_param_page_data_auto_ext" descr="" attr_is_union="1" size="0x68.0" >
	<field name="pprm_phy_steps_ext" descr="" subnode="pprm_phy_steps_ext" offset="0x0.0" selected_by="phy_recovery_steps" size="0x68.0" />
</node>

<node name="pprr_ext" descr="" size="0x14.0" >
	<field name="register_index" descr="Index of Port Range Register being accessed\;Range is 0 .. cap_max_acl_l4_port_range-1" access="INDEX" offset="0x0.0" size="0x0.8" />
	<field name="ip_length" descr="Field type (ip_length is a legacy inadequate name).\;Note: Values 0,1, apply to both inner and outer depending on outer_inner field. Values 2,3,4,5,6 are not supported when outer_inner is INNER\;\;0: L4_PORT\;1: IP_LENGTH\;2: TTL\;3: CUSTOM_BYTE_SET\;4: ING_LOCAL_PORT_USER_MEM\;5: UTC_29_14\;6: PRBS.\;15: None" access="RW" enum="L4_PORT=0x0,IP_LENGTH=0x1,TTL=0x2,CUSTOM_BYTE_SET=0x3,ING_LOCAL_PORT_USER_MEM=0x4,UTC_29_14=0x5,PRBS_=0x6,None=0xf" offset="0x0.16" size="0x0.4" />
	<field name="outer_inner" descr="0: OUTER - Apply port range register to outer IP header\;1: INNER - Apply port range register to inner IP header\;2: BOTH - Apply port range register to outer IP header or to inner IP header, Supported on Spectrum-1 only." access="RW" enum="OUTER=0x0,INNER=0x1,BOTH=0x2" offset="0x0.22" size="0x0.2" />
	<field name="ignore_l4" descr="Ignore L4. Apply port range register regardless of L4. When set tcp and udp are reserved. Default 0.\;Must not be set when ip_length points to layer 4 fields.\;Reserved when Spectrum-1" access="RW" offset="0x0.24" size="0x0.1" />
	<field name="ignore_l3" descr="Ignore L3. Apply port range register regardless of L3. When set ipv4 and ipv6 are reserved. Default 0.\;Must not be set when ip_length points to layer 3 fields.\;Reserved when Spectrum-1" access="RW" offset="0x0.25" size="0x0.1" />
	<field name="udp" descr="Apply port range register to UDP packets\;Default 0" access="RW" offset="0x0.26" size="0x0.1" />
	<field name="tcp" descr="Apply port range register to TCP packets\;Default 0" access="RW" offset="0x0.27" size="0x0.1" />
	<field name="dst" descr="Apply port range register to destination L4 ports\;Default 0" access="RW" offset="0x0.28" size="0x0.1" />
	<field name="src" descr="Apply port range register to source L4 ports\;Default 0" access="RW" offset="0x0.29" size="0x0.1" />
	<field name="ipv6" descr="Apply port range register to IPv6 packets\;Default 0" access="RW" offset="0x0.30" size="0x0.1" />
	<field name="ipv4" descr="Apply port range register to IPv4 packets\;Default 0" access="RW" offset="0x0.31" size="0x0.1" />
	<field name="port_range_max" descr="Maximum port range for comparison" access="RW" offset="0x4.0" size="0x0.16" />
	<field name="port_range_min" descr="Minimum port range for comparison.\;Match is defined as: \;port_range_min &lt;= packet_port &lt;= port_range_max" access="RW" offset="0x4.16" size="0x0.16" />
	<field name="comp_type" descr="Comparator type:\;0: Range - from port_range_min to port_range_max\;1: Match_Val - match either port_range_min or port_range_max, supported from Spectrum-4 and on\;[Spectrum-4]\;Supported from Spectrum-4 and above." access="RW" enum="Range=0x0,Match_Val=0x1" offset="0x8.0" size="0x0.2" />
	<field name="cbset" descr="Custom Bytes Set\;Range 0 .. cap_max_custom_byte_sets-1See encoding in Table 3780, &quot;Spectrum Custom Bytes Sets,&quot; on page 4455\;Note: at a given time no more than 2 cbsets can be used (for different register_index values)\;Reserved when ip_length != CUSTOM_BYTE_SET\;Reserved when Spectrum-1\;" access="RW" offset="0x10.0" size="0x0.8" />
</node>

<node name="pprt_reg_ext" descr="" size="0x24.0" >
	<field name="le" descr="Per Lane configuration enable (can be set only if ls = 1):\;0 - No per lane configuration\;1 - Per lane configurations\;When le is cleared, lane index is reserved and all PPRT configurations are taking place on all lanes.\;When le is set, configurations are taking place per lane based on lane index" access="OP" offset="0x0.0" size="0x0.1" />
	<field name="ls" descr="Per Lane configuration support: \;0 - No support of per lane configuration\;1 - Support of per lane configuration" access="RO" offset="0x0.1" size="0x0.1" />
	<field name="port_type" descr="Supported only when indicated by PCAM \;0 - Network Port\;1 - Near-End Port (For Retimer/Gearbox - Host side)\;2 - Internal IC LR Port \;3 - Far-End Port (For Retimer/Gearbox - Line side)\;Other values are reserved.\;" access="INDEX" offset="0x0.4" size="0x0.4" />
	<field name="lane" descr="Reserved when (le=0 or ls = 0)\;Logical lane number" access="INDEX" offset="0x0.8" size="0x0.4" />
	<field name="lp_msb" descr="Local port number [9:8]" access="INDEX" offset="0x0.12" size="0x0.2" />
	<field name="pnat" descr="Port number access type. determines the way local_port is interpreted:\;0 - Local port number\;1 - IB port number\;3 - Out of band / PCI" access="INDEX" offset="0x0.14" size="0x0.2" />
	<field name="local_port" descr="local_port" access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="sw_c" descr="PRBS MSB &lt;-&gt;LSB Swap for PAM4 symbols support\;if this bit is cleared - bit 25 (&apos;s&apos;) is ignored" access="RO" offset="0x0.24" size="0x0.1" />
	<field name="sw" descr="PRBS MSB &lt;-&gt;LSB Swap for PAM4 symbols\;0 - No Swap.\;1 - Swap MSB &lt;-&gt; LSB." access="RW" offset="0x0.25" size="0x0.1" />
	<field name="dm_ig" descr="disable mask ignore\;If set to 1, the port&quot;s and the cable&quot;s capabilities won&quot;t affect tuning" access="OP" offset="0x0.26" size="0x0.1" />
	<field name="p_c" descr="PRBS RX polarity support indication\;if this bit is cleared - bit 28 (&apos;p&apos;) is ignored" access="RO" offset="0x0.27" size="0x0.1" />
	<field name="p" descr="PRBS RX polarity - NOT gate in PRBS (not Physical lane Polarity)\;\;0 - No polarity inversion.\;1 - PRBS RX polarity inversion." access="RW" offset="0x0.28" size="0x0.1" />
	<field name="s" descr="start tuning:\;1 - start RX_tuning based on PRBS pattern \;Notes:\;1) assuming peer transmitting PRBS. \;2) cannot be set when prbs_rx_tuning_status = 1 (during tuning).\;3) In Mode B rates, it is not required to set this bit in the first initialization of test mode after PAOS was set to down. For any re-tuning after initialization it is required to set this bit." access="OP" offset="0x0.30" size="0x0.1" />
	<field name="e" descr="Enable PRBS test mode bit:\;0 - PRBS RX is disabled.\;1 - PRBS RX is enabled." access="RW" offset="0x0.31" size="0x0.1" />
	<field name="prbs_modes_cap" descr="PRBS capability (bitmask)\;Bit 0 - PRBS31 (x^31 + x^28 + 1)\;Bit 1 - PRBS23A (x^23 + x^18 + 1)\;Bit 2 - PRBS23B (x^23 + x^18 + x^12+ x^6 + 1)\;Bit 3 - PRBS23C (x^23 + x^22 + x^19+ x^18 + 1)\;Bit 4 - PRBS23D (x^23 + x^19 + x^18+ x^11 + 1)\;Bit 5 - PRBS7 (x^7 + x^6 + 1)\;Bit 6 - PRBS11 (x^11 + x^9 + 1)\;Bit 7 - PRBS11A (x^11 + x^10 + x^6+ x^5 + 1)\;Bit 8 - PRBS11B (x^11 + x^9 + x^6+ x^5 + 1)\;Bit 9 - PRBS11C (x^11 + x^8 + x^6+ x^4 + 1)\;Bit 10 - PRBS11D (x^11 + x^7 + x^6+ x^4 + 1)\;Bit 11 - PRBS9 (x^9 + x^5 + 1)\;Bit 12 - IDLE using scramble58 (x^58+ x^39 + 1)\;Bit 13 - Square_wave : Non error based tune\;Bit 17 - PRBS13A (x^13 + x^12 + x^2+ x + 1)\;Bit 18 - PRBS13B (x^13 + x^7 + x^3+ x^2 + 1)\;Bit 19 - PRBS13C (x^13 + x^8 + x^4+ x^2 + 1)\;Bit 20 - PRBS13D (x^13 + x^9 + x^5+ x^2 + 1)\;Bit 21- SSPR\;Bit 22- SSPRQ\;Bit 23- LT frames (KR-startup frames)\;Bit 24 - PRBS15 - x^15 + x^14 + 1\;Bit 25 - PRBS28 - x^28 + x^25 + 1\;Bit 26 - Square wave3 (3ones, 3zeros)\;Bit 27 - Square wave13 (13ones, 13zeros)\;Bit 28 - Square wave30 (30ones, 30zeros)\;Bit 29 - PRBS58 (x^58+ x^39 + 1)\;Bit 30 - Default Pattern - Recommended for Mode B links for simplicity" access="RO" offset="0x4.0" size="0x4.0" />
	<field name="modulation" descr="Reserved for speeds below 53.125Gb/s (lane_rate_admin &lt; 13):\;0 - NRZ test pattern\;1 - PAM4 encoding [internal] with gray no precoding\;2 - PAM4 with precoding [internal] with gray\;3 - PAM4 without gray no precoding\;" access="RW" offset="0x8.0" size="0x0.4" />
	<field name="otf_ch_cap" descr="When set, On the fly configuration change is supported.\;otherwise, change of any configuration requires PAOS toggle.\;Configurations that are supported when bit is set:\;S\;P ( PRBS polarity)\;SW (MSB &lt;-&gt; LSB swap)\;Prbs_mode_admin (pattern)\;msb_lsb_cnt\;Ph_p (physical polarity)\;Modulation (precoding, gray and modulation)\;prbs_hist_fec_int\;Prbs_hist_en" access="RO" offset="0x8.15" size="0x0.1" />
	<field name="primary_secondary_idx" descr="0: primary\;1: secondary \;\;\;" access="INDEX" enum="primary=0x0,secondary=0x1" offset="0x8.20" size="0x0.1" />
	<field name="mode_b_idx" descr="0: mode_a - [Internal] Simplex\;1: mode_b - [Internal] Bidirectional\;2: mode_b_loopback - must set this value when configuring a loopback with a mode B rate [Internal] Bidirectional loopback" access="INDEX" offset="0x8.22" size="0x0.2" />
	<field name="prbs_mode_admin" descr="See prbs_mode_cap: \;0x0 - PRBS31 (x^31 + x^28 + 1)\;0x1 - PRBS23A (x^23 + x^18 + 1)\;0x2 - PRBS23B (x^23 + x^18 + x^12+ x^6 + 1)\;0x3 - PRBS23C (x^23 + x^22 + x^19+ x^18 + 1)\;0x4 - PRBS23D (x^23 + x^19 + x^18+ x^11 + 1)\;0x5 - PRBS7 (x^7 + x^6 + 1)\;0x6 - PRBS11 (x^11 + x^9 + 1)\;0x7 - PRBS11A (x^11 + x^10 + x^6+ x^5 + 1)\;0x8 - PRBS11B (x^11 + x^9 + x^6+ x^5 + 1)\;0x9 - PRBS11C (x^11 + x^8 + x^6+ x^4 + 1)\;0xA - PRBS11D (x^11 + x^7 + x^6+ x^4 + 1)\;0xB - PRBS9 (x^9 + x^5 + 1)\;0xC - IDLEs using scramble58 (x^58+ x^39 + 1)\;0xD - Square_wave : Non error based tune \;0x11 - PRBS13A (x^13 + x^12 + x^2+ x + 1)\;0x12 - PRBS13B (x^13 + x^7 + x^3+ x^2 + 1)\;0x13 - PRBS13C (x^13 + x^8 + x^4+ x^2 + 1)\;0x14 - PRBS13D (x^13 + x^9 + x^5+ x^2 + 1)\;0x15 - SSPR\;0x16 - SSPRQ\;0x17 - LT frames (KR-startup frames)\;0x18 - PRBS15 - x^15 + x^14 + 1\;0x19 - PRBS28 - x^28 + x^25 + 1\;0x1A - Square wave3 (3ones, 3zeros)\;0x1B - Square wave13 (13ones, 13zeros)\;0x1C - Square wave30 (30ones, 30zeros)\;0x1D - PRBS58 (x^58+ x^39 + 1)\;0x1E - Default Pattern - Recommended for Mode B links for simplicity\;\;\;" access="RW" offset="0x8.24" size="0x0.8" />
	<field name="enc_mode_index" descr="Encoding mode for selecting the PRBS table.\;0x0: Default/legacy table which is the result of And between the NRZ and the PAM4 PRBS tables\;0x1: Use the NRZ table\;0x2: Use the PAM4 table" access="INDEX" offset="0xC.13" size="0x0.3" />
	<field name="lane_rate_cap" descr="Per lane rate capability (bitmask)\;Bit 0 - 1GE (1.25 Gb/s) / Gen 1 PCIe (2.5 Gb/s)\;Bit 1 - SDR (2.5 Gb/s) / Gen 2 PCIe (5 Gb/s)\;Bit 2 - XAUI/2.5GE (3.125 Gb/s) / Gen 3 PCIe (8 Gb/s)\;Bit 3- DDR (5 Gb/s) / Gen 4 PCIe (16 Gb/s)\;Bit 4- QDR (10 Gb/s) / Gen 5 PCIe (32 Gb/s)\;Bit 5- FDR10 / 10GE/40GE (10.3125 Gb/s) / Gen 5 PCIe (64 Gb/s PAM4, 32Gbd)\;Bit 6- FDR (14.0625 Gb/s) \;Bit 7- EDR / 25GE / 50GE / 100GE (25.78125 Gb/s) \;Bit 8 - 50GE-KR4 (12.89 Gb/s) \;Bit 9 - HDR /50GE / 100GE / 200GE / 400GE (26.5625Gbd / 53.125Gb/s) \;Bit 10 - NDR / xdr_lite_1x /100GE / 200GE / 400GE / 800GE (53.125 Gbd / 106.25Gb/s)\;Bit 11 - XDR / 200G_1x_mode_a (106.25 Gbd / 212.5 Gb/s)\;Bit 12 - 180G_Mode_B (90 Gbd / 180 Gb/s)\;Bit 13 - 200G_Mode_B (100 Gbd / 200 Gb/s)\;Bit 14 - 164G_Mode_B (82 Gbd / 164 Gb/s)\;Bit 15 - 189G_Mode_B (94.5 Gbd / 189 Gb/s)\;\;Note: PCIe speeds are relevant when pnat = 3 only" access="RO" offset="0xC.16" size="0x0.16" />
	<field name="lane_rate_oper" descr="Lane rate to be used in PRBS, see lane_rate_cap:\;0 - SDR (2.5 Gb/s) / Gen 1 PCIe (2.5 Gb/s)\;1 - DDR (5 Gb/s) / Gen 2 PCIe (5 Gb/s)\;2 - QDR (10 Gb/s)\;3 - FDR10 / 10GE/4 0GE (10.3125 Gb/s) / Gen 3 PCIe (8 Gb/s)\;4 - FDR (14.0625 Gb/s) / Gen 4 PCIe (16 Gb/s)\;5 - EDR / 25GE / 50GE / 100GE (25.78125 Gb/s) / Gen 5 PCIe (32 Gb/s)\;6 - HDR /50GE / 100GE / 200GE / 400GE (26.5625Gbd / 53.125Gb/s / Gen 5 PCIe (64 Gb/s PAM4, 32Gbd)\;7 - NDR /xdr_lite_1x /100GE / 200GE / 400GE / 800GE (53.125 Gbd / 106.25Gb/s) \;8 - XDR / 200G_1x_mode_a (106.25 Gbd / 212.5 Gb/s)\;9 - 180G_Mode_B (90 Gbd / 180 Gb/s\;10 - 1GE (1.25 Gb/s)\;11 - XAUI/2.5GE (3.125 Gb/s)\;12 - 50GE-KR4 (12.89 Gb/s)\;13 - 200G_Mode_B (100 Gbd / 200 Gb/s)\;14 - 164G_Mode_B (82 Gbd / 164 Gb/s)\;15 - 189G_Mode_B (94.5 Gbd / 189 Gb/s)\;16 - 172p5G_Mode_B (86.25 Gbd / 172.5 Gb/s)\;\;Note: All lanes must be set to the same rate.\;Note: PCIe speeds are relevant when pnat = 3 only" access="RW" offset="0x10.16" size="0x0.16" />
	<field name="prbs_lock_status_ext" descr="PRBS lock on PRBS pattern status for lanes 7-4: \;0 - Not locked\;1 - Locked\;\;Note: Once exiting prbs test mode the prbs_rx_tuning_status will return to 0 (Not locked)" access="RO" offset="0x14.20" size="0x0.4" />
	<field name="prbs_lock_status" descr="PRBS lock on PRBS pattern status for lanes 3-0: \;0 - Not locked\;1 - Locked\;\;Note: Once exiting prbs test mode the prbs_rx_tuning_status will return to 0 (Not locked)" access="RO" offset="0x14.24" size="0x0.4" />
	<field name="prbs_rx_tuning_status" descr="Tuning status: \;0 - PRBS mode tuning was not performed.\;1 - Performing PRBS mode tuning.\;2 - PRBS mode tuning completed.\;3 - Signal Detect in progress\;4 - Secondary not detected - this could occur in test mode configured with a Mode B rate if the primary device is configured prior to the secondary\;\;Note: Once exiting prbs test mode the prbs_rx_tuning_status will return to 0." access="RO" offset="0x14.28" size="0x0.4" />
	<field name="lane_rate_cap_ext" descr="An extension for the lane_rate_cap field, providing additional per lane rate capability (bitmask)\;Bit 0 - 172p5G_Mode_B (86.25 Gbd / 172.5 Gb/s)\;\;Note: PCIe speeds are relevant when pnat = 3 only." access="RO" offset="0x20.13" size="0x0.15" />
</node>

<node name="ppsc_reg_ext" descr="" size="0x30.0" >
	<field name="lp_msb" descr="Local port number [9:8]" access="INDEX" offset="0x0.12" size="0x0.2" />
	<field name="local_port" descr="Local port number." access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="mod_pwr_opt" descr="See PCAM.feature_cap_mask bit 16 for support indication: \;Transceiver power optimization:\;0 - Disable\;1 - Enable" access="RW" offset="0x4.0" size="0x0.1" />
	<field name="wrps_admin" descr="Width reduction power save admin state:\;0000: Disable Width Reduction - Force link to full width (Default)\;0001: Force Width Reduction - Force link to single lane\;0010: Auto - Automatic Width Reduction (based on traffic)." access="RW" offset="0x10.0" size="0x0.4" />
	<field name="wrps_status" descr="Link actual width:\;0000: Full width\;0001: Single lane\;1111: In transition" access="RO" offset="0x14.0" size="0x0.4" />
	<field name="down_threshold" descr="Link width down threshold, Values: 1%-100%\;The BW (In percent) before the link width is moved to single lane" access="RW" offset="0x18.0" size="0x0.8" />
	<field name="up_threshold" descr="Link width up threshold, Values: 1-5 (default 3)\;how aggressive/smoothed in response to high BW.\;1 - means aggressive response to every BW increase\;5 - means smoothened response to every BW increase" access="RW" offset="0x18.16" size="0x0.8" />
	<field name="down_th_vld" descr="Valid bit to update the down threshold\;if &apos;1&apos; update down_threshold" access="WO" offset="0x18.30" size="0x0.1" />
	<field name="up_th_vld" descr="Valid bit to update the up threshold\;if &apos;1&apos; update up_threshold" access="WO" offset="0x18.31" size="0x0.1" />
	<field name="srps_admin" descr="Speed reduction power save admin state:\;0000: Disable Speed Reduction - force link to full speed (Default)\;0001: Force Speed Reduction - force link to low speed" access="RW" offset="0x20.0" size="0x0.4" />
</node>

<node name="ppslc_ext" descr="" size="0x34.0" >
	<field name="l1_cap" descr="[SWITCH][DWIP]\;L1 Capability.\;\;0: Device does not support L1.\;1: Device supports L1." access="RO" offset="0x0.0" size="0x0.1" />
	<field name="l1_admin" descr="[SWITCH][DWIP]\;L1 Admin.\;\;0: Auto, keep normal operation.\;1: Enable L1.\;2: Disable L1.\;Note: The setting will be applied to current port on the next link-up event.\;\;" access="RW" offset="0x0.1" size="0x0.2" />
	<field name="l1_oper" descr="[SWITCH][DWIP]\;L1 Operation.\;\;0: Current port and peer port did not agree on L1 activation.\;1: Current port and peer port agreed on L1 activation." access="RO" offset="0x0.3" size="0x0.1" />
	<field name="l0i_cap" descr="[SWITCH][DWIP]\;L0-Idle Capability.\;\;0: Device does not support L0-Idle.\;1: Device supports L0-Idle." access="RO" offset="0x0.4" size="0x0.1" />
	<field name="l0i_admin" descr="[SWITCH][DWIP]\;L0-Idle Admin.\;\;0: Auto, keep normal operation.\;1: Enable L0-Idle.\;2: Disable L0-Idle.\;Note: The setting will be applied to current port on the next link-up event.\;\;" access="RW" offset="0x0.5" size="0x0.2" />
	<field name="l0i_oper" descr="[SWITCH][DWIP]\;L0-Idle Operation.\;\;0: Current port and peer port did not agree on L0-Idle activation.\;1: Current port and peer port agreed on L0-Idle activation." access="RO" offset="0x0.7" size="0x0.1" />
	<field name="lp_msb" descr="Local port number [9:8]" access="INDEX" offset="0x0.12" size="0x0.2" />
	<field name="local_port" descr="Local port number." access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="l1_consider_rx_traffic" descr="[DWIP]:\;0: For L1, don&apos;t consider Rx traffic for idleness (backwards-compatible value).\;1: For L1, consider Rx traffic for idleness\;\;SPC: Supported starting from SPC6.\;QM: Supported starting from QM5.\;GPU: Supported starting from Feynman.\;\;" access="INDEX" offset="0x0.30" size="0x0.1" />
	<field name="l0i_consider_rx_traffic" descr="[DWIP]:\;0: For L0-idle, don&apos;t consider Rx traffic for idleness (backwards-compatible value).\;1: For L0-idle, consider Rx traffic for idleness\;\;SPC: Supported starting from SPC6.\;QM: Supported starting from QM5.\;GPU: Supported starting from Feynman.\;\;" access="INDEX" offset="0x0.31" size="0x0.1" />
	<field name="l1_req_en" descr="Enable L1 Request\;0: L1 Request is disabled on this port\;1: L1 Request is enabled on this port\;" access="RW" offset="0x4.0" size="0x0.1" />
	<field name="l1_fw_req_en" descr="Enable L1 FW Request\;0: Only L1 HW mode is supported (thermal throttling is disabled) \;1: support thermal throttling on this port \;Reserved for Switch." access="RW" offset="0x8.0" size="0x0.1" />
	<field name="l1_cap_adv" descr="L1 Capability Advertisement\;0: Port doesn&apos;t support L1\;1: Port supports L1 advertisement\;\;[SWITCH]:\;Note: NLPN value of l1_cap_adv is determined by this bit only if field l1_admin is &quot;Auto&quot; (0)." access="RW" offset="0x8.4" size="0x0.1" />
	<field name="l1_tmp_dis" descr="[DWIP]:\;L1 Temporary Disable\;0: L1 is not temporary disabled on this port\;1: L1 is temporary disabled on this port\;When L1 has been negotiated successfully, this field can be used to temporarily disable L1 and later re-enable it for various purposes, without requiring a link toggle in order to take effect.\;" access="RW" offset="0x8.5" size="0x0.1" />
	<field name="l1_fw_cap_adv" descr="L1 FW Capability Advertisement\;0: Port doesn&apos;t support L1 FW\;1: Port supports L1 FW advertisement\;Reserved for Switch." access="RW" offset="0x8.8" size="0x0.1" />
	<field name="l0i_rx_cap_adv" descr="[DWIP]:\;Rx L0-Idle Capability Advertisement\;0: Port Rx lane doesn&apos;t support L0-Idle.\;1: Port Rx lane supports L0-Idle.\;\;Note: Mirrors value of field l0i_tx_cap_adv.\;\;GPU: Supported starting GR100.\;Quantum: Supported starting QM4.\;Spectrum: Supported starting SPC6.\;" access="RO" offset="0x8.16" size="0x0.1" />
	<field name="l0i_rx_req_en" descr="[DWIP]:\;Rx Enable L0-Idle Request\;0: Port Rx lane doesn&apos;t support L0-Idle.\;1: Port Rx lane supports L0-Idle.\;\;Note: Mirrors value of field l0i_tx_cap_adv.\;\;GPU: Supported starting GR100.\;Quantum: Supported starting QM4.\;Spectrum: Supported starting SPC6.\;" access="RO" offset="0x8.17" size="0x0.1" />
	<field name="l0i_tx_cap_adv" descr="[DWIP]:\;Tx L0-Idle Capability Advertisement\;0: Port Tx lane doesn&apos;t support L0-Idle.\;1: Port Tx lane supports L0-Idle.\;\;[SWITCH]:\;Note: NLPN value of l0i_tx_cap_adv, l0i_rx_cap_adv, l0i_tx_req_en, l0i_rx_req_en are determined by this bit only if field l0i_admin is &quot;Auto&quot; (0).\;GPU: Supported starting GR100.\;Quantum: Supported starting QM4.\;Spectrum: Supported starting SPC6.\;" access="RW" offset="0x8.18" size="0x0.1" />
	<field name="l0i_tx_req_en" descr="[DWIP]:\;Tx Enable L0-Idle Request\;0: Port Tx lane doesn&apos;t support L0-Idle.\;1: Port Tx lane supports L0-Idle.\;\;Note: Mirrors value of field l0i_tx_cap_adv.\;\;GPU: Supported starting Rubin.\;Quantum: Supported starting QM4.\;Spectrum: Supported starting SPC6." access="RO" offset="0x8.19" size="0x0.1" />
	<field name="l0i_all_queues_are_import" descr="[DWIP]\;If set, L0 controller (HW) requires all queues to be empty before moving to L0-Idle state. Per port parameter.\;GPU: Supported starting GR100.\;Quantum: Supported starting QM4.\;Spectrum: Supported starting SPC6.\;" access="RW" offset="0x8.20" size="0x0.1" />
	<field name="l0i_tx_tmp_dis" descr="[DWIP]:\;L0-Idle Temporary Disable for Tx lane\;0: L0-Idle is not temporary disabled on this port&apos;s Tx lane\;1: L0-Idle is temporary disabled on this port&apos;s Tx lane\;When l0i has been negotiated successfully on Tx lane, this field can be used to temporarily disable L0-Idle on Tx lane, and later re-enable it for various purposes, without requiring a link toggle in order to take effect.\;GPU: Supported starting GR100.\;Quantum: Supported starting QM4.\;Spectrum: Supported starting SPC6.\;" access="RW" offset="0x8.21" size="0x0.1" />
	<field name="ignore_pred_pm" descr="[DWIP] [SwitchOnly]:\;Ignore Predictor Post Mistake\;If the predictor decision is to move to L1 idle, but no traffic arrives, we will ignore the predictor until traffic arrives again\;0: don&apos;t ignore predictor\;1: ignore predictor" access="RW" offset="0xC.30" size="0x0.1" />
	<field name="pred_algo_en" descr="[DWIP] [SwitchOnly]:\;Predictive Algo Enable\;0: Predictive Algo&apos; is disabled\;1: Predictive Algo&apos; is enabled\;\;Relevant for Switch Only" access="RW" offset="0xC.31" size="0x0.1" />
	<field name="hp_queues_bitmap" descr="High Priority Queues Bitmap\;for each queue, \;0: Normal queue\;1: High priority queue\;\;Note: High priority queues can move to L1 active only when queue is fully empty. Normal queues can move to L1 active as long as the number of bytes within the queue is lower than MPSCR.queue_depth_th\;\;bits 17-31 are reserved" access="RW" offset="0x10.0" size="0x4.0" />
	<field name="l1_hw_active_time" descr="units of 50 usec minimum value of 50 usec\;" access="RW" offset="0x18.0" size="0x0.10" />
	<field name="l0i_hw_inactive_time_admin" descr="[DWIP][Switch]\;0: L0-idle HW inactive time setting NOT controlled or reflected through this field.\;Any other value: L0-idle HW inactive time setting controlled and reflected through this field.\;\;Units:\;QM4: 64 nsec.\;All other products: 50 nsec.\;\;Applying a change in this value will require link toggle.\;Valid starting QM4.\;Default field value: 0\;" access="RW" offset="0x18.16" size="0x0.10" />
	<field name="l1_hw_inactive_time" descr="units of 50 usec. minimum value of 50 usec\;" access="RW" offset="0x1C.0" size="0x0.10" />
	<field name="l0i_hw_inactive_time" descr="[DWIP]\;Note for QM NVOS: Do not use this field for writes. Instead use field l0i_hw_inactive_time_admin.\;\;Units:\;QM4: 64 nsec.\;All other products: 50 nsec.\;\;Valid only for GR100, QM-4, SPC-6 and above\;Applying a change in this value will require link toggle.\;" access="RW" offset="0x1C.16" size="0x0.10" />
	<field name="qem" descr="Queue Desire (state) Exit Mode upon traffic arrival\;0: Move to L1 Idle immediately \;1: Wait for desire window completion before moving to L1 idle\;2: Ignore traffic arrival \;\;Note: \;For GB1xx and GR1xx, only index 0-7 are valid. \;For Quantum-3 and Quantum-4, only index 0-16 are valid.\;For SPC-6 only index 0-12 are valid.\;Must be 0 for queues defined in hp_queues_bitmap as high priority." access="RW" high_bound="19" low_bound="0" offset="0x20.24" size="0x14.0" />
</node>

<node name="ppsld_ext" descr="" size="0x14.0" >
	<field name="lp_msb" descr="Local port number [9:8]" access="INDEX" offset="0x0.12" size="0x0.2" />
	<field name="local_port" descr="Local port number." access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="fw_mode" descr="FW Mode\;0: Trigger Once - \;1: Infinite L1 Idle \;2: Infinite L1 Desire \;3: Toggle Always \;4: Disabled \;5: Infinite L0 Force \;6: Infinite L1 Force \;\;Note: can be changed only when device in not under thermal event. During thermal event, FW will override the use debug configuration." access="RW" offset="0x4.0" size="0x0.3" />
	<field name="trigger" descr="Trigger port to move to force mode one time\;0: No trigger\;1: Trigger port to move to force mode\;Valid only when fw_mode = Trigger Once" access="OP" offset="0x8.0" size="0x0.1" />
	<field name="ehld" descr="Exposed HW L1 desire\;The state of the controller2plu_l1_desire bit that controller publishes \;" access="RO" offset="0xC.0" size="0x0.2" />
	<field name="fw_idle_window_time" descr="FW Idle Window time\;units of 100uSec\;Relevant only for fw_mode = Toggle always (3)." access="RW" offset="0x10.0" size="0x0.8" />
	<field name="fw_desire_window_time" descr="FW Desire Window time\;units of 100uSec\;Relevant only for fw_mode = Trigger once (0) or Toggle always (3)." access="RW" offset="0x10.16" size="0x0.8" />
</node>

<node name="ppsls_ext" descr="" size="0x8.0" >
	<field name="lp_msb" descr="Local port number [9:8]" access="INDEX" offset="0x0.12" size="0x0.2" />
	<field name="local_port" descr="Local port number." access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="l1_fw_mode_cap" descr="0: Port doesn&apos;t support L1 fw mode\;1: Port supports L1 fw mode" access="RO" offset="0x4.16" size="0x0.1" />
	<field name="l1_cap" descr="0: Port doesn&apos;t support L1\;1: Port supports L1" access="RO" offset="0x4.18" size="0x0.1" />
	<field name="l0i_neg_rx_status" descr="[DWIP]\;L0-Idle RX lane negotiation status\;0: L0-Idle RX lane negotiation failed (L1 is not supported by both sides)\;1: L0-Idle RX lane negotiation succeeded (supported on both sides)\;N/A when link is down" access="RO" offset="0x4.19" size="0x0.1" />
	<field name="l0i_neg_tx_status" descr="[DWIP]\;L0-Idle TX lane negotiation status\;0: L0-Idle TX lane negotiation failed (L1 is not supported by both sides)\;1: L0-Idle TX lane negotiation succeeded (supported on both sides)\;N/A when link is down" access="RO" offset="0x4.20" size="0x0.1" />
	<field name="fw_mode_remote" descr="FW mode remote indication\;0: N/A\;1: L1 fw mode remote capability is set \;2: L1 fw mode remote request is set \;3: L1 fw mode remote request and capability are set \;Valid only is l1_neg_status = 1 \;Reserved when link is down" access="RO" offset="0x4.27" size="0x0.2" />
	<field name="fw_mode_act" descr="Actual Mode \;0: HW mode\;1: FW mode\;Valid only is l1_neg_status = 1 \;Reserved when link is down\;Reserved for Switch." access="RO" offset="0x4.29" size="0x0.1" />
	<field name="fw_mode_neg_status" descr="FW mode negotiation status\;0: L1 fw mode negotiation failed\;1: L1 fw mode negotiation succeeded \;Valid only if l1_neg_status = 1 \;Reserved when link is down" access="RO" offset="0x4.30" size="0x0.1" />
	<field name="l1_neg_status" descr="L1 negotiation status\;0: L1 negotiation failed (L1 is not supported by both sides)\;1: L1 negotiation succeeded (supported on both sides)\;Reserved when link is down" access="RO" offset="0x4.31" size="0x0.1" />
</node>

<node name="ppspc_ext" descr="" size="0x28.0" >
	<field name="lp_msb" descr="Local port number [9:8]" access="INDEX" offset="0x0.12" size="0x0.2" />
	<field name="local_port" descr="Local port number." access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="windows_num" descr="Num of windows used for prediction.\;Valid values 1 .. 15.\;For QM3, this value does not include Bucket[-1]." access="RW" offset="0x4.0" size="0x0.5" />
	<field name="predictor_inactive_window" descr="Predictor Idle Window\;Units of 100uSec\;Valid values 1-1023" access="RW" offset="0x4.16" size="0x0.10" />
	<field name="prediction_mode_prio" descr="In case of pattern match which is both static and cyclic, which pattern has priority.\;0: Static pattern has priority.\;1: Cyclic pattern has priority." access="RW" offset="0x4.31" size="0x0.1" />
	<field name="win_thr" descr="Units of 100 usec.\;Only 10 lsb are used" access="OP" high_bound="15" low_bound="0" offset="0x8.16" size="0x20.0" />
</node>

<node name="ppspgc_ext" descr="" size="0x14.0" >
	<field name="sample_rate" descr="Units of 1ms. Valid values 5-100.\;Default read from INI." access="RW" offset="0x0.0" size="0x0.8" />
	<field name="max_score" descr="The max score allowed to be used for scoring table. When score reaches max_score it&apos;s not increased anymore.\;Min score for each window is 0.\;Init value for each window is max_score/2. Default read from INI." access="RW" offset="0x0.16" size="0x0.4" />
	<field name="l1_hw_inactive_cycles_pred_dis" descr="Units of 50uSec\;\;Defines the L1 inactive cycles to be used when the prediction algo&quot; is disabled.\;Fw has to hold different values for prediction en/dis since the L1 inactive cycles is expected to be longer when prediction is disabled" access="RW" offset="0x4.0" size="0x0.10" />
	<field name="penalty_th" descr="[DWIP]: Penalty Threshold. Min: 1, Max: 1000, Units: 0.1%.\;Portion of time for acceptable measured penalty due to L1 over-residency." access="RW" offset="0xC.16" size="0x0.10" />
	<field name="small_window_duration" descr="[DWIP]: Small Window Duration. Min: 10, Max: 1000, Units: mSecs.\;Duration from one FW check of last idle events till the next check." access="RW" offset="0x10.8" size="0x0.10" />
</node>

<node name="ppsphi_reg_ext" descr="" size="0x4c.0" >
	<field name="lp_msb" descr="Local port number [9:8]" access="INDEX" offset="0x0.12" size="0x0.2" />
	<field name="local_port" descr="Local port number." access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="clr" descr="Clears the scoring buckets" access="OP" offset="0x0.31" size="0x0.1" />
	<field name="bucket_counter" descr="The number of the bucket&quot;s occurrences in the controller in a given time slot \;The values updated every PPSPGC.sample_rate\;Only 15 buckets are available. \;In QM3, Bucket[15] shall be used as &quot;Bucket[-1]&quot;." access="RW" high_bound="15" low_bound="0" offset="0xC.0" size="0x40.0" />
</node>

<node name="ppspi_ext" descr="" size="0x80.0" >
	<field name="lp_msb" descr="Local port number [9:8]" access="INDEX" offset="0x0.12" size="0x0.2" />
	<field name="local_port" descr="Local port number." access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="pred_mode" descr="0: Disabled\;1: static\;2: cyclic\;3: Disabled by FW" access="RO" offset="0x4.0" size="0x0.2" />
	<field name="pred_win" descr="The selected prediction window.\;When pred_mode = static (0), valid values 0-14\;When pred_mode = cyclic (1), valid values 0-3. 0 stands for cyclic 2, 1 stands for cyclic 3 .. 3 stands for cyclic 5" access="RO" offset="0x4.8" size="0x0.4" />
	<field name="dbg_cc" descr="Debug Counters Clear\;0: Do not clear counters\;1: Clear counters" access="OP" offset="0x4.30" size="0x0.1" />
	<field name="dbg_cnt_en" descr="Debug Counter Enable\;0: Debug counters are disabled\;1: Debug counters are enabled\;\;Note: Up to four ports are allowed to be set with debugging enabled concurrently. The last four ports which were enabled for debug are the relevant one.\;Note 2: When disabled on specific port, the FW counters below are being cleared automatically by the FW." access="RW" offset="0x4.31" size="0x0.1" />
	<field name="too_short_pred_counter" descr="Too short Event Counter\;If there is no new traffic during predictor idle window, the prediction is wrong and cause is raised to FW. FW counts this event." access="RO" offset="0x8.0" size="0x0.16" />
	<field name="too_long_pred_counter" descr="Too long Event Counter\;Counts events of traffic arrived before prediction\;Counts always regardless to dbg_cnt_en" access="RO" offset="0x8.16" size="0x0.16" />
	<field name="max_win_too_low" descr="idle time identified by the predictor is higher than the max window value" access="RO" offset="0xC.0" size="0x0.16" />
	<field name="min_win_too_high" descr="idle time identified by the predictor is lower than the min window value" access="RO" offset="0xC.16" size="0x0.16" />
	<field name="rcnt_idle_win_time_1" descr="Recent idle time detected on all queues for that port. \;Value 0 means field is not valid. Units of 10usec\;Valid only if predictor learning is enabled and dbg_cnt_en is set." access="RO" offset="0x10.0" size="0x0.16" />
	<field name="rcnt_idle_win_time_0" descr="Most recent idle time detected on all queues for that port. \;Value 0 means field is not valid. Units of 10usec.\;Valid only if predictor learning is enabled and dbg_cnt_en is set." access="RO" offset="0x10.16" size="0x0.16" />
	<field name="rcnt_idle_win_time_3" descr="Recent idle time detected on all queues for that port. \;Value 0 means field is not valid. Units of 10usec\;Valid only if predictor learning is enabled and dbg_cnt_en is set." access="RO" offset="0x14.0" size="0x0.16" />
	<field name="rcnt_idle_win_time_2" descr="Recent idle time detected on all queues for that port. \;Value 0 means field is not valid. Units of 10usec\;Valid only if predictor learning is enabled and dbg_cnt_en is set." access="RO" offset="0x14.16" size="0x0.16" />
	<field name="rcnt_idle_win_time_4" descr="Recent idle time detected on all queues for that port. \;Value 0 means field is not valid. Units of 10usec\;Valid only if predictor learning is enabled and dbg_cnt_en is set." access="RO" offset="0x18.16" size="0x0.16" />
	<field name="rcnt_idle_win_idx_4" descr="Recent idle window index detected on all queues for that port. \;Value 0x1F means field is not valid. \;Valid only if predictor learning is enabled" access="RO" offset="0x20.7" size="0x0.5" />
	<field name="rcnt_idle_win_idx_3" descr="Recent idle window index detected on all queues for that port. \;Value 0x1F means field is not valid. \;Valid only if predictor learning is enabled" access="RO" offset="0x20.12" size="0x0.5" />
	<field name="rcnt_idle_win_idx_2" descr="Recent idle window index detected on all queues for that port. \;Value 0x1F means field is not valid. \;Valid only if predictor learning is enabled" access="RO" offset="0x20.17" size="0x0.5" />
	<field name="rcnt_idle_win_idx_1" descr="Recent idle window index detected on all queues for that port. \;Value 0x1F means field is not valid. \;Valid only if predictor learning is enabled" access="RO" offset="0x20.22" size="0x0.5" />
	<field name="rcnt_idle_win_idx_0" descr="Recent idle window index detected on all queues for that port. \;Value 0x1F means field is not valid. \;Valid only if predictor learning is enabled" access="RO" offset="0x20.27" size="0x0.5" />
	<field name="pred_on_counter" descr="Prediction on counter\;Available only for ports with dbg_cnt_en set.\;Indicates the number of iterations the FW configured the port to static/cyclic mode." access="RO" offset="0x24.0" size="0x4.0" />
	<field name="pred_off_counter" descr="Prediction off counter\;Available only for ports with dbg_cnt_en set.\;Indicates the number of iterations the FW configured the port to prediction off." access="RO" offset="0x28.0" size="0x4.0" />
	<field name="pred_on_off_switching_counter" descr="Available only for ports with dbg_cnt_en set.\;Indicates the number of iterations the FW switch configuration between on and off the prediction on the port." access="RO" offset="0x2C.0" size="0x4.0" />
	<field name="st_scr" descr="scoring table\;st_scr[15] is invalid" access="RO" high_bound="15" low_bound="0" offset="0x30.28" size="0x8.0" />
	<field name="cyc_scr_5" descr="Cycling scoring[4]" access="RO" offset="0x38.16" size="0x0.4" />
	<field name="cyc_scr_4" descr="Cycling scoring[3]" access="RO" offset="0x38.20" size="0x0.4" />
	<field name="cyc_scr_3" descr="Cycling scoring[2]" access="RO" offset="0x38.24" size="0x0.4" />
	<field name="cyc_scr_2" descr="Cycling scoring[1]" access="RO" offset="0x38.28" size="0x0.4" />
</node>

<node name="pptb_reg_ext" descr="" size="0x10.0" >
	<field name="pm" descr="prioX_buff mask - enables update of the prioX_buff field.\;Bit i is a flag for updating the mapping for switch priority i." access="WO" offset="0x0.0" size="0x0.8" />
	<field name="um" descr="untagged_buff mask - enables update of the untagged_buff field.\;Reserved for Spectrum family.\;Reserved for HCA devices." access="WO" offset="0x0.8" size="0x0.1" />
	<field name="cm" descr="ctrl_buff mask - enables update of the ctrl_buff field.\;NOTE: This field is ignored by the device, and control traffic is mapped to a pre-defined buffer (buffer - 9).\;Reserved for HCA devices" access="WO" offset="0x0.9" size="0x0.1" />
	<field name="lp_msb" descr="Local port[9:8]" access="INDEX" offset="0x0.12" size="0x0.2" />
	<field name="local_port" descr="Local port number." access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="mm" descr="Mapping mode\;0: Mapping both Unicast and Multicast packets to the same buffer\;In get operation, 0 means Unicast only.\;1: Mapping Unicast only\;2: Mapping Multicast only\;This field is reserved for HCA devices" access="INDEX" offset="0x0.28" size="0x0.2" />
	<field name="prio0buff" descr="Mapping of Switch Priority of &lt;X&gt; to one of the allocated receive port buffers.\;&lt;X&gt; = 0..7\;" access="RW" offset="0x4.0" size="0x0.4" />
	<field name="prio1buff" descr="Mapping of Switch Priority of &lt;X&gt; to one of the allocated receive port buffers.\;&lt;X&gt; = 0..7\;" access="RW" offset="0x4.4" size="0x0.4" />
	<field name="prio2buff" descr="Mapping of Switch Priority of &lt;X&gt; to one of the allocated receive port buffers.\;&lt;X&gt; = 0..7\;" access="RW" offset="0x4.8" size="0x0.4" />
	<field name="prio3buff" descr="Mapping of Switch Priority of &lt;X&gt; to one of the allocated receive port buffers.\;&lt;X&gt; = 0..7\;" access="RW" offset="0x4.12" size="0x0.4" />
	<field name="prio4buff" descr="Mapping of Switch Priority of &lt;X&gt; to one of the allocated receive port buffers.\;&lt;X&gt; = 0..7\;" access="RW" offset="0x4.16" size="0x0.4" />
	<field name="prio5buff" descr="Mapping of Switch Priority of &lt;X&gt; to one of the allocated receive port buffers.\;&lt;X&gt; = 0..7\;" access="RW" offset="0x4.20" size="0x0.4" />
	<field name="prio6buff" descr="Mapping of Switch Priority of &lt;X&gt; to one of the allocated receive port buffers.\;&lt;X&gt; = 0..7\;" access="RW" offset="0x4.24" size="0x0.4" />
	<field name="prio7buff" descr="Mapping of Switch Priority of &lt;X&gt; to one of the allocated receive port buffers.\;&lt;X&gt; = 0..7\;" access="RW" offset="0x4.28" size="0x0.4" />
	<field name="untagged_buff" descr="Mapping of untagged frames to one of the allocated receive port buffers.\;Reserved for Spectrum. Spectrum maps untagged packets based on the Switch Priority.\;Reserved for HCA devices" access="RW" offset="0x8.0" size="0x0.4" />
	<field name="ctrl_buff" descr="Mapping of control frames to one of the allocated receive port buffers.\;NOTE: This field is ignored by the device, and control traffic is mapped to a pre-defined buffer (buffer - 9).\;Reserved for HCA devices" access="RW" offset="0x8.4" size="0x0.4" />
	<field name="pm_msb" descr="prioX_buff mask - enables update of the prioX_buff field.\;Bit i is a flag for updating the mapping for switch priority i+8.\;Reserved for HCA device" access="WO" offset="0x8.24" size="0x0.8" />
	<field name="prio8buff" descr="Mapping of Switch Priority of &lt;X&gt; to one of the allocated receive port buffers.\;&lt;X&gt; = 8..15\;" access="RW" offset="0xC.0" size="0x0.4" />
	<field name="prio9buff" descr="Mapping of Switch Priority of &lt;X&gt; to one of the allocated receive port buffers.\;&lt;X&gt; = 8..15\;" access="RW" offset="0xC.4" size="0x0.4" />
	<field name="prio10buff" descr="Mapping of Switch Priority of &lt;X&gt; to one of the allocated receive port buffers.\;&lt;X&gt; = 8..15\;" access="RW" offset="0xC.8" size="0x0.4" />
	<field name="prio11buff" descr="Mapping of Switch Priority of &lt;X&gt; to one of the allocated receive port buffers.\;&lt;X&gt; = 8..15\;" access="RW" offset="0xC.12" size="0x0.4" />
	<field name="prio12buff" descr="Mapping of Switch Priority of &lt;X&gt; to one of the allocated receive port buffers.\;&lt;X&gt; = 8..15\;" access="RW" offset="0xC.16" size="0x0.4" />
	<field name="prio13buff" descr="Mapping of Switch Priority of &lt;X&gt; to one of the allocated receive port buffers.\;&lt;X&gt; = 8..15\;" access="RW" offset="0xC.20" size="0x0.4" />
	<field name="prio14buff" descr="Mapping of Switch Priority of &lt;X&gt; to one of the allocated receive port buffers.\;&lt;X&gt; = 8..15\;" access="RW" offset="0xC.24" size="0x0.4" />
	<field name="prio15buff" descr="Mapping of Switch Priority of &lt;X&gt; to one of the allocated receive port buffers.\;&lt;X&gt; = 8..15\;" access="RW" offset="0xC.28" size="0x0.4" />
</node>

<node name="pptt_reg_ext" descr="" size="0x1c.0" >
	<field name="le" descr="Per Lane configuration enable (can be set only if ls = 1):\;0 - No per lane configuration\;1 - Per lane configurations\;When le is cleared, lane index is reserved and all PPTT configurations are taking place on all lanes.\;When le is set, configurations are taking place per lane based on lane index" access="OP" offset="0x0.0" size="0x0.1" />
	<field name="ls" descr="Per Lane configuration support/capability: \;0 - No support of per lane configuration\;1 - Support of per lane configuration" access="RO" offset="0x0.1" size="0x0.1" />
	<field name="port_type" descr="For HCA supported only when indicated by PCAM \;0 - Network Port\;1 - Near-End Port (For Retimer/Gearbox - Host side)\;2 - Internal IC LR Port \;3 - Far-End Port (For Retimer/Gearbox - Line side)\;Other values are reserved.\;Note: PRBS can be enabled only for two entities that directly connected to each other.\;For non MCM and no Retimer/Gearbox only 0 allowed.\;For non MCM and with Retimer/Gearbox 2-1 or 3 or 0.\;For MCM without Retimer/Gearbox 4-5 or 2 or 0.\;For MCM with Retimer/Gearbox 4-5 or 2-1 or 3 or 0.\;all the port will be in test mode when PRBS is enabled." access="INDEX" offset="0x0.4" size="0x0.4" />
	<field name="lane" descr="Reserved when (le=0 or ls = 0)\;Logical lane number" access="INDEX" offset="0x0.8" size="0x0.4" />
	<field name="lp_msb" descr="Local port number [9:8]" access="INDEX" offset="0x0.12" size="0x0.2" />
	<field name="pnat" descr="Port number access type. determines the way local_port is interpreted:\;0 - Local port number\;1 - IB port number\;3 - Out of band / PCI" access="INDEX" offset="0x0.14" size="0x0.2" />
	<field name="local_port" descr="local_port" access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="sw_c" descr="PRBS MSB &lt;-&gt;LSB Swap for PAM4 symbols support\;if this bit is cleared - bit 25 (&apos;s&apos;) is ignored" access="RO" offset="0x0.24" size="0x0.1" />
	<field name="sw" descr="PRBS MSB &lt;-&gt;LSB Swap for PAM4 symbols\;0 - No Swap.\;1 - Swap MSB &lt;-&gt; LSB." access="RW" offset="0x0.25" size="0x0.1" />
	<field name="dm_ig" descr="disable mask ignore\;If set to 1, the port&quot;s and the cable&quot;s capabilities won&quot;t affect tuning" access="OP" offset="0x0.26" size="0x0.1" />
	<field name="p_c" descr="PRBS TX polarity support indication.\;if this bit is cleared - bit 28 (&apos;p&apos;) is been ignored" access="RO" offset="0x0.27" size="0x0.1" />
	<field name="p" descr="PRBS TX polarity - NOT gate in PRBS (not Physical lane Polarity)\;0 - No polarity inversion.\;1 - PRBS TX polarity inversion." access="RW" offset="0x0.28" size="0x0.1" />
	<field name="e" descr="Enable PRBS test mode bit:\;0 - PRBS TX is disabled.\;1 - PRBS TX is enabled." access="RW" offset="0x0.31" size="0x0.1" />
	<field name="prbs_modes_cap" descr="PRBS capability (bitmask)\;Bit 0 - PRBS31 (x^31 + x^28 + 1)\;Bit 1 - PRBS23A (x^23 + x^18 + 1)\;Bit 2 - PRBS23B (x^23 + x^18 + x^12+ x^6 + 1)\;Bit 3 - PRBS23C (x^23 + x^22 + x^19+ x^18 + 1)\;Bit 4 - PRBS23D (x^23 + x^19 + x^18+ x^11 + 1)\;Bit 5 - PRBS7 (x^7 + x^6 + 1)\;Bit 6 - PRBS11 (x^11 + x^9 + 1)\;Bit 7 - PRBS11A (x^11 + x^10 + x^6+ x^5 + 1)\;Bit 8 - PRBS11B (x^11 + x^9 + x^6+ x^5 + 1)\;Bit 9 - PRBS11C (x^11 + x^8 + x^6+ x^4 + 1)\;Bit 10 - PRBS11D (x^11 + x^7 + x^6+ x^4 + 1)\;Bit 11 - PRBS9 (x^9 + x^5 + 1)\;Bit 12 - IDLE using scramble58 (x^58+ x^39 + 1)\;Bit 13 - Square_wave8 (8 ones, 8 zeros)\;Bit 14 - Square_wave4 (4 ones, 4zeros)\;Bit 15 - Square_wave2 (2 ones, 2zeros)\;Bit 16 - Square_wave1 (one, zero)\;Bit 17 - PRBS13A (x^13 + x^12 + x^2+ x + 1)\;Bit 18 - PRBS13B (x^13 + x^7 + x^3+ x^2 + 1)\;Bit 19 - PRBS13C (x^13 + x^8 + x^4+ x^2 + 1)\;Bit 20 - PRBS13D (x^13 + x^9 + x^5+ x^2 + 1)\;Bit 21- SSPR\;Bit 22- SSPRQ\;Bit 23- LT frames (KR-startup frames)\;Bit 24 - PRBS15 - x^15 + x^14 + 1\;Bit 25 - PRBS28 - x^28 + x^25 + 1\;Bit 26 - Square wave3 (3ones, 3zeros)\;Bit 27 - Square wave13 (13ones, 13zeros)\;Bit 28 - Square wave30 (30ones, 30zeros)\;Bit 29 - PRBS58 (x^58+ x^39 + 1)\;Bit 30 - Default Pattern - Recommended for Mode B links for simplicity\;" access="RO" offset="0x4.0" size="0x4.0" />
	<field name="modulation" descr="Reserved for speeds below 53.125Gb/s (lane_rate_admin &lt; 13):\;0 - NRZ test pattern\;1 - PAM4 encoding [internal] with gray no precoding\;2 - PAM4 with precoding [internal] with gray\;3 - PAM4 without gray no precoding\;" access="RW" offset="0x8.0" size="0x0.4" />
	<field name="otf_ch_cap" descr="When set, On the fly configuration change is supported.\;otherwise, change of any configuration requires PAOS toggle.\;Configurations that are supported when bit is set:\;P ( PRBS polarity)\;SW (MSB &lt;-&gt; LSB swap)\;Prbs_mode_admin (PRBS pattern)\;msb_lsb_cnt\;Ph_p (physical polarity)\;Modulation (precoding, gray and modulation)" access="RO" offset="0x8.15" size="0x0.1" />
	<field name="enc_mode_index" descr="Encoding mode for selecting the PRBS table.\;0x0: Default/legacy table which is the result of And between the NRZ and the PAM4 PRBS tables\;0x1: Use the NRZ table\;0x2: Use the PAM4 table" access="INDEX" offset="0x8.16" size="0x0.3" />
	<field name="primary_secondary_idx" descr="0: primary\;1: secondary \;" access="INDEX" enum="primary=0x0,secondary=0x1" offset="0x8.20" size="0x0.1" />
	<field name="mode_b_idx" descr="0: mode_a - [Internal] Simplex\;1: mode_b - [Internal] Bidirectional\;2: mode_b_loopback - must set this value when configuring a loopback with a Mode B rate [Internal] Bidirectional loopback" access="INDEX" enum="mode_a=0x0,mode_b=0x1,mode_b_loopback=0x2" offset="0x8.22" size="0x0.2" />
	<field name="prbs_mode_admin" descr="See prbs_mode_cap: \;0x0 - PRBS31 (x^31 + x^28 + 1)\;0x1 - PRBS23A (x^23 + x^18 + 1)\;0x2 - PRBS23B (x^23 + x^18 + x^12+ x^6 + 1)\;0x3 - PRBS23C (x^23 + x^22 + x^19+ x^18 + 1)\;0x4 - PRBS23D (x^23 + x^19 + x^18+ x^11 + 1)\;0x5 - PRBS7 (x^7 + x^6 + 1)\;0x6 - PRBS11 (x^11 + x^9 + 1)\;0x7 - PRBS11A (x^11 + x^10 + x^6+ x^5 + 1)\;0x8 - PRBS11B (x^11 + x^9 + x^6+ x^5 + 1)\;0x9 - PRBS11C (x^11 + x^8 + x^6+ x^4 + 1)\;0xA - PRBS11D (x^11 + x^7 + x^6+ x^4 + 1)\;0xB - PRBS9 (x^9 + x^5 + 1)\;0xC - IDLEs using scramble58 (x^58+ x^39 + 1)\;0xD - Square_wave8 (8 ones, 8 zeros)\;0xE - Square_wave4 (4 ones, 4zeros)\;0xF - Square_wave2 (2 ones, 2zeros)\;0x10 - Square_wave1 (one, zero)\;0x11 - PRBS13A (x^13 + x^12 + x^2+ x + 1)\;0x12 - PRBS13B (x^13 + x^7 + x^3+ x^2 + 1)\;0x13 - PRBS13C (x^13 + x^8 + x^4+ x^2 + 1)\;0x14 - PRBS13D (x^13 + x^9 + x^5+ x^2 + 1)\;0x15 - SSPR\;0x16 - SSPRQ\;0x17 - LT frames (KR-startup frames)\;0x18 - PRBS15 - x^15 + x^14 + 1\;0x19 - PRBS28 - x^28 + x^25 + 1\;0x1A - Square wave3 (3ones, 3zeros)\;0x1B - Square wave13 (13ones, 13zeros)\;0x1C - Square wave30 (30ones, 30zeros)\;0x1D - PRBS58 (x^58+ x^39 + 1)\;0x1E - Default Pattern - Recommended for Mode B links for simplicity\;" access="RW" offset="0x8.24" size="0x0.8" />
	<field name="prbs_fec_cap" descr="When set, PRBS over FEC is supported.\;Note: Feature is enabled on all lanes of port" access="RO" offset="0xC.0" size="0x0.1" />
	<field name="lane_rate_cap_ext" descr="An extension for the lane_rate_cap field, providing additional per lane rate capability (bitmask)\;Bit 0 - 172p5G_Mode_B (86.25 Gbd / 172.5 Gb/s)\;\;Note: PCIe speeds are relevant when pnat = 3 only" access="RO" offset="0xC.1" size="0x0.15" />
	<field name="lane_rate_cap" descr="Per lane rate capability (bitmask)\;Bit 0 - 1GE (1.25 Gb/s) / Gen 1 PCIe (2.5 Gb/s)\;Bit 1 - SDR (2.5 Gb/s) / Gen 2 PCIe (5 Gb/s)\;Bit 2 - XAUI/2.5GE (3.125 Gb/s) / Gen 3 PCIe (8 Gb/s)\;Bit 3- DDR (5 Gb/s) / Gen 4 PCIe (16 Gb/s)\;Bit 4- QDR (10 Gb/s) / Gen 5 PCIe (32 Gb/s)\;Bit 5- FDR10 / 10GE/40GE (10.3125 Gb/s) / Gen 5 PCIe (64 Gb/s PAM4, 32Gbd)\;Bit 6- FDR (14.0625 Gb/s) \;Bit 7- EDR / 25GE / 50GE / 100GE (25.78125 Gb/s) \;Bit 8 - 50GE-KR4 (12.89 Gb/s) \;Bit 9 - HDR /50GE / 100GE / 200GE / 400GE (26.5625Gbd / 53.125Gb/s) \;Bit 10 - NDR /xdr_lite_1x /100GE / 200GE / 400GE / 800GE (53.125 Gbd / 106.25Gb/s)\;Bit 11 - XDR / 200G (106.25Gbd / 212.5Gb/s)\;Bit 12 - 180G_Mode_B (90 Gbd / 180 Gb/s)\;Bit 13 - 200G_Mode_B (100 Gbd / 200 Gb/s)\;Bit 14 - 164G_Mode_B (82 Gbd / 164 Gb/s)\;Bit 15: 189G_Mode_B (94.5 Gbd / 189 Gb/s)\;\;Note: PCIe speeds are relevant when pnat = 3 only" access="RO" offset="0xC.16" size="0x0.16" />
	<field name="prbs_fec_admin" descr="When set, PRBS over FEC is enabled for port.\;For FEC configuration, set PPLM.test_mode" access="RW" offset="0x10.0" size="0x0.1" />
	<field name="lane_rate_admin" descr="Lane rate be used in PRBS, see lane_rate_cap:\;0 - SDR (2.5 Gb/s) / Gen 1 PCIe (2.5 Gb/s)\;1 - DDR (5 Gb/s) / Gen 2 PCIe (5 Gb/s)\;2 - QDR (10 Gb/s)\;3 - FDR10 / 10GE/4 0GE (10.3125 Gb/s) / Gen 3 PCIe (8 Gb/s)\;4 - FDR (14.0625 Gb/s) / Gen 4 PCIe (16 Gb/s)\;5 - EDR / 25GE / 50GE / 100GE (25.78125 Gb/s) / Gen 5 PCIe (32 Gb/s)\;6 - HDR /50GE / 100GE / 200GE / 400GE (26.5625Gbd / 53.125Gb/s / Gen 5 PCIe (64 Gb/s PAM4, 32Gbd)\;7 - NDR /xdr_lite_1x /100GE / 200GE / 400GE / 800GE (53.125 Gbd / 106.25Gb/s)\;8 - XDR / 200G (106.25Gbd / 212.5Gb/s)\;9 - 180G_Mode_B (90 Gbd / 180 Gb/s)\;10 - 1GE (1.25 Gb/s)\;11 - XAUI/2.5GE (3.125 Gb/s)\;12 - 50GE-KR4 (12.89 Gb/s)\;13 - 200G_Mode_B (100 Gbd / 200 Gb/s)\;14 - 164G_Mode_B (82 Gbd / 164 Gb/s)\;15 - 189G_Mode_B (94.5 Gbd / 189 Gb/s)\;16 - 172p5G_Mode_B (86.25 Gbd / 172.5 Gb/s)\;\;Note: All lanes must be set to the same rate\;Note: PCIe speeds are relevant when pnat = 3 only" access="RW" offset="0x10.16" size="0x0.16" />
</node>

<node name="ppwcc_ext" descr="" size="0x20.0" >
	<field name="profile_index" descr="Profile Index.\;Range 0...cap_num_pfc_wd_profiles-1" access="INDEX" offset="0x0.0" size="0x0.8" />
	<field name="polling_interval" descr="Polling Interval for PFC WD.\;Every polling_interval, the configured criteria will be checked.\;SPC-2,3,4,5,6 Units of 10mSec.\;SPC-7 Units of 100uSec.\;\;SPC-4,5,6 min value = 50mSec.\;SPC-7 min value = 100uSec\;max value = 500mSec\;\;When polling interval=0, profile is disabled." access="RW" offset="0x0.16" size="0x0.16" />
	<field name="cnt_bitmask" descr="Counters Bitmask.\;every counter that is set, will be checked against its threshold.\;bit0: rx pause duration (described in PPCNT.per_priority_counters)\;bit1: tx_frame (described in PPCNT.per_priority_counters), counter index according to QGCR.\;bit2: transmit_queue (described in PPCNT.Traffic_class)\;bit3: tx_octets (described in PPCNT.per_priority_counters)\;If counter is not set in the bitmask, it&apos;s threshold is reserved.\;tx_frame (bit 1) and tx_octets (bit 3) cannot be used simultaneously (global for the chip and not only per profile)." access="RW" offset="0x4.0" size="0x0.8" />
	<field name="detect_num" descr="Detect Interval Number.\;Range 1...15\;Defines the number of consecutive polling interval that the criteria match before notifying the port is in storm." access="RW" offset="0x4.16" size="0x0.4" />
	<field name="pause_dura_thr" descr="Pause Duration Threshold.\;Used in the equation in the description of the register.\;Units of 1uSec." access="RW" offset="0x10.0" size="0x4.0" />
	<field name="tx_frame_thr" descr="Tx Frame Threshold.\;Used in the equation in the description of the register.\;Units of packets." access="RW" offset="0x14.0" size="0x0.4" />
	<field name="transmit_queue_thr" descr="Transmit Queue Threshold.\;Used in the equation in the description of the register.\;Units of Cells." access="RW" offset="0x18.0" size="0x4.0" />
	<field name="tx_octets_thr" descr="Tx Octets Threshold.\;Used in the equation in the description of the register.\;Units of Bytes." access="RW" offset="0x1C.0" size="0x0.4" />
</node>

<node name="ppwdc_ext" descr="" size="0xc.0" >
	<field name="profile_index" descr="Profile Index.\;Range 0...cap_num_pfc_wd_profiles-1" access="OP" offset="0x0.0" size="0x0.8" />
	<field name="clr" descr="When set counter is cleared." access="INDEX" offset="0x0.31" size="0x0.1" />
	<field name="num_detections" descr="Number of detections.\;detection means that port.tc is in storm. if multiple TCs on the same port, it is counted as multiple detections.\;This counter will not wrap around - stop at 0xFFFF_FFFF" access="RO" offset="0x8.0" size="0x4.0" />
</node>

<node name="ppwe_ext" descr="" size="0xc.0" >
	<field name="num_rec" descr="Number of valid records.\;Each valid record describe a port and which tclasses in this ports are in storm condition.\;On write - filled by user.\;On query - filled by FW." access="RO" offset="0x0.0" size="0x0.12" />
	<field name="record" descr="Table 2451" subnode="ppwpt_pfc_wd_record_ext" access="RW" high_bound="VARIABLE" low_bound="0" offset="0x8.0" size="0x4.0" />
</node>

<node name="ppwpt_ext" descr="" size="0x410.0" >
	<field name="profile_index" descr="Profile Index.\;Range 0...cap_num_pfc_wd_profiles-1" access="INDEX" offset="0x0.0" size="0x0.8" />
	<field name="num_records" descr="Number of Records.\;Indicate the number of valid records in record[] array\;Range 1...256" access="RW" offset="0x4.0" size="0x0.9" />
	<field name="cmd" descr="Command.\;0: set - define which port,tc to monitor (overwrite current configuration). when port,tc=1 it will be monitored, when port,tc=0 it will not be monitored.\;1: update - add selected port,tc to monitoring flow.\;2: clear - stop monitor selected port,tc.\;\;Reserved when method=query." access="OP" enum="set=0x0,update=0x1,clear=0x2" offset="0x4.16" size="0x0.2" />
	<field name="pfc_wd_record" descr="Record List.\;Table 2451\;On write - User will provide local_port and it&apos;s tc_bitmask per record.\;On query - not all ports can be reported in single query:\;User will provide the first local port to read it&apos;s status in record[0]. \;FW will write the next monitored local_port in record[1] and on (record[2], record[3]...record[256]). \;If in the response num_rec == 256, User will send another query while setting in record[0] the next port index that was reported in record[256] on the last response. \;When num_req &lt; 256, all the ports from the selected profile reported - query is done." subnode="ppwpt_pfc_wd_record_ext" access="RW" high_bound="255" low_bound="0" offset="0x10.0" size="0x400.0" />
</node>

<node name="ppwpt_pfc_wd_record_ext" descr="" size="0x4.0" >
	<field name="tc_bitmask" descr="Tclass Bitmask.\;On write - monitor/not_monitor according to cmd field\;On read - return the status per port.tc (1 - monitored, 0 - not monitored)\;Control TC is not supported." access="RW" offset="0x0.0" size="0x0.16" />
	<field name="local_port" descr="Local Port" access="RW" offset="0x0.16" size="0x0.16" />
</node>

<node name="prbt_ext" descr="" size="0x14.0" >
	<field name="rif" descr="Router Interface Index - a pointer to the Router Interface Table.\;Range is 0.. cap_max_router_interfaces-1" access="INDEX" offset="0x0.0" size="0x0.16" />
	<field name="op" descr="0: Bind ACL to Routing Interface\;1: Unbind ACL from Routing Interface (default)" access="RW" offset="0x0.28" size="0x0.3" />
	<field name="e" descr="0: iACL\;1: eACL" access="INDEX" enum="iACL=0x0,eACL=0x1" offset="0x0.31" size="0x0.1" />
	<field name="acl_id_group_id" descr="When g=0:\;ACL identifier (acl_id)\;Range of acl id is 0..cap_max_acl_regions-1\;When g=1:\;ACL group identifier (acl_group_id) or ACL group element (acl_group_element).\;For ACL group identifier, range of group id is 0..cap_max_acl_groups-1.\;For ACL group element, range of group element is 0..cap_max_acl_tot_groups-1." access="RW" offset="0x10.0" size="0x0.16" />
	<field name="g" descr="group\;0: bind an ACL\;1: bind an ACL group\;Must be set to 1 for Spectrum family" access="RW" offset="0x10.31" size="0x0.1" />
</node>

<node name="prcr_ext" descr="" size="0x40.0" >
	<field name="offset" descr="Offset within the source region to copy/move from" access="INDEX" offset="0x0.0" size="0x0.16" />
	<field name="op" descr="Operation:\;0: Move rules\;1: Copy rules \;Move/Copy the rules from tcan_region_info starting at offset offset to dest_tcam_region_info at offset dest_offset." access="OP" offset="0x0.28" size="0x0.4" />
	<field name="size" descr="The number of rules to copy/move" access="OP" offset="0x4.0" size="0x0.16" />
	<field name="tcam_region_info" descr="Opaque object that represents the source TCAM region." access="INDEX" high_bound="3" low_bound="0" offset="0x10.0" size="0x10.0" />
	<field name="dest_offset" descr="Offset within the destination region to copy/move to" access="INDEX" offset="0x20.0" size="0x0.16" />
	<field name="dest_tcam_region_info" descr="Opaque object that represents the destination TCAM region.\;See Section 11.10.16, &quot;PTAR - Policy-Engine TCAM Allocation Register&quot;, on page 3807." access="INDEX" high_bound="3" low_bound="0" offset="0x30.0" size="0x10.0" />
</node>

<node name="prei_reg_28nm_ext" descr="" size="0x8.0" >
	<field name="mixer_offset1" descr="eye centering control.\;may cause link degradation when set." access="RW" offset="0x0.0" size="0x0.16" />
	<field name="mixer_offset0" descr="eye centering control.\;may cause link degradation when set." access="RW" offset="0x0.16" size="0x0.16" />
</node>

<node name="prei_reg_ext" descr="" size="0x18.0" >
	<field name="status" descr="Error injection status:\;     0x0 -Good status \;     0x2 - No available sources for Error injection \;     0x3 - Error injection configuration when port is in non operational state (port is neither in UP or TEST MODE)" access="RO" offset="0x0.0" size="0x0.4" />
	<field name="time_res" descr="0: 10ms" access="OP" offset="0x0.4" size="0x0.2" />
	<field name="plane_ind" descr="Reserved for non-planarized port.\;Plane port index of the aggregated port. A value of 0 refers to the aggregated port only." access="INDEX" offset="0x0.8" size="0x0.4" />
	<field name="lp_msb" descr="Local port number [9:8]" access="INDEX" offset="0x0.12" size="0x0.2" />
	<field name="pnat" descr="Port number access type. \;0 - Local port number\;1 - IB port number" access="INDEX" offset="0x0.14" size="0x0.2" />
	<field name="local_port" descr="Local port number." access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="version" descr="1 - 28nm products\;3 - 16nm products" access="RO" offset="0x0.24" size="0x0.4" />
	<field name="lm_cap" descr="When set , lane_mask field is applicable" access="RO" offset="0x0.30" size="0x0.1" />
	<field name="mps" descr="[DWIP]\;Multiple Port Set.\;Supported only if indicated in PMSCR.prm_support of PREI support, otherwise ignored.\;When set, local_port index is ignored and set command is given to all ports in mask given from PMSCR.local_port_mask field" access="INDEX" offset="0x0.31" size="0x0.1" />
	<field name="error_type_admin" descr="Error Type to generate:\;0: No_Error ---- Physical Errors ---- \;Bit 0: mixer_offset_ctrl_set\;Bit 5: serdes_rx_reset" access="RW" enum="mixer_offset_ctrl_set=0x1,serdes_rx_reset=0x20" offset="0x4.0" size="0x0.8" />
	<field name="error_type_cap" descr="Error injection capabilities:\;Bit 0: mixer_offset_ctrl\;Bit 5: serdes_rx_reset" access="RO" enum="mixer_offset_ctrl=0x1,serdes_rx_reset=0x20" offset="0x4.8" size="0x0.8" />
	<field name="error_type_oper" descr="Error injection operational status:\; 0x0 - No error injection \; 0x1 - Performing error injection" access="RO" offset="0x4.24" size="0x0.4" />
	<field name="lane_mask" descr="Valid only if lm_cap is set, otherwise ignored\;Sets the specific lanes to be applied from the error_type_admin that was selected.\;Relevant for error types that can be per lane: rx_reset.\;Bitmask per lane." access="RW" offset="0x8.0" size="0x0.8" />
	<field name="error_injection_time" descr="Duration in time_res the port will generate errors. Reading this field will return the time left for errors to inject in msec.\;0x0000 indicates no generation of errors. \;0xFFFF - No decremental operation, meaning the errors will be injected continuously without stop condition. \;" access="RW" offset="0x8.12" size="0x0.16" />
	<field name="page_data" descr="Table  1800, &quot;PREI - Port Receive Error Injection Register Layout for 28nm,&quot; on page  2393" subnode="prei_reg_28nm_ext" access="RW" offset="0x10.0" size="0x8.0" />
</node>

<node name="prm_register_payload_ext" descr="" size="0x104.0" >
	<field name="register_id" descr="Register ID" access="INDEX" offset="0x0.0" size="0x0.16" />
	<field name="method" descr="0: Query\;1: Write" access="OP" offset="0x0.22" size="0x0.2" />
	<field name="status" descr="Return code of the Downstream Device to the register that was sent.\;0x0: OK - Operation was successfully executed\;0x1: BUSY \;0x4: NOT_SUPP_REG - The Switch register requested is not supported on that device\;0x7: BAD_PARAM - Incomplete or erroneous parameter set\;0x70: INTERNAL_ERR - Internal error" access="RO" offset="0x0.24" size="0x0.8" />
	<field name="register_data" descr="Register data" access="RW" high_bound="63" low_bound="0" offset="0x4.0" size="0x100.0" />
</node>

<node name="prtl_reg_ext" descr="" size="0x20.0" >
	<field name="plane_ind" descr="Reserved for non-planarized port.\;Plane port index of the aggregated port. A value of 0 refers to the aggregated port only." access="INDEX" offset="0x0.8" size="0x0.4" />
	<field name="lp_msb" descr="Local port number [9:8]" access="INDEX" offset="0x0.12" size="0x0.2" />
	<field name="pnat" descr="Port number access type. determines the way local_port is interpreted:\;0: Local_port_number\;1: IB_port_number\;3: Out_of_band" access="INDEX" enum="Local_port_number=0x0,IB_port_number=0x1,Out_of_band=0x3" offset="0x0.14" size="0x0.2" />
	<field name="local_port" descr="Local port number [7:0]" access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="rtt_support" descr="Support of RTT measurement" access="RO" offset="0x0.31" size="0x0.1" />
	<field name="latency_accuracy" descr="Latency measurement accuracy (i,e. max error size). \;accuracy is relative to specific device implementation. \;This field returns the accuracy in nsec resolution. \;" access="RO" offset="0x4.0" size="0x0.8" />
	<field name="latency_res" descr="Latency resolution in nsec of round_trip_latency \;\;" access="RO" offset="0x4.16" size="0x0.4" />
	<field name="local_phy_latency" descr="Shall be 0 if not implemented (rtt_support = 0). \;This value represents the intra-ASIC pipeline latency of the physical layer. It is an unsigned 16-bit integer in nsec." access="RO" offset="0x8.0" size="0x0.16" />
	<field name="local_mod_dp_latency" descr="Shall be 0 if not implemented (rtt_support = 0), if the module is not plugged in or if the information is not available on the plugged module. \;This value represents the module&apos;s Datapath pipeline latency.It It is an unsigned 16-bit integer in nsec." access="RO" offset="0xC.0" size="0x0.16" />
	<field name="round_trip_latency" descr="Shall be 0 if not implemented (rtt_support = 0). \;This value represents a measurement of the round-trip latency of the link attached to this port. \;It is an unsigned 24-bit integer counting latency_res nsec. \;intervals. \;This value might not be accurate to better than +/- latency_accuracy nsec. \;A value of 0 is valid when implemented, and indicates a latency of up to latency_accuracy nsec. \;round_trip_latency is reset to 0xFFFFFF whenever this port transitions to PAOS.Oper_status = Down." access="RO" offset="0x10.0" size="0x0.24" />
</node>

<node name="prtsr_ext" descr="" size="0x10.0" >
	<field name="lp_msb" descr="Local port number [9:8]" access="INDEX" offset="0x0.12" size="0x0.2" />
	<field name="local_port" descr="Local port number" access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="gl" descr="Global:\;0: per port\;1: global, all ports\;When reading and gl=1, read from local_port &apos;1&apos;" access="INDEX" offset="0x0.28" size="0x0.1" />
	<field name="prio_bitmask" descr="Prio bitmask\;When IB: VLs\;When read: only 1 bit must be set\;When IB: valid bits: 0..7" access="RW" offset="0x4.0" size="0x0.16" />
	<field name="ts" descr="Transmit Suspend:\;0: Off (transmit enabled)\;1: On (transmit suspended)\;2: Cycle_Based \;3: Pulse_based" access="RW" offset="0x8.0" size="0x0.2" />
	<field name="cycle_time" descr="Cycle time for cycle based ts, reserved when ts != 2\;Cycle time will be 2^cycle_time*clk_time\;clk_time (nSec) = 1000/QUERY_FW.core_clk (Mhz)" access="RW" offset="0xC.0" size="0x0.6" />
</node>

<node name="pspa_reg_ext" descr="" size="0x8.0" >
	<field name="lp_msb" descr="Local port number [9:8]" access="INDEX" offset="0x0.0" size="0x0.2" />
	<field name="local_port" descr="Local port number." access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="swid" descr="Switch partition ID with which to associate {port, sub_port}.\;Switch partitions are numbered from 0 to 7 inclusively.\;Switch partition 254 indicates stacking port.\;Switch partition 255 indicates a disabled port." access="RW" offset="0x0.24" size="0x0.8" />
</node>

<node name="ptar_ext" descr="" size="0x30.0" >
	<field name="key_type" descr="TCAM key type for the region.\;See Table 2624, &quot;ACL Keys Summary,&quot; on page 3392 for list of supported key types.\;\;" access="WO" offset="0x0.0" size="0x0.8" />
	<field name="action_set_type" descr="Type of action set to be used on this region.\;For Spectrum family: always &apos;2&apos; Flexible Action Set" access="WO" offset="0x0.16" size="0x0.8" />
	<field name="e" descr="Egress\;0: egress ACL\;1: ingress ACL\;Reserved for Spectrum family since direction is not relevant for allocation." access="WO" offset="0x0.27" size="0x0.1" />
	<field name="op" descr="For Write operation\;0: ALLOCATE a TCAM region\;1: RESIZE a TCAM region\;2: DEALLOACTE TCAM region\;3: TEST allocation\;The RESIZE and TEST have no significance for the A-TCAM which does not need to allocate a region size\;" access="RW" offset="0x0.28" size="0x0.4" />
	<field name="region_size" descr="TCAM region size. \;For op = ALLOCATE or op = RESIZE or op = TEST: this field is set by SW and the device returns the actual allocated size.\;Note that actual size may be larger than requested.\;Allowed range 1 .. cap_max_rules-1\;Reserved when op = DEALLOCATE\;For Spectrum-2: The region_size is relevant only for C-TCAM. Value of 0 is for no C-TCAM." access="RW" offset="0x4.0" size="0x0.16" />
	<field name="stateful_db_region" descr="0 - regular ACL\;1 - stateful ACL region\;" access="RW" offset="0x4.31" size="0x0.1" />
	<field name="region_id" descr="Region identifier\;Range 0 .. cap_max_regions-1" access="INDEX" offset="0x8.0" size="0x0.16" />
	<field name="packet_rate" descr="TCAM region expected packet rate performance.\;Granularity is of 5%\;Reserved when Spectrum-2\;\;" access="WO" offset="0xC.0" size="0x0.5" />
	<field name="op_type" descr="Optimization Type\;0: No optimization\;1: Soft optimization\;2: Hard optimization\;Reserved when op is 1 RESIZE and previous size is not 0 or when op is 2 (DEALLOACTE TCAM) or when op is 3 (TEST)\;\;\;\;\;" access="WO" offset="0xC.8" size="0x0.2" />
	<field name="ctcam_dup" descr="C-TCAM duplication:\;0: dup 1\;1: dup 2\;2: dup 4\;This field controls duplication according to op_type\;Reserved when op_type = 0\;Reserved when Spectrum" access="WO" offset="0xC.12" size="0x0.3" />
	<field name="tcam_region_info" descr="Opaque object that represents the TCAM region.\;For op = ALLOCATE: returned by the device.\;For op = RESIZE or op = DEALLOCATE: provided as input to the device.\;" access="RW" high_bound="3" low_bound="0" offset="0x10.0" size="0x10.0" />
	<field name="flexible_key_id" descr="Identifier of the Flexible Key. \;For Spectrum: only valid if (key_type = FLEX_KEY) \;For Spectrum-2: only valid if (key_type = FLEX_KEY2)\;See Table 3226, &quot;flexible key Layout,&quot; on page 3810\;For Spectrum and for C-TCAM: The key size will be rounded up to one of the following values: 32B, 64B, 96B (2, 4 or 6 key blocks)\;For Spectrum-2 A-TCAM: The key size will be rounded up to one of the following values: 16B, 32B, 64B, 96B (2, 4, 8 or 12 key blocks)\;Reserved when op = RESIZE or op = DEALLOCATE\;\;" subnode="flexible_key_ext" access="WO" offset="0x20.0" size="0x10.0" />
</node>

<node name="ptasv2_3nm_ext" descr="" size="0x30.0" >
	<field name="lane0_seed_prbs31" descr="PRBS31 training sequence seed for lane 0." access="RW" offset="0x0.0" size="0x0.31" />
	<field name="lane1_seed_prbs31" descr="PRBS31 training sequence seed for lane 1." access="RW" offset="0x4.0" size="0x0.31" />
	<field name="lane2_seed_prbs31" descr="PRBS31 training sequence seed for lane 2." access="RW" offset="0x8.0" size="0x0.31" />
	<field name="lane3_seed_prbs31" descr="PRBS31 training sequence seed for lane 3." access="RW" offset="0xC.0" size="0x0.31" />
	<field name="lane4_seed_prbs31" descr="PRBS31 training sequence seed for lane 4." access="RW" offset="0x10.0" size="0x0.31" />
	<field name="lane5_seed_prbs31" descr="PRBS31 training sequence seed for lane 5." access="RW" offset="0x14.0" size="0x0.31" />
	<field name="lane6_seed_prbs31" descr="PRBS31 training sequence seed for lane 6." access="RW" offset="0x18.0" size="0x0.31" />
	<field name="lane7_seed_prbs31" descr="PRBS31 training sequence seed for lane 7." access="RW" offset="0x1C.0" size="0x0.31" />
	<field name="lane1_seed_prbs13" descr="PRBS13 training sequence seed for lane 1." access="RW" offset="0x20.0" size="0x0.13" />
	<field name="lane0_seed_prbs13" descr="PRBS13 training sequence seed for lane 0." access="RW" offset="0x20.16" size="0x0.13" />
	<field name="lane3_seed_prbs13" descr="PRBS13 training sequence seed for lane 3." access="RW" offset="0x24.0" size="0x0.13" />
	<field name="lane2_seed_prbs13" descr="PRBS13 training sequence seed for lane 2." access="RW" offset="0x24.16" size="0x0.13" />
	<field name="lane5_seed_prbs13" descr="PRBS13 training sequence seed for lane 5." access="RW" offset="0x28.0" size="0x0.13" />
	<field name="lane4_seed_prbs13" descr="PRBS13 training sequence seed for lane 4." access="RW" offset="0x28.16" size="0x0.13" />
	<field name="lane7_seed_prbs13" descr="PRBS13 training sequence seed for lane 7." access="RW" offset="0x2C.0" size="0x0.13" />
	<field name="lane6_seed_prbs13" descr="PRBS13 training sequence seed for lane 6." access="RW" offset="0x2C.16" size="0x0.13" />
</node>

<node name="ptasv2_7nm_ext" descr="" size="0x40.0" >
	<field name="max_recovery_events" descr="System parameter\;0: Disable. Default\;1:255: maximum allowed number of transitions into the RECOVERY state in the Training control state diagram" access="RW" offset="0x10.0" size="0x0.8" />
	<field name="lt_ext_neg_type" descr="affects negotiation type for lt_ext fields: iter_time_admin, num_of_iter_admin, prbs_type_admin, lt_ext_timeout_admin, ber_target_admin\;0: neg_agreed_function - oper fields will be applied by agreed function of negotiation\;1: force_params_to_peer - negotiation will force peer side to choose the local parameters. if both sides try to force parameters, agreed function will be applied\;2: ignore_neg - set support in negotiation to 0 and set local config to HW. this bit may result in an asymmetrical training between sides. Applicable only for hybrid lt ext only" access="RW" offset="0x10.16" size="0x0.2" />
	<field name="kr_extra_tune_fine_srch_cap" descr="When set, kr_extra_tune_fine_srch_en is supported" access="RO" offset="0x10.26" size="0x0.1" />
	<field name="ber_cnt_mlsd_dis_cap" descr="When set, ber_cnt_mlsd_dis is supported." access="RO" offset="0x10.27" size="0x0.1" />
	<field name="ber_target_cap" descr="When set, ber_target_coef_admin/oper and ber_target_magnitude_admin/oper are supported" access="RO" offset="0x10.28" size="0x0.1" />
	<field name="lt_ext_timeout_cap" descr="When set, lt_ext_timeout_admin/oper is supported" access="RO" offset="0x10.29" size="0x0.1" />
	<field name="prbs_type_cap" descr="When set, prbs_type_admin/oper is supported" access="RO" offset="0x10.30" size="0x0.1" />
	<field name="iterations_cap" descr="When set, iter_time_admin/oper and num_of_iter_admin/oper are supported" access="RO" offset="0x10.31" size="0x0.1" />
	<field name="lt_ext_timeout_admin" descr="requested value of The maximum time that the transmitter can transmit the requested PRBS type.\;\;Minimum required 60 secs. Granularity 1 sec\;\;Note that: transmitted iterations x transmitted iteration time + 10 msec, shall be less or equal to Maximum extended link training time." access="RW" offset="0x14.0" size="0x0.8" />
	<field name="prbs_type_admin" descr="0: PRBS_13\;1: PRBS_31" access="RW" offset="0x14.8" size="0x0.2" />
	<field name="ber_cnt_mlsd_dis" descr="When set, Disables mlsd during ber count" access="RW" offset="0x14.10" size="0x0.1" />
	<field name="kr_extra_tune_fine_srch_en" descr="When set, Enables fine search algorithm" access="RW" offset="0x14.11" size="0x0.1" />
	<field name="num_of_iter_admin" descr="requested value of The number of required iterations. This parameter is required only for Async mode.\;\;The range is 1 to 16." access="RW" offset="0x14.16" size="0x0.4" />
	<field name="iter_time_admin" descr="requested value of the time that each iteration will use. An iteration is defined as a the time of the BER measurement that comes after the equalization.\;\;10 msec granularity." access="RW" offset="0x14.22" size="0x0.10" />
	<field name="ber_target_coef_admin" descr="requested value of BER target value.\;exit condition if BER target is met prior to end of all iterations, finish the algorithm\;BER_target = ber_target_coef *10^(-ber_target_magnitude)" access="RW" offset="0x18.0" size="0x0.4" />
	<field name="ber_target_magnitude_admin" descr="requested value of BER target value.\;exit condition if BER target is met prior to end of all iterations, finish the algorithm\;BER_target = ber_target_coef *10^(-ber_target_magnitude)" access="RW" offset="0x18.8" size="0x0.8" />
	<field name="lt_ext_timeout_oper" descr="operational value of The maximum time that the transmitter can transmit the requested PRBS type.\;\;Minimum required 60 secs. Granularity 1 sec\;\;Note that: transmitted iterations x transmitted iteration time + 10 msec, shall be less or equal to Maximum extended link training time." access="RO" offset="0x1C.0" size="0x0.8" />
	<field name="prbs_type_oper" descr="operational value of prbs type\;0: PRBS_13\;1: PRBS_31" access="RO" offset="0x1C.8" size="0x0.2" />
	<field name="num_of_iter_oper" descr="operational value of The number of required iterations. This parameter is required only for Async mode.\;\;The range is 1 to 16." access="RO" offset="0x1C.16" size="0x0.4" />
	<field name="iter_time_oper" descr="operational value of the time that each iteration will use. An iteration is defined as a the time of the BER measurement that comes after the equalization.\;10 msec granularity." access="RO" offset="0x1C.22" size="0x0.10" />
	<field name="ber_target_coef_oper" descr="operational value of BER target value.\;exit condition if BER target is met prior to end of all iterations, finish the algorithm\;BER_target = ber_target_coef *10^(-ber_target_magnitude)" access="RO" offset="0x20.0" size="0x0.4" />
	<field name="ber_target_magnitude_oper" descr="operational value of BER target value.\;exit condition if BER target is met prior to end of all iterations, finish the algorithm\;BER_target = ber_target_coef *10^(-ber_target_magnitude)" access="RO" offset="0x20.8" size="0x0.8" />
	<field name="max_wait_timer" descr="Maximum time to perform link training in 802.3dj in seconds. System parameter.\;0: Not limited\;Default: 30 for electrical interfaces, 60 for optical interfaces" access="RW" offset="0x2C.0" size="0x0.16" />
	<field name="apsu_cap" descr="APSU (ILT/RTS) capability supported" access="RO" offset="0x34.0" size="0x0.1" />
	<field name="hop_count_cap" descr="Hop count for TRO capability supported" access="RO" offset="0x34.3" size="0x0.1" />
	<field name="lt_peer_det_cap" descr="Link training based peer vendor and configuration detection capability supported" access="RO" offset="0x34.6" size="0x0.1" />
	<field name="nlut_cap" descr="nLUT training capability supported" access="RO" offset="0x34.9" size="0x0.1" />
	<field name="training_en_cap" descr="Disable training option capability. \;Note that when disabled the ASPU protocol is still active but without link training frames." access="RW" offset="0x34.12" size="0x0.1" />
	<field name="fec_measure_cap" descr="Set to 1 if fec measure cap feature is supported and\;fec_measure_retry_count, max_fec_measure_retry_count, fec_measure_time, fec_measure_en, fec_measure_fail_policy are valid." access="RO" offset="0x34.13" size="0x0.1" />
	<field name="max_fec_measure_retry_count" descr="Defines the maximum retry iteration to measure FEC.\;If retry counter exceeds the limit, link will continue to up with latest result of LT\;0: FW default" access="RW" offset="0x34.16" size="0x0.4" />
	<field name="fec_measure_retry_count" descr="Counts the number of itteration fec was measured until link is up.\;Clears on new cycle of measurements per linkup.\;" access="RO" offset="0x34.24" size="0x0.4" />
	<field name="restart_training" descr="Set to restart APSU" access="WO" offset="0x34.31" size="0x0.1" />
	<field name="apsu_ctl" descr="Control the APSU (ILT/RTS) activation if apsu_cap = 1\;0: Use FW default. Default\;1: Enable\;2: Disable" access="RW" offset="0x38.0" size="0x0.2" />
	<field name="hop_count_ctl" descr="Control the hop count for TRO activation if hop_count_cap = 1\;0: Use FW default. Default\;1: Enable\;2: Disable" access="RW" offset="0x38.3" size="0x0.2" />
	<field name="lt_peer_det_ctl" descr="Control the Link Training peer detection activation if lt_peer_det_cap = 1\;0: Use FW default. Default\;1: Enable\;2: Disable" access="RW" offset="0x38.6" size="0x0.2" />
	<field name="nlut_ctl" descr="Control the nLUT activation if nlut_cap = 1\;0: Use FW default. Default\;1: Enable\;2: Disable" access="RW" offset="0x38.9" size="0x0.2" />
	<field name="training_en_ctl" descr="Control the training_en configuration if training_en_cap = 1\;0: Use FW default. Default\;1: Enable training\;2: Disable training" access="RW" offset="0x38.12" size="0x0.2" />
	<field name="fec_measure_time" descr="0: FW_default\;1-1023 - Sets in 10ms granularity the FEC measure time" access="RW" offset="0x38.16" size="0x0.10" />
	<field name="fec_measure_en" descr="0: FW_default\;1: Enable_fec_measure_after_lt\;2: Disable_fec_measure_after_lt" access="RW" enum="FW_default=0x0,Enable_fec_measure_after_lt=0x1,Disable_fec_measure_after_lt=0x2" offset="0x38.30" size="0x0.2" />
	<field name="fec_measure_force_neg" descr="0: neg_agreed_function - oper fields will be applied by agreedfunction of negotiation\;1: force_params_to_peer - negotiation will force peer side tochoose the local parameters. if both sides try to forceparameters, agreed function will be applied\;2: ignore_neg - set support in negotiation to 0 and set localconfig to HW. this bit may result in an asymmetrical training\;between sides." access="RW" offset="0x3C.0" size="0x0.2" />
	<field name="max_fec_measure_retry_count_oper" descr="agreed negotiation for maximum retry iteration to measure FEC.\;If retry counter exceeds the limit, link will continue to up with latest result of LT" access="RO" offset="0x3C.4" size="0x0.4" />
	<field name="fec_measure_fail_action" descr="0 - FW default\;1 - link up after after max retry expired\;2 - go to polling\;3 - go to disable only." access="RW" offset="0x3C.10" size="0x0.2" />
	<field name="fec_measure_fail_action_oper" descr="1 - link up after after max retry expired\;2 - go to polling\;3 - go to disable only." access="RO" offset="0x3C.13" size="0x0.2" />
	<field name="fec_measure_time_oper" descr="agreed operational fec measurement time.\;0: not_supported\;1-1023 - Sets in 10ms granularity the FEC measure time" access="RO" offset="0x3C.16" size="0x0.10" />
	<field name="fec_measure_oper" descr="0: fec_measure_disabled\;1: fec_measure_enabled" access="RO" offset="0x3C.30" size="0x0.1" />
</node>

<node name="ptasv2_reg_ext" descr="" size="0x48.0" >
	<field name="xdr_lt_cap" descr="XDR LT capability.\;When set, xdr_lt_c2m_en and xdr_lt_c2c_en control is possible." access="RO" offset="0x0.4" size="0x0.1" />
	<field name="ib_cfg_delaytimeout_cap" descr="Configuration of DelayTimeOut capability.\;When set ib_cfg_delaytimeout control is possible.\;\;[Note: This feature is currently available only for HDR switch]" access="RO" offset="0x0.10" size="0x0.1" />
	<field name="lp_msb" descr="Local port number [9:8]" access="INDEX" offset="0x0.12" size="0x0.2" />
	<field name="pnat" descr="Port number access type.\;0 - Local port number\;1 - IB port number" access="INDEX" offset="0x0.14" size="0x0.2" />
	<field name="local_port" descr="Local port number." access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="version" descr="0: products_40nm\;1: products_28nm\;4: products_7nm\;5: products_5nm\;6: products_3nm" access="RO" enum="products_7nm=0x4,products_5nm=0x5,products_3nm=0x6" offset="0x0.24" size="0x0.4" />
	<field name="xdr_lt_c2c_en" descr="LT for C2C channel Vs peer XDR speeds (200G per lane)\;0 - Auto (FW default)\;1 - skip LT flow\;2 - do LT flow\;This bit will affect requested lt_xdr negotiation vs peer." access="RW" offset="0x4.0" size="0x0.2" />
	<field name="xdr_lt_c2m_en" descr="LT for C2M channel Vs Module XDR speeds (200G per lane)\;0 - Auto (FW default)\;1 - skip LT flow\;2 - do segmented LT flow" access="RW" offset="0x4.2" size="0x0.2" />
	<field name="lf_squelch_pol_cap" descr="When set, lf_squelch_pol_admin is configurable" access="RO" offset="0x4.12" size="0x0.1" />
	<field name="lf_squelch_pol_admin" descr="Defines behavior of ETH phy FSM on LF event (Rx fault)\;0: FW default\;1: Disable_Tx_squelch - keep Tx transmitting, no Tx Squelch\;2: Enable_Tx_squelch - Toggle Tx and module DP (if exists)" access="RW" offset="0x4.13" size="0x0.2" />
	<field name="kr_ext_oper" descr="Updated only after LT phase was performed.\;0: lt_is_disabled\;1: lt_enabled_regular_kr\;2: lt_enabled_ext_kr_async_mode" access="RO" offset="0x4.24" size="0x0.2" />
	<field name="kr_ext_req" descr="Extended KR request:\;\;0: Auto - (FW default)\;1: Disable_kr_ext\;2: Enable_kr_ext_in_async_mode\;\;While the KR extended is enabled- nonstandard KR training will occur. This will include pause periods between sending the KR frames and sending the PRBS pattern instead (to support BER grade calculations)" access="RW" enum="Disable_kr_ext=0x1,Enable_kr_ext_in_async_mode=0x2" offset="0x4.29" size="0x0.2" />
	<field name="kr_ext_cap" descr="Extended KR capability. Will return support for a nonstandard KR training flow (as explained in the fields below)." access="RO" offset="0x4.31" size="0x0.1" />
	<field name="page_data" descr="Table  1948, &quot;PTASv2 - Phy Tuning Algorithm Settings Register Layout for 7nm and 5nm,&quot; on page  2577\;Table  1954, &quot;PTASv2 - Phy Tuning Algorithm Settings Register Layout for 3nm,&quot; on page  2588" subnode="ptasv2_reg_page_data_auto_ext" access="RW" condition="$(parent).version" offset="0x8.0" size="0x40.0" />
</node>

<node name="ptasv2_reg_page_data_auto_ext" descr="" attr_is_union="1" is_conditional="1" size="0x40.0" >
	<field name="ptasv2_3nm_ext" descr="" subnode="ptasv2_3nm_ext" condition="($(parent).version == products_3nm)" offset="0x0.0" size="0x30.0" />
	<field name="ptasv2_7nm_ext" descr="" subnode="ptasv2_7nm_ext" condition="($(parent).version == products_7nm) | ($(parent).version == products_5nm)" offset="0x0.0" size="0x40.0" />
</node>

<node name="ptce_v2_ext" descr="" size="0x188.0" >
	<field name="offset" descr="Offset within the region to which to write." access="INDEX" offset="0x0.0" size="0x0.16" />
	<field name="op" descr="Operation\;For Write:\;0: WRITE operation. Used to write a new entry to the table. All\;R/W fields are relevant for new entry. Activity bit is set for new\;entries - Note write with v = 0 will delete the entry\;1: UPDATE action. Only flexible_action_set and priority will be\;updated.\;2: CLEAR activity. Activity bit is cleared for the entry3: WRITE_CLEAR. Does WRITE with CLEAR activity For Query:\;0: READ operation.\;1: CLEAR_ON_READ on read operation. Used to read entry and\;clear Activity bit." access="RW" offset="0x0.20" size="0x0.3" />
	<field name="a" descr="Activity. Set if a packet lookup has hit on the specific entry.\;To clear the a bit, use &quot;clear activity&quot; op or &quot;clear on read&quot; operation\;Reserved when Spectrum-2" access="RO" offset="0x0.30" size="0x0.1" />
	<field name="v" descr="Valid." access="RW" offset="0x0.31" size="0x0.1" />
	<field name="priority" descr="Priority of the rule, higher values win\;For Spectrum-2 range is 1.. cap_kvd_size-1\;Note: priority does not have to be unique per rule\;Within a region, higher priority should have lower offset (no limitation between regions in a multi-ACL)\;Reserved when Spectrum-1" access="RW" offset="0x4.0" size="0x0.24" />
	<field name="tcam_region_info" descr="Opaque object that represents the TCAM region." access="INDEX" high_bound="3" low_bound="0" offset="0x10.0" size="0x10.0" />
	<field name="flex_key_blocks" descr="ACL Keys\;For Spectrum: Flex keys, see Section 11.6.1, &quot;Flexible ACL Key Blocks Layout&quot;, on page 3429\;For Spectrum-2: Flex2 keys, see Section 11.7.1, &quot;Flex2 ACL Key Blocks Layout&quot;, on page 3497" access="RW" high_bound="23" low_bound="0" offset="0x20.0" size="0x60.0" />
	<field name="mask" descr="Mask, at the same size as key. per bit:\;0: TCAM will ignore the bit in key\;1: TCAM will compare the bit in key" access="RW" high_bound="23" low_bound="0" offset="0x80.0" size="0x60.0" />
	<field name="flexible_action_set" descr="See Table 3083, &quot;Flexible Action Set Layout,&quot; on page 3691\;Spectrum-2: the flexible_action_set must be all NULL with a next_action_set_ptr" subnode="flexible_action_set_ext" access="RW" offset="0xE0.0" size="0xa8.0" />
</node>

<node name="ptce_v3_ext" descr="" size="0xa4.0" >
	<field name="dup" descr="Insert the rule on duplicated regions\;0: 1 duplication\;1..16: dup duplications \;(values of 0 and 1 have the same meaning)" access="WO" offset="0x0.0" size="0x0.5" />
	<field name="op" descr="Operation\;For Write:\;0: WRITE operation. Used to write a new entry to the table. All R/W fields are relevant for new entry. Activity bit is set for new entries - Note write with v = 0 will delete the entry\;Note: WRITE must not be used if an entry exists!!! 1: UPDATE an existing rule. \;\;\;For Query:\;0: READ operation.\;" access="OP" offset="0x0.20" size="0x0.3" />
	<field name="v" descr="Valid" access="RW" offset="0x0.31" size="0x0.1" />
	<field name="priority" descr="Priority of the rule, higher values win\;The range is 1.. cap_kvd_size-1\;Note: priority does not have to be unique per rule" access="RW" offset="0x4.0" size="0x0.24" />
	<field name="tcam_region_info" descr="Opaque object that represents the TCAM region." access="INDEX" high_bound="3" low_bound="0" offset="0x10.0" size="0x10.0" />
	<field name="flex2_key_blocks" descr="ACL Key as described in Section 11.7.1, &quot;Flex2 ACL Key Blocks Layout&quot;, on page 3497\;The key must be masked according to the ERP (if ERPs exist for the region) or according to master_mask (if no ERPs for the region)" access="INDEX" high_bound="23" low_bound="0" offset="0x20.0" size="0x60.0" />
	<field name="erp_id" descr="Erp ID" access="INDEX" offset="0x80.0" size="0x0.4" />
	<field name="delta_start" descr="Start point of delta value and mask\;Units of bits\;The value must not exceed (num_key_blocks * 36 - 8)\;E.g. for 12 key blocks, range is 0..424 (432 = 12*36-8)\;Reserved when delta_mask = 0\;" access="INDEX" offset="0x84.0" size="0x0.10" />
	<field name="delta_value" descr="Delta value\;Bits which are masked by delta_mask are reserved (must be 0)" access="INDEX" offset="0x88.0" size="0x0.8" />
	<field name="delta_mask" descr="Delta mask\;Per bit:\;0: ignore relevant bit in delta_value\;1: compare relevant bit in delta_value\;Delta mask must not be set for reserved field in the key blocks\;Note: no delta when no ERPs, thus for regions with PERERP.erpt_pointer_valid=0 the delta_mask must be 0" access="INDEX" offset="0x88.16" size="0x0.8" />
	<field name="prune_vector" descr="Pruning vector relative to the PERPT.erp_id.\;Used for reducing lookups\;0: NEED - need to do a lookup on the erpt entry\;1: PRUNE - no need to do a lookup on the erpt entry\;May be modified by PEAPBL, PEAPBM\;Note: A region with 8 key blocks must be set either to all 1&apos;s or all 0&apos;s" access="RW" offset="0x90.0" size="0x0.16" />
	<field name="prune_ctcam" descr="Pruning on C-TCAM. Used for reducing lookups\;0: NEED - need to do a lookup in the C-TCAM\;1: PRUNE - no need to do a lookup in the C-TCAM\;May be modified by PEAPBL, PEAPBM" access="RW" offset="0x94.31" size="0x0.1" />
	<field name="large_entry_key_id" descr="Large entry key ID\;A key for 12 Key block rules \;Reserved when the region has less than 12 key blocks\;Within a region: must be different for keys which have different 6 Key blocks msb (key blocks 6..11). Must be the same for key blocks which have common 6 Key blocks msb.\;Range 0 .. cap_max_pe_large_key_id- 1 \;\;Must not be updated by SW when op=UPDATE\;When op=UPDATE the large_entry_key_id must be identical to the value that already exists" access="RW" offset="0x98.0" size="0x0.24" />
	<field name="large_exists" descr="Large entry key ID exists\;Within this region:\;0: SINGLE: The large_entry_key_id is not currently in use\;For rule insert: the msb of the key will be added\;For rule delete: the msb of the key will be removed\;1: NON_SINGLE: The large_entry_key_id is currently in use\;For rule insert: the msb of the key will not be added\;For rule delete: the msb of the key will not be removed\;\;rule insert: op=WRITE with v=1\;rule delete: op=WRITE with v=0\;Reserved when op=UPDATE" access="WO" offset="0x98.31" size="0x0.1" />
	<field name="action_pointer" descr="Pointer to action, see PEFA\;Range is 0.. cap_max_kvd_action_sets - 1" access="RW" offset="0xA0.0" size="0x0.24" />
	<field name="paptr" descr="Partial action pointer, see PEFA\;0: pointer to full action pointer or to partial pointer 0\;1: pointer to partial pointer 1\;Note that &quot;full action set&quot; and &quot;partial action set, partial index 0&quot; have the same pointer but different indexes." access="RW" offset="0xA0.30" size="0x0.2" />
</node>

<node name="ptcead_ext" descr="" size="0x220.0" >
	<field name="offset" descr="Offset within the multicast forwarding table\;Must be N*32" access="INDEX" offset="0x0.0" size="0x0.16" />
	<field name="op" descr="0: Read activity\;1: Read and clear activity" access="OP" offset="0x0.30" size="0x0.2" />
	<field name="num_rec" descr="Number of records to read\;Range 1..4096" access="OP" offset="0x4.0" size="0x0.13" />
	<field name="tcam_region_info" descr="Opaque object that represents the TCAM region." access="INDEX" high_bound="3" low_bound="0" offset="0x10.0" size="0x10.0" />
	<field name="activity_vector" descr="Activity per offset\;Line 20h bit 31 is for entry offset+4095\;Line 21C bit 0 is for entry offset+0\;Bits higher than num_rec are reserved\;Bits higher than region_size are reserved\;For non-valid offsets the activity is reserved" access="RO" high_bound="127" low_bound="0" offset="0x20.0" size="0x200.0" />
</node>

<node name="pter_phy_page_reg_ext" descr="" size="0x1c.0" >
	<field name="error_type_admin" descr="Error Type to generate\;0: No_Error\;1: Raw_BER\;2: Effective_BER\;4: Symbol_errors - all transmitted 66/64 bit symbols will be erroneous for the configured time period in error_injection_time" access="RW" enum="No_Error=0x0,Raw_BER=0x1,Effective_BER=0x2,Symbol_errors=0x4" offset="0x0.0" size="0x0.8" />
	<field name="error_type_cap" descr="Error injection capabilities \;Bit 0: Raw_BER\;Bit 1: Effective_BER\;Bit 2 : Symbol_errors" access="RO" enum="Raw_BER=0x1,Effective_BER=0x2,Symbol_errors=0x4" offset="0x0.8" size="0x0.8" />
	<field name="error_type_oper" descr="Error injection operational status\;0x0 - No error injection\;0x1 - Performing error injection" access="RO" offset="0x0.24" size="0x0.4" />
	<field name="ber_exp" descr="BER for injection.\;BER = ber_mantissa * 10^(-ber_exp)" access="RW" offset="0x4.0" size="0x0.8" />
	<field name="ber_mantissa" descr="BER for injection.\;BER = ber_mantissa * 10^(-ber_exp)" access="RW" offset="0x4.8" size="0x0.4" />
	<field name="error_injection_time" descr="Duration in 10 msec the port will generate errors.\;Reading this field will return the time left for errors to inject in msec\;\;\;0x0000 indicates no generation of errors.\;When set to 0xFFFF - No decremental operation, meaning the errors will be injected continuously without stop condition." access="RW" offset="0x4.12" size="0x0.16" />
</node>

<node name="pter_port_page_reg_ext" descr="" size="0x1c.0" >
	<field name="error_type_admin" descr="Error Type to generate\;0 - No Error\;---- Port Errors ----\;1 - Corrupt data packet ICRC\;2 - Corrupt data packet VCRC\;4- Corrupt credit packet LPCRC" access="RW" offset="0x0.0" size="0x0.8" />
	<field name="error_type_cap" descr="Error injection capabilities \;Bit 0- Corrupt data packet ICRC\;Bit 1- Corrupt data packet VCRC\;Bit 2- Corrupt credit packet LPCRC\;" access="RO" offset="0x0.8" size="0x0.8" />
	<field name="error_count" descr="Error Count\;Number of times the port will generate the configured error.\;0 indicates not to generate error.\;Reading error_count will return the number of left errors to inject. When 0, all requested errors has been injected." access="RW" offset="0x4.12" size="0x0.5" />
</node>

<node name="pter_reg_ext" descr="" size="0x20.0" >
	<field name="status" descr="Error injection status: \;0x0 -Good status\;0x2 - No available sources for Error injection\;0x3 - Error injection configuration when port is in non operational state (port is neither in UP or TEST MODE)\;0x4 - out of range BER setting" access="RO" offset="0x0.0" size="0x0.4" />
	<field name="plane_ind" descr="Reserved for non-planarized port.\;Plane port index of the aggregated port. A value of 0 refers to the aggregated port only." access="INDEX" offset="0x0.8" size="0x0.4" />
	<field name="lp_msb" descr="Local port number [9:8]" access="INDEX" offset="0x0.12" size="0x0.2" />
	<field name="pnat" descr="Port number access type. determines the way local_port is interpreted:\;0 - Local port number\;1 - IB port number\;" access="INDEX" offset="0x0.14" size="0x0.2" />
	<field name="local_port" descr="Local port number" access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="error_page" descr="Error_page selection: \;0: Injection_of_Phy_Errors\;1: Injection_of_Port_Errors" access="INDEX" enum="Injection_of_Phy_Errors=0x0,Injection_of_Port_Errors=0x1" offset="0x0.24" size="0x0.4" />
	<field name="page_data" descr="error injection page data: \;Table  1794, &quot;PTER- Port Transmit Errors Register Phy Level Layout,&quot; on page  2389\;Table  1796, &quot;PTER- Port Transmit Errors Register Port Level Fields,&quot; on page  2390" subnode="pter_reg_page_data_auto_ext" access="RW" offset="0x4.0" size="0x1c.0" union_selector="$(parent).error_page" />
</node>

<node name="pter_reg_page_data_auto_ext" descr="" attr_is_union="1" size="0x1c.0" >
	<field name="pter_phy_page_reg_ext" descr="" subnode="pter_phy_page_reg_ext" offset="0x0.0" selected_by="Injection_of_Phy_Errors" size="0x1c.0" />
	<field name="pter_port_page_reg_ext" descr="" subnode="pter_port_page_reg_ext" offset="0x0.0" selected_by="Injection_of_Port_Errors" size="0x1c.0" />
</node>

<node name="ptse_reg_ext" descr="" size="0x8.0" >
	<field name="tx_ready" descr="0: tx_not_ready\;1: tx_ready\;\;When tx ready is set, indicates ASIC&apos;s transmitter has valid output signal." access="RO" enum="tx_not_ready=0x0,tx_ready=0x1" offset="0x0.0" size="0x0.2" />
	<field name="lp_msb" descr="Local port number [9:8]" access="INDEX" offset="0x0.12" size="0x0.2" />
	<field name="local_port" descr="Local port number." access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="swid" descr="Switch partition ID with which to associate {port, sub_port}.\;Switch partitions are numbered from 0 to 7 inclusively.\;Switch partition 254 indicates stacking port.\;Switch partition 255 indicates a disabled port." access="INDEX" offset="0x0.24" size="0x0.8" />
</node>

<node name="ptys_ext_proto_ib_admin_ext" descr="" size="0x4.0" >
	<field name="ext_proto_ib" descr="IB bitmask:\;Bit 0: SDR_1x\;Bit 1: SDR_2x\;Bit 2: SDR_4x\;Bit 12: FDR_4x\;Bit 14: EDR_2x\;Bit 15: EDR_4x\;Bit 16: HDR_1x\;Bit 17: HDR_2x\;Bit 18: HDR_4x\;Bit 20: NDR_1x\;Bit 21: NDR_2x\;Bit 22: NDR_4x\;Bit 24: XDR_1x\;Bit 25: XDR_2x\;Bit 26: XDR_4x" access="RW" enum="SDR_1x=0x1,SDR_2x=0x2,SDR_4x=0x4,FDR_4x=0x1000,EDR_2x=0x4000,EDR_4x=0x8000,HDR_1x=0x10000,HDR_2x=0x20000,HDR_4x=0x40000,NDR_1x=0x100000,NDR_2x=0x200000,NDR_4x=0x400000,XDR_1x=0x1000000,XDR_2x=0x2000000,XDR_4x=0x4000000" offset="0x0.0" size="0x4.0" />
</node>

<node name="ptys_ext_proto_ib_cap_oper_ext" descr="" size="0x4.0" >
	<field name="ext_proto_ib" descr="IB bitmask:\;Bit 0: SDR_1x\;Bit 1: SDR_2x\;Bit 2: SDR_4x\;Bit 12: FDR_4x\;Bit 14: EDR_2x\;Bit 15: EDR_4x\;Bit 16: HDR_1x\;Bit 17: HDR_2x\;Bit 18: HDR_4x\;Bit 20: NDR_1x\;Bit 21: NDR_2x\;Bit 22: NDR_4x\;Bit 24: XDR_1x\;Bit 25: XDR_2x\;Bit 26: XDR_4x" access="RO" enum="SDR_1x=0x1,SDR_2x=0x2,SDR_4x=0x4,FDR_4x=0x1000,EDR_2x=0x4000,EDR_4x=0x8000,HDR_1x=0x10000,HDR_2x=0x20000,HDR_4x=0x40000,NDR_1x=0x100000,NDR_2x=0x200000,NDR_4x=0x400000,XDR_1x=0x1000000,XDR_2x=0x2000000,XDR_4x=0x4000000" offset="0x0.0" size="0x4.0" />
</node>

<node name="ptys_ext_proto_nvlink_admin_ext" descr="" size="0x4.0" >
	<field name="ext_proto_nvlink" descr="NVLink bitmask:\;Bit 0: 200G_1x_mode_a - (200G_1x_Simplex)\;Bit 1: 400G_2x_mode_a - (400G_2x_Simplex)\;Bit 2: 400G_2x_mode_b - (375G_2x_Bidi)\;Bit 3: 360G_2x_mode_b - (337p5G_2x_Bidi)\;Bit 4: 328G_2x_mode_b - (307p5G_2x_Bidi)\;Bit 5: 378_2x_mode_b  \;Bit 6: 200G_2x_mode_a  (200G_2x_Simplex)\;Bit 7: 200G_1x_mode_b - (187p5G_1x_Bidi)\;Bit 8: 180G_1x_mode_b - (168p75G_1x_Bidi)\;Bit 9: 164G_1x_mode_b - (153p75G_1x_Bidi)\;Bit 10: 100G_1x_mode_a \;Bit 11: 345G_2x_mode_b" access="RW" offset="0x0.0" size="0x4.0" />
</node>

<node name="ptys_ext_proto_nvlink_cap_oper_ext" descr="" size="0x4.0" >
	<field name="ext_proto_nvlink" descr="NVLink bitmask:\;Bit 0: 200G_1x_mode_a - (200G_1x_Simplex)\;Bit 1: 400G_2x_mode_a - (400G_2x_Simplex)\;Bit 2: 400G_2x_mode_b - (375G_2x_Bidi)\;Bit 3: 360G_2x_mode_b - (337p5G_2x_Bidi)\;Bit 4: 328G_2x_mode_b - (307p5G_2x_Bidi)\;Bit 5: 378_2x_mode_b  \;Bit 6: 200G_2x_mode_a  (200G_2x_Simplex)\;Bit 7: 200G_1x_mode_b - (187p5G_1x_Bidi)\;Bit 8: 180G_1x_mode_b - (168p75G_1x_Bidi)\;Bit 9: 164G_1x_mode_b - (153p75G_1x_Bidi)\;Bit 10: 100G_1x_mode_a \;Bit 11: 345G_2x_mode_b" access="RO" offset="0x0.0" size="0x4.0" />
</node>

<node name="ptys_reg_ext" descr="" size="0x44.0" >
	<field name="proto_mask" descr="Protocol Mask. Indicates which of the protocol data is valid\;Bit 0: InfiniBand\;Bit 1: NVLink\;Bit 2: Ethernet\;\;" access="INDEX" enum="InfiniBand=0x1,NVLink=0x2,Ethernet=0x4" offset="0x0.0" size="0x0.3" />
	<field name="transmit_allowed" descr="Valid only when port is mapped to SW controlled module, otherwise ignored. module control can be queried via MMCR register.\;\;0: transmit_not_allowed - Transmitter is not allowed to transmit signal on output\;1: transmit_allowed - Transmitter is allowed to transmit signal on output. for enabling transmitter, PAOS.admin_status must be up as well." access="RW" enum="transmit_not_allowed=0x0,transmit_allowed=0x1" offset="0x0.3" size="0x0.1" />
	<field name="plane_ind" descr="Reserved for non-planarized port.\;Plane port index of the aggregated port. A value of 0 refers to the aggregated port only." access="INDEX" offset="0x0.4" size="0x0.4" />
	<field name="port_type" descr="Supported only when indicated by PCAM \;0: Network_Port\;1: Near-End_Port - (For Gearbox - Host side)\;2: Internal_IC_Port \;3: Far-End_Port - (For Gearbox - Line side)\;\;Other values are reserved." access="INDEX" enum="Network_Port=0x0,Near=0x1,Internal_IC_Port=0x2,Far=0x3" offset="0x0.8" size="0x0.4" />
	<field name="lp_msb" descr="Local port number [9:8]" access="INDEX" offset="0x0.12" size="0x0.2" />
	<field name="local_port" descr="Local port number" access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="tx_ready_e" descr="Valid only when ee_tx_ready is set, otherwise field is ignored.\;0: do_not_generate_event\;Bit 0: generate_tx_ready_event - When set, PTSE register will generate event when Transmitter is generating valid signal on the line\;Bit 1: generate_tx_not_ready_event - when set, PTSE will generate event when the transmitter stopped transmitting after Tx_ready was set.\;Note: if both tx_not_ready and tx_ready are set, one toggle event may be received instead of 2 consecutive events of not ready --&gt; ready." access="RW" offset="0x0.26" size="0x0.2" />
	<field name="ee_tx_ready" descr="Event Enable for tx_ready_e.\;when bit is not set, tx_teady_e write value will be ignored" access="WO" offset="0x0.28" size="0x0.1" />
	<field name="an_disable_cap" descr="Auto Negotiation disable capability:\;0 - Device does not support AN disable\;1 - Device Supports  AN disable" access="RO" offset="0x0.29" size="0x0.1" />
	<field name="an_disable_admin" descr="Auto Negotiation disable:\;0 - Normal operation \;1 - Disable AN.\;Note: In Ethernet port, when Disabling AN, the &quot;eth_proto_admin&quot; bit mask must comply to single speed rate set.\;In IB port, when Disabling AN, the &quot;ib_proto_admin&quot; bit mask must comply to single speed rate set.\;It&apos;s recommended to validate the FEC override bits in PPLM when operating with AN. \;\;" access="RW" offset="0x0.30" size="0x0.1" />
	<field name="data_rate_oper" descr="Port data rate in resolution of 100 Mb/s (data_rate_oper * 100 Mb/s)\;Value 0x0 indicates this field is not supported.\;" access="RO" offset="0x4.0" size="0x0.16" />
	<field name="max_port_rate" descr="Port maxium data rate in resolution of 1 Gb/s (data_rate_oper * 1 Gb/s)\;Value 0x0 indicates this field is not supported.\;\;" access="RO" offset="0x4.16" size="0x0.12" />
	<field name="an_status" descr="Auto Negotiation status: \;0: Status_is_unavailable\;1: AN_completed_successfully \;2: AN_performed_but_failed\;3: AN_was_not_performed_link_is_up \;4: AN_was_not_performed_link_is_down" access="RO" enum="Status_is_unavailable=0x0,AN_completed_successfully=0x1,AN_performed_but_failed=0x2,AN_was_not_performed_link_is_up=0x3,AN_was_not_performed_link_is_down=0x4" offset="0x4.28" size="0x0.4" />
	<field name="ext_eth_proto_capability" descr="For HCA: See also PCAM.feature_cap_mask bit 13 for Extended Ethernet protocol support.\;Extended Ethernet port speed/protocols supported (bitmask):\;Bit 0: SGMII_100M\;Bit 1: 1000BASE-X / SGMII\;Bit 3: 5GBASE-R\;Bit 4: XFI / XAUI-1 // 10G\;Bit 5: XLAUI-4/XLPPI-4 // 40G \;Bit 6: 25GAUI-1/ 25GBASE-CR / KR \;Bit 7: 50GAUI-2 / LAUI-2/ 50GBASE-CR2/KR2 \;Bit 8: 50GAUI-1 /50GBASE-CR / KR\;Bit 9: CAUI-4 / 100GBASE-CR4 / KR4\;Bit 10: 100GAUI-2 / 100GBASE-CR2 / KR2 \;Bit 11: 100GAUI-1 / 100GBASE-CR / KR\;Bit 12: 200GAUI-4 / 200GBASE-CR4/KR4\;Bit 13: 200GAUI-2 / 200GBASE-CR2/KR2\;Bit 14: 200GAUI-1 / 200GBASE-CR1/KR1\;Bit 15: 400GAUI-8/ 400GBASE-CR8\;Bit 16: 400GAUI-4/ 400GBASE-CR4\;Bit 17: 400GAUI-2 / 400GBASE-CR2/KR2\;Bit 18: Reserved [internal] Placeholder for 400GAUI-1\;Bit 19: 800GAUI-8 / 800GBASE-CR8 / KR8\;Bit 20: 800GAUI-4 / 800GBASE-CR4/KR4\;Bit 23: 1.6TAUI-8 /1.6TBASE-CR8/KR8\;Bit 31: SGMII_10M\;Other - Reserved" access="RO" offset="0x8.0" size="0x4.0" />
	<field name="eth_proto_capability" descr="Ethernet port speed/protocols supported (bitmask)\;Bit 31 - 50GBase-KR2\;Bit 30 - 50GBase-CR2\;Bit 29 - 25GBase-SR\;Bit 28 - 25GBase-KR\;Bit 27 - 25GBase-CR\;Bit 26 - 10GBase-T \;Bit 25 - 1000Base-T\;Bit 24 - 100Base-TX\;Bit 23 - 100GBase LR4/ER4\;Bit 22 - 100GBase KR4\;Bit 21 - 100GBase SR4\;Bit 20 - 100GBase CR4\;Bit 18 - 50GBase-SR2\;Bit 16 - 40GBase LR4/ER4\;Bit 15 - 40GBase SR4\;Bit 14 - 10GBase ER/LR\;Bit 13 - 10GBase SR\;Bit 12 - 10GBase CR\;Bit 10 - 10Base-T\;Bit 9 - SGMII_100Base\;Bit 7 - 40GBase KR4\;Bit 6 - 40GBase CR4\;Bit 4 - 10GBase KR\;Bit 3 - 10GBase KX4\;Bit 2 - 10GBase-CX4\;Bit 1 - 1000Base KX\;Bit 0 - SGMII" access="RO" offset="0xC.0" size="0x4.0" />
	<field name="ib_proto_capability" descr="InfiniBand port speed supported (bitmask)\;Bit 0: SDR\;Bit 1: DDR\;Bit 2: QDR\;Bit 3: FDR10\;Bit 4: FDR\;Bit 5: EDR\;Bit 6: HDR\;Bit 7: NDR\;Bit 8: XDR" access="RO" enum="SDR=0x1,DDR=0x2,QDR=0x4,FDR10=0x8,FDR=0x10,EDR=0x20,HDR=0x40,NDR=0x80,XDR=0x100" offset="0x10.0" size="0x0.16" />
	<field name="ib_link_width_capability" descr="ib_link_width &lt;= ib_proto_capability\;Bit 0 - 1x\;Bit 1 - 2x\;Bit 2 - 4x\;" access="RO" offset="0x10.16" size="0x0.16" />
	<field name="ext_eth_proto_admin" descr="Ethernet port extended speed/protocols bitmask\;NOTE: This field and &quot;eth_proto_admin&quot; are mutual exclusive, meaning that only one of the field can be set on write command." access="RW" offset="0x14.0" size="0x4.0" />
	<field name="eth_proto_admin" descr="Ethernet port speed/protocols bitmask" access="RW" offset="0x18.0" size="0x4.0" />
	<field name="ib_proto_admin" descr="InfiniBand port speed bitmask\;" access="RW" offset="0x1C.0" size="0x0.16" />
	<field name="ib_link_width_admin" descr="InfiniBand port link width bitmask\;" access="RW" offset="0x1C.16" size="0x0.16" />
	<field name="ext_eth_proto_oper" descr="Ethernet port extended speed/protocols bitmask" access="RO" offset="0x20.0" size="0x4.0" />
	<field name="eth_proto_oper" descr="Ethernet port speed/protocols bitmask" access="RO" offset="0x24.0" size="0x4.0" />
	<field name="ib_proto_oper" descr="InfiniBand port speed bitmask" access="RO" offset="0x28.0" size="0x0.16" />
	<field name="ib_link_width_oper" descr="InfiniBand port link width bitmask\;" access="RO" offset="0x28.16" size="0x0.16" />
	<field name="connector_type" descr="Connector type indication\;0: No_connector_or_unknown \;1: PORT_NONE - None\;2: PORT_TP - Twisted Pair\;3: PORT_AUI - AUI\;4: PORT_BNC - BNC\;5: PORT_MII - MII\;6: PORT_FIBRE - FIBRE\;7: PORT_DA - Direct Attach Copper\;8: PORT_OTHER - Other" access="RO" enum="No_connector_or_unknown=0x0,PORT_NONE=0x1,PORT_TP=0x2,PORT_AUI=0x3,PORT_BNC=0x4,PORT_MII=0x5,PORT_FIBRE=0x6,PORT_DA=0x7,PORT_OTHER=0x8" offset="0x2C.0" size="0x0.4" />
	<field name="lane_rate_oper" descr="For active link, Indicates the lane data rate passed per physical lane including the overhead due to FEC.\;resolution of 10 Mb/s (lane_rate_oper * 10Mb/s)." access="RO" offset="0x2C.4" size="0x0.20" />
	<field name="xdr_2x_slow_active" descr="When set and link active, indicates link speed is xdr_2x slow." access="RO" offset="0x2C.24" size="0x0.1" />
	<field name="xdr_2x_slow_admin" descr="When set, along with ib protocol xdr_2x, XDR_2x slow will be allowed instead of xdr_2x.\;Note: in GB100, set by default only with ini and cannot be changed." access="RW" offset="0x2C.25" size="0x0.1" />
	<field name="force_lt_frames_admin" descr="Ethernet Force mode options when AN disable is set.\;0 - auto, keep normal operation\;1 - Do Force LT (KR Startup) flow\;2 - Do not do LT (KR Startup) flow\;\;Note: Ignored when an_disable_admin is not set\;In Ethernet port, when setting force LT flow, the &quot;eth_proto_ext_admin&quot; bit mask must comply to single speed rate set." access="RW" offset="0x2C.28" size="0x0.2" />
	<field name="force_lt_frames_cap" descr="0 - device does not support Force LT (KR Startup) flow\;1 - device supports Force LT (KR Startup) flow\;\;Note: Ignored when an_disable_admin is not set" access="RO" offset="0x2C.30" size="0x0.1" />
	<field name="xdr_2x_slow_cap" descr="capability for XDR_2x slow is support (200G)" access="RO" offset="0x2C.31" size="0x0.1" />
	<field name="ext_ib_proto_cap" descr="IB/NVlink port supported protocols and widths bit-mask.\;Valid if PCAM.feature_cap_mask bit 90 is set OR mask &lt;&gt;0.\;\;For IB: Table 1700, &quot;PTYS - Extended Protocol IB - cap/oper Layout,&quot; on page 2249\;For NVLink: Table 1704, &quot;PTYS - Extended Protocol NVLink - cap/oper Layout,&quot; on page 2251" subnode="ptys_reg_ext_ib_proto_cap_auto_ext" access="RO" offset="0x38.0" size="0x4.0" union_selector="$(parent).proto_mask" />
	<field name="ext_ib_proto_admin" descr="IB/NVLink port protocols admin values.\;\;For IB: Table 1702, &quot;PTYS - Extended Protocol IB - admin Layout,&quot; on page 2249\;For NVLink: Table 1706, &quot;PTYS - Extended Protocol NVLink - admin Layout,&quot; on page 2251\;\;NOTE: This field and &quot;ib_proto_admin&quot;, &quot;ib_link_width_admin&quot; are mutual exclusive, meaning that only one of the field can be set on write command." subnode="ptys_reg_ext_ib_proto_admin_auto_ext" access="RW" offset="0x3C.0" size="0x4.0" union_selector="$(parent).proto_mask" />
	<field name="ext_ib_proto_oper" descr="IB/NVLink port operational protocol.\;For IB: Table 1700, &quot;PTYS - Extended Protocol IB - cap/oper Layout,&quot; on page 2249\;For NVLink: Table 1704, &quot;PTYS - Extended Protocol NVLink - cap/oper Layout,&quot; on page 2251" subnode="ptys_reg_ext_ib_proto_oper_auto_ext" access="RO" offset="0x40.0" size="0x4.0" union_selector="$(parent).proto_mask" />
</node>

<node name="ptys_reg_ext_ib_proto_admin_auto_ext" descr="" attr_is_union="1" size="0x4.0" >
	<field name="ptys_ext_proto_ib_admin_ext" descr="" subnode="ptys_ext_proto_ib_admin_ext" offset="0x0.0" selected_by="InfiniBand" size="0x4.0" />
	<field name="ptys_ext_proto_nvlink_admin_ext" descr="" subnode="ptys_ext_proto_nvlink_admin_ext" offset="0x0.0" selected_by="NVLink" size="0x4.0" />
</node>

<node name="ptys_reg_ext_ib_proto_cap_auto_ext" descr="" attr_is_union="1" size="0x4.0" >
	<field name="ptys_ext_proto_ib_cap_oper_ext" descr="" subnode="ptys_ext_proto_ib_cap_oper_ext" offset="0x0.0" selected_by="InfiniBand" size="0x4.0" />
	<field name="ptys_ext_proto_nvlink_cap_oper_ext" descr="" subnode="ptys_ext_proto_nvlink_cap_oper_ext" offset="0x0.0" selected_by="NVLink" size="0x4.0" />
</node>

<node name="ptys_reg_ext_ib_proto_oper_auto_ext" descr="" attr_is_union="1" size="0x4.0" >
	<field name="ptys_ext_proto_ib_cap_oper_ext" descr="" subnode="ptys_ext_proto_ib_cap_oper_ext" offset="0x0.0" selected_by="InfiniBand" size="0x4.0" />
	<field name="ptys_ext_proto_nvlink_cap_oper_ext" descr="" subnode="ptys_ext_proto_nvlink_cap_oper_ext" offset="0x0.0" selected_by="NVLink" size="0x4.0" />
</node>

<node name="pude_reg_ext" descr="" size="0x10.0" >
	<field name="oper_status" descr="Port operational state:\;0001 - up\;0010 - down\;0100 - down by port failure (transitioned by the hardware)\;" access="RO" offset="0x0.0" size="0x0.4" />
	<field name="admin_status" descr="Port administrative state (the desired state of the interface):\;0001 - up\;0010 - down by configuration\;0011 - up once - if the port goes up and then down, the operational status should go to &quot;down by port failure&quot; and can only go back up upon explicit command\;0100 - disabled by system \;0110 - sleep" access="RO" offset="0x0.8" size="0x0.4" />
	<field name="lp_msb" descr="Local port number [9:8]" access="INDEX" offset="0x0.12" size="0x0.2" />
	<field name="local_port" descr="Local port number." access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="swid" descr="For HCA: must always be 0.\;Switch partition ID with which to associate the port.\;Switch partitions are numbered from 0 to 7 inclusively.\;Switch partition 254 indicates stacking ports.\;Switch partition 255 indicates all switch partitions.\;Note: While external ports uses unique local port numbers (and thus swid is redundant), router ports use the same local port number where swid is the only indication for the relevant port." access="INDEX" offset="0x0.24" size="0x0.8" />
	<field name="nmx_adminstate_status" descr="NVLink Port NMX AdminState current state:\;0: NA\;1: Up\;2: Down\;3: Diag\;All others reserved\;" access="RO" enum="NA=0x0,Up=0x1,Down=0x2,Diag=0x3" offset="0x4.0" size="0x0.3" />
	<field name="physical_state_status" descr="IB Port Physical link state:\;0: N/A\;1: Sleep\;2: Polling\;3: Disabled\;4: PortConfigurationTraining\;5: LinkUp\;6: LinkErrorRecovery\;All others reserved\;Ethernet devices that support this field will use only bits 2,3,5.\;" access="RO" enum="N_A=0x0,Sleep=0x1,Polling=0x2,Disabled=0x3,PortConfigurationTraining=0x4,LinkUp=0x5,LinkErrorRecovery=0x6" offset="0x4.4" size="0x0.4" />
	<field name="logical_state_status" descr="IB or NVLink Port Logical link state:\;0: N/A\;1: Down\;2: Init\;3: Arm\;4: Active\;\;Note: Logical Link State shall be ignored in case physical oper state is not UP." access="RO" offset="0x4.16" size="0x0.3" />
	<field name="phy_force_linkup_mode" descr="Indicates physical link entered forced linkup debug mode" access="RO" offset="0x4.20" size="0x0.1" />
	<field name="local_reason_opcode" descr="Opcode of link down reason for local\;0: No_link_down_indication\;1: Unknown_reason\;2: Hi_BER\;3: Block_Lock_loss\;4: Alignment_loss\;5: FEC_sync_loss\;6: PLL_lock_loss\;7: FIFO_overflow\;8: false_SKIP_condition\;9: Minor_Error_threshold_exceeded\;10: Physical_layer_retransmission_timeout\;11: Heartbeat_errors\;12: Link_Layer_credit_monitoring_watchdog\;13: Link_Layer_integrity_threshold_exceeded\;14: Link_Layer_buffer_overrun\;15: Down_by_outband_command_with_healthy_link\;16: Down_by_outband_command_for_link_with_hi_ber\;17: Down_by_inband_command_with_healthy_link\;18: Down_by_inband_command_for_link_with_hi_ber\;19: Down_by_verification_GW\;20: Received_Remote_Fault \;21: Received_TS1\;22: Down_by_management_command\;23: Cable_was_unplugged\;24: Cable_access_issue \;25: Cable_Thermal_shutdown \;26: Current_issue \;27: Power_budget\;28: Fast_recovery_raw_ber\;29: Fast_recovery_effective_ber\;30: Fast_recovery_symbol_ber\;31: Fast_recovery_credit_watchdog\;32: Peer_side_down_to_sleep_state\;33: Peer_side_down_to_disable_state\;34: Peer_side_down_to_disable_and_port_lock\;35: Peer_side_down_due_to_thermal_event\;36: Peer_side_down_due_to_force_event\;37: Peer_side_down_due_to_reset_event\;38: Reset_no_power_cycle\;39: Fast_recovery_tx_plr_trigger\;40: Down_due_to_HW_force_event\;41: Down_due_to_thermal_event\;42: L1_exit_failure\;43: too_many_link_error_recoveries\;44: Down_due_to_contain_mode\;45: BW_loss_threshold_exceeded - Tx PLR BW loss\;46: ELS_laser_fault\;47: Hi_SER\;48: down_by_nmx_adminstate_cmd\;49: flua_ber_below_threshold_in_guard_time\;50: Received_Local_Fault \;51: Received_Link_Interruption\;52: Manual_debug_mode\;53: command_triggered_recovery\;58: Recovery_BW_loss_threshold_exceeded\;59: Peer_side_down_due_to_contain_mode\;60: module_unexpected_reset_or_low_power\;61: Down_due_to_contain_mode_rx\;62: Down_due_to_contain_mode_tx\; -" access="RO" enum="No_link_down_indication=0x0,Unknown_reason=0x1,Hi_BER=0x2,Block_Lock_loss=0x3,Alignment_loss=0x4,FEC_sync_loss=0x5,PLL_lock_loss=0x6,FIFO_overflow=0x7,false_SKIP_condition=0x8,Minor_Error_threshold_exceeded=0x9,Physical_layer_retransmission_timeout=0xa,Heartbeat_errors=0xb,Link_Layer_credit_monitoring_watchdog=0xc,Link_Layer_integrity_threshold_exceeded=0xd,Link_Layer_buffer_overrun=0xe,Down_by_outband_command_with_healthy_link=0xf,Down_by_outband_command_for_link_with_hi_ber=0x10,Down_by_inband_command_with_healthy_link=0x11,Down_by_inband_command_for_link_with_hi_ber=0x12,Down_by_verification_GW=0x13,Received_Remote_Fault=0x14,Received_TS1=0x15,Down_by_management_command=0x16,Cable_was_unplugged=0x17,Cable_access_issue=0x18,Cable_Thermal_shutdown=0x19,Current_issue=0x1a,Power_budget=0x1b,Fast_recovery_raw_ber=0x1c,Fast_recovery_effective_ber=0x1d,Fast_recovery_symbol_ber=0x1e,Fast_recovery_credit_watchdog=0x1f,Peer_side_down_to_sleep_state=0x20,Peer_side_down_to_disable_state=0x21,Peer_side_down_to_disable_and_port_lock=0x22,Peer_side_down_due_to_thermal_event=0x23,Peer_side_down_due_to_force_event=0x24,Peer_side_down_due_to_reset_event=0x25,Reset_no_power_cycle=0x26,Fast_recovery_tx_plr_trigger=0x27,Down_due_to_HW_force_event=0x28,Down_due_to_thermal_event=0x29,L1_exit_failure=0x2a,too_many_link_error_recoveries=0x2b,Down_due_to_contain_mode=0x2c,BW_loss_threshold_exceeded=0x2d,ELS_laser_fault=0x2e,Hi_SER=0x2f,down_by_nmx_adminstate_cmd=0x30,flua_ber_below_threshold_in_guard_time=0x31,Received_Local_Fault=0x32,Received_Link_Interruption=0x33,Manual_debug_mode=0x34,command_triggered_recovery=0x35,Recovery_BW_loss_threshold_exceeded=0x3a,Peer_side_down_due_to_contain_mode=0x3b,module_unexpected_reset_or_low_power=0x3c,Down_due_to_contain_mode_rx=0x3d,Down_due_to_contain_mode_tx=0x3e" offset="0x4.24" size="0x0.8" />
</node>

<node name="puet_ext" descr="" size="0x10.0" >
	<field name="index" descr="Ethertype table index\;Each index represents a bit in the key ethertype_vector\;Value for writing: 5 or 6\;" access="INDEX" offset="0x0.0" size="0x0.4" />
	<field name="ethertype" descr="Ethertype value for the specific table entry.\;Note: Some of the table entries hold a pre-defined default value and cannot be modified.\;index = 0: IPv4, 0x800(not configurable)\;index = 1: IPv6, 0x86DD (not configurable)\;index = 2: ARP and RARP, 0x806, 0x8035 (not configurable)\;index = 3: FCP (not configurable)\;index = 4: GRH (not configurable)\;index = 5: Default: TRILL, configurable\;index = 6: Default: InfiniBand GRH, configurableindex = 7: reserved (not configurable)" access="RW" offset="0x4.0" size="0x0.16" />
</node>

<node name="pvbt_ext" descr="" size="0x14.0" >
	<field name="vlan_group" descr="Vlan group\;Range is 0 .. cap_max_acl_vlan_groups-1" access="INDEX" offset="0x0.0" size="0x0.12" />
	<field name="op" descr="0: Bind ACL to VLAN group\;1: Unbind ACL from VLAN group (default)" access="RW" offset="0x0.20" size="0x0.3" />
	<field name="swid" descr="Reserved for Spectrum family." access="INDEX" offset="0x0.24" size="0x0.8" />
	<field name="acl_id_group_id" descr="When g=0:\;ACL identifier (acl_id)\;Range of acl id is 0..cap_max_acl_regions-1\;When g=1:\;ACL group identifier (acl_group_id) or ACL group element (acl_group_element).\;For ACL group identifier, range of group id is 0..cap_max_acl_groups-1.\;For ACL group element, range of group element is 0..cap_max_acl_tot_groups-1." access="RW" offset="0x10.0" size="0x0.16" />
	<field name="g" descr="group\;0: bind an ACL\;1: bind an ACL group\;Must be set to 1 for Spectrum family" access="RW" offset="0x10.31" size="0x0.1" />
</node>

<node name="pvgt_ext" descr="" size="0x8.0" >
	<field name="vid" descr="VLAN ID" access="INDEX" offset="0x0.0" size="0x0.12" />
	<field name="op" descr="0: Bind VID to VLAN group\;1: Unbind VID from VLAN group (default)" access="WO" offset="0x0.20" size="0x0.3" />
	<field name="swid" descr="Switch partition ID" access="INDEX" offset="0x0.24" size="0x0.8" />
	<field name="vlan_group" descr="VLAN group to which the VLAN will be added\;Range 0 .. cap_max_acl_vlan_groups-1\;Reserved on write when op = 1" access="RW" offset="0x4.0" size="0x0.12" />
</node>

<node name="pvlc_reg_ext" descr="" size="0x10.0" >
	<field name="local_port" descr="Local port number" access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="vl_hw_cap" descr="Virtual Lanes supported on this port.\;0 - Reserved\;1: VL0\;2: VL0, VL1\;4: VL0 - VL3\;\;8: VL0 - VL7\;15: VL0 - VL14" access="RO" offset="0x4.0" size="0x0.4" />
	<field name="vl_admin" descr="Virtual Lanes enabled by the local admin on this port.\;0: No change; valid only on Set()\;1: VL0\;2: VL0, VL1\;4: VL0 - VL3\;\;8: VL0 - VL7\;15: VL0 - VL14\;" access="RW" offset="0x8.0" size="0x0.4" />
	<field name="vl_operational" descr="Operational VLs as configured by the SM on this port:\;0: No change; valid only on Set()\;1: VL0\;2: VL0, VL1\;4: VL0 - VL3\;\;8: VL0 - VL7\;15: VL0 - VL14\;Changing vl_operational in certain PortStates may cause in flow control update errors which may initiate Link/PHY retraining.\;vl_operational value is valid only when link state is UP." access="RO" offset="0xC.0" size="0x0.4" />
</node>

<node name="qdpm_ext" descr="" size="0x40.0" >
	<field name="dscp" descr="DSCP entry is the DSCP to Switch Priority mapping. For more details refer to Table 3316." access="RW" high_bound="63" low_bound="0" offset="0x0.24" size="0x40.0" />
</node>

<node name="qecc_ext" descr="" size="0x8.0" >
	<field name="cpu_split" descr="CPU ingress port split.\;See Section 2.8.7, &quot;Trap Group CPU Path&quot;, on page 579.\;" access="INDEX" offset="0x0.0" size="0x0.4" />
	<field name="mode" descr="CPU ingress port split operation mode.\;On-the-fly changes may result in packet loss.\;\;0: DEFAULT_Mode - Default\;1: PCIE_ETS_OPT - PCIe/ETS optimal" access="RW" enum="DEFAULT_Mode=0x0,PCIE_ETS_OPT=0x1" offset="0x4.0" size="0x0.4" />
</node>

<node name="qeec_ext" descr="" size="0x20.0" >
	<field name="lp_msb" descr="Local port[9:8]" access="INDEX" offset="0x0.12" size="0x0.2" />
	<field name="local_port" descr="Local port number\;CPU port supported." access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="element_index" descr="The index of the element in the hierarchy." access="INDEX" offset="0x4.0" size="0x0.8" />
	<field name="element_hierarchy" descr="The hierarchy of the element\;0: Port - For QM3 and above, applicable only for port 0\;1: Group - Not supported in Spectrum-5, supported in CPU port from Spectrum-4 (excluding Spectrum-5), VL element for QM3 and above\;2: Sub_Group - Supported in CPU port from Spectrum-4\;3: Traffic_Class\;For supported hierarchies see Section 12.9, &quot;Ethernet Egress Scheduling&quot;, on page 3902." access="INDEX" enum="Port=0x0,Group=0x1,Sub_Group=0x2,Traffic_Class=0x3" offset="0x4.16" size="0x0.4" />
	<field name="next_element_index" descr="The index of the element in the lower hierarchy.\;Next hierarchy depends on the element index and the ETS scheme of the device. See Section 12.9, &quot;Ethernet Egress Scheduling&quot;, on page 3902.\;Reserved when element_heirarchy  &apos;0&apos;.\;\;Note: Reserved with Sub Group hierarchy in Spectrum-5." access="RW" offset="0x8.0" size="0x0.8" />
	<field name="min_shaper_rate" descr="Min shaper information rate\;For all hierarchies at Non-CPU port.\;bps mode, Units of 1000bps\;Granularity is 200mbps\;Value of 0 means &quot;shaper disabled&quot;\;Error is up to 3% from configuration (for example: when rate is configured to 200mbps, actual rate may be 206mbps)\;Reading reveals the actual rate (e.g. 206 in the above example)\;Note: For rates lower than 10,000bps or lower than 100 packets per sec, error is up to 10%\;Reserved when ptps = 1\;Reserved when element_hierarchy is 0 or 1\;Reserved for QM switches." access="RW" offset="0xC.0" size="0x0.28" />
	<field name="pb" descr="Packets or Bytes mode\;0: bytes mode\;1: packets mode\;Applies to both min shaper and max shaper\;In Spectrum-1, packets mode (1) is supported only for the CPU port at the Traffic_Class (3) hierarchy.\;Reserved when ptps = 1.\;" access="RW" offset="0xC.28" size="0x0.1" />
	<field name="ptps" descr="PTP shaper\;0: regular shaper mode\;1: PTP oriented shaper\;Allowed only for hierarchy 0\;Not supported for CPU port\;Note that ptps mode may effect the shaper rates of all hierarchies\;Reserved when Spectrum-2\;Reserved for QM switches.\;\;" access="RW" offset="0xC.29" size="0x0.1" />
	<field name="mise" descr="Min shaper configuration enable. Enables configuration of min_shaper_rate, min_shaper_bs on this ETS element\;0: disable\;1: enable\;Reserved when element_hierarchy is 0 or 1.\;Reserved for QM switches.\;Not supported for CPU port." access="RW" enum="disable=0x0,enable=0x1" offset="0xC.31" size="0x0.1" />
	<field name="max_shaper_rate" descr="Max shaper information rate\;For all hierarchies at a non-CPU port, and for port-hierarchy on CPU ports:\;bps mode, Units of 1000bps\;Granularity is 200mbps\;Error is up to 3% from configuration (for example, when rate is configured to 200mbps, the actual rate may be 206mbps)\;Reading reveals the actual rate (e.g., 206 in the above example)\;On get, actual values are returned which might differ from the set values\;\;For Tclass of CPU ports:\;bps mode:\;Granularity is 1000bps\;Error is up to 1% from configuration\;packet per sec mode:\;Granularity is 10 packet per sec\;Error is up to 1% from configuration\;Note: For rates lower than 10,000bps or lower than 100 packets per sec, error is up to 10%.\;Reserved when ptps = 1\;Reserved when element_hierarchy is 1\;\;Value of 0x7FFF_FFFF means &quot;all allowed&quot; or &quot;shaper disabled&quot;" access="RW" offset="0x10.0" size="0x0.31" />
	<field name="mase" descr="Max shaper configuration enable. Enables configuration of max_shaper_rate, max_shaper_bs on this ETS element.\;0: disable\;1: enable\;Reserved when element_hierarchy is 1\;" access="RW" enum="disable=0x0,enable=0x1" offset="0x10.31" size="0x0.1" />
	<field name="dwrr_weight" descr="DWRR weight on the link going down from the ETS element:\;The percentage of bandwidth guaranteed to a ETS within its hierarchy.\;The sum of dwrr_weight values across all ETS elements within one hierarchy should equal 100.\;This field is reserved when dwrr is set to strict priority.\;For switches only:\;A single ETS element weight range is 0..100. The sum of dwrr_weight values across all ETS elements within one hierarchy can exceed 100.\;See limitations in Section 12.9.1.2, &quot;Deficit Weighted Round Robin (DWRR)&quot;, on page 3905." access="RW" offset="0x18.0" size="0x0.8" />
	<field name="dwrr" descr="DWRR or strict priority on the link going down from the ETS element:\;0: strict priority - default from Spectrum-4\;1: DWRR\;For Spectrum-1, Spectrum-2 and Spectrum-3 DWRR with weights of 0 is configured by default, which result in a round robin arbitration.\;Reserved for Quantum switches." access="RW" offset="0x18.15" size="0x0.1" />
	<field name="de" descr="DWRR configuration enable. Enables configuration of the dwrr and dwrr_weight.\;0: disable\;1: enable\;Reserved for QM switches." access="RW" offset="0x18.31" size="0x0.1" />
	<field name="max_shaper_bs" descr="Max shaper Burst size.\;On bytes mode (pb=0) burst size is 512   2max_shaper_bs [bits].\;On packet mode (pb=1) burst size is 2max_shaper_bs [packets].\;For Spectrum: Range is: 5..25.\;For Spectrum-2 onwards: Range is: 11..25.\;Value of 0 is configured as minimum when shaper is enabled.\;Reserved when ptps = 1." access="RW" offset="0x1C.0" size="0x0.6" />
	<field name="min_shaper_bs" descr="Min shaper Burst size.\;On bytes mode (pb=0) burst size is 512   2min_shaper_bs [bits].\;On packet mode (pb=1) burst size is 2min_shaper_bs [packets].\;For Spectrum: Range is: 5..25.\;For Spectrum-2 onwards: Range is: 11..25.\;Value of 0 is configured as minimum when shaper is enabled.\;Reserved when ptps = 1.\;Reserved for QM switches." access="RW" offset="0x1C.16" size="0x0.6" />
</node>

<node name="qepm_ext" descr="" size="0x14.0" >
	<field name="lp_msb" descr="Local port[9:8]" access="INDEX" offset="0x0.12" size="0x0.2" />
	<field name="local_port" descr="Local port.\;Supported for data packets from CPU port." access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="exp" descr="EXP entry is the EXP to Switch Priority mapping. For more details refer to Table 3324, &quot;qepm_exp Layout,&quot; on page 3928" access="RW" high_bound="7" low_bound="0" offset="0x4.16" size="0x10.0" />
</node>

<node name="qgcr_ext" descr="" size="0x8.0" >
	<field name="dwrr_unrestrict" descr="[DWIP]\;Unrestricts low DWRR weights.\;Low weights are restricted by default.\;See Section 12.9.1.2, &quot;Deficit Weighted Round Robin (DWRR)&quot;, on page 3905.\;Clearing this field will set all low weights to the lowest unrestricted weight.\;Supported from Spectrum-2 to Spectrum-5." access="RW" offset="0x0.0" size="0x0.1" />
	<field name="tx_cnt_tclass" descr="Count Tx counters by TClass.\;See Section 12.3, &quot;Counting Priority Mapping&quot;, on page 3892.\;0: Tx count is by cnt priority as configured by QSPCP.tx_counting_prio (default)\;1: Tx count is by Tclass, total of cap_max_tclass counters per port" access="RW" offset="0x4.0" size="0x0.1" />
</node>

<node name="qhll_ext" descr="" size="0xc.0" >
	<field name="lp_msb" descr="Local port[9:8]" access="INDEX" offset="0x0.12" size="0x0.2" />
	<field name="local_port" descr="Local port\;No support for CPU port" access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="hll_time" descr="HLL Time\;HLL Time = 4.096uSec * 2^hll_time\;Default is 17 (0.54Sec)\;Range is 0 ..19\;Values of 20-31 means infinite (no HLL)" access="RW" offset="0x4.0" size="0x0.5" />
	<field name="stall_cnt" descr="Stall count. Number of HLL discarded packets required to enter the Stall-State.\;Default is 7\;Range 1..7\;Reserved when stall_en = 0" access="RW" offset="0x8.0" size="0x0.3" />
	<field name="stall_en" descr="Stall enable\;0: Stall disabled\;1: Stall enabled (default)" access="RW" offset="0x8.31" size="0x0.1" />
</node>

<node name="qpbr_ext" descr="" size="0x10.0" >
	<field name="pid" descr="Policer ID.\;Global policers are numbered from 0 to cap_max_policers_per_port-1.\;Per port policers are numbered from 0 to cap_max_policers_global-1. \;Storm Control policers are numbered from 0 to cap_max_policers_storm_control-1.\;Reserved on Write when op=UNBIND_POLICER." access="RW" offset="0x0.0" size="0x0.14" />
	<field name="g" descr="0: BIND_POLICER_PER_PORT_STORM - port policer and Storm Control policer configuration\;1: BIND_POLICER_GLOBAL - global policer configuration\;Reserved when Spectrum/-2" access="RW" enum="BIND_POLICER_PER_PORT_STORM=0x0,BIND_POLICER_GLOBAL=0x1" offset="0x0.15" size="0x0.1" />
	<field name="local_port" descr="local_port number. The policer is assigned to traffic coming from the port. \;Spectrum family: Note that one can bind a Storm Control policer to a port.type, and use the same Storm Control policer to more than a single port.\;CPU port is not supported." access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="lp_msb" descr="Local port[9:8]" access="INDEX" offset="0x0.24" size="0x0.2" />
	<field name="op" descr="Operation:\;0: BIND_POLICER - bind policer\;1: UPDATE_POLICER_BINDING - update policer binding (status id bind)\;2: UNBIND_POLICER - unbind policer (For Spectrum family the unbinding uses the same indexes as binding)\;\;" access="RW" enum="BIND_POLICER=0x0,UPDATE_POLICER_BINDING=0x1,UNBIND_POLICER=0x2" offset="0x0.30" size="0x0.2" />
	<field name="uc" descr="For Port or Storm Control: Meter ingress unicast packets" access="INDEX" offset="0x4.0" size="0x0.1" />
	<field name="mc" descr="For Port or Storm Control: Meter ingress multicast packets" access="INDEX" offset="0x4.1" size="0x0.1" />
	<field name="bc" descr="For Port or Storm Control: Meter ingress broadcast packets" access="INDEX" offset="0x4.2" size="0x0.1" />
	<field name="uuc" descr="For Port or Storm Control: Meter ingress unknown unicast packets" access="INDEX" offset="0x4.3" size="0x0.1" />
	<field name="umc" descr="For Port or Storm Control: Meter ingress unknown multicast packets" access="INDEX" offset="0x4.4" size="0x0.1" />
</node>

<node name="qpcr_ext" descr="" size="0x28.0" >
	<field name="pid" descr="Policer ID.\;Global policers are numbered from 0 to cap_max_policers_global - 1.\;Per port policers are numbered from 0 to cap_max_policers_per_port - 1. \;Storm policers are numbered from 0 to cap_max_policers_storm_control -1\;For Spectrum switches, a dual rate policer consumes 2 pids. A dual rate policer must have an even numbered pid." access="INDEX" offset="0x0.0" size="0x0.14" />
	<field name="g" descr="0: POLICER_PER_PORT - per port policer configuration, Reserved when Spectrum switches or IB switches.\;2: POLICER_GLOBAL - global policer configuration\;3: POLICER_STORM - storm control policer configuration\;For IB Switches must be global." access="INDEX" enum="POLICER_GLOBAL=0x2,POLICER_STORM=0x3" offset="0x0.14" size="0x0.2" />
	<field name="type" descr="policer type:\;0: srTCM, single rate three colors marking. This mode is not supported by Spectrum switches\;1: srDCM, single rate dual colors marking.\;2: trTCM, dual rate three colors marking.\;Editing of this field is not allowed for a bounded policer.\;IB switches support only srDCM." access="RW" offset="0x4.8" size="0x0.2" />
	<field name="ir_units" descr="0: cir and eir use units of 106 bits/sec (Mbps)\;1: cir and eir use units of 103 bits/sec (Kbps)\;Reserved when IB switches." access="OP" offset="0x4.12" size="0x0.1" />
	<field name="bytes" descr="0: meter based on packets/sec\;1: meter based on bytes/sec\;This field is reserved when mode = 1 (packet sampling).\;Editing of this field is not allowed for a bounded policer.\;Reserved when IB switches (support only packets/sec)." access="RW" offset="0x4.14" size="0x0.1" />
	<field name="color_aware" descr="0: meter is not color aware\;1: meter is color aware\;Editing of this field is not allowed for a bounded policer\;Reserved when storm control policers.\;Reserved when IB switches." access="RW" offset="0x4.15" size="0x0.1" />
	<field name="add_counter" descr="Add value to counters. The counter on the pid will be added with the value of violate_count.\;Reserved when IB switches." access="OP" offset="0x4.30" size="0x0.1" />
	<field name="clear_counter" descr="Clear counters. Setting the clear_counter bit will reset the violate_count of the pid.\;Reserved when IB switches." access="OP" offset="0x4.31" size="0x0.1" />
	<field name="ebs" descr="Excessive burst size\;On packet metering (bytes=0) burst size is 2cbs [packets].\;On bytes metering (bytes=1) burst size is 512   2cbs [bits].\;\;In Spectrum switches, value 0 is used for dropping all traffic.\;Spectrum-1 when bits mode: Range is 4..25.\;Spectrum-1 when packet mode: Range is 4..24.\;Spectrum-2 and on when bits mode: Range is 4..31.\;Spectrum-2 and on when packet mode: Range is 4..26.\;\;On Spectrum-2 and on, packet mode, with a minimum ebs of 8, there will be no more than 3% errors (drops/sent packets) in 95% of the cases.\;\;Reserved when type is srDCM." access="RW" offset="0x8.16" size="0x0.6" />
	<field name="cbs" descr="Committed burst size.\;On packet metering (bytes=0) burst size is 2cbs [packets].\;On bytes metering (bytes=1) burst size is 512   2cbs [bits].\;\;In Spectrum switches, value 0 is used for dropping all traffic.\;Spectrum-1 when bits mode: Range is 4..25.\;Spectrum-1 when packet mode: Range is 4..24.\;Spectrum-2 and on when bits mode: Range is 4..31.\;Spectrum-2 and on when packet mode: Range is 4..26.\;\;On Spectrum-2 and on, in packet mode with a minimum CBS of 8, no more than 3% of packets will be dropped (errors/drops per sent packet) in 95% of cases.\;\;Note: With small CIR rates (up to 50Mbps), the policer might limit the bandwidth further, in case the CBS is set to be smaller than 6.\;\;Quantum: Range is 4..11 (16..2K Packets/Sec)." access="RW" offset="0x8.24" size="0x0.6" />
	<field name="cir" descr="Committed information rate.\;For Spectrum switches: resolution error is up to 1%. Reading will provide the exact value used by the HW.\;\;On bytes metering (bytes=1) the units are according to ir_units.\;On packet metering (bytes=0): CIR is in Packet/sec units.\;\;Spectrum-1 has max 2Tbps or max 2Gpps.\;Spectrum-2 and on has max 6.4Tbps or max 9.5Gpps.\;\;Note: With small CIR rates (up to 50Mbps), the policer might limit the bandwidth further, in case the CBS is set to be smaller than 6.\;\;Quantum: range: 64..100,000 packets/sec. HW will round to N*64. Resolution error is up to 1%." access="RW" offset="0xC.0" size="0x4.0" />
	<field name="eir" descr="Excess information rate.\;For Spectrum switches: resolution error is up to 1%. Reading will provide the exact value used by the HW.\;\;On bytes metering (bytes=1) the units are according to ir_units.\;On packet metering (bytes=0): CIR is in Packet/sec units.\;\;Spectrum-1 has max 2Tbps or max 2Gpps.\;Spectrum-2 and on has max 6.4Tbps or max 9.5Gpps.\;Reserved when type is srDCM." access="RW" offset="0x10.0" size="0x4.0" />
	<field name="exceed_action" descr="Action for packets classified yellow by the policer (packets that exceed CBS but do not exceed EBS):\;0: forward - Not supported by Spectrum switches.\;1: discard - Not supported by Spectrum switches.\;2: forward_and_set_color_to_yellow\;Editing of this field is not allowed for a bounded policer.\;Reserved when type is srDCM" access="RW" enum="forward=0x0,discard=0x1,forward_and_set_color_to_yellow=0x2" offset="0x14.0" size="0x0.4" />
	<field name="violate_action" descr="Action for packets classified Red by the policer (e.g. packets that exceed CBS when type is srDCM or exceed EBS when type is trTCM):\;0: forward - Not supported by Spectrum switches.\;1: discard\;2: forward_and_set_color_to_red\;3: reset_trap_prio_to_0 - This option disable the trap, supported from Spectrum-4.\;For Spectrum switches, storm control policers&apos; action must be discard.\;Editing of this field is not allowed for a bounded policer.\;IB switches support only discard" access="RW" enum="forward=0x0,discard=0x1,forward_and_set_color_to_red=0x2,reset_trap_prio_to_0=0x3" offset="0x18.0" size="0x0.4" />
	<field name="violate_count_high" descr="Counts the number of times violate_actions happened on this pid.\;Reserved when IB switches.\;" access="RW" offset="0x20.0" size="0x4.0" />
	<field name="violate_count_low" descr="Counts the number of times violate_actions happened on this pid.\;Reserved when IB switches.\;" access="RW" offset="0x24.0" size="0x4.0" />
</node>

<node name="qpdp_ext" descr="" size="0x8.0" >
	<field name="lp_msb" descr="Local port[9:8]" access="INDEX" offset="0x0.12" size="0x0.2" />
	<field name="local_port" descr="Local port.\;Supported for data packets from CPU port." access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="switch_prio" descr="Default port Switch Priority (default 0)\;" access="RW" offset="0x4.0" size="0x0.4" />
	<field name="color" descr="Default port color (default=0)\;0x0: GREEN\;0x1: YELLOW\;0x2: RED\;" access="RW" enum="GREEN=0x0,YELLOW=0x1,RED=0x2" offset="0x4.8" size="0x0.2" />
</node>

<node name="qpdpc_ext" descr="" size="0x8.0" >
	<field name="lp_msb" descr="Local port[9:8]" access="INDEX" offset="0x0.12" size="0x0.2" />
	<field name="local_port" descr="When tport = 0:\;Local port.\;No support for CPU port.\;When tport = 1: tunnel_port" access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="tport" descr="Port is tunnel port\;Supported from Spectrum-2" access="INDEX" offset="0x0.28" size="0x0.1" />
	<field name="pcp" descr="Default port PCP (default 0)" access="RW" offset="0x4.0" size="0x0.3" />
	<field name="dei" descr="Default port DEI (default 0)" access="RW" offset="0x4.8" size="0x0.1" />
</node>

<node name="qpdpm_ext" descr="" size="0x84.0" >
	<field name="lp_msb" descr="Local port[9:8]" access="INDEX" offset="0x0.12" size="0x0.2" />
	<field name="local_port" descr="Local Port.\;Supported for data packets from CPU port." access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="dscp" descr="DSCP entry is the DSCP to Switch Priority mapping. For more details refer to Table  3320, &quot;qpdpm_dscp Layout,&quot; on page  3926" access="RW" high_bound="63" low_bound="0" offset="0x4.16" size="0x80.0" />
</node>

<node name="qpdsm_ext" descr="" size="0x44.0" >
	<field name="lp_msb" descr="Local port[9:8]" access="INDEX" offset="0x0.12" size="0x0.2" />
	<field name="local_port" descr="Local port.\;No support for CPU port." access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="switch_prio" descr="The DSCP mapping for Switch Priority i, See Table 3366, &quot;switch_prio&lt;j&gt; Layout&quot;\;Switch Prio range is from 0 to cap_max_switch_priorities-1" subnode="qpdsm_switch_prio_ext" access="RW" high_bound="15" low_bound="0" offset="0x4.0" size="0x40.0" />
</node>

<node name="qpdsm_switch_prio_ext" descr="" size="0x4.0" >
	<field name="color2" descr="The DSCP mapping for color k, where k=0..2, see Table 3368, &quot;color&lt;k&gt;Layout&quot;" access="RW" offset="0x0.8" size="0x0.8" />
	<field name="color1" descr="The DSCP mapping for color k, where k=0..2, see Table 3368, &quot;color&lt;k&gt;Layout&quot;" access="RW" offset="0x0.16" size="0x0.8" />
	<field name="color0" descr="The DSCP mapping for color k, where k=0..2, see Table 3368, &quot;color&lt;k&gt;Layout&quot;" access="RW" offset="0x0.24" size="0x0.8" />
</node>

<node name="qpem_ecn_ext" descr="" size="0x4.0" >
	<field name="color2" descr="The EXP mapping for color k, where k=0..2, see Table 3362, &quot;qpem_color Layout,&quot; on page 3955" access="RW" offset="0x0.8" size="0x0.8" />
	<field name="color1" descr="The EXP mapping for color k, where k=0..2, see Table 3362, &quot;qpem_color Layout,&quot; on page 3955" access="RW" offset="0x0.16" size="0x0.8" />
	<field name="color0" descr="The EXP mapping for color k, where k=0..2, see Table 3362, &quot;qpem_color Layout,&quot; on page 3955" access="RW" offset="0x0.24" size="0x0.8" />
</node>

<node name="qpem_ext" descr="" size="0x104.0" >
	<field name="lp_msb" descr="Local port[9:8]" access="INDEX" offset="0x0.12" size="0x0.2" />
	<field name="local_port" descr="Local port.\;No support for CPU port.\;No support for router port." access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="switch_prio" descr="The EXP mapping for Switch Priority i, See Table 3358, &quot;qpem_switch_prio Layout&quot;\;Switch Prio range is from 0 to cap_max_switch_priorities-1" subnode="qpem_switch_prio_ext" access="RW" high_bound="15" low_bound="0" offset="0x4.0" size="0x100.0" />
</node>

<node name="qpem_switch_prio_ext" descr="" size="0x10.0" >
	<field name="ecn" descr="The EXP mapping for ECN j, see Table 3360, &quot;qpem_ecn Layout&quot;" subnode="qpem_ecn_ext" access="RW" high_bound="3" low_bound="0" offset="0x0.0" size="0x10.0" />
</node>

<node name="qppm_ext" descr="" size="0x44.0" >
	<field name="lp_msb" descr="Local port[9:8]" access="INDEX" offset="0x0.12" size="0x0.2" />
	<field name="local_port" descr="Local port.\;No support for CPU port." access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="switch_prio" descr="The PCP mapping for Switch Priority i, See Table 3372, &quot;qppm_switch_prio Layout&quot;\;Switch Prio range is from 0 to cap_max_switch_priorities-1" subnode="qppm_switch_prio_ext" access="RW" high_bound="15" low_bound="0" offset="0x4.0" size="0x40.0" />
</node>

<node name="qppm_switch_prio_ext" descr="" size="0x4.0" >
	<field name="color2" descr="The PCP and DEI mapping for color k, where k=0..2, see Table 3374, &quot;color&lt;k&gt;Layout&quot;" access="RW" offset="0x0.8" size="0x0.8" />
	<field name="color1" descr="The PCP and DEI mapping for color k, where k=0..2, see Table 3374, &quot;color&lt;k&gt;Layout&quot;" access="RW" offset="0x0.16" size="0x0.8" />
	<field name="color0" descr="The PCP and DEI mapping for color k, where k=0..2, see Table 3374, &quot;color&lt;k&gt;Layout&quot;" access="RW" offset="0x0.24" size="0x0.8" />
</node>

<node name="qprt_ext" descr="" size="0x8.0" >
	<field name="pcp" descr="Packet&apos;s PCP value" access="INDEX" offset="0x0.8" size="0x0.3" />
	<field name="dei" descr="Packet&apos;s DEI value." access="INDEX" offset="0x0.11" size="0x0.1" />
	<field name="lp_msb" descr="Local port[9:8]" access="INDEX" offset="0x0.12" size="0x0.2" />
	<field name="local_port" descr="Local port.\;Supported for data packets from CPU port." access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="rprio" descr="For Spectrum switches: Switch Priority\;The default value for the table is: PCP i -&gt;Regeneration Priority i\;" access="RW" offset="0x4.0" size="0x0.4" />
	<field name="color" descr="Packet Color.\;0: GREEN\;1: YELLOW\;2: RED" access="RW" enum="GREEN=0x0,YELLOW=0x1,RED=0x2" offset="0x4.8" size="0x0.2" />
</node>

<node name="qptg_ext" descr="" size="0x8.0" >
	<field name="lp_msb" descr="Local port[9:8]" access="INDEX" offset="0x0.12" size="0x0.2" />
	<field name="local_port" descr="Local port number" access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="tx_group" descr="Tx Group\;Default: 0\;Range 0.. cap_max_tx_groups-1" access="RW" offset="0x4.0" size="0x0.8" />
</node>

<node name="qpts_ext" descr="" size="0x8.0" >
	<field name="lp_msb" descr="Local port[9:8]" access="INDEX" offset="0x0.12" size="0x0.2" />
	<field name="local_port" descr="Local Port\;CPU port supported" access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="trust_state" descr="0: TRUST_PORT \;1: TRUST_PCP - default\;2: TRUST_DSCP - when MPLS trust EXP\;3: TRUST_BOTH" access="RW" enum="TRUST_PORT=0x0,TRUST_PCP=0x1,TRUST_DSCP=0x2,TRUST_BOTH=0x3" offset="0x4.0" size="0x0.3" />
</node>

<node name="qrwe_ext" descr="" size="0x8.0" >
	<field name="lp_msb" descr="Local port[9:8]" access="INDEX" offset="0x0.12" size="0x0.2" />
	<field name="local_port" descr="Local port\;Supported for CPU port\;No support for router port" access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="pcp" descr="pcp_rewrite_enable:\;0: disable PCP and DEI rewrite, this is the default \;1: enable PCP and DEI rewrite" access="RW" offset="0x4.0" size="0x0.1" />
	<field name="dscp" descr="dscp_rewrite_enable:\;0: disable DSCP rewrite, this is the default \;1: enable DSCP rewrite" access="RW" offset="0x4.1" size="0x0.1" />
	<field name="exp" descr="exp_rewrite_enable:\;0: disable EXP rewrite, this is the default \;1: enable EXP rewrite" access="RW" offset="0x4.2" size="0x0.1" />
</node>

<node name="qsipg_ext" descr="" size="0x8.0" >
	<field name="lp_msb" descr="Local port[9:8]" access="INDEX" offset="0x0.12" size="0x0.2" />
	<field name="local_port" descr="Egress Local port\;No support for CPU port" access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="ext_ipg" descr="Extended Shaper IPG\;Default 0\;Spectrum-1/2: range 0..35\;Spectrum-3 and on: range 0..43\;Units of 1B\;" access="RW" offset="0x4.0" size="0x0.8" />
</node>

<node name="qsll_ext" descr="" size="0x8.0" >
	<field name="sll_time" descr="SLL Time\;SLL Time = 4.096uSec * 2^sll_time\;Default is 20 (4.3Sec)Range is 3 ..30\;Value of 31 means infinite (no SLL)" access="RW" offset="0x4.0" size="0x0.5" />
</node>

<node name="qspcp_ext" descr="" size="0xc.0" >
	<field name="switch_prio" descr="Switch Priority entry form mapping to Counting Priority.\;Switch Priority 15 maps for control packets (mapped to counting priority 7 by default).\;" access="INDEX" offset="0x0.0" size="0x0.4" />
	<field name="lp_msb" descr="Local port[9:8]" access="INDEX" offset="0x0.12" size="0x0.2" />
	<field name="local_port" descr="Local port\;No support for CPU port\;No support for router port\;" access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="rx_counting_prio" descr="The Rx Counting Priority value for the relevant Switch Priority value.\;default: \;for i=[0..7]: switch_prio i: rx_counting_prio i\;for i=[8..15]: switch_prio i: rx_counting_prio (i-8)" access="RW" offset="0x4.0" size="0x0.3" />
	<field name="tx_counting_prio" descr="The Tx Counting Priority value for the relevant Switch Priority value.\;default: \;for i=[0..7]: switch_prio i: tx_counting_prio i\;for i=[8..15]: switch_prio i: tx_counting_prio (i-8)\;Note: This field is reserved when QGCR.tx_cnt_tclass is set." access="RW" offset="0x8.0" size="0x0.3" />
</node>

<node name="qspip_ext" descr="" size="0x8.0" >
	<field name="switch_prio" descr="Switch Priority entry form mapping to IEEE Priority" access="INDEX" offset="0x0.0" size="0x0.4" />
	<field name="ieee_prio" descr="The new IEEE Priority value for the relevant Switch Priority value.\;default: \;for i=[0..7]: switch_prio i: ieee_prio i\;for i=[8..15]: switch_prio i: ieee_prio (i-8)\;Note: Different switch_prio values assigned to a given buffer (see PPTB) may be assigned to different ieee_prio values." access="RW" offset="0x4.0" size="0x0.3" />
</node>

<node name="qtct_ext" descr="" size="0x8.0" >
	<field name="switch_prio" descr="Switch Priority" access="INDEX" offset="0x0.0" size="0x0.4" />
	<field name="mc" descr="[Spectrum-6]\;Multicast packet.\;Used only in multicast aware free mode.\;0: UC\;1: MC\;\;Supported on Spectrum switches from Spectrum-6.\;Reserved in modes different from multicast aware free mode - when QTCTM.mc     MC_FREE." access="INDEX" enum="UC=0x0,MC=0x1" offset="0x0.8" size="0x0.1" />
	<field name="lp_msb" descr="Local port[9:8]" access="INDEX" offset="0x0.12" size="0x0.2" />
	<field name="local_port" descr="Local port number (transmit port)\;No support for CPU port" access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="tclass" descr="Traffic Class\;Default values are: \;- switch_prio=0: tclass=1 \;- switch_prio=1: tclass=0\;- switch_prio&gt;1: tclass = switch_prio\;[Spectrum-6] Default values for both UC and MC in Spectrum-6:\;- switch_prio=0: tclass=1 \;- switch_prio=1: tclass=0\;- 1&lt;switch_prio&lt;8: tclass = switch_prio\;- switch_prio   8: tclass = 8\;\;Valid values: 0..cap_max_tclass_data-1.\;When MC aware mode is enabled, setting values greater or equal to (cap_max_tclass_data)/2) is not allowed." access="RW" offset="0x4.0" size="0x0.4" />
</node>

<node name="qtctm_ext" descr="" size="0x8.0" >
	<field name="lp_msb" descr="Local port[9:8]" access="INDEX" offset="0x0.12" size="0x0.2" />
	<field name="local_port" descr="Local port\;No support for CPU port" access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="mc" descr="Multicast aware mode.\;0: NONE_MC_AWARE - Switch Priority to Traffic Class mapping is not based on Multicast packet indication (default)\;1: MC_AWARE - Switch Priority to Traffic Class mapping is based on Multicast packet indication" access="RW" enum="NONE_MC_AWARE=0x0,MC_AWARE=0x1" offset="0x4.0" size="0x0.2" />
</node>

<node name="qtdem_ext" descr="" size="0xc.0" >
	<field name="tqos_profile" descr="Tunnel qos profile.\;0..cap_max_tqos_profile" access="INDEX" offset="0x0.0" size="0x0.4" />
	<field name="eip_ecn" descr="Egress IP ECN\;ECN field of the IP header of the packet which goes out from the decapsulation" access="RW" offset="0x4.8" size="0x0.2" />
	<field name="overlay_ecn" descr="ECN field of the IP header in the overlay network\;If the packet has no overlay IP header, the decapsulation uses the mapped value &apos;0&apos;" access="INDEX" offset="0x4.16" size="0x0.2" />
	<field name="underlay_ecn" descr="ECN field of the IP header in the underlay network" access="INDEX" offset="0x4.24" size="0x0.2" />
	<field name="trap_id" descr="Trap ID\;Trap-ID is DECAP_ECN0 or DECAP_ECN1 \;\;Reserved when trap_en is &apos;0&apos;" access="RW" offset="0x8.0" size="0x0.10" />
	<field name="trap_en" descr="Trap enable:\;0: no_trap - due to decap ecn\;1: trap_enable - with trap_id. HPKT can control the trap action. See Section 2.17.3, &quot;HPKT - Host PacKet Trap&quot;, on page 689" access="RW" enum="no_trap=0x0,trap_enable=0x1" offset="0x8.28" size="0x0.4" />
</node>

<node name="qteem_ext" descr="" size="0xc.0" >
	<field name="tqos_profile" descr="Tunnel qos profile.\;0..cap_max_tqos_profile" access="INDEX" offset="0x0.0" size="0x0.4" />
	<field name="underlay_ecn" descr="ECN of the IP header in the underlay network" access="RW" offset="0x4.16" size="0x0.2" />
	<field name="overlay_ecn" descr="ECN of the IP header in the overlay network\;Note: if overlay packet did not have ECN then the overlay ECN of the packet is considered as 0x0\;" access="INDEX" offset="0x4.24" size="0x0.2" />
</node>

<node name="qtgtc_ext" descr="" size="0x10.0" >
	<field name="tx_group" descr="Tx Group\;Range 0.. cap_max_tx_groups-1\;Default: 0" access="INDEX" offset="0x4.0" size="0x0.8" />
	<field name="switch_prio" descr="Switch Priority" access="INDEX" offset="0x8.0" size="0x0.4" />
	<field name="tclass" descr="Traffic Class for Adaptive Routing grading\;Range 0.. cap_max_tclass_ar-1\;Reserved when disabled=1 in Spectrum-5." access="RW" offset="0xC.0" size="0x0.4" />
	<field name="disabled" descr="Disable AR tclass.\;Spectrum-5 only, defaults to 1.\;Reserved in all Spectrum switches except Spectrum-5.\;" access="RW" offset="0xC.31" size="0x0.1" />
</node>

<node name="qtqcr_ext" descr="" size="0xc.0" >
	<field name="tqos_profile" descr="Tunnel qos profile.\;0..cap_max_tqos_profile" access="INDEX" offset="0x0.0" size="0x0.4" />
	<field name="enc_pcp_rw" descr="For encapsulation (new header when NAT4To6): how to handle the pcp_rewrite_en:\;0: Preserve the value of the pcp_rewrite_en\;2: Clear the pcp_rewrite_en\;3: Set the pcp_rewrite_en" access="RW" offset="0x4.0" size="0x0.2" />
	<field name="enc_dscp_rw" descr="For encapsulation (new header when NAT4To6): how to handle the dscp_rewrite_en:\;0: Preserve the value of the dscp_rewrite_en\;2: Clear the dscp_rewrite_en\;3: Set the dscp_rewrite_en" access="RW" offset="0x4.2" size="0x0.2" />
	<field name="enc_set_sp" descr="For encapsulation (new header when NAT4To6): how to set Switch Priority and packet Color:\;0: Preserve Switch Priority and packet Color\;1: Set new Switch Priority and packet Color as configured by QTQDR." access="RW" offset="0x4.24" size="0x0.1" />
	<field name="enc_set_dscp" descr="For encapsulation: how to set DSCP field:\;0: Copy the DSCP from the overlay (inner) IP header to the underlay (outer) IP header. If there is no IP header, use QTQDR.dscp\;1: Set the DSCP field as the QTQDR.dscp\;Note: \;1. if overlay is non-IP (e.g. MPLSoIP) then action is set regardless of configuration.\;2. for NAT4To6, encapsulation refers to new header" access="RW" offset="0x4.28" size="0x0.1" />
	<field name="dec_pcp_rw" descr="For decapsulation: how to handle the pcp_rewrite_en:\;0: Preserve the value of the pcp_rewrite_en\;2: Clear the pcp_rewrite_en\;3: Set the pcp_rewrite_en" access="RW" offset="0x8.0" size="0x0.2" />
	<field name="dec_dscp_rw" descr="For decapsulation: how to handle the dscp_rewrite_en:\;0: Preserve the value of the dscp_rewrite_en\;2: Clear the dscp_rewrite_en\;3: Set the dscp_rewrite_en" access="RW" offset="0x8.2" size="0x0.2" />
	<field name="dec_set_pcp" descr="For decapsulation: how to set the overlay PCP,DEI fields:\;0: Preserve/Set inner PCP,DEI when push. When untagged push value according to QPDPC tunnel_port for PCP,DEI \;1: Copy the PCP,DEI from the underlay L2 header (default)\;Note: for L3 overlay a &quot;virtual-pcp&quot; is set, used for ACL lookup" access="RW" offset="0x8.20" size="0x0.1" />
	<field name="dec_set_sp" descr="For decapsulation: how to set Switch Priority and packet Color:\;0: Preserve Switch Priority\;1: Set a new Switch Priority from overlay DSCP as configured by RDPM (of the overlay packet, even if not routed). If dec_set_dscp is COPY then take new DSCP.\;See Section 14.14.18, &quot;RDPM - Router DSCP to Priority Mapping Register&quot;, on page 4154." access="RW" offset="0x8.24" size="0x0.1" />
	<field name="dec_set_dscp" descr="For decapsulation: how to set the overlay DSCP field, if exists, while stripping off the underlay headers:\;0: Preserve inner DSCP\;1: Copy the DSCP from the underlay IP header" access="RW" offset="0x8.28" size="0x0.1" />
</node>

<node name="qtqdr_ext" descr="" size="0x8.0" >
	<field name="tqos_profile" descr="Tunnel qos profile.\;0..cap_max_tqos_profile" access="INDEX" offset="0x0.0" size="0x0.4" />
	<field name="lp_msb" descr="Local port[9:8]" access="INDEX" offset="0x0.12" size="0x0.2" />
	<field name="local_port" descr="Local port number (receive port)\;Supported for CPU port" access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="dscp" descr="For NVE/IP encapsulation, the default DSCP" access="RW" offset="0x4.0" size="0x0.6" />
	<field name="exp" descr="For MPLS ingress LER, the default EXP" access="RW" offset="0x4.8" size="0x0.3" />
	<field name="switch_prio" descr="For encapsulation, the default values of Switch Priority" access="RW" offset="0x4.16" size="0x0.4" />
	<field name="color" descr="For encapsulation, the default values of packet Color" access="RW" offset="0x4.24" size="0x0.2" />
</node>

<node name="qtttl_ext" descr="" size="0xc.0" >
	<field name="tqos_profile" descr="Tunnel qos profile.\;0..cap_max_tqos_profile" access="INDEX" offset="0x0.0" size="0x0.4" />
	<field name="enc_ttl_uc" descr="The TTL for Flex Tunnel encapsulation of unicast packets" access="RW" offset="0x4.0" size="0x0.8" />
	<field name="enc_ttlc" descr="For Flex Tunnel encapsulation: TTL Copy from inner:\;0: use enc_ttl_uc or enc_ttl_mc\;1: copy the ttl from the packet header\;" access="RW" offset="0x4.8" size="0x0.1" />
	<field name="decap_ttl" descr="Configures the overlay TTL at decap\;0: PRESERVE - The overlay TTL is as is from the overlay. Spectrum supports this mode only.\;\;1: COPY - The overlay TTL is taken from the underlay. \;\;2: MINIMUM - The overlay TTL is the minimum value between underlay and overlay TTL.\;For all cases, the later overlay router will decrement the TTL.\;Note: \;1. if no overlay TTL then the action is ignored.\;2. same config for UC and for MC\;\;Reserved whenNAT4To6." access="RW" offset="0x4.16" size="0x0.2" />
	<field name="enc_ttl_mc" descr="The TTL for Flex Tunnel encapsulation of underlay multicast packets" access="RW" offset="0x8.0" size="0x0.8" />
</node>

<node name="ralbu_ext" descr="" size="0x20.0" >
	<field name="virtual_router" descr="Virtual Router ID\;Range is 0..cap_max_virtual_routers-1" access="INDEX" offset="0x0.0" size="0x0.16" />
	<field name="protocol" descr="Protocol\;0: Unicast IPv4\;1: Unicast IPv6" access="INDEX" offset="0x0.24" size="0x0.4" />
	<field name="flex_action_in_routes" descr="Flex action indication.\;Assures that entries with flex action set are updated." access="OP" offset="0x0.28" size="0x0.1" />
	<field name="bin" descr="The LPM entries assigned to this bin may be updated.\;" access="INDEX" offset="0x4.0" size="0x0.8" />
	<field name="old_bmp_len" descr="The value of the bmp_len field in the rules assigned to bin that would be replaced by new_bmp_len." access="INDEX" offset="0x4.16" size="0x0.8" />
	<field name="prefix_len" descr="The prefix length of the LPM route that was added/removed\;" access="INDEX" offset="0x8.0" size="0x0.8" />
	<field name="new_bmp_len" descr="The value of the bmp_len that would be written instead of the old_bmp_len" access="WO" offset="0x8.16" size="0x0.8" />
	<field name="ip" descr="This field is the prefix of the LPM route that was added/removed.. The field must be padded with zeros after the first prefix_len bits." access="INDEX" high_bound="3" low_bound="0" offset="0x10.0" size="0x10.0" />
</node>

<node name="ralcm_ext" descr="" size="0x4.0" >
	<field name="protocol" descr="Protocol:\;0: Unicast IPv4\;1: Unicast IPv6" access="INDEX" offset="0x0.12" size="0x0.4" />
	<field name="virtual_router" descr="Virtual Router ID\;Range is 0..cap_max_virtual_routers-1" access="INDEX" offset="0x0.16" size="0x0.16" />
</node>

<node name="raleu_ext" descr="" size="0x30.0" >
	<field name="virtual_router" descr="Virtual Router ID\;Range is 0..cap_max_virtual_routers-1\;Reserved when mvr = 1" access="INDEX" offset="0x0.0" size="0x0.16" />
	<field name="mvr" descr="Mask virtual_router\;Update all virtual routers" access="OP" offset="0x0.16" size="0x0.1" />
	<field name="type" descr="Update RALUE Action type:\;0: REMOTE - update RALUE Remote Actions\;1: AR - update RALUE AR Actions\;2: ARN - update ARN generation pointers\;3: ARLPGT - update RALEU AR LPGT pointer" access="INDEX" enum="REMOTE=0x0,AR=0x1,ARN=0x2,ARLPGT=0x3" offset="0x0.20" size="0x0.2" />
	<field name="protocol" descr="Protocol\;0: Unicast IPv4\;1: Unicast IPv6" access="INDEX" offset="0x0.24" size="0x0.4" />
	<field name="update_field" descr="Additional field to update bitmap:\;Bit0: update arn_ptr and arn_ptr_v\;Bit1: update arlpgt_ptr" access="OP" offset="0x4.0" size="0x0.4" />
	<field name="adjacency_index" descr="Adjacency Index used for matching on the existing entries.\;When type = 0: Adjacency_index\;Whne type = 1: ARFT pointer\;When type = 2: arn_ptr\;When type = 3: ARLPGT pointer" access="INDEX" offset="0x10.0" size="0x0.24" />
	<field name="ecmp_size" descr="ECMP Size used for matching on the existing entries.\;Values are according to the mixed ECMP scheme detailed in Table 3438, &quot;ECMP Sizes,&quot; on page 4038.\;If type = 2/3, this field is reserved." access="INDEX" offset="0x14.0" size="0x0.13" />
	<field name="new_adjacency_index" descr="New Adjacency Index. \;When type = 0: Adjacency_index\;Whne type = 1: ARLFT pointer\;When type = 2: arn_ptr\;When type = 3: ARLPGT pointer" access="WO" offset="0x20.0" size="0x0.24" />
	<field name="new_ecmp_size" descr="New ECMP Size. \;Values are according to the mixed ECMP scheme detailed in Table 3438, &quot;ECMP Sizes,&quot; on page 4038.\;If type = 2/3, this field is reserved." access="WO" offset="0x24.0" size="0x0.13" />
	<field name="arn_ptr" descr="ARN pointer.\;When add_field.bit0 = 1, update also arn_ptr" access="WO" offset="0x28.0" size="0x0.24" />
	<field name="arn_ptr_v" descr="ARN pointer valid.\;Reserved when update_field.bit0 = 0." access="WO" offset="0x28.31" size="0x0.1" />
	<field name="arlpgt_ptr" descr="ARLPGT pointer.\;When update_field.bit1 is set, update also arlpgt_ptr" access="WO" offset="0x2C.0" size="0x0.16" />
</node>

<node name="raleu_v2_ext" descr="" size="0x50.0" >
	<field name="virtual_router" descr="Virtual Router ID\;Range is 0..cap_max_virtual_routers-1\;Reserved when mvr = 1" access="INDEX" offset="0x0.0" size="0x0.16" />
	<field name="mvr" descr="Mask virtual_router\;Update all virtual routers" access="OP" offset="0x0.16" size="0x0.1" />
	<field name="action_type" descr="Update RALUE Action type:\;0: REMOTE - update RALUE Remote Actions\;1: AR - update RALUE AR Actions" access="INDEX" enum="REMOTE=0x0,AR=0x1" offset="0x0.24" size="0x0.4" />
	<field name="protocols" descr="Protocols Bitmask\;At least one protocol must be set.\;\;Bit 0: Unicast IPv4\;Bit 1: Unicast IPv6" access="INDEX" offset="0x0.28" size="0x0.4" />
	<field name="match_mask" descr="Match mask.\;At least one field should be set.\;\;Bit 0: ecmp_index and ecmp_size\;Bit 1: arn_ptr_v and arn_gen_ptr\;Bit 2: arlpgt_pointer - For AR Action type only, reserved when Remote action type.\;Bit 3: route_user_val - Supported from Spectrum-3." access="OP" offset="0x4.0" size="0x0.8" />
	<field name="update_mask" descr="Update mask.\;At least one field should be set.\;\;Bit 0: new_ecmp_index and new_ecmp_size\;Bit 1: new_arn_ptr_v and new_arn_gen_ptr\;Bit 2: new_arlpgt_pointer - For AR Action type only, reserved when Remote action type.\;Bit 3: new_route_user_val - Supported from Spectrum-3." access="OP" offset="0x8.0" size="0x0.8" />
	<field name="ecmp_index" descr="ECMP Index used for matching on the existing entries.\;When action_type = REMOTE: Adjacency index\;When action_type = AR: ARFT pointer" access="INDEX" offset="0x10.0" size="0x0.24" />
	<field name="ecmp_size" descr="ECMP Size used for matching on the existing entries.\;Values are according to the mixed ECMP scheme detailed in Table 3438, &quot;ECMP Sizes,&quot; on page 4038." access="INDEX" offset="0x14.0" size="0x0.13" />
	<field name="route_user_val" descr="ROUTE user value.\;Supported from Spectrum-3." access="INDEX" offset="0x14.24" size="0x0.8" />
	<field name="arn_gen_ptr" descr="ARN pointer.\;Reserved when arn_ptr_v=0." access="INDEX" offset="0x18.0" size="0x0.24" />
	<field name="arn_ptr_v" descr="ARN pointer valid.\;For matching entries without ARN pointer." access="INDEX" offset="0x18.31" size="0x0.1" />
	<field name="arlpgt_pointer" descr="ARLPGT pointer.\;For AR Action type only, reserved when Remote action type." access="INDEX" offset="0x1C.0" size="0x0.16" />
	<field name="new_ecmp_index" descr="New ECMP Index.\;When action_type = REMOTE: Adjacency index\;When action_type = AR: ARFT pointer" access="WO" offset="0x30.0" size="0x0.24" />
	<field name="new_ecmp_size" descr="New ECMP Size. \;Values are according to the mixed ECMP scheme detailed in Table 3438, &quot;ECMP Sizes,&quot; on page 4038." access="WO" offset="0x34.0" size="0x0.13" />
	<field name="new_route_user_val" descr="New ROUTE user value.\;Supported from Spectrum-3." access="WO" offset="0x34.24" size="0x0.8" />
	<field name="new_arn_gen_ptr" descr="New ARN pointer." access="WO" offset="0x38.0" size="0x0.24" />
	<field name="new_arn_ptr_v" descr="New ARN pointer valid." access="WO" offset="0x38.31" size="0x0.1" />
	<field name="new_arlpgt_pointer" descr="New ARLPGT pointer.\;For AR Action type only, reserved when Remote action type." access="WO" offset="0x3C.0" size="0x0.16" />
</node>

<node name="ralst_ext" descr="" size="0x104.0" >
	<field name="tree_id" descr="Tree identifier numbered from 1..(cap_shspm_max_trees-1)." access="INDEX" offset="0x0.0" size="0x0.8" />
	<field name="root_bin" descr="The bin number of the root bin. \;0&lt;root_bin=&lt;(length of IP address)\;For a default-route tree configure 0xff" access="RW" offset="0x0.16" size="0x0.8" />
	<field name="bin" descr="Holding the childs of the bin according to the stored tree&apos;s structure. The most significant byte is the bin&apos;s number of the left child and the least significant byte holds the right child. See Table 3570, &quot;bin Layout,&quot; on page 4175. \;0xFF indicates that there is no child. For trees composed of less than 4 blocks, the bins in excess are reserved.\;Note that tree_id 0 is allocated for a default-route tree, bins are 0xff" access="RW" high_bound="128" low_bound="1" offset="0x4.16" size="0x100.0" />
</node>

<node name="ralta_ext" descr="" size="0x4.0" >
	<field name="tree_id" descr="An identifier (numbered from 1..cap_shspm_max_trees-1) representing the tree identifier (managed by software).\;Note that tree_id 0 is allocated for a default-route tree" access="INDEX" offset="0x0.0" size="0x0.8" />
	<field name="protocol" descr="Protocol:\;0: Unicast IPv4\;1: Unicast IPv6\;Reserved when op = 1 (deallocate a tree)." access="RW" offset="0x0.24" size="0x0.4" />
	<field name="op" descr="opcode (valid for Write, must be 0 on Read)\;0: allocate a tree\;1: deallocate a tree" access="OP" offset="0x0.28" size="0x0.2" />
</node>

<node name="raltb_ext" descr="" size="0x4.0" >
	<field name="tree_id" descr="Tree to be used for the {virtual_router, protocol}\;Tree identifier numbered from 1..(cap_shspm_max_trees-1).\;By default, all Unicast IPv4 and IPv6 are bound to tree_id 0" access="RW" offset="0x0.0" size="0x0.8" />
	<field name="protocol" descr="Protocol. \;0: Unicast IPv4\;1: Unicast IPv6" access="INDEX" offset="0x0.12" size="0x0.4" />
	<field name="virtual_router" descr="Virtual Router ID\;Range is 0..cap_max_virtual_routers-1" access="INDEX" offset="0x0.16" size="0x0.16" />
</node>

<node name="ralue_action_auto_ext" descr="" attr_is_union="1" size="0x14.0" >
	<field name="ar_action_ext" descr="" subnode="ar_action_ext" offset="0x0.0" selected_by="AR" size="0x14.0" />
	<field name="ip2me_ext" descr="" subnode="ip2me_ext" offset="0x0.0" selected_by="IP2ME" size="0x14.0" />
	<field name="local_action_ext" descr="" subnode="local_action_ext" offset="0x0.0" selected_by="LOCAL" size="0x14.0" />
	<field name="remote_action_ext" descr="" subnode="remote_action_ext" offset="0x0.0" selected_by="REMOTE" size="0x14.0" />
</node>

<node name="ralue_ext" descr="" size="0x4c.0" >
	<field name="a" descr="Activity. Set for new entries. Set if a packet lookup has hit on the specific entry, only if the entry is a route. To clear the a bit, use &quot;clear activity&quot; op.\;Enabled by activity_dis in RGCR, see Section 14.14.2, &quot;RGCR - Router General Configuration Register&quot;, on page 4070" access="RO" offset="0x0.16" size="0x0.1" />
	<field name="op" descr="Operation\;For Write:\;0: Write operation. Used to write a new entry to the table. All RW fields are written for new entry. Activity bit is set for new entries.\;1: Update operation. Used to update an existing route entry and only update the RW fields that are detailed in the field op_u_mask. If entry doesn&apos;t exist, the operation fails.\;2: Clear activity. The activity bit (the field a) is cleared for the entry.\;3: Delete operation. Used to delete an existing entry. If entry doesn&apos;t exist, the operation fails.\;For Query:\;0: Read operation. If entry doesn&apos;t exist, the operation fails\;1: Clear on read operation. Used to read entry and clear Activity bit" access="OP" offset="0x0.20" size="0x0.3" />
	<field name="protocol" descr="0: Unicast IPv4\;1: Unicast IPv6" access="INDEX" offset="0x0.24" size="0x0.4" />
	<field name="op_u_mask" descr="opcode update mask.\;On read operation, this field is reserved.\;This field is valid for update opcode, otherwise - reserved\;This field is a bitmask of the fields that should be updated\;bit0: entry_type\;bit1: bmp_len\;bit2: action_type and action fields\;bit3: counter_set_type and counter_set_index fields, and set_flex_action and flex_action_index fields" access="WO" offset="0x4.8" size="0x0.4" />
	<field name="arn_u_mask" descr="ARN update mask.\;On read operation, this field is reserved.\;This field is valid for update opcode, otherwise - reserved\;0: arn field should be ignored.\;1: arn fields should be updated." access="WO" offset="0x4.12" size="0x0.1" />
	<field name="route_user_val_u_mask" descr="ROUTE user value update mask.\;On read operation, this field is reserved.\;Reserved when entry_type = MARKER_ENTRY.\;This field is valid for update opcode, otherwise - reserved\;0: route_user_val field should be ignored.\;1: route_user_val fields should be updated.\;Supported from Spectrum-3." access="WO" offset="0x4.13" size="0x0.1" />
	<field name="virtual_router" descr="Virtual Router ID\;Range is 0..cap_max_virtual_routers-1" access="INDEX" offset="0x4.16" size="0x0.16" />
	<field name="prefix_len" descr="Number of bits in the prefix of the LPM route.\;Note that for IPv6 prefixes, if prefix_len&gt;64 the entry consumes two entries in the physical HW table" access="INDEX" offset="0x8.0" size="0x0.8" />
	<field name="jump_prefix" descr="Jump Prefix\;Supported from Spectrum-2.\;This field is reserved for IPv6 when RGCR.arn_en=1." access="RW" offset="0x8.8" size="0x0.8" />
	<field name="dip" descr="The prefix of the route or of the marker that the object of the LPM is compared with. The most significant bits of the dip are the prefix. The least significant bits must be &apos;0&apos; if the prefix_len is smaller than 128 for IPv6 or smaller than 32 for IPv4.\;IPv4 address uses bits dip[31:0] and bits dip[127:32] are reserved." access="INDEX" high_bound="3" low_bound="0" offset="0xC.0" size="0x10.0" />
	<field name="action_type" descr="Action Type\;Indicates how the IP address is connected\;It can be connected to a local subnet through local_erif or can be on a remote subnet connected through a next-hop router, or transmitted to the CPU.\;0: REMOTE\;1: LOCAL\;2: IP2ME\;3: AR - Adaptive Routing, res. when Spectrum\;\;\;Reserved when entry_type = MARKER_ENTRY" access="RW" enum="REMOTE=0x0,LOCAL=0x1,IP2ME=0x2,AR=0x3" offset="0x1C.0" size="0x0.4" />
	<field name="route_user_val" descr="ROUTE user value.\;Reserved when entry_type = MARKER_ENTRY.\;Supported from Spectrum-3." access="RW" offset="0x1C.8" size="0x0.8" />
	<field name="bmp_len" descr="The best match prefix length in the case that there is no match for longer prefixes (see &quot;Introduction&quot; on page 4024). \;If (entry_type != MARKER_ENTRY), bmp_len must be equal to prefix_len\;Note: for any update operation with entry_type modification this field must be set" access="RW" offset="0x1C.16" size="0x0.8" />
	<field name="entry_type" descr="Entry Type\;1: MARKER_ENTRY\;2: ROUTE_ENTRY\;3: MARKER_AND_ROUTE_ENTRY\;Note - for Marker entries, the action_type and action fields are reserved" access="RW" offset="0x1C.30" size="0x0.2" />
	<field name="action" descr="The forwarding action as function of action_type:\;For REMOTE see Table 3575, &quot;Remote action Layout,&quot; on page 4182\;For LOCAL see Table 3577, &quot;Local Action Layout,&quot; on page 4183\;For IP2ME see Table 3579, &quot;IP2ME action Layout,&quot; on page 4184\;For AR see Table 3581, &quot;AR Action Layout,&quot; on page 4185" subnode="ralue_action_auto_ext" access="RW" offset="0x20.0" size="0x14.0" union_selector="$(parent).action_type" />
	<field name="counter_index" descr="Counter Index for flow counters\;For Spectrum: see Section 5.2, &quot;Flow Counters&quot;, on page 1404\;Reserved when set_flex_action=1.\;Not supported by SwitchX and SwitchX-2" access="RW" offset="0x34.0" size="0x0.24" />
	<field name="counter_set_type" descr="Counter Set Type for flow counters\;For Spectrum: See Section 5.2.2, &quot;Counter Set Type&quot;, on page 1405\;Reserved when set_flex_action=1.\;Not supported by SwitchX and SwitchX-2" access="RW" offset="0x34.24" size="0x0.8" />
	<field name="arn_gen_ptr" descr="Pointer to ARN entry\;Reserved when arn_ptr_v is zero." access="RW" offset="0x38.0" size="0x0.24" />
	<field name="arn_ptr_v" descr="0: arn_ptr is not valid.\;1: arn_ptr is valid\;This field is reserved for IPv6 when RGCR.arn_en=0." access="RW" offset="0x38.31" size="0x0.1" />
	<field name="rpc_index" descr="Route Prefix Compression hash table row index.\;Range 0..cap_max_rpc_ip_rows-1.\;Reserved when set_rc=0." access="INDEX" offset="0x3C.0" size="0x0.16" />
	<field name="set_rpc" descr="Whether Route Prefix Compression hash table entries should be set.\;Reserved on Query and on op=2 (clear) on Write." access="OP" offset="0x3C.31" size="0x0.1" />
	<field name="rpc_entry_0" descr="Route Prefix Compression hash table entry in a row.\;Range 0..31.\;Reserved when set_rc=0 or rc_entry_0_length=0." access="INDEX" offset="0x40.0" size="0x0.8" />
	<field name="rpc_entry_0_length" descr="Value 0: Don&apos;t set the entry.\;Range 1..128." access="WO" offset="0x40.16" size="0x0.8" />
	<field name="rpc_entry_1" descr="Route Prefix Compression hash table entry in a row.\;Range 0..31.\;Reserved when set_rc=0 or rc_entry_1_length=0." access="INDEX" offset="0x44.0" size="0x0.8" />
	<field name="rpc_entry_1_length" descr="Value 0: Don&apos;t set the entry.\;Range 1..128.\;Reserved when set_rc=0." access="WO" offset="0x44.16" size="0x0.8" />
	<field name="flex_action_index" descr="Flexible ACL Action Set index.\;See Section 11.9, &quot;Flexible ACL Action Set&quot;, on page 3689.\;Supported in Spectrum-4 onwards.\;Reserved when set_action=0." access="RW" offset="0x48.0" size="0x0.24" />
	<field name="flex_action_removal" descr="Marks the removal of Flexible ACL Action from the entry.\;Must be used on Write when op=Write (0) or op=Update (1) and set_flex_action is changed from 1 to 0.\;This operation may result in higher execution time." access="OP" offset="0x48.30" size="0x0.1" />
	<field name="set_flex_action" descr="Run Flexible ACL Action Set instead of counter increment.\;See Section 11.9, &quot;Flexible ACL Action Set&quot;, on page 3689.\;Supported in Spectrum-4 onwards." access="RW" offset="0x48.31" size="0x0.1" />
</node>

<node name="ralueb_ext" descr="" size="0x90.0" >
	<field name="num_rec" descr="Request: Number of records to read/add/update/remove" access="OP" offset="0x0.0" size="0x0.12" />
	<field name="success_num_rec" descr="Response: Number of records read/added/updated/removed" access="RO" offset="0x4.0" size="0x0.12" />
	<field name="record" descr="RALUE records\;See Table 3585, &quot;RALUEB - Record Layout,&quot; on page 4188." subnode="ralueb_record_ext" access="RW" arr_is_dynamic="1" high_bound="VARIABLE" low_bound="0" offset="0x10.0" size="0x80.0" size_condition="$(parent).num_rec" />
</node>

<node name="ralueb_record_ext" descr="" size="0x80.0" >
	<field name="user_cookie" descr="User cookie - opaque value" subnode="uint64" access="OP" offset="0x0.0" size="0x8.0" />
	<field name="ralue" descr="RALUE record\;See Table 3573, &quot;RALUE - Router Algorithmic LPM Unicast Entry Register Layout,&quot; on page 4177." subnode="ralue_ext" access="RW" offset="0x8.0" size="0x4c.0" />
</node>

<node name="ralup_ext" descr="" size="0x50.0" >
	<field name="virtual_router" descr="Virtual Router ID\;Range is 0..cap_max_virtual_routers-1\;Reserved when mvr = 1" access="INDEX" offset="0x0.0" size="0x0.16" />
	<field name="mvr" descr="Mask virtual_router\;Update all virtual routers" access="OP" offset="0x0.16" size="0x0.1" />
	<field name="protocols" descr="Protocols Bitmask\;At least one protocol must be set.\;\;Bit 0: Unicast IPv4\;Bit 1: Unicast IPv6" access="INDEX" offset="0x0.28" size="0x0.4" />
	<field name="match_mask" descr="Match mask.\;At least one field should be set.\;\;Bit 0: flex_action_index" access="OP" offset="0x4.0" size="0x0.8" />
	<field name="update_mask" descr="Update mask.\;At least one field should be set.\;\;Bit 0: new_flex_action_index" access="OP" offset="0x8.0" size="0x0.8" />
	<field name="flex_action_index" descr="Flexible ACL Action Set index.\;See Section 11.9, &quot;Flexible ACL Action Set&quot;, on page 3689\;Supported in Spectrum-4 onwards." access="INDEX" offset="0x14.0" size="0x0.24" />
	<field name="new_flex_action_index" descr="New flexible ACL Action Set index.\;Supported in Spectrum-4 onwards." access="WO" offset="0x34.0" size="0x0.24" />
</node>

<node name="ram_binding_info_ext" descr="" size="0x8.0" >
	<field name="atomic" descr="0: non atomic \;1: atomic \;\;Note:\;FGCR must be set before using RAM_BINDING_INFO.atomic. Please see Table 3816, &quot;FGCR - Flex Modifier Global Configuration Register Fields,&quot; on page 4505" access="RW" offset="0x0.16" size="0x0.1" />
</node>

<node name="rarcc_ext" descr="" size="0x20.0" >
	<field name="clr" descr="Clear the counters" access="OP" offset="0x0.31" size="0x0.1" />
	<field name="ar_changes_congestion_high" descr="Count number of adaptive routing change events which have been triggered due to congestion or due to link-down." access="RO" offset="0x10.0" size="0x4.0" />
	<field name="ar_changes_congestion_low" descr="Count number of adaptive routing change events which have been triggered due to congestion or due to link-down." access="RO" offset="0x14.0" size="0x4.0" />
	<field name="ar_changes_arn_high" descr="Count number of adaptive routing change events which have been triggered due to ARN." access="RO" offset="0x18.0" size="0x4.0" />
	<field name="ar_changes_arn_low" descr="Count number of adaptive routing change events which have been triggered due to ARN." access="RO" offset="0x1C.0" size="0x4.0" />
</node>

<node name="rarcl_ext" descr="" size="0x2c.0" >
	<field name="th_index" descr="Threshold index.\;The threshold index correspond to AR grading template index.\;Range 0..1" access="INDEX" offset="0x0.0" size="0x0.4" />
	<field name="eport_cong_level0" descr="Egress ports congestion level threshold0\;Units of cells\;Notes: this configuration is for converting {eport,pool} to grade.\;" access="RW" offset="0x10.0" size="0x0.24" />
	<field name="eport_cong_level1" descr="Egress ports congestion level threshold1\;Units of cells" access="RW" offset="0x14.0" size="0x0.24" />
	<field name="eport_cong_level2" descr="Egress ports congestion level threshold2\;Units of cells" access="RW" offset="0x18.0" size="0x0.24" />
	<field name="tc_cong_level0" descr="Traffic Class congestion level threshold0\;Units of cells\;Notes:\;1. this configuration is for converting {eport, tclass} to grade.\;2. tc_cong_level0..2 is by QSGTC.tclass\;3. ignores ACL tclass remapping" access="RW" offset="0x20.0" size="0x0.24" />
	<field name="tc_cong_level1" descr="Traffic Class congestion level threshold1\;Units of cells" access="RW" offset="0x24.0" size="0x0.24" />
	<field name="tc_cong_level2" descr="Traffic Class congestion level threshold2\;Units of cells" access="RW" offset="0x28.0" size="0x0.24" />
</node>

<node name="rarft_ext" descr="" size="0x10.0" >
	<field name="arft_index" descr="AR Flow Table Index \;Note: profile1 should be at RALUE.ar_flow_table_size after profile0\;Pointer to PGT table." access="INDEX" offset="0x0.0" size="0x0.20" />
	<field name="arft_entry_in_row" descr="Index to entry in the arft row\;Range 0..cap_max_arft_entries_in_row-1" access="INDEX" offset="0x4.0" size="0x0.4" />
	<field name="local_port" descr="Egress local_port\;SW may set an entry. HW may change the entry.\;Valid when valid = &quot;1&quot;\;Notes: \;In normal flows, the local_port will be changed by HW as part of the adaptive routing\;May also be a port which is part of a LAG\;From Spectrum-5 onwards, service ports are not supported." access="RW" offset="0x8.0" size="0x0.8" />
	<field name="lp_msb" descr="Local port[15:8]\;Up to Spectrum-5 lp_msb[15:8] are reserved" access="RW" offset="0x8.8" size="0x0.8" />
	<field name="valid" descr="Valid\;SW can set non-valid or valid. HW can only set valid.\;When HW encounters a non-valid entry then HW will choose the local_port and will set the valid to &quot;1&quot;\;" access="RW" offset="0x8.16" size="0x0.1" />
	<field name="ar_prof_id" descr="AR Profile_id:\;1: AR profile 0\;2: AR profile 1\;" access="RW" offset="0xC.0" size="0x0.4" />
</node>

<node name="rarftb_ext" descr="" size="0xc.0" >
	<field name="arft_index" descr="AR Flow Table Index \;Note: profile1 should be at RALUE.ar_flow_table_size after profile0\;Pointer to PGT table." access="INDEX" offset="0x0.0" size="0x0.20" />
	<field name="num_of_arft_lines" descr="Number of AR Flow Table lines to flush.\;Note: each line contains cap_max_arft_entries_in_row entries" access="OP" offset="0x4.0" size="0x0.16" />
</node>

<node name="rarftbr_ext" descr="" size="0x18.0" >
	<field name="num_rec" descr="Number of Flow Table entries.\;Not to be confused with table rows that holds several AR flow table entries.\;Note: every row holds &apos;cap_max_arft_entries_in_row&apos; entries.\;Stops reading rows on the first encounter of non-AR flow row, hence returned numbers of entries can be lower." access="OP" offset="0x0.0" size="0x0.16" />
	<field name="arft_index" descr="The first AR Flow Table index to begin with." access="INDEX" offset="0x4.0" size="0x0.20" />
	<field name="flow_table_records" descr="AR Flow Table entries.\;See Table 3661, &quot;RARFTBR - Flow Table Record Layout,&quot; on page 4244" subnode="rarftbr_record_ext" access="RW" arr_is_dynamic="1" high_bound="VARIABLE" low_bound="0" offset="0x10.0" size="0x8.0" size_condition="$(parent).num_rec" />
</node>

<node name="rarftbr_record_ext" descr="" size="0x8.0" >
	<field name="local_port" descr="Egress local_port.\;Valid when ar_prof_id != &quot;0&quot;.\;Note: In normal flows the local_port will be changed by HW as part of the adaptive routing.\;Note: may also be a port which is part of a LAG." access="RO" offset="0x0.0" size="0x0.8" />
	<field name="lp_msb" descr="Local port[15:8]\;Up to Spectrum-5 lp_msb[15:8] are reserved" access="RO" offset="0x0.8" size="0x0.8" />
	<field name="ar_prof_id" descr="AR Profile_id.\;0: Uninitialized\;1: AR_Profile0\;2: AR_Profile1\;Values 3..15 are reserved." access="RO" enum="Uninitialized=0x0,AR_Profile0=0x1,AR_Profile1=0x2" offset="0x0.16" size="0x0.4" />
	<field name="arn_state" descr="ARN state.\;0: ARN_IDLE\;1: ARN_RECEIVED\;2: ARN_HOLD_AFTER_CHANGE\;3: Reserved\;Reserved when ar_prof_id = &apos;0&apos;." access="RO" enum="ARN_IDLE=0x0,ARN_RECEIVED=0x1,ARN_HOLD_AFTER_CHANGE=0x2,Reserved=0x3" offset="0x4.16" size="0x0.2" />
</node>

<node name="rargcr_ext" descr="" size="0x8.0" >
	<field name="arft_index_base" descr="AR Flow Table Index \;Pointer to PGT table\;Valid values: 0 .. cap_pgt_size-1\;\;Notes: \;1. Can be changed on the fly\;2. Base address should be aligned to 8, or 16 in Spectrum-6 onwards\;" access="RW" offset="0x0.0" size="0x0.20" />
	<field name="arft_index_size" descr="defines the max arft index to be used\;\;Note: Can be changed on the fly\;Valid values: 0 .. cap_pgt_size-1\;" access="RW" offset="0x4.0" size="0x0.16" />
</node>

<node name="rargcr_v2_ext" descr="" size="0x10.0" >
	<field name="write_mask" descr="Write Mask\;Bit mask for selective field updates (Write only)\;Each bit corresponds to a field or field group in the register\;\;Bit 0: ARFT - Controls update of arft_index_base and arft_index_size\;Bit 1: AR_COUNTERS_EN - Controls update of ar_counters_en\;" access="WO" enum="ARFT=0x1,AR_COUNTERS_EN=0x2" offset="0x0.0" size="0x4.0" />
	<field name="ar_counters_en" descr="AR Counters Enable\;\;Supported from Spectrum-2.\;\;Default: Initialized from Config Profile ar_counters_en (default: 1 = enabled)\;1: RARCC enabled\;0: RARCC disabled" access="RW" offset="0x4.31" size="0x0.1" />
	<field name="arft_index_base" descr="AR Flow Table Index \;Pointer to PGT table\;Valid values: 0 .. cap_pgt_size-1\;\;Notes: \;1. Can be changed on the fly\;2. Base address should be aligned to 8, or 16 in Spectrum-6 onwards\;" access="RW" offset="0x8.0" size="0x0.20" />
	<field name="arft_index_size" descr="defines the max arft index to be used\;\;Note: Can be changed on the fly\;Valid values: 0 .. cap_pgt_size-1" access="RW" offset="0xC.0" size="0x0.16" />
</node>

<node name="rargcs_ext" descr="" size="0x10.0" >
	<field name="set" descr="Active AR grading configuration set.\;Reserved when e=0.\;0: STATELESS_SINGLE_TC\;1: STATELESS_DUAL_TC" access="RW" enum="STATELESS_SINGLE_TC=0x0,STATELESS_DUAL_TC=0x1" offset="0x0.0" size="0x0.8" />
	<field name="e" descr="AR grading configuration set enable.\;0: disabled - SW managed\;1: enabled - FW managed" access="RW" offset="0x0.31" size="0x0.1" />
</node>

<node name="rargmc_ext" descr="" size="0x20.0" >
	<field name="mat_indx" descr="Matrix index:\;0: GRADE_MATRIX_0\;1: GRADE_MATRIX_1\;2: FINAL_GRADE_MATRIX" access="INDEX" enum="GRADE_MATRIX_0=0x0,GRADE_MATRIX_1=0x1,FINAL_GRADE_MATRIX=0x2" offset="0x0.0" size="0x0.2" />
	<field name="grd_mat" descr="AR grade matrix values.\;eport.tclass is line selector, eport.pool is row selector.\;grd_mat[0] = first line, first row\;grd_mat[1] = first line, second row\;...\;grd_mat[4] = second line, first row\;...\;\;If mat_indx = 0 or mat_indx = 1, range 0...3\;If mat_indx = 2, range 0...4\;grd_mat[8-15] is reserved when mat_indx = 2\;For the matrices default values see Table 14.15.7.1, &quot;AR Grade Matrices Default values,&quot; on page 4234" access="RW" high_bound="15" low_bound="0" offset="0x10.24" size="0x10.0" />
</node>

<node name="rargtc_ext" descr="" size="0x10.0" >
	<field name="lp_msb" descr="Local port[9:8]" access="INDEX" offset="0x0.12" size="0x0.2" />
	<field name="local_port" descr="Egress local port.\;CPU port is not supported.\;Reserved when g=1" access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="g" descr="Global.\;When set all the local ports but the CPU port apply.\;Reserved on Query." access="INDEX" offset="0x0.31" size="0x0.1" />
	<field name="lossless_tc_map" descr="Lossless Traffic Class bitmap.\;0: Tclass is lossy - default\;1: Tclass is lossless\;" access="WO" offset="0x8.0" size="0x0.16" />
</node>

<node name="rarlpgt_ext" descr="" size="0xa0.0" >
	<field name="arlpgt_index" descr="AR Local Port Group Table Index \;Range 0.. cap_max_arlpgt-1\;" access="INDEX" offset="0x0.0" size="0x0.16" />
	<field name="egress_port" descr="Egress local_port bitmask\;Note: all ports of a given LAG-ID must have the same value\;No CPU (bit 0 reserved)\;Note: From Spectrum-5 onwards, service ports are not supported." access="RW" high_bound="31" low_bound="0" offset="0x20.0" size="0x80.0" />
</node>

<node name="rarlu_ext" descr="" size="0xc.0" >
	<field name="lp_msb" descr="Local port[9:8]" access="INDEX" offset="0x0.12" size="0x0.2" />
	<field name="local_port" descr="Egress local port" access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="link_utilization_thr" descr="Link Utilization Threshold rate\;bps mode, Units of 1000bps\;Granularity is 200mbps\;" access="RW" offset="0x4.0" size="0x0.31" />
	<field name="lut_en" descr="Link Utilization Threshold enable:\;0: disable - disabled by default for all ports.\;1: enable" access="RW" enum="disable=0x0,enable=0x1" offset="0x4.31" size="0x0.1" />
</node>

<node name="rarncg_ext" descr="" size="0x20.0" >
	<field name="arn_dip_ipv4" descr="Allowed DIP for ARN consumption.\;This field is ignored when RARNCP.arn_dip_en = 0" access="RW" offset="0x0.0" size="0x4.0" />
	<field name="arn_dip_ipv6_31_0" descr="Allowed DIP for ARN consumption.\;This field is ignored when RARNCP.arn_dip_en = 0" access="RW" offset="0x4.0" size="0x4.0" />
	<field name="arn_dip_ipv6_63_32" descr="Allowed DIP for ARN consumption.\;This field is ignored when RARNCP.arn_dip_en = 0" access="RW" offset="0x8.0" size="0x4.0" />
	<field name="arn_dip_ipv6_95_64" descr="Allowed DIP for ARN consumption.\;This field is ignored when RARNCP.arn_dip_en = 0" access="RW" offset="0xC.0" size="0x4.0" />
	<field name="arn_dip_ipv6_127_96" descr="Allowed DIP for ARN consumption.\;This field is ignored when RARNCP.arn_dip_en = 0" access="RW" offset="0x10.0" size="0x4.0" />
	<field name="arn_udp_dport" descr="UDP dport to match for ARN parsing (whether it is consumed or not)." access="RW" offset="0x14.0" size="0x0.16" />
	<field name="arn_rcv_ok_cnt" descr="Index of flow counter that counts the number of ARN packet that was consumed by the switch.\;Range 0...cap_shared_counter_pool_size - 1\;Reserved when rcv_ok_cnt_type = 0." access="RW" offset="0x18.0" size="0x0.24" />
	<field name="rcv_ok_cnt_type" descr="Counter Set Type for arn_rcv_ok_cnt\;For Spectrum: See Section 5.2.2, &quot;Counter Set Type&quot;, on page 1405" access="RW" offset="0x18.24" size="0x0.8" />
	<field name="arn_rcv_bad_cnt" descr="Index of flow counter that counts the number of ARN packet that was should be consumed by the switch but didn&apos;t because of:\;1. The route that hit is not AR route.\;2. Finale classification is not ar_profile_0/1 or AR mode is RANDOM.\;3. ARN consume is not enabled for the ingress local port.\;Range 0...cap_shared_counter_pool_size - 1" access="RW" offset="0x1C.0" size="0x0.24" />
	<field name="rcv_bad_cnt_type" descr="Counter Set Type for arn_rcv_bad_cnt\;For Spectrum: See Section 5.2.2, &quot;Counter Set Type&quot;, on page 1405" access="RW" offset="0x1C.24" size="0x0.8" />
</node>

<node name="rarncp_ext" descr="" size="0xc.0" >
	<field name="lp_msb" descr="Local port[9:8]" access="INDEX" offset="0x0.12" size="0x0.2" />
	<field name="local_port" descr="Local port number" access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="arn_dmac_31_0" descr="Allowed DMAC for ARN consumption\;This field is ignored when arn_dmac_en = 0" access="RW" offset="0x4.0" size="0x4.0" />
	<field name="arn_dmac_47_32" descr="Allowed DMAC for ARN consumption" access="RW" offset="0x8.0" size="0x0.16" />
	<field name="arn_en" descr="ARN parsing and consumption.\;0: disable\;1: enable" access="RW" offset="0x8.29" size="0x0.1" />
	<field name="arn_dip_en" descr="0: do not use DIP in ARN consumption check\;1: use DIP in ARN consumption check\;Note - for DIP configuration see" access="RW" offset="0x8.30" size="0x0.1" />
	<field name="arn_dmac_en" descr="0: do not use DMAC in ARN consumption check\;1: use DMAC in ARN consumption check" access="RW" offset="0x8.31" size="0x0.1" />
</node>

<node name="rarngc_ext" descr="" size="0x1c.0" >
	<field name="udp_src_port" descr="UDP source port in ARN header" access="RW" offset="0x0.0" size="0x0.16" />
	<field name="udp_dst_port" descr="UDP destination port in ARN header" access="RW" offset="0x0.16" size="0x0.16" />
	<field name="switch_id" descr="Switch ID in ARN header.\;Not effect the ARN functionality." access="RW" offset="0x4.0" size="0x0.16" />
	<field name="version" descr="Version in ARN header." access="RW" offset="0x4.24" size="0x0.4" />
	<field name="ip_df" descr="IP Don&apos;t Fragment Indication.\;This field configures the df bit in the IP header in ARN encapsulation.\;Default is 1." access="RW" offset="0x4.31" size="0x0.1" />
	<field name="fl_suffix" descr="Constant 8 least significant bits of the flow label." access="RW" offset="0x8.0" size="0x0.8" />
	<field name="fl_prefix" descr="Constant 12 most significant bits of the flow label." access="RW" offset="0x8.8" size="0x0.12" />
	<field name="flc" descr="Flow Label Copy from inner:\;0: Calculate flow label using flh.\;1: If packet is IPv6 and encapsulation is IPv6, copy the\;whole flow label from the packet header. Otherwise, calculate\;flow label using flh." access="RW" offset="0x8.24" size="0x0.1" />
	<field name="flh" descr="Flow Label Hash:\;0: Flow Label is static\;1: Flow Label 8 least significant bits are calculated from\;ECMP hash bitwise OR with fl_suffix, and 12msb are\;configured by fl_prefix." access="RW" offset="0x8.25" size="0x0.1" />
	<field name="arn_vr_base" descr="Arn virtual router base.\;If arn_vr_en is set, the virtual router of the arn packet (original packet sip lookup) will be arn_vr_base + physical ingress port (local port - 1)." access="RW" offset="0xC.0" size="0x0.13" />
	<field name="arn_gen_th_grade" descr="Threshold for triggering ARN.\;If the best grade in the AR group is higher then or equal to arn_gen_grade, ARN will be generated.\;Range 1...4." access="RW" offset="0xC.16" size="0x0.3" />
	<field name="prefix_match_type" descr="0: FULL_AND_SUBNET - match full and subnet\;1: FULL_ONLY - match full only\;2: ANY - match any (include default route, full and subnet)" access="RW" enum="FULL_AND_SUBNET=0x0,FULL_ONLY=0x1,ANY=0x2" offset="0xC.26" size="0x0.2" />
	<field name="arn_vr_en" descr="0: use original virtual router.\;1: Enable setting the virtual router for the ARN packet lookup (original packet sip lookup)." access="RW" offset="0xC.31" size="0x0.1" />
	<field name="truncation_size" descr="Truncation size.\;Granularity of 4B.\;Range 0...cap_max_truncation_size - 1\;Reserved when tr_en = 0" access="RW" offset="0x10.0" size="0x0.13" />
	<field name="tr_en" descr="Truncation Enable.\;0: no truncation\;1: truncation enabled" access="RW" offset="0x10.31" size="0x0.1" />
	<field name="arn_ptr_not_vld_cnt" descr="Index of flow counter that counts the number of ARN generation process that was failed due to ARN_PTR_NOT_VLD check.\;Range 0...cap_shared_counter_pool_size - 1" access="RW" offset="0x14.0" size="0x0.24" />
	<field name="not_vld_set_type" descr="Counter Set Type for arn_ptr_not_vld_cnt\;For Spectrum: See Section 5.2.2, &quot;Counter Set Type&quot;, on page 1405" access="RW" offset="0x14.24" size="0x0.8" />
	<field name="arn_bad_sip_cnt" descr="Index of flow counter that counts the number of ARN generation process that was failed due to ARN_BAD_SIP check.\;Range 0...cap_shared_counter_pool_size - 1" access="RW" offset="0x18.0" size="0x0.24" />
	<field name="bad_sip_cnt_type" descr="Counter Set Type for arn_bad_sip_cnt\;For Spectrum: See Section 5.2.2, &quot;Counter Set Type&quot;, on page 1405" access="RW" offset="0x18.24" size="0x0.8" />
</node>

<node name="rarnpc_ext" descr="" size="0x10.0" >
	<field name="lp_msb" descr="Local port[9:8]" access="INDEX" offset="0x0.12" size="0x0.2" />
	<field name="local_port" descr="Local port" access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="clr_cnt" descr="Clear Counter.\;When set, arn_transmit_cnt will be cleared after read." access="OP" offset="0x4.0" size="0x0.1" />
	<field name="shaper_en" descr="0: Disable ARN shaper on this port.\;1: Enable ARN shaper on this port." access="RW" offset="0x4.29" size="0x0.1" />
	<field name="ingress_en" descr="0: Disable ARN generation on this ingress port.\;1: Enable ARN generation on this ingress port." access="RW" offset="0x4.30" size="0x0.1" />
	<field name="egress_en" descr="0: Disable ARN generation on this egress port.\;1:Enable ARN generation on this egress port.\;Note: For service ports in Spectrum-5 onwards, ARN generation on egress must be disabled (0)." access="RW" offset="0x4.31" size="0x0.1" />
	<field name="arn_transmit_cnt" descr="ARN Transmit Counter.\;Counts the number of ARN packets that was transmitted by this local_port." subnode="uint64" access="RO" offset="0x8.0" size="0x8.0" />
</node>

<node name="rarnpr_ext" descr="" size="0xc.0" >
	<field name="profile_index" descr="AR Profile_id:\;1: AR profile 0\;2: AR profile 1" access="INDEX" offset="0x0.0" size="0x0.4" />
	<field name="arn_gen_en" descr="Enables ARN generation for the AR profile." access="RW" offset="0x0.16" size="0x0.1" />
	<field name="elph" descr="Generate ARN only for elephant flows." access="RW" offset="0x0.31" size="0x0.1" />
	<field name="arn_aging_time" descr="Time between receive ARN state to idle state when there was no new port selection.\;[DWIP] Units of 2uSec (2048nSec).\;[DWIP] Range 17...128.\;\;Note: Not relevant for Stateless AR profile." access="RW" offset="0x4.0" size="0x0.8" />
	<field name="hold_time_after_change" descr="Hold time after change.\;After selecting new port because of ARN consumption, new port selection will not happen until this time passes.\;[DWIP] Units of 2uSec (2048nSec).\;[DWIP] Range 1...128.\;\;Note: the purpose of this time is to help stabilize the network after new port selection because of ARN consumption.\;Note: Not relevant for Stateless AR profile." access="RW" offset="0x4.16" size="0x0.8" />
	<field name="penalty_grade" descr="Defines the penalty that the ingress port will have when a packet arrives on a flow that in ARN receive state.\;Range 0...4\;Note: the grade will be min(6, current_grade+penalty)\;Note: Not relevant for Stateless AR profile." access="RW" offset="0x8.0" size="0x0.3" />
</node>

<node name="rarns_ext" descr="" size="0x8.0" >
	<field name="arn_gen_min_time" descr="Minimum time between ARN generations.\;Units of 100nSec.\;Range 1...50,000,000.\;Default value is 1.\;Reserved on ports that Table 3675, &quot;RARNPC - Router ARN Port Configuration Register Layout,&quot; on page 4253 shaper_en field is not set." access="RW" offset="0x4.0" size="0x4.0" />
</node>

<node name="rarpc_ext" descr="" size="0xd0.0" >
	<field name="pc_entry" descr="Packet classification index\;For Spectrum2 allow: 0..cap_max_ar_packet_classifiers -1\;When multi-match then classifier with lower value wins.\;When no match the default classifier wins.\;Reserved when pc_default = 1" access="INDEX" offset="0x0.0" size="0x0.8" />
	<field name="pc_default" descr="Default packet classifier entry (after last entry, in case of no other match)" access="INDEX" offset="0x0.8" size="0x0.1" />
	<field name="ar_packet_prof_id" descr="Packet_profile_id:\;0: HBF\;1: AR profile 0\;2: AR profile 1" access="RW" offset="0x4.0" size="0x0.4" />
	<field name="inner_must" descr="Inner must:\;0: if no inner then ignore all inner matches (inner is considered as a match)\;1: if no inner then no match" access="RW" offset="0x4.8" size="0x0.1" />
	<field name="l4_inner" descr="L4 port comparator inner or outer\;0: Auto_Inner - if inner exists then will take inner, else takes outer (default)\;1: Outer_only\;Supported only from Spectrum-4 and above." access="RW" offset="0x4.9" size="0x0.1" />
	<field name="switch_prio" descr="Bitwise enable per each Switch Priority\;Reserved when pc_default = 1" access="RW" offset="0x10.0" size="0x0.16" />
	<field name="inner_l4_type" descr="Bit0: others\;Bit1: TCP\;Bit2: UDP\;Bit3: ROCE_V2\;\;Reserved when pc_default = 1" access="RW" offset="0x14.0" size="0x0.8" />
	<field name="l4_type" descr="Bit0: others\;Bit1: TCP\;Bit2: UDP\;Bit3: ROCE_V2\;Reserved when pc_default = 1" access="RW" offset="0x14.8" size="0x0.8" />
	<field name="inner_l3_type" descr="Bit0: others\;Bit1: IPv4\;Bit2: IPv6\;\;Reserved when pc_default = 1" access="RW" offset="0x14.16" size="0x0.8" />
	<field name="l3_type" descr="Bit0: others\;Bit1: IPv4\;Bit2: IPv6\;\;Reserved when pc_default = 1" access="RW" offset="0x14.24" size="0x0.8" />
	<field name="bth_opcode_msb" descr="Bitwise enable on BTH.opcode[7:5]\;Reserved when pc_default = 1" access="RW" offset="0x18.0" size="0x0.8" />
	<field name="bth_ar" descr="BTH.ar (propriety bit)\;Bit0: ar_is_0\;Bit1: ar_is_1\;Reserved when pc_default = 1" access="RW" offset="0x18.8" size="0x0.2" />
	<field name="bth_opcode_lsb" descr="Bitwise enable on BTH.opcode[4:0]\;Reserved when pc_default = 1" access="RW" offset="0x1C.0" size="0x4.0" />
	<field name="inner_bth_opcode_msb" descr="Bitwise enable on Inner BTH.opcode[7:5]\;Reserved when pc_default = 1" access="RW" offset="0x20.0" size="0x0.8" />
	<field name="inner_bth_ar" descr="Inner BTH.ar (propriety bit)\;Bit0: ar_is_0\;Bit1: ar_is_1\;Reserved when pc_default = 1" access="RW" offset="0x20.8" size="0x0.2" />
	<field name="inner_bth_opcode_lsb" descr="Bitwise enable on Inner BTH.opcode[4:0]\;Reserved when pc_default = 1" access="RW" offset="0x24.0" size="0x4.0" />
	<field name="ingress_port" descr="Bitwise enable ingress local_port\;Reserved when pc_default = 1" access="RW" high_bound="31" low_bound="0" offset="0x30.0" size="0x80.0" />
	<field name="l4port_cmp" descr="See Section 14.15.3.1, &quot;RARPC - L4 Port Range Comparator&quot;, on page 4227.\;Reserved when pc_default = 1" subnode="rarpc_l4port_cmp_ext" access="RW" high_bound="3" low_bound="0" offset="0xB0.0" size="0x20.0" />
</node>

<node name="rarpc_l4port_cmp_ext" descr="" size="0x8.0" >
	<field name="port_range_max" descr="" access="RW" offset="0x0.0" size="0x0.16" />
	<field name="port_range_min" descr="" access="RW" offset="0x0.16" size="0x0.16" />
	<field name="comp_field" descr="Comparator field type:\;0: DISABLED, always match \;1: UDP only \;2: TCP only \;3: UDP or TCP" access="RW" offset="0x4.0" size="0x0.2" />
	<field name="port_src" descr="Comparator port source or dest:\;0: DPORT\;1: SPORT" access="RW" offset="0x4.4" size="0x0.1" />
</node>

<node name="rarppm_ext" descr="" size="0x8.0" >
	<field name="lp_msb" descr="Local port[9:8]" access="INDEX" offset="0x0.4" size="0x0.2" />
	<field name="pool" descr="Pool index.\;Range 0..cap_num_pool_supported-1" access="INDEX" offset="0x0.8" size="0x0.6" />
	<field name="local_port" descr="Local port number for egress sport\;Not supported for CPU port" access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="th_indx" descr="AR eport.tclass threshold index.\;Range is 0,1.\;Default value 0." access="RW" offset="0x4.0" size="0x0.2" />
</node>

<node name="rarpr_ext" descr="" size="0x14.0" >
	<field name="ar_prof_id" descr="AR Profile_id:\;1: AR profile 0\;2: AR profile 1" access="INDEX" offset="0x0.0" size="0x0.4" />
	<field name="prof_mode" descr="Profile mode:\;0: AR_Free\;1: AR_Time_bound\;2: AR_Random\;4: AR_Static - current port will not change, if entry is not valid - new port selection will be done and will not change afterwards.\;5: AR_Stateless - supported from Spectrum-5 onwards" access="RW" enum="AR_Free=0x0,AR_Time_bound=0x1,AR_Random=0x2,AR_Static=0x4,AR_Stateless=0x5" offset="0x4.0" size="0x0.4" />
	<field name="grade_thr_busy" descr="Threshold for Busy grade\;Range 0..4 (higher is more congested)\;Reserved when prof_mode = 2,5" access="RW" offset="0x8.0" size="0x0.3" />
	<field name="grade_thr_free" descr="Threshold for Free grade\;Range 0..4 (higher is more congested)\;Reserved when prof_mode = 2,5" access="RW" offset="0x8.8" size="0x0.3" />
	<field name="elph" descr="AR only for elephant flows\;Reserved when prof_mode != 0" access="RW" offset="0x8.24" size="0x0.1" />
	<field name="port_select_mode" descr="[DWIP][Spectrum-6]\;Port Selection Mode.\;0: RANDOM - Random from best\;1: SRR - Semi Round Robin\;Supported from Spectrum-6." access="RW" enum="RANDOM=0x0,SRR=0x1" offset="0x8.28" size="0x0.4" />
	<field name="srt" descr="Enable the ar_shaper_rate_to\;Note: shaper_from is done prior to shaper_to\;Reserved when prof_mode = 2,5\;[Spectrum-6] Reserved in Spectrum-6." access="RW" offset="0xC.0" size="0x0.1" />
	<field name="srf" descr="Enable the ar_shaper_rate_from\;Reserved when prof_mode = 2,5\;[Spectrum-6] Reserved in Spectrum-6." access="RW" offset="0xC.1" size="0x0.1" />
	<field name="time_bound_time" descr="Units of 1uSec\;Range 5..1000\;Reserved when prof_mode != 1\;" access="RW" offset="0x10.0" size="0x0.10" />
</node>

<node name="rarptm_ext" descr="" size="0x8.0" >
	<field name="lp_msb" descr="Local port[9:8]" access="INDEX" offset="0x0.4" size="0x0.2" />
	<field name="tclass" descr="Tclass index.\;Range 0..cap_max_tclass_data-1" access="INDEX" offset="0x0.8" size="0x0.6" />
	<field name="local_port" descr="Local port number for egress sport\;Not supported for CPU port" access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="th_indx" descr="AR eport.tclass threshold index.\;Range is 0,1.\;Default value 0." access="RW" offset="0x4.0" size="0x0.2" />
	<field name="mat_indx" descr="AR initial Matrix index.\;Range is 0,1.\;Default value 0." access="RW" offset="0x4.16" size="0x0.2" />
</node>

<node name="rarsr_ext" descr="" size="0x8.0" >
	<field name="ar_srf" descr="Adaptive Routing Shaper Rate From\;Shape the time between ar flows that can change their destination from a output port\;\;Units of 100nSec\;Range 1 or more\;\;Shaper burst size is 1.\;Shaper error is up to *8 faster (e.g. when configured\;1mSec, then there will be 1 to 8 changes in 1mSec)" access="RW" offset="0x0.0" size="0x0.16" />
	<field name="ar_srt" descr="Adaptive Routing Shaper Rate To\;Shape the time between ar flows that can change their destination to a output port\;\;Units of 100nSec\;Range 1 or more\;\;Shaper burst size is 1.\;Shaper error is up to *8 faster (e.g. when configured\;1mSec, then there will be 1 to 8 changes in 1mSec)" access="RW" offset="0x4.0" size="0x0.16" />
</node>

<node name="rartm_ext" descr="" size="0x44.0" >
	<field name="mapping" descr="Mapping of a single tclass.\;Index range is 0..cap_max_tclass_data-1\;See Table 3669, &quot;RARTM Tclass Mapping Layout,&quot; on page 4247" subnode="rartm_mapping_ext" access="RW" high_bound="15" low_bound="0" offset="0x0.0" size="0x40.0" />
</node>

<node name="rartm_mapping_ext" descr="" size="0x4.0" >
	<field name="ar_tclass" descr="The mapped AR tclass.\;Range 0..cap_max_tclass_ar-1.\;Reserved when en=0." access="RW" offset="0x0.0" size="0x0.5" />
	<field name="en" descr="Tclass participates in mapping.\;Exactly cap_max_tclass_ar tclasses have to be enabled." access="RW" offset="0x0.31" size="0x0.1" />
</node>

<node name="ratr_adjacency_parameters_auto_ext" descr="" attr_is_union="1" size="0x18.0" >
	<field name="arn_encap_adjacency_ext" descr="" subnode="arn_encap_adjacency_ext" offset="0x0.0" selected_by="ARN_Encap" size="0x14.0" />
	<field name="eth_adjacency_ext" descr="" subnode="eth_adjacency_ext" offset="0x0.0" selected_by="Ethernet" size="0x18.0" />
	<field name="ip_gw_adjacency_ext" descr="" subnode="ip_gw_adjacency_ext" offset="0x0.0" selected_by="NAT4To6" size="0x14.0" />
	<field name="ipinip_encap_adjacency_ext" descr="" subnode="ipinip_encap_adjacency_ext" offset="0x0.0" selected_by="IPinIP_Encap" size="0x18.0" />
	<field name="ipoib_multicast_adjacency_ext" descr="" subnode="ipoib_multicast_adjacency_ext" offset="0x0.0" selected_by="IPoIB_Multicast" size="0x18.0" />
	<field name="ipoib_unicast_with_grh_adjacency_ext" descr="" subnode="ipoib_unicast_with_grh_adjacency_ext" offset="0x0.0" selected_by="IPoIB_Unicast_with_GRH" size="0x18.0" />
	<field name="ipoib_unicast_without_grh_adjacency_ext" descr="" subnode="ipoib_unicast_without_grh_adjacency_ext" offset="0x0.0" selected_by="IPoIB_Unicast_without_GRH" size="0x18.0" />
	<field name="l3_generic_encap_adjacency_ext" descr="" subnode="l3_generic_encap_adjacency_ext" offset="0x0.0" selected_by="L3_generic_encap" size="0x18.0" />
	<field name="mpls_adjacency_ext" descr="" subnode="mpls_adjacency_ext" offset="0x0.0" selected_by="MPLS" size="0x18.0" />
	<field name="relookup_ecmp_adjacency_ext" descr="" subnode="relookup_ecmp_adjacency_ext" offset="0x0.0" selected_by="ReLookupECMP" size="0x18.0" />
	<field name="relookup_lpm_adjacency_ext" descr="" subnode="relookup_lpm_adjacency_ext" offset="0x0.0" selected_by="ReLookupLPM" size="0x18.0" />
</node>

<node name="ratr_ext" descr="" size="0x2c.0" >
	<field name="size" descr="Size - only valid for Allocate / Resize command.\;Reserved when Spectrum/-2" access="RW" offset="0x0.0" size="0x0.16" />
	<field name="a" descr="Activity. Set for new entries. Set if a packet lookup has hit on the specific entry. To clear the a bit, use &quot;clear activity&quot; opcode.\;Enabled by activity_dis in RGCR, see Section 14.14.2, &quot;RGCR - Router General Configuration Register&quot;, on page 4070" access="RO" offset="0x0.16" size="0x0.1" />
	<field name="v" descr="Valid bit.\;Spectrum-1: Indicates if the adjacency entry is valid (Write and Query).\;When v=0 the entry discards hit packets.\;When v=0 then egress_router_interface, trap_action, adjacency_parameters and counters are reserved.\;When v=1 and opcode=3 FW returns v=0 when entry wasn&apos;t written successfully (entry was already active)\;\;From Spectrum-2:\;Write operation: Must be set (v=1) When opcode=3 FW returns v=0 when entry wasn&apos;t written successfully (entry was already active).\;Query operation: FW always returns v=1. Non-existent entry will result in BAD_PARAM.\;" access="RW" offset="0x0.24" size="0x0.1" />
	<field name="opcode" descr="Operation\;For Write:\;1: Write Adjacency entry \;3: Write Adjacency entry only if the activity is cleared.\;The write may not succeed if the activity is already set, in this case FW will return v=0.\;This opcode must not be used for new entries.\;\;Note that Write operation may also be used for updating counter_set_type and counter_index. In this case all other fields must not be updated.\;\;For Query:\;0: Read\;2: Read and clear activity" access="OP" offset="0x0.28" size="0x0.4" />
	<field name="adjacency_index_15_0" descr="Least significant bits of index into the adjacency table.\;For SwitchX/-2, the adjacency table is linear and used for adjacency entries only. \;For Spectrum, the index is to the KVD linear, see A.2.1.2 &quot;KVD Central Database Linear Entries,&quot; on page 4588\;From Spectrum-2, the index is to the KVD linear, see A.3.1.2 &quot;KVD Central Database Linear Entries,&quot; on page 4597\;" access="INDEX" offset="0x4.0" size="0x0.16" />
	<field name="table" descr="Adjacency table:\;0: Ethernet_unicast_adjacency_table\;1: IPoIB_unicast_and_multicast_adjacency_table\;2: IPoIB_all_routers_adjacency_table\;3: IPoIB_IP_broadcast_adjacency_table\;Reserved when Spectrum/-2" access="INDEX" enum="Ethernet_unicast_adjacency_table=0x0,IPoIB_unicast_and_multicast_adjacency_table=0x1,IPoIB_all_routers_adjacency_table=0x2,IPoIB_IP_broadcast_adjacency_table=0x3" offset="0x4.16" size="0x0.3" />
	<field name="type" descr="Adjacency entry type:\;0: Ethernet\;1: IPoIB_Unicast_without_GRH\;2: IPoIB_Unicast_with_GRH\;3: IPoIB_Multicast\;4: MPLS\;5: IPinIP_Encap\;6: L3_generic_encap\;7: NAT4To6 - from Spectrum-4 y\;8: ReLookupECMP\;9: ReLookupLPM\;10: ARN_Encap" access="RW" enum="Ethernet=0x0,IPoIB_Unicast_without_GRH=0x1,IPoIB_Unicast_with_GRH=0x2,IPoIB_Multicast=0x3,MPLS=0x4,IPinIP_Encap=0x5,L3_generic_encap=0x6,NAT4To6=0x7,ReLookupECMP=0x8,ReLookupLPM=0x9,ARN_Encap=0xa" offset="0x4.28" size="0x0.4" />
	<field name="egress_router_interface" descr="Egress Router Interface Index\;Range is 0 .. cap_max_router_interfaces - 1\;Reserved when type = 8" access="RW" offset="0x8.0" size="0x0.16" />
	<field name="trap_id" descr="Trap ID to be reported to CPU.\;For Spectrum, Trap-ID is RTR_EGRESS0 or RTR_EGRESS1.\;For Spectrum-2, Trap-ID is RTR_EGRESS0 .. RTR_EGRESS3.\;For trap_action of NOP, MIRROR and DISCARD_ERROR Error, trap_id is reserved." access="RW" offset="0xC.0" size="0x0.9" />
	<field name="adjacency_index_23_16" descr="Most significant bits of the adjacency_index" access="INDEX" offset="0xC.16" size="0x0.8" />
	<field name="trap_action" descr="Trap Action\;0: NOP\;1: TRAP\;2: MIRROR_TO_CPU\;3: MIRROR\;4: DISCARD_ERROR - see DISCARD_ROUTER3 trap_id\;\;When action is TRAP or DISCARD_ERROR then type must be &apos;0&apos;(Ethernet)" access="RW" enum="NOP=0x0,TRAP=0x1,MIRROR_TO_CPU=0x2,MIRROR=0x3,DISCARD_ERROR=0x4" offset="0xC.28" size="0x0.4" />
	<field name="adjacency_parameters" descr="Adjacency parameters. The parameters are related to the type field and are described in the tables below.\;Table 3500, &quot;Ethernet Adjacency Parameters Layout,&quot; on page 4127\;Table 3502, &quot;IPoIB Unicast without GRH Adjacency Parameters Layout,&quot; on page 4128\;Table 3504, &quot;IPoIB Unicast with GRH Adjacency Parameters Layout,&quot; on page 4129\;Table 3506, &quot;IPoIB Multicast Adjacency Parameters Layout,&quot; on page 4129\;Table 3508, &quot;MPLS Adjacency Parameters Layout,&quot; on page 4131\;Table 3510, &quot;IPinIP_Encap Adjacency Parameters Layout,&quot; on page 4132\;Table 3512, &quot;L3_Generic_Encap Adjacency Parameters Layout,&quot; on page 4134\;Table 3516, &quot;NAT4To6 Adjacency Parameters Layout,&quot; on page 4137\;Table 3514, &quot;ReLookupECMP Adjacency Parameters Layout,&quot; on page 4136\;Table 3518, &quot;ReLookupLPM Adjacency Parameters Layout,&quot; on page 4139\;Table 3520, &quot;ARN_Encap Adjacency Parameters Layout,&quot; on page 4140" subnode="ratr_adjacency_parameters_auto_ext" access="RW" offset="0x10.0" size="0x18.0" union_selector="$(parent).type" />
	<field name="counter_index" descr="Counter Index for flow counters.\;For Spectrum: See Section 5.2, &quot;Flow Counters&quot;, on page 1404\;Not supported by SwitchX and SwitchX-2" access="RW" offset="0x28.0" size="0x0.24" />
	<field name="counter_set_type" descr="Counter Set Type for flow counters.\;For Spectrum: See Section 5.2.2, &quot;Counter Set Type&quot;, on page 1405\;Not supported by SwitchX and SwitchX-2" access="RW" offset="0x28.24" size="0x0.8" />
</node>

<node name="ratrad_ext" descr="" size="0x210.0" >
	<field name="ecmp_size" descr="ecmp_size is the amount of sequential entries from the adjacency_index (the number of ECMPs).\;Values are according to the mixed ECMP scheme detailed in Table 3438, &quot;ECMP Sizes,&quot; on page 4038.\;Note: for small numbers (up to ~32) it will be faster to use RATR one by one" access="INDEX" offset="0x0.0" size="0x0.13" />
	<field name="op" descr="0: Read activity\;1: Read and clear activity" access="OP" offset="0x0.30" size="0x0.2" />
	<field name="adjacency_index" descr="Index into the adjacency table.\;For Spectrum, the index is to the KVD linear, see Appendix A.2.1.2, &quot;KVD Central Database Linear Entries&quot; (page 4588)" access="INDEX" offset="0x4.0" size="0x0.24" />
	<field name="activity_vector" descr="Activity per ECMP entry\;Line 10h bit 31 is for entry 4095\;Line 20C bit0 is for entry 0\;Bits higher than ecmp_size are reserved" access="RO" high_bound="127" low_bound="0" offset="0x10.0" size="0x200.0" />
</node>

<node name="ratrb_ext" descr="" size="0x420.0" >
	<field name="adjacency_index" descr="Index into the adjacency table.\;For Spectrum, the index is to the KVD linear, see Appendix A.2.1.2, &quot;KVD Central Database Linear Entries&quot; (page 4588)" access="INDEX" offset="0x0.0" size="0x0.24" />
	<field name="v" descr="Valid\;0: remove ecmp entries\;1: write ecmp entries" access="OP" offset="0x0.31" size="0x0.1" />
	<field name="num_rec" descr="Number of records to write\;Range 1..32" access="OP" offset="0x4.0" size="0x0.8" />
	<field name="trap_id" descr="Trap ID to be reported to CPU.\;Trap-ID is RTR_EGRESS0 .. RTR_EGRESS3.\;For trap_action of NOP, MIRROR and DISCARD_ERROR Error, trap_id is reserved." access="WO" offset="0x8.0" size="0x0.9" />
	<field name="trap_action" descr="Trap Action\;0: NOP\;1: TRAP\;2: MIRROR_TO_CPU\;3: MIRROR\;4: DISCARD_ERROR\;When action is TRAP or DISCARD_ERROR then type must be &apos;0&apos;(Ethernet)" access="WO" enum="NOP=0x0,TRAP=0x1,MIRROR_TO_CPU=0x2,MIRROR=0x3,DISCARD_ERROR=0x4" offset="0x8.28" size="0x0.4" />
	<field name="record" descr="Record. See Table 3524, &quot;RATRB - Record Layout,&quot; on page 4143" subnode="ratrb_v2_record_ext" access="WO" high_bound="31" low_bound="0" offset="0x20.0" size="0x400.0" />
</node>

<node name="ratrb_v2_record_adjacency_parameters_auto_ext" descr="" attr_is_union="1" size="0x18.0" >
	<field name="arn_encap_adjacency_ext" descr="" subnode="arn_encap_adjacency_ext" offset="0x0.0" selected_by="ARN_Encap" size="0x14.0" />
	<field name="eth_adjacency_ext" descr="" subnode="eth_adjacency_ext" offset="0x0.0" selected_by="Ethernet" size="0x18.0" />
	<field name="ip_gw_adjacency_ext" descr="" subnode="ip_gw_adjacency_ext" offset="0x0.0" selected_by="NAT4To6" size="0x14.0" />
	<field name="ipinip_encap_adjacency_ext" descr="" subnode="ipinip_encap_adjacency_ext" offset="0x0.0" selected_by="IPinIP_Encap" size="0x18.0" />
	<field name="l3_generic_encap_adjacency_ext" descr="" subnode="l3_generic_encap_adjacency_ext" offset="0x0.0" selected_by="L3_generic_encap" size="0x18.0" />
	<field name="mpls_adjacency_ext" descr="" subnode="mpls_adjacency_ext" offset="0x0.0" selected_by="MPLS" size="0x18.0" />
	<field name="relookup_ecmp_adjacency_ext" descr="" subnode="relookup_ecmp_adjacency_ext" offset="0x0.0" selected_by="ReLookupECMP" size="0x18.0" />
	<field name="relookup_lpm_adjacency_ext" descr="" subnode="relookup_lpm_adjacency_ext" offset="0x0.0" selected_by="ReLookupLPM" size="0x18.0" />
</node>

<node name="ratrb_v2_record_ext" descr="" size="0x20.0" >
	<field name="egress_router_interface" descr="Egress Router Interface Index\;Range is 0 .. cap_max_router_interfaces - 1" access="WO" offset="0x0.0" size="0x0.16" />
	<field name="size" descr="Size\;The amount of entries to be written for this record. Allows writing this record multiple consecutive times\;Range 1..4095" access="WO" offset="0x0.16" size="0x0.12" />
	<field name="type" descr="Adjacency entry type:\;0: Ethernet\;4: MPLS\;5: IPinIP_Encap\;6: L3_generic_encap - supported from Spectrum-2\;7: NAT4To6 - supported from Spectrum-4\;8: ReLookupECMP - supported from Spectrum-2\;9: ReLookupLPM - supported from Spectrum-4\;10: ARN_Encap" access="WO" enum="Ethernet=0x0,MPLS=0x4,IPinIP_Encap=0x5,L3_generic_encap=0x6,NAT4To6=0x7,ReLookupECMP=0x8,ReLookupLPM=0x9,ARN_Encap=0xa" offset="0x0.28" size="0x0.4" />
	<field name="counter_index" descr="Counter Index for flow counters.\;For Spectrum: See Section 5.2, &quot;Flow Counters&quot;, on page 1404" access="WO" offset="0x4.0" size="0x0.24" />
	<field name="counter_set_type" descr="Counter Set Type for flow counters.\;For Spectrum: See Section 5.2.2, &quot;Counter Set Type&quot;, on page 1405" access="WO" offset="0x4.24" size="0x0.8" />
	<field name="adjacency_parameters" descr="Adjacency parameters. The parameters are related to the type field and are described in the tables below.\;Table 3500, &quot;Ethernet Adjacency Parameters Layout,&quot; on page 4127\;Table 3508, &quot;MPLS Adjacency Parameters Layout,&quot; on page 4131\;Table 3510, &quot;IPinIP_Encap Adjacency Parameters Layout,&quot; on page 4132\;Table 3512, &quot;L3_Generic_Encap Adjacency Parameters Layout,&quot; on page 4134\;Table 3516, &quot;NAT4To6 Adjacency Parameters Layout,&quot; on page 4137\;Table 3514, &quot;ReLookupECMP Adjacency Parameters Layout,&quot; on page 4136\;Table 3518, &quot;ReLookupLPM Adjacency Parameters Layout,&quot; on page 4139\;Table 3520, &quot;ARN_Encap Adjacency Parameters Layout,&quot; on page 4140" subnode="ratrb_v2_record_adjacency_parameters_auto_ext" access="WO" offset="0x8.0" size="0x18.0" union_selector="$(parent).type" />
</node>

<node name="rauht_lpm_unicast_ext" descr="" size="0x74.0" >
	<field name="rif" descr="Router Interface" access="INDEX" offset="0x0.0" size="0x0.16" />
	<field name="a" descr="Activity. Set for new entries. Set if a packet lookup has hit on the specific entry.\;To clear the a bit, use &quot;clear activity&quot; op.\;Enabled by activity_dis in RGCR, see Section 14.14.2, &quot;RGCR - Router General Configuration Register&quot;, on page 4070" access="RO" offset="0x0.16" size="0x0.1" />
	<field name="op" descr="Operation\;For Write:\;0: Add. Used to write a new entry to the table. All RW fields are relevant for new entry. Activity bit is set for new entries\;1: Update action. Used to update an existing route entry and only update the following fields:\;trap_action, trap_id, mac, counter_set_type, counter_index\;2: Clear activity. A bit is cleared for the entry.\;3: Delete entry\;4: Delete all host entries on a RIF. In this command, dip field is reserved\;For Query:\;0: Read operation. \;1: Clear on read operation. Used to read entry and clear activity bit." access="OP" offset="0x0.20" size="0x0.3" />
	<field name="type" descr="Entry Type:\;0: IPv4\;1: IPv6" access="INDEX" offset="0x0.24" size="0x0.2" />
	<field name="dip" descr="Destination IP address.\;IPv4 address uses bits dip[31:0] and bits dip[127:32] are reserved.\;Note: This field is a RW field when accessing the entry using the handle." access="INDEX" high_bound="3" low_bound="0" offset="0x10.0" size="0x10.0" />
	<field name="trap_id" descr="Trap ID to be reported to CPU.\;For Spectrum, Trap-ID is RTR_EGRESS0 or RTR_EGRESS1.\;For Spectrum-2, Trap-ID is RTR_EGRESS0 .. RTR_EGRESS3.\;For trap_action of NOP, MIRROR and DISCARD_ERROR, trap_id is reserved." access="RW" offset="0x60.0" size="0x0.9" />
	<field name="trap_action" descr="Trap Action\;0: NOP\;1: TRAP\;2: MIRROR_TO_CPU\;3: MIRROR\;4: DISCARD_ERROR, see DISCARD_ROUTER3 trap_id" access="RW" offset="0x60.28" size="0x0.4" />
	<field name="counter_index" descr="Counter Index for flow counters.\;For Spectrum: See Section 5.2, &quot;Flow Counters&quot;, on page 1404\;Not supported by SwitchX and SwitchX-2" access="RW" offset="0x68.0" size="0x0.24" />
	<field name="counter_set_type" descr="Counter Set Type for flow counters.\;For Spectrum: See Section 5.2.2, &quot;Counter Set Type&quot;, on page 1405\;Not supported by SwitchX and SwitchX-2" access="RW" offset="0x68.24" size="0x0.8" />
	<field name="mac_47_32" descr="MAC address" access="RW" offset="0x6C.0" size="0x0.16" />
	<field name="mac_31_0" descr="MAC address" access="RW" offset="0x70.0" size="0x4.0" />
</node>

<node name="rauhtd_dump_record_auto_ext" descr="" attr_is_union="1" size="0x20.0" >
	<field name="rauhtd_ipv4_record_ext" descr="" subnode="rauhtd_ipv4_record_ext" offset="0x0.0" selected_by="IPv4" size="0x20.0" />
	<field name="rauhtd_ipv6_record_ext" descr="" subnode="rauhtd_ipv6_record_ext" offset="0x0.0" selected_by="IPv6" size="0x20.0" />
</node>

<node name="rauhtd_ext" descr="" size="0x40.0" >
	<field name="filter_fields" descr="Filter Fields:\;if a bit is &apos;0&apos; then the relevant field is ignored and dump is done regardless of the field value\;Bit0: filter by activity: entry_a\;Bit3: filter by entry rip: entry_rif" access="INDEX" offset="0x0.0" size="0x0.8" />
	<field name="num_rec" descr="At request: number of records requested\;At response: number of records dumped\;For IPv4, each record has 4 entries at request and up to 4 entries at response\;Range is 0..32" access="OP" offset="0x4.0" size="0x0.8" />
	<field name="op" descr="Operation\;0: Dump entries\;1: Clear activity for all entries which were dumped in the current session" access="OP" offset="0x4.24" size="0x0.2" />
	<field name="entry_type" descr="Dump only if entry type is:\;0: IPv4\;1: IPv6" access="INDEX" enum="IPv4=0x0,IPv6=0x1" offset="0x8.0" size="0x0.4" />
	<field name="entry_a" descr="Dump only if activity has value of entry_a\;Reserved if filter_fields bit0 is &apos;0&apos;" access="INDEX" offset="0x8.16" size="0x0.1" />
	<field name="entry_rif" descr="Dump only if RIF has value of entry_rif\;Reserved if filter_fields bit3 is &apos;0&apos;" access="INDEX" offset="0xC.0" size="0x0.16" />
	<field name="dump_record" descr="Dump record.\;For entry_type of IPv4 see Table 3591, &quot;RAUHTD Dump Record IPv4 Parameters Layout,&quot; on page 4194.\;For entry_type of IPv6 see Table 3593, &quot;RAUHTD IPv6 Dump Record Parameters Layout,&quot; on page 4195." subnode="rauhtd_dump_record_auto_ext" access="INDEX" high_bound="VARIABLE" low_bound="0" offset="0x20.0" size="0x20.0" union_selector="$(parent).entry_type" />
</node>

<node name="rauhtd_ipv4_record_ext" descr="" size="0x20.0" >
	<field name="rif0" descr="Router Interface" access="RO" offset="0x0.0" size="0x0.16" />
	<field name="a0" descr="Activity. Set for new entries. Set if a packet lookup has hit on the specific entry." access="RO" offset="0x0.16" size="0x0.1" />
	<field name="type" descr="Entry Type:\;0: IPv4" access="RO" offset="0x0.24" size="0x0.2" />
	<field name="num_entries" descr="Number of valid entries in this record:\;0: 1 valid entry\;1: 2 valid entries\;2: 3 valid entries\;3: 4 valid entries" access="RO" offset="0x0.28" size="0x0.2" />
	<field name="dip0" descr="Destination IPv4 address" access="RO" offset="0x4.0" size="0x4.0" />
	<field name="rif1" descr="Router Interface" access="RO" offset="0x8.0" size="0x0.16" />
	<field name="a1" descr="Activity. Set for new entries. Set if a packet lookup has hit on the specific entry." access="RO" offset="0x8.16" size="0x0.1" />
	<field name="dip1" descr="Destination IPv4 address" access="RO" offset="0xC.0" size="0x4.0" />
	<field name="rif2" descr="Router Interface" access="RO" offset="0x10.0" size="0x0.16" />
	<field name="a2" descr="Activity. Set for new entries. Set if a packet lookup has hit on the specific entry." access="RO" offset="0x10.16" size="0x0.1" />
	<field name="dip2" descr="Destination IPv4 address" access="RO" offset="0x14.0" size="0x4.0" />
	<field name="rif3" descr="Router Interface" access="RO" offset="0x18.0" size="0x0.16" />
	<field name="a3" descr="Activity. Set for new entries. Set if a packet lookup has hit on the specific entry." access="RO" offset="0x18.16" size="0x0.1" />
	<field name="dip3" descr="Destination IPv4 address" access="RO" offset="0x1C.0" size="0x4.0" />
</node>

<node name="rauhtd_ipv6_record_ext" descr="" size="0x20.0" >
	<field name="rif" descr="Router Interface" access="RO" offset="0x0.0" size="0x0.16" />
	<field name="a" descr="Activity. Set for new entries. Set if a packet lookup has hit on the specific entry." access="RO" offset="0x0.16" size="0x0.1" />
	<field name="type" descr="Entry Type:\;1: IPv6" access="RO" offset="0x0.24" size="0x0.2" />
	<field name="dip" descr="Destination IPv6 address." access="RO" high_bound="3" low_bound="0" offset="0x10.0" size="0x10.0" />
</node>

<node name="rcap_ext" descr="" size="0x8.0" >
	<field name="router_interfaces" descr="Maximal number of virtual interfaces supported by the device." access="RO" offset="0x0.0" size="0x0.16" />
	<field name="virtual_routers" descr="Maximum number of virtual routers supported by the device." access="RO" offset="0x4.0" size="0x0.16" />
</node>

<node name="rdpm_ext" descr="" size="0x40.0" >
	<field name="dscp" descr="DSCP entry is the DSCP to Prio mapping. For more details refer to Table 3540." access="INDEX" high_bound="63" low_bound="0" offset="0x0.24" size="0x40.0" />
</node>

<node name="recr_ext" descr="" size="0x10.0" >
	<field name="type" descr="Hash Type:\;0: CRC (default)\;1: XOR" access="RW" offset="0x0.0" size="0x0.4" />
	<field name="sh" descr="Symmetric Hash.\;When set, the hash calculation results in the same hash value as when Source Address (layer 3 and layer 4) is swapped. This ensures that the same conversions result in the same hash value.\;For SwitchX/-2: when this bit is set, enabling addresses in ecmp_hash must be in couples - both source and destination. This includes the following sets:\;SIP, DIP\;TCP/UDP Source Port, TCP/UDP destination port" access="RW" offset="0x0.8" size="0x0.1" />
	<field name="ecmp_hash" descr="ECMP Hashing Configuration. This is a bitmask, in which each set bit includes the corresponding item in the ECMP hash calculation.\;0: Source IP address (can be IPv4 or IPv6)\;1: Destination IP address (can be IPv4 or IPv6)\;2: Traffic Class (DSCP and ECN)\;3: Flow Label\;4: TCP/UDP indication (this is the next_protocol field)\;5: TCP/UDP Source Port\;6: TCP/UDP Destination Port\;\;The default ecmp_hash contains SIP, DIP, flow label, Source TCP/UDP Port and Destination TCP/UDP Port." access="RW" offset="0x4.0" size="0x0.20" />
	<field name="seed" descr="ECMP seed value." access="RW" offset="0x8.0" size="0x4.0" />
</node>

<node name="recr_v2_ext" descr="" size="0x50.0" >
	<field name="type" descr="Hash type\;0: CRC (default)\;1: XOR \;2: Random\;3: CRC2, For Spectrum-2 and on\;" access="RW" offset="0x0.0" size="0x0.4" />
	<field name="gsh" descr="Global Symmetric Hash:\;0: Disabled\;1: Symmetric hash \;When set, the hash calculation will result in the same hash value as when the source address (layer 2 and layer 3) is swapped. This ensures that the same conversions will result in the same hash value.\;Note: When this bit is set, enabling addresses in outer_header_fields_enables and inner_header_fields_enables\;For SwitchX/-2: must be in couples - both source and destination. This includes the following sets:\;- SMAC, DMAC\;- SIP, DIP\;- TCP/UDP source port, TCP/UDP destination port\;- SID, DID, for SwitchX/-2 only" access="RW" offset="0x0.8" size="0x0.2" />
	<field name="lp_msb" descr="Local port[9:8]" access="INDEX" offset="0x0.12" size="0x0.2" />
	<field name="local_port" descr="Ingress Local port number\;Supported from CPU port\;Not supported from router port\;Reserved when pp = Global Configuration" access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="pp" descr="Per Port Configuration\;0: Global Configuration (for all ports)\;1: Per port configuration, based on local_port field.\;Note: SW must not read as global if last write was not global." access="INDEX" offset="0x0.24" size="0x0.1" />
	<field name="seed" descr="Hash seed value\;The seed is the same for all ports (latest configuration configures the seed for all ports)." access="RW" offset="0x8.0" size="0x4.0" />
	<field name="general_fields" descr="This is a bit mask, in which each bit enables a specific field to be included in the hash calculation. \;Bit 0: ingress port - [DWIP]\;Bit 1: custom_bytes are set by cbsets field.\;Bit i: custom_bytes i-2\;i = 2 .. 2 + (cap_max_custom_byte_sets_for_hash * cap_custom_byte_entry_size - 1)\;See Section 11.3.16, &quot;Custom Bytes&quot;, on page 3390" access="RW" offset="0xC.0" size="0x4.0" />
	<field name="outer_header_enables" descr="This is a bit mask, each bit enables a specific layer field to be included in the hash calculation. Layers that are not listed below are enabled by default.\;Bit 0: Enable Layer2 fields if packet is not IPv4/6\;Bit 1: Enable Layer2 fields if packet is IPv4\;Bit 2: Enable Layer2 fields if packet is IPv6\;Bit 3: Enable IPv4 fields if packet is not TCP and not UDP\;Bit 4: Enable IPv4 fields if packet is either TCP or UDP\;Bit 5: Enable IPv6 fields if packet is not TCP and not UDP\;Bit 6: Enable IPv6 fields if packet is either TCP or UDP\;Bit 7: Enable TCP/UDP header fields if packet is IPv4\;Bit 8: Enable TCP/UDP header fields if packet is IPv6" access="RW" offset="0x10.0" size="0x0.16" />
	<field name="outer_header_fields_enable" descr="Outer header fields enable.\;The default configurations contains SMAC, DMAC, outer\;VID and Ethertype" access="RW" high_bound="4" low_bound="0" offset="0x14.0" size="0x14.0" />
	<field name="inner_header_enables" descr="Inner header enables. Each bit enables a specific layer field to be included in the hash calculation. Layers that are not listed below are enabled by default.\;Bit 0: Enable inner Layer2 fields if inner packet is not IPv4/6\;Bit 1: Enable inner Layer2 fields if inner packet is IPv4\;Bit 2: Enable inner Layer2 fields if inner packet is IPv6\;Bit 3: Enable inner IPv4 fields if inner packet is not TCP and not UDP\;Bit 4: Enable inner IPv4 fields if inner packet is either TCP or UDP\;Bit 5: Enable inner IPv6 fields if inner packet is not TCP and not UDP\;Bit 6: Enable inner IPv6 fields if inner packet is either TCP or UDP\;Bit 7: Enable inner TCP/UDP header fields if inner packet is IPv4\;Bit 8: Enable inner TCP/UDP header fields if inner packet is IPv6" access="RW" offset="0x2C.0" size="0x0.16" />
	<field name="inner_header_fields_enable" descr="Inner header fields enable.\;\;Inner Layer2 fields, subject to inner_header_enables:\;Bit 0: SMAC\;Bit 1: DMAC\;Bit 2: Ethertype\;\;Inner IPv4 fields, subject to inner_header_enables:\;Bits 6:3: IPv4 SIP 0-3 enable per byte\;Bits 10:7: IPv4 DIP 0- 3 enable per byte\;Bit 11: IPv4 Protocol\;\;Inner IPv6 fields, subject to inner_header_enables:\;Bits 12: IPv6 enable bytes of SIP 0-7\;Bits 19:13 reserved\;Bits 27:20: IPv6 SIP 8-15 enable per byte\;Bits 28: IPv6 enable bytes of DIP 0-7\;Bits 35:29 reserved\;Bits 43:36: IPv6 DIP 8-15 enable per byte\;Bit 44: IPv6 Next Header\;Bit 45: IPv6 Flow label\;\;Inner TCP /UDP header fields, subject to inner_header_enables:\;Bit 46: TCP/UDP source port\;Bit 47: TCP/UDP destination port" subnode="uint64" access="RW" offset="0x30.0" size="0x8.0" />
	<field name="cbsets" descr="Custom Byte Sets.\;For more details refer to Table 1678, &quot;cbsets Layout,&quot; on page 2100.\;Reserved when general_fields.Bit1 = 0.\;Reserved when Spectrum\;Indices are up to cap_max_custom_byte_sets_for_hash-1" access="RW" high_bound="3" low_bound="0" offset="0x40.0" size="0x10.0" />
</node>

<node name="reg_return_status_ext" descr="" size="0x4.0" >
	<field name="reg_id" descr="The register ID\;0 to indicate the entry isn&quot;t valid" access="RO" offset="0x0.0" size="0x0.16" />
	<field name="return_status" descr="The PRM register return status as defined in Table 118, &quot;EMAD Frame Format Layout - OPERATION TLV&quot; status field" access="RO" offset="0x0.24" size="0x0.7" />
</node>

<node name="region_id_dup" descr="" size="0x4.0" >
	<field name="region_id_dup" descr="" offset="0x0.0" size="0x0.16" />
</node>

<node name="reiv_ext" descr="" size="0x420.0" >
	<field name="port_page" descr="port page:\;elport_record[0] is 256*port_page" access="INDEX" offset="0x0.0" size="0x0.4" />
	<field name="erif" descr="egress RIF\;Range is 0.. cap_max_router_interfaces-1" access="INDEX" offset="0x4.0" size="0x0.16" />
	<field name="elport_record" descr="egress local port record\;record i for local_port i\;See Table 3617, &quot;REIV - elport_record Layout,&quot; on page 4214" subnode="elport_record_ext" access="RW" high_bound="255" low_bound="0" offset="0x20.0" size="0x400.0" />
</node>

<node name="relookup_ecmp_adjacency_ext" descr="" size="0x18.0" >
	<field name="next_adjacency_ptr" descr="Next adjacency pointer" access="RW" offset="0x0.0" size="0x0.24" />
	<field name="next_ecmp_size" descr="Next adjacency size.\;Values are according to the mixed ECMP scheme detailed in Table 3438, &quot;ECMP Sizes,&quot; on page 4038." access="RW" offset="0x4.0" size="0x0.13" />
	<field name="rehash_seed" descr="Rehash seed\;Note: when RGCR.grht is XOR and seed=0 then same as rehash disable\;" access="RW" offset="0x8.0" size="0x0.16" />
	<field name="rd" descr="Rehash disable:\;0: rehash enable\;1: rehash disable\;Supported from Spectrum-4 and on" access="RW" offset="0x8.16" size="0x0.1" />
</node>

<node name="relookup_lpm_adjacency_ext" descr="" size="0x18.0" >
	<field name="virtual_router" descr="Virtual router.\;Range 0..cap_max_virtual_routers-1." access="RW" offset="0x0.0" size="0x0.16" />
	<field name="rehash_seed" descr="Rehash seed\;Note: when RGCR.grht is XOR and seed=0 then same as rehash disable\;" access="RW" offset="0x8.0" size="0x0.16" />
	<field name="rd" descr="Rehash disable:\;0: rehash enable\;1: rehash disable\;Supported from Spectrum-4 and above." access="RW" offset="0x8.16" size="0x0.1" />
</node>

<node name="remote_action_ext" descr="" size="0x14.0" >
	<field name="trap_id" descr="Trap ID to be reported to CPU\;For Spectrum Trap-ID is RTR_INGRESS0 or RTR_INGRESS1.\;For Spectrum-2/3, Trap-ID is RTR_INGRESS0 .. RTR_INGRESS3.\;For trap_action of NOP, MIRROR and DISCARD_ERROR, trap_id is reserved" access="RW" offset="0x0.0" size="0x0.9" />
	<field name="trap_action" descr="Trap Action\;0: NOP\;1: TRAP\;2: MIRROR_TO_CPU\;3: MIRROR\;4: DISCARD_ERROR, see DISCARD_ROUTER2 trap_id\;Note: On TRAP or DISCARD_ERROR flex_action is ignored." access="RW" offset="0x0.28" size="0x0.4" />
	<field name="adjacency_index" descr="adjacency_index points to the first entry of the group-based ECMP\;Reserved when trap_action is TRAP or DISCARD_ERROR" access="RW" offset="0x4.0" size="0x0.24" />
	<field name="ecmp_size" descr="ecmp_size is the amount of sequential entries starting from the adjacency_index (the number of ECMPs). \;Values are according to the mixed ECMP scheme detailed in Table 3438, &quot;ECMP Sizes,&quot; on page 4038.\;Reserved when trap_action is TRAP or DISCARD_ERROR\;" access="RW" offset="0x8.0" size="0x0.13" />
</node>

<node name="remote_span_ib_local_ud_ext" descr="" size="0x4c.0" >
	<field name="dlid" descr="Destination LID. \;Note that when dpa=0 the analyzer port is configured by the system_port field and not by forwarding the packet based on the dlid field." access="RW" offset="0x0.0" size="0x0.16" />
	<field name="dpa" descr="Dynamic port analyzer. When set to dynamic mode, the analyzer port is set based on the forwarding information for the {swid, dlid} on private-LFT 0 instead of the system_port field. In static mode, the packet is transmitted to the configured system_port regardless of the forwarding database.\;0: static analyzer port\;1: dynamic analyzer port" access="RW" offset="0x0.16" size="0x0.2" />
	<field name="sl" descr="Service Level" access="RW" offset="0x0.20" size="0x0.4" />
	<field name="we" descr="Write enable:\;0: write all fields\;1: write only psn_init_val" access="WO" offset="0x0.24" size="0x0.8" />
	<field name="slid" descr="Source LID (LID of the sending device)" access="RW" offset="0x4.0" size="0x0.16" />
	<field name="version" descr="Remote SPAN InfiniBand encapsulation header version\;1: V1 - Mirror Header Version 1\;2: V2 - Mirror Header Version 2\;" access="RW" offset="0x4.20" size="0x0.4" />
	<field name="swid" descr="Switch partition ID\;Reserved when dpa = static analyzer port\;Reserved when mngr_type = local port manager\;Switch partition ID is used for dynamic analyzer port, to set the analyzer port based on the desired forwarding table (the one that belong to the swid)." access="RW" offset="0x4.24" size="0x0.8" />
	<field name="vl" descr="Virtual Lane on which the mirrored packet is queued.\;Mirrored packets cannot be queued on VL-15." access="RW" offset="0xC.0" size="0x0.4" />
	<field name="pkey" descr="BTH PKey" access="RW" offset="0x38.0" size="0x0.16" />
	<field name="m" descr="BTH m" access="RW" offset="0x38.22" size="0x0.1" />
	<field name="se" descr="BTH se" access="RW" offset="0x38.23" size="0x0.1" />
	<field name="dest_qp" descr="BTH dest QP" access="RW" offset="0x3C.0" size="0x0.24" />
	<field name="psn_init_val" descr="BTH packet sequence number initial value\;Note: when reading, HW will reveal the current packet sequence number" access="RW" offset="0x40.0" size="0x0.24" />
	<field name="ar" descr="BTH MLNX adaptive routing enable flag" access="RW" offset="0x40.30" size="0x0.1" />
	<field name="qkey" descr="DETH QKey" access="RW" offset="0x44.0" size="0x4.0" />
	<field name="src_qp" descr="DETH source QP" access="RW" offset="0x48.0" size="0x0.24" />
</node>

<node name="resource_dump_ext" descr="" size="0xc8.0" >
	<field name="segment_type" descr="See Resource Dump section in the Adapters PRM." access="INDEX" offset="0x0.0" size="0x0.16" />
	<field name="seq_num" descr="Sequence number. 0 on first call of dump and incremented on each more dump." access="INDEX" offset="0x0.16" size="0x0.4" />
	<field name="vhca_id_valid" descr="If set, then vhca_id field is valid. Otherwise dump resources on my vhca_id.\;Not supported in Switch." access="WO" offset="0x0.29" size="0x0.1" />
	<field name="inline_dump" descr="If set, data is dumped in the register in inline_data field. otherwise dump to mkey.\;Supports only inline dump = 1" access="OP" offset="0x0.30" size="0x0.1" />
	<field name="more_dump" descr="If set, the device has additional information that has not been dumped yet." access="RO" offset="0x0.31" size="0x0.1" />
	<field name="vhca_id" descr="vhca_id where the resource is allocated.\;Not supported in Switch." access="WO" offset="0x4.0" size="0x0.16" />
	<field name="index1" descr="First object index to be dumped when supported by the object.\;SW shall read this field upon command done and shall provide it on the next call in case dump_more==1." access="INDEX" offset="0x8.0" size="0x4.0" />
	<field name="index2" descr="Second object index to be dumped when supported by the object.\;SW shall read this field upon command done and shall provide it on the next call in case dump_more==1." access="INDEX" offset="0xC.0" size="0x4.0" />
	<field name="num_of_obj2" descr="The amount of objects to dump starting for index 2.\;SW shall read this field upon command done and shall provide it on the next call in case dump_more==1. \;Range is 0..0xfff0. When the segment&apos;s num_of_obj2_supports_all is set, the special value of 0xffff represents &quot;all&quot;. When the segment&apos;s num_of_objx_supports_active is set, the special value of 0xfffe represents &quot;active&quot;. The  value of 0x0 and 0x1 are allowed even if the supported_num_of_obj2 is &quot;0&quot;." access="INDEX" offset="0x10.0" size="0x0.16" />
	<field name="num_of_obj1" descr="The amount of objects to dump starting for index 1\;SW shall read this field upon command done and shall provide it on the next call in case dump_more==1. \;Range is 0..0xfff0. When the segment&apos;s num_of_obj1_supports_all is set, the special value of 0xffff represents &quot;all&quot;. When the segment&apos;s num_of_objx_supports_active is set, the special value of 0xfffe represents &quot;active&quot;. The value of 0x0 and 0x1 are allowed even if the supported_num_of_obj1 is &quot;0&quot;." access="INDEX" offset="0x10.16" size="0x0.16" />
	<field name="device_opaque" descr="An opaque provided by the device. SW shall read the device_opaque upon command done and shall provide it on the next call in case dump_more==1. On first call, device_opaque shall be 0.\;" subnode="uint64" access="INDEX" offset="0x18.0" size="0x8.0" />
	<field name="mkey" descr="Memory key to dump to. \;Valid when inline_dump==0.\;Not supported in Switch." access="WO" offset="0x20.0" size="0x4.0" />
	<field name="size" descr="In write, the size of maximum allocated buffer that the device can use.\;In read, the actual written size.\;In granularity of Bytes.\;Not supported in Switch." access="RO" offset="0x24.0" size="0x4.0" />
	<field name="address" descr="VA address (absolute address) of memory where to start dumping. \;Valid when inline_dump==0.\;Not supported in Switch." subnode="uint64" access="WO" offset="0x28.0" size="0x8.0" />
	<field name="inline_data" descr="Data that is dumped in case of inline mode.\;Valid when inline_dump==1." access="RO" high_bound="37" low_bound="0" offset="0x30.0" size="0x98.0" />
</node>

<node name="rgcr_ext" descr="" size="0x28.0" >
	<field name="arn_en" descr="ARN enable.\;When ARN is enabled - no jump prefixes are enabled in IPv6\;When ARN is disabled - ARN generation is disabled in IPv6" access="RW" offset="0x0.28" size="0x0.1" />
	<field name="mpls_en" descr="MPLS router enable.\;Enables receive/forward of MPLS packets to/from the router\;Enables router traps" access="RW" offset="0x0.29" size="0x0.1" />
	<field name="ipv6_en" descr="IPv6 router enable.\;Enables receive/forward of IPv6 packets to/from the router\;Enables router traps" access="RW" offset="0x0.30" size="0x0.1" />
	<field name="ipv4_en" descr="IPv4 router enable.\;Enables receive/forward of IPv4 packets to/from the router\;Enables router traps" access="RW" offset="0x0.31" size="0x0.1" />
	<field name="max_vlan_router_interfaces" descr="Max VLAN router interfaces - defines the maximum number of active VLAN router interfaces per virtual router (VR) to be used.\;Reserved when Spectrum/-2" access="RW" offset="0x4.0" size="0x0.16" />
	<field name="max_port_router_interfaces" descr="Max VLAN router interfaces - defines the maximum number of active VLAN router interfaces per VR to be used.\;Reserved when Spectrum/-2" access="RW" offset="0x8.0" size="0x0.16" />
	<field name="max_pkey_router_interfaces" descr="Max VLAN router interfaces - defines the maximum number of active VLAN router interfaces per VR to be used.\;Note: max_pkey_interface can not be increased while the router is enable unless ipb and allr are cleared.\;Reserved when Spectrum/-2" access="RW" offset="0xC.0" size="0x0.16" />
	<field name="max_router_interfaces" descr="Max router interfaces - defines the maximum number of active router interfaces for ALL VRs." access="RW" offset="0x10.0" size="0x0.16" />
	<field name="max_virtual_routers" descr="Max number of active VRs.\;Reserved when Spectrum/-2\;" access="RW" offset="0x14.0" size="0x0.16" />
	<field name="rpf" descr="When set, multicast RPF is not performed for all router packets. This bit overrides the RMFT.rpf configuration and only allows the following options:\;0: no RPF, ignore expected_ingress_rif\;1: RPF / directional forwarding enable (match only if packet is coming from)\;Note: While this configuration can be done on a per entry basis, using the global configuration allows more efficient internal resource utilization and is recommended.\;Note: This bit cannot be changed while router is enabled.\;Reserved when Spectrum/-2" access="RW" offset="0x18.0" size="0x0.1" />
	<field name="mcsi" descr="Multicast Single Interface.\;Indicates all multicast groups contain at most a single L3 interface. Allows some internal resource optimizations.\;Reserved when Spectrum/-2" access="RW" offset="0x18.4" size="0x0.1" />
	<field name="allr" descr="All Routers\;Allocate Multicast IPoIB Adjacency Table for all routers.\;Note: the allr bit cannot be set (updated from 0 to 1) while the router is enabled.\;Reserved when Spectrum/-2" access="RW" offset="0x18.8" size="0x0.1" />
	<field name="ipb" descr="IP Broadcast. Allocates Multicast IPoIB Adjacency Table for IP Broadcast.\;Note: ipb bit can not be set (updated from 0 to 1) while the router is enabled.\;Reserved when Spectrum/-2" access="RW" offset="0x18.9" size="0x0.1" />
	<field name="pcp_rw" descr="PCP Re-write Enable\;Indicates how to handle the pcp_rewrite_en:\;0: Preserve the value of the pcp_rewrite_en\;2: Disable the pcp_rewrite_en\;3: Enable the pcp_rewrite_en\;Reserved when SwitchX/-2" access="RW" offset="0x18.16" size="0x0.2" />
	<field name="usp" descr="Update Switch Priority and Packet Color\;0: Preserve the value of the Switch Priority and Packet Color\;1: Recalculate the value of the Switch Priority and Packet Color. See Section 14.14.18, &quot;RDPM - Router DSCP to Priority Mapping Register&quot;, on page 4154\;Reserved when SwitchX/-2" access="RW" offset="0x18.20" size="0x0.1" />
	<field name="grht" descr="Global Relookup re-hash type:\;0: CRC - default\;1: XOR\;2: Random\;Note: when XOR and seed is 0 then it&apos;s same as disable\;Supported from Spectrum-2 and on\;" access="RW" offset="0x18.24" size="0x0.4" />
	<field name="ipv4_packet_rate" descr="IPv4 TCAM regions expected packet rate performance.\;Granularity is of 5%.\;On query it is possible to get a higher value without affecting operation.\;Reserved when Spectrum-2 or later" access="RW" offset="0x1C.0" size="0x0.5" />
	<field name="ipv4_op_type" descr="IPv4 TCAM regions optimization Type\;0: No optimization\;1: Soft optimization\;2: Hard optimization\;Reserved when Spectrum-2 or later" access="RW" offset="0x1C.8" size="0x0.2" />
	<field name="ipv6_packet_rate" descr="IPv6 TCAM regions expected packet rate performance.\;Granularity is of 5%.\;On query it is possible to get a higher value, without affecting operation.\;Reserved when Spectrum-2 or later" access="RW" offset="0x1C.16" size="0x0.5" />
	<field name="ipv6_op_type" descr="IPv6 TCAM regions optimization Type\;0: No optimization\;1: Soft optimization\;2: Hard optimization\;Reserved when Spectrum-2 or later\;\;\;" access="RW" offset="0x1C.24" size="0x0.2" />
	<field name="activity_dis" descr="Activity Disable:\;0: enable - activity will be set when an entries are hit\;(default)\;1: disable - activity will not be set when an entries are hit\;Bit 0: Disable activity bit in Router Algorithmic LPM Unicast Entry. See Section 14.14.24, &quot;RALUE - Router Algorithmic LPM Unicast Entry Register&quot;, on page 4177\;Bit 1: Disable activity bit in Router Algorithmic LPM Unicast Host Entry. See Section 14.14.26, &quot;RAUHT - Router Algorithmic LPM Unicast Host Table Register&quot;, on page 4189\;Bit 2: Disable activity bit in RATR\;Not supported by SwitchX/-2 and Switch-IB" access="RW" offset="0x20.0" size="0x0.8" />
	<field name="grh_hop_limit" descr="HopLmt field in GRH for IPoIB adjacencies." access="RW" offset="0x20.16" size="0x0.8" />
	<field name="expected_irif_list_index_base" descr="For MC routing RPF, base address of the lists of expected ingress RIFs\;Default 0\;For Spectrum, this is in KVD Linear, see Section A.2.1.2, &quot;KVD Central Database Linear Entries&quot;, on page 4588\;The list is configured by RMEIR, see Section 14.14.37, &quot;RMEIR - Router Multicast Expected Ingress RIFs Register&quot;, on page 4211\;Reserved when SwitchX, SwitchX-2 and Switch-IB" access="RW" offset="0x24.0" size="0x0.24" />
</node>

<node name="ricnt_inter_counter_set_auto_ext" descr="" attr_is_union="1" size="0xf0.0" >
	<field name="counterset_basic_ext" descr="" subnode="counterset_basic_ext" offset="0x0.0" selected_by="ROUTER_BASIC_COUNTER_SET" size="0x50.0" />
	<field name="counterset_basic_reduced_ext" descr="" subnode="counterset_basic_reduced_ext" offset="0x0.0" selected_by="ROUTER_BASIC_REDUCED_SET" size="0x30.0" />
	<field name="counterset_enhanced_ext" descr="" subnode="counterset_enhanced_ext" offset="0x0.0" selected_by="ROUTER_ENHANCED_COUNTER_SET" size="0xf0.0" />
	<field name="counterset_enhanced_reduced_ext" descr="" subnode="counterset_enhanced_reduced_ext" offset="0x0.0" selected_by="ROUTER_ENCHANCED_REDUCED_SET" size="0x90.0" />
	<field name="counterset_mixed_1_ext" descr="" subnode="counterset_mixed_1_ext" offset="0x0.0" selected_by="ROUTER_MIXED_COUNTER_SET_1" size="0xa0.0" />
	<field name="counterset_mixed_1_reduced_ext" descr="" subnode="counterset_mixed_1_reduced_ext" offset="0x0.0" selected_by="ROUTER_MIXED_REDUCED_SET_1" size="0x60.0" />
	<field name="counterset_mixed_2_ext" descr="" subnode="counterset_mixed_2_ext" offset="0x0.0" selected_by="ROUTER_MIXED_COUNTER_SET_2" size="0xa0.0" />
	<field name="counterset_mixed_2_reduced_ext" descr="" subnode="counterset_mixed_2_reduced_ext" offset="0x0.0" selected_by="ROUTER_MIXED_REDUCED_SET_2" size="0x60.0" />
</node>

<node name="ricnt_inter_ext" descr="" size="0xf8.0" >
	<field name="gl" descr="Global. This field indicates whether to access an interface counter or a global (IPv4 / IPv6) counter set. When accessing a global counter set, counter_handle field is ignored\;0: Interface counters\;1: Ingress IPv4 counter set\;2: Egress IPv4 counter set\;3: Ingress IPv6 counter set\;4: Egress IPv6 counter set\;Reserved when Spectrum switches, Switch-IB/2, Quantum" access="INDEX" offset="0x0.16" size="0x0.3" />
	<field name="opcode" descr="0: NOPE - supported only for read access\;1: SET - sets the values to the counter_handle.\;2: FLUSH - when counter set is un-bound, flush ensures counters in counter_handle will not be updated due to packets in the pipe.\;8: CLEAR - reset all counters of the counter_handle\;\;When read opcode can be NOPE or CLEAR\;" access="OP" enum="NOPE=0x0,SET=0x1,FLUSH=0x2,CLEAR=0x8" offset="0x0.28" size="0x0.4" />
	<field name="counter_index" descr="counter index\;For Spectrum: see Section 5.2, &quot;Flow Counters&quot;, on page 1404" access="INDEX" offset="0x4.0" size="0x0.24" />
	<field name="counter_set_type" descr="Counter Set Type\;For Spectrum: See Section 5.2.2.2, &quot;Router Interface Counter Set Types&quot;, on page 1405\;0x09: ROUTER_BASIC_COUNTER_SET\;0x0A: ROUTER_ENHANCED_COUNTER_SET\;0x0B: ROUTER_MIXED_COUNTER_SET_1\;0x0C: ROUTER_MIXED_COUNTER_SET_2\;0x19: ROUTER_BASIC_REDUCED_SET\;0x1A: ROUTER_ENCHANCED_REDUCED_SET\;0x1B: ROUTER_MIXED_REDUCED_SET_1\;0x1C: ROUTER_MIXED_REDUCED_SET_2" access="OP" enum="ROUTER_BASIC_COUNTER_SET=0x9,ROUTER_ENHANCED_COUNTER_SET=0xa,ROUTER_MIXED_COUNTER_SET_1=0xb,ROUTER_MIXED_COUNTER_SET_2=0xc,ROUTER_BASIC_REDUCED_SET=0x19,ROUTER_ENCHANCED_REDUCED_SET=0x1a,ROUTER_MIXED_REDUCED_SET_1=0x1b,ROUTER_MIXED_REDUCED_SET_2=0x1c" offset="0x4.24" size="0x0.8" />
	<field name="counter_set" descr="Router Interface counter set types.\;Counter sets:\;Table 3548, &quot;Router Interface Counter-set Basic Layout,&quot; on page 4161\;Table 3550, &quot;Router Interface Counter-set Enhanced Layout,&quot; on page 4163\;Table 3552, &quot;Router Interface Counter-set Mixed-1 Layout,&quot; on page 4164\;Table 3554, &quot;Router Interface Counter-set Mixed-2 Layout,&quot; on page 4165\;Table 3556, &quot;Router Interface Counter-set Basic Reduced Layout,&quot; on page 4166\;Table 3558, &quot;Router Interface Counter-set Enhanced Reduced Layout,&quot; on page 4168\;Table 3560, &quot;Router Interface Counter-set Mixed-1 Reduced Layout,&quot; on page 4170\;Table 3562, &quot;Router Interface Counter-set Mixed-2 Layout,&quot; on page 4171\;" subnode="ricnt_inter_counter_set_auto_ext" access="RW" offset="0x8.0" size="0xf0.0" union_selector="$(parent).counter_set_type" />
</node>

<node name="rigr_erif_list_erif_entry_ext" descr="" size="0x4.0" >
	<field name="erif" descr="Egress Router Interface\;Valid range is 0..cap_max_router_interfaces - 1\;i can be from 0 to cap_mc_erif_list_entries-1" access="RW" offset="0x0.0" size="0x0.16" />
	<field name="v" descr="Egress Router Interface is valid\;Note that low-entries must be set if high-entries are set. For example: if erif_entry[2].v is set then erif_entry[1].v and erif_entry[0].v must be set.\;i can be from 0 to cap_mc_erif_list_entries-1" access="RW" offset="0x0.31" size="0x0.1" />
</node>

<node name="rigr_erif_list_ext" descr="" size="0x90.0" >
	<field name="rmid_index" descr="RMID Index\;Range 0 .. max_mid - 1\;Reserved when vrmid = &apos;0&apos;\;For Spectrum family the index is to the Port Group Table, see Appendix A.2.2, &quot;Port Group Table (PGT)&quot; (page 4588)" access="RW" offset="0x0.0" size="0x0.16" />
	<field name="vrmid" descr="RMID Index is valid" access="RW" offset="0x0.31" size="0x0.1" />
	<field name="erif_entry" descr="See Table 3474, &quot;RIGR List Type Erif List Erif_Entry Layout,&quot; on page 4098\;Number of entries can be from 1 to cap_mc_erif_list_entries\;Low-entries must be set if high-entries are set. For example: if erif_entry[2].v is set then erif_entry[1].v and erif_entry[0].v must be set." subnode="rigr_erif_list_erif_entry_ext" access="RW" high_bound="31" low_bound="0" offset="0x4.0" size="0x80.0" />
</node>

<node name="rigr_generic_ext" descr="" size="0x20.0" >
	<field name="allow_decap" descr="Allowed decap types:\;Bit0:\;0: do not allow L3 (IP) decapsulation\;1: allow L3 (IP) decapsulation\;Bit1:\;0: do not allow MPLS decapsulation\;1: allow MPLS decapsulation\;Bit2:\;0: do not allow L2 decapsulation\;1: allow L2 decapsulation\;If decapsulation failed due to these configurations then trap_id is IP2ME." access="RW" offset="0x0.0" size="0x0.3" />
	<field name="checks_mode" descr="0: no_checks of NVE or IPinIP Decap\;1: apply NVE Decap checks\;2: apply IPinIP checks\;" access="RW" offset="0x0.8" size="0x0.2" />
	<field name="tunnel_port" descr="Tunnel port\;Relevant only for L2 decap" access="RW" offset="0x4.0" size="0x0.4" />
	<field name="tqos_profile_l3" descr="Tunnel QoS profile for L3 tunnel\;0..cap_max_tqos_profile" access="RW" offset="0x4.16" size="0x0.4" />
	<field name="tqos_profile_l2" descr="Tunnel QoS profile for L2 tunnel\;0..cap_max_tqos_profile" access="RW" offset="0x4.24" size="0x0.4" />
	<field name="irif" descr="Ingress Router Interface for the overlay router\;Relevant only for L3 or MPLS decap" access="RW" offset="0x8.0" size="0x0.16" />
	<field name="checks_nve_decap_disable" descr="If checks_mode = apply NVE Decap checks (1) then:\;When set, disable decap. \;This is a bitwise configuration:\;Bit 0: Disable VXLAN\;Bit 1: Disable VXLAN-GPE\;Bit 2: Disable GENEVE\;Bit 3: Disable NVGRE\;Reserved when checks_mode != &apos;1&apos;" access="RW" offset="0x8.24" size="0x0.4" />
	<field name="sip_check" descr="0: No sip checks \;1: filter packet if underlay is not IPv4 or if underlay SIP does not equal to ipv4_usip3: filter packet if underlay is not IPv6 or if underlay SIP does not equal to ipv6_usip\;If decapsulation failed due to these configurations then trap_id is IPIP_DECAP_ERROR\;\;Reserved when checks_mode != apply IPinIP checks (2)" access="RW" offset="0xC.0" size="0x0.3" />
	<field name="type_check" descr="Bit0:\;0: do not allow IPinIP (without GRE) decapsulation\;1: allow IPinIP (without GRE) decapsulation\;Bit1:\;0: do not allow IPinGREinIP without a key decapsulation\;1: allow IPinGREinIP without a key decapsulation\;Bit1 is reserved when gre_key_check=1\;\;Bit2:\;0: do not allow IPinGREinIP with a key decapsulation\;1: allow IPinGREinIP with a key decapsulation\;If decapsulation failed due to these configurations then trap_id is IPIP_DECAP_ERROR\;Bit2 is reserved when gre_key_check=1\;\;\;Reserved when checks_mode != apply IPinIP checks (2)" access="RW" offset="0xC.8" size="0x0.3" />
	<field name="gre_key_check" descr="0: do not check GRE key\;1: Check GRE key\;When check is enabled:\;A packet received as IPinIP (without GRE) will always pass.\;A packet received as IPinGREinIP without a key will not pass the check.\;A packet received as IPinGREinIP with a key will pass the check only if the key in the packet is equal to expected_gre_key.\;If decapsulation failed due to GRE key then trap_id is IPIP_DECAP_ERROR\;\;Reserved when checks_mode != apply IPinIP checks (2)" access="RW" offset="0xC.16" size="0x0.1" />
	<field name="ipv4_usip" descr="Underlay IPv4 address for ipv4 source address check\;\;Valid only when checks_mode = apply IPinIP checks (2) and sip_check = 1 (IPv4)" access="RW" offset="0x10.0" size="0x4.0" />
	<field name="ipv6_usip_ptr" descr="This field is valid when sip_check is &quot;sipv6 check explicitly&quot;\;This is a pointer to the IPv6 DIP which is configured by RIPS, see Section 14.14.17, &quot;RIPS - Router IP version Six Register&quot;, on page 4153\;For Spectrum, the index is to the KVD linear, see Section A.2.1, &quot;KVD Central Database&quot;, on page 4585\;Reserved when checks_mode != apply IPinIP checks (2)\;Reserved when sip_check is not &apos;2&apos; or &apos;3&apos;" access="RW" offset="0x14.0" size="0x0.24" />
	<field name="expected_gre_key" descr="GRE key for checking\;Reserved when checks_mode != apply IPinIP checks (2)\;Reserved when gre_key_check is &apos;0&apos;" access="RW" offset="0x18.0" size="0x4.0" />
	<field name="uerif" descr="Underlay Egress Router Interface Index\;Range is 0 .. cap_max_router_interfaces - 1" access="RW" offset="0x1C.0" size="0x0.16" />
</node>

<node name="rigr_list_bit_vector_ext" descr="" size="0x10.0" >
	<field name="rmid_index" descr="RMID Index\;Range 0 .. max_mid - 1\;Reserved when vrmid = &apos;0&apos;\;For Spectrum the index is to the Port Group Table, see Appendix A.2.2, &quot;Port Group Table (PGT)&quot; (page 4588)" access="RW" offset="0x0.0" size="0x0.16" />
	<field name="vrmid" descr="RMID Index is valid" access="RW" offset="0x0.31" size="0x0.1" />
	<field name="offset" descr="Bit Vector Offset. \;Bit vector start at 64*offset\;Range is 0..roundown((cap_max_router_interfaces-1)/64)" access="RW" offset="0x4.0" size="0x0.8" />
	<field name="erif_bit_vector" descr="Egress Router Interface Bit Vector\;64 bits representing Egress Router Interfaces starting from 64*offset\;Bit63 represents msb rif\;Bit0 represents lsb rif" subnode="uint64" access="RW" offset="0x8.0" size="0x8.0" />
</node>

<node name="rigr_nve_decap_ext" descr="" size="0x8.0" >
	<field name="uerif" descr="Underlay egress router interface\;Reserved when Spectrum" access="RW" offset="0x0.0" size="0x0.16" />
	<field name="decap_disable" descr="When set, disable decap. \;This is a bitwise configuration:\;Bit 0: Disable VXLAN\;Bit 1: Disable VXLAN-GPE\;Bit 2: Disable GENEVE\;Bit 3: Disable NVGRE" access="RW" offset="0x4.0" size="0x0.4" />
	<field name="tqos_profile" descr="Tunnel QoS profile\;0..cap_max_tqos_profile\;Reserved when Spectrum-1" access="RW" offset="0x4.24" size="0x0.4" />
	<field name="tqos_profile_en" descr="0: Use FW hard-coded value. See more detail in Table 12.11, &quot;Tunnel QoS Profiles,&quot; on page 3913\;1: Use tqos_profile_id" access="OP" offset="0x4.31" size="0x0.1" />
</node>

<node name="rigr_v2_erif_list_auto_ext" descr="" attr_is_union="1" size="0x90.0" >
	<field name="rigr_erif_list_ext" descr="" subnode="rigr_erif_list_ext" offset="0x0.0" selected_by="ERIF_LIST" size="0x90.0" />
	<field name="rigr_generic_ext" descr="" subnode="rigr_generic_ext" offset="0x0.0" selected_by="GENERIC_DECP" size="0x20.0" />
	<field name="rigr_list_bit_vector_ext" descr="" subnode="rigr_list_bit_vector_ext" offset="0x0.0" selected_by="BIT_VECTOR" size="0x10.0" />
	<field name="rigr_nve_decap_ext" descr="" subnode="rigr_nve_decap_ext" offset="0x0.0" selected_by="NVE_DECAP" size="0x8.0" />
</node>

<node name="rigr_v2_ext" descr="" size="0xb0.0" >
	<field name="list_type" descr="Router Interface List type\;Format field indicates the encoding of the router_interface_list field.\;0: ERIF_LIST\;1: BIT_VECTOR\;3: NVE_DECAP\;5: GENERIC_DECP - Reserved when Spectrum (1st Gen)" access="RW" enum="ERIF_LIST=0x0,BIT_VECTOR=0x1,NVE_DECAP=0x3,GENERIC_DECP=0x5" offset="0x0.20" size="0x0.4" />
	<field name="rigr_index" descr="Index to Router Interface Group (RIGR) Table\;For Spectrum family the index is to the KVD linear, see Appendix A.2.1.2, &quot;KVD Central Database Linear Entries&quot; (page 4588)" access="INDEX" offset="0x4.0" size="0x0.24" />
	<field name="next_rigr_index" descr="Next RIGR Index\;For Spectrum family the index is to the KVD linear, see Appendix A.2.1.2, &quot;KVD Central Database Linear Entries&quot; (page 4588)\;Reserved when vnext = &apos;0&apos;" access="RW" offset="0x8.0" size="0x0.24" />
	<field name="vnext" descr="Next RIGR Index is valid" access="RW" offset="0x8.31" size="0x0.1" />
	<field name="erif_list" descr="Egress Router Interface List according to list_type\;See Table 3472, &quot;RIGR List Type Erif List Layout,&quot; on page 4097\;See Table 3476, &quot;RIGR List Type Bit Vector List Layout,&quot; on page 4099\;See Table 3478, &quot;RIGR List Type NVE Decap Layout,&quot; on page 4100\;See Table 3480, &quot;RIGR List Type Generic Decap Layout,&quot; on page 4101" subnode="rigr_v2_erif_list_auto_ext" access="RW" offset="0x20.0" size="0x90.0" union_selector="$(parent).list_type" />
</node>

<node name="rimcb_ext" descr="" size="0xc.0" >
	<field name="rif" descr="Router Interface Index - a pointer to the Router Interface Table.\;Note: local port is taken from the sub-port RIFproperties.\;Range is 0.. cap_max_router_interfaces-1" access="INDEX" offset="0x0.0" size="0x0.16" />
	<field name="op" descr="Opcode for Write.\;Reserved in Query.\;0: BIND - Clear and bind\;1: UNBIND - Unbind\;2: SYNC - Copy and clear\;3: UNBIND_SYNC - Unbind, copy and clear" access="OP" enum="BIND=0x0,UNBIND=0x1,SYNC=0x2,UNBIND_SYNC=0x3" offset="0x0.24" size="0x0.4" />
	<field name="counter_set_index" descr="Counter set index to bind for port-based MC replication router interface egress counters.\;Range 0..cap_mc_rif_counter_sets-1.\;On Write - reserved when op   BIND.\;On Query - reserved when v=0." access="RW" offset="0x8.0" size="0x0.8" />
	<field name="v" descr="Counter set index is bound (valid)." access="RO" offset="0x8.15" size="0x0.1" />
</node>

<node name="rips_ip_ext" descr="" size="0x14.0" >
	<field name="index" descr="Index to IPv6 address\;For Spectrum, the index is to the KVD linear, see Section A.2.1, &quot;KVD Central Database&quot;, on page 4585" access="INDEX" offset="0x0.0" size="0x0.24" />
	<field name="ipv6" descr="IPv6 address\;" access="RW" high_bound="3" low_bound="0" offset="0x4.0" size="0x10.0" />
</node>

<node name="rirt_ext" descr="" size="0x50.0" >
	<field name="offset" descr="Offset in router routing table.\;Range is 0.. cap_max_router_interfaces-8.\;Offset must be in granularity of 8.\;Reserved when algo 1." access="INDEX" offset="0x0.0" size="0x0.12" />
	<field name="router_entry_record" descr="Router entry record list see Table 3693, &quot;Router Entry Record Layout,&quot; on page 4263" subnode="rirt_record_ext" access="RO" high_bound="7" low_bound="0" offset="0x10.0" size="0x40.0" />
</node>

<node name="rirt_record_ext" descr="" size="0x8.0" >
	<field name="swid" descr="Switch Partition ID" access="RO" offset="0x0.0" size="0x0.3" />
	<field name="valid" descr="Indicates if the router entry record is valid (valid means that there is a port with active physical link and configured subnet_prefix)" access="RO" offset="0x0.31" size="0x0.1" />
	<field name="subnet_prefix" descr="IB subnet prefix" access="RO" offset="0x4.0" size="0x0.16" />
</node>

<node name="riscv_exception_ext" descr="" size="0x18.0" >
	<field name="mepc" descr="Machine Exception Program Counter (mepc).\;" subnode="uint64" access="RO" offset="0x0.0" size="0x8.0" />
	<field name="mcause" descr="Machine Cause Register (mcause).RiscV exception code." subnode="uint64" access="RO" offset="0x8.0" size="0x8.0" />
	<field name="mtval" descr="Machine Trap Value (mtval) Register.Holds exception-specific information to assist software in handling the trap." subnode="uint64" access="RO" offset="0x10.0" size="0x8.0" />
</node>

<node name="ritr_ext" descr="" size="0x40.0" >
	<field name="rif" descr="Router Interface Index - a pointer to the Router Interface Table.\;Range is 0.. cap_max_router_interfaces-1\;Note: when type = 2 (Sub-Port Interface) and ubridge = 0 then range is no more than 0..1K-1\;For Spectrum: when type is Loopback IPinIP and protocol is IPv6 then 2 Router Interface Table entries are consumed and the entry must be even. For Spectrum-2: 1 entry, can be odd." access="INDEX" offset="0x0.0" size="0x0.16" />
	<field name="mpls" descr="MPLS routing enable - enables routing of packets coming from MPLS tunnel\;Reserved when IB switches\;Reserved when type is Loopback generic" access="RW" offset="0x0.19" size="0x0.1" />
	<field name="op" descr="Operation Code\;Opcode: \;0: Create or Edit RIF\;1: Delete RIF\;Reserved when SwitchX/-2 and IB Switches since there is no need to create or delete an interface." access="WO" offset="0x0.20" size="0x0.2" />
	<field name="type_ib" descr="Type Infiniband\;Controls the type field\;0: NO_IB\;1: IB\;Reserved when SwitchX/-2 and Spectrum/-2\;For IB switches must be set to &apos;1&apos;" access="RW" enum="NO_IB=0x0,IB=0x1" offset="0x0.22" size="0x0.1" />
	<field name="type" descr="Router interface type\;If type_ib = 0:\;0: VLAN\;1: FID - not supported by SwitchX/-2\;2: Subport\;3: Loopback\;4: IPoIB_PKEY - not supported by Spectrum/-2\;0: IB_SWID\;" access="RW" enum="VLAN=0x0,FID=0x1,Subport=0x2,Loopback=0x3,IPoIB_PKEY=0x4,IB_SWID=0x0" offset="0x0.23" size="0x0.3" />
	<field name="ipv6_mc" descr="IPv6 multicast routing enable\;Reserved when IB switches" access="RW" offset="0x0.26" size="0x0.1" />
	<field name="ipv4_mc" descr="IPv4 multicast routing enable\;Reserved when IB switches" access="RW" offset="0x0.27" size="0x0.1" />
	<field name="ipv6" descr="IPv6 routing enable - enables routing of IPv6 traffic on the router interface.\;Reserved when IB switches" access="RW" offset="0x0.28" size="0x0.1" />
	<field name="ipv4" descr="IPv4 routing enable - enables routing of IPv4 traffic on the router interface.\;Reserved when IB switches" access="RW" offset="0x0.29" size="0x0.1" />
	<field name="valid" descr="Router interface valid\;Reserved for Spectrum family." access="RW" offset="0x0.30" size="0x0.1" />
	<field name="enable" descr="Router interface enable - enables routing on the router interface\;When ubridge = 1 the SVFA.irif_v, SFMR.irif_v must be set after enable and must be cleared before disable" access="RW" offset="0x0.31" size="0x0.1" />
	<field name="virtual_router" descr="Virtual router ID associated with the router interface\;Range is 0..cap_max_virtual_routers-1\;Reserved when IB switches" access="RW" offset="0x4.0" size="0x0.16" />
	<field name="mpls_fe" descr="MPLS routing Forwarding enable - enables routing of MPLS traffic on the router interface. When disabled, forwarding is blocked but local traffic (traps and IP to me) will be enabled\;Reserved when type is Loopback generic\;Reserved when IB switches" access="RW" offset="0x4.19" size="0x0.1" />
	<field name="urpf_ad" descr="Unicast RPF Allow Default:\;0: match on default route (/0) is not considered as a match\;1: match on default route (/0) is considered as a match\;Note that in loose mode with allow default will always have a match\;Reserved when type is Loopback generic\;Reserved when IB switches" access="RW" offset="0x4.20" size="0x0.1" />
	<field name="urpf_strict" descr="Unicast RPF is strict mode:\;0: loose mode, check that SIP is in the table (as a DIP)\;1: strict mode, check that the packet arrives on the same router interface that the router would use to reach that SIP\;Note: strict mode always filters packets going to an adjacency table (a.k.a. ECMP) with more than 1 entry\;Note: when IP2ME (either trap or decap) the urpf will filter (if enabled)\;Reserved when type is Loopback generic\;Reserved when IB switches" access="RW" offset="0x4.21" size="0x0.1" />
	<field name="urpf_en_ipv6" descr="Unicast RPF enable for IPv6 packets\;Reserved when type is Loopback generic\;Reserved when IB switches" access="RW" offset="0x4.22" size="0x0.1" />
	<field name="urpf_en_ipv4" descr="Unicast RPF enable for IPv4 packets\;Reserved when type is Loopback generic\;Reserved when IB switches\;" access="RW" offset="0x4.23" size="0x0.1" />
	<field name="lb_en" descr="Loop-back Filter Enable for unicast packets.\;If the flag is set then loop-back filter for unicast packets is implemented on the RIF. Multicast packets are always subject to loopback filtering.\;Note that in SwitchX/-2 devices, loopback filter is always enabled and this bit is ignored.\;Reserved when IB Switches, since loopback filter is always enabled\;" access="RW" offset="0x4.24" size="0x0.1" />
	<field name="ipv6_mc_fe" descr="IPv6 Multicast Forwarding Enable. When disabled, forwarding is blocked but local traffic (traps and IP to me) will be enabled.\;Reserved when SwitchX/-2 and IB switches" access="RW" offset="0x4.26" size="0x0.1" />
	<field name="ipv4_mc_fe" descr="IPv4 Multicast Forwarding Enable. When disabled, forwarding is blocked but local traffic (traps and IP to me) will be enabled.\;Reserved when SwitchX/-2 and IB switches" access="RW" offset="0x4.27" size="0x0.1" />
	<field name="ipv6_fe" descr="IPv6 Forwarding Enable - enables forwarding of IPv6 traffic on the router interface. When disabled, forwarding is blocked but local traffic (traps and IP to me) will be enabled.\;Reserved when SwitchX/-2 and IB switches" access="RW" offset="0x4.28" size="0x0.1" />
	<field name="ipv4_fe" descr="IPv4 routing Forwarding Enable - enables routing of IPv4 traffic on the router interface. When disabled, forwarding is blocked but local traffic (traps and IP to me) will be enabled.\;Reserved when SwitchX/-2 and IB switches" access="RW" offset="0x4.29" size="0x0.1" />
	<field name="router_interface_properties" descr="Router interface properties - format depends on router interface \;type. The different formats are described in:\;Table 3451, &quot;VLAN Router Interface Properties Layout,&quot; on page 4081\;Table 3453, &quot;FID Router Interface Properties Layout,&quot; on page 4083\;Table 3455, &quot;Sub-Port Router Interface Properties Layout,&quot; on page 4085\;Table 3460, &quot;Loopback Router Interface Properties Layout,&quot; on page 4088\;Table 3457, &quot;IPoIB PKEY Router Interface Properties Layout,&quot; on page 4087\;Table 3468, &quot;IB SWID Router Interface Properties Layout,&quot; on page 4094" subnode="ritr_router_interface_properties_auto_ext" access="RW" condition="$(parent).type AND $(parent).type_ib" offset="0x8.0" size="0x24.0" />
	<field name="mtu" descr="Router interface MTU\;Must be greater than 63B\;Reserved IB switches\;\;Note: when RITR.type = Loopback (3), mtu value should be configured with max MTU to avoid performance degradation." access="RW" offset="0x34.0" size="0x0.16" />
	<field name="ttl_threshold" descr="Time-to-live - minimum TTL for multicast packets\;Reserved IB switches" access="RW" offset="0x34.24" size="0x0.8" />
	<field name="ingress_counter_index" descr="Counter Index for flow counters.\;For Spectrum/-2: see Section 5.2, &quot;Flow Counters&quot;, on page 1404\;Reserved when SwitchX/-2 and IB switches" access="RW" offset="0x38.0" size="0x0.24" />
	<field name="ingress_counter_set_type" descr="Ingress Counter Set Type for router interface counters.\;For Spectrum/-2: See Section 5.2.2, &quot;Counter Set Type&quot;, on page 1405\;Reserved when SwitchX/-2 and IB switches\;In SwitchX/-2, counter set is allocated using RICA register." access="RW" offset="0x38.24" size="0x0.8" />
	<field name="egress_counter_index" descr="Counter Index for flow counters.\;For Spectrum/-2: See Section 5.2, &quot;Flow Counters&quot;, on page 1404\;Reserved when SwitchX/-2 and IB switches" access="RW" offset="0x3C.0" size="0x0.24" />
	<field name="egress_counter_set_type" descr="Egress Counter Set Type for router interface counters.\;For Spectrum: See Section 5.2.2, &quot;Counter Set Type&quot;, on page 1405.\;For Spectrum/-2: if IPinIP Encapsulation may be done on this RIF then counter set must not be &apos;0&apos;.\;[Spectrum-6] In Spectrum-6, egress counter set type changes clear the bound port-based replication egress counters.\;Reserved when SwitchX/-2 and IB switches.\;In SwitchX/-2, counter set is allocated using RICA register." access="RW" offset="0x3C.24" size="0x0.8" />
</node>

<node name="ritr_router_interface_properties_auto_ext" descr="" attr_is_union="1" is_conditional="1" size="0x24.0" >
	<field name="router_interface_fid_ext" descr="" subnode="router_interface_fid_ext" condition="($(parent).type == FID) AND ($(parent).type_ib == NO_IB)" offset="0x0.0" size="0x18.0" />
	<field name="router_interface_ib_swid_ext" descr="" subnode="router_interface_ib_swid_ext" condition="($(parent).type == IB_SWID) AND ($(parent).type_ib == IB)" offset="0x0.0" size="0x24.0" />
	<field name="router_interface_ipoib_pkey_ext" descr="" subnode="router_interface_ipoib_pkey_ext" condition="($(parent).type == IPoIB_PKEY) AND ($(parent).type_ib == NO_IB)" offset="0x0.0" size="0x14.0" />
	<field name="router_interface_loopback_ext" descr="" subnode="router_interface_loopback_ext" condition="($(parent).type == Loopback) AND ($(parent).type_ib == NO_IB)" offset="0x0.0" size="0x24.0" />
	<field name="router_interface_sub_port_ext" descr="" subnode="router_interface_sub_port_ext" condition="Subport($(parent).type == Subport) AND ($(parent).type_ib == NO_IB)" offset="0x0.0" size="0x18.0" />
	<field name="router_interface_vlan_ext" descr="" subnode="router_interface_vlan_ext" condition="($(parent).type == VLAN) AND ($(parent).type_ib == NO_IB)" offset="0x0.0" size="0x18.0" />
</node>

<node name="riva_ext" descr="" size="0x10.0" >
	<field name="irif" descr="Ingress Router Interface Index\;Range is 0.. cap_max_router_interfaces-1" access="INDEX" offset="0x0.0" size="0x0.16" />
	<field name="entry_index" descr="Entry index\;Range 0 .. cap_max_irif_vattr - 1\;Note: the RITR defines a first set of attributes for the iRIF. This register can add more." access="INDEX" offset="0x4.0" size="0x0.8" />
	<field name="dlid" descr="Destination LID" access="RW" offset="0x8.0" size="0x0.16" />
	<field name="lmc" descr="LMC" access="RW" offset="0xC.0" size="0x0.8" />
</node>

<node name="rmeir_ext" descr="" size="0x210.0" >
	<field name="expected_irif_list_index" descr="Expected Ingress RIF List Index\;An index to the list of expected ingress RIFs\;For Spectrum, this is in KVD Linear, see Appendix A.2.1.2, &quot;KVD Central Database Linear Entries&quot; (page 4588)\;Each entry in the KVD consist of cap_exp_irif_in_kvd_entry" access="INDEX" offset="0x0.0" size="0x0.24" />
	<field name="num_entries" descr="Number of entries\;Range 1..16\;Value of 0 means 1 entry\;Reserved when Spectrum" access="OP" offset="0x4.0" size="0x0.8" />
	<field name="expected_irif_bit_vector" descr="Bit Vector of the expected Ingress RIFs. Configures 256 entries.\;For more than 256 RIFs use stacking of irif_bit_vectors\;User must use stacking for supporting cap_max_router_interfaces RIFs\;Rif (N*256) is at 2Ch bit0\;The 1st expected_irif_list_index (e.g. 1000) is for RIFs 0..255, the 2nd expected_irif_list_index (e.g. 1002) is for RIFs 256..511 etc.\;Valid range is 0.. cap_max_router_interfaces-1\;Note: Spectrum supports only 1 entry\;Note for Spectrum: value of 0x3ff represents the RIF after NVE encap." subnode="array256_auto" access="RW" high_bound="15" low_bound="0" offset="0x10.0" size="0x200.0" />
</node>

<node name="rmft_ext" descr="" size="0x90.0" >
	<field name="offset" descr="Offset within the multicast forwarding table to write to.\;Reserved when Switch-IB" access="INDEX" offset="0x0.0" size="0x0.16" />
	<field name="a" descr="Activity. Set if a packet lookup has hit on the specific entry.\;To clear the a bit, use &quot;clear activity&quot; op\;Reserved when Switch-IB" access="RO" offset="0x0.16" size="0x0.1" />
	<field name="op" descr="Operation\;For Write:\;0: Write operation. Used to write a new entry to the table. All RW fields are relevant for new entry. Activity bit is cleared for new entries\;1: Update action. Used to update an existing route entry and only update the following fields:\;trap, trap_group, trap_id, \;m, mirror_dst, prio, qos\;2: Clear activity. A bit is cleared for the entry\;For Query:\;0: Read operation. \;1: clear on Read operation. Used to read entry and clear activity bit." access="OP" offset="0x0.20" size="0x0.3" />
	<field name="type" descr="Entry Type:\;0: IPv4\;1: IPv6\;For Switch-IB, the type IPv6 represents GRH, the type IPv4 is not supported" access="INDEX" offset="0x0.28" size="0x0.2" />
	<field name="v" descr="Valid" access="RW" offset="0x0.31" size="0x0.1" />
	<field name="virtual_router" descr="Range is 0..cap_max_virtual_routers-1" access="RW" offset="0x4.16" size="0x0.16" />
	<field name="dip" descr="Destination IP address.\;IPv4 address uses bits dip[31:0] and bits dip[127:32] are reserved.\;For Switch-IB represents destination GID" access="RW" high_bound="3" low_bound="0" offset="0x10.0" size="0x10.0" />
	<field name="dip_mask" descr="Reserved when Switch-IB" access="RW" high_bound="3" low_bound="0" offset="0x20.0" size="0x10.0" />
	<field name="sip" descr="Source IP address.\;IPv4 address uses bits sip[31:0] and bits sip[127:32] are reserved.\;Reserved when Switch-IB" access="RW" high_bound="3" low_bound="0" offset="0x30.0" size="0x10.0" />
	<field name="sip_mask" descr="Reserved when Switch-IB" access="RW" high_bound="3" low_bound="0" offset="0x40.0" size="0x10.0" />
	<field name="trap_id" descr="Trap ID to be reported to CPU\;Bits 8:6 must be equal to 111 (binary)\;Reserved when Switch-IB" access="RW" offset="0x60.0" size="0x0.9" />
	<field name="trap_grp" descr="Trap group to use when trapping to CPU\;Reserved when Switch-IB" access="RW" offset="0x60.16" size="0x0.4" />
	<field name="trap_action" descr="0: permit\;1: soft drop\;2: trap\;3: soft drop &amp; trap\;4: deny\;Reserved when Switch-IB" access="RW" offset="0x60.28" size="0x0.4" />
	<field name="ttl_value" descr="Value to be used for TTL set / decrement\;For Switch-IB this field must have the same value for all entries" access="RW" offset="0x64.0" size="0x0.8" />
	<field name="ttl_cmd" descr="Time To Live (TTL) Command:\;0: Decrement - packet&apos;s TTL field will be decremented by ttl_value\;1: Set - packet&apos;s TTL field will be set to ttl_value\;For Switch-IB this field must have the same value for all entries" access="RW" offset="0x64.8" size="0x0.2" />
	<field name="qos" descr="Quality of Service:\;0: Map Prio from DSCP, see Section \;1: Preserve packet&apos;s Prio (as arrived to the router)\;For Switch-IB must be set to &apos;1&apos;" access="RW" offset="0x64.16" size="0x0.2" />
	<field name="prio" descr="Reserved when Switch-IB" access="RW" offset="0x64.20" size="0x0.3" />
	<field name="mirror_dst" descr="Mirroring destination of m bit is set\;Reserved when Switch-IB" access="RW" offset="0x64.24" size="0x0.3" />
	<field name="m" descr="Mirror enable.\;Reserved when Switch-IB" access="RW" offset="0x64.31" size="0x0.1" />
	<field name="expected_ingress_rif" descr="Expected ingress router interface, used for RPF check\;Reserved when Switch-IB" access="RW" offset="0x68.0" size="0x0.18" />
	<field name="rpf" descr="RPF Check Mode\;0: No RPF, Ignore expected_ingress_rif\;1: RPF Check Enabled - Discard\;2: RPF Check Enabled - Trap (Configured by HPKT)\;4: Directional forwarding (match only if packet is coming from expected_ingress_rif)\;For Switch-IB must be set to &apos;4&apos;" access="RW" offset="0x68.28" size="0x0.3" />
	<field name="assert" descr="Assert check enable\;This field is only valid when rpf is not set to Ignore or Trap.\;Reserved when Switch-IB" access="RW" offset="0x68.31" size="0x0.1" />
	<field name="egress_rif_group" descr="Egress router interface list\;Switch-IB supports range of 7:0" access="RW" high_bound="7" low_bound="0" offset="0x70.0" size="0x20.0" />
</node>

<node name="rmft_v2_ext" descr="" size="0x128.0" >
	<field name="offset" descr="Offset within the multicast forwarding table to write to.\;Reserved when Switch-IB" access="INDEX" offset="0x0.0" size="0x0.16" />
	<field name="a" descr="Activity. Set for new entries. Set if a packet lookup has hit on the specific entry.\;Reserved when Switch-IB" access="RO" offset="0x0.16" size="0x0.1" />
	<field name="op" descr="Operation\;For Write:\;0: WRITE operation. Used to write a new entry to the table. All\;R/W fields are relevant for new entry. Activity bit is set for new\;entries - Note write with v = 0 will delete the entry\;1: UPDATE action. Only action will be updated.\;2: CLEAR activity. Activity bit is cleared for the entry\;3: WRITE_CLEAR. Does WRITE with CLEAR activity \;For Query:\;0: READ operation.\;1: CLEAR_ON_READ on read operation. Used to read entry and\;clear Activity bit." access="OP" offset="0x0.20" size="0x0.3" />
	<field name="type" descr="Entry Type:\;0: Multicast_IPv4_group0\;1: Multicast_IPv6_group0\;2: Multicast_IPv4_group1 - only for Spectrum\;3: Multicast_IPv6_group1 - only for Spectrum\;For Switch-IB must be &apos;1&apos; (IPv6 is like GID)" access="INDEX" offset="0x0.28" size="0x0.2" />
	<field name="v" descr="Valid\;Reserved when Switch-IB" access="RW" offset="0x0.31" size="0x0.1" />
	<field name="virtual_router" descr="Virtual Router ID\;Range from 0..cap_max_virtual_routers-1\;Reserved when Switch-IB" access="RW" offset="0x4.0" size="0x0.16" />
	<field name="irif" descr="Ingress RIF" access="RW" offset="0x8.0" size="0x0.16" />
	<field name="irif_m" descr="iRIF mask\;0: ignore the irif\;1: compare the irif\;For Switch-IB must be &apos;1&apos;" access="RW" offset="0x8.24" size="0x0.1" />
	<field name="dip" descr="Destination IP address.\;IPv4 address uses bits dip[31:0] and bits dip[127:32] are reserved.\;For Switch-IB this is 128bit GID" access="RW" high_bound="3" low_bound="0" offset="0x10.0" size="0x10.0" />
	<field name="dip_mask" descr="A bit that is set directs the TCAM to compare the corresponding bit in key. A bit that is clear directs the TCAM to ignore the corresponding bit in key" access="RW" high_bound="3" low_bound="0" offset="0x20.0" size="0x10.0" />
	<field name="sip" descr="Source IP address.\;IPv4 address uses bits sip[31:0] and bits sip[127:32] are reserved.\;Reserved when Switch-IB" access="RW" high_bound="3" low_bound="0" offset="0x30.0" size="0x10.0" />
	<field name="sip_mask" descr="A bit that is set directs the TCAM to compare the corresponding bit in key. A bit that is clear directs the TCAM to ignore the corresponding bit in key\;Reserved when Switch-IB" access="RW" high_bound="3" low_bound="0" offset="0x40.0" size="0x10.0" />
	<field name="flexible_action_set" descr="Flexible Action-Set.\;The layout of this field is the same as described in Table 3083, &quot;Flexible Action Set Layout,&quot; on page 3691 while the only supported action types in this field and in any action-set pointed from here are as follows:\;00h: NULL_ACTION\;01h: MAC_TTL_ACTION, only TTL configuration is supported.\;03h: TRAP_ACTION\;04h: TRAP_W_USERDEF_ACTION\;06h: QOS_ACTION\;08h: POLICING_MONITORING_ACTION\;09h: METADATA_ACTION\;10h: ROUTER_MC_ACTION\;If goto is set then the binding_cmd must be &apos;0&apos; (none/continue), see Section 11.9.2.3, &quot;Goto action set&quot;, on page 3696)\;The action types are defined in Section 11.9, &quot;Flexible ACL Action Set&quot;, on page 3689.\;See Section 11.9.5, &quot;Flexible Action Set Blocks&quot;, on page 3703\;See Section 11.9.5.2, &quot;MAC_TTL_ACTION&quot;, on page 3703\;See Section 11.9.5.4, &quot;TRAP_ACTION&quot;, on page 3708\;See Section 11.9.5.9, &quot;QOS_ACTION&quot;, on page 3716\;See Section 11.9.5.11, &quot;POLICING_AND_COUNTING_ACTION&quot;, on page 3721\;See Section 11.9.5.14, &quot;META_DATA_ACTION&quot;, on page 3727\;See Section 11.9.5.16, &quot;MC_ROUTING_ACTION&quot;, on page 3734\;If the packet is not discarded by TRAP_ACTION then ROUTER_MC_ACTION must be called" subnode="flexible_action_set_ext" access="RW" offset="0x80.0" size="0xa8.0" />
</node>

<node name="rmftad_ext" descr="" size="0x220.0" >
	<field name="offset" descr="Offset within the multicast forwarding table\;Must be N*32" access="INDEX" offset="0x0.0" size="0x0.16" />
	<field name="type" descr="Entry Type:\;0: Multicast IPv4\;1: Multicast IPv6" access="INDEX" offset="0x0.20" size="0x0.2" />
	<field name="op" descr="0: Read activity\;1: Read and clear activity" access="OP" offset="0x0.30" size="0x0.2" />
	<field name="num_rec" descr="Number of records to read\;Range 1..4096" access="OP" offset="0x4.0" size="0x0.13" />
	<field name="activity_vector" descr="Activity per offset\;Line 20h bit 31 is for entry offset+4095\;Line 21C bit 0 is for entry offset+0\;Bits higher than num_rec are reserved\;Bits higher than region_size are reserved\;For non-valid offsets the activity is reserved" access="RO" high_bound="127" low_bound="0" offset="0x20.0" size="0x200.0" />
</node>

<node name="rmid_ext" descr="" size="0x40.0" >
	<field name="rmid_index" descr="RMID Index\;Range 0 .. max_mid - 1\;For Spectrum family, the index is to the Port Group Table, see Section A.2.2, &quot;Port Group Table (PGT)&quot;, on page 4588" access="INDEX" offset="0x0.0" size="0x0.16" />
	<field name="rmpe_index" descr="Router multicast port to ERIF Index\;When ubridge=0: Range is 0.. cap_max_rmpe - max_fid - 1\;When ubridge=1: Range is 0.. cap_max_rmpe - 1\;Reserved when egress_port is all &apos;0&apos;" access="RW" offset="0x4.0" size="0x0.16" />
	<field name="egress_port" descr="Egress Port bitmask, \;CPU port is not supported\;Router port is not supported\;0: Do not transmit the packet to the local port\;1: Transmit the packet to the local port\;All LAG ports must share the same configuration.\;If all bits are &apos;0&apos; then the packet is discarded without error counting" access="RW" high_bound="7" low_bound="0" offset="0x20.0" size="0x20.0" />
</node>

<node name="rmid_index" descr="" size="0x4.0" >
	<field name="rmid_index" descr="" offset="0x0.0" size="0x0.16" />
</node>

<node name="rmid_v2_ext" descr="" size="0xa0.0" >
	<field name="rmid_index" descr="RMID Index\;For Spectrum family, the index is to the Port Group Table, see Section A.2.2, &quot;Port Group Table (PGT)&quot;, on page 4588" access="INDEX" offset="0x0.0" size="0x0.16" />
	<field name="rmpe_index" descr="Router multicast port to ERIF Index\;When ubridge=0: Range is 0.. cap_max_rmpe - max_fid - 1\;When ubridge=1: Range is 0.. cap_max_rmpe - 1\;Reserved when egress_port is all &apos;0&apos;" access="RW" offset="0x4.0" size="0x0.16" />
	<field name="egress_port" descr="Egress Port bitmask, \;CPU port is not supported\;Router port is not supported\;0: Do not transmit the packet to the local port\;1: Transmit the packet to the local port\;All LAG ports must share the same configuration.\;If all bits are &apos;0&apos; then the packet is discarded without error counting" access="RW" high_bound="31" low_bound="0" offset="0x20.0" size="0x80.0" />
</node>

<node name="rmpe_ext" descr="" size="0xc.0" >
	<field name="lp_msb" descr="Local port[9:8]" access="INDEX" offset="0x0.12" size="0x0.2" />
	<field name="local_port" descr="Local port number\;CPU port is not supported" access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="rmpe_index" descr="Router multicast port to ERIF\;When ubridge=0: Range is 0.. cap_max_rmpe - max_fid - 1\;When ubridge=1: Range is 0.. cap_max_rmpe - 1\;Note: when ubridge=1 the rmpe and smpe use the same range, see SMPE register" access="INDEX" offset="0x4.0" size="0x0.16" />
	<field name="erif" descr="Egress Router Interface\;Valid range is 0..cap_max_router_interfaces - 1" access="RW" offset="0x8.0" size="0x0.16" />
</node>

<node name="rmpu_ext" descr="" size="0x110.0" >
	<field name="lp_msb" descr="Local port[9:8]" access="INDEX" offset="0x0.12" size="0x0.2" />
	<field name="local_port" descr="Local port to send the packet\;CPU port is not supported" access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="size" descr="Number of valid RMIDs to be updated.\;Range is 1 to 64" access="INDEX" offset="0x4.16" size="0x0.8" />
	<field name="op" descr="Operation\;0: Set bit\;1: Clear bit" access="WO" offset="0x4.30" size="0x0.2" />
	<field name="rmid_index" descr="RMID index to where the relevant local_port bit indication is to be set/cleared.\;Range 0 .. max_mid - 1" subnode="rmid_index" access="INDEX" high_bound="63" low_bound="0" offset="0x10.0" size="0x100.0" />
</node>

<node name="rngcr_ext" descr="" size="0xc.0" >
	<field name="nat4to6_fl_suffix" descr="NAT4To6 header replacement Flow Label Suffix\;Constant 8 most significant bits of the flow label. \;Reserved when nat4to6_flh = 1" access="RW" offset="0x0.0" size="0x0.8" />
	<field name="nat4to6_fl_prefix" descr="For NAT4To6 header replacement:\;Constant 12 most significant bits of the flow label." access="RW" offset="0x0.8" size="0x0.12" />
	<field name="nat4to6_flh" descr="For NAT4To6 header replacement:\;0: Flow Label is statically set by {nat4to6_fl_prefix, nat4to6_fl_suffix}\;1: Flow Label 8 least significant bits are calculated from ECMP hash, and 12msb are configured by nat4to6_fl_prefix\;See Section 14.14.6, &quot;RECR - Router ECMP Configuration Register&quot;, on page 4106 and Section 14.14.7, &quot;RECR_V2 - Router ECMP Configuration Version 2 Register&quot;, on page 4107" access="RW" offset="0x0.24" size="0x0.1" />
	<field name="v" descr="valid \;0: NAT4To6 is not enabled\;1: NAT4To6 is enabled (should not be set when only NAT6To4 flows are used). \;" access="RW" offset="0x0.31" size="0x0.1" />
</node>

<node name="rom_version_ext" descr="" size="0x4.0" >
	<field name="build" descr="Build version" access="RO" offset="0x0.0" size="0x0.16" />
	<field name="minor" descr="Minor version" access="RO" offset="0x0.16" size="0x0.8" />
	<field name="major" descr="Major version" access="RO" offset="0x0.24" size="0x0.8" />
</node>

<node name="router_interface_fid_ext" descr="" size="0x18.0" >
	<field name="fid" descr="FID\;Used to connect a bridge to the router. \;When ubridge = 0 only FIDs from the vFID range are supported\;Note: when ubridge = 1 this is the egress-fid for router to bridge\;" access="RW" offset="0x0.0" size="0x0.16" />
	<field name="swid" descr="Switch Partition ID" access="RW" offset="0x0.24" size="0x0.8" />
	<field name="router_interface_mac_47_32" descr="Router interface MAC address.\;Note: in SwitchX silicon family, all router interfaces on the same switch partition MUST have the same MAC address. \;In Spectrum switches, all MAC addresses must have the same [48-log2(cap_max_router_interfaces)] MSBits." access="RW" offset="0x8.0" size="0x0.16" />
	<field name="mac_profile_id" descr="MAC msb profile ID\;range 0 .. cap_max_rif_mac_profile-1\;Reserved when Spectrum" access="RW" offset="0x8.16" size="0x0.4" />
	<field name="router_interface_mac_31_0" descr="Router interface MAC address.\;Note: in SwitchX silicon family, all router interfaces on the same switch partition MUST have the same MAC address. \;In Spectrum switches, all MAC addresses must have the same [48-log2(cap_max_router_interfaces)] MSBits." access="RW" offset="0xC.0" size="0x4.0" />
	<field name="vrrp_id_ipv4" descr="VRRP ID for IPv4\;Reserved when SwitchX/-2. The MAD address should be entered to the FDB" access="RW" offset="0x14.0" size="0x0.8" />
	<field name="vrrp_id_ipv6" descr="VRRP ID for IPv6\;Reserved when SwitchX/-2. The MAD address should be entered to the FDB" access="RW" offset="0x14.8" size="0x0.8" />
</node>

<node name="router_interface_ib_swid_ext" descr="" size="0x24.0" >
	<field name="swid" descr="" access="RW" offset="0x0.24" size="0x0.8" />
	<field name="lid" descr="Base LID of the router interface\;Note: must be aligned with RTCA.lid" access="RW" offset="0x4.0" size="0x0.16" />
	<field name="lmc" descr="LMC of the router interface\;Note: must be aligned with RTCA.lmc" access="RW" offset="0x8.0" size="0x0.8" />
	<field name="guid" descr="GUID for &quot;GID2ME&quot; on link-local\;" subnode="uint64" access="RW" offset="0xC.0" size="0x8.0" />
</node>

<node name="router_interface_ipoib_pkey_ext" descr="" size="0x14.0" >
	<field name="pkey" descr="InfiniBand partition key" access="RW" offset="0x0.0" size="0x0.16" />
	<field name="swid" descr="Switch partition ID" access="RW" offset="0x0.24" size="0x0.8" />
	<field name="scope" descr="Multicast GID scope" access="RW" offset="0x4.0" size="0x0.4" />
	<field name="qkey" descr="Queue key\;Note: All router interfaces must share the same qkey." access="RW" offset="0xC.0" size="0x4.0" />
	<field name="qpn" descr="Local QP used for the IPoIB router interface.\;Note: In SwitchX devices, the QPn allocation must follow the following rules:\;1. QPn used for router interfaces must be allocated sequentially where QPn for Router Interface #n must be calculated by\;2. QPn = QPn_base + Router Interface Index" access="RW" offset="0x10.0" size="0x0.24" />
</node>

<node name="router_interface_loopback_ext" descr="" size="0x24.0" >
	<field name="protocol" descr="Protocol\;0: IPIP_IPV4 - overlay RIF with underlay of IPinIP IPv4\;1: IPIP_IPV6 - overlay RIF with underlay of IPinIP IPv6\;2: GENERIC \;3: USIP_IPV4\;4: USIP_IPV6\;\;" access="RW" enum="IPIP_IPV4=0x0,IPIP_IPV6=0x1,GENERIC=0x2,USIP_IPV4=0x3,USIP_IPV6=0x4" offset="0x0.28" size="0x0.4" />
	<field name="rif_loopback_parameters" descr="For protocol = IPIP_IPV4 or protocol = IPIP_IPV6 See Table 3466, &quot;Loopback IPinIP Overlay Router Interface Properties Layout,&quot; on page 4092\;For protocol = USIP_IPV4 or protocol = USIP_IPV6 See Table 3464, &quot;Loopback USIP Router Interface Properties Layout,&quot; on page 4091\;For protocol = GENERIC See Table 3462, &quot;Loopback Generic Router Interface Properties Layout,&quot; on page 4090" subnode="router_interface_loopback_rif_loopback_parameters_auto_ext" access="RW" offset="0x8.0" size="0x1c.0" union_selector="$(parent).protocol" />
</node>

<node name="router_interface_loopback_generic_ext" descr="" size="0x4.0" >
</node>

<node name="router_interface_loopback_ipinip_ext" descr="" size="0x1c.0" >
	<field name="uvr" descr="Underlay Virtual Router\;Range is 0..cap_max_virtual_routers-1\;Reserved when Spectrum-2" access="RW" offset="0x0.0" size="0x0.16" />
	<field name="options" descr="When type is IP_IN_GRE_KEY_IN_IP:\;0: The key is defined by gre_key\;1: The 24msbs of the key are set by ipip_gre_key_for_hash, see TIGCR. The 8 lsbs of the key are based on a hash value configured by RECR or RECR_V2.\;See Section 17.5.1, &quot;TIGCR - Tunneling IPinIP General Configuration Register&quot;, on page 4427, Section 14.14.6, &quot;RECR - Router ECMP Configuration Register&quot;, on page 4106, Section 14.14.7, &quot;RECR_V2 - Router ECMP Configuration Version 2 Register&quot;, on page 4107" access="RW" offset="0x0.20" size="0x0.4" />
	<field name="ipip_type" descr="Encapsulation Type\;0: IP_IN_IP: Tunnel is IPinIP \;1: IP_IN_GRE_IN_IP: Tunnel is GRE, no key\;2: IP_IN_GRE_KEY_IN_IP: Tunnel is GRE, with a key" access="RW" offset="0x0.24" size="0x0.4" />
	<field name="underlay_router_interface" descr="Underlay ingress router interface (uirif)Reserved when Spectrum-1\;\;" access="RW" offset="0x4.0" size="0x0.16" />
	<field name="ig_uirif" descr="Ignore uirif\;0: use uirif field in this RIF\;1: ignore uirif field of the RIF, use RIF by the RATR\;Reserved when Spectrum-1" access="RW" offset="0x4.16" size="0x0.1" />
	<field name="usip" descr="Encapsulation Underlay source IP\;Reserved when protocol is IPv4" access="RW" high_bound="3" low_bound="0" offset="0x8.0" size="0x10.0" />
	<field name="gre_key" descr="GRE Key\;Reserved when ipip_type is not IP_IN_GRE_KEY_IN_IP" access="RW" offset="0x18.0" size="0x4.0" />
</node>

<node name="router_interface_loopback_rif_loopback_parameters_auto_ext" descr="" attr_is_union="1" size="0x1c.0" >
	<field name="router_interface_loopback_generic_ext" descr="" subnode="router_interface_loopback_generic_ext" offset="0x0.0" selected_by="GENERIC" size="0x4.0" />
	<field name="router_interface_loopback_ipinip_ext" descr="" subnode="router_interface_loopback_ipinip_ext" offset="0x0.0" selected_by="IPIP_IPV4" size="0x1c.0" />
	<field name="router_interface_loopback_usip_ext" descr="" subnode="router_interface_loopback_usip_ext" offset="0x0.0" selected_by="IPIP_IPV4" size="0x18.0" />
</node>

<node name="router_interface_loopback_usip_ext" descr="" size="0x18.0" >
	<field name="usip" descr="Encapsulation Underlay source IP, used for encap of L2/L3 flex gen_enc\;Reserved when protocol is IPv4" access="RW" high_bound="3" low_bound="0" offset="0x8.0" size="0x10.0" />
</node>

<node name="router_interface_sub_port_ext" descr="" size="0x18.0" >
	<field name="system_port" descr="Port unique identifier.\;When lag bit is set, this field holds the lag_id in bits [9:0]\;When ubridge=1 this is the egress port only\;" access="RW" offset="0x0.0" size="0x0.16" />
	<field name="lag" descr="LAG indication. When this bit is set, the system_port field holds the LAG identifier" access="RW" offset="0x0.24" size="0x0.1" />
	<field name="ar" descr="Adaptive Routing:\;At egress device will map system_port-&gt;erif\;0: do_not_set\;1: set\;Note: From Spectrum-5 onwards, service ports are not supported.\;Note: Overrides the mapping other sub-port RIFs of the same port.\;Reserved when Spectrum-1." access="OP" offset="0x0.25" size="0x0.1" />
	<field name="efid" descr="Egress FID\;Used to connect the erif to a bridge if erifACL has modified the DMAC or the VID\;Reserved when ubridge = 0" access="RW" offset="0x4.0" size="0x0.16" />
	<field name="router_interface_mac_47_32" descr="Router interface MAC address.\;Note: In the SwitchX silicon family, all router interfaces on the same switch partition must have the same MAC address.\;In Spectrum switches, all MAC addresses must have the same [48-log2(cap_max_router_interfaces)] MSBits." access="RW" offset="0x8.0" size="0x0.16" />
	<field name="mac_profile_id" descr="MAC msb profile ID\;range 0 .. cap_max_rif_mac_profile-1\;Reserved when Spectrum" access="RW" offset="0x8.16" size="0x0.4" />
	<field name="router_interface_mac_31_0" descr="Router interface MAC address.\;Note: In the SwitchX silicon family, all router interfaces on the same switch partition must have the same MAC address.\;In Spectrum switches, all MAC addresses must have the same [48-log2(cap_max_router_interfaces)] MSBits." access="RW" offset="0xC.0" size="0x4.0" />
	<field name="vid" descr="Sub-port VLAN ID\;Reserved when ubridge = 1\;" access="RW" offset="0x10.0" size="0x0.12" />
	<field name="vrrp_id_ipv4" descr="VRRP ID for IPv4\;Reserved when SwitchX/-2. The MAD address should be entered to the FDB" access="RW" offset="0x14.0" size="0x0.8" />
	<field name="vrrp_id_ipv6" descr="VRRP ID for IPv6\;Reserved when SwitchX/-2. The MAD address should be entered to the FDB" access="RW" offset="0x14.8" size="0x0.8" />
</node>

<node name="router_interface_vlan_ext" descr="" size="0x18.0" >
	<field name="vlan_id" descr="VLAN ID\;Note: when ubridge = 1 this is the egress-router-vid. \;" access="RW" offset="0x0.0" size="0x0.12" />
	<field name="swid" descr="Switch Partition ID" access="RW" offset="0x0.24" size="0x0.8" />
	<field name="efid" descr="Egress FID\;Used to connect the rif to a bridge \;Reserved when ubridge = 0\;Reserved when Spectrum\;" access="RW" offset="0x4.0" size="0x0.16" />
	<field name="router_interface_mac_47_32" descr="Router interface MAC address.\;Note: for SwitchX/-2 all router interfaces on the same switch partition MUST have the same MAC address.\;In Spectrum switches, all MAC addresses must have the same [48-log2(cap_max_router_interfaces)] MSBits." access="RW" offset="0x8.0" size="0x0.16" />
	<field name="mac_profile_id" descr="MAC msb profile ID\;range 0 .. cap_max_rif_mac_profile-1\;Reserved when Spectrum" access="RW" offset="0x8.16" size="0x0.4" />
	<field name="router_interface_mac_31_0" descr="Router interface MAC address.\;Note: for SwitchX/-2 all router interfaces on the same switch partition MUST have the same MAC address.\;In Spectrum switches, all MAC addresses must have the same [48-log2(cap_max_router_interfaces)] MSBits." access="RW" offset="0xC.0" size="0x4.0" />
	<field name="vrrp_id_ipv4" descr="VRRP ID for IPv4\;Reserved when SwitchX/-2. The MAC address should be entered to the FDB" access="RW" offset="0x14.0" size="0x0.8" />
	<field name="vrrp_id_ipv6" descr="VRRP ID for IPv6\;Reserved when SwitchX/-2. The MAC address should be entered to the FDB" access="RW" offset="0x14.8" size="0x0.8" />
</node>

<node name="rrcr_ext" descr="" size="0x24.0" >
	<field name="offset" descr="Offset within the region from which to copy/move." access="INDEX" offset="0x0.0" size="0x0.16" />
	<field name="op" descr="Operation:\;0: move rules.\;1: copy rules." access="WO" offset="0x0.28" size="0x0.4" />
	<field name="size" descr="The number of rules to copy/move." access="WO" offset="0x4.0" size="0x0.16" />
	<field name="table_id" descr="Identifier of the table on which to perform the operation.\;Encoding is the same as in RTAR.key_type. See Section 14.14.5, &quot;RTAR - Router TCAM Allocation Register&quot;, on page 4105." access="INDEX" offset="0x10.0" size="0x0.4" />
	<field name="dest_offset" descr="Offset within the region to which to copy/move." access="INDEX" offset="0x20.0" size="0x0.16" />
</node>

<node name="rrpcc_ext" descr="" size="0xc.0" >
	<field name="use_vr" descr="Whether VR is part of key calculation that accessed with to the router hash table." access="RW" offset="0x0.31" size="0x0.1" />
	<field name="ipv4_m" descr="Number of MSB from DIPv4 address to use as an input to the hash function (M).\;Range 0..32." access="RW" offset="0x4.0" size="0x0.6" />
	<field name="ipv4_frag" descr="For hash_bits updates.\;0: WHOLE_TABLE\;1: FIRST_HALF\;2: SECOND_HALF\;3: Reserved" access="RW" enum="WHOLE_TABLE=0x0,FIRST_HALF=0x1,SECOND_HALF=0x2,Reserved=0x3" offset="0x4.14" size="0x0.2" />
	<field name="ipv4_urpf_en" descr="Enable Route Prefix Compression for IPv4 URPF entries." access="RW" offset="0x4.29" size="0x0.1" />
	<field name="ipv4_arn_en" descr="Enable Route Prefix Compression for IPv4 ARN entries." access="RW" offset="0x4.30" size="0x0.1" />
	<field name="ipv4_en" descr="Enable Route Prefix Compression for IPv4 routing entries." access="RW" offset="0x4.31" size="0x0.1" />
	<field name="ipv6_m" descr="Number of MSB from DIPv6 address to use as an input to the hash function (M).\;Range 0..128." access="RW" offset="0x8.0" size="0x0.8" />
	<field name="ipv6_frag" descr="For hash_bits updates.\;0: WHOLE_TABLE\;1: FIRST_HALF\;2: SECOND_HALF\;3: Reserved" access="RW" enum="WHOLE_TABLE=0x0,FIRST_HALF=0x1,SECOND_HALF=0x2,Reserved=0x3" offset="0x8.14" size="0x0.2" />
	<field name="ipv6_urpf_en" descr="Enable Route Prefix Compression for IPv6 URPF entries." access="RW" offset="0x8.29" size="0x0.1" />
	<field name="ipv6_arn_en" descr="Enable Route Prefix Compression for IPv6 ARN entries." access="RW" offset="0x8.30" size="0x0.1" />
	<field name="ipv6_en" descr="Enable Route Prefix Compression for IPv6 routing entries." access="RW" offset="0x8.31" size="0x0.1" />
</node>

<node name="rrpct_ext" descr="" size="0x30.0" >
	<field name="table_index" descr="Index for row[0].\;Range 0..cap_max_rpc_ip_rows-1." access="INDEX" offset="0x0.0" size="0x0.16" />
	<field name="mode" descr="Mode.\;0: BULK - Read/Write in bulk\;1: COPY - Writes the same row (row[0])" access="INDEX" enum="BULK=0x0,COPY=0x1" offset="0x0.31" size="0x0.1" />
	<field name="num_row" descr="Number of rows in row[...].\;Number can&apos;t exceed table_index&apos;s range." access="OP" offset="0x4.0" size="0x0.16" />
	<field name="row" descr="In Mode = COPY, only the first row (row[0]) is used.\;See Table 3625, &quot;RRPCT - Hash Table Row Layout,&quot; on page 4220" subnode="rrpct_row_ext" access="RW" arr_is_dynamic="1" high_bound="VARIABLE" low_bound="0" offset="0x10.0" size="0x20.0" size_condition="$(parent).num_row" />
</node>

<node name="rrpct_row_ext" descr="" size="0x20.0" >
	<field name="length" descr="Mask length K.\;Range M..128 for IPv6.\;Range M..32 for IPv4.\;Range is from 1..128." access="RW" high_bound="31" low_bound="0" offset="0x0.24" size="0x20.0" />
</node>

<node name="rsnh_ext" descr="" size="0x10.0" >
	<field name="lp_msb" descr="Local port[9:8]" access="INDEX" offset="0x0.12" size="0x0.2" />
	<field name="local_port" descr="Egress Local Port" access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="p2d_en" descr="Local_port to DMAC mapping enable" access="RW" offset="0x4.0" size="0x0.1" />
	<field name="dmac_47_32" descr="DMAC" access="RW" offset="0x8.0" size="0x0.16" />
	<field name="dmac_31_0" descr="DMAC" access="RW" offset="0xC.0" size="0x4.0" />
</node>

<node name="rtar_tcam_ext" descr="" size="0x8.0" >
	<field name="key_type" descr="TCAM key type for the region.\;Supported router types include:\;00h: IPv4 Unicast, not supported by Spectrum\;01h: IPv4 Multicast (group0)\;02h: IPv6 Unicast, not supported by Spectrum\;03h: IPv6 Multicast (group0)\;04h: IPv4 Host Table, not supported by Spectrum\;05h: IPv6 Host Table, not supported by Spectrum\;06h: IPv4 Multicast, group1, only for Spectrum\;07h: IPv6 Multicast, group1, only for Spectrum\;Note: Current SwitchX and SwitchX-2 device requires allocation of host table resources while it might not be needed in future devices." access="WO" offset="0x0.0" size="0x0.8" />
	<field name="eb" descr="External bind:\;0: Immediate bind\;1: bind by PEMRBT" access="OP" offset="0x0.24" size="0x0.1" />
	<field name="op" descr="For Write operation\;0: ALLOCATE a TCAM region\;1: RESIZE a TCAM region\;When providing a larger size, additional entries are added at the end of the table (larger indexes). When providing a smaller size, the last entries are removed. If RESIZE operation will cause removal of valid entries, the operation will fail.\;2: DEALLOACTE TCAM region\;3: TEST allocation" access="WO" offset="0x0.28" size="0x0.4" />
	<field name="region_size" descr="TCAM region size. \;For op = ALLOCATE or op = RESIZE or op = TEST: this field is set by SW and the device returns the actual allocated size.\;Note that actual size may be larger than requested.\;Allowed range 1 .. cap_max_rules-1\;Reserved when op = DEALLOCATE" access="RW" offset="0x4.0" size="0x0.16" />
</node>

<node name="rtca_ext" descr="" size="0x14.0" >
	<field name="lid" descr="Base LID for the port" access="RW" offset="0x0.0" size="0x0.16" />
	<field name="lmc" descr="LID mask count" access="RW" offset="0x0.16" size="0x0.3" />
	<field name="swid" descr="Switch partition ID - identifies the TCA port connecting the router to the specific SWID. Only relevant for ports connected to an InfiniBand switch partition." access="INDEX" offset="0x0.24" size="0x0.8" />
	<field name="gid" descr="Global ID" access="RW" high_bound="3" low_bound="0" offset="0x4.0" size="0x10.0" />
</node>

<node name="rtdp_ext" descr="" size="0x44.0" >
	<field name="tunnel_index" descr="Index to the Decap entry\;For Spectrum, Index to KVD Linear, see Section A.2.1.2, &quot;KVD Central Database Linear Entries&quot;, on page 4588" access="INDEX" offset="0x0.0" size="0x0.24" />
	<field name="type" descr="Type of the RTDP entry:\;0: NVE\;1: IPinIP\;2: Generic_Decap" access="RW" enum="NVE=0x0,IPinIP=0x1,Generic_Decap=0x2" offset="0x0.28" size="0x0.4" />
	<field name="rtdp_entry" descr="RTDP entry according to type:\;Table 3530, &quot;RTDP Entry for NVE Decap Layout,&quot; on page 4147\;Table 3532, &quot;RTDP Entry for IPinIP Decap Layout,&quot; on page 4148\;Table 3534, &quot;RTDP Entry for Generic Decap Layout,&quot; on page 4150" subnode="rtdp_rtdp_entry_auto_ext" access="RW" offset="0x4.0" size="0x1c.0" union_selector="$(parent).type" />
	<field name="egress_router_interface" descr="Underlay egress router interface\;Range is 0 .. cap_max_router_interfaces - 1\;Reserved when Spectrum\;\;" access="RW" offset="0x40.0" size="0x0.16" />
</node>

<node name="rtdp_generic_ext" descr="" size="0x1c.0" >
	<field name="allow_decap" descr="Allowed decap types:\;Bit0:\;0: do not allow L3 (IP) decapsulation\;1: allow L3 (IP) decapsulation\;Bit1:\;0: do not allow MPLS decapsulation\;1: allow MPLS decapsulation\;Bit2:\;0: do not allow L2 decapsulation\;1: allow L2 decapsulation\;If decapsulation failed due to these configurations then trap_id is IP2ME." access="RW" offset="0x0.0" size="0x0.3" />
	<field name="checks_mode" descr="0: no_checks of NVE or IPinIP Decap\;1: apply NVE Decap checks\;2: apply IPinIP checks\;" access="RW" offset="0x0.8" size="0x0.2" />
	<field name="tunnel_port" descr="Tunnel port\;Relevant only for L2 decap" access="RW" offset="0x4.0" size="0x0.4" />
	<field name="tqos_profile_l3" descr="Tunnel QoS profile for L3 tunnel" access="RW" offset="0x4.16" size="0x0.4" />
	<field name="tqos_profile_l2" descr="Tunnel QoS profile for L2 tunnel" access="RW" offset="0x4.24" size="0x0.4" />
	<field name="irif" descr="Ingress Router Interface for the overlay router\;Relevant only for L3 or MPLS decap" access="RW" offset="0x8.0" size="0x0.16" />
	<field name="checks_nve_decap_disable" descr="If checks_mode = apply NVE Decap checks (1) then:\;When set, disable decap. \;This is a bitwise configuration:\;Bit 0: Disable VXLAN\;Bit 1: Disable VXLAN-GPE\;Bit 2: Disable GENEVE\;Bit 3: Disable NVGRE\;Reserved when checks_mode != &apos;1&apos;" access="RW" offset="0x8.24" size="0x0.4" />
	<field name="sip_check" descr="0: No sip checks \;1: filter packet if underlay is not IPv4 or if underlay SIP does not equal to ipv4_usip3: filter packet if underlay is not IPv6 or if underlay SIP does not equal to ipv6_usip\;If decapsulation failed due to these configurations then trap_id is IPIP_DECAP_ERROR\;\;Reserved when checks_mode != apply IPinIP checks (2)" access="RW" offset="0xC.0" size="0x0.3" />
	<field name="type_check" descr="Bit0:\;0: do not allow IPinIP (without GRE) decapsulation\;1: allow IPinIP (without GRE) decapsulation\;Bit1:\;0: do not allow IPinGREinIP without a key decapsulation\;1: allow IPinGREinIP without a key decapsulation\;Bit1 is reserved when gre_key_check=1\;\;Bit2:\;0: do not allow IPinGREinIP with a key decapsulation\;1: allow IPinGREinIP with a key decapsulation\;Bit2 is reserved when gre_key_check=1\;\;\;If decapsulation failed due to these configurations then trap_id is IPIP_DECAP_ERROR\;\;Reserved when checks_mode != apply IPinIP checks (2)" access="RW" offset="0xC.8" size="0x0.3" />
	<field name="gre_key_check" descr="0: do not check GRE key\;1: Check GRE key\;\;Reserved when checks_mode != apply IPinIP checks (2)\;Reserved when type_check.bit2 = 0 (don&quot;t allow IPinGREinIP with a key)" access="RW" offset="0xC.16" size="0x0.1" />
	<field name="ipv4_usip" descr="Underlay IPv4 address for ipv4 source address check\;\;Valid only when checks_mode = apply IPinIP checks (2) and sip_check = 1 (IPv4)" access="RW" offset="0x10.0" size="0x4.0" />
	<field name="ipv6_usip_ptr" descr="This field is valid when sip_check is &quot;sipv6 check explicitly&quot;\;This is a pointer to the IPv6 DIP which is configured by RIPS, see Section 14.14.17, &quot;RIPS - Router IP version Six Register&quot;, on page 4153\;For Spectrum, the index is to the KVD linear, see Section A.2.1, &quot;KVD Central Database&quot;, on page 4585\;Reserved when checks_mode != apply IPinIP checks (2)\;Reserved when sip_check is not &apos;2&apos; or &apos;3&apos;" access="RW" offset="0x14.0" size="0x0.24" />
	<field name="expected_gre_key" descr="GRE key for checking\;Reserved when checks_mode != apply IPinIP checks (2)\;Reserved when gre_key_check is &apos;0&apos;" access="RW" offset="0x18.0" size="0x4.0" />
</node>

<node name="rtdp_ipinip_ext" descr="" size="0x18.0" >
	<field name="sip_check" descr="0: No sip checks \;1: filter packet if underlay is not IPv4 or if underlay SIP does not equal to ipv4_usip3: filter packet if underlay is not IPv6 or if underlay SIP does not equal to ipv6_usip\;If decapsulation failed due to these configurations then trap_id is IPIP_DECAP_ERROR" access="RW" offset="0x0.0" size="0x0.3" />
	<field name="irif" descr="Ingress Router Interface for the overlay router" access="RW" offset="0x0.16" size="0x0.16" />
	<field name="tqos_profile" descr="Tunnel QoS profile\;0..cap_max_tqos_profile\;Reserved when Spectrum-1" access="RW" offset="0x4.0" size="0x0.4" />
	<field name="tqos_profile_en" descr="0: Use FW hard-coded value. See more detail in Table 12.11, &quot;Tunnel QoS Profiles,&quot; on page 3913\;1: Use tqos_profile_id" access="OP" offset="0x4.7" size="0x0.1" />
	<field name="gre_key_check" descr="0: do not check GRE key\;1: Check GRE key\;\;Reserved when type_check.bit2 = 0 (don&quot;t allow IPinGREinIP with a key)" access="RW" offset="0x4.23" size="0x0.1" />
	<field name="type_check" descr="Bit0:\;0: do not allow IPinIP (without GRE) decapsulation\;1: allow IPinIP (without GRE) decapsulation\;Bit1:\;0: do not allow IPinGREinIP without a key decapsulation\;1: allow IPinGREinIP without a key decapsulation\;Bit1 is reserved when gre_key_check=1\;\;Bit2:\;0: do not allow IPinGREinIP with a key decapsulation\;1: allow IPinGREinIP with a key decapsulation\;Bit2 is reserved when gre_key_check=1\;\;\;If decapsulation failed due to these configurations then trap_id is IPIP_DECAP_ERROR" access="RW" offset="0x4.24" size="0x0.3" />
	<field name="ipv4_usip" descr="Underlay IPv4 address for ipv4 source address check\;Reserved when sip_check is not &apos;1&apos;" access="RW" offset="0x8.0" size="0x4.0" />
	<field name="ipv6_usip_ptr" descr="This field is valid when sip_check is &quot;sipv6 check explicitly&quot;\;This is a pointer to the IPv6 DIP which is configured by RIPS, see Section 14.14.17, &quot;RIPS - Router IP version Six Register&quot;, on page 4153\;For Spectrum, the index is to the KVD linear, see Section A.2.1, &quot;KVD Central Database&quot;, on page 4585\;Reserved when sip_check is not &apos;2&apos; or &apos;3&apos;" access="RW" offset="0xC.0" size="0x0.24" />
	<field name="expected_gre_key" descr="GRE key for checking\;Reserved when gre_key_check is &apos;0&apos;" access="RW" offset="0x10.0" size="0x4.0" />
</node>

<node name="rtdp_nve_decap_ext" descr="" size="0x4.0" >
	<field name="decap_disable" descr="When set, disable decap. \;This is a bitwise configuration:\;Bit 0: Disable VXLAN\;Bit 1: Disable VXLAN-GPE\;Bit 2: Disable GENEVE\;Bit 3: Disable NVGRE" access="RW" offset="0x0.0" size="0x0.4" />
	<field name="tqos_profile" descr="Tunnel QoS profile\;0..cap_max_tqos_profile\;Reserved when Spectrum-1" access="RW" offset="0x0.8" size="0x0.4" />
	<field name="tqos_profile_en" descr="0: Use FW hard-coded value. See more detail in Table 12.11, &quot;Tunnel QoS Profiles,&quot; on page 3913\;1: Use tqos_profile_id" access="OP" offset="0x0.15" size="0x0.1" />
</node>

<node name="rtdp_rtdp_entry_auto_ext" descr="" attr_is_union="1" size="0x1c.0" >
	<field name="rtdp_generic_ext" descr="" subnode="rtdp_generic_ext" offset="0x0.0" selected_by="Generic_Decap" size="0x1c.0" />
	<field name="rtdp_ipinip_ext" descr="" subnode="rtdp_ipinip_ext" offset="0x0.0" selected_by="IPinIP" size="0x18.0" />
	<field name="rtdp_nve_decap_ext" descr="" subnode="rtdp_nve_decap_ext" offset="0x0.0" selected_by="NVE" size="0x4.0" />
</node>

<node name="rtps_ext" descr="" size="0x8.0" >
	<field name="tca_phy_pstate" descr="TCA Physical Port State.\;0: No change\;1: Down\;2: Polling\;3: Up" access="RW" offset="0x0.0" size="0x0.4" />
	<field name="tca_log_pstate" descr="TCA Logical Port State.\;0: No change\;1: Down\;2: Init\;3: Arm\;4: Active" access="RW" offset="0x0.4" size="0x0.4" />
	<field name="swid" descr="Switch partition ID - identifies the TCA port connecting the router to the specific SWID. Only relevant for ports connected to an InfiniBand switch partition." access="INDEX" offset="0x0.24" size="0x0.8" />
	<field name="switch_phy_pstate" descr="TCA Physical Port State is used to communicate the TCA logical port state managed by software with the switch port connected to it and managed by the SwitchX device.\;0: Reserved\;1: Down\;2: Polling \;3: Up" access="RO" offset="0x4.0" size="0x0.4" />
	<field name="switch_log_pstate" descr="TCA Logical Port State.\;0: Reserved\;1: Down\;2: Init\;3: Arm\;4: Active" access="RO" offset="0x4.4" size="0x0.4" />
</node>

<node name="ruft_ext" descr="" size="0x78.0" >
	<field name="offset" descr="Offset within the Unicast FIB LPM. \;Range 0.. cap_max_router_lpm_entries-1\;When Quantum and on: Value of 0xFFFF used for default route" access="INDEX" offset="0x0.0" size="0x0.16" />
	<field name="a" descr="Activity. Set if a packet lookup has hit on the specific entry.\;To clear the a bit, use &quot;clear activity&quot; op.\;Reserved when IB switches" access="RO" offset="0x0.16" size="0x0.1" />
	<field name="op" descr="Operation\;For Write:\;0: Write operation. Used to write a new entry to the table. All RW fields are relevant for new entry. Activity bit is cleared for new entries\;1: Update action. Used to update an existing route entry and only update the following fields:\;trap, trap_group, trap_id,\;m, mirror_dst, prio, qos,\;adjacency_index, ecmp_size\;2: Clear activity. A bit is cleared for the entry\;\;For Query:\;0: Read operation. \;1: clear on Read operation. Used to read entry and clear Activity bit.\;Reserved when IB switches" access="OP" offset="0x0.20" size="0x0.3" />
	<field name="type" descr="Entry Type\;0: IPv4\;1: IPv6\;2: IB GID site-local" access="INDEX" offset="0x0.24" size="0x0.2" />
	<field name="v" descr="Valid\;Note that clearing the valid bit will delete the entry and the device might not be able to hold an invalid entry properties." access="RW" offset="0x0.31" size="0x0.1" />
	<field name="virtual_router" descr="Virtual router ID\;Range is 0..cap_max_virtual_routers-1\;Reserved when IB switches" access="RW" offset="0x4.16" size="0x0.16" />
	<field name="dip" descr="Destination IP address\;IPv4 address uses bits dip[31:0] and bits dip[127:32] are reserved.\;For type = IB GID site-local only bits 79:64 are used, other bits are reserved. \;The dip is related to the linear range of the offset such that:\;(dip[79:64] - offset) = const, if const is changed then the dip[79:64] of all entries will be updated. const is an implicit field.\;Note: dip[79:64] must be larger or equal to offset\;For Switch-IB the dip range is 0..(0xFFDC+offset)" access="RW" high_bound="3" low_bound="0" offset="0x10.0" size="0x10.0" />
	<field name="dip_mask" descr="When type = IB GID site-local, this field is reserved" access="RW" high_bound="3" low_bound="0" offset="0x20.0" size="0x10.0" />
	<field name="ecmp_hash" descr="Equal Cost Multi-Pathing Hash value\;Reserved when IB switches" access="INDEX" offset="0x54.0" size="0x4.0" />
	<field name="ecmp_hash_mask" descr="Note: ECMP Hash value is masked before used as an Index\;Reserved when IB switches" access="INDEX" offset="0x58.0" size="0x4.0" />
	<field name="trap_id" descr="Trap ID to be reported to CPU. \;trap_id must be in the range of 1C0h - 1FFh" access="RW" offset="0x60.0" size="0x0.9" />
	<field name="trap_group" descr="Trap Group to use when trapping to CPU\;Trap groups are limited to 0 - max_num_trap_groups-1\;max_num_trap_groups is provided by Section 2.17.2, &quot;HCAP - Host Interface Capabilities&quot;, on page 688" access="RW" offset="0x60.16" size="0x0.4" />
	<field name="trap_action" descr="0: permit\;1: soft drop\;2: trap\;3: soft drop &amp; trap\;4: deny\;Reserved when IB switches" access="RW" offset="0x60.28" size="0x0.4" />
	<field name="qos" descr="Quality of Service:\;0: Map Prio from DSCP, see Section . Not supported when type = IB GID site-local\;1: Preserve packet&apos;s Prio (as arrived to the router)" access="RW" offset="0x64.16" size="0x0.2" />
	<field name="prio" descr="" access="RW" offset="0x64.20" size="0x0.3" />
	<field name="mirror_dst" descr="Mirroring destination when m bit is set.\;" access="RW" offset="0x64.24" size="0x0.3" />
	<field name="m" descr="Mirror enable \;Reserved when IB switches" access="RW" offset="0x64.31" size="0x0.1" />
	<field name="egress_router_interface" descr="Egress Router Interface Index\;Reserved when table != Algo" access="RW" offset="0x70.0" size="0x0.16" />
	<field name="adjacency_index" descr="Index in the adjacency table\;Reserved when table = Algo" access="RW" offset="0x74.0" size="0x0.16" />
	<field name="table" descr="Adjacency Table:\;When Switch-X/2:\;0: Ethernet Unicast Adjacency Table\;1: IPoIB Unicast and Multicast Adjacency Table\;2: IPoIB All Routers Adjacency Table\;3: IPoIB IP Broadcast Adjacency Table\;When IB Switches:\;4: ALGO_LID. Algorithmic Routing based on DGID[15:0]. \;5: ALGO_SITE_LOCAL, Algorithmic Routing for next hop, based on site-local field in DGID[79:64]. Reserved when Switch-IB/2." access="RW" offset="0x74.16" size="0x0.3" />
	<field name="ecmp_size" descr="ECMP Group Size.\;Used for group-based ECMP to defined the number of relevant paths in the ECMP group.\;Reserved when IB switches" access="RW" offset="0x74.24" size="0x0.8" />
</node>

<node name="sbcam_ext" descr="" size="0x4c.0" >
	<field name="access_reg_group" descr="Access Register ID groups \;0: First 128 REG_ID" access="INDEX" offset="0x0.0" size="0x0.8" />
	<field name="feature_group" descr="Feature list mask index\;0: Enhanced features" access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="sb_access_reg_cap_mask" descr="Supported Shared Buffer access register bitmasks. Based on access_reg_group index. \;When bit is set, the register is supported in the device. \;For example:\;Bit 1: SBPR_(0xB001)\;Bit 2: SBCM_(0xB002)\;Bit 3: SBPM_(0xB003)\;Bit 5: SBSR_(0xB005)" access="RO" high_bound="3" low_bound="0" offset="0x8.0" size="0x10.0" />
	<field name="sb_feature_cap_mask" descr="Supported Shared Buffer enhanced features based on feature_group index.\;When bit is set, the feature is supported in the device\;Bit 0: descriptors_cap - (desc) is supported \;Bit 1: ext_buff_occupancy_cap - is supported \;Bit 2: exclude_cap - bit is supported\;Bit 3: sb_own_res - user can configure ePort per tc shared buffer configuration    \;Bit 4: sb_global_res - user can configure ePort, iPort and iPort per pg shared buffer configuration  " access="RO" enum="descriptors_cap=0x1,ext_buff_occupancy_cap=0x2,exclude_cap=0x4,sb_own_res=0x8,sb_global_res=0x10" high_bound="3" low_bound="0" offset="0x28.0" size="0x10.0" />
	<field name="cap_total_descriptors" descr="Total amount of descriptors in the device - 16 bits" access="RO" offset="0x3C.16" size="0x0.16" />
	<field name="cap_total_buffer_size" descr="Total buffer size in the device. \;Units of Bytes." access="RO" offset="0x40.0" size="0x4.0" />
	<field name="cap_num_pool_supported" descr="Number of shared buffer pools supported" access="RO" offset="0x44.0" size="0x0.8" />
	<field name="cap_max_pg_buffers" descr="Maximum number of port group buffers" access="RO" offset="0x44.8" size="0x0.8" />
	<field name="cap_cell_size" descr="Buffer cell size (Bytes)" access="RO" offset="0x44.16" size="0x0.16" />
	<field name="cap_max_cpu_ingress_tclass_sb" descr="Maximum number of tclasses for bmc port" access="RO" offset="0x48.0" size="0x0.8" />
	<field name="cap_max_tclass_sb" descr="Maximum number of tclasses" access="RO" offset="0x48.8" size="0x0.8" />
	<field name="cap_sbsr_stat_size" descr="SBSR register number of responses\;" access="RO" offset="0x48.16" size="0x0.8" />
</node>

<node name="sbcm_ext" descr="" size="0x28.0" >
	<field name="dir" descr="Direction\;0: Ingress port quota\;1: Egress port quota\;\;" access="INDEX" offset="0x0.0" size="0x0.2" />
	<field name="lp_msb" descr="Local port[9:8]\;\;\;" access="INDEX" offset="0x0.4" size="0x0.2" />
	<field name="pg_buff" descr="PG buffer - Port PG (dir=ingress) / traffic class (dir=egress)\;For PG buffer: range is 0..cap_max_pg_buffers - 1\;For traffic class: range is 0..cap_max_tclass_data-1, cap_control_tclass.\;For traffic class to CPU port: range is 0..cap_max_cpu_ingress_tclass- 1\;\;For Spectrum MC packets: no admission on Tx.Tclass, so when traffic class is in MC aware mode then the traffic classes which are MC aware must not be configured, but can be read. Spectrum-2 has admission on Tx.Tclass so all traffic classes can be configured also for MC aware mode. \;see Section 12.5, &quot;Ethernet Switch Packet Priority and TClass Mapping&quot;, on page 3896\;\;\;\;\;" access="INDEX" offset="0x0.8" size="0x0.6" />
	<field name="local_port" descr="Local port number\;For Ingress: excludes CPU port\;For Egress: includes CPU port\;\;\;" access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="modi" descr="[Spectrum-6]\;Modification descriptor.\;Applicable on Query only, reserved otherwise.\;On egress (dir=1), only buff_occupancy is valid.\;Mutual exclusive with desc=1.\;Supported from Spectrum-6." access="INDEX" offset="0x0.29" size="0x0.1" />
	<field name="snap" descr="Read the snapshot guage\;0: FREE - read free running buff_occupancy\;1: SNAP - read snapshot of the buff_occupancy\;When SBSNS.status is RELEASED then the device will NACK the command\;[Spectrum-6] Reserved when modi=1.\;Reserved when Spectrum" access="OP" offset="0x0.30" size="0x0.1" />
	<field name="exc" descr="Exclude - no accounting in the pool\;0: the tclass is accounted in the pool (default)\;1: the tclass is not accounted in the pool \;Reserved when Spectrum, supported by Spectrum-2. \;Note: currenty not supported by Switch FW\;" access="RW" offset="0x4.0" size="0x0.1" />
	<field name="buff_occupancy" descr="Current buffer occupancy.\;Units of cells.\;This includes cells at the pool and at the min_buff." access="RO" offset="0x10.0" size="0x0.24" />
	<field name="max_buff_occupancy" descr="Maximum value of buffer occupancy monitored.\;Units of cells.\;This includes cells at the pool and at the min_buff.\;Cleared by writing to the clr field.\;When snap = 1 and Spectrum-2 returns &apos;0&apos;. Fixed from Spectrum-3." access="RO" offset="0x14.0" size="0x0.24" />
	<field name="clr" descr="Clear Max Buffer Occupancy.\;When this bit is set, the max_buff_occupancy field is cleared (and a new max value is tracked from the time the clear was performed)." access="OP" offset="0x14.31" size="0x0.1" />
	<field name="min_buff" descr="Minimum buffer size for the limiter.\;The minimum buffer is not part of the pool area.\;Units of cells." access="RW" offset="0x18.0" size="0x0.24" />
	<field name="max_buff" descr="The maximum buffer threshold in the pool area.\;When the pool that is associated to the port-pg/tclass is configured to static, then max_buff is configured in cells\;When the pool that is associated to the port-pg/tclass is configured to dynamic, then max_buff holds the &quot;alpha&quot; parameter, supporting the following values:\;0 : 0\;i : (1/128)*2^(i-1), for i=1..14\;0xFF: Infinity\;Reserved when infi_max = 1\;" access="RW" offset="0x1C.0" size="0x0.24" />
	<field name="infi_max" descr="Max buffer is infinite.\;When set, the max_buff field is reserved." access="RW" offset="0x1C.31" size="0x0.1" />
	<field name="pool" descr="Association of the port-priority to a pool\;Range 0..cap_num_pool_supported-1.\;[Spectrum-6] When modi=1 the range is 0..cap_num_modi_pools-1." access="RW" offset="0x24.0" size="0x0.4" />
</node>

<node name="sbctc_ext" descr="" size="0x20.0" >
	<field name="mode" descr="Reserved when Spectrum and Quantum.\;Mode of threshold:\;0: Fixed\;1: Percentage\;" access="RW" enum="Fixed=0x0,Percentage=0x1" offset="0x0.0" size="0x0.1" />
	<field name="res" descr="When SBGCR.tele_entity = BOTH then resolution index:\;0: TCLASS\;1: PORT\;Reserved (has no meaning) when SBGCR.tele_entity != 2 (BOTH)\;\;\;\;" access="INDEX" offset="0x0.4" size="0x0.1" />
	<field name="lp_msb" descr="Local port[9:8]\;\;\;" access="INDEX" offset="0x0.12" size="0x0.2" />
	<field name="local_port" descr="Local port number for egress sport\;Not supported for CPU port.\;\;\;" access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="dir_ing" descr="Reserved when Spectrum-1.\;Direction:\;0: Egress_Tclass\;1: Ingress_PG\;" access="INDEX" enum="Egress_Tclass=0x0,Ingress_PG=0x1" offset="0x0.24" size="0x0.2" />
	<field name="event" descr="Event generation on crossing thr max for this port. Not configured when en_config = 0\;0: NO_EVENT - Do not generate event\;1: EVENTS - Generate events for crossing up and down" access="RW" enum="NO_EVENT=0x0,EVENTS=0x1" offset="0x4.0" size="0x0.2" />
	<field name="en_config" descr="Enable configuration of all fields except event field" access="WO" offset="0x4.31" size="0x0.1" />
	<field name="tclass_en_high" descr="TClass/PG Trap enable (for IB switches this is VL enable)\;Each bit represents corresponding tclass\;0: disable (default)\;1: enable\;Valid bits when SBGCR.tele_entity = PORT: bit0 (all tclasses), else:\;Valid bits for Ethernet devices: 0.. cap_max_tclass_data - 1" access="RW" offset="0x8.0" size="0x4.0" />
	<field name="tclass_en_low" descr="TClass/PG Trap enable (for IB switches this is VL enable)\;Each bit represents corresponding tclass\;0: disable (default)\;1: enable\;Valid bits when SBGCR.tele_entity = PORT: bit0 (all tclasses), else:\;Valid bits for Ethernet devices: 0.. cap_max_tclass_data - 1" access="RW" offset="0xC.0" size="0x4.0" />
	<field name="thr_max" descr="Threshold max\;When an egress port TClass crosses the threshold (cross up or down) then the HW will emit an event of SB_CONG_TX_PORT and the status can be read by SBCTR\;For Quantum and Spectrum-2: When an egress port TClass/PG crosses the threshold then congestion mirror is enabled\;\;When congestion mode is Fixed:\;- Cells. Valid inputs are 1..cap_total_buffer_size/cap_cell_size\;When congestion mode is Percentage:\;- Percentage of the quota of local_port,traffic_class. Range is 0,..100, units of integer percentage.\;\;Written only if en_config = 1\;\;" access="RW" offset="0x10.0" size="0x0.24" />
	<field name="thr_min" descr="Threshold min\;When an egress port tclass crosses below the threshold (cross up or down) then the congestion state is change to set/clear.\;The status can be read by SBCTR\;When congestion mode is Fixed:\;- Cells. Valid inputs are 1..cap_total_buffer_size/cap_cell_size\;Suggested: thr_min &lt; thr_max-3*MTU\;When congestion mode is Percentage:\;- Percentage of the quota of local_port,traffic_class. Range is 0..100, units of integer percentage.\;Written only if en_config = 1\;Value of 0 means that the hysteresis is disabled" access="RW" offset="0x14.0" size="0x0.24" />
</node>

<node name="sbctr_ext" descr="" size="0x18.0" >
	<field name="entity" descr="Entity type:\;0: TCLASS\;1: PORT\;This field represents the value configured by SBGCR.tele_entity\;\;\;\;" access="RO" offset="0x0.0" size="0x0.2" />
	<field name="fp" descr="False Positive\;When a trap: this is a false positive trap\;Reserved when Switch-IB/2, Quantum and Spectrum-2/-3" access="RO" offset="0x0.4" size="0x0.1" />
	<field name="dir_ing" descr="Direction\;0: Egress Tclass\;1: Ingress PG\;Reserved when Spectrum-1\;\;\;" access="INDEX" offset="0x0.8" size="0x0.2" />
	<field name="lp_msb" descr="Local port[9:8]\;\;\;" access="INDEX" offset="0x0.12" size="0x0.2" />
	<field name="local_port" descr="Local port number\;Not supported for CPU port\;\;\;" access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="ievent" descr="Invoke event \;0: Read only\;1: Does both reading and invoke an event of type SB_CONG_TX_PORT" access="OP" offset="0x0.31" size="0x0.1" />
	<field name="tclass_vector_high" descr="Tclass vector\;Each bit represents corresponding tclass\;0: Tclass is below the congestion threshold\;1: Tclass is above the congestion threshold\;Note that a TClass which is disabled from threshold will always be below the congested threshold. See SBCTC\;Valid bits when entity = PORT: bit0 (all tclasses), else:\;Valid bits for Ethernet devices: 0.. cap_max_tclass_data - 1\;\;" access="RO" offset="0x8.0" size="0x4.0" />
	<field name="tclass_vector_low" descr="Tclass vector\;Each bit represents corresponding tclass\;0: Tclass is below the congestion threshold\;1: Tclass is above the congestion threshold\;Note that a TClass which is disabled from threshold will always be below the congested threshold. See SBCTC\;Valid bits when entity = PORT: bit0 (all tclasses), else:\;Valid bits for Ethernet devices: 0.. cap_max_tclass_data - 1\;\;" access="RO" offset="0xC.0" size="0x4.0" />
</node>

<node name="sbcts_ext" descr="" size="0x14.0" >
	<field name="clear" descr="Clear counter\;0: Do not clear\;1: Clear the counter" access="OP" offset="0x0.31" size="0x0.1" />
	<field name="trap_overflow_counter" descr="Trap Overflow Counter\;Counts how many congestion traps (SB_CONG_TX_PORT) were not invoked by the device due to trap overflow\;Counter is sticky when reaching 2^24-1" access="RO" offset="0x10.0" size="0x0.24" />
</node>

<node name="sbdcc_counter_ext" descr="" size="0x8.0" >
	<field name="count_high" descr="Count the number of unicast packets to CPU dropped due to lack of shared buffer resources" access="RO" offset="0x0.0" size="0x4.0" />
	<field name="count_low" descr="Count the number of unicast packets to CPU dropped due to lack of shared buffer resources" access="RO" offset="0x4.0" size="0x4.0" />
</node>

<node name="sbdcc_ext" descr="" size="0x210.0" >
	<field name="by_mask" descr="Indexation per CPU ingress tclass by cpu_tclass_mask.\;0: all CPU tclasses\;1: by cpu_tclass_mask" access="OP" offset="0x0.29" size="0x0.1" />
	<field name="clr" descr="Clear counters" access="OP" offset="0x0.31" size="0x0.1" />
	<field name="cpu_tclass_mask" descr="CPU ingress tclass bitmap mask.\;Set bits are read and cleared if clr is set.\;Reserved when by_mask=0." subnode="uint64" access="INDEX" offset="0x8.0" size="0x8.0" />
	<field name="no_buffer_discard_cpu_tclass" descr="Count the number of unicast packets to CPU dropped due to lack of shared buffer resources\;For tclass i\;See Table 2576, &quot;SBDCC - counter Layout,&quot; on page 3322" subnode="sbdcc_counter_ext" access="RO" high_bound="63" low_bound="0" offset="0x10.0" size="0x200.0" />
</node>

<node name="sbdcm_ext" descr="" size="0x14.0" >
	<field name="counter_index" descr="Counter Index for flow counters, counting no buffer discard per switch priority.\;For Spectrum-2: reserves counter range at size of cap_max_switch_priorities+1 \;Each entry is per switch priority from 0 to cap_max_switch_priorities-1\;For Spectrum: See Section 5.1, &quot;Performance and Monitoring Counters&quot;, on page 1402\;Not supported by SwitchX/-2 and Spectrum" access="RW" offset="0x10.0" size="0x0.24" />
	<field name="counter_set_type" descr="Counter Set Type for flow counters.\;For Spectrum-2: See Section 5.2.2, &quot;Counter Set Type&quot;, on page 1405\;default: type=0 (disabled)\;Not supported by SwitchX/-2 and Spectrum" access="RW" offset="0x10.24" size="0x0.8" />
</node>

<node name="sbdcr_ext" descr="" size="0x14.0" >
	<field name="counter_index" descr="Counter Index for flow counters, counting no buffer discard per switch priority.\;Reserves a counter range of num_ports*num_PGs:\;PG 0..7 - PGs\;PG 8 - Control PG\;PG 9 - Mirror PG\;PG 10 - egress-traps, reserved for Spectrum family\;\;For Spectrum: See Section 5.1, &quot;Performance and Monitoring Counters&quot;, on page 1402\;Not supported by SwitchX/-2 and Spectrum" access="RW" offset="0x10.0" size="0x0.24" />
	<field name="counter_set_type" descr="Counter Set Type for flow counters.\;For Spectrum-2: See Section 5.2.2, &quot;Counter Set Type&quot;, on page 1405\;default: type=0 (disabled)\;Not supported by SwitchX/-2 and Spectrum" access="RW" offset="0x10.24" size="0x0.8" />
</node>

<node name="sbgcr_ext" descr="" size="0x8.0" >
	<field name="tele_entity" descr="Telemetry entity type:\;0: TCLASS \;1: PORT \;2: BOTH - support both TCLASS and PORT. Indexed by SBCTC.res \;Note: change of this field is allowed only when congestion threshold is disabled on all ports and tclasses, see SBCTC.\;Supported on Spectrum-1, reserved otherwise." access="RW" offset="0x0.0" size="0x0.2" />
	<field name="cong_fp" descr="Congestion false positive\;For Tclass Congestion:\;0: False Negative - allow trap and rules only for congested Tclass. Response may be delayed by a few uSec\;1: False Positive - allow fp-trap and rules for all Tclasses, converging over time to only congested Tclasses. Provided immediate response.\;Supported on Spectrum-1, reserved otherwise." access="RW" offset="0x0.4" size="0x0.1" />
	<field name="hsba" descr="Hierarchical Buffer Admission\;See Section 10.2.8, &quot;Hierarchical Buffer Admission (HBA)&quot;, on page 3279.\;0: Disable HBA.\;Allows queues with different alpha to share the same portion of the port.pool buffer allocation.\;1: Enable HBA. \;Allows queues with higher alpha to get more buffer allocation per port.pool allocation.\;Configured on Write if hsba_mask is set.\;Supported only from Spectrum-4." access="RW" offset="0x0.8" size="0x0.1" />
	<field name="hsba_mask" descr="Set hsba.\;When set allows the configuration of hsba on Write.\;Supported from Spectrum-4." access="WO" offset="0x0.9" size="0x0.1" />
</node>

<node name="sbhbr_ext" descr="" size="0x1c.0" >
	<field name="local_port" descr="Local port number\;Not supported for CPU port" access="RW" offset="0x0.16" size="0x0.8" />
	<field name="opcode" descr="Opcode:\;0: Bind - bind a hist_id\;1: Unbind - unbind a hist_id (default)" access="OP" enum="Bind=0x0,Unbind=0x1" offset="0x0.28" size="0x0.4" />
	<field name="hist_id" descr="Histogram id to bind\;from 0 to cap_max_queue_hist_id - 1" access="INDEX" offset="0x4.0" size="0x0.8" />
	<field name="hist_type" descr="0x1000: Queue_Depth_Traffic_Class\;See Table 2584, &quot;SBHBR - Histograms Hist-type for Queue Histograms,&quot; on page 3326" access="RW" enum="Queue_Depth_Traffic_Class=0x1000" offset="0x8.0" size="0x0.16" />
	<field name="hist_parameters" descr="According to hist_type\;For Queue_Depth_Traffic_Class: Table 2585, &quot;SBHBR - Hist-Parameters for Port-Tclass Layout,&quot; on page 3327" subnode="sbhbr_hist_parameters_auto_ext" access="RW" offset="0xC.0" size="0x4.0" union_selector="$(parent).hist_type" />
	<field name="hist_min_value" descr="Min value for histogram main range\;Units according to the units of the hist_type" access="RW" offset="0x10.0" size="0x4.0" />
	<field name="hist_max_value" descr="Max value for histogram main range\;Note: for Spectrum device, hist_group=1 this rule must be meet:\;hist_max_value = hist_min_value + 8*2^n, n &gt;= 0\;Units according to the units of the hist_type" access="RW" offset="0x14.0" size="0x4.0" />
	<field name="sample_time" descr="Sample time interval. \;Allowed range:\;time = 2^sample_time * 128nSec\;sample_time range is 0..cap_max_sample_time-1\;Note: for Spectrum the sample_time is global for all ports and all tclass \;For Spectrum-2 the sample_time is per port.tclass." access="RW" offset="0x18.0" size="0x0.6" />
</node>

<node name="sbhbr_hist_parameters_auto_ext" descr="" attr_is_union="1" size="0x4.0" >
	<field name="phbr_for_port_tclass_reg_ext" descr="" subnode="phbr_for_port_tclass_reg_ext" offset="0x0.0" selected_by="Queue_Depth_Traffic_Class" size="0x4.0" />
</node>

<node name="sbhbr_v2_ext" descr="" size="0x20.0" >
	<field name="dir" descr="Direction\;0: Ingress port quota\;1: Egress port quota\;\;\;\;Reserved when hist_type = Queue_Latency and this field is treated as &apos;1&apos; Egress port quota\;" access="INDEX" offset="0x0.0" size="0x0.2" />
	<field name="lp_msb" descr="Local port[9:8]\;\;\;" access="INDEX" offset="0x0.4" size="0x0.2" />
	<field name="pg_buff" descr="PG buffer - Port PG (dir=ingress) / traffic class (dir=egress).\;For PG buffer: range is 0..cap_max_pg_buffers - 1.\;For traffic class, hist_type of Queue_Depth_Traffic_Class: range is 0..cap_max_tclass_data-1, cap_control_tclass.\;For traffic class, hist_type of Queue_Latency: range is 0..cap_max_tclass_data-1\;For traffic class to CPU port: range is 0..cap_max_cpu_ingress_tclass- 1\;For Spectrum: no admission on Tx.Tclass, so when traffic class is in MC aware mode then the traffic classes which are MC aware must not be configured, but can be read. Spectrum-2 has admission on Tx.Tclass so all traffic classes can be configured also for MC aware mode. \;see Section 12.5, &quot;Ethernet Switch Packet Priority and TClass Mapping&quot;, on page 3896\;\;\;\;" access="INDEX" offset="0x0.8" size="0x0.6" />
	<field name="local_port" descr="Local port number.\;For Ingress: excludes CPU port and Router port\;For Egress: excludes IP Router\;For Egress hist_type of Queue_Latency: exludes also CPU port\;\;\;\;" access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="en" descr="When hist_type = Queue_Depth_Traffic_Class:\;Enable the histogram\;When hist_type = Queue_Latency:\;This is a WO for clearing the histograms and the counters" access="RW" offset="0x4.0" size="0x0.1" />
	<field name="hist_type" descr="See Table 2584, &quot;SBHBR - Histograms Hist-type for Queue Histograms,&quot; on page 3326" access="INDEX" offset="0x8.0" size="0x0.16" />
	<field name="mode" descr="mode\;0: Linear histogram\;1: Exponential histogram" access="RW" offset="0x8.28" size="0x0.3" />
	<field name="hist_min_value" descr="Min value for histogram main range\;Units according to the units of the hist_type" access="RW" offset="0x10.0" size="0x4.0" />
	<field name="hist_max_value" descr="Max value for histogram main range\;When mode=0 (linear), then this rule must be meet:\;hist_max_value = hist_min_value + 8*2^n, n &gt;= 0\;When mode=1 (exponential), then this rule must be meet:\;hist_max_value = hist_min_value + 255*2^n, n &gt;= 0\;Units according to the units of the hist_type" access="RW" offset="0x14.0" size="0x4.0" />
	<field name="sample_time" descr="Sample time interval. \;Allowed range:\;time = 2^sample_time * 128nSec\;sample_time range is 0..cap_max_sample_time-1\;For Spectrum the sample_time is global for all ports and all tclass \;For Spectrum-2 the sample_time is per port.tclass. \;Reserved when hist_type = Queue_Latency" access="RW" offset="0x18.0" size="0x0.6" />
</node>

<node name="sbhpc_ext" descr="" size="0x24.0" >
	<field name="max_buff" descr="Maximum SHP (Shared Headroom Pool) size. \;Default:0\;When max_buff&gt;0 then ports which have PBMC.shared_headroom_pool.size&gt;0 may use the SHP. See Table 3903, &quot;Buffer Management Resources,&quot; on page 4614" access="RW" offset="0x10.0" size="0x0.24" />
	<field name="buff_occupancy" descr="Current SHP occupancy\;" access="RO" offset="0x20.0" size="0x0.24" />
</node>

<node name="sbhrr_bin_ext" descr="" size="0x8.0" >
	<field name="bin_high" descr="" access="RO" offset="0x0.0" size="0x4.0" />
	<field name="bin_low" descr="" access="RO" offset="0x4.0" size="0x4.0" />
</node>

<node name="sbhrr_ext" descr="" size="0x60.0" >
	<field name="clr" descr="Clear:\;0: Read the data in the histogram agent\;1: Read and clear the data in the histogram agent" access="OP" offset="0x0.31" size="0x0.1" />
	<field name="hist_id" descr="see SBHBR" access="INDEX" offset="0x4.0" size="0x0.8" />
	<field name="bin" descr="Value of bin \;Units according to the units of the hist_type which is used for the hist_id\;Max bins is according to cap_hist_num_bins\;Bin is saturated at (2^cap_hist_bin_size_type1-1). When any bin is saturated all bins stop incrementing.\;See Table 2589, &quot;SBHRR - Bin Layout,&quot; on page 3329" subnode="sbhrr_bin_ext" access="RO" high_bound="9" low_bound="0" offset="0x10.0" size="0x50.0" />
</node>

<node name="sbhrr_v2_ext" descr="" size="0x90.0" >
	<field name="dir" descr="Direction\;0: Ingress port quota\;1: Egress port quota\;\;\;\;\;Reserved when hist_type = Queue_Latency and this field is treated as &apos;1&apos; Egress port quota" access="INDEX" offset="0x0.0" size="0x0.2" />
	<field name="lp_msb" descr="Local port[9:8]\;\;\;\;" access="INDEX" offset="0x0.4" size="0x0.2" />
	<field name="pg_buff" descr="PG buffer - Port PG (dir=ingress) / traffic class (dir=egress)\;For PG buffer: range is 0..cap_max_pg_buffers - 1\;For traffic class: range is 0..cap_max_tclass_data-1, cap_control_tclass.\;For traffic class to CPU port: range is 0..cap_max_cpu_ingress_tclass- 1\;See Section 12.5, &quot;Ethernet Switch Packet Priority and TClass Mapping&quot;, on page 3896\;\;\;" access="INDEX" offset="0x0.8" size="0x0.6" />
	<field name="local_port" descr="Local port number.\;For Ingress: excludes CPU port\;For Egress: includes CPU port\;\;\;\;" access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="clr" descr="Clear:\;0: Read the data in the histogram agent\;1: Read and clear the data in the histogram agent" access="OP" offset="0x0.31" size="0x0.1" />
	<field name="hist_type" descr="See Table 2584, &quot;SBHBR - Histograms Hist-type for Queue Histograms,&quot; on page 3326" access="INDEX" offset="0x8.0" size="0x0.16" />
	<field name="min_sampled_high" descr="min_sampled\;Cleared when clr = 1, cleared to 0xffff_ffff_ffff_ffff\;Units according to the units of the hist_type which is used for the hist_id\;Reserved when hist_type = Queue_Depth_Traffic_Class" access="RO" offset="0x10.0" size="0x4.0" />
	<field name="min_sampled_low" descr="min_sampled\;Cleared when clr = 1, cleared to 0xffff_ffff_ffff_ffff\;Units according to the units of the hist_type which is used for the hist_id\;Reserved when hist_type = Queue_Depth_Traffic_Class" access="RO" offset="0x14.0" size="0x4.0" />
	<field name="max_sampled_high" descr="max_sampled\;Cleared when clr = 1, cleared to 0\;Units according to the units of the hist_type which is used for the hist_id\;Reserved when hist_type = Queue_Depth_Traffic_Class" access="RO" offset="0x18.0" size="0x4.0" />
	<field name="max_sampled_low" descr="max_sampled\;Cleared when clr = 1, cleared to 0\;Units according to the units of the hist_type which is used for the hist_id\;Reserved when hist_type = Queue_Depth_Traffic_Class" access="RO" offset="0x1C.0" size="0x4.0" />
	<field name="bin" descr="Value of bin \;Units according to the units of the hist_type which is used for the hist_id\;Max bins is according to cap_hist_num_bins.\;Bin is saturated at (2^cap_hist_bin_size_type1-1). When any bin is saturated all bins stop incrementing.\;See Table 2595, &quot;SBHRR_V2 - Bin Layout,&quot; on page 3335" subnode="uint64" access="RO" high_bound="9" low_bound="0" offset="0x40.0" size="0x50.0" />
</node>

<node name="sbib_ext" descr="" size="0x10.0" >
	<field name="int_buffer_index" descr="Internal Buffer Index \;Spectrum supports only 1 index per port with value of 0" access="INDEX" offset="0x0.0" size="0x0.8" />
	<field name="lp_msb" descr="Local port[9:8]" access="INDEX" offset="0x0.12" size="0x0.2" />
	<field name="local_port" descr="Local port number\;Not supported for CPU port\;Not supported for Router port" access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="status" descr="Status:\;0: smaller_than_buff_size - the internal buffer status is not yet at the size of buff_size\;1: equals_to_buff_size - the internal buffer status is equal to buff_size" access="RO" enum="smaller_than_buff_size=0x0,equals_to_buff_size=0x1" offset="0x4.28" size="0x0.4" />
	<field name="buff_size" descr="Buffer size\;Units represented in cells\;Allowed range is 0 to (cap_max_headroom_size - 1)\;Default is 0" access="RW" offset="0x8.0" size="0x0.24" />
</node>

<node name="sbme_ext" descr="" size="0x28.0" >
	<field name="local_port" descr="Local port number for egress ports\;Includes CPU port" access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="pool" descr="Association of the port-priority to a pool" access="RW" offset="0x24.0" size="0x0.4" />
</node>

<node name="sbmm_ext" descr="" size="0x28.0" >
	<field name="prio" descr="Switch Priority" access="INDEX" offset="0x0.8" size="0x0.4" />
	<field name="snap" descr="Read the snapshot guage\;0: FREE - read free running buff_occupancy\;1: SNAP - read snapshot of the buff_occupancy\;When SBSNS.status is RELEASED then the device will NACK the command\;Reserved when Spectrum" access="OP" offset="0x0.30" size="0x0.1" />
	<field name="buff_occupancy" descr="Current buffer occupancy" access="RO" offset="0x10.0" size="0x0.24" />
	<field name="max_buff_occupancy" descr="Maximum value of buffer occupancy monitored. Cleared by writing to the clr field\;When snap = 1 and Spectrum-2 returns &apos;0&apos;. Fixed from Spectrum-3" access="RO" offset="0x14.0" size="0x0.24" />
	<field name="clr" descr="Clear Max Buffer Occupancy\;When this bit is set, the max_buff_occupancy field is cleared (and a new max value is tracked from the time the clear was performed)" access="OP" offset="0x14.31" size="0x0.1" />
	<field name="min_buff" descr="Minimum buffer size for the limiter, in cells" access="RW" offset="0x18.0" size="0x0.24" />
	<field name="max_buff" descr="When the pool associated to the port-pg/tclass is configured to static, Maximum buffer size for the limiter configured in cells.\;When the pool associated to the port-pg/tclass is configured to dynamic, the max_buff holds the &quot;alpha&quot; parameter, supporting the following values:\;0 : 0\;i : (1/128)*2^(i-1), for i=1..14\;0xFF: Infinity\;Reserved when infi_max = 1" access="RW" offset="0x1C.0" size="0x0.24" />
	<field name="infi_max" descr="Max buffer is infinite\;When set, the max_buff field is reserved" access="RW" offset="0x1C.31" size="0x0.1" />
	<field name="pool" descr="Association of the port-priority to a pool" access="RW" offset="0x24.0" size="0x0.4" />
</node>

<node name="sbpm_ext" descr="" size="0x20.0" >
	<field name="dir" descr="Direction\;0: Ingress port quota\;1: Egress port quota\;\;\;" access="INDEX" offset="0x0.0" size="0x0.2" />
	<field name="pool" descr="The pool associated to quota counting on the local_port\;Range 0..cap_num_pool_supported-1.\;[Spectrum-6] When modi=1 the range is 0..cap_num_modi_pools-1." access="INDEX" offset="0x0.8" size="0x0.4" />
	<field name="lp_msb" descr="Local port[9:8]\;\;\;" access="INDEX" offset="0x0.12" size="0x0.2" />
	<field name="local_port" descr="Local port number\;For Ingress: excludes CPU port\;For Egress: includes CPU port\;\;\;" access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="modi" descr="[Spectrum-6]\;Modification descriptor.\;Applicable with dir=0 (ingress) on Query only, reserved otherwise.\;Mutual exclusive with desc=1.\;Supported from Spectrum-6." access="INDEX" offset="0x0.29" size="0x0.1" />
	<field name="snap" descr="Read the snapshot guage\;0: FREE - read free running buff_occupancy\;1: SNAP - read snapshot of the buff_occupancy\;When SBSNS.status is RELEASED then the device will NACK the command\;[Spectrum-6] Reserved when modi=1.\;Reserved when Spectrum" access="OP" offset="0x0.30" size="0x0.1" />
	<field name="buff_occupancy" descr="Current buffer occupancy of the port.pool \;This includes cells at the pool and at the min_buff" access="RO" offset="0x10.0" size="0x0.24" />
	<field name="max_buff_occupancy" descr="Maximum value of buffer occupancy monitored. \;This includes cells at the pool and at the min_buff\;Cleared by writing to the clr field\;When snap = 1 and Spectrum-2 returns &apos;0&apos;. Fixed from Spectrum-3" access="RO" offset="0x14.0" size="0x0.24" />
	<field name="clr" descr="Clear Max Buffer Occupancy\;When this bit is set, max_buff_occupancy field is cleared (and a new max value is tracked from the time the clear was performed)" access="OP" offset="0x14.31" size="0x0.1" />
	<field name="min_buff" descr="Minimum buffer size\;The minimum buffer is not part of the pool area.\;Units of cells" access="RW" offset="0x18.0" size="0x0.24" />
	<field name="max_buff" descr="The maximum buffer threshold in the pool area.\;When the pool is configured to static, then max_buf is configured in cells.\;When the pool is configured to dynamic, then max_buff holds the &quot;alpha&quot; parameter, supporting the following values:\;0 : 0\;i : (1/128)*2^(i-1), for i=1..14\;0xFF: Infinity\;Reserved when infi_max = 1" access="RW" offset="0x1C.0" size="0x0.24" />
	<field name="infi_max" descr="Max buffer is infinite\;When set, the max_buff field is reserved" access="RW" offset="0x1C.31" size="0x0.1" />
</node>

<node name="sbpr_ext" descr="" size="0x18.0" >
	<field name="pool" descr="Pool index\;Range 0..cap_num_pool_supported-1, 15 \;[Spectrum-6] When modi=1 the range is 0..cap_num_modi_pools-1." access="INDEX" offset="0x0.0" size="0x0.4" />
	<field name="dir" descr="Direction\;0: Ingress pools\;1: Egress pools\;\;" access="INDEX" offset="0x0.24" size="0x0.2" />
	<field name="modi" descr="[Spectrum-6]\;Modification descriptor pool.\;Applicable with dir=0 (ingress), reserved otherwise.\;Mutual exclusive with desc=1.\;Supported from Spectrum-6." access="INDEX" offset="0x0.29" size="0x0.1" />
	<field name="snap" descr="Read the snapshot guage\;0: FREE - read free running buff_occupancy\;1: SNAP - read snapshot of the buff_occupancy\;When SBSNS.status is RELEASED then the device will NACK with status = RESOURCE_NOT_AVAILABLE\;[Spectrum-6] Reserved when modi=1.\;Reserved when Spectrum" access="OP" offset="0x0.30" size="0x0.1" />
	<field name="size" descr="Pool size in buffer cells" access="RW" offset="0x4.0" size="0x0.24" />
	<field name="infi_size" descr="size is infinite\;In dynamic mode, when set, the size field is used for dynamic quota calculation." access="RW" offset="0x4.31" size="0x0.1" />
	<field name="mode" descr="Pool quota calculation mode:\;0: Static\;1: Dynamic" access="RW" offset="0x8.0" size="0x0.4" />
	<field name="buff_occupancy" descr="Current buffer occupancy" access="RO" offset="0xC.0" size="0x0.24" />
	<field name="max_buff_occupancy" descr="Maximum value of buffer occupancy monitored. Cleared by writing to the clr field\;When snap = 1 and Spectrum-2 returns &apos;0&apos;. Fixed from Spectrum-3" access="RO" offset="0x10.0" size="0x0.24" />
	<field name="clr" descr="Clear Max Buffer Occupancy\;When this bit is set, the max_buff_occupancy field is cleared (and a new max value is tracked from the time the clear was performed)" access="OP" offset="0x10.31" size="0x0.1" />
	<field name="ext_buff_occupancy" descr="Extended current buffer occupancy\;Includes also all of the min_buff of the relevant PG buffer or traffic class associated to this pool\;Reserved when Spectrum, supported by Spectrum-2 and Quantum. \;" access="RO" offset="0x14.0" size="0x0.24" />
</node>

<node name="sbrmr_ext" descr="" size="0x10.0" >
	<field name="recover" descr="Start Recovery\;Has to be set to 1.\;Recovery can start while in resonance, otherwise this field is cleared on response." access="RW" offset="0x0.0" size="0x0.1" />
</node>

<node name="sbrms_ext" descr="" size="0x10.0" >
	<field name="resonance" descr="Resonance State\;0: no resonance\;1: resonance" access="RO" offset="0x0.0" size="0x0.1" />
	<field name="res_event_mask" descr="Resonance Event Enable Mask\;bit 0: resonance detected - set(1) by default\;bit 1: resonance cleared - set(1) by default" access="RW" offset="0x0.8" size="0x0.2" />
	<field name="recovery" descr="Recovery State\;0: no recovery\;1: recovery ongoing" access="RO" offset="0x4.0" size="0x0.1" />
	<field name="rec_event_mask" descr="Recovery Event Enable Mask\;bit 0: recovery started- clear(0) by default\;bit 1: recovery done- set(1) by default" access="RW" offset="0x4.8" size="0x0.2" />
	<field name="resonance_counter" descr="Resonance detection counter.\;Counts how many times resonance was detected." access="RO" offset="0x8.0" size="0x4.0" />
	<field name="recovery_counter" descr="Recovery counter.\;Counts how many times recovery has started." access="RO" offset="0xC.0" size="0x4.0" />
</node>

<node name="sbsns_ext" descr="" size="0x18.0" >
	<field name="status" descr="Snapshot status:\;0: RELEASED - snapshot is non-active\;1: LOCKED - snapshot is active\;" access="RO" offset="0x0.0" size="0x0.1" />
	<field name="trigger_id" descr="Tells which trigger id has trigger the snapshot.\;See encoding of type in Table 2546, &quot;Shared Buffer Snapshot Triggers,&quot; on page 3290" access="RO" offset="0x4.0" size="0x0.8" />
	<field name="trigger_parameters" descr="Trigger parameters.\;See encoding according to Table 2546, &quot;Shared Buffer Snapshot Triggers,&quot; on page 3290" access="RO" offset="0x8.0" size="0x4.0" />
	<field name="time_high" descr="Snapshot time:\;The time when the last snapshot was taken as free_running_clock\;" access="RO" offset="0x10.0" size="0x0.6" />
	<field name="time_low" descr="Snapshot time:\;The time when the last snapshot was taken as free_running_clock\;" access="RO" offset="0x14.0" size="0x4.0" />
</node>

<node name="sbsnt_ext" descr="" size="0x4.0" >
	<field name="take" descr="Take snapshot:\;0: RELEASE - release snapshot\;1: TAKE_AND_TRAP - take snapshot of the guages and invoke trap SB_SNAPSHOT\;2: TAKE_NO_TRAP - take snapshot of the guages without invoking a trap\;When snapshot status is LOCKED then the TAKE will be ignored\;When snapshot status is RELEASED then the RELEASE will be ignored\;See SBSNS.status" access="OP" offset="0x0.0" size="0x0.2" />
</node>

<node name="sbsnte_ext" descr="" size="0x10.0" >
	<field name="lp_msb" descr="Local port[9:8]" access="INDEX" offset="0x0.12" size="0x0.2" />
	<field name="local_port" descr="Local Port" access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="type" descr="See Table 2546, &quot;Shared Buffer Snapshot Triggers,&quot; on page 3290\;\;" access="INDEX" offset="0x4.0" size="0x0.8" />
	<field name="tclass_en_high" descr="TClass/PG snapshot trigger enable (for IB switches this is VL enable)\;Each bit represents corresponding tclass\;0: disable (default)\;1: enable\;Valid bits for Ethernet devices: 0.. cap_max_tclass_data - 1" access="RW" offset="0x8.0" size="0x4.0" />
	<field name="tclass_en_low" descr="TClass/PG snapshot trigger enable (for IB switches this is VL enable)\;Each bit represents corresponding tclass\;0: disable (default)\;1: enable\;Valid bits for Ethernet devices: 0.. cap_max_tclass_data - 1" access="RW" offset="0xC.0" size="0x4.0" />
</node>

<node name="sbsr_ext" descr="" size="0x41c.0" >
	<field name="modi" descr="[Spectrum-6]\;Modification descriptor.\;On egress, only buff_occupancy is valid.\;Supported from Spectrum-6." access="INDEX" offset="0x0.29" size="0x0.1" />
	<field name="snap" descr="Read the snapshot gauge\;0: FREE - read free running buff_occupancy\;1: SNAP - read snapshot of the buff_occupancy\;When SBSNS.status is RELEASED then the device will NACK the command\;[Spectrum-6] Reserved when modi=1.\;Reserved when Spectrum" access="INDEX" offset="0x0.30" size="0x0.1" />
	<field name="clr" descr="Clear Max Buffer Occupancy\;When this bit is set, the max_buff_occupancy field is cleared (and a new max value is tracked from the time the clear was performed)" access="OP" offset="0x0.31" size="0x0.1" />
	<field name="port_page" descr="Port  page: \;ingress_port_mask[0] is 256*port_page \;egress_port_mask[0] is 256*port_page\;\;\;" access="INDEX" offset="0x4.0" size="0x0.4" />
	<field name="ingress_port_mask" descr="Bit vector for all ingress network port .\;Indicates which of the ports (for which the relevant bit is set) are affected by the set operation. Configuration of any other port does not change." access="INDEX" high_bound="7" low_bound="0" offset="0x10.0" size="0x20.0" />
	<field name="pg_buff_mask" descr="Bit vector for all priority groups.\;Indicates which of the priorities (for which the relevant bit is set) are affected by the set operation. Configuration of any other priority does not change.\;Range is 0..cap_max_pg_buffers - 1" access="INDEX" offset="0x30.0" size="0x0.10" />
	<field name="egress_port_mask" descr="Bit vector for all egress network port.\;Indicates which of the ports (for which the relevant bit is set) are affected by the set operation. Configuration of any other port does not change.\;\;\;" access="INDEX" high_bound="7" low_bound="0" offset="0x34.0" size="0x20.0" />
	<field name="tclass_mask" descr="Bit vector for all traffic classes .\;Indicates which of the traffic classes (for which the relevant bit is set) are affected by the set operation. Configuration of any other priority does not change.\;Range is 0..cap_max_tclass_data-1, cap_control_tclass.\;For traffic class to CPU port: range is 0..cap_max_cpu_ingress_tclass- 1" subnode="uint64" access="INDEX" offset="0x54.0" size="0x8.0" />
	<field name="shared_buffer_status" descr="Shared Buffer Properties, see Table 2567, &quot;Shared Buffer Status Fields,&quot; on page 3316\;This field is a collection of all the statuses of the requested quotas, while i=0..min{requested quotas, cap_sbsr_stat_size-1}\;The ith status refers a quota as follows;\;The occurrences of the masked ingress quotas are written before the masked egress quotas.\;All the occurrences associated to port are written together from the smallest masked port index. In each port, the occurrences of the masked priority groups/ traffic classes are written from the lowest to the highest." subnode="shared_buffer_status_ext" access="RO" high_bound="119" low_bound="0" offset="0x5C.0" size="0x3c0.0" />
</node>

<node name="sbsrd_ext" descr="" size="0x450.0" >
	<field name="type" descr="Type of first entry being read:\;1: rx_pg - e.g. 128ports * 10PGs\;2: tx_tclass - e.g. 128ports * 17Tclasses\;3: cpu_tx_tclass - e.g. 64 Tclasses\;4: rx_pool - per pool, e.g. 16 pools\;5: tx_pool - per pool, e.g. 16 pools\;6: mc_switch_prio - e.g. 16 Switch_Prios\;7: rx_per_pool - e.g. 128ports * 16 Pools\;8: tx_per_pool - e.g. 128ports * 16 Pools\;\;" access="INDEX" enum="rx_pg=0x1,tx_tclass=0x2,cpu_tx_tclass=0x3,rx_pool=0x4,tx_pool=0x5,mc_switch_prio=0x6,rx_per_pool=0x7,tx_per_pool=0x8" offset="0x0.0" size="0x0.8" />
	<field name="modi" descr="[Spectrum-6]\;Modification descriptor.\;On egress, only buff_occupancy is valid.\;Supported from Spectrum-6." access="INDEX" offset="0x0.28" size="0x0.1" />
	<field name="snap" descr="Read the snapshot gauge\;0: FREE - read current status\;1: SNAP - read snapshot\;When SBSNS.status is RELEASED then the device will NACK the command\;[Spectrum-6] Reserved when modi=1.\;Reserved when Spectrum" access="INDEX" offset="0x0.30" size="0x0.1" />
	<field name="clr" descr="Clear Max Buffer Occupancy\;When this bit is set, the max_buff_occupancy field is cleared (and a new max value is tracked from the time the clear was performed)" access="OP" offset="0x0.31" size="0x0.1" />
	<field name="num_rec" descr="Number of valid records\;The value of this field is for both shared_buffer_status and ext_occupancy_status fields.\;Range 1..128\;" access="OP" offset="0x4.0" size="0x0.8" />
	<field name="first_local_port" descr="For type=1,2,7,8: local_port of first entry\;\;" access="INDEX" offset="0x8.0" size="0x0.8" />
	<field name="first_lp_msb" descr="Local port[9:8]" access="INDEX" offset="0x8.8" size="0x0.2" />
	<field name="first_entry_index" descr="Index of first entry per type\;Used only when trap\;example: if type=1 and has 128 entries and this register provides entries 256..383 then return &apos;256&apos;" access="RO" offset="0x8.16" size="0x0.16" />
	<field name="shared_buffer_status" descr="Shared Buffer Properties, see Table 2567, &quot;Shared Buffer Status Fields,&quot; on page 3316\;The occurrences of the masked ingress quotas are written before the masked egress quotas.\;All the occurrences associated to port are written together from the smallest masked port index. In each port, the occurrences of the masked priority groups/ traffic classes are written from the lowest to the highest." subnode="shared_buffer_status_ext" access="RO" high_bound="127" low_bound="0" offset="0x10.0" size="0x400.0" />
	<field name="ext_occupancy_status" descr="Extended Buffer Occupancy Status.\;See Table 2570, &quot;Extended Buffer Occupancy Status Layout,&quot; on page 3319\;\;This field is valid only when type = 4 or 5." subnode="ext_occu_stat_ext" access="RO" high_bound="15" low_bound="0" offset="0x410.0" size="0x40.0" />
</node>

<node name="sdlr_create_destroy_lag_params_ext" descr="" size="0x8.0" >
	<field name="reserved1" descr="This field is empty" access="RW" offset="0x0.0" size="0x4.0" />
	<field name="reserved2" descr="This field is empty" access="RW" offset="0x4.0" size="0x4.0" />
</node>

<node name="sfd_ext" descr="" size="0x410.0" >
	<field name="rec_type" descr="Record type:\;0: records_are_16B\;1: records_are_32B\;Reserved when SwitchX or SwitchX-2" access="OP" enum="records_are_16B=0x0,records_are_32B=0x1" offset="0x0.20" size="0x0.1" />
	<field name="swid" descr="Switch partition ID for queries\;Reserved on Write\;Reserved when Spectrum/-2" access="INDEX" offset="0x0.24" size="0x0.8" />
	<field name="op" descr="Operation.\;For Query:\;1: SFD_QUERY - query records by {MAC, VID/FID} value\;2: SFD_QUERY_AND_CLEAR_ACTIVITY - query and clear activity. Query records by {MAC, VID/FID} value. Not supported by SwitchX and SwitchX2.\;For Write:\;1: SFD_EDIT - add/modify. Aged-out records cannot be added. This command removes the learning notification of the {MAC, VID/FID}. Response includes the entries that were added to the FDB.\;2: SFD_REMOVE - remove record by {MAC, VID/FID}. This command also removes the learning notification and aged-out notifications of the {MAC, VID/FID}. The response provides current (pre-removal) entries as non-aged-out." access="OP" offset="0x4.30" size="0x0.2" />
	<field name="num_rec" descr="Request: Number of records to read/add/modify/remove\;Response: Number of records read/added/replaced/removed\;See above description for more details.\;For rec_type = 0: Range 0..64\;For rec_type = 1: Range 0..32" access="OP" offset="0x8.0" size="0x0.8" />
	<field name="records" descr="If records_are_16B, see Table 1511, &quot;SFD - Records type0 Layout,&quot; on page 2033\;If records_are_32B, see Table 1513, &quot;SFD - Records type1 Layout,&quot; on page 2034" subnode="sfd_records_auto_ext" access="RW" offset="0x10.0" size="0x400.0" union_selector="$(parent).rec_type" />
</node>

<node name="sfd_record_type0_ext" descr="" size="0x400.0" >
	<field name="fdb_record" descr="An FDB record. \;See Section 7.2.15, &quot;FDB Records&quot;, on page 1972\;More than one FDB record can be used in the same command for batch updates.\;Note: on write, the first 16B of the record is written according to this register. Bytes after the 16B are written as 0. On read, bytes after the first 16B are not read." subnode="array128_auto" access="RW" high_bound="63" low_bound="0" offset="0x0.0" size="0x400.0" />
</node>

<node name="sfd_record_type1_ext" descr="" size="0x400.0" >
	<field name="fdb_record" descr="An FDB record. \;More than one FDB record can be used in the same command for batch updates.\;See Table 1470, &quot;Unicast FDB Record Layout,&quot; on page 1973\;See Table 1472, &quot;Unicast LAG FDB Record Layout,&quot; on page 1976\;See Table 1474, &quot;Multicast FDB Record Layout,&quot; on page 1979\;See Table 1476, &quot;Unicast Tunnel FDB Record Layout,&quot; on page 1982\;See Table 1478, &quot;Multicast Tunnel FDB Record Layout,&quot; on page 1986\;See Table 1480, &quot;Learned MAC Notification Layout,&quot; on page 1989\;See Table 1482, &quot;Learned MAC LAG Notification Layout,&quot; on page 1990\;See Table 1484, &quot;Learned Unicast Tunnel FDB Notification Layout,&quot; on page 1991\;See Table 1486, &quot;Aged-out MAC Record Layout,&quot; on page 1993\;See Table 1488, &quot;Aged-out MAC LAG Record Layout,&quot; on page 1995\;See Table 1490, &quot;Aged-out Unicast Tunnel FDB Record Layout,&quot; on page 1997" subnode="sfd_record_type1_fdb_record_auto_ext" access="RW" high_bound="31" low_bound="0" offset="0x0.0" size="0x400.0" />
</node>

<node name="sfd_record_type1_fdb_record_auto_ext" descr="" attr_is_union="1" size="0x20.0" >
	<field name="aged_out_mac_lag_record_ext" descr="" subnode="aged_out_mac_lag_record_ext" offset="0x0.0" size="0x20.0" />
	<field name="aged_out_mac_record_ext" descr="" subnode="aged_out_mac_record_ext" offset="0x0.0" size="0x20.0" />
	<field name="aged_out_unicast_tunnel_fdb_record_ext" descr="" subnode="aged_out_unicast_tunnel_fdb_record_ext" offset="0x0.0" size="0x20.0" />
	<field name="learned_mac_lag_notification_ext" descr="" subnode="learned_mac_lag_notification_ext" offset="0x0.0" size="0x20.0" />
	<field name="learned_mac_notification_ext" descr="" subnode="learned_mac_notification_ext" offset="0x0.0" size="0x20.0" />
	<field name="learned_unicast_tunnel_fdb_notification_ext" descr="" subnode="learned_unicast_tunnel_fdb_notification_ext" offset="0x0.0" size="0x20.0" />
	<field name="multicast_fdb_record_ext" descr="" subnode="multicast_fdb_record_ext" offset="0x0.0" size="0x20.0" />
	<field name="multicast_tunnel_fdb_record_ext" descr="" subnode="multicast_tunnel_fdb_record_ext" offset="0x0.0" size="0x20.0" />
	<field name="unicast_fdb_record_ext" descr="" subnode="unicast_fdb_record_ext" offset="0x0.0" size="0x20.0" />
	<field name="unicast_lag_fdb_record_ext" descr="" subnode="unicast_lag_fdb_record_ext" offset="0x0.0" size="0x20.0" />
	<field name="unicast_tunnel_fdb_record_ext" descr="" subnode="unicast_tunnel_fdb_record_ext" offset="0x0.0" size="0x20.0" />
</node>

<node name="sfd_records_auto_ext" descr="" attr_is_union="1" size="0x400.0" >
	<field name="sfd_record_type0_ext" descr="" subnode="sfd_record_type0_ext" offset="0x0.0" selected_by="records_are_16B" size="0x400.0" />
	<field name="sfd_record_type1_ext" descr="" subnode="sfd_record_type1_ext" offset="0x0.0" selected_by="records_are_32B" size="0x400.0" />
</node>

<node name="sfd_v2_ext" descr="" size="0x30.0" >
	<field name="num_rec" descr="Request: Number of records to read/add/modify/remove\;Response: Number of records read/added/replaced/removed\;Record size is 32B" access="OP" offset="0x0.0" size="0x0.12" />
	<field name="op" descr="Operation.\;For Query:\;1: SFD_QUERY - query records by {MAC, VID/FID} value\;2: SFD_QUERY_AND_CLEAR_ACTIVITY - query and clear activity. Query records by {MAC, VID/FID} value.\;For Write:\;0: RESERVED\;1: SFD_EDIT - add/modify. Aged-out records cannot be added. This command removes the learning notification of the {MAC, VID/FID}. Response includes the entries that were added to the FDB.\;2: SFD_REMOVE - remove record by {MAC, VID/FID}. This command also removes the learning notification and aged-out notifications of the {MAC, VID/FID}. The response provides current (pre-removal) entries as non-aged-out." access="OP" offset="0x4.30" size="0x0.2" />
	<field name="fdb_records" descr="An FDB record.\;More than one FDB record can be used in the same command for batch updates.\;See Table 1470, &quot;Unicast FDB Record Layout,&quot; on page 1973\;See Table 1472, &quot;Unicast LAG FDB Record Layout,&quot; on page 1976\;See Table 1474, &quot;Multicast FDB Record Layout,&quot; on page 1979\;See Table 1476, &quot;Unicast Tunnel FDB Record Layout,&quot; on page 1982\;See Table 1478, &quot;Multicast Tunnel FDB Record Layout,&quot; on page 1986\;See Table 1480, &quot;Learned MAC Notification Layout,&quot; on page 1989\;See Table 1482, &quot;Learned MAC LAG Notification Layout,&quot; on page 1990\;See Table 1484, &quot;Learned Unicast Tunnel FDB Notification Layout,&quot; on page 1991\;See Table 1486, &quot;Aged-out MAC Record Layout,&quot; on page 1993\;See Table 1488, &quot;Aged-out MAC LAG Record Layout,&quot; on page 1995\;See Table 1490, &quot;Aged-out Unicast Tunnel FDB Record Layout,&quot; on page 1997" subnode="sfd_v2_fdb_records_auto_ext" access="RW" arr_is_dynamic="1" high_bound="VARIABLE" low_bound="0" offset="0x10.0" size="0x20.0" size_condition="$(parent).num_rec" />
</node>

<node name="sfd_v2_fdb_records_auto_ext" descr="" attr_is_union="1" size="0x20.0" >
	<field name="aged_out_mac_lag_record_ext" descr="" subnode="aged_out_mac_lag_record_ext" offset="0x0.0" size="0x20.0" />
	<field name="aged_out_mac_record_ext" descr="" subnode="aged_out_mac_record_ext" offset="0x0.0" size="0x20.0" />
	<field name="aged_out_unicast_tunnel_fdb_record_ext" descr="" subnode="aged_out_unicast_tunnel_fdb_record_ext" offset="0x0.0" size="0x20.0" />
	<field name="learned_mac_lag_notification_ext" descr="" subnode="learned_mac_lag_notification_ext" offset="0x0.0" size="0x20.0" />
	<field name="learned_mac_notification_ext" descr="" subnode="learned_mac_notification_ext" offset="0x0.0" size="0x20.0" />
	<field name="learned_unicast_tunnel_fdb_notification_ext" descr="" subnode="learned_unicast_tunnel_fdb_notification_ext" offset="0x0.0" size="0x20.0" />
	<field name="multicast_fdb_record_ext" descr="" subnode="multicast_fdb_record_ext" offset="0x0.0" size="0x20.0" />
	<field name="multicast_tunnel_fdb_record_ext" descr="" subnode="multicast_tunnel_fdb_record_ext" offset="0x0.0" size="0x20.0" />
	<field name="unicast_fdb_record_ext" descr="" subnode="unicast_fdb_record_ext" offset="0x0.0" size="0x20.0" />
	<field name="unicast_lag_fdb_record_ext" descr="" subnode="unicast_lag_fdb_record_ext" offset="0x0.0" size="0x20.0" />
	<field name="unicast_tunnel_fdb_record_ext" descr="" subnode="unicast_tunnel_fdb_record_ext" offset="0x0.0" size="0x20.0" />
</node>

<node name="sfdat_ext" descr="" size="0x8.0" >
	<field name="swid" descr="Switch partition ID\;Reserved when Spectrum/-2" access="INDEX" offset="0x0.24" size="0x0.8" />
	<field name="age_time" descr="Aging time in seconds\;Range: 1.. 1,000,000 seconds\;Default is 300 seconds\;" access="RW" offset="0x4.0" size="0x0.20" />
</node>

<node name="sfdb_ext" descr="" size="0x48.0" >
	<field name="update_type" descr="Update type:\;0: MC_TUNNEL_FDB_UNDERLAY_MC_PTR - Update Multicast_Tunnel_FDB_record.underlay_mc_ptr and ecmp_size\;1: MC_FDB_AND_MC_TUNNEL_FDB_MID - Update Multicast_FDB_record.mid and Update Multicast_Tunnel_FDB_record.mid\;2: UC_TUNNEL_FDB_UIP_AND_ECMP_SIZE - Update Unicast_Tunnel_FDB_record.uip_lsb (the pointer to the generic L2 encapsulation entry) and ecmp_size\;3: FDB_COUNTER_INDEX_AND_TYPE - Update counter_set_type, counter_index for all FDB Record Types\;4: MC_TUNNEL_FDB_UC_DMAC_UNDERLAY_MC_PTR - Update Multicast_Tunnel_FDB_UC_DMAC.underlay_mc_ptr and ecmp_size. For Multicast_Tunnel_FDB_record entries where the DMAC is a UC DMAC (bit40=&apos;0&apos;)\;5: MC_TUNNEL_FDB_MC_DMAC_UNDERLAY_MC_PTR - Update Multicast_Tunnel_FDB_MC_DMAC.underlay_mc_ptr and ecmp_size\;" access="INDEX" enum="MC_TUNNEL_FDB_UNDERLAY_MC_PTR=0x0,MC_FDB_AND_MC_TUNNEL_FDB_MID=0x1,UC_TUNNEL_FDB_UIP_AND_ECMP_SIZE=0x2,FDB_COUNTER_INDEX_AND_TYPE=0x3,MC_TUNNEL_FDB_UC_DMAC_UNDERLAY_MC_PTR=0x4,MC_TUNNEL_FDB_MC_DMAC_UNDERLAY_MC_PTR=0x5" offset="0x8.0" size="0x0.4" />
	<field name="policy" descr="Policy:\;0: ignore policy value (static or dynamic)\;1: only static\;2: only non-static" access="INDEX" offset="0x8.16" size="0x0.2" />
	<field name="entry_fid" descr="Update only if FID has value of entry_fid\;Range 1..cap_fid-1\;" access="INDEX" offset="0xC.0" size="0x0.16" />
	<field name="gfid" descr="Global fid.\;Update for all fids, ignore the entry_fid field" access="INDEX" offset="0xC.31" size="0x0.1" />
	<field name="parameter" descr="For update_type = 0, 4, 5:\;- Multicast_Tunnel_FDB_record.underlay_mc_ptr\;Table 1533, &quot;SFDB - Underlay MC Pointer Parameter Layout,&quot; on page 2048\;For update_type = 1:\;- Multicast_FDB_record.mid\;- Multicast_Tunnel_FDB_record.mid\;Table 1535, &quot;SFDB - MID Parameter Layout,&quot; on page 2049\;For update_type = 2:\;Update Unicast_Tunnel_FDB_record.uip_lsb\;Table 1537, &quot;SFDB - UID LSB Parameter Layout,&quot; on page 2049\;For update_type = 3:\;Table 1539, &quot;SFDB - Counter Parameter Layout,&quot; on page 2050" subnode="sfdb_parameter_auto_ext" access="INDEX" condition="$(parent).update_type" offset="0x20.0" size="0x4.0" />
	<field name="parameter1" descr="For update_type = 0, 4, 5:\;- Multicast_Tunnel_FDB_record.ecmp_size\;For update_type = 2:\;- Unicast_Tunnel_FDB_record.ecmp_size\;Table 1541, &quot;SFDB - ECMP Size Parameter Layout,&quot; on page 2050" subnode="sfdb_param_ecmp_size_ext" access="INDEX" offset="0x24.0" size="0x4.0" />
	<field name="new_parameter" descr="New parameter\;For update_type = 0, 4, 5:\;- Multicast_Tunnel_FDB_record.underlay_mc_ptr\;Table 1533, &quot;SFDB - Underlay MC Pointer Parameter Layout,&quot; on page 2048\;For update_type = 1:\;- Multicast_FDB_record.mid\;- Multicast_Tunnel_FDB_record.mid\;Table 1535, &quot;SFDB - MID Parameter Layout,&quot; on page 2049\;For update_type = 2:\;Update Unicast_Tunnel_FDB_record.uip_lsb\;Table 1537, &quot;SFDB - UID LSB Parameter Layout,&quot; on page 2049\;For update_type = 3:\;Table 1539, &quot;SFDB - Counter Parameter Layout,&quot; on page 2050" subnode="sfdb_new_parameter_auto_ext" access="WO" condition="$(parent).update_type" offset="0x40.0" size="0x4.0" />
	<field name="new_parameter1" descr="For update_type = 0, 4, 5:\;- Multicast_Tunnel_FDB_record.ecmp_size\;For update_type = 2:\;- Unicast_Tunnel_FDB_record.ecmp_size\;Table 1541, &quot;SFDB - ECMP Size Parameter Layout,&quot; on page 2050" subnode="sfdb_param_ecmp_size_ext" access="WO" offset="0x44.0" size="0x4.0" />
</node>

<node name="sfdb_new_parameter_auto_ext" descr="" attr_is_union="1" is_conditional="1" size="0x4.0" >
	<field name="sfdb_param_counter_ext" descr="" subnode="sfdb_param_counter_ext" condition="($(parent).update_type == FDB_COUNTER_INDEX_AND_TYPE)" offset="0x0.0" size="0x4.0" />
	<field name="sfdb_param_mid_ext" descr="" subnode="sfdb_param_mid_ext" condition="($(parent).update_type == MC_FDB_AND_MC_TUNNEL_FDB_MID)" offset="0x0.0" size="0x4.0" />
	<field name="sfdb_param_uip_lsb_ext" descr="" subnode="sfdb_param_uip_lsb_ext" condition="($(parent).update_type == UC_TUNNEL_FDB_UIP_AND_ECMP_SIZE)" offset="0x0.0" size="0x4.0" />
	<field name="sfdb_param_underlay_mc_ptr_ext" descr="" subnode="sfdb_param_underlay_mc_ptr_ext" condition="($(parent).update_type == MC_TUNNEL_FDB_UNDERLAY_MC_PTR) | ($(parent).update_type == MC_TUNNEL_FDB_UC_DMAC_UNDERLAY_MC_PTR) | ($(parent).update_type == MC_TUNNEL_FDB_MC_DMAC_UNDERLAY_MC_PTR)" offset="0x0.0" size="0x4.0" />
</node>

<node name="sfdb_param_counter_ext" descr="" size="0x4.0" >
	<field name="counter_index" descr="Counter set type and index for flow counters\;See Section 5.2.2, &quot;Counter Set Type&quot;, on page 1405" access="WO" offset="0x0.0" size="0x0.24" />
	<field name="counter_set_type" descr="Counter set type and index for flow counters\;See Section 5.2.2, &quot;Counter Set Type&quot;, on page 1405" access="WO" offset="0x0.24" size="0x0.8" />
</node>

<node name="sfdb_param_ecmp_size_ext" descr="" size="0x4.0" >
	<field name="ecmp_size" descr="ECMP size\;See Table 3438, &quot;ECMP Sizes,&quot; on page 4038" access="WO" offset="0x0.0" size="0x0.13" />
</node>

<node name="sfdb_param_mid_ext" descr="" size="0x4.0" >
	<field name="mid" descr="Multicast identifier - global identifier that represents the multicast group across all devices.\;For Spectrum, pointer to PGT table, see Appendix A.2.2, &quot;Port Group Table (PGT)&quot; (page 4588)" access="WO" offset="0x0.0" size="0x0.16" />
</node>

<node name="sfdb_param_uip_lsb_ext" descr="" size="0x4.0" >
	<field name="uip_lsb" descr="A pointer to the generic L2 encapsulation entry, see TNGEE" access="WO" offset="0x0.0" size="0x0.24" />
</node>

<node name="sfdb_param_underlay_mc_ptr_ext" descr="" size="0x4.0" >
	<field name="underlay_mc_ptr" descr="Underlay Multicast Pointer. Used as a pointer to the first entry of the group based link lists of MC entries (for NVE tunnels). \;For Spectrum the number of link lists in the group is configured by TNGCR.nve_group_size_mc.\;The pointer points to entries which are configured by TNUMT or to TNGEE.\;For Spectrum family, this points to an entry in the KVD Linear, see Appendix A.2.1, &quot;KVD Central Database&quot; (page 4585)" access="WO" offset="0x0.0" size="0x0.24" />
</node>

<node name="sfdb_parameter_auto_ext" descr="" attr_is_union="1" is_conditional="1" size="0x4.0" >
	<field name="sfdb_param_counter_ext" descr="" subnode="sfdb_param_counter_ext" condition="($(parent).update_type == FDB_COUNTER_INDEX_AND_TYPE)" offset="0x0.0" size="0x4.0" />
	<field name="sfdb_param_mid_ext" descr="" subnode="sfdb_param_mid_ext" condition="($(parent).update_type == MC_FDB_AND_MC_TUNNEL_FDB_MID)" offset="0x0.0" size="0x4.0" />
	<field name="sfdb_param_uip_lsb_ext" descr="" subnode="sfdb_param_uip_lsb_ext" condition="($(parent).update_type == UC_TUNNEL_FDB_UIP_AND_ECMP_SIZE)" offset="0x0.0" size="0x4.0" />
	<field name="sfdb_param_underlay_mc_ptr_ext" descr="" subnode="sfdb_param_underlay_mc_ptr_ext" condition="($(parent).update_type == MC_TUNNEL_FDB_UNDERLAY_MC_PTR) | ($(parent).update_type == MC_TUNNEL_FDB_UC_DMAC_UNDERLAY_MC_PTR) | ($(parent).update_type == MC_TUNNEL_FDB_MC_DMAC_UNDERLAY_MC_PTR)" offset="0x0.0" size="0x4.0" />
</node>

<node name="sfdb_v2_ext" descr="" size="0x84.0" >
	<field name="key" descr="An FDB record. \;See Section 7.2.15, &quot;FDB Records&quot;, on page 1972" access="INDEX" high_bound="7" low_bound="0" offset="0x0.0" size="0x20.0" />
	<field name="key_mask" descr="Per bit:\;0: bit will be ignored \;1: field will be matched\;Note: a mask does not have to be full for a key, except for the keys mentioned in Guidelines and Restrictions described in #8. \;\;" access="INDEX" high_bound="7" low_bound="0" offset="0x20.0" size="0x20.0" />
	<field name="action" descr="An FDB record. \;See Section 7.2.15, &quot;FDB Records&quot;, on page 1972" access="WO" high_bound="7" low_bound="0" offset="0x40.0" size="0x20.0" />
	<field name="action_mask" descr="Per bit:\;0: bit will be ignored \;1: field will be updated\;\;MAC and FID cannot be updated.\;SW must provide values for new fields." access="WO" high_bound="7" low_bound="0" offset="0x60.0" size="0x20.0" />
</node>

<node name="sfdd_entry_parameters_auto_ext" descr="" attr_is_union="1" size="0x10.0" >
	<field name="sfdd_lagid_params_ext" descr="" subnode="sfdd_lagid_params_ext" offset="0x0.0" selected_by="unicast_lag_record" size="0x10.0" />
	<field name="sfdd_mid_params_ext" descr="" subnode="sfdd_mid_params_ext" offset="0x0.0" selected_by="multicast_record" size="0x10.0" />
	<field name="sfdd_system_port_params_ext" descr="" subnode="sfdd_system_port_params_ext" offset="0x0.0" selected_by="unicast_fdb_record" size="0x10.0" />
	<field name="sfdd_underlay_ipv4_params_ext" descr="" subnode="sfdd_underlay_ipv4_params_ext" offset="0x0.0" selected_by="unicast_tunnel_fdb_record" size="0x10.0" />
	<field name="sfdd_underlay_mc_params_ext" descr="" subnode="sfdd_underlay_mc_params_ext" offset="0x0.0" selected_by="multicast_tunnel_fdb_record" size="0x10.0" />
</node>

<node name="sfdd_ext" descr="" size="0x420.0" >
	<field name="filter_fields" descr="Filter Fields:\;If a bit is &apos;0&apos; then the relevant field is ignored and dump is done regardless of the field value.\;All set filters are relevant (there is an AND between the filters).\;Reserved when op is Clear activity\;\;0: entry_a\;1: entry_policy\;2: entry_type\;3: entry_parameters" access="INDEX" enum="entry_a=0x0,entry_policy=0x1,entry_type=0x2,entry_parameters=0x3" offset="0x0.0" size="0x0.8" />
	<field name="rec_type" descr="Record type:\;0: records_are_16B\;1: records_are_32B\;Reserved when SwitchX or SwitchX-2" access="OP" enum="records_are_16B=0x0,records_are_32B=0x1" offset="0x0.20" size="0x0.1" />
	<field name="swid" descr="Switch partition ID\;Reserved when Spectrum/-2" access="INDEX" offset="0x0.24" size="0x0.8" />
	<field name="num_rec" descr="At request: number of records requested\;At response: number of records dumped\;Range is 0 ..32" access="INDEX" offset="0x4.0" size="0x0.8" />
	<field name="end" descr="End session\;Forces an end to the current session" access="OP" offset="0x4.20" size="0x0.1" />
	<field name="op" descr="Operation\;0: Dump entries\;1: Clear activity for all entries which were dumped in the current session" access="OP" offset="0x4.24" size="0x0.2" />
	<field name="entry_type" descr="Dump only if entry type has encoding of entry_type\;See Section 7.2.15, &quot;FDB Records&quot;, on page 1972\;Reserved if filter_fields bit2 is &apos;0&apos;\;0: unicast_fdb_record\;1: unicast_lag_record\;2: multicast_record\;12: unicast_tunnel_fdb_record\;15: multicast_tunnel_fdb_record" access="INDEX" enum="unicast_fdb_record=0x0,unicast_lag_record=0x1,multicast_record=0x2,unicast_tunnel_fdb_record=0xc,multicast_tunnel_fdb_record=0xf" offset="0x8.0" size="0x0.4" />
	<field name="entry_policy" descr="Dump only if policy has encoding of policy\;Reserved if filter_fields bit1 is &apos;0&apos;" access="INDEX" offset="0x8.8" size="0x0.2" />
	<field name="entry_a" descr="Dump only if activity has value of entry_a\;Reserved if filter_fields bit0 is &apos;0&apos;" access="INDEX" offset="0x8.16" size="0x0.1" />
	<field name="entry_fid" descr="Dump only if FID has value of entry_fid\;When ubridge = 0, for router sub-port interface, FID is cap_fid + rif\;Otherwise, valid range is 1..cap_fid-1\;Reserved if filter_fields bit3 is &apos;0&apos;" access="INDEX" offset="0xC.0" size="0x0.16" />
	<field name="entry_parameters" descr="For entry of type Unicast FDB record: System Port parameters, see Section 1521, &quot;SFDD System Port Parameters Layout&quot;, on page 2042\;For entry of type Unicast LAG record: Lag ID parameters, see Section 1523, &quot;SFDD - LAGID Parameters Layout&quot;, on page 2043\;For entry of type Multicast record: MID parameters, see Section 1525, &quot;SFDD - MID Parameters Layout&quot;, on page 2044\;For entry of type Unicast Tunnel FDB record Underlay parameters, see Section 1527, &quot;SFDD - Underlay IPv4 Parameters Layout&quot;, on page 2044\;For entry type Multicast Tunnel FDB record Underlay parameters, see Section 1529, &quot;SFDD - Underlay MC Parameters Layout&quot;, on page 2045" subnode="sfdd_entry_parameters_auto_ext" access="RW" offset="0x10.0" size="0x10.0" union_selector="$(parent).entry_type" />
	<field name="notification_records" descr="If records_are_16B, see Table 1511, &quot;SFD - Records type0 Layout,&quot; on page 2033\;If records_are_32B, see Table 1513, &quot;SFD - Records type1 Layout,&quot; on page 2034" subnode="sfdd_notification_records_auto_ext" access="RW" offset="0x20.0" size="0x400.0" union_selector="$(parent).rec_type" />
</node>

<node name="sfdd_lagid_params_ext" descr="" size="0x10.0" >
	<field name="lag_id" descr="LAG Identifier - pointer into the LAG descriptor table, see also Section 7.2.9, &quot;LAG Descriptor Table&quot;, on page 1968." access="INDEX" offset="0x0.0" size="0x0.10" />
</node>

<node name="sfdd_mid_params_ext" descr="" size="0x10.0" >
	<field name="mid" descr="Multicast identifier - global identifier that represents the multicast\;group across all devices.\;For Spectrum, pointer to PGT table, see Appendix A.2.2, &quot;Port Group Table (PGT)&quot; (page 4588)" access="INDEX" offset="0x0.0" size="0x0.16" />
</node>

<node name="sfdd_notification_records_auto_ext" descr="" attr_is_union="1" size="0x400.0" >
	<field name="sfd_record_type0_ext" descr="" subnode="sfd_record_type0_ext" offset="0x0.0" selected_by="records_are_16B" size="0x400.0" />
	<field name="sfd_record_type1_ext" descr="" subnode="sfd_record_type1_ext" offset="0x0.0" selected_by="records_are_32B" size="0x400.0" />
</node>

<node name="sfdd_system_port_params_ext" descr="" size="0x10.0" >
	<field name="system_port" descr="Unique port identifier for the final destination of the packet" access="INDEX" offset="0x0.0" size="0x0.16" />
</node>

<node name="sfdd_underlay_ipv4_params_ext" descr="" size="0x10.0" >
	<field name="ip_type" descr="IP type:\;0: IPv4\;1: IPv6" access="INDEX" offset="0x0.0" size="0x0.1" />
	<field name="udip" descr="When ip_type = &apos;0&apos;: \;The underlay destination IPv4 of the remote VTEP\;When ip_type = &apos;1&apos;: \;bits 23:0: A pointer to the IPv6 address of the remote VTEP destination in the overlay network." access="INDEX" offset="0x4.0" size="0x4.0" />
</node>

<node name="sfdd_underlay_mc_params_ext" descr="" size="0x10.0" >
	<field name="mid" descr="Multicast identifier - global identifier that represents the multicast\;group across all devices.\;For Spectrum, pointer to PGT table, see Appendix A.2.2, &quot;Port Group Table (PGT)&quot; (page 4588)" access="RO" offset="0x0.0" size="0x0.16" />
	<field name="underlay_mc_ptr" descr="A pointer to link list of flooding entries (for NVE tunnels)" access="RO" offset="0x4.0" size="0x0.24" />
</node>

<node name="sfdf_ext" descr="" size="0x14.0" >
	<field name="swid" descr="Switch partition ID\;Reserved when Spectrum/-2" access="INDEX" offset="0x0.24" size="0x0.8" />
	<field name="pb" descr="Policy Bitmask\;bit 0: Flush static entries\;bit 1: Flush dynamic MLAG entries\;bit 2: Flush dynamic ingress entries\;Reserved when pb_v = 0\;Valid values: 1-7\;Reserved for Spectrum-1" access="RW" offset="0x4.0" size="0x0.3" />
	<field name="pb_v" descr="Policy Bitmask Valid \;Reserved for Spectrum-1" access="RW" offset="0x4.8" size="0x0.1" />
	<field name="st" descr="Static:\;0: delete only dynamic entries \;1: delete both dynamic and static entries\;\;Reserved when pb_v = 1" access="INDEX" offset="0x4.24" size="0x0.1" />
	<field name="iut" descr="Ignore Unicast Tunnel entries:\;0: flush_types 0..5 also flush &quot;Unicast Tunnel&quot; entries\;1: flush_types 0..5 do not flush &quot;Unicast Tunnel&quot; entries" access="INDEX" offset="0x4.25" size="0x0.1" />
	<field name="imdu" descr="Ignore MC DMAC UC entries:\;0: flush_types 0..5 also flush &quot;MC DMAC UC&quot; entries\;1: flush_types 0..5 do not flush &quot;MC DMAC UC&quot; entries" access="INDEX" offset="0x4.26" size="0x0.1" />
	<field name="flush_type" descr="Flush type:\;0: FLUSH_PER_SWID\;1: FLUSH_PER_FID\;2: FLUSH_PER_PORT\;3: FLUSH_PER_PORT_AND_FID \;4: FLUSH_PER_LAG\;5: FLUSH_PER_LAG_AND_FID \;6: FLUSH_PER_NVE\;7: FLUSH_PER_NVE_AND_FID\;8: FLUSH_PER_TUNNEL_PORT\;9: FLUSH_PER_TUNNEL_PORT_FID\;10: FLUSH_MC_DMAC_UC\;11: FLUSH_MC_DMAC_UC_AND_FID" access="INDEX" enum="FLUSH_PER_SWID=0x0,FLUSH_PER_FID=0x1,FLUSH_PER_PORT=0x2,FLUSH_PER_PORT_AND_FID=0x3,FLUSH_PER_LAG=0x4,FLUSH_PER_LAG_AND_FID=0x5,FLUSH_PER_NVE=0x6,FLUSH_PER_NVE_AND_FID=0x7,FLUSH_PER_TUNNEL_PORT=0x8,FLUSH_PER_TUNNEL_PORT_FID=0x9,FLUSH_MC_DMAC_UC=0xa,FLUSH_MC_DMAC_UC_AND_FID=0xb" offset="0x4.28" size="0x0.4" />
	<field name="parameter" descr="Parameter used for the different flush_type:\;FLUSH_PER_FID: Table 1583, &quot;Parameter Layout - Flush per FID,&quot; on page 2085\;FLUSH_PER_NVE_AND_FID: Table 1585, &quot;Parameter Layout - Flush per NVE and FID,&quot; on page 2086\;FLUSH_PER_PORT: Table 1587, &quot;Parameter Layout - Flush per Port,&quot; on page 2086\;FLUSH_PER_PORT_AND_FID: Table 1589, &quot;Parameter Layout - Flush per Port and FID,&quot; on page 2087\;FLUSH_PER_LAG: Table 1591, &quot;Parameter Layout - Flush per LAG,&quot; on page 2087\;FLUSH_PER_LAG_AND_FID: Table 1593, &quot;Parameter Layout - Flush per LAG and FID,&quot; on page 2088\;FLUSH_TPORT_BITMAP: Table 1595, &quot;Parameter Layout - Flush per Tunnel Port,&quot; on page 2088\;FLUSH_TPORT_BITMAP_FID: Table 1597, &quot;Parameter Layout - Flush per Tunnel Port and FID,&quot; on page 2089\;FLUSH_MC_DMAC_UC_AND_FID: Table 1599, &quot;Parameter Layout - MC DMAC UC Flush per FID,&quot; on page 2090" subnode="sfdf_parameter_auto_ext" access="RW" offset="0x8.0" size="0x8.0" union_selector="$(parent).flush_type" />
</node>

<node name="sfdf_parameter_auto_ext" descr="" attr_is_union="1" size="0x8.0" >
	<field name="flush_mc_dmac_uc_and_fid_ext" descr="" subnode="flush_mc_dmac_uc_and_fid_ext" offset="0x0.0" selected_by="FLUSH_MC_DMAC_UC_AND_FID" size="0x8.0" />
	<field name="flush_per_fid_ext" descr="" subnode="flush_per_fid_ext" offset="0x0.0" selected_by="FLUSH_PER_FID" size="0x8.0" />
	<field name="flush_per_lag_and_fid_ext" descr="" subnode="flush_per_lag_and_fid_ext" offset="0x0.0" selected_by="FLUSH_PER_LAG_AND_FID" size="0x8.0" />
	<field name="flush_per_lag_ext" descr="" subnode="flush_per_lag_ext" offset="0x0.0" selected_by="FLUSH_PER_LAG" size="0x8.0" />
	<field name="flush_per_nve_and_fid_ext" descr="" subnode="flush_per_nve_and_fid_ext" offset="0x0.0" selected_by="FLUSH_PER_NVE_AND_FID" size="0x8.0" />
	<field name="flush_per_port_and_fid_ext" descr="" subnode="flush_per_port_and_fid_ext" offset="0x0.0" selected_by="FLUSH_PER_PORT_AND_FID" size="0x8.0" />
	<field name="flush_per_port_ext" descr="" subnode="flush_per_port_ext" offset="0x0.0" selected_by="FLUSH_PER_PORT" size="0x8.0" />
	<field name="flush_per_tunnel_port_ext" descr="" subnode="flush_per_tunnel_port_ext" offset="0x0.0" selected_by="FLUSH_PER_TUNNEL_PORT" size="0x8.0" />
	<field name="flush_per_tunnel_port_fid_ext" descr="" subnode="flush_per_tunnel_port_fid_ext" offset="0x0.0" selected_by="FLUSH_PER_TUNNEL_PORT_FID" size="0x8.0" />
</node>

<node name="sfdt_ext" descr="" size="0x2e0.0" >
	<field name="fgl_ptr" descr="Port Group Index\;Range 0 .. max_mid - 1\;For Spectrum/-2, pointer to PGT table, see Appendix A.2.2, &quot;Port Group Table (PGT)&quot; (page 4588)" access="INDEX" offset="0x0.0" size="0x0.16" />
	<field name="size" descr="Number of port_member_lists to be added/edited in the FGL membership.\;Valid range is 1..90" access="OP" offset="0x4.0" size="0x0.8" />
	<field name="port_members_list" descr="SFDT port_member list, see Table 1621, &quot;SFDT port_members_list&lt;i&gt; Layout,&quot; on page 2104" subnode="sfdt_port_members_list_ext" access="RW" high_bound="89" low_bound="0" offset="0x10.0" size="0x2d0.0" />
</node>

<node name="sfdt_port_members_list_ext" descr="" size="0x8.0" >
	<field name="port_member" descr="local port\;Not including CPU port\;Not including Router port" access="RW" high_bound="7" low_bound="0" offset="0x0.24" size="0x8.0" />
</node>

<node name="sfdt_v2_ext" descr="" size="0x2e0.0" >
	<field name="fgl_ptr" descr="Port Group Index\;For Spectrum/-2, pointer to PGT table, see Appendix A.2.2, &quot;Port Group Table (PGT)&quot; (page 4588)" access="INDEX" offset="0x0.0" size="0x0.16" />
	<field name="size" descr="Number of port_member_lists to be added/edited in the FGL membership.\;Valid range is 1..45" access="OP" offset="0x4.0" size="0x0.8" />
	<field name="port_members_list" descr="port_member list, see Table 1625, &quot;SFDT_V2 port_members_list Layout,&quot; on page 2106" subnode="sfdt_v2_port_members_list_ext" access="RW" high_bound="44" low_bound="0" offset="0x10.0" size="0x2d0.0" />
</node>

<node name="sfdt_v2_port_members_list_ext" descr="" size="0x10.0" >
	<field name="port_member" descr="local port\;Not including CPU port\;Not including Router port" access="RW" high_bound="7" low_bound="0" offset="0x0.16" size="0x10.0" />
</node>

<node name="sffp_ext" descr="" size="0xc.0" >
	<field name="type" descr="0: BROADCAST\;1: UNKNOWN_UNICAST\;2: UNREGISTERED_MULTICAST_IPV4\;3: UNREGISTERED_MULTICAST_IPV6\;4: RESERVED\;5: UNREGISTERED_MULTICAST_NON_IP\;6: IPV4_LINK_LOCAL - (Addresses 224.0.0.X)\;7: IPV6_ALL_HOSTS - (Address FF02::1)" access="INDEX" enum="BROADCAST=0x0,UNKNOWN_UNICAST=0x1,UNREGISTERED_MULTICAST_IPV4=0x2,UNREGISTERED_MULTICAST_IPV6=0x3,RESERVED=0x4,UNREGISTERED_MULTICAST_NON_IP=0x5,IPV4_LINK_LOCAL=0x6,IPV6_ALL_HOSTS=0x7" offset="0x0.0" size="0x0.4" />
	<field name="profile_id" descr="Profile ID\;a.k.a. SFMR.nve_flood_prf_id or SFMR.cff_prf_id\;Range 0..max_cap_nve_flood_prf- 1\;\;Note: HW selects according to the packet type" access="INDEX" offset="0x0.16" size="0x0.2" />
	<field name="flood_offset" descr="Flood offset (this is actually MID_offset)\;Default 0\;" access="RW" offset="0x4.0" size="0x0.3" />
	<field name="counter_offset" descr="Compressed Fid Flooding counter offset\;Actual counter index is SFMR.cff_counter_base_index + counter_offset\;Relevant only for CFF, not relevant for NVE" access="RW" offset="0x8.0" size="0x0.3" />
	<field name="counter_en" descr="Compressed Fid Flooding counter enable\;Note: for actual counting also the SFMR.cff_counter_set_type must have a valid counter type\;Relevant only for CFF, not relevant for NVE" access="RW" offset="0x8.8" size="0x0.1" />
</node>

<node name="sfgc_ext" descr="" size="0x14.0" >
	<field name="type" descr="0: BROADCAST\;1: UNKNOWN_UNICAST\;2: UNREGISTERED_MULTICAST_IPV4\;3: UNREGISTERED_MULTICAST_IPV6\;4: RESERVED\;5: UNREGISTERED_MULTICAST_NON_IP - also include unregistered RoCE_V1\;6: IPV4_LINK_LOCAL - (Addresses 224.0.0.X), not supported by SwitchX/-2\;7: IPV6_ALL_HOSTS - (Address FF02::1), not supported by SwitchX/-2\;" access="INDEX" enum="BROADCAST=0x0,UNKNOWN_UNICAST=0x1,UNREGISTERED_MULTICAST_IPV4=0x2,UNREGISTERED_MULTICAST_IPV6=0x3,RESERVED=0x4,UNREGISTERED_MULTICAST_NON_IP=0x5,IPV4_LINK_LOCAL=0x6,IPV6_ALL_HOSTS=0x7" offset="0x0.0" size="0x0.4" />
	<field name="flood_table" descr="Flooding table index to associate with the specific type on the specific switch partition.\;If table_type == single entry:\;Indexed from 0 to max_flood_tables-1\;If table_type == VID:\;Indexed from 0 to max_vid_flood_tables-1\;If table_type == FID_Offset (when ubridge=0 supports VIDs):\;Indexed from 0 to max_fid_offset_flood_tables-1\;If table_type == FID (when ubridge=0 supports and used only vFIDs):\;Indexed from 0 to max_fid_flood_tables-1\;Reserved when ubridge=1" access="RW" offset="0x4.0" size="0x0.6" />
	<field name="table_type" descr="Table type to use:\;0: any_type - should only be used if only one type of table is configured in the profile. Reserved when Spectrum/-2\;1: per_VID_tables - reserved when ubridge=1\;2: single_entry_tables - reserved when ubridge=1\;3: FID_Offset - reserved when SwitchX/-2\;4: FID - (when ubridge=0 used for vFIDs only, not for the first 4K FIDs). Reserved when SwitchX/-2" access="RW" enum="any_type=0x0,FID=0x4" offset="0x4.16" size="0x0.3" />
	<field name="bridge_type" descr="Bridge Type (see Section 7.4.2.1, &quot;FID Classification&quot;, on page 2011):\;0: type0 - when ubridge=0: 802.1Q. FID\;1: type1 - when ubridge=0: vFID. Reserved when SwitchX/-2" access="INDEX" enum="type0=0x0,type1=0x1" offset="0x4.24" size="0x0.3" />
	<field name="counter_index" descr="Counter Index for flow counters.\;For Spectrum/-2: See Section 5.1, &quot;Performance and Monitoring Counters&quot;, on page 1402\;Not supported by SwitchX/-2" access="RW" offset="0xC.0" size="0x0.24" />
	<field name="counter_set_type" descr="Counter Set Type for flow counters.\;For Spectrum/-2: See Section 5.2.2, &quot;Counter Set Type&quot;, on page 1405\;Not supported by SwitchX/-2" access="RW" offset="0xC.24" size="0x0.8" />
	<field name="mid_base" descr="MID Base\;Reserved when ubridge=0" access="RW" offset="0x10.0" size="0x0.16" />
</node>

<node name="sfmr_ext" descr="" size="0x2c.0" >
	<field name="fid" descr="Filtering Identifier\;Also supported for values of 1..4K-1" access="INDEX" offset="0x0.0" size="0x0.16" />
	<field name="op" descr="Operation\;0: FID is valid\;1: FID is not valid" access="RW" offset="0x0.24" size="0x0.4" />
	<field name="update" descr="update existing entry" access="OP" offset="0x0.31" size="0x0.1" />
	<field name="disable_tport_encap" descr="Disable tunnel_port encap for this fid. Bitwise:\;Bit0: disable NVE encap for this fid\;Bit1: disable_VPLS_encap_for_this_fid\;Bit2: disable_Flex_tunnel0_encap_for_this_fid \;Bit3: disable_Flex_tunnel1_encap_for_this_fid\;When set then the tunnel-encap will match the trap DISCARD_LOOKUP_SWITCH_UC or DISCARD_LOOKUP_SWITCH_MC_NULL and will count on PPCNT.ingress_tx_link_down\;Bits 1,2,3 supported from Spectrum-2" access="RW" offset="0x4.0" size="0x0.4" />
	<field name="update_mask" descr="Reserved when update = 0 \;When update = 1:\;Bit0: update disable_tport_encap\;Bit1: update flood_rsp, flood_bridge_type\;Bit2: update fid_offset\;Bit3: update vtfp, nve_tunnel_flood_ptr, update tunnel_port_lbf_bitmap\;Bit4: update vv, vni\;Bit5: update irif_v, irif\;Bit6: update decap_counter_set_type, decap_counter_index\;Bit7: update cff_counter_set_type, cff_counter_base_index\;Bit8: update cff_mid_base and cff_prf_id\;Bit9: update nve_flood_prf_id\;Bit10: update smpe_valid, smpe" access="OP" offset="0x4.8" size="0x0.16" />
	<field name="fid_offset" descr="FID Offset\;Used to point into the flooding table selected by SFGC register if the table is of type FID-Offset. \;For other flooding table types, this field is reserved.\;Reserved when op = 1\;Reserved when flood_rsp = 1\;Reserved when CONFIG_PROFILE.flood_mode = CFF" access="RW" offset="0x8.0" size="0x0.16" />
	<field name="flood_bridge_type" descr="Flood bridge type (see SFGC.bridge_type):\;0: type_0\;1: type_1\;Reserved when ubridge = 0\;Reserved when flood_rsp = 1\;Reserved when CONFIG_PROFILE.flood_mode = CFF" access="RW" enum="type_0=0x0,type_1=0x1" offset="0x8.28" size="0x0.1" />
	<field name="flood_rsp" descr="Router sub-port flooding tables:\;0: regular flooding tables\;1: router sub-port flooding table, for this fid the flooding is per router-sub-port local_port. Must not be set for a fid which is not a router-sub-port. \;Note: must be set prior to enabling the relevant RIF!\;Reserved when ubridge = 0 \;Reserved when CONFIG_PROFILE.flood_mode = CFF" access="RW" offset="0x8.31" size="0x0.1" />
	<field name="nve_tunnel_flood_ptr" descr="Underlay Flooding and BC Pointer. Used as a pointer to the first entry of the group based link lists of flooding or BC entries (for NVE tunnels). \;For Spectrum the number of link lists in the group is configured by TNGCR.nve_group_size_flood.\;For Spectrum-2 and on points to first entry (which may point to a group).\;The pointer points to entries which are configured by TNUMT or by TNGEE, see Section 16.11.6, &quot;TNUMT - Tunneling NVE Underlay Multicast Table Register&quot;, on page 4401, Section 16.11.3, &quot;TNGEE - TuNnel Generic Encapsulation Entry Register&quot;, on page 4393\;For Spectrum/-2, this points to an entry in the KVD Linear, see Appendix A.2.1.2, &quot;KVD Central Database Linear Entries&quot; (page 4588)\;Reserved when op = 1" access="RW" offset="0xC.0" size="0x0.24" />
	<field name="vtfp" descr="Tunnel Flood Pointer Valid\;If it is not set, nve_tunnel_flood_ptr is reserved and is considered as NULL pointer.\;For Spectrum when ubridge=0 and 802.1Q FIDs - reserved \;Reserved when op = 1" access="RW" offset="0xC.31" size="0x0.1" />
	<field name="vni" descr="Virtual Network Identifier\;When ubridge0: SW must not assign a given VNI to more than one FID\;Reserved when op = 1\;Reserved when vv = 0\;Range 0.. (2^24-2)" access="RW" offset="0x10.0" size="0x0.24" />
	<field name="vv" descr="VNI Valid.\;If it is not set, vni is reserved\;Reserved when op = 1" access="RW" offset="0x10.31" size="0x0.1" />
	<field name="irif" descr="Ingress RIF (Router Interface)\;Range is 0.. cap_max_router_interfaces-1\;Reserved when ubridge = 0\;Reserved when irif_v = 0\;" access="RW" offset="0x14.0" size="0x0.16" />
	<field name="irif_v" descr="Ingress RIF valid:\;0: irif is not valid, no irif assigned\;1: irif valid\;Must not be set for a non valid RIF\;Reserved when ubridge = 0" access="RW" offset="0x14.24" size="0x0.1" />
	<field name="decap_counter_index" descr="Counter Index for flow counters.\;Counts NVE Decap from vni to fid\;For Spectrum/-2: See Section 5.1, &quot;Performance and Monitoring Counters&quot;, on page 1402\;Not supported by SwitchX/-2\;Reserved when ubridge=1" access="RW" offset="0x18.0" size="0x0.24" />
	<field name="decap_counter_set_type" descr="Counter Set Type for flow counters.\;Counts NVE Decap from vni to fid\;For Spectrum/-2: See Section 5.2.2, &quot;Counter Set Type&quot;, on page 1405\;Not supported by SwitchX/-2\;Reserved when ubridge=1" access="RW" offset="0x18.24" size="0x0.8" />
	<field name="cff_counter_base_index" descr="Compressed Fid Flooding counter base index \;Actual counter index is cff_counter_index + SFFP.counter_offset\;Reserved when SwitchX/-2 and Spectrum-1.\;Supported only when CONFIG_PROFLE.flood_mode = CFF." access="RW" offset="0x1C.0" size="0x0.24" />
	<field name="cff_counter_set_type" descr="Compressed Fid Flooding counter Set Type\;Reserved when SwitchX/-2 and Spectrum-1.\;Supported only when CONFIG_PROFLE.flood_mode = CFF." access="RW" offset="0x1C.24" size="0x0.8" />
	<field name="cff_mid_base" descr="Compressed Fid Flooding mid (Multicast identifier) base\;For Spectrum-2, pointer to PGT table, see Appendix A.3.2, &quot;Port Group Table (PGT)&quot; (page 4599)\;Reserved when SwitchX/-2 and Spectrum-1.\;Supported when CONFIG_PROFILE.flood_mode = CFF. \;Range: 0..(cap_max_pgt-1)" access="RW" offset="0x20.0" size="0x0.16" />
	<field name="cff_prf_id" descr="Compressed Fid Flooding profile_id\;Reserved when SwitchX/-2 and Spectrum-1\;Range 0..max_cap_nve_flood_prf - 1\;Supported only when CONFIG_PROFLE.flood_mode = CFF." access="RW" offset="0x24.0" size="0x0.2" />
	<field name="nve_flood_prf_id" descr="Fid Flooding profile_id for NVE Encap\;Reserved when SwitchX/-2 and Spectrum-1\;Range 0..max_cap_nve_flood_prf - 1" access="RW" offset="0x24.8" size="0x0.2" />
	<field name="tunnel_port_lbf_bitmap" descr="Tunnel port vector for the loopback filter. Bitmap:\;bit0: NVE\;bit1: VPLS\;bit2: Flex_tunnel0\;bit3: Flex_tunnel1\;bits4..15: reserved\;At least one bit must be set. If all bits are cleared then NVE is treated as set \;This is used only for loopback filter check. The check itself is configured by TNPC.\;\;Reserved when vtfp = 0" access="RW" offset="0x24.16" size="0x0.4" />
	<field name="smpe" descr="Switch multicast port to egress VID\;Range is 0.. cap_max_rmpe - 1\;Reserved when ubridge = 0\;Reserved when flood_rsp = 1\;Reserved when SwitxcX/-2 or when Spectrum-1" access="RW" offset="0x28.0" size="0x0.16" />
	<field name="smpe_valid" descr="SMPE is valid\;Reserved when ubridge = 0\;Reserved when flood_rsp = 1\;Reserved when SwitchX/-2 or when Spectrum-1" access="RW" offset="0x28.20" size="0x0.1" />
</node>

<node name="sfn_ext" descr="" size="0x410.0" >
	<field name="rec_type" descr="Record type:\;0: records_are_16B\;1: records_are_32B\;Reserved when SwitchX/-2" access="OP" enum="records_are_16B=0x0,records_are_32B=0x1" offset="0x0.20" size="0x0.1" />
	<field name="swid" descr="Switch partition ID\;Reserved when Spectrum/-2" access="INDEX" offset="0x0.24" size="0x0.8" />
	<field name="num_rec" descr="Request: Number of learned notifications and aged-out notification records requested\;Response: Number of notification records returned (must be smaller than or equal to the value requested)\;For rec_type = 0: Range 0..64\;For rec_type = 1: Range 0..32" access="OP" offset="0x4.0" size="0x0.8" />
	<field name="end" descr="End session\;Forces an end to the current session" access="OP" offset="0x4.20" size="0x0.1" />
	<field name="notification_records" descr="If records_are_16B, see Table 1511, &quot;SFD - Records type0 Layout,&quot; on page 2033\;If records_are_32B, see Table 1513, &quot;SFD - Records type1 Layout,&quot; on page 2034" subnode="sfn_notification_records_auto_ext" access="RW" offset="0x10.0" size="0x400.0" union_selector="$(parent).rec_type" />
</node>

<node name="sfn_notification_records_auto_ext" descr="" attr_is_union="1" size="0x400.0" >
	<field name="sfd_record_type0_ext" descr="" subnode="sfd_record_type0_ext" offset="0x0.0" selected_by="records_are_16B" size="0x400.0" />
	<field name="sfd_record_type1_ext" descr="" subnode="sfd_record_type1_ext" offset="0x0.0" selected_by="records_are_32B" size="0x400.0" />
</node>

<node name="sftr_ext" descr="" size="0x240.0" >
	<field name="index" descr="Index. Used as an index into the Flooding Table\;Reserved when table_type == single entry" access="INDEX" offset="0x0.0" size="0x0.16" />
	<field name="flood_table" descr="Flooding table index to associate with the specific type on the specific switch partition.\;If table_type == single entry:\;Indexed from 0 to max_flood_tables-1\;If table_type == VID:\;Indexed from 0 to max_vid_flood_tables-1\;If table_type == FID-Offset (supports VIDs):\;Indexed from 0 to max_fid_offset_flood_tables-1\;If table_type == FID (supports only vFIDs):\;Indexed from 0 to max_fid_flood_tables-1" access="INDEX" offset="0x0.16" size="0x0.6" />
	<field name="swid" descr="Switch Partition ID\;Reserved when Spectrum/-2" access="INDEX" offset="0x0.24" size="0x0.8" />
	<field name="range" descr="Range of entries to update\;Allows executing the same operation on multiple entries from index to (index+range-1)\;Reserved when Read operations." access="INDEX" offset="0x4.0" size="0x0.16" />
	<field name="table_type" descr="Table type to use:\;0: any-type. Should only be used if only one type of table is configured in the profile. Reserved when Spectrum/-2\;1: VID tables.\;2: Single entry tables.\;3: FID Offset. Reserved when SwitchX/-2.\;4: FID (used for vFIDs only). Reserved when SwitchX/-2." access="INDEX" offset="0x4.16" size="0x0.3" />
	<field name="port" descr="Local port membership \;0: Non-member \;1: Member - packets that point to the MID are transmitted into the port\;All LAG ports must share the same configuration.Refer to Section 9.2, &quot;Port Numbering&quot;, on page 2202 for port numbering scheme.\;CPU port is supported, trap_id is FDB\;Router port is supported" access="RW" high_bound="7" low_bound="0" offset="0x20.0" size="0x20.0" />
	<field name="mask" descr="Local port mask; reserved when Read operations.\;0: Do not update port state.\;1: Update port membership based on the op and the port value" access="WO" high_bound="7" low_bound="0" offset="0x220.0" size="0x20.0" />
</node>

<node name="sftr_v2_ext" descr="" size="0x120.0" >
	<field name="index" descr="Index. Used as an index into the Flooding Table\;Reserved when table_type == single entry" access="INDEX" offset="0x0.0" size="0x0.16" />
	<field name="flood_table" descr="Flooding table index to associate with the specific type on the specific switch partition.\;If table_type == single entry:\;Indexed from 0 to max_flood_tables-1\;If table_type == VID:\;Indexed from 0 to max_vid_flood_tables-1\;If table_type == FID-Offset (supports VIDs):\;Indexed from 0 to max_fid_offset_flood_tables-1\;If table_type == FID (supports only vFIDs):\;Indexed from 0 to max_fid_flood_tables-1" access="INDEX" offset="0x0.16" size="0x0.6" />
	<field name="swid" descr="Switch Partition ID\;Reserved when Spectrum/-2" access="INDEX" offset="0x0.24" size="0x0.8" />
	<field name="range" descr="Range of entries to update\;Allows executing the same operation on multiple entries from index to (index+range-1)\;Reserved when Read operations." access="INDEX" offset="0x4.0" size="0x0.16" />
	<field name="table_type" descr="Table type to use:\;0: any-type. Should only be used if only one type of table is configured in the profile. Reserved when Spectrum/-2\;1: VID tables.\;2: Single entry tables.\;3: FID Offset. Reserved when SwitchX/-2.\;4: FID (used for vFIDs only). Reserved when SwitchX/-2." access="INDEX" offset="0x4.16" size="0x0.3" />
	<field name="port" descr="Local port membership \;0: Non-member \;1: Member - packets that point to the MID are transmitted into the port\;All LAG ports must share the same configuration.Refer to Section 9.2, &quot;Port Numbering&quot;, on page 2202 for port numbering scheme.\;CPU port is supported, trap_id is FDB\;Router port is supported" access="RW" high_bound="31" low_bound="0" offset="0x20.0" size="0x80.0" />
	<field name="mask" descr="Local port mask; reserved when Read operations.\;0: Do not update port state.\;1: Update port membership based on the op and the port value" access="WO" high_bound="31" low_bound="0" offset="0xA0.0" size="0x80.0" />
</node>

<node name="sgcr_ext" descr="" size="0x10.0" >
	<field name="llb" descr="Link Local Broadcast (Default=0)\;When set, all Link Local packets (224.0.0.X) will be treated as broadcast packets and ignore the IGMP snooping entries.\;Note: this capability is not supported on SwitchX device. It is supported on SwitchX-2 device\;Reserved when Spectrum/-2" access="RW" offset="0x4.0" size="0x0.1" />
	<field name="activity_dis" descr="Activity Disable:\;0: enable - activity will be set when an entries are hit\;(default)\;1: disable - activity will not be set when an entries are hit\;\;Spectrum-1 notes:\;Non-static entries are always disabled.\;Disabling activity will also clear the set activity from older FDB records.\;Enabling activity will also mark the activity of older FDB records.\;\;Bit 0: Disable activity bit in FDB. (See Section 7.12.4, &quot;SFD - Switch Filtering Database&quot;, on page 2031)\;Bits 7:1 -reserved\;Not supported by SwitchX, SwitchX-2" access="RW" offset="0x8.0" size="0x0.8" />
	<field name="lag_lookup_pgt_base" descr="Base address used for lookup in PGT table\;Supported when CONFIG_PROFILE.lag_mode = 1\;Note: when IGCR.ddd_lag_mode=0, the address shall be aligned to cap_lag_ddd." access="RW" offset="0xC.0" size="0x0.16" />
</node>

<node name="shared_buffer_status_ext" descr="" size="0x8.0" >
	<field name="buff_occupancy" descr="Current buffer occupancy" access="RO" offset="0x0.0" size="0x0.24" />
	<field name="max_buff_occupancy" descr="Maximum value of buffer occupancy monitored. Cleared by writing to the clr field\;When snap = 1 and Spectrum-2 returns &apos;0&apos;. Fixed from Spectrum-3" access="RO" offset="0x4.0" size="0x0.24" />
</node>

<node name="slcor_ext" descr="" size="0x10.0" >
	<field name="lag_id" descr="LAG Identifier. Index into the LAG descriptor table." access="RW" offset="0x0.0" size="0x0.10" />
	<field name="lp_msb" descr="Local port[9:8]" access="INDEX" offset="0x0.12" size="0x0.2" />
	<field name="local_port" descr="Local port number\;Not supported for CPU port" access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="col" descr="Collector configuration\;0x0: LAG_ADD_PORT - (port is added with collector disabled)\;0x1: LAG_COLLECTOR_ENABLED\;0x2: LAG_COLLECTOR_DISABLED\;0x3: LAG_REMOVE_PORT" access="RW" enum="LAG_ADD_PORT=0x0,LAG_COLLECTOR_ENABLED=0x1,LAG_COLLECTOR_DISABLED=0x2,LAG_REMOVE_PORT=0x3" offset="0x0.30" size="0x0.2" />
	<field name="port_index" descr="Port index in the LAG list. Only valid on Add Port to LAG col. valid range is from 0 to cap_max_lag_members-1\;" access="RW" offset="0x4.0" size="0x0.8" />
</node>

<node name="slcr_ext" descr="" size="0x10.0" >
	<field name="type" descr="Hash type\;0: CRC (default)\;1: XOR \;2: Random (egress port is chosen randomly out of the LAG members). \;Reserved when SwitchX/-2" access="RW" offset="0x0.0" size="0x0.4" />
	<field name="sh" descr="Symmetric hash \;When set, the hash calculation will result in the same hash value as when the source address (layer 2 and layer 3) is swapped. This ensures that the same conversions will result in the same hash value.\;Note: for SwitchX/-2 when this bit is set, enabling addresses in lag_hash must be in couples - both source and destination. This includes the following sets:\;SMAC, DMAC\;SIP, DIP\;TCP/UDP Source Port, TCP/UDP destination port\;SID, DID - for SwitchX/-2 only" access="RW" offset="0x0.8" size="0x0.1" />
	<field name="lp_msb" descr="Local port[9:8]" access="INDEX" offset="0x0.12" size="0x0.2" />
	<field name="local_port" descr="Local port number\;Reserved when SwitchX/-2" access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="pp" descr="Per Port Configuration\;0: Global Configuration (for all ports)\;1: Per port configuration, based on local_port field.\;Note: SW must not read as global if last write was not global.\;Reserved when SwitchX/-2" access="INDEX" offset="0x0.24" size="0x0.1" />
	<field name="lag_hash" descr="LAG hashing configuration. This is a bitmask, in which each set bit includes the corresponding item in the LAG hash calculation.\;0: Ingress_port\;1: SMAC - for IPv4 and IPv6 packets\;2: SMAC - for non-IP packets\;3: DMAC - for IPv4 and IPv6 packets\;4: DMAC - for non-IP packets\;5: Ethertype - for IPv4 and IPv6 packets\;6: Ethertype - for non-IP packets\;7: VLAN_ID - for IPv4 and IPv6 packets\;8: VLAN_ID - for non-IP packets\;\;9: Source_IP_address - (can be IPv4 or IPv6, also for ARP payload)\;10: Destination_IP_address - (can be IPv4 or IPv6, also for ARP payload)\;11: TCP/UDP - source port\;12: TCP/UDP - destination port\;13: IPv4 Protocol/IPv6 Next Header\;14: IPv6 Flow label\;15: SID - FCoE source ID\;16: DID - FCoE destination ID\;17: OXID - FCoE originator exchange ID\;19: Destination_QP_number - for RoCE packets\;\;The default lag_hash contains SMAC, DMAC, VLANID and Ethertype (for all packet types)\;Note: An engine action can be added to the LAG hash calculation. For more details, contact NVIDIA Support." access="RW" offset="0x4.0" size="0x0.20" />
	<field name="seed" descr="LAG seed value. The seed is the same for all ports (latest configuration configures the seed for all ports)." access="RW" offset="0x8.0" size="0x4.0" />
</node>

<node name="sldr_add_remove_port_list_ext" descr="" size="0x104.0" >
	<field name="num_ports" descr="The number of member ports of the LAG. \;Reserved when Create / Destroy operations\;For Add / Remove operations - indicates the number of ports in the list" access="RW" offset="0x0.24" size="0x0.8" />
	<field name="system_port" descr="System port" subnode="system_port" access="RW" high_bound="63" low_bound="0" offset="0x4.0" size="0x100.0" />
</node>

<node name="sldr_ext" descr="" size="0x108.0" >
	<field name="lag_id" descr="LAG identifier. The lag_id is the index into the LAG descriptor table.\;SwitchX/-2: range from 0 to max_lag-1\;Spectrum/-2: range from 0 to cap_max_lag-1" access="INDEX" offset="0x0.0" size="0x0.10" />
	<field name="op" descr="Operation for write:\;0: LAG_CREATE - indicates a creation of a new LAG-ID. num_ports must be 0 and lag_id must be valid.\;1: LAG_DESTROY \;2: LAG_ADD_PORT_LIST - (ports that appear in the list have the Distributer enabled), status is LAG_CREATE\;3: LAG_REMOVE_PORT_LIST - removes ports from the distributer list, status is LAG_CREATE\;4: LAG_REDIRECT - redirects a LAG-ID to follow another LAG-ID. \;5: FINE_GRAIN_LAG_ENABLE - for unicast use FGL distributer list (edited by SFDT register, see Section 7.12.31, &quot;SFDT - Switch FGL Distributer Table Register&quot;, on page 2103)\;6: FINE_GRAIN_LAG_DISABLE - use Normal LAG distributer list (default distributer list for created LAG), status is LAG_CREATE\;\;" access="RW" enum="LAG_CREATE=0x0,LAG_DESTROY=0x1,LAG_ADD_PORT_LIST=0x2,LAG_REMOVE_PORT_LIST=0x3,LAG_REDIRECT=0x4,FINE_GRAIN_LAG_ENABLE=0x5,FINE_GRAIN_LAG_DISABLE=0x6" offset="0x0.29" size="0x0.3" />
	<field name="parameters" descr="SLDR Parameters according to op:\;LAG_CREATE, LAG_DESTROY, FINE_GRAIN_LAG_DISABLE:\;Table 1603, &quot;SLDR - Create/Destroy LAG Parameters Layout,&quot; on page 2093\;LAG_ADD_PORT_LIST, LAG_REMOVE_PORT_LIST:\;Table 1605, &quot;SLDR - Add/Remove Port List Parameters Layout,&quot; on page 2093\;LAG_REDIRECT:\;Table 1607, &quot;SLDR - LAG Redirect Parameters Layout,&quot; on page 2094\;FINE_GRAIN_LAG_ENABLE:\;Table 1609, &quot;SLDR - Fine-Grain LAG Parameters Layout,&quot; on page 2094" subnode="sldr_parameters_auto_ext" access="RW" offset="0x4.0" size="0x104.0" union_selector="$(parent).op" />
</node>

<node name="sldr_fine_grain_lag_ext" descr="" size="0x8.0" >
	<field name="fgl_ptr" descr="Fine-Grain LAG Pointer\;A pointer to the Fine-Grain LAG table.\;Note: Different LAG-IDs must not point to the same fgl_ptr\;See Section A.2.2, &quot;Port Group Table (PGT)&quot;, on page 4588" access="RW" offset="0x0.0" size="0x0.16" />
	<field name="fgl_size" descr="Fine-Grain LAG Size \;Supported values: 512, 1024, 2048, 4096" access="RW" offset="0x4.0" size="0x0.16" />
</node>

<node name="sldr_lag_redirect_parameters_ext" descr="" size="0x8.0" >
	<field name="dst_lag" descr="Destination LAG-ID." access="RW" offset="0x0.0" size="0x0.10" />
</node>

<node name="sldr_parameters_auto_ext" descr="" attr_is_union="1" size="0x104.0" >
	<field name="sdlr_create_destroy_lag_params_ext" descr="" subnode="sdlr_create_destroy_lag_params_ext" offset="0x0.0" selected_by="LAG_CREATE" size="0x8.0" />
	<field name="sldr_add_remove_port_list_ext" descr="" subnode="sldr_add_remove_port_list_ext" offset="0x0.0" selected_by="LAG_ADD_PORT_LIST" size="0x104.0" />
	<field name="sldr_fine_grain_lag_ext" descr="" subnode="sldr_fine_grain_lag_ext" offset="0x0.0" selected_by="FINE_GRAIN_LAG_ENABLE" size="0x8.0" />
	<field name="sldr_lag_redirect_parameters_ext" descr="" subnode="sldr_lag_redirect_parameters_ext" offset="0x0.0" selected_by="LAG_REDIRECT" size="0x8.0" />
</node>

<node name="slecr_ext" descr="" size="0x10.0" >
	<field name="re" descr="Roaming enable. In case of a new MAC address that has a port mismatch with existing dynamic FDB entry:\;0: do not learn\;1: learn (default)\;(Learn means generating a learning notification to the software)\;Note: learning is enabled only if all enables are set (spanning tree, port-vid, global)\;" access="RW" offset="0x0.2" size="0x0.1" />
	<field name="il" descr="Independent Learning\;0: Shared VLAN learning, Reserved when Spectrum/-2\;1: Independent VLAN learning (default)\;" access="RW" offset="0x0.3" size="0x0.1" />
	<field name="swid" descr="Switch partition ID\;Reserved when Spectrum/-2" access="INDEX" offset="0x0.24" size="0x0.8" />
</node>

<node name="sllm_5nm_ext" descr="" size="0x2c.0" >
	<field name="peq_cap" descr="" access="RW" offset="0x0.0" size="0x0.1" />
	<field name="is_peq_on" descr="" access="RO" offset="0x0.2" size="0x0.1" />
	<field name="peq_interval_period" descr="" access="RW" offset="0x4.0" size="0x0.12" />
	<field name="peq_interval_period_oper" descr="" access="RO" offset="0x8.0" size="0x0.12" />
</node>

<node name="sllm_reg_ext" descr="" size="0x30.0" >
	<field name="c_db" descr="copy to FW Data-Base." access="OP" offset="0x0.0" size="0x0.1" />
	<field name="br_lanes" descr="When set, configuration will be applied to all port lanes" access="WO" offset="0x0.1" size="0x0.1" />
	<field name="br_lanes_cap" descr="When set, br_lanes config is valid. otherwise, field ignores config" access="RO" offset="0x0.2" size="0x0.1" />
	<field name="port_type" descr="For HCA supported only when indicated by PCAM \;0: Network_Port\;1: NearEnd_Port - (For Retimer/Gearbox - Host side)\;2: Internal_IC_LR_Port \;3: FarEnd_Port - (For Retimer/Gearbox - Line side)\;4: USR_Main\;5: USR_Tile\;\;" access="INDEX" enum="Network_Port=0x0,NearEnd_Port=0x1,Internal_IC_LR_Port=0x2,FarEnd_Port=0x3,USR_Main=0x4,USR_Tile=0x5" offset="0x0.4" size="0x0.4" />
	<field name="lane" descr="Logical lane number" access="INDEX" offset="0x0.8" size="0x0.4" />
	<field name="lp_msb" descr="Local port number [9:8]" access="INDEX" offset="0x0.12" size="0x0.2" />
	<field name="pnat" descr="Port number access type. determines the way local_port is interpreted:\;0 - Local port number\;1 - IB port number\;3 - Out of band / PCI" access="INDEX" offset="0x0.14" size="0x0.2" />
	<field name="local_port" descr="Local port number." access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="version" descr="3: prod_16nm\;4: prod_7nm\;5: prod_5nm - (Uphy 7.0/ 7.5)\;6: serdes_gen_8" access="RO" enum="prod_16nm=0x3,prod_7nm=0x4,prod_5nm=0x5,serdes_gen_8=0x6" offset="0x0.24" size="0x0.4" />
	<field name="status" descr="0 - invalid\;1 - valid" access="RO" offset="0x0.28" size="0x0.4" />
	<field name="page_data" descr="Table  2200, &quot;SLLM - SerDes Lane Link Maintenance Register Layout for 5nm and Serdes_gen_8,&quot; on page  2918" subnode="sllm_reg_page_data_auto_ext" access="RW" condition="$(parent).port_type AND $(parent).version" offset="0x4.0" size="0x2c.0" />
</node>

<node name="sllm_reg_page_data_auto_ext" descr="" attr_is_union="1" is_conditional="1" size="0x2c.0" >
	<field name="sllm_5nm_ext" descr="" subnode="sllm_5nm_ext" condition="(($(parent).port_type == Network_Port || $(parent).port_type == NearEnd_Port || $(parent).port_type == FarEnd_Port)) AND (($(parent).version == prod_5nm) OR $(parent).version == serdes_gen_8)" offset="0x0.0" size="0x2c.0" />
</node>

<node name="slmt_ext" descr="" size="0x8.0" >
	<field name="new_lag_lookup_pgt_base" descr="New lag location in PGT table\;Range 0 .. (cap_pgt_size-1)" access="WO" offset="0x0.0" size="0x0.16" />
	<field name="lag_cnt" descr="Number of lag entries to relocate \;" access="OP" offset="0x4.0" size="0x0.10" />
	<field name="new_ddd_lag_mode" descr="0: entry is duplicated cap_lag_ddd times.\;1: no entry duplication (DDD disabled).\;\;Reserved when change_ddd_lag_mode=0." access="WO" offset="0x4.30" size="0x0.1" />
	<field name="change_ddd_lag_mode" descr="0: Don&apos;t change.\;1: Change LAG DDD mode." access="OP" offset="0x4.31" size="0x0.1" />
</node>

<node name="slprr_Extended_read_7_5_ext" descr="" size="0x5c.0" >
	<field name="prr18_3" descr="" access="RO" offset="0x0.0" size="0x0.1" />
	<field name="prr18_2" descr="" access="RO" offset="0x0.17" size="0x0.5" />
	<field name="prr18_1" descr="" access="RO" offset="0x0.24" size="0x0.2" />
	<field name="prr18_0" descr="" access="RO" offset="0x0.29" size="0x0.3" />
	<field name="prr12_m3" descr="" access="RO" offset="0x4.3" size="0x0.8" />
	<field name="prr12_m2" descr="" access="RO" offset="0x4.13" size="0x0.8" />
	<field name="prr12_m1" descr="" access="RO" offset="0x4.23" size="0x0.9" />
	<field name="prr12_2" descr="" access="RO" offset="0x8.0" size="0x0.8" />
	<field name="prr12_1" descr="" access="RO" offset="0x8.9" size="0x0.8" />
	<field name="prr12_m5" descr="" access="RO" offset="0x8.17" size="0x0.7" />
	<field name="prr12_m4" descr="" access="RO" offset="0x8.24" size="0x0.8" />
	<field name="prr12_6" descr="" access="RO" offset="0xC.1" size="0x0.6" />
	<field name="prr12_5" descr="" access="RO" offset="0xC.8" size="0x0.7" />
	<field name="prr12_4" descr="" access="RO" offset="0xC.17" size="0x0.7" />
	<field name="prr12_3" descr="" access="RO" offset="0xC.25" size="0x0.7" />
	<field name="prr12_10" descr="" access="RO" offset="0x10.2" size="0x0.5" />
	<field name="prr12_9" descr="" access="RO" offset="0x10.9" size="0x0.6" />
	<field name="prr12_8" descr="" access="RO" offset="0x10.18" size="0x0.6" />
	<field name="prr12_7" descr="" access="RO" offset="0x10.26" size="0x0.6" />
	<field name="prr12_12" descr="" access="RO" offset="0x14.19" size="0x0.5" />
	<field name="prr12_11" descr="" access="RO" offset="0x14.27" size="0x0.5" />
	<field name="prr13_5" descr="" access="RO" offset="0x18.0" size="0x0.6" />
	<field name="prr13_4" descr="" access="RO" offset="0x18.6" size="0x0.4" />
	<field name="prr13_3" descr="" access="RO" offset="0x18.11" size="0x0.6" />
	<field name="prr13_2" descr="" access="RO" offset="0x18.17" size="0x0.4" />
	<field name="prr13_1" descr="" access="RO" offset="0x18.22" size="0x0.6" />
	<field name="prr13_0" descr="" access="RO" offset="0x18.28" size="0x0.4" />
	<field name="prr13_11" descr="" access="RO" offset="0x1C.0" size="0x0.6" />
	<field name="prr13_10" descr="" access="RO" offset="0x1C.6" size="0x0.4" />
	<field name="prr13_9" descr="" access="RO" offset="0x1C.11" size="0x0.6" />
	<field name="prr13_8" descr="" access="RO" offset="0x1C.17" size="0x0.4" />
	<field name="prr13_7" descr="" access="RO" offset="0x1C.22" size="0x0.6" />
	<field name="prr13_6" descr="" access="RO" offset="0x1C.28" size="0x0.4" />
	<field name="prr13_17" descr="" access="RO" offset="0x20.0" size="0x0.6" />
	<field name="prr13_16" descr="" access="RO" offset="0x20.6" size="0x0.4" />
	<field name="prr13_15" descr="" access="RO" offset="0x20.11" size="0x0.6" />
	<field name="prr13_14" descr="" access="RO" offset="0x20.17" size="0x0.4" />
	<field name="prr13_13" descr="" access="RO" offset="0x20.22" size="0x0.6" />
	<field name="prr13_12" descr="" access="RO" offset="0x20.28" size="0x0.4" />
	<field name="prr13_23" descr="" access="RO" offset="0x24.0" size="0x0.6" />
	<field name="prr13_22" descr="" access="RO" offset="0x24.6" size="0x0.4" />
	<field name="prr13_21" descr="" access="RO" offset="0x24.11" size="0x0.6" />
	<field name="prr13_20" descr="" access="RO" offset="0x24.17" size="0x0.4" />
	<field name="prr13_19" descr="" access="RO" offset="0x24.22" size="0x0.6" />
	<field name="prr13_18" descr="" access="RO" offset="0x24.28" size="0x0.4" />
	<field name="prr13_29" descr="" access="RO" offset="0x28.0" size="0x0.6" />
	<field name="prr13_28" descr="" access="RO" offset="0x28.6" size="0x0.4" />
	<field name="prr13_27" descr="" access="RO" offset="0x28.11" size="0x0.6" />
	<field name="prr13_26" descr="" access="RO" offset="0x28.17" size="0x0.4" />
	<field name="prr13_25" descr="" access="RO" offset="0x28.22" size="0x0.6" />
	<field name="prr13_24" descr="" access="RO" offset="0x28.28" size="0x0.4" />
	<field name="prr13_31" descr="" access="RO" offset="0x2C.0" size="0x0.6" />
	<field name="prr13_30" descr="" access="RO" offset="0x2C.6" size="0x0.4" />
	<field name="prr14_0" descr="" access="RO" offset="0x2C.11" size="0x0.10" />
	<field name="prr14_1" descr="" access="RO" offset="0x2C.22" size="0x0.10" />
	<field name="prr14_2" descr="" access="RO" offset="0x30.0" size="0x0.10" />
	<field name="prr14_3" descr="" access="RO" offset="0x30.11" size="0x0.10" />
	<field name="prr14_4" descr="" access="RO" offset="0x30.22" size="0x0.10" />
	<field name="prr14_5" descr="" access="RO" offset="0x34.0" size="0x0.10" />
	<field name="prr14_6" descr="" access="RO" offset="0x34.11" size="0x0.10" />
	<field name="prr14_7" descr="" access="RO" offset="0x34.22" size="0x0.10" />
	<field name="prr15_0" descr="" access="RO" offset="0x38.22" size="0x0.10" />
	<field name="prr15_1" descr="" access="RO" offset="0x3C.0" size="0x0.10" />
	<field name="prr15_2" descr="" access="RO" offset="0x3C.11" size="0x0.10" />
	<field name="prr15_3" descr="" access="RO" offset="0x3C.22" size="0x0.10" />
	<field name="prr15_4" descr="" access="RO" offset="0x40.0" size="0x0.10" />
	<field name="prr15_5" descr="" access="RO" offset="0x40.11" size="0x0.10" />
	<field name="prr15_6" descr="" access="RO" offset="0x40.22" size="0x0.10" />
	<field name="prr15_7" descr="" access="RO" offset="0x44.0" size="0x0.10" />
	<field name="prr15_8" descr="" access="RO" offset="0x44.11" size="0x0.10" />
	<field name="prr15_9" descr="" access="RO" offset="0x44.22" size="0x0.10" />
	<field name="prr15_10" descr="" access="RO" offset="0x48.0" size="0x0.10" />
	<field name="prr15_11" descr="" access="RO" offset="0x48.11" size="0x0.10" />
	<field name="prr15_12" descr="" access="RO" offset="0x48.22" size="0x0.10" />
	<field name="prr16_0" descr="" access="RO" offset="0x4C.0" size="0x4.0" />
	<field name="prr18_7" descr="" access="RO" offset="0x50.0" size="0x0.4" />
	<field name="prr18_6" descr="" access="RO" offset="0x50.6" size="0x0.4" />
	<field name="prr18_5" descr="" access="RO" offset="0x50.12" size="0x0.4" />
	<field name="prr18_4" descr="" access="RO" offset="0x50.18" size="0x0.4" />
	<field name="prr12_16" descr="" access="RO" offset="0x54.0" size="0x0.4" />
	<field name="prr12_15" descr="" access="RO" offset="0x54.6" size="0x0.4" />
	<field name="prr12_14" descr="" access="RO" offset="0x54.12" size="0x0.4" />
	<field name="prr12_13" descr="" access="RO" offset="0x54.18" size="0x0.4" />
	<field name="prr12_20" descr="" access="RO" offset="0x58.0" size="0x0.3" />
	<field name="prr12_19" descr="" access="RO" offset="0x58.5" size="0x0.4" />
	<field name="prr12_18" descr="" access="RO" offset="0x58.11" size="0x0.6" />
	<field name="prr12_17" descr="" access="RO" offset="0x58.19" size="0x0.7" />
</node>

<node name="slprr_Extended_read_7_ext" descr="" size="0x58.0" >
	<field name="prr6_1" descr="" access="RO" offset="0x0.0" size="0x0.1" />
	<field name="prr1_2" descr="" access="RO" offset="0x0.17" size="0x0.5" />
	<field name="prr1_1" descr="" access="RO" offset="0x0.24" size="0x0.2" />
	<field name="prr1_0" descr="" access="RO" offset="0x0.29" size="0x0.3" />
	<field name="prr2_m3" descr="" access="RO" offset="0x4.3" size="0x0.8" />
	<field name="prr2_m2" descr="" access="RO" offset="0x4.13" size="0x0.8" />
	<field name="prr2_m1" descr="" access="RO" offset="0x4.23" size="0x0.9" />
	<field name="prr2_2" descr="" access="RO" offset="0x8.0" size="0x0.8" />
	<field name="prr2_1" descr="" access="RO" offset="0x8.9" size="0x0.8" />
	<field name="prr2_m5" descr="" access="RO" offset="0x8.19" size="0x0.5" />
	<field name="prr2_m4" descr="" access="RO" offset="0x8.26" size="0x0.6" />
	<field name="prr2_6" descr="" access="RO" offset="0xC.1" size="0x0.6" />
	<field name="prr2_5" descr="" access="RO" offset="0xC.8" size="0x0.7" />
	<field name="prr2_4" descr="" access="RO" offset="0xC.17" size="0x0.7" />
	<field name="prr2_3" descr="" access="RO" offset="0xC.25" size="0x0.7" />
	<field name="prr2_10" descr="" access="RO" offset="0x10.2" size="0x0.5" />
	<field name="prr2_9" descr="" access="RO" offset="0x10.9" size="0x0.6" />
	<field name="prr2_8" descr="" access="RO" offset="0x10.18" size="0x0.6" />
	<field name="prr2_7" descr="" access="RO" offset="0x10.26" size="0x0.6" />
	<field name="prr2_12" descr="" access="RO" offset="0x14.19" size="0x0.5" />
	<field name="prr2_11" descr="" access="RO" offset="0x14.27" size="0x0.5" />
	<field name="prr3_5" descr="" access="RO" offset="0x18.0" size="0x0.6" />
	<field name="prr3_4" descr="" access="RO" offset="0x18.6" size="0x0.4" />
	<field name="prr3_3" descr="" access="RO" offset="0x18.11" size="0x0.6" />
	<field name="prr3_2" descr="" access="RO" offset="0x18.17" size="0x0.4" />
	<field name="prr3_1" descr="" access="RO" offset="0x18.22" size="0x0.6" />
	<field name="prr3_0" descr="" access="RO" offset="0x18.28" size="0x0.4" />
	<field name="prr3_11" descr="" access="RO" offset="0x1C.0" size="0x0.6" />
	<field name="prr3_10" descr="" access="RO" offset="0x1C.6" size="0x0.4" />
	<field name="prr3_9" descr="" access="RO" offset="0x1C.11" size="0x0.6" />
	<field name="prr3_8" descr="" access="RO" offset="0x1C.17" size="0x0.4" />
	<field name="prr3_7" descr="" access="RO" offset="0x1C.22" size="0x0.6" />
	<field name="prr3_6" descr="" access="RO" offset="0x1C.28" size="0x0.4" />
	<field name="prr3_17" descr="" access="RO" offset="0x20.0" size="0x0.6" />
	<field name="prr3_16" descr="" access="RO" offset="0x20.6" size="0x0.4" />
	<field name="prr3_15" descr="" access="RO" offset="0x20.11" size="0x0.6" />
	<field name="prr3_14" descr="" access="RO" offset="0x20.17" size="0x0.4" />
	<field name="prr3_13" descr="" access="RO" offset="0x20.22" size="0x0.6" />
	<field name="prr3_12" descr="" access="RO" offset="0x20.28" size="0x0.4" />
	<field name="prr3_23" descr="" access="RO" offset="0x24.0" size="0x0.6" />
	<field name="prr3_22" descr="" access="RO" offset="0x24.6" size="0x0.4" />
	<field name="prr3_21" descr="" access="RO" offset="0x24.11" size="0x0.6" />
	<field name="prr3_20" descr="" access="RO" offset="0x24.17" size="0x0.4" />
	<field name="prr3_19" descr="" access="RO" offset="0x24.22" size="0x0.6" />
	<field name="prr3_18" descr="" access="RO" offset="0x24.28" size="0x0.4" />
	<field name="prr3_29" descr="" access="RO" offset="0x28.0" size="0x0.6" />
	<field name="prr3_28" descr="" access="RO" offset="0x28.6" size="0x0.4" />
	<field name="prr3_27" descr="" access="RO" offset="0x28.11" size="0x0.6" />
	<field name="prr3_26" descr="" access="RO" offset="0x28.17" size="0x0.4" />
	<field name="prr3_25" descr="" access="RO" offset="0x28.22" size="0x0.6" />
	<field name="prr3_24" descr="" access="RO" offset="0x28.28" size="0x0.4" />
	<field name="prr3_31" descr="" access="RO" offset="0x2C.0" size="0x0.6" />
	<field name="prr3_30" descr="" access="RO" offset="0x2C.6" size="0x0.4" />
	<field name="prr4_0" descr="" access="RO" offset="0x2C.11" size="0x0.10" />
	<field name="prr4_1" descr="" access="RO" offset="0x2C.22" size="0x0.10" />
	<field name="prr4_2" descr="" access="RO" offset="0x30.0" size="0x0.10" />
	<field name="prr4_3" descr="" access="RO" offset="0x30.11" size="0x0.10" />
	<field name="prr4_4" descr="" access="RO" offset="0x30.22" size="0x0.10" />
	<field name="prr4_5" descr="" access="RO" offset="0x34.0" size="0x0.10" />
	<field name="prr4_6" descr="" access="RO" offset="0x34.11" size="0x0.10" />
	<field name="prr4_7" descr="" access="RO" offset="0x34.22" size="0x0.10" />
	<field name="prr5_0" descr="" access="RO" offset="0x38.22" size="0x0.10" />
	<field name="prr5_1" descr="" access="RO" offset="0x3C.0" size="0x0.10" />
	<field name="prr5_2" descr="" access="RO" offset="0x3C.11" size="0x0.10" />
	<field name="prr5_3" descr="" access="RO" offset="0x3C.22" size="0x0.10" />
	<field name="prr5_4" descr="" access="RO" offset="0x40.0" size="0x0.10" />
	<field name="prr5_5" descr="" access="RO" offset="0x40.11" size="0x0.10" />
	<field name="prr5_6" descr="" access="RO" offset="0x40.22" size="0x0.10" />
	<field name="prr5_7" descr="" access="RO" offset="0x44.0" size="0x0.10" />
	<field name="prr5_8" descr="" access="RO" offset="0x44.11" size="0x0.10" />
	<field name="prr5_9" descr="" access="RO" offset="0x44.22" size="0x0.10" />
	<field name="prr5_10" descr="" access="RO" offset="0x48.0" size="0x0.10" />
	<field name="prr5_11" descr="" access="RO" offset="0x48.11" size="0x0.10" />
	<field name="prr5_12" descr="" access="RO" offset="0x48.22" size="0x0.10" />
	<field name="prr6_0" descr="" access="RO" offset="0x4C.0" size="0x4.0" />
	<field name="prr1_6" descr="" access="RO" offset="0x54.0" size="0x0.4" />
	<field name="prr1_5" descr="" access="RO" offset="0x54.6" size="0x0.4" />
	<field name="prr1_4" descr="" access="RO" offset="0x54.12" size="0x0.4" />
	<field name="prr1_3" descr="" access="RO" offset="0x54.18" size="0x0.4" />
</node>

<node name="slprr_Extended_read_8_ext" descr="" size="0x10.0" >
	<field name="prr11_exist" descr="" access="RO" offset="0x0.27" size="0x0.1" />
	<field name="prr10_exist" descr="" access="RO" offset="0x0.28" size="0x0.1" />
	<field name="prr9_exist" descr="" access="RO" offset="0x0.29" size="0x0.1" />
	<field name="prr8_exist" descr="" access="RO" offset="0x0.30" size="0x0.1" />
	<field name="prr7_exist" descr="" access="RO" offset="0x0.31" size="0x0.1" />
	<field name="prr8_2" descr="" access="RO" offset="0x4.0" size="0x0.8" />
	<field name="prr8_1" descr="" access="RO" offset="0x4.8" size="0x0.1" />
	<field name="prr8_0" descr="" access="RO" offset="0x4.9" size="0x0.3" />
	<field name="prr7_1" descr="" access="RO" offset="0x4.16" size="0x0.8" />
	<field name="prr7_0" descr="" access="RO" offset="0x4.24" size="0x0.8" />
	<field name="prr9_3" descr="" access="RO" offset="0x8.9" size="0x0.8" />
	<field name="prr9_2" descr="" access="RO" offset="0x8.17" size="0x0.6" />
	<field name="prr9_1" descr="" access="RO" offset="0x8.23" size="0x0.7" />
	<field name="prr9_0" descr="" access="RO" offset="0x8.30" size="0x0.2" />
	<field name="prr11_1" descr="" access="RO" offset="0xC.11" size="0x0.7" />
	<field name="prr11_0" descr="" access="RO" offset="0xC.18" size="0x0.4" />
	<field name="prr10_2" descr="" access="RO" offset="0xC.23" size="0x0.3" />
	<field name="prr10_1" descr="" access="RO" offset="0xC.26" size="0x0.3" />
	<field name="prr10_0" descr="" access="RO" offset="0xC.29" size="0x0.3" />
</node>

<node name="slprr_data_read_0_ext" descr="" size="0x140.0" >
	<field name="dword_0" descr="Data in DWORDS of stored measured data." access="RO" high_bound="79" low_bound="0" offset="0x0.0" size="0x140.0" />
</node>

<node name="slprr_data_read_10_ext" descr="" size="0x140.0" >
	<field name="dword_0" descr="Data in DWORDS of stored measured data." access="RO" high_bound="79" low_bound="0" offset="0x0.0" size="0x140.0" />
</node>

<node name="slprr_data_read_11_ext" descr="" size="0x140.0" >
	<field name="dword_80" descr="Data in DWORDS of stored measured data." access="RO" high_bound="79" low_bound="0" offset="0x0.0" size="0x140.0" />
</node>

<node name="slprr_data_read_12_ext" descr="" size="0x140.0" >
	<field name="dword_160" descr="Data in DWORDS of stored measured data." access="RO" high_bound="79" low_bound="0" offset="0x0.0" size="0x140.0" />
</node>

<node name="slprr_data_read_13_ext" descr="" size="0x140.0" >
	<field name="dword_240" descr="Data in DWORDS of stored measured data." access="RO" high_bound="79" low_bound="0" offset="0x0.0" size="0x140.0" />
</node>

<node name="slprr_data_read_14_ext" descr="" size="0x140.0" >
	<field name="dword_320" descr="Data in DWORDS of stored measured data." access="RO" high_bound="79" low_bound="0" offset="0x0.0" size="0x140.0" />
</node>

<node name="slprr_data_read_15_ext" descr="" size="0x140.0" >
	<field name="dword_400" descr="Data in DWORDS of stored measured data." access="RO" high_bound="79" low_bound="0" offset="0x0.0" size="0x140.0" />
</node>

<node name="slprr_data_read_16_ext" descr="" size="0x80.0" >
	<field name="dword_480" descr="Data in DWORDS of stored measured data." access="RO" high_bound="31" low_bound="0" offset="0x0.0" size="0x80.0" />
</node>

<node name="slprr_data_read_1_ext" descr="" size="0x140.0" >
	<field name="dword_80" descr="Data in DWORDS of stored measured data." access="RO" high_bound="79" low_bound="0" offset="0x0.0" size="0x140.0" />
</node>

<node name="slprr_data_read_2_ext" descr="" size="0x140.0" >
	<field name="dword_160" descr="Data in DWORDS of stored measured data." access="RO" high_bound="79" low_bound="0" offset="0x0.0" size="0x140.0" />
</node>

<node name="slprr_data_read_3_ext" descr="" size="0x140.0" >
	<field name="dword_240" descr="Data in DWORDS of stored measured data." access="RO" high_bound="79" low_bound="0" offset="0x0.0" size="0x140.0" />
</node>

<node name="slprr_data_read_4_ext" descr="" size="0x140.0" >
	<field name="dword_320" descr="Data in DWORDS of stored measured data." access="RO" high_bound="79" low_bound="0" offset="0x0.0" size="0x140.0" />
</node>

<node name="slprr_data_read_5_ext" descr="" size="0x140.0" >
	<field name="dword_400" descr="Data in DWORDS of stored measured data." access="RO" high_bound="79" low_bound="0" offset="0x0.0" size="0x140.0" />
</node>

<node name="slprr_data_read_6_ext" descr="" size="0x80.0" >
	<field name="dword_480" descr="Data in DWORDS of stored measured data." access="RO" high_bound="31" low_bound="0" offset="0x0.0" size="0x80.0" />
</node>

<node name="slprr_reg_ext" descr="" size="0x150.0" >
	<field name="status" descr="0: no_measurement_enabled\;1: measurement_in_progress\;2: measurement_done\;3: measurement_error\;Note - only 1 measurement at a time can be done." access="RO" enum="no_measurement_enabled=0x0,measurement_in_progress=0x1,measurement_done=0x2,measurement_error=0x3" offset="0x0.0" size="0x0.3" />
	<field name="port_type" descr="For HCA supported only when indicated by PCAM \;0 - Network Port\;1 - Near-End Port (For Retimer/Gearbox - Host side)\;3 - Far-End Port (For Retimer/Gearbox - Line side)\;Other values are reserved." access="INDEX" offset="0x0.4" size="0x0.4" />
	<field name="lane" descr="Logical lane number to access" access="INDEX" offset="0x0.8" size="0x0.4" />
	<field name="pnat" descr="Port number access type. determines the way local_port is interpreted:\;0 - Local port number / DataPath number for Retimer\;1 - IB port number" access="INDEX" offset="0x0.14" size="0x0.2" />
	<field name="local_port" descr="Local port number." access="INDEX" offset="0x0.16" size="0x0.10" />
	<field name="mode_b_idx" descr="0: mode_a - [Internal] Simplex\;1: mode_b - [Internal] Bidirectional" access="RO" enum="mode_a=0x0,mode_b=0x1" offset="0x0.29" size="0x0.1" />
	<field name="stop_measure" descr="0: do nothing\;1:Stop measure- [Internal] turn on PEQ" access="WO" offset="0x0.30" size="0x0.1" />
	<field name="start_measure" descr="0: do nothing\;1: Enable measurement\;\;Note: The measurement is destructive, once done, the link can&apos;t be used and need to restart" access="WO" offset="0x0.31" size="0x0.1" />
	<field name="meas_type" descr="Measurement type parameters:\;0: Data_address_read_0\;1: Data_address_read_1\;2: Data_address_read_2\;3: Data_address_read_3\;4: Data_address_read_4\;5: Data_address_read_5\;6: Data_address_read_6\;7: Extended_read_7 - [Internal] uphy 7 - EQ dump)\;8: Extended_read_8\;10: Data_address_read_10 - [Internal] tx-D\;11: Data_address_read_11 - [Internal] tx-D\;12: Data_address_read_12 - [Internal] tx-D\;13: Data_address_read_13 - [Internal] tx-D\;14: Data_address_read_14 - [Internal] tx-D\;15: Data_address_read_15 - [Internal] tx-D\;16: Data_address_read_16 - [Internal] tx-D\;17: Extended_read_7_5 - [Internal] uphy 7.5 - EQ dump)" access="INDEX" enum="Data_address_read_0=0x0,Data_address_read_1=0x1,Data_address_read_2=0x2,Data_address_read_3=0x3,Data_address_read_4=0x4,Data_address_read_5=0x5,Data_address_read_6=0x6,Extended_read_7=0x7,Extended_read_8=0x8,Data_address_read_10=0xa,Data_address_read_11=0xb,Data_address_read_12=0xc,Data_address_read_13=0xd,Data_address_read_14=0xe,Data_address_read_15=0xf,Data_address_read_16=0x10,Extended_read_7_5=0x11" offset="0x4.0" size="0x0.8" />
	<field name="timestamp_0" descr="Time stamp 16 MSB\;" access="RO" offset="0x4.10" size="0x0.16" />
	<field name="version" descr="5: prod_5nm - (Uphy 7.0)\;6: serdes_gen_8\;7: prod_3nm_serdes_gen_7p5" access="RO" enum="prod_5nm=0x5,serdes_gen_8=0x6,prod_3nm_serdes_gen_7p5=0x7" offset="0x4.28" size="0x0.4" />
	<field name="timestamp_1" descr="Time stamp 16 LSB\;" access="RO" offset="0x8.0" size="0x0.16" />
	<field name="temperature" descr="Temperature. [Internal] 1 Celsius resolution" access="RO" offset="0x8.22" size="0x0.10" />
	<field name="start_offset" descr="" access="RO" offset="0xC.0" size="0x0.10" />
	<field name="end_offset" descr="" access="RO" offset="0xC.12" size="0x0.10" />
	<field name="meas_data" descr="Table  2344, &quot;SLPRR Data Address Read 0 Layout,&quot; on page  3071\;Table  2346, &quot;SLPRR Data Address Read 1 Layout,&quot; on page  3072\;Table  2348, &quot;SLPRR Data Address Read 2 Layout,&quot; on page  3072\;Table  2350, &quot;SLPRR Data Address Read 3 Layout,&quot; on page  3073\;Table  2352, &quot;SLPRR Data Address Read 4 Layout,&quot; on page  3073\;Table  2354, &quot;SLPRR Data Address Read 5 Layout,&quot; on page  3074\;Table  2356, &quot;SLPRR Data Address Read 6 Layout,&quot; on page  3074\;Table  2358, &quot;SLPRR Extended read 7 Layout,&quot; on page  3075\;Table  2360, &quot;SLPRR Extended read 8 Layout,&quot; on page  3078\;Table  2362, &quot;SLPRR Data Address Read 10 Layout,&quot; on page  3079\;Table  2364, &quot;SLPRR Data Address Read 11 Layout,&quot; on page  3080\;Table  2366, &quot;SLPRR Data Address Read 12 Layout,&quot; on page  3080\;Table  2368, &quot;SLPRR Data Address Read 13 Layout,&quot; on page  3081\;Table  2370, &quot;SLPRR Data Address Read 14 Layout,&quot; on page  3081\;Table  2372, &quot;SLPRR Data Address Read 15 Layout,&quot; on page  3082\;Table  2374, &quot;SLPRR Data Address Read 16 Layout,&quot; on page  3082\;Table  2376, &quot;SLPRR Extended read 7_5 Layout,&quot; on page  3083" subnode="slprr_reg_meas_data_auto_ext" access="RW" offset="0x10.0" size="0x140.0" union_selector="$(parent).meas_type" />
</node>

<node name="slprr_reg_meas_data_auto_ext" descr="" attr_is_union="1" size="0x140.0" >
	<field name="slprr_Extended_read_7_5_ext" descr="" subnode="slprr_Extended_read_7_5_ext" offset="0x0.0" selected_by="Extended_read_7_5" size="0x5c.0" />
	<field name="slprr_Extended_read_7_ext" descr="" subnode="slprr_Extended_read_7_ext" offset="0x0.0" selected_by="Extended_read_7" size="0x58.0" />
	<field name="slprr_Extended_read_8_ext" descr="" subnode="slprr_Extended_read_8_ext" offset="0x0.0" selected_by="Extended_read_8" size="0x10.0" />
	<field name="slprr_data_read_0_ext" descr="" subnode="slprr_data_read_0_ext" offset="0x0.0" selected_by="Data_address_read_0" size="0x140.0" />
	<field name="slprr_data_read_10_ext" descr="" subnode="slprr_data_read_10_ext" offset="0x0.0" selected_by="Data_address_read_10" size="0x140.0" />
	<field name="slprr_data_read_11_ext" descr="" subnode="slprr_data_read_11_ext" offset="0x0.0" selected_by="Data_address_read_11" size="0x140.0" />
	<field name="slprr_data_read_12_ext" descr="" subnode="slprr_data_read_12_ext" offset="0x0.0" selected_by="Data_address_read_12" size="0x140.0" />
	<field name="slprr_data_read_13_ext" descr="" subnode="slprr_data_read_13_ext" offset="0x0.0" selected_by="Data_address_read_13" size="0x140.0" />
	<field name="slprr_data_read_14_ext" descr="" subnode="slprr_data_read_14_ext" offset="0x0.0" selected_by="Data_address_read_14" size="0x140.0" />
	<field name="slprr_data_read_15_ext" descr="" subnode="slprr_data_read_15_ext" offset="0x0.0" selected_by="Data_address_read_15" size="0x140.0" />
	<field name="slprr_data_read_16_ext" descr="" subnode="slprr_data_read_16_ext" offset="0x0.0" selected_by="Data_address_read_16" size="0x80.0" />
	<field name="slprr_data_read_1_ext" descr="" subnode="slprr_data_read_1_ext" offset="0x0.0" selected_by="Data_address_read_1" size="0x140.0" />
	<field name="slprr_data_read_2_ext" descr="" subnode="slprr_data_read_2_ext" offset="0x0.0" selected_by="Data_address_read_2" size="0x140.0" />
	<field name="slprr_data_read_3_ext" descr="" subnode="slprr_data_read_3_ext" offset="0x0.0" selected_by="Data_address_read_3" size="0x140.0" />
	<field name="slprr_data_read_4_ext" descr="" subnode="slprr_data_read_4_ext" offset="0x0.0" selected_by="Data_address_read_4" size="0x140.0" />
	<field name="slprr_data_read_5_ext" descr="" subnode="slprr_data_read_5_ext" offset="0x0.0" selected_by="Data_address_read_5" size="0x140.0" />
	<field name="slprr_data_read_6_ext" descr="" subnode="slprr_data_read_6_ext" offset="0x0.0" selected_by="Data_address_read_6" size="0x80.0" />
</node>

<node name="slred_info_page_ext" descr="" size="0x24.0" >
	<field name="mv_ticks_res" descr="resolution for each tick in the voltage axis in units of 0.1mV" access="RO" offset="0x0.0" size="0x0.16" />
	<field name="ps_ticks_res" descr="resolution for each tick in the phase axis in units of 0.01ps" access="RO" offset="0x0.16" size="0x0.16" />
	<field name="mv_center_pos" descr="center position of eye in 0.1mV" access="RO" offset="0x4.0" size="0x0.16" />
	<field name="ps_center_pos" descr="center position of eye in 0.01ps" access="RO" offset="0x4.16" size="0x0.16" />
	<field name="margin" descr="The margin that the lane received based on a specific configuration." access="RO" offset="0x8.0" size="0x0.24" />
	<field name="margin_version" descr="" access="RO" offset="0x8.24" size="0x0.8" />
	<field name="height_eo_neg" descr="Voltage offset from eye center to the negative side of the upper eye in 0.1mV." access="RO" offset="0xC.0" size="0x0.16" />
	<field name="height_eo_pos" descr="Voltage offset from eye center to the positive side of the upper eye in 0.1mV." access="RO" offset="0xC.16" size="0x0.16" />
	<field name="phase_eo_neg" descr="The offset from the eye center to the negative (left) side of the upper eye in 0.01ps." access="RO" offset="0x10.0" size="0x0.16" />
	<field name="phase_eo_pos" descr="The offset from the eye center to the positive (right) side of the upper eye in 0.01ps." access="RO" offset="0x10.16" size="0x0.16" />
</node>

<node name="slred_page_data_ext" descr="" size="0xa0.0" >
	<field name="err_val" descr="Each err_val is 4 bits in ascending order. Each page contains 320 err values." access="RO" high_bound="319" low_bound="0" offset="0x0.28" size="0xa0.0" />
</node>

<node name="slred_reg_ext" descr="" size="0xa8.0" >
	<field name="page_data_sel" descr="select page data number to display.\;0 - info page data\;1 - page data 1 (indexes 0 to 319)\;2 - page data 2 (indexes 320 to 639)\;3 - page data 3 (indexes 640 to 959)\;4 - page data 4 (indexes 960 to 1279)\;5 - page data 5 (indexes 1280 to 1599)\;6 - page data 6 (indexes 1600 to 1919)\;7 - page data 7 (indexes 1920 to 2239)" access="INDEX" offset="0x0.0" size="0x0.4" />
	<field name="lane" descr="Logical lane number" access="INDEX" offset="0x0.8" size="0x0.4" />
	<field name="lp_msb" descr="Local port number [9:8]" access="INDEX" offset="0x0.12" size="0x0.2" />
	<field name="pnat" descr="Port number access type. determines the way local_port is interpreted:\;0 - Local port number\;1 - IB port number\;3 - Out of band / PCI" access="INDEX" offset="0x0.14" size="0x0.2" />
	<field name="local_port" descr="Local port number." access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="version" descr="1 - 28nm products\;3 - 16nm products" access="RO" offset="0x0.24" size="0x0.4" />
	<field name="status" descr="eye scan status:\;0 - eye scan was not performed.\;1 - unsupported scan for current speed.\;2 - system busy.\;3 - Performing eye scan.\;4 - eye scan completed. \;5 - error, eye scan not completed." access="RO" offset="0x0.28" size="0x0.4" />
	<field name="lane_speed" descr="The lane speed on which the eye scan was measured\;0-1 - reserved\;2 - QDR (10 Gb/s) / Gen3 (PCIe)\;3 - FDR10 (10GE / 40GE) (10.3125 Gb/s) \;4 - FDR (56GE) (14.0625 Gb/s) / Gen4 (PCIe)\;5 - EDR (25GE / 50GE / 100GE) (25.78125 Gb/s) / Gen5 (PCIe)\;6 - HDR (50GE / 200GE / 400GE) (26.5625Gbd / 53.125Gb/s) \;7 - 15 - reserved" access="RO" offset="0x4.0" size="0x0.4" />
	<field name="abort" descr="gracefully abort the scan process.\;abort and en bits cannot be set together." access="WO" offset="0x4.14" size="0x0.1" />
	<field name="err_res_base" descr="base value for calculating err_val legend. \;0 - err_res_base is 2\;1 - err_res_base is 3\;2 - err_res_base is 5\;3 - err_res_base is 1\;4-7 - reserved\;\;if err_res_scale is exponential:\;err value &gt; 0 will represent errors between err_res_base ^(err_val - 1) +1 to err_res_base^err_val\;\;For example if err_res_base is 2:\;0 err_value represents 0 errors\;1 err_value represents 1-2 errors\;2 err_value represents 3-4 errors\;3 err_value represents 5-8 errors\;...\;7 err_value represents 2^6+1 and above\;\;if err_res_scale is linear:\;err value &gt; 0 will represent errors between err_res_base *(err_val-1) + 1 to err_res_base *err_val\;\;For example if err_res_base is 2:\;0 err_value represents 0 errors\;1 err_value represents 1-2 errors\;2 err_value represents 3-4 errors\;3 err_value represents 5-6 errors\;...\;7 err_value represents 2*6 + 1 and above\;" access="RW" offset="0x4.15" size="0x0.3" />
	<field name="eye_sel" descr="eye selection for PAM4 signals.\;0 - up\;1 - mid\;2 - down\;Note: for NRZ field is ignored" access="RW" offset="0x4.18" size="0x0.2" />
	<field name="measure_time" descr="max measure time in seconds for single eye diagram.\;0 - 10 sec\;1 - 30 sec\;2 - 60 sec\;3 - 90 sec\;4 - 120 sec\;5 - 240 sec\;6 - 480 sec\;7 - 600 sec\;8 - 900 sec\;9-15 reserved\;each tic measure time will be measure_time / (height_dim x width_dim)" access="RW" offset="0x4.20" size="0x0.4" />
	<field name="eye_diag_dim" descr="dimensions of eye scan matrix in the format of height_dim x width_dim\;0 - 16x16 (256 err val)\;1 - 32x32 (1024 err val)\;2 - 32x64 (1024 err val)\;3 - 64x32 (2048 err val)" access="RW" offset="0x4.24" size="0x0.3" />
	<field name="err_res_scale" descr="error res multiplier for err_res_base field\;0 - exponential scale\;1 - linear scale\;2-3 - reserved" access="RW" offset="0x4.27" size="0x0.2" />
	<field name="destructive_ctrl" descr="0 - non destructive scan\;1 - destructive scan\;Note: if non destructive scan is not supported this field is ignored and a destructive scan will be operated" access="RW" offset="0x4.29" size="0x0.1" />
	<field name="last_scan" descr="set to &apos;1&apos; when performing last eye scan for lane.\;For example: when scanning 3 eyes in the order of up, mid, down. field should be set when scanning down eye.\;If scanning only 1 eye, field should be set." access="WO" offset="0x4.30" size="0x0.1" />
	<field name="en" descr="start eye scan" access="WO" offset="0x4.31" size="0x0.1" />
	<field name="page_data" descr="page data for index page_data_sel\;page 0 will contain info page data.\;Table  2188, &quot;SLRED - SerDes Lane Receive Eye Diagram Register Layout for info page,&quot; on page  2910\;the page data 1-7 will contain the err_val for each index in ascending order.\;Table  2190, &quot;SLRED - SerDes Lane Receive Eye Diagram Register Layout for page_data,&quot; on page  2911\;Each err_val[i] represents the bit errors of row floor(i / width_dim)\;and column i mod width_dim.\;Matrix is built starting from the left bottom corner.\;each err_val indicates the number of bit errors for one tick" subnode="slred_reg_page_data_auto_ext" access="RO" offset="0x8.0" size="0xa0.0" />
</node>

<node name="slred_reg_page_data_auto_ext" descr="" attr_is_union="1" size="0xa0.0" >
	<field name="slred_info_page_ext" descr="" subnode="slred_info_page_ext" offset="0x0.0" size="0x24.0" />
	<field name="slred_page_data_ext" descr="" subnode="slred_page_data_ext" offset="0x0.0" size="0xa0.0" />
</node>

<node name="slrg_16nm_ext" descr="" size="0x24.0" >
	<field name="grade_lane_speed" descr="The lane speed on which the grade was measured:\;0 - SDR / PCIe Gen 1\;1 - DDR / PCIe Gen 2\;2 - QDR / PCIe Gen 3\;3 - FDR10 (10GE / 40GE)\;4 - FDR (56GE) / PCIe Gen 4\;5 - EDR (25GE / 50GE / 100GE) / PCIe Gen 5\;6 - HDR (50GE / 200GE / 400GE)\;7- 9 - reserved\;10 - 1GE\;11 - 2.5GE (XAUI)\;12 - 50GE-KR4\;13 - 15 - reserved" access="RO" offset="0x0.0" size="0x0.4" />
	<field name="grade" descr="The grade that the lane received based on a specific configuration.\;" access="RO" offset="0x4.0" size="0x0.24" />
	<field name="grade_version" descr="" access="RO" offset="0x4.24" size="0x0.8" />
	<field name="height_eo_neg_up" descr="Voltage offset from eye center to the negative side of the upper eye. Only applicable for PAM4 signal." access="RO" offset="0x8.0" size="0x0.16" />
	<field name="height_eo_pos_up" descr="Voltage offset from eye center to the positive side of the upper eye.\;Only applicable for PAM4 signal." access="RO" offset="0x8.16" size="0x0.16" />
	<field name="height_eo_pos_mid" descr="Voltage offset from eye center to the positive side of the middle eye." access="RO" offset="0xC.0" size="0x0.16" />
	<field name="phase_eo_neg_up" descr="The offset from the eye center to the negative (left) side of the upper eye. Only applicable for PAM4 signal." access="RO" offset="0xC.16" size="0x0.8" />
	<field name="phase_eo_pos_up" descr="The offset from the eye center to the positive (right) side of the upper eye. Only applicable for PAM4 signal." access="RO" offset="0xC.24" size="0x0.8" />
	<field name="phase_eo_neg_mid" descr="The offset from the eye center to the negative (left) side of the middle eye." access="RO" offset="0x10.0" size="0x0.8" />
	<field name="phase_eo_pos_mid" descr="The offset from the eye center to the positive (right) side of the middle eye." access="RO" offset="0x10.8" size="0x0.8" />
	<field name="height_eo_neg_mid" descr="Voltage offset from eye center to the negative side of the middle eye." access="RO" offset="0x10.16" size="0x0.16" />
	<field name="height_eo_neg_low" descr="Voltage offset from eye center to the negative side of the lower eye. Only applicable for PAM4 signal." access="RO" offset="0x14.0" size="0x0.16" />
	<field name="height_eo_pos_low" descr="Voltage offset from eye center to the positive side of the lower eye. Only applicable for PAM4 signal." access="RO" offset="0x14.16" size="0x0.16" />
	<field name="phase_eo_neg_low" descr="The offset from the eye center to the negative (left) side of the lower eye. Only applicable for PAM4 signal." access="RO" offset="0x18.16" size="0x0.8" />
	<field name="phase_eo_pos_low" descr="The offset from the eye center to the positive (right) side of the lower eye. Only applicable for PAM4 signal." access="RO" offset="0x18.24" size="0x0.8" />
	<field name="up_eye_grade" descr="upper eye grade" access="RO" offset="0x1C.0" size="0x0.16" />
	<field name="mid_eye_grade" descr="middle eye grade" access="RO" offset="0x1C.16" size="0x0.16" />
	<field name="dn_eye_grade" descr="lower eye grade" access="RO" offset="0x20.0" size="0x0.16" />
</node>

<node name="slrg_40nm_28nm_ext" descr="" size="0x24.0" >
	<field name="grade_lane_speed" descr="The lane speed on which the grade was measured:\;0 - SDR\;1 - DDR\;2 - QDR\;3 - FDR10 (10GE / 40GE)\;4 - FDR (56GE)\;5 - EDR (25GE / 50GE / 100GE)\;6 - 9 - reserved\;10 - 1GE\;11 - 2.5GE (XAUI)\;12 - 50GE-KR4\;13 - 15 - reserved" access="RO" offset="0x0.0" size="0x0.4" />
	<field name="time_to_link_up" descr="The time that took took to bring up the link in msec." access="RO" offset="0x0.16" size="0x0.16" />
	<field name="grade" descr="" access="RO" offset="0x4.0" size="0x0.24" />
	<field name="grade_version" descr="" access="RO" offset="0x4.24" size="0x0.8" />
	<field name="height_eo_neg" descr="Voltage offset from eye center to the negative side." access="RO" offset="0x14.0" size="0x0.16" />
	<field name="height_eo_pos" descr="Voltage offset from eye center to the positive side." access="RO" offset="0x14.16" size="0x0.16" />
	<field name="phase_eo_neg" descr="The offset from the eye center to the negative side." access="RO" offset="0x1C.0" size="0x0.16" />
	<field name="phase_eo_pos" descr="The offset from the eye center to the positive side." access="RO" offset="0x1C.16" size="0x0.16" />
</node>

<node name="slrg_5nm_ext" descr="" size="0x18.0" >
	<field name="fom_measurement" descr="Bitmask for measurement activation\;Bit 0 - Upper eye\;Bit 1 - Middle eye\;Bit 2 - Lower eye\;Bit 3- Composite eye\;Note: NRZ only Bit 3 is valid" access="OP" offset="0x0.0" size="0x0.4" />
	<field name="initial_fom" descr="measured EOM status after FEQ.\;valid only when SLRG.status is &apos;1&apos;" access="RO" offset="0x4.0" size="0x0.16" />
	<field name="fom_mode" descr="fom mode:\;FOM eye mode to search\;0x0: FOM_MODE_EYE_OPEN\;0x1: FOM_MODE_EYEO_SNR\;0x2: FOM_MODE_NORM_SNR\;0x3: FOM_MODE_EYE_LVLN\;0x4: FOM_MODE_EYE_LVLP\;0x5: FOM_MODE_THRES_NERR\;0x6: FOM_MODE_CDR_NERR\;0x7: FOM_MODE_CSDET_NERR\;0x8: FOM_MODE_MLSE_NERR\;0x9: FOM_MODE_SFEC_NERR\;\;\;" access="RW" enum="FOM_MODE_EYE_OPEN=0x0,FOM_MODE_EYEO_SNR=0x1,FOM_MODE_NORM_SNR=0x2,FOM_MODE_EYE_LVLN=0x3,FOM_MODE_EYE_LVLP=0x4,FOM_MODE_THRES_NERR=0x5,FOM_MODE_CDR_NERR=0x6,FOM_MODE_CSDET_NERR=0x7,FOM_MODE_MLSE_NERR=0x8,FOM_MODE_SFEC_NERR=0x9" offset="0x4.16" size="0x0.4" />
	<field name="fom_meas_type_read" descr="Indicate if the fom_measurement is of PAM4 or NRZ data\;\;0 - PAM4 (Upper, mid, low eye)\;1 - NRZ (Composite eye)" access="RO" offset="0x4.31" size="0x0.1" />
	<field name="upper_eye" descr="last measured EOM-FOM status of upper eye.\;valid only if fom_measurement bit &apos;0&apos; is set" access="RO" offset="0x8.0" size="0x0.16" />
	<field name="last_fom" descr="last measured EOM-FOM status of composite eye.\;valid only if fom_measurement bit &apos;3&apos; is set" access="RO" offset="0x8.16" size="0x0.16" />
	<field name="lower_eye" descr="last measured EOM-FOM status of lower eye.\;valid only if fom_measurement bit &apos;2&apos; is set" access="RO" offset="0xC.0" size="0x0.16" />
	<field name="mid_eye" descr="last measured EOM-FOM status of middle eye.\;valid only if fom_measurement bit &apos;1&apos; is set" access="RO" offset="0xC.16" size="0x0.16" />
</node>

<node name="slrg_7nm_ext" descr="" size="0x18.0" >
	<field name="fom_measurement" descr="Bitmask for measurement activation\;Bit 0 - Upper eye\;Bit 1 - Middle eye\;Bit 2 - Lower eye\;Bit 3- Composite eye\;Note: NRZ only Bit 3 is valid" access="OP" offset="0x0.0" size="0x0.4" />
	<field name="initial_fom" descr="measured EOM status after FEQ.\;valid only when SLRG.status is &apos;1&apos;" access="RO" offset="0x4.0" size="0x0.8" />
	<field name="fom_mode" descr="fom mode:\;FOM eye mode to search\;0x0: FOM_MODE_EYEC\;0x1: FOM_MODE_EYEO\;0x2: FOM_MODE_EYEM\;0x3: FOM_MODE_BER\;0x4: FOM_MODE_EYEC_VN\;0x5: FOM_MODE_EYEC_VP\;0x6: FOM_MODE_EYEM_VN\;0x7: FOM_MODE_EYEM_VP\;\;" access="RW" enum="FOM_MODE_EYEC=0x0,FOM_MODE_EYEO=0x1,FOM_MODE_EYEM=0x2,FOM_MODE_BER=0x3,FOM_MODE_EYEC_VN=0x4,FOM_MODE_EYEC_VP=0x5,FOM_MODE_EYEM_VN=0x6,FOM_MODE_EYEM_VP=0x7" offset="0x4.16" size="0x0.3" />
	<field name="fom_meas_type_read" descr="Indicate if the fom_measurement is of PAM4 or NRZ data\;\;0 - PAM4 (Upper, mid, low eye)\;1 - NRZ (Composite eye)" access="RO" offset="0x4.31" size="0x0.1" />
	<field name="lower_eye" descr="last measured EOM-FOM status of lower eye.\;valid only if fom_measurement bit &apos;2&apos; is set" access="RO" offset="0x8.0" size="0x0.8" />
	<field name="mid_eye" descr="last measured EOM-FOM status of middle eye.\;valid only if fom_measurement bit &apos;1&apos; is set" access="RO" offset="0x8.8" size="0x0.8" />
	<field name="upper_eye" descr="last measured EOM-FOM status of upper eye.\;valid only if fom_measurement bit &apos;0&apos; is set" access="RO" offset="0x8.16" size="0x0.8" />
	<field name="last_fom" descr="last measured EOM-FOM status of composite eye.\;valid only if fom_measurement bit &apos;3&apos; is set" access="RO" offset="0x8.24" size="0x0.8" />
</node>

<node name="slrg_all_lanes_5nm_ext" descr="" size="0x14.0" >
	<field name="fom_mode" descr="FOM type measurement.\;0: SNR - bit scale of 1/256 dB.\;The SNR value represents the electrical signal-to-noise ratio on an optical lane, and is defined as the minimum of the three individual eye SNR values.\;Returned SNR value is based on definition in CMIS spec.\;" access="OP" offset="0x0.0" size="0x0.4" />
	<field name="fom_averaging_override_admin" descr="Valid only if fom_averaging_cap is set. When set allows overriding averaging configuration of FOM.\;0: do_nothing\;1: override_value" access="WO" offset="0x0.5" size="0x0.1" />
	<field name="fom_averaging_cap" descr="When set, Indicates averaging is supported for the measurement chosen in fom_mode. This can be used to stabilize returned values.\;The averaging capability is only relevant for periodic fom measurements, meaning the value in fom_update_period for the chosen fom is not zero." access="RO" offset="0x0.6" size="0x0.1" />
	<field name="fom_averaging_en" descr="Field is ignored if fom_averaging_override_admin equals &apos;0&apos;.\;\;Determines if returned measurement chosen in fom_mode will be a calculated average of previous measurements, or the latest single measurement of the chosen fom. Number of averaged measurements is set in fom_averaging_window.\;0: Latest measurement\;1: Averaged measurement" access="RW" offset="0x0.7" size="0x0.1" />
	<field name="fom_averaging_window" descr="Field is ignored if fom_averaging_override_admin equals &apos;0&apos;.\;\;Configures the number of measurements that will be averaged to calculate the returned fom measurement. Averaging window size will be &lt;fom_averaging_window&gt;+1." access="RW" offset="0x0.8" size="0x0.4" />
	<field name="fom_update_period" descr="Returns the time period in which a new fom measurement will be available periodically, according to the measurement chosen in fom_mode. Value is in units of 1 [msec].\;\;If the value equals to &quot;0&quot;, the fom is on demand only, and a measurement will not occur unless requested." access="RO" offset="0x0.16" size="0x0.16" />
	<field name="fom_lane1" descr="FOM value on the media lane &lt;i&gt; According to fom_mode value" access="RO" offset="0x4.0" size="0x0.16" />
	<field name="fom_lane0" descr="FOM value on the media lane &lt;i&gt; According to fom_mode value" access="RO" offset="0x4.16" size="0x0.16" />
	<field name="fom_lane3" descr="FOM value on the media lane &lt;i&gt; According to fom_mode value" access="RO" offset="0x8.0" size="0x0.16" />
	<field name="fom_lane2" descr="FOM value on the media lane &lt;i&gt; According to fom_mode value" access="RO" offset="0x8.16" size="0x0.16" />
	<field name="fom_lane5" descr="FOM value on the media lane &lt;i&gt; According to fom_mode value" access="RO" offset="0xC.0" size="0x0.16" />
	<field name="fom_lane4" descr="FOM value on the media lane &lt;i&gt; According to fom_mode value" access="RO" offset="0xC.16" size="0x0.16" />
	<field name="fom_lane7" descr="FOM value on the media lane &lt;i&gt; According to fom_mode value" access="RO" offset="0x10.0" size="0x0.16" />
	<field name="fom_lane6" descr="FOM value on the media lane &lt;i&gt; According to fom_mode value" access="RO" offset="0x10.16" size="0x0.16" />
</node>

<node name="slrg_reg_ext" descr="" size="0x28.0" >
	<field name="all_lanes" descr="Set 1 for all lanes measurement page. For Retimer, will conduct measurement on all active lanes under the chosen side - Host / Line.\;Supported if PCAM.feature_cap_mask bit 91 is set.\;Mutually exclusive with measurements_thresholds index. Only one of measurements_thresholds index and all_lanes index can be set to &apos;1&apos; at the same time.\;Relevant only for 5nm.\;0: per_lane_measurement\;1: all_lane_measurement" access="INDEX" enum="per_lane_measurement=0x0,all_lane_measurement=0x1" offset="0x0.1" size="0x0.1" />
	<field name="measurements_thresholds" descr="Set 1 for measurements thresholds page.\;Supported if PCAM.feature_cap_mask bit 126 is set.\;Mutually exclusive with all_lanes index. Only one of measurements_thresholds index and all_lanes index can be set to &apos;1&apos; at the same time.\;Relevant only for 5nm.\;0: measurements_page\;1: measurements_threshold_page" access="INDEX" enum="measurements_page=0x0,measurements_threshold_page=0x1" offset="0x0.2" size="0x0.1" />
	<field name="port_type" descr="For HCA supported only when indicated by PCAM \;0: Network_Port\;1: NearEnd_Port - (For Retimer/Gearbox - Host side)\;2: Internal_IC_LR_Port \;3: FarEnd_Port - (For Retimer/Gearbox - Line side)\;\;" access="INDEX" enum="Network_Port=0x0,NearEnd_Port=0x1,Internal_IC_LR_Port=0x2,FarEnd_Port=0x3" offset="0x0.4" size="0x0.4" />
	<field name="lane" descr="Logical lane number" access="INDEX" offset="0x0.8" size="0x0.4" />
	<field name="lp_msb" descr="Local port number [9:8]" access="INDEX" offset="0x0.12" size="0x0.2" />
	<field name="pnat" descr="Port number access type. \;0 - Local port number\;1 - IB port number\;3 - Out of band / PCI" access="INDEX" offset="0x0.14" size="0x0.2" />
	<field name="local_port" descr="Local port number.\;" access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="version" descr="0: prod_40nm\;1: prod_28nm\;3: prod_16nm\;4: prod_7nm\;5: prod_5nm - (SerDes Gen7.0/ 7.5)\;6: serdes_gen_8" access="RO" enum="prod_40nm=0x0,prod_28nm=0x1,prod_16nm=0x3,prod_7nm=0x4,prod_5nm=0x5,serdes_gen_8=0x6" offset="0x0.24" size="0x0.4" />
	<field name="status" descr="0 - Invalid\;1 - Valid\;" access="RO" offset="0x0.28" size="0x0.4" />
	<field name="page_data" descr="Table  1926, &quot;SLRG - SerDes Lane Receive Grade Register Layout for 40nm and 28nm,&quot; on page  2557\;Section  1928, &quot;SLRG - SerDes Lane Receive Grade Register Layout for 16nm,&quot; on page  2558\;Section  1930, &quot;SLRG - SerDes Lane Receive Grade Register Layout for 7nm,&quot; on page  2560\;Section  1932, &quot;SLRG - SerDes Lane Receive Grade Register Layout for 5nm,&quot; on page  2562\;Section  1940, &quot;SLRG all lanes FOM for 5nm- Layout,&quot; on page  2566\;Section  1942, &quot;SLRG - SerDes Lane Receive Grade Register Layout for Serdes_gen_8,&quot; on page  2568\;Section  1944, &quot;SLRG Measurements Thresholds for 5nm- Layout,&quot; on page  2570" subnode="slrg_reg_page_data_auto_ext" access="RO" condition="$(parent).port_type AND $(parent).version AND $(parent).all_lanes AND $(parent).measurements_thresholds" offset="0x4.0" size="0x24.0" />
</node>

<node name="slrg_reg_page_data_auto_ext" descr="" attr_is_union="1" is_conditional="1" size="0x24.0" >
	<field name="slrg_16nm_ext" descr="" subnode="slrg_16nm_ext" condition="($(parent).port_type == Network_Port AND ($(parent).version == prod_16nm))" offset="0x0.0" size="0x24.0" />
	<field name="slrg_40nm_28nm_ext" descr="" subnode="slrg_40nm_28nm_ext" condition="($(parent).port_type == Network_Port AND ($(parent).version == prod_40nm | $(parent).version == prod_28nm))" offset="0x0.0" size="0x24.0" />
	<field name="slrg_5nm_ext" descr="" subnode="slrg_5nm_ext" condition="(($(parent).port_type == Network_Port | $(parent).port_type == Internal_IC_LR_Port  | $(parent).port_type == NearEnd_Port  | $(parent).port_type == FarEnd_Port) AND ($(parent).version == prod_5nm AND $(parent).all_lanes == per_lane_measurement AND $(parent).measurements_thresholds == measurements_page))" offset="0x0.0" size="0x18.0" />
	<field name="slrg_7nm_ext" descr="" subnode="slrg_7nm_ext" condition="(($(parent).port_type == Network_Port | $(parent).port_type == NearEnd_Port  | $(parent).port_type == FarEnd_Port) AND ($(parent).version == prod_7nm))" offset="0x0.0" size="0x18.0" />
	<field name="slrg_all_lanes_5nm_ext" descr="" subnode="slrg_all_lanes_5nm_ext" condition="(($(parent).port_type == Network_Port || $(parent).port_type == NearEnd_Port  || $(parent).port_type == FarEnd_Port) AND ($(parent).version == prod_5nm AND $(parent).all_lanes == all_lane_measurement AND $(parent).measurements_thresholds == measurements_page))" offset="0x0.0" size="0x14.0" />
	<field name="slrg_serdes_gen_8_ext" descr="" subnode="slrg_serdes_gen_8_ext" condition="(($(parent).port_type == Network_Port | $(parent).port_type == Internal_IC_LR_Port  | $(parent).port_type == NearEnd_Port  | $(parent).port_type == FarEnd_Port) AND ($(parent).version == serdes_gen_8))" offset="0x0.0" size="0x18.0" />
	<field name="slrg_thresholds_5nm_ext" descr="" subnode="slrg_thresholds_5nm_ext" condition="(($(parent).port_type == Network_Port || $(parent).port_type == NearEnd_Port  || $(parent).port_type == FarEnd_Port) AND ($(parent).version == prod_5nm AND $(parent).all_lanes == per_lane_measurement AND $(parent).measurements_thresholds == measurements_threshold_page))" offset="0x0.0" size="0x14.0" />
</node>

<node name="slrg_serdes_gen_8_ext" descr="" size="0x18.0" >
	<field name="fom_measurement" descr="Bitmask for measurement activation\;Bit 0 - Upper eye\;Bit 1 - Middle eye\;Bit 2 - Lower eye\;Bit 3- Composite eye\;Note: NRZ only Bit 3 is valid" access="OP" offset="0x0.0" size="0x0.4" />
	<field name="initial_fom" descr="measured EOM status after FEQ.\;valid only when SLRG.status is &apos;1&apos;" access="RO" offset="0x4.0" size="0x0.16" />
	<field name="fom_mode" descr="fom mode:\;FOM eye mode to search\;0x0: FOM_MODE_EYE_OPEN\;0x1: FOM_MODE_EYEO_SNR\;0x2: FOM_MODE_NORM_SNR\;0x3: FOM_MODE_EYE_LVLN\;0x4: FOM_MODE_EYE_LVLP\;0x5: FOM_MODE_THRES_NERR\;0x6: FOM_MODE_CDR_NERR\;0x7: FOM_MODE_CSDET_NERR\;0x8: FOM_MODE_MLSE_NERR\;0x9: FOM_MODE_SFEC_NERR\;\;\;" access="RW" enum="FOM_MODE_EYE_OPEN=0x0,FOM_MODE_EYEO_SNR=0x1,FOM_MODE_NORM_SNR=0x2,FOM_MODE_EYE_LVLN=0x3,FOM_MODE_EYE_LVLP=0x4,FOM_MODE_THRES_NERR=0x5,FOM_MODE_CDR_NERR=0x6,FOM_MODE_CSDET_NERR=0x7,FOM_MODE_MLSE_NERR=0x8,FOM_MODE_SFEC_NERR=0x9" offset="0x4.16" size="0x0.4" />
	<field name="fom_meas_type_read" descr="Indicate if the fom_measurement is of PAM4 or NRZ data\;\;0 - PAM4 (Upper, mid, low eye)\;1 - NRZ (Composite eye)" access="RO" offset="0x4.31" size="0x0.1" />
	<field name="upper_eye" descr="last measured EOM-FOM status of upper eye.\;valid only if fom_measurement bit &apos;0&apos; is set" access="RO" offset="0x8.0" size="0x0.16" />
	<field name="last_fom" descr="last measured EOM-FOM status of composite eye.\;valid only if fom_measurement bit &apos;3&apos; is set" access="RO" offset="0x8.16" size="0x0.16" />
	<field name="lower_eye" descr="last measured EOM-FOM status of lower eye.\;valid only if fom_measurement bit &apos;2&apos; is set" access="RO" offset="0xC.0" size="0x0.16" />
	<field name="mid_eye" descr="last measured EOM-FOM status of middle eye.\;valid only if fom_measurement bit &apos;1&apos; is set" access="RO" offset="0xC.16" size="0x0.16" />
</node>

<node name="slrg_thresholds_5nm_ext" descr="" size="0x14.0" >
	<field name="snr_thresholds_valid" descr="When set SNR alarm and warning threshold fields are valid\;0: not_valid\;1: valid" access="RO" enum="not_valid=0x0,valid=0x1" offset="0x0.31" size="0x0.1" />
	<field name="snr_line_low_warning" descr="Line side warning threshold for SNR value. If SNR value goes below this value, it should be considered as a warning" access="RO" offset="0x4.0" size="0x0.16" />
	<field name="snr_line_low_alarm" descr="Line side alarm threshold for SNR value. If SNR value goes below this value, it should be considered as an alarm" access="RO" offset="0x4.16" size="0x0.16" />
	<field name="snr_host_low_warning" descr="Host side warning threshold for SNR value. If SNR value goes below this value, it should be considered as a warning" access="RO" offset="0x8.0" size="0x0.16" />
	<field name="snr_host_low_alarm" descr="Host side alarm threshold for SNR value. If SNR value goes below this value, it should be considered as an alarm" access="RO" offset="0x8.16" size="0x0.16" />
</node>

<node name="slsir_5nm_ext" descr="" size="0x24.0" >
	<field name="uphy_ver_minor" descr="UPHY version" access="RO" offset="0x20.0" size="0x0.4" />
	<field name="uphy_ver_major" descr="UPHY version" access="RO" offset="0x20.4" size="0x0.4" />
	<field name="bkv_minor_dln" descr="BKV dln version" access="RO" offset="0x20.16" size="0x0.4" />
	<field name="bkv_major_dln" descr="BKV dln version" access="RO" offset="0x20.20" size="0x0.4" />
	<field name="bkv_minor_cln" descr="BKV cln version" access="RO" offset="0x20.24" size="0x0.4" />
	<field name="bkv_major_cln" descr="BKV cln version" access="RO" offset="0x20.28" size="0x0.4" />
</node>

<node name="slsir_7nm_ext" descr="" size="0x90.0" >
	<field name="uphy_rev_minor" descr="UPHY revision" access="RO" offset="0x18.0" size="0x0.4" />
	<field name="uphy_rev_major" descr="UPHY revision" access="RO" offset="0x18.4" size="0x0.4" />
	<field name="bkv_revision_rx" descr="DLN RX BKV revision\;For UPHY Rev 6.* and 7.* the format of BKV revision is\;Bits 7:4 - Major\;Bits 3:0 - Minor" access="RO" offset="0x18.8" size="0x0.8" />
	<field name="bkv_revision_cln" descr="CLN BKV revision\;For UPHY Rev 6.* and 7.* the format of BKV revision is\;Bits 7:4 - Major\;Bits 3:0 - Minor" access="RO" offset="0x18.16" size="0x0.8" />
	<field name="uphy_rev_subminor" descr="UPHY subminor revision.\;when 0, indicates no subminor revision" access="RO" offset="0x18.24" size="0x0.4" />
</node>

<node name="slsir_reg_ext" descr="" size="0x94.0" >
	<field name="port_type" descr="For HCA supported only when indicated by PCAM \;0 - Network Port\;1 - Near-End Port (For Retimer/Gearbox - Host side)\;2 - Internal IC LR Port \;3 - Far-End Port (For Retimer/Gearbox - Line side)\;4 - USR Main\;5 - USR Tile\;Other values are reserved." access="INDEX" offset="0x0.4" size="0x0.4" />
	<field name="lane" descr="Logical lane number" access="INDEX" offset="0x0.8" size="0x0.4" />
	<field name="lp_msb" descr="Local port number [9:8]" access="INDEX" offset="0x0.12" size="0x0.2" />
	<field name="pnat" descr="Port number access type. determines the way local_port is interpreted:\;0 - Local port number\;1 - IB port number\;3 - Out of band / PCI" access="INDEX" offset="0x0.14" size="0x0.2" />
	<field name="local_port" descr="Local port number." access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="version" descr="4: prod_7nm - \;5: prod_5nm - (Uphy 7.0/ 7.5)\;6: serdes_gen_8" access="RO" enum="prod_7nm=0x4,prod_5nm=0x5,serdes_gen_8=0x6" offset="0x0.24" size="0x0.4" />
	<field name="status" descr="0 - invalid\;1 - valid" access="RO" offset="0x0.28" size="0x0.4" />
	<field name="page_data" descr="Table 2224, &quot;SLSIR - SerDes Lane Status Info Register Layout for 7nm,&quot; on page 2933\;Table 2226, &quot;SLSIR - SerDes Lane Status Info Register Layout for 5nm,&quot; on page 2938\;Table 2228, &quot;SLSIR - SerDes Lane Status Info Register Layout for Serdes_gen_8,&quot; on page 2940" subnode="slsir_reg_page_data_auto_ext" access="RW" offset="0x4.0" size="0x90.0" union_selector="$(parent).version" />
</node>

<node name="slsir_reg_page_data_auto_ext" descr="" attr_is_union="1" size="0x90.0" >
	<field name="slsir_5nm_ext" descr="" subnode="slsir_5nm_ext" offset="0x0.0" selected_by="prod_5nm" size="0x24.0" />
	<field name="slsir_7nm_ext" descr="" subnode="slsir_7nm_ext" offset="0x0.0" selected_by="prod_7nm" size="0x90.0" />
	<field name="slsir_serdes_gen_8_ext" descr="" subnode="slsir_serdes_gen_8_ext" offset="0x0.0" selected_by="serdes_gen_8" size="0x24.0" />
</node>

<node name="slsir_serdes_gen_8_ext" descr="" size="0x24.0" >
	<field name="uphy_ver_minor" descr="UPHY version" access="RO" offset="0x20.0" size="0x0.4" />
	<field name="uphy_ver_major" descr="UPHY version" access="RO" offset="0x20.4" size="0x0.4" />
	<field name="bkv_minor_dln" descr="BKV dln version" access="RO" offset="0x20.16" size="0x0.4" />
	<field name="bkv_major_dln" descr="BKV dln version" access="RO" offset="0x20.20" size="0x0.4" />
	<field name="bkv_minor_cln" descr="BKV cln version" access="RO" offset="0x20.24" size="0x0.4" />
	<field name="bkv_major_cln" descr="BKV cln version" access="RO" offset="0x20.28" size="0x0.4" />
</node>

<node name="sltp_16nm_ext" descr="" size="0x48.0" >
	<field name="post_tap" descr="Value of each tap is between -96 to 96\;\;NOTE: The total sum of all absolute taps values should be 96 or smaller.\;" access="RW" offset="0x4.0" size="0x0.8" />
	<field name="main_tap" descr="Value of each tap is between -96 to 96\;\;NOTE: The total sum of all absolute taps values should be 96 or smaller.\;" access="RW" offset="0x4.8" size="0x0.8" />
	<field name="pre_tap" descr="Value of each tap is between -96 to 96\;\;NOTE: The total sum of all absolute taps values should be 96 or smaller.\;" access="RW" offset="0x4.16" size="0x0.8" />
	<field name="pre_2_tap" descr="Value of each tap is between -96 to 96\;\;NOTE: The total sum of all absolute taps values should be 96 or smaller.\;" access="RW" offset="0x4.24" size="0x0.8" />
	<field name="ob_alev_out" descr="Output common mode. Values can be set in the range of (0-30)" access="RW" offset="0x8.0" size="0x0.5" />
	<field name="ob_amp" descr="Output amplitude. Values can be set in the range of (10-100)." access="RW" offset="0x8.8" size="0x0.7" />
	<field name="ob_m2lp" descr="MSB to LSB proportion. \;Values can be set between -10 to 50. \;\;MSB emphasis achieved when value is between -10 to -1 \;LSB emphasis achieved when value is between 1 to 50. \;When set to 0 - equal proportion." access="RW" offset="0x8.25" size="0x0.7" />
	<field name="ob_bad_stat" descr="Bitmask for bad &apos;set&apos; status:\;0: configuration_warning - taps values can&apos;t be set to SerDes due to internal limitations. Actual TX configuration is modify internally with the same sum of taps weight.\;11: Illegal_ob_combination - ob_m2lp, ob_amp and ob_alev is in legal range each, but the total combination can&apos;t be set to SerDes due to internal limitations, the Set command is ignored.\;12: Illegal_ob_m2lp\;13: Illegal_ob_amp\;14: Illegal_ob_alev_out\;15: Illegal_taps\;\;Bit 12-0 - Reserved /Unknown" access="RO" enum="configuration_warning=0x0,Illegal_ob_combination=0xb,Illegal_ob_m2lp=0xc,Illegal_ob_amp=0xd,Illegal_ob_alev_out=0xe,Illegal_taps=0xf" offset="0xC.16" size="0x0.16" />
	<field name="regp_bfm1n" descr="Values can be set in the range of (0-200)." access="RW" offset="0x10.0" size="0x0.8" />
	<field name="regn_bfm1p" descr="Values can be set in the range of (0-200)." access="RW" offset="0x10.8" size="0x0.8" />
	<field name="obnlev" descr="Values can be set in the range of (0-200)." access="RW" offset="0x10.16" size="0x0.8" />
	<field name="obplev" descr="Values can be set in the range of (0-200)." access="RW" offset="0x10.24" size="0x0.8" />
</node>

<node name="sltp_28nm_40nm_ext" descr="" size="0x48.0" >
	<field name="ob_tap2" descr="\;" access="RW" offset="0x4.0" size="0x0.8" />
	<field name="ob_tap1" descr="\;" access="RW" offset="0x4.8" size="0x0.8" />
	<field name="ob_tap0" descr="\;" access="RW" offset="0x4.16" size="0x0.8" />
	<field name="polarity" descr="Tx lane polarity" access="RW" offset="0x4.24" size="0x0.1" />
	<field name="ob_bias" descr="" access="RW" offset="0x8.0" size="0x0.8" />
	<field name="ob_reg" descr="(ref_txcml100_reg)" access="RW" offset="0x8.8" size="0x0.8" />
	<field name="ob_preemp_mode" descr="Concatenation of taps polarity + preemp_sel" access="RW" offset="0x8.16" size="0x0.4" />
	<field name="ob_leva" descr="" access="RW" offset="0x8.20" size="0x0.4" />
	<field name="ob_bad_stat" descr="Bitmask for bad SET status:\;Bit 0 - Illegal ob_bais value\;Bit 1 - Illegal ob taps polarity (distance between taps)" access="RO" offset="0xC.29" size="0x0.2" />
	<field name="ob_norm" descr="OB Normalization status:\;0 - No Normalization was done\;1 - Normalization performed" access="RO" offset="0xC.31" size="0x0.1" />
</node>

<node name="sltp_5nm_ext" descr="" size="0x48.0" >
	<field name="ob_bad_stat" descr="Bitmask for bad &apos;set&apos; status:\;Bit 0: tap0_is_out_of_range\;Bit 1: tap1_is_out_of_range\;Bit 2: tap2_is_out_of_range\;Bit 3: tap3_is_out_of_range\;Bit 4: tap4_is_out_of_range\;Bit 5: tap5_is_out_of_range\;Bit 6: tap6_is_out_of_range\;Bit 7: tap7_is_out_of_range\;Bit 8: tap8_is_out_of_range\;Bit 9: tap9_is_out_of_range\;Bit 10: tap10_is_out_of_range\;Bit 11: tap11_is_out_of_range\;Bit 9: sum_of_taps_is_out_of_range" access="RO" enum="tap0_is_out_of_range=0x1,tap1_is_out_of_range=0x2,tap2_is_out_of_range=0x4,tap3_is_out_of_range=0x8,tap4_is_out_of_range=0x10,tap5_is_out_of_range=0x20,tap6_is_out_of_range=0x40,tap7_is_out_of_range=0x80,tap8_is_out_of_range=0x100,tap9_is_out_of_range=0x200,tap10_is_out_of_range=0x400,tap11_is_out_of_range=0x800,sum_of_taps_is_out_of_range=0x200" offset="0x0.0" size="0x0.16" />
	<field name="lt_preset_sel" descr="Valid only when lt_preset_sel_cap is set, otherwise ignored\;0: no_preset_selected - changes Tx DB according to cable\;1-7: LT_index_preset_select - Tx will get / set LT preset" access="RW" offset="0x0.24" size="0x0.3" />
	<field name="vs_peer_db" descr="relevant for when c_db is set, else field is ignored.\;for when direct drive module connected:\;0 - db to override is for Did vs Did\;1 - db to override if for Did vs retimed module\;" access="RW" offset="0x0.28" size="0x0.2" />
	<field name="lt_preset_sel_cap" descr="When set, lt_preset_sel field is valid." access="RO" offset="0x0.30" size="0x0.1" />
	<field name="no_db_set" descr="supported only if PCAM bit 96 in feature_cap_mask is set.\;When set, Tx DB will not be written into HW on linkup phase.\;When cleared, Tx DB is written into HW on linkup phase." access="RW" offset="0x0.31" size="0x0.1" />
	<field name="tap0" descr="Signed value for TX FIR taps.\;tap scaling = fir_tap/63.\;Taps value must be under the following rules:\;\;taps [0-1, 6-11] valid ranges are [-8,8]\;And Also:\;|tap0| + | tap1| &lt;8\;|tap6| + | tap7| + | tap8|&lt;8\;|tap9| + | tap10| + | tap11| &lt;8\;taps [2-5] valid ranges are [-63, 63]\;\;Tap mapping for uphy 7 and 7.5:\;Tap1- pre3\;Tap2 -pre2\;Tap3- pre1\;Tap4 -Main\;Tap5- Post1\;\;For PAM4 links need to guarantee that the sum of the coefficient magnitude equals sum |c(i)| &lt;= 63. \;For NRZ links must guarantee sum|c(i)| = 63\;\;Note: Configured taps may get effective value of +/-1 from the value that has been set." access="RW" offset="0x4.0" size="0x0.8" />
	<field name="tap1" descr="Signed value for TX FIR taps.\;tap scaling = fir_tap/63.\;Taps value must be under the following rules:\;\;taps [0-1, 6-11] valid ranges are [-8,8]\;And Also:\;|tap0| + | tap1| &lt;8\;|tap6| + | tap7| + | tap8|&lt;8\;|tap9| + | tap10| + | tap11| &lt;8\;taps [2-5] valid ranges are [-63, 63]\;\;Tap mapping for uphy 7 and 7.5:\;Tap1- pre3\;Tap2 -pre2\;Tap3- pre1\;Tap4 -Main\;Tap5- Post1\;\;For PAM4 links need to guarantee that the sum of the coefficient magnitude equals sum |c(i)| &lt;= 63. \;For NRZ links must guarantee sum|c(i)| = 63\;\;Note: Configured taps may get effective value of +/-1 from the value that has been set." access="RW" offset="0x4.8" size="0x0.8" />
	<field name="tap2" descr="Signed value for TX FIR taps.\;tap scaling = fir_tap/63.\;Taps value must be under the following rules:\;\;taps [0-1, 6-11] valid ranges are [-8,8]\;And Also:\;|tap0| + | tap1| &lt;8\;|tap6| + | tap7| + | tap8|&lt;8\;|tap9| + | tap10| + | tap11| &lt;8\;taps [2-5] valid ranges are [-63, 63]\;\;Tap mapping for uphy 7 and 7.5:\;Tap1- pre3\;Tap2 -pre2\;Tap3- pre1\;Tap4 -Main\;Tap5- Post1\;\;For PAM4 links need to guarantee that the sum of the coefficient magnitude equals sum |c(i)| &lt;= 63. \;For NRZ links must guarantee sum|c(i)| = 63\;\;Note: Configured taps may get effective value of +/-1 from the value that has been set." access="RW" offset="0x4.16" size="0x0.8" />
	<field name="tap3" descr="Signed value for TX FIR taps.\;tap scaling = fir_tap/63.\;Taps value must be under the following rules:\;\;taps [0-1, 6-11] valid ranges are [-8,8]\;And Also:\;|tap0| + | tap1| &lt;8\;|tap6| + | tap7| + | tap8|&lt;8\;|tap9| + | tap10| + | tap11| &lt;8\;taps [2-5] valid ranges are [-63, 63]\;\;Tap mapping for uphy 7 and 7.5:\;Tap1- pre3\;Tap2 -pre2\;Tap3- pre1\;Tap4 -Main\;Tap5- Post1\;\;For PAM4 links need to guarantee that the sum of the coefficient magnitude equals sum |c(i)| &lt;= 63. \;For NRZ links must guarantee sum|c(i)| = 63\;\;Note: Configured taps may get effective value of +/-1 from the value that has been set." access="RW" offset="0x4.24" size="0x0.8" />
	<field name="tap4" descr="Signed value for TX FIR taps.\;tap scaling = fir_tap/63.\;Taps value must be under the following rules:\;\;taps [0-1, 6-11] valid ranges are [-8,8]\;And Also:\;|tap0| + | tap1| &lt;8\;|tap6| + | tap7| + | tap8|&lt;8\;|tap9| + | tap10| + | tap11| &lt;8\;taps [2-5] valid ranges are [-63, 63]\;\;Tap mapping for uphy 7 and 7.5:\;Tap1- pre3\;Tap2 -pre2\;Tap3- pre1\;Tap4 -Main\;Tap5- Post1\;\;For PAM4 links need to guarantee that the sum of the coefficient magnitude equals sum |c(i)| &lt;= 63. \;For NRZ links must guarantee sum|c(i)| = 63\;\;Note: Configured taps may get effective value of +/-1 from the value that has been set." access="RW" offset="0x8.0" size="0x0.8" />
	<field name="tap5" descr="Signed value for TX FIR taps.\;tap scaling = fir_tap/63.\;Taps value must be under the following rules:\;\;taps [0-1, 6-11] valid ranges are [-8,8]\;And Also:\;|tap0| + | tap1| &lt;8\;|tap6| + | tap7| + | tap8|&lt;8\;|tap9| + | tap10| + | tap11| &lt;8\;taps [2-5] valid ranges are [-63, 63]\;\;Tap mapping for uphy 7 and 7.5:\;Tap1- pre3\;Tap2 -pre2\;Tap3- pre1\;Tap4 -Main\;Tap5- Post1\;\;For PAM4 links need to guarantee that the sum of the coefficient magnitude equals sum |c(i)| &lt;= 63. \;For NRZ links must guarantee sum|c(i)| = 63\;\;Note: Configured taps may get effective value of +/-1 from the value that has been set." access="RW" offset="0x8.8" size="0x0.8" />
	<field name="tap6" descr="Signed value for TX FIR taps.\;tap scaling = fir_tap/63.\;Taps value must be under the following rules:\;\;taps [0-1, 6-11] valid ranges are [-8,8]\;And Also:\;|tap0| + | tap1| &lt;8\;|tap6| + | tap7| + | tap8|&lt;8\;|tap9| + | tap10| + | tap11| &lt;8\;taps [2-5] valid ranges are [-63, 63]\;\;Tap mapping for uphy 7 and 7.5:\;Tap1- pre3\;Tap2 -pre2\;Tap3- pre1\;Tap4 -Main\;Tap5- Post1\;\;For PAM4 links need to guarantee that the sum of the coefficient magnitude equals sum |c(i)| &lt;= 63. \;For NRZ links must guarantee sum|c(i)| = 63\;\;Note: Configured taps may get effective value of +/-1 from the value that has been set." access="RW" offset="0x8.16" size="0x0.8" />
	<field name="tap7" descr="Signed value for TX FIR taps.\;tap scaling = fir_tap/63.\;Taps value must be under the following rules:\;\;taps [0-1, 6-11] valid ranges are [-8,8]\;And Also:\;|tap0| + | tap1| &lt;8\;|tap6| + | tap7| + | tap8|&lt;8\;|tap9| + | tap10| + | tap11| &lt;8\;taps [2-5] valid ranges are [-63, 63]\;\;Tap mapping for uphy 7 and 7.5:\;Tap1- pre3\;Tap2 -pre2\;Tap3- pre1\;Tap4 -Main\;Tap5- Post1\;\;For PAM4 links need to guarantee that the sum of the coefficient magnitude equals sum |c(i)| &lt;= 63. \;For NRZ links must guarantee sum|c(i)| = 63\;\;Note: Configured taps may get effective value of +/-1 from the value that has been set." access="RW" offset="0x8.24" size="0x0.8" />
	<field name="tap8" descr="Signed value for TX FIR taps.\;tap scaling = fir_tap/63.\;Taps value must be under the following rules:\;\;taps [0-1, 6-11] valid ranges are [-8,8]\;And Also:\;|tap0| + | tap1| &lt;8\;|tap6| + | tap7| + | tap8|&lt;8\;|tap9| + | tap10| + | tap11| &lt;8\;taps [2-5] valid ranges are [-63, 63]\;\;Tap mapping for uphy 7 and 7.5:\;Tap1- pre3\;Tap2 -pre2\;Tap3- pre1\;Tap4 -Main\;Tap5- Post1\;\;For PAM4 links need to guarantee that the sum of the coefficient magnitude equals sum |c(i)| &lt;= 63. \;For NRZ links must guarantee sum|c(i)| = 63\;\;Note: Configured taps may get effective value of +/-1 from the value that has been set." access="RW" offset="0xC.0" size="0x0.8" />
	<field name="tap9" descr="Signed value for TX FIR taps.\;tap scaling = fir_tap/63.\;Taps value must be under the following rules:\;\;taps [0-1, 6-11] valid ranges are [-8,8]\;And Also:\;|tap0| + | tap1| &lt;8\;|tap6| + | tap7| + | tap8|&lt;8\;|tap9| + | tap10| + | tap11| &lt;8\;taps [2-5] valid ranges are [-63, 63]\;\;Tap mapping for uphy 7 and 7.5:\;Tap1- pre3\;Tap2 -pre2\;Tap3- pre1\;Tap4 -Main\;Tap5- Post1\;\;For PAM4 links need to guarantee that the sum of the coefficient magnitude equals sum |c(i)| &lt;= 63. \;For NRZ links must guarantee sum|c(i)| = 63\;\;Note: Configured taps may get effective value of +/-1 from the value that has been set." access="RW" offset="0xC.8" size="0x0.8" />
	<field name="tap10" descr="Signed value for TX FIR taps.\;tap scaling = fir_tap/63.\;Taps value must be under the following rules:\;\;taps [0-1, 6-11] valid ranges are [-8,8]\;And Also:\;|tap0| + | tap1| &lt;8\;|tap6| + | tap7| + | tap8|&lt;8\;|tap9| + | tap10| + | tap11| &lt;8\;taps [2-5] valid ranges are [-63, 63]\;\;Tap mapping for uphy 7 and 7.5:\;Tap1- pre3\;Tap2 -pre2\;Tap3- pre1\;Tap4 -Main\;Tap5- Post1\;\;For PAM4 links need to guarantee that the sum of the coefficient magnitude equals sum |c(i)| &lt;= 63. \;For NRZ links must guarantee sum|c(i)| = 63\;\;Note: Configured taps may get effective value of +/-1 from the value that has been set." access="RW" offset="0xC.16" size="0x0.8" />
	<field name="tap11" descr="Signed value for TX FIR taps.\;tap scaling = fir_tap/63.\;Taps value must be under the following rules:\;\;taps [0-1, 6-11] valid ranges are [-8,8]\;And Also:\;|tap0| + | tap1| &lt;8\;|tap6| + | tap7| + | tap8|&lt;8\;|tap9| + | tap10| + | tap11| &lt;8\;taps [2-5] valid ranges are [-63, 63]\;\;Tap mapping for uphy 7 and 7.5:\;Tap1- pre3\;Tap2 -pre2\;Tap3- pre1\;Tap4 -Main\;Tap5- Post1\;\;For PAM4 links need to guarantee that the sum of the coefficient magnitude equals sum |c(i)| &lt;= 63. \;For NRZ links must guarantee sum|c(i)| = 63\;\;Note: Configured taps may get effective value of +/-1 from the value that has been set." access="RW" offset="0xC.24" size="0x0.8" />
	<field name="drv_amp" descr="High speed output driver amplitude settings, default = 6&quot;d63.\;Amplitude scaling = (drv_amp+1)/64\;\;It should be noted there are two limitations for changing drv_amp in 5nm:\;1) The value can be configured if only taps 2-5 are being used. If any other taps are being used (0-1,6-11), meaning they have a non-zero value, drv_amp will be ignored, and set to default value.\;2) Setting to any value other then the default one will reduce the valid ranges of taps 2-5. The maximum valid range is [-63,63] when drv_amp = 6&quot;d63. If drv_amp=X, then the valid range will be [-X,X]." access="RW" offset="0x10.26" size="0x0.6" />
	<field name="gen_speed" descr="only applicable for out of band/PCI ports\;this field defines the speed for local and remote preset fields\;0 - current speed link speed\;1 - Gen3 speed\;2 - Gen4 speed\;3 - Gen5 speed\;4 - Gen6 speed\;others - reserved" access="INDEX" offset="0x14.0" size="0x0.4" />
	<field name="local_preset" descr="only applicable for out of band/PCI ports\;if local_preset_valid is set this field holds the local preset for the gen_speed\;else - reserved" access="RO" offset="0x14.8" size="0x0.4" />
	<field name="local_preset_valid" descr="only applicable for out of band/PCI ports\;when set the local preset field is valid" access="RO" offset="0x14.15" size="0x0.1" />
	<field name="remote_preset" descr="only applicable for out of band/PCI ports\;if remote_preset_valid is set this field holds the remote preset for the gen_speed\;else - reserved" access="RO" offset="0x14.16" size="0x0.4" />
	<field name="remote_preset_valid" descr="only applicable for out of band/PCI ports\;when set the remote preset field is valid" access="RO" offset="0x14.23" size="0x0.1" />
	<field name="get_main_location" descr="Indicates the current index of the Main tap during a read operation." access="RO" offset="0x14.29" size="0x0.1" />
	<field name="set_main_location" descr="Indicates the current index of the Main tap during a read operation." access="WO" offset="0x14.30" size="0x0.1" />
</node>

<node name="sltp_7nm_ext" descr="" size="0x48.0" >
	<field name="fir_pre2" descr="Signed value for TX FIR taps.\;tap scaling = fir_tap/63.\;for 100G per lane 5 taps, \;for 50G per lane 4 taps are used (no pre3),\;or 25G per lane 3 taps are used (no pre3,pre2)\;Valid values for taps:\;fir_main [34,63]\;fir_pre1 [-23,0]\;fir_pre2 [0,8]\;fir_pre3 [-5,0]\;fir_post1 [-21,0]\;\;Need to guarantee that the sum of the coefficient magnitude equals sum |c(i)| &lt;= 63.\;NRZ speeds must guarantee sum|c(i)| = 63\;Note: Configured taps may get effective value of +/-1 from the value that has been set." access="RW" offset="0x0.0" size="0x0.8" />
	<field name="fir_pre3" descr="Signed value for TX FIR taps.\;tap scaling = fir_tap/63.\;for 100G per lane 5 taps, \;for 50G per lane 4 taps are used (no pre3),\;or 25G per lane 3 taps are used (no pre3,pre2)\;Valid values for taps:\;fir_main [34,63]\;fir_pre1 [-23,0]\;fir_pre2 [0,8]\;fir_pre3 [-5,0]\;fir_post1 [-21,0]\;\;Need to guarantee that the sum of the coefficient magnitude equals sum |c(i)| &lt;= 63.\;NRZ speeds must guarantee sum|c(i)| = 63\;Note: Configured taps may get effective value of +/-1 from the value that has been set." access="RW" offset="0x0.8" size="0x0.8" />
	<field name="ob_bad_stat" descr="Bitmask for bad &apos;set&apos; status:\;Bit 0: pre3_is_out_of_range\;Bit 1: pre2_is_out_of_range\;Bit 2: pre1_is_out_of_range\;Bit 3: main_tap_is_out_of_range\;Bit 4: post1_is_out_of_range\;Bit 5: sum_of_taps_is_out_of_range\;Bit 6: taps_not_alinged_with_speed" access="RO" enum="pre3_is_out_of_range=0x1,pre2_is_out_of_range=0x2,pre1_is_out_of_range=0x4,main_tap_is_out_of_range=0x8,post1_is_out_of_range=0x10,sum_of_taps_is_out_of_range=0x20,taps_not_alinged_with_speed=0x40" offset="0x0.16" size="0x0.8" />
	<field name="drv_amp" descr="High speed output driver amplitude settings, default = 6&quot;d63.\; amplitude scaling = (AMP+1) / 64" access="RW" offset="0x0.24" size="0x0.6" />
	<field name="gen_speed" descr="only applicable for out of band/PCI ports\;this field defines the speed for local and remote preset fields\;0 - current speed link speed\;1 - Gen3 speed\;2 - Gen4 speed\;3 - Gen5 speed\;4 - Gen6 speed\;others - reserved" access="INDEX" offset="0x4.0" size="0x0.4" />
	<field name="fir_post1" descr="Signed value for TX FIR taps.\;tap scaling = fir_tap/63.\;for 100G per lane 5 taps, \;for 50G per lane 4 taps are used (no pre3),\;or 25G per lane 3 taps are used (no pre3,pre2)\;Valid values for taps:\;fir_main [34,63]\;fir_pre1 [-23,0]\;fir_pre2 [0,8]\;fir_pre3 [-5,0]\;fir_post1 [-21,0]\;\;Need to guarantee that the sum of the coefficient magnitude equals sum |c(i)| &lt;= 63.\;NRZ speeds must guarantee sum|c(i)| = 63\;Note: Configured taps may get effective value of +/-1 from the value that has been set." access="RW" offset="0x4.8" size="0x0.8" />
	<field name="fir_main" descr="Signed value for TX FIR taps.\;tap scaling = fir_tap/63.\;for 100G per lane 5 taps, \;for 50G per lane 4 taps are used (no pre3),\;or 25G per lane 3 taps are used (no pre3,pre2)\;Valid values for taps:\;fir_main [34,63]\;fir_pre1 [-23,0]\;fir_pre2 [0,8]\;fir_pre3 [-5,0]\;fir_post1 [-21,0]\;\;Need to guarantee that the sum of the coefficient magnitude equals sum |c(i)| &lt;= 63.\;NRZ speeds must guarantee sum|c(i)| = 63\;Note: Configured taps may get effective value of +/-1 from the value that has been set." access="RW" offset="0x4.16" size="0x0.8" />
	<field name="fir_pre1" descr="Signed value for TX FIR taps.\;tap scaling = fir_tap/63.\;for 100G per lane 5 taps, \;for 50G per lane 4 taps are used (no pre3),\;or 25G per lane 3 taps are used (no pre3,pre2)\;Valid values for taps:\;fir_main [34,63]\;fir_pre1 [-23,0]\;fir_pre2 [0,8]\;fir_pre3 [-5,0]\;fir_post1 [-21,0]\;\;Need to guarantee that the sum of the coefficient magnitude equals sum |c(i)| &lt;= 63.\;NRZ speeds must guarantee sum|c(i)| = 63\;Note: Configured taps may get effective value of +/-1 from the value that has been set." access="RW" offset="0x4.24" size="0x0.8" />
	<field name="local_preset" descr="only applicable for out of band/PCI ports\;if local_preset_valid is set this field holds the local preset for the gen_speed\;else - reserved" access="RO" offset="0x8.0" size="0x0.4" />
	<field name="local_preset_valid" descr="only applicable for out of band/PCI ports\;when set the local preset field is valid" access="RO" offset="0x8.7" size="0x0.1" />
	<field name="remote_preset" descr="only applicable for out of band/PCI ports\;if remote_preset_valid is set this field holds the remote preset for the gen_speed\;else - reserved" access="RO" offset="0x8.8" size="0x0.4" />
	<field name="remote_preset_valid" descr="only applicable for out of band/PCI ports\;when set the remote preset field is valid" access="RO" offset="0x8.15" size="0x0.1" />
</node>

<node name="sltp_lut_7nm_ext" descr="" size="0x48.0" >
	<field name="fir_pre2" descr="Signed value for TX FIR taps.\;tap scaling = fir_tap/63.\;Valid values for taps:\;fir_pre2 [0,8]\;fir_pre3 [-5,0]" access="RW" offset="0x0.0" size="0x0.8" />
	<field name="fir_pre3" descr="Signed value for TX FIR taps.\;tap scaling = fir_tap/63.\;Valid values for taps:\;fir_pre2 [0,8]\;fir_pre3 [-5,0]" access="RW" offset="0x0.8" size="0x0.8" />
	<field name="ob_bad_stat" descr="Bitmask for bad &apos;set&apos; status:\;Bit 0: pre3_is_out_of_range\;Bit 1: pre2_is_out_of_range\;Bit 7: LUT_value_is_out_of_range" access="RO" enum="pre3_is_out_of_range=0x1,pre2_is_out_of_range=0x2,LUT_value_is_out_of_range=0x80" offset="0x0.16" size="0x0.8" />
	<field name="drv_amp" descr="High speed output driver amplitude settings, default = 6&quot;d63.\; amplitude scaling = (AMP+1) / 64" access="RW" offset="0x0.24" size="0x0.6" />
	<field name="lut0" descr="Lookup Table values per entry" access="RW" offset="0x8.0" size="0x0.8" />
	<field name="lut1" descr="Lookup Table values per entry" access="RW" offset="0x8.8" size="0x0.8" />
	<field name="lut2" descr="Lookup Table values per entry" access="RW" offset="0x8.16" size="0x0.8" />
	<field name="lut3" descr="Lookup Table values per entry" access="RW" offset="0x8.24" size="0x0.8" />
	<field name="lut4" descr="Lookup Table values per entry" access="RW" offset="0xC.0" size="0x0.8" />
	<field name="lut5" descr="Lookup Table values per entry" access="RW" offset="0xC.8" size="0x0.8" />
	<field name="lut6" descr="Lookup Table values per entry" access="RW" offset="0xC.16" size="0x0.8" />
	<field name="lut7" descr="Lookup Table values per entry" access="RW" offset="0xC.24" size="0x0.8" />
	<field name="lut8" descr="Lookup Table values per entry" access="RW" offset="0x10.0" size="0x0.8" />
	<field name="lut9" descr="Lookup Table values per entry" access="RW" offset="0x10.8" size="0x0.8" />
	<field name="lut10" descr="Lookup Table values per entry" access="RW" offset="0x10.16" size="0x0.8" />
	<field name="lut11" descr="Lookup Table values per entry" access="RW" offset="0x10.24" size="0x0.8" />
	<field name="lut12" descr="Lookup Table values per entry" access="RW" offset="0x14.0" size="0x0.8" />
	<field name="lut13" descr="Lookup Table values per entry" access="RW" offset="0x14.8" size="0x0.8" />
	<field name="lut14" descr="Lookup Table values per entry" access="RW" offset="0x14.16" size="0x0.8" />
	<field name="lut15" descr="Lookup Table values per entry" access="RW" offset="0x14.24" size="0x0.8" />
	<field name="lut16" descr="Lookup Table values per entry\;" access="RW" offset="0x18.0" size="0x0.8" />
	<field name="lut17" descr="Lookup Table values per entry\;" access="RW" offset="0x18.8" size="0x0.8" />
	<field name="lut18" descr="Lookup Table values per entry\;" access="RW" offset="0x18.16" size="0x0.8" />
	<field name="lut19" descr="Lookup Table values per entry\;" access="RW" offset="0x18.24" size="0x0.8" />
	<field name="lut20" descr="Lookup Table values per entry\;" access="RW" offset="0x1C.0" size="0x0.8" />
	<field name="lut21" descr="Lookup Table values per entry\;" access="RW" offset="0x1C.8" size="0x0.8" />
	<field name="lut22" descr="Lookup Table values per entry\;" access="RW" offset="0x1C.16" size="0x0.8" />
	<field name="lut23" descr="Lookup Table values per entry\;" access="RW" offset="0x1C.24" size="0x0.8" />
	<field name="lut24" descr="Lookup Table values per entry\;" access="RW" offset="0x20.0" size="0x0.8" />
	<field name="lut25" descr="Lookup Table values per entry\;" access="RW" offset="0x20.8" size="0x0.8" />
	<field name="lut26" descr="Lookup Table values per entry\;" access="RW" offset="0x20.16" size="0x0.8" />
	<field name="lut27" descr="Lookup Table values per entry\;" access="RW" offset="0x20.24" size="0x0.8" />
	<field name="lut28" descr="Lookup Table values per entry\;" access="RW" offset="0x24.0" size="0x0.8" />
	<field name="lut29" descr="Lookup Table values per entry\;" access="RW" offset="0x24.8" size="0x0.8" />
	<field name="lut30" descr="Lookup Table values per entry\;" access="RW" offset="0x24.16" size="0x0.8" />
	<field name="lut31" descr="Lookup Table values per entry\;" access="RW" offset="0x24.24" size="0x0.8" />
	<field name="lut32" descr="Lookup Table values per entry\;" access="RW" offset="0x28.0" size="0x0.8" />
	<field name="lut33" descr="Lookup Table values per entry\;" access="RW" offset="0x28.8" size="0x0.8" />
	<field name="lut34" descr="Lookup Table values per entry\;" access="RW" offset="0x28.16" size="0x0.8" />
	<field name="lut35" descr="Lookup Table values per entry\;" access="RW" offset="0x28.24" size="0x0.8" />
	<field name="lut36" descr="Lookup Table values per entry\;" access="RW" offset="0x2C.0" size="0x0.8" />
	<field name="lut37" descr="Lookup Table values per entry\;" access="RW" offset="0x2C.8" size="0x0.8" />
	<field name="lut38" descr="Lookup Table values per entry\;" access="RW" offset="0x2C.16" size="0x0.8" />
	<field name="lut39" descr="Lookup Table values per entry\;" access="RW" offset="0x2C.24" size="0x0.8" />
	<field name="lut40" descr="Lookup Table values per entry\;" access="RW" offset="0x30.0" size="0x0.8" />
	<field name="lut41" descr="Lookup Table values per entry\;" access="RW" offset="0x30.8" size="0x0.8" />
	<field name="lut42" descr="Lookup Table values per entry\;" access="RW" offset="0x30.16" size="0x0.8" />
	<field name="lut43" descr="Lookup Table values per entry\;" access="RW" offset="0x30.24" size="0x0.8" />
	<field name="lut44" descr="" access="RW" offset="0x34.0" size="0x0.8" />
	<field name="lut45" descr="Lookup Table values per entry\;" access="RW" offset="0x34.8" size="0x0.8" />
	<field name="lut46" descr="Lookup Table values per entry\;" access="RW" offset="0x34.16" size="0x0.8" />
	<field name="lut47" descr="Lookup Table values per entry\;" access="RW" offset="0x34.24" size="0x0.8" />
	<field name="lut48" descr="Lookup Table values per entry\;" access="RW" offset="0x38.0" size="0x0.8" />
	<field name="lut49" descr="Lookup Table values per entry\;" access="RW" offset="0x38.8" size="0x0.8" />
	<field name="lut50" descr="Lookup Table values per entry\;" access="RW" offset="0x38.16" size="0x0.8" />
	<field name="lut51" descr="Lookup Table values per entry\;" access="RW" offset="0x38.24" size="0x0.8" />
	<field name="lut52" descr="Lookup Table values per entry\;" access="RW" offset="0x3C.0" size="0x0.8" />
	<field name="lut53" descr="Lookup Table values per entry\;" access="RW" offset="0x3C.8" size="0x0.8" />
	<field name="lut54" descr="Lookup Table values per entry\;" access="RW" offset="0x3C.16" size="0x0.8" />
	<field name="lut55" descr="Lookup Table values per entry\;" access="RW" offset="0x3C.24" size="0x0.8" />
	<field name="lut56" descr="Lookup Table values per entry\;" access="RW" offset="0x40.0" size="0x0.8" />
	<field name="lut57" descr="Lookup Table values per entry\;" access="RW" offset="0x40.8" size="0x0.8" />
	<field name="lut58" descr="Lookup Table values per entry\;" access="RW" offset="0x40.16" size="0x0.8" />
	<field name="lut59" descr="Lookup Table values per entry\;" access="RW" offset="0x40.24" size="0x0.8" />
	<field name="lut60" descr="Lookup Table values per entry\;" access="RW" offset="0x44.0" size="0x0.8" />
	<field name="lut61" descr="Lookup Table values per entry\;" access="RW" offset="0x44.8" size="0x0.8" />
	<field name="lut62" descr="Lookup Table values per entry\;" access="RW" offset="0x44.16" size="0x0.8" />
	<field name="lut63" descr="Lookup Table values per entry\;" access="RW" offset="0x44.24" size="0x0.8" />
</node>

<node name="sltp_reg_ext" descr="" size="0x4c.0" >
	<field name="c_db" descr="copy transmitter parameters to Data Base. \;" access="OP" offset="0x0.0" size="0x0.1" />
	<field name="port_type" descr="For HCA supported only when indicated by PCAM \;0: Network_Port\;1: NearEnd_Port - (For Retimer/Gearbox - Host side)\;2: Internal_IC_LR_Port \;3: FarEnd_Port - (For Retimer/Gearbox - Line side)\;" access="INDEX" enum="Network_Port=0x0,NearEnd_Port=0x1,Internal_IC_LR_Port=0x2,FarEnd_Port=0x3" offset="0x0.1" size="0x0.3" />
	<field name="lane_speed" descr="Reserved for PCIe.\;The lane speed for TX settings:\;0 - SDR / Gen1 (PCIe)\;1 - DDR / Gen2 (PCIe) / 5GBASE-R\;2 - QDR / Gen3 (PCIe)\;3 - FDR10 (10GE / 40GE)\;4 - FDR (56GE) / Gen4 (PCIe)\;5 - EDR (25GE / 50GE / 100GE) / Gen5 (PCIe)\;6 - HDR (50GE / 200GE / 400GE)\;7 - NDR /100GE / 200GE / 400GE / 800GE (53.125 Gbd / 106.25Gb/s)\;8 - XDR / NVL6 / 200G_1x_simplex (106.25 Gbd / 212.5Gb/s)\;9 - Reserved\;10 - 1GE\;11 - 2.5GE (XAUI)\;12 - 50GE-KR4\;13 - NVL6 / 360G_2x_bidi (90 Gbd / 180Gb/s)\;14 - NVL6 / 400G_2x_bidi (100 Gbd / 200Gb/s)\;15 - NVL6 / 328G_2x_bidi (82 Gbd / 164 Gb/s)" access="RW" offset="0x0.4" size="0x0.4" />
	<field name="lane" descr="Logical lane number" access="INDEX" offset="0x0.8" size="0x0.4" />
	<field name="conf_mod" descr="Set configuration mode for 7nm/5nm product.\;0: tx_linear - when set, tx taps are configured from\;for 7nm\;Table  1910, &quot;SLTP - SerDes Lane Transmit Parameters Register Layout for 7nm,&quot; on page  2535\;For 5nm\;Table  1914, &quot;SLTP - SerDes Lane Transmit Parameters Register Layout for 5nm,&quot; on page  2541\;LUT table fields are ignored\;1: tx_lut - when set, tx taps are configured from\;Table  1912, &quot;SLTP - SerDes Lane Transmit Parameters Register Layout for LUT 7nm,&quot; on page  2537\;7nm_fir_taps page fields are ignored." access="OP" enum="tx_linear=0x0,tx_lut=0x1" offset="0x0.12" size="0x0.1" />
	<field name="tx_policy" descr="Configures Tx parameter set policy\;0 - Tx parameters will be set according to best possible configuration chosen by the system\;1 - Tx parameters will be set according to Data Base only and will not be overridden by link training (e.g KR-Startup)" access="RW" offset="0x0.13" size="0x0.1" />
	<field name="pnat" descr="Port number access type. determines the way local_port is interpreted:\;0 - Local port number\;1 - IB port number\;3 - Out of band / PCI" access="INDEX" offset="0x0.14" size="0x0.2" />
	<field name="local_port" descr="Local port number [7:0]" access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="version" descr="0: prod_40nm\;1: prod_28nm\;3: prod_16nm\;4: prod_7nm\;5: prod_5nm - (UPHY 7.0/7.5)\;6: serdes_gen_8" access="RO" enum="prod_40nm=0x0,prod_28nm=0x1,prod_16nm=0x3,prod_7nm=0x4,prod_5nm=0x5,serdes_gen_8=0x6" offset="0x0.24" size="0x0.4" />
	<field name="status" descr="Indicates that Tx setting readout is valid and active. In particular, for links that do AN/LT, valid will be set when link operational status is UP (PAOS.oper_status=0x1).\;For links without AN/LT, valid will be set when Tx is enabled.\;\;0 - Invalid\;1 - Valid\;\;Note: Get and Set operations can be set when status = invalid." access="RO" offset="0x0.28" size="0x0.1" />
	<field name="lp_msb" descr="Local port number [9:8]" access="INDEX" offset="0x0.30" size="0x0.2" />
	<field name="page_data" descr="Table  1904, &quot;SLTP - SerDes Lane Transmit Parameters Register Layout for 28nm and 40nm,&quot; on page  2532\;Table  1906, &quot;SLTP - SerDes Lane Transmit Parameters Register Layout for 16nm,&quot; on page  2533\;Table  1910, &quot;SLTP - SerDes Lane Transmit Parameters Register Layout for 7nm,&quot; on page  2535\;Table  1912, &quot;SLTP - SerDes Lane Transmit Parameters Register Layout for LUT 7nm,&quot; on page  2537\;Table  1914, &quot;SLTP - SerDes Lane Transmit Parameters Register Layout for 5nm,&quot; on page  2541\;Table  1916, &quot;SLTP - SerDes Lane Transmit Parameters Register Layout for Serdes_gen_8,&quot; on page  2545" subnode="sltp_reg_page_data_auto_ext" access="RW" condition="$(parent).port_type AND $(parent).version" offset="0x4.0" size="0x48.0" />
</node>

<node name="sltp_reg_page_data_auto_ext" descr="" attr_is_union="1" is_conditional="1" size="0x48.0" >
	<field name="sltp_16nm_ext" descr="" subnode="sltp_16nm_ext" condition="($(parent).port_type == Network_Port | $(parent).port_type == Internal_IC_LR_Port) AND ($(parent).version == prod_16nm)" offset="0x0.0" size="0x48.0" />
	<field name="sltp_28nm_40nm_ext" descr="" subnode="sltp_28nm_40nm_ext" condition="($(parent).port_type == Network_Port) AND ($(parent).version == prod_40nm | $(parent).version == prod_28nm)" offset="0x0.0" size="0x48.0" />
	<field name="sltp_5nm_ext" descr="" subnode="sltp_5nm_ext" condition="($(parent).port_type == Network_Port | $(parent).port_type == Internal_IC_LR_Port  | $(parent).port_type == NearEnd_Port  | $(parent).port_type == FarEnd_Port) AND ($(parent).version == prod_5nm)" offset="0x0.0" size="0x48.0" />
	<field name="sltp_7nm_ext" descr="" subnode="sltp_7nm_ext" condition="($(parent).port_type == Network_Port | $(parent).port_type == Internal_IC_LR_Port) AND ($(parent).version == prod_7nm)" offset="0x0.0" size="0x48.0" />
	<field name="sltp_lut_7nm_ext" descr="" subnode="sltp_lut_7nm_ext" condition="($(parent).port_type == Network_Port | $(parent).port_type == Internal_IC_LR_Port) AND ($(parent).version == prod_7nm)" offset="0x0.0" size="0x48.0" />
	<field name="sltp_serdes_gen_8_ext" descr="" subnode="sltp_serdes_gen_8_ext" condition="($(parent).port_type == Network_Port | $(parent).port_type == Internal_IC_LR_Port) AND ($(parent).version ==serdes_gen_8)" offset="0x0.0" size="0x48.0" />
</node>

<node name="sltp_serdes_gen_8_ext" descr="" size="0x48.0" >
	<field name="ob_bad_stat" descr="Bitmask for bad &apos;set&apos; status:\;Bit 0: tap0_is_out_of_range\;Bit 1: tap1_is_out_of_range\;Bit 2: tap2_is_out_of_range\;Bit 3: tap3_is_out_of_range\;Bit 4: tap4_is_out_of_range\;Bit 5: tap5_is_out_of_range\;Bit 6: tap6_is_out_of_range\;Bit 7: tap7_is_out_of_range\;Bit 8: tap8_is_out_of_range\;Bit 9: tap9_is_out_of_range\;Bit 10: tap10_is_out_of_range\;Bit 11: tap11_is_out_of_range\;Bit 9: sum_of_taps_is_out_of_range" access="RO" enum="tap0_is_out_of_range=0x1,tap1_is_out_of_range=0x2,tap2_is_out_of_range=0x4,tap3_is_out_of_range=0x8,tap4_is_out_of_range=0x10,tap5_is_out_of_range=0x20,tap6_is_out_of_range=0x40,tap7_is_out_of_range=0x80,tap8_is_out_of_range=0x100,tap9_is_out_of_range=0x200,tap10_is_out_of_range=0x400,tap11_is_out_of_range=0x800,sum_of_taps_is_out_of_range=0x200" offset="0x0.0" size="0x0.16" />
	<field name="mode_b_idx" descr="0: mode_a - [Internal] Simplex\;1: mode_b - [Internal] Bidirectional" access="RO" enum="mode_a=0x0,mode_b=0x1" offset="0x0.23" size="0x0.1" />
	<field name="lt_preset_sel" descr="Valid only when lt_preset_sel_cap is set, otherwise ignored\;0: no_preset_selected - changes Tx DB according to cable\;1-7: LT_index_preset_select - Tx will get / set LT preset" access="RW" offset="0x0.24" size="0x0.3" />
	<field name="vs_peer_db" descr="relevant for when c_db is set, else field is ignored.\;for when direct drive module connected:\;0 - db to override is for Did vs Did\;1 - db to override if for Did vs retimed module\;" access="RW" offset="0x0.28" size="0x0.2" />
	<field name="lt_preset_sel_cap" descr="When set, lt_preset_sel field is valid." access="RO" offset="0x0.30" size="0x0.1" />
	<field name="no_db_set" descr="supported only if PCAM bit 96 in feature_cap_mask is set.\;When set, Tx DB will not be written into HW on linkup phase.\;When cleared, Tx DB is written into HW on linkup phase." access="RW" offset="0x0.31" size="0x0.1" />
	<field name="tap0" descr="Signed value for TX FIR taps.\;tap scaling = fir_tap/63.\;Taps value must be under the following rules:\;\;taps [0-1, 6-11] valid ranges are [-8,8]\;And Also:\;|tap0| + | tap1| &lt;8\;|tap6| + | tap7| + | tap8|&lt;8\;|tap9| + | tap10| + | tap11| &lt;8\;taps [2-5] valid ranges are [-63, 63]\;\;For PAM4 links need to guarantee that the sum of the coefficient magnitude equals sum |c(i)| &lt;= 63. \;For NRZ links must guarantee sum|c(i)| = 63\;\;Note: Configured taps may get effective value of +/-1 from the value that has been set." access="RW" offset="0x4.0" size="0x0.8" />
	<field name="tap1" descr="Signed value for TX FIR taps.\;tap scaling = fir_tap/63.\;Taps value must be under the following rules:\;\;taps [0-1, 6-11] valid ranges are [-8,8]\;And Also:\;|tap0| + | tap1| &lt;8\;|tap6| + | tap7| + | tap8|&lt;8\;|tap9| + | tap10| + | tap11| &lt;8\;taps [2-5] valid ranges are [-63, 63]\;\;For PAM4 links need to guarantee that the sum of the coefficient magnitude equals sum |c(i)| &lt;= 63. \;For NRZ links must guarantee sum|c(i)| = 63\;\;Note: Configured taps may get effective value of +/-1 from the value that has been set." access="RW" offset="0x4.8" size="0x0.8" />
	<field name="tap2" descr="Signed value for TX FIR taps.\;tap scaling = fir_tap/63.\;Taps value must be under the following rules:\;\;taps [0-1, 6-11] valid ranges are [-8,8]\;And Also:\;|tap0| + | tap1| &lt;8\;|tap6| + | tap7| + | tap8|&lt;8\;|tap9| + | tap10| + | tap11| &lt;8\;taps [2-5] valid ranges are [-63, 63]\;\;For PAM4 links need to guarantee that the sum of the coefficient magnitude equals sum |c(i)| &lt;= 63. \;For NRZ links must guarantee sum|c(i)| = 63\;\;Note: Configured taps may get effective value of +/-1 from the value that has been set." access="RW" offset="0x4.16" size="0x0.8" />
	<field name="tap3" descr="Signed value for TX FIR taps.\;tap scaling = fir_tap/63.\;Taps value must be under the following rules:\;\;taps [0-1, 6-11] valid ranges are [-8,8]\;And Also:\;|tap0| + | tap1| &lt;8\;|tap6| + | tap7| + | tap8|&lt;8\;|tap9| + | tap10| + | tap11| &lt;8\;taps [2-5] valid ranges are [-63, 63]\;\;For PAM4 links need to guarantee that the sum of the coefficient magnitude equals sum |c(i)| &lt;= 63. \;For NRZ links must guarantee sum|c(i)| = 63\;\;Note: Configured taps may get effective value of +/-1 from the value that has been set." access="RW" offset="0x4.24" size="0x0.8" />
	<field name="tap4" descr="Signed value for TX FIR taps.\;tap scaling = fir_tap/63.\;Taps value must be under the following rules:\;\;taps [0-1, 6-11] valid ranges are [-8,8]\;And Also:\;|tap0| + | tap1| &lt;8\;|tap6| + | tap7| + | tap8|&lt;8\;|tap9| + | tap10| + | tap11| &lt;8\;taps [2-5] valid ranges are [-63, 63]\;\;For PAM4 links need to guarantee that the sum of the coefficient magnitude equals sum |c(i)| &lt;= 63. \;For NRZ links must guarantee sum|c(i)| = 63\;\;Note: Configured taps may get effective value of +/-1 from the value that has been set." access="RW" offset="0x8.0" size="0x0.8" />
	<field name="tap5" descr="Signed value for TX FIR taps.\;tap scaling = fir_tap/63.\;Taps value must be under the following rules:\;\;taps [0-1, 6-11] valid ranges are [-8,8]\;And Also:\;|tap0| + | tap1| &lt;8\;|tap6| + | tap7| + | tap8|&lt;8\;|tap9| + | tap10| + | tap11| &lt;8\;taps [2-5] valid ranges are [-63, 63]\;\;For PAM4 links need to guarantee that the sum of the coefficient magnitude equals sum |c(i)| &lt;= 63. \;For NRZ links must guarantee sum|c(i)| = 63\;\;Note: Configured taps may get effective value of +/-1 from the value that has been set." access="RW" offset="0x8.8" size="0x0.8" />
	<field name="tap6" descr="Signed value for TX FIR taps.\;tap scaling = fir_tap/63.\;Taps value must be under the following rules:\;\;taps [0-1, 6-11] valid ranges are [-8,8]\;And Also:\;|tap0| + | tap1| &lt;8\;|tap6| + | tap7| + | tap8|&lt;8\;|tap9| + | tap10| + | tap11| &lt;8\;taps [2-5] valid ranges are [-63, 63]\;\;For PAM4 links need to guarantee that the sum of the coefficient magnitude equals sum |c(i)| &lt;= 63. \;For NRZ links must guarantee sum|c(i)| = 63\;\;Note: Configured taps may get effective value of +/-1 from the value that has been set." access="RW" offset="0x8.16" size="0x0.8" />
	<field name="tap7" descr="Signed value for TX FIR taps.\;tap scaling = fir_tap/63.\;Taps value must be under the following rules:\;\;taps [0-1, 6-11] valid ranges are [-8,8]\;And Also:\;|tap0| + | tap1| &lt;8\;|tap6| + | tap7| + | tap8|&lt;8\;|tap9| + | tap10| + | tap11| &lt;8\;taps [2-5] valid ranges are [-63, 63]\;\;For PAM4 links need to guarantee that the sum of the coefficient magnitude equals sum |c(i)| &lt;= 63. \;For NRZ links must guarantee sum|c(i)| = 63\;\;Note: Configured taps may get effective value of +/-1 from the value that has been set." access="RW" offset="0x8.24" size="0x0.8" />
	<field name="tap8" descr="Signed value for TX FIR taps.\;tap scaling = fir_tap/63.\;Taps value must be under the following rules:\;\;taps [0-1, 6-11] valid ranges are [-8,8]\;And Also:\;|tap0| + | tap1| &lt;8\;|tap6| + | tap7| + | tap8|&lt;8\;|tap9| + | tap10| + | tap11| &lt;8\;taps [2-5] valid ranges are [-63, 63]\;\;For PAM4 links need to guarantee that the sum of the coefficient magnitude equals sum |c(i)| &lt;= 63. \;For NRZ links must guarantee sum|c(i)| = 63\;\;Note: Configured taps may get effective value of +/-1 from the value that has been set." access="RW" offset="0xC.0" size="0x0.8" />
	<field name="tap9" descr="Signed value for TX FIR taps.\;tap scaling = fir_tap/63.\;Taps value must be under the following rules:\;\;taps [0-1, 6-11] valid ranges are [-8,8]\;And Also:\;|tap0| + | tap1| &lt;8\;|tap6| + | tap7| + | tap8|&lt;8\;|tap9| + | tap10| + | tap11| &lt;8\;taps [2-5] valid ranges are [-63, 63]\;\;For PAM4 links need to guarantee that the sum of the coefficient magnitude equals sum |c(i)| &lt;= 63. \;For NRZ links must guarantee sum|c(i)| = 63\;\;Note: Configured taps may get effective value of +/-1 from the value that has been set." access="RW" offset="0xC.8" size="0x0.8" />
	<field name="tap10" descr="Signed value for TX FIR taps.\;tap scaling = fir_tap/63.\;Taps value must be under the following rules:\;\;taps [0-1, 6-11] valid ranges are [-8,8]\;And Also:\;|tap0| + | tap1| &lt;8\;|tap6| + | tap7| + | tap8|&lt;8\;|tap9| + | tap10| + | tap11| &lt;8\;taps [2-5] valid ranges are [-63, 63]\;\;For PAM4 links need to guarantee that the sum of the coefficient magnitude equals sum |c(i)| &lt;= 63. \;For NRZ links must guarantee sum|c(i)| = 63\;\;Note: Configured taps may get effective value of +/-1 from the value that has been set." access="RW" offset="0xC.16" size="0x0.8" />
	<field name="tap11" descr="Signed value for TX FIR taps.\;tap scaling = fir_tap/63.\;Taps value must be under the following rules:\;\;taps [0-1, 6-11] valid ranges are [-8,8]\;And Also:\;|tap0| + | tap1| &lt;8\;|tap6| + | tap7| + | tap8|&lt;8\;|tap9| + | tap10| + | tap11| &lt;8\;taps [2-5] valid ranges are [-63, 63]\;\;For PAM4 links need to guarantee that the sum of the coefficient magnitude equals sum |c(i)| &lt;= 63. \;For NRZ links must guarantee sum|c(i)| = 63\;\;Note: Configured taps may get effective value of +/-1 from the value that has been set." access="RW" offset="0xC.24" size="0x0.8" />
	<field name="drv_amp" descr="High speed output driver amplitude settings, default = 6&quot;d63.\;Amplitude scaling = (drv_amp+1)/64\;\;It should be noted there are two limitations for changing drv_amp in 5nm:\;1) The value can be configured if only taps 2-5 are being used. If any other taps are being used (0-1,6-11), meaning they have a non-zero value, drv_amp will be ignored, and set to default value.\;2) Setting to any value other then the default one will reduce the valid ranges of taps 2-5. The maximum valid range is [-63,63] when drv_amp = 6&quot;d63. If drv_amp=X, then the valid range will be [-X,X]." access="RW" offset="0x10.26" size="0x0.6" />
</node>

<node name="sltpv2_lut_5nm_ext" descr="" size="0x108.0" >
	<field name="ob_bad_stat" descr="Bitmask for bad &apos;set&apos; status:\;Bit 0:LUT_value_is_out_of_range\;Bit 1: delay_0_invalid\;Bit 2: delay_1_invalid\;Bit 3: delay_2_invalid" access="RO" enum="delay_2_invalid=0x8" offset="0x0.0" size="0x0.16" />
	<field name="lut_sel" descr="0: LUT_1 - taps 0-1 (16 entries), valid ranges per entry: [-16, 15]\;1: LUT_2 - taps 2-5 (256 entries), valid ranges per entry: [-64, 63]\;2: LUT_3 - taps 6-8 (64 entries), valid ranges per entry: [-16, 15]\;3: LUT_4 - taps 9-11 (64 entries), valid ranges per entry: [-16, 15]\;\;Note that only LUT_2 group has FW DB, hence c_db shall work only for LUT_2." access="INDEX" enum="LUT_1=0x0,LUT_2=0x1,LUT_3=0x2,LUT_4=0x3" offset="0x0.20" size="0x0.4" />
	<field name="vs_peer_db" descr="relevant for when c_db is set, else field is ignored.\;for when direct drive module connected:\;0 - db to override is for Did vs Did\;1 - db to override if for Did vs retimed module\;" access="RW" offset="0x0.28" size="0x0.2" />
	<field name="no_db_set" descr="supported only if PCAM bit 96 in feature_cap_mask is set.\;When set, Tx DB will not be written into HW on linkup phase.\;When cleared, Tx DB is written into HW on linkup phase." access="RW" offset="0x0.31" size="0x0.1" />
	<field name="delay0" descr="relevant for LUT3 (taps6-8), LUT4 (taps9-11). ignore otherwise.\;even taps (6, 8. 10) can get even values\;odd taps (7, 9, 11) cam get odd values." access="RW" offset="0x4.0" size="0x0.6" />
	<field name="delay1" descr="relevant for LUT3 (taps6-8), LUT4 (taps9-11). ignore otherwise.\;even taps (6, 8. 10) can get even values\;odd taps (7, 9, 11) cam get odd values." access="RW" offset="0x4.6" size="0x0.6" />
	<field name="delay2" descr="relevant for LUT3 (taps6-8), LUT4 (taps9-11). ignore otherwise.\;even taps (6, 8. 10) can get even values\;odd taps (7, 9, 11) cam get odd values." access="RW" offset="0x4.12" size="0x0.6" />
	<field name="lut" descr="Lookup Table values per entry" access="RW" high_bound="255" low_bound="0" offset="0x8.24" size="0x100.0" />
</node>

<node name="sltpv2_reg_ext" descr="" size="0x10c.0" >
	<field name="c_db" descr="Copy transmitter parameters to Data Base. \;When set, for get operation shall return Data Base values\;otherwise will be written to HW directly.\;" access="OP" offset="0x0.0" size="0x0.1" />
	<field name="port_type" descr="For HCA supported only when indicated by PCAM \;0: Network_Port\;1: NearEnd_Port - (For Retimer/Gearbox - Host side)\;2: Internal_IC_LR_Port \;3: FarEnd_Port - (For Retimer/Gearbox - Line side)\;\;" access="INDEX" enum="Network_Port=0x0,NearEnd_Port=0x1,Internal_IC_LR_Port=0x2,FarEnd_Port=0x3" offset="0x0.1" size="0x0.3" />
	<field name="lane_speed" descr="Reserved for PCIe.\;The lane speed for TX settings:\;0 - SDR / Gen1 (PCIe)\;1 - DDR / Gen2 (PCIe) / 5GBASE-R\;2 - QDR / Gen3 (PCIe)\;3 - FDR10 (10GE / 40GE)\;4 - FDR (56GE) / Gen4 (PCIe)\;5 - EDR (25GE / 50GE / 100GE) / Gen5 (PCIe)\;6 - HDR (50GE / 200GE / 400GE)\;7 - NDR /100GE / 200GE / 400GE / 800GE (53.125 Gbd / 106.25Gb/s)\;8 - XDR / NVL6 / 200G_1x_simplex (106.25 Gbd / 212.5Gb/s)\;9 - Reserved\;10 - 1GE\;11 - 2.5GE (XAUI)\;12 - 50GE-KR4\;13 - NVL6 / 360G_2x_bidi (90 Gbd / 180Gb/s)\;14 - NVL6 / 400G_2x_bidi (100 Gbd / 200Gb/s)\;15 - NVL6 / 328G_2x_bidi (82 Gbd / 164 Gb/s)" access="RW" offset="0x0.4" size="0x0.4" />
	<field name="lane" descr="Logical lane number" access="INDEX" offset="0x0.8" size="0x0.4" />
	<field name="tx_policy" descr="Configures Tx parameter set policy\;0 - Tx parameters will be set according to best possible configuration chosen by the system\;1 - Tx parameters will be set according to Data Base only and will not be overridden by link training (e.g KR-Startup)" access="RW" offset="0x0.13" size="0x0.1" />
	<field name="pnat" descr="Port number access type. determines the way local_port is interpreted:\;0 - Local port number\;1 - IB port number" access="INDEX" offset="0x0.14" size="0x0.2" />
	<field name="local_port" descr="Local port number [7:0]" access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="version" descr="5: prod_5nm\;6: serdes_gen_8" access="RO" enum="prod_5nm=0x5,serdes_gen_8=0x6" offset="0x0.24" size="0x0.4" />
	<field name="status" descr="Indicates that Tx setting readout is valid and active. In particular, for links that do AN/LT, valid will be set when link operational status is UP (PAOS.oper_status=0x1).\;For links without AN/LT, valid will be set when Tx is enabled.\;\;0 - Invalid\;1 - Valid\;\;Note: Get and Set operations can be set when status = invalid." access="RO" offset="0x0.28" size="0x0.1" />
	<field name="lp_msb" descr="Local port number [9:8]" access="INDEX" offset="0x0.30" size="0x0.2" />
	<field name="page_data" descr="Table  1920, &quot;SLTPv2 - SerDes Lane Transmit Parameters v2 Register Layout for LUT 5nm,&quot; on page  2552\;Table  1922, &quot;SLTPv2 - SerDes Lane Transmit Parameters v2 Register Layout for LUT Serdes_gen_8,&quot; on page  2553" subnode="sltpv2_reg_page_data_auto_ext" access="RW" condition="$(parent).port_type AND $(parent).version" offset="0x4.0" size="0x108.0" />
</node>

<node name="sltpv2_reg_page_data_auto_ext" descr="" attr_is_union="1" is_conditional="1" size="0x108.0" >
	<field name="sltpv2_lut_5nm_ext" descr="" subnode="sltpv2_lut_5nm_ext" condition="($(parent).port_type == Network_Port | $(parent).port_type == Internal_IC_LR_Port  | $(parent).port_type == NearEnd_Port  | $(parent).port_type == FarEnd_Port) AND ($(parent).version == prod_5nm)" offset="0x0.0" size="0x108.0" />
	<field name="sltpv2_serdes_gen_8_ext" descr="" subnode="sltpv2_serdes_gen_8_ext" condition="($(parent).port_type == Network_Port | $(parent).port_type == Internal_IC_LR_Port  | $(parent).port_type == NearEnd_Port  | $(parent).port_type == FarEnd_Port) AND ($(parent).version == serdes_gen_8)" offset="0x0.0" size="0x108.0" />
</node>

<node name="sltpv2_serdes_gen_8_ext" descr="" size="0x108.0" >
	<field name="ob_bad_stat" descr="Bitmask for bad &apos;set&apos; status:\;Bit 0:LUT_value_is_out_of_range\;Bit 1: delay_0_invalid\;Bit 2: delay_1_invalid\;Bit 3: delay_2_invalid" access="RO" enum="delay_2_invalid=0x8" offset="0x0.0" size="0x0.16" />
	<field name="lut_sel" descr="0: LUT_1 - taps 0-1 (16 entries), valid ranges per entry: [-16, 15]\;1: LUT_2 - taps 2-5 (256 entries), valid ranges per entry: [-64, 63]\;2: LUT_3 - taps 6-8 (64 entries), valid ranges per entry: [-16, 15]\;3: LUT_4 - taps 9-11 (64 entries), valid ranges per entry: [-16, 15]\;\;Note that only LUT_2 group has FW DB, hence c_db shall work only for LUT_2." access="INDEX" enum="LUT_1=0x0,LUT_2=0x1,LUT_3=0x2,LUT_4=0x3" offset="0x0.20" size="0x0.4" />
	<field name="mode_b_idx" descr="0: mode_a - [Internal] Simplex\;1: mode_b - [Internal] Bidirectional" access="RO" enum="mode_a=0x0,mode_b=0x1" offset="0x0.27" size="0x0.1" />
	<field name="vs_peer_db" descr="relevant for when c_db is set, else field is ignored.\;for when direct drive module connected:\;0 - db to override is for Did vs Did\;1 - db to override if for Did vs retimed module\;" access="RW" offset="0x0.28" size="0x0.2" />
	<field name="no_db_set" descr="supported only if PCAM bit 96 in feature_cap_mask is set.\;When set, Tx DB will not be written into HW on linkup phase.\;When cleared, Tx DB is written into HW on linkup phase." access="RW" offset="0x0.31" size="0x0.1" />
	<field name="delay0" descr="relevant for LUT3 (taps6-8), LUT4 (taps9-11). ignore otherwise.\;even taps (6, 8. 10) can get even values\;odd taps (7, 9, 11) cam get odd values." access="RW" offset="0x4.0" size="0x0.6" />
	<field name="delay1" descr="relevant for LUT3 (taps6-8), LUT4 (taps9-11). ignore otherwise.\;even taps (6, 8. 10) can get even values\;odd taps (7, 9, 11) cam get odd values." access="RW" offset="0x4.6" size="0x0.6" />
	<field name="delay2" descr="relevant for LUT3 (taps6-8), LUT4 (taps9-11). ignore otherwise.\;even taps (6, 8. 10) can get even values\;odd taps (7, 9, 11) cam get odd values." access="RW" offset="0x4.12" size="0x0.6" />
	<field name="lut" descr="Lookup Table values per entry" access="RW" high_bound="255" low_bound="0" offset="0x8.24" size="0x100.0" />
</node>

<node name="sltr_cause_list_uphy7_5_ext" descr="" size="0x10.0" >
	<field name="p0csrg0_21" descr="" access="RO" offset="0x0.0" size="0x0.1" />
	<field name="p0csrg0_22" descr="" access="RO" offset="0x0.1" size="0x0.1" />
	<field name="p0csrg0_23" descr="" access="RO" offset="0x0.2" size="0x0.1" />
	<field name="p0csrg0_24" descr="" access="RO" offset="0x0.3" size="0x0.1" />
	<field name="p0csrg0_25" descr="" access="RO" offset="0x0.4" size="0x0.1" />
	<field name="p0csrg0_26" descr="" access="RO" offset="0x0.5" size="0x0.1" />
	<field name="p0csrg0_27" descr="" access="RO" offset="0x0.6" size="0x0.1" />
	<field name="p0csrg0_28" descr="" access="RO" offset="0x0.7" size="0x0.1" />
	<field name="p0csrg0_29" descr="" access="RO" offset="0x0.8" size="0x0.1" />
	<field name="p0csrg0_30" descr="" access="RO" offset="0x0.9" size="0x0.1" />
	<field name="p0csrg0_31" descr="" access="RO" offset="0x0.10" size="0x0.1" />
	<field name="p0csrg1_0" descr="" access="RO" offset="0x0.11" size="0x0.1" />
	<field name="p0csrg1_1" descr="" access="RO" offset="0x0.12" size="0x0.1" />
	<field name="p0csrg1_2" descr="" access="RO" offset="0x0.13" size="0x0.1" />
	<field name="p1csrg0_21" descr="" access="RO" offset="0x0.14" size="0x0.1" />
	<field name="p1csrg0_22" descr="" access="RO" offset="0x0.15" size="0x0.1" />
	<field name="p1csrg0_23" descr="" access="RO" offset="0x0.16" size="0x0.1" />
	<field name="p1csrg0_24" descr="" access="RO" offset="0x0.17" size="0x0.1" />
	<field name="p1csrg0_25" descr="" access="RO" offset="0x0.18" size="0x0.1" />
	<field name="p1csrg0_26" descr="" access="RO" offset="0x0.19" size="0x0.1" />
	<field name="p1csrg0_27" descr="" access="RO" offset="0x0.20" size="0x0.1" />
	<field name="p1csrg0_28" descr="" access="RO" offset="0x0.21" size="0x0.1" />
	<field name="p1csrg0_29" descr="" access="RO" offset="0x0.22" size="0x0.1" />
	<field name="p1csrg0_30" descr="" access="RO" offset="0x0.23" size="0x0.1" />
	<field name="p1csrg0_31" descr="" access="RO" offset="0x0.24" size="0x0.1" />
	<field name="p1csrg1_0" descr="" access="RO" offset="0x0.25" size="0x0.1" />
	<field name="p1csrg1_1" descr="" access="RO" offset="0x0.26" size="0x0.1" />
	<field name="p1csrg1_2" descr="" access="RO" offset="0x0.27" size="0x0.1" />
	<field name="lcsrg0_9" descr="" access="RO" offset="0x4.0" size="0x0.1" />
	<field name="lcsrg1_5" descr="" access="RO" offset="0x4.1" size="0x0.1" />
	<field name="lcsrg1_16" descr="" access="RO" offset="0x4.2" size="0x0.1" />
	<field name="lcsrg1_20" descr="" access="RO" offset="0x4.3" size="0x0.1" />
	<field name="lcsrg1_21" descr="" access="RO" offset="0x4.4" size="0x0.1" />
	<field name="lcsrg1_22" descr="" access="RO" offset="0x4.5" size="0x0.1" />
	<field name="lcsrg1_23" descr="" access="RO" offset="0x4.6" size="0x0.1" />
	<field name="lcsrg1_24" descr="" access="RO" offset="0x4.7" size="0x0.1" />
	<field name="lcsrg1_25" descr="" access="RO" offset="0x4.8" size="0x0.1" />
	<field name="lcsrg1_26" descr="" access="RO" offset="0x4.9" size="0x0.1" />
	<field name="lcsrg1_27" descr="" access="RO" offset="0x4.10" size="0x0.1" />
	<field name="lcsrg1_31" descr="" access="RO" offset="0x4.11" size="0x0.1" />
	<field name="lcsrg2_0" descr="" access="RO" offset="0x4.12" size="0x0.1" />
	<field name="lcsrg2_1" descr="" access="RO" offset="0x4.13" size="0x0.1" />
	<field name="lcsrg2_2" descr="" access="RO" offset="0x4.14" size="0x0.1" />
	<field name="lcsrg2_3" descr="" access="RO" offset="0x4.15" size="0x0.1" />
	<field name="lcsrg2_6" descr="" access="RO" offset="0x4.16" size="0x0.1" />
	<field name="lcsrg2_9" descr="" access="RO" offset="0x4.17" size="0x0.1" />
	<field name="lcsrg3_12" descr="" access="RO" offset="0x4.18" size="0x0.1" />
	<field name="lcsrg3_15" descr="" access="RO" offset="0x4.19" size="0x0.1" />
	<field name="lcsrg3_16" descr="" access="RO" offset="0x4.20" size="0x0.1" />
	<field name="lcsrg3_17" descr="" access="RO" offset="0x4.21" size="0x0.1" />
	<field name="lcsrg4_12" descr="" access="RO" offset="0x4.22" size="0x0.1" />
	<field name="lcsrg4_13" descr="" access="RO" offset="0x4.23" size="0x0.1" />
	<field name="lcsrg4_15" descr="" access="RO" offset="0x4.24" size="0x0.1" />
	<field name="lcsrg4_16" descr="" access="RO" offset="0x4.25" size="0x0.1" />
	<field name="lcsrg4_17" descr="" access="RO" offset="0x4.26" size="0x0.1" />
	<field name="lcsrg4_18" descr="" access="RO" offset="0x4.27" size="0x0.1" />
	<field name="lcsrg4_19" descr="" access="RO" offset="0x4.28" size="0x0.1" />
	<field name="lcsrg5_5" descr="" access="RO" offset="0x4.29" size="0x0.1" />
	<field name="lcsrg5_17" descr="" access="RO" offset="0x4.30" size="0x0.1" />
	<field name="lcsrg6_4" descr="" access="RO" offset="0x4.31" size="0x0.1" />
	<field name="lcsrg6_10" descr="" access="RO" offset="0x8.0" size="0x0.1" />
	<field name="lcsrg6_11" descr="" access="RO" offset="0x8.1" size="0x0.1" />
	<field name="lcsrg6_12" descr="" access="RO" offset="0x8.2" size="0x0.1" />
	<field name="lcsrg6_13" descr="" access="RO" offset="0x8.3" size="0x0.1" />
	<field name="lcsrg6_14" descr="" access="RO" offset="0x8.4" size="0x0.1" />
	<field name="lcsrg6_15" descr="" access="RO" offset="0x8.5" size="0x0.1" />
	<field name="lcsrg6_16" descr="" access="RO" offset="0x8.6" size="0x0.1" />
	<field name="lcsrg6_17" descr="" access="RO" offset="0x8.7" size="0x0.1" />
	<field name="lcsrg6_18" descr="" access="RO" offset="0x8.8" size="0x0.1" />
	<field name="lcsrg6_24" descr="" access="RO" offset="0x8.9" size="0x0.1" />
	<field name="lcsrg6_27" descr="" access="RO" offset="0x8.10" size="0x0.1" />
	<field name="lcsrg6_28" descr="" access="RO" offset="0x8.11" size="0x0.1" />
	<field name="lcsrg6_29" descr="" access="RO" offset="0x8.12" size="0x0.1" />
	<field name="lcsrg6_30" descr="" access="RO" offset="0x8.13" size="0x0.1" />
	<field name="lcsrg6_31" descr="" access="RO" offset="0x8.14" size="0x0.1" />
	<field name="lcsrg7_0" descr="" access="RO" offset="0x8.15" size="0x0.1" />
	<field name="lcsrg7_1" descr="" access="RO" offset="0x8.16" size="0x0.1" />
	<field name="lcsrg7_2" descr="" access="RO" offset="0x8.17" size="0x0.1" />
	<field name="lcsrg7_3" descr="" access="RO" offset="0x8.18" size="0x0.1" />
	<field name="lcsrg7_4" descr="" access="RO" offset="0x8.19" size="0x0.1" />
	<field name="lcsrg7_5" descr="" access="RO" offset="0x8.20" size="0x0.1" />
	<field name="lcsrg7_6" descr="" access="RO" offset="0x8.21" size="0x0.1" />
	<field name="lcsrg7_7" descr="" access="RO" offset="0x8.22" size="0x0.1" />
	<field name="lcsrg7_8" descr="" access="RO" offset="0x8.23" size="0x0.1" />
	<field name="lcsrg7_9" descr="" access="RO" offset="0x8.24" size="0x0.1" />
	<field name="lcsrg7_12" descr="" access="RO" offset="0x8.25" size="0x0.1" />
	<field name="lcsrg7_15" descr="" access="RO" offset="0x8.26" size="0x0.1" />
	<field name="lcsrg7_18" descr="" access="RO" offset="0x8.27" size="0x0.1" />
	<field name="lcsrg7_19" descr="" access="RO" offset="0x8.28" size="0x0.1" />
	<field name="lcsrg10_4" descr="" access="RO" offset="0x8.29" size="0x0.1" />
	<field name="lcsrg10_7" descr="" access="RO" offset="0x8.30" size="0x0.1" />
	<field name="clear_on_read_executed" descr="" access="RO" offset="0xC.30" size="0x0.1" />
	<field name="status" descr="" access="RO" offset="0xC.31" size="0x0.1" />
</node>

<node name="sltr_cause_list_uphy7_ext" descr="" size="0x10.0" >
	<field name="p0csrg0_21" descr="" access="RO" offset="0x0.0" size="0x0.1" />
	<field name="p0csrg0_22" descr="" access="RO" offset="0x0.1" size="0x0.1" />
	<field name="p0csrg0_23" descr="" access="RO" offset="0x0.2" size="0x0.1" />
	<field name="p0csrg0_24" descr="" access="RO" offset="0x0.3" size="0x0.1" />
	<field name="p0csrg0_25" descr="" access="RO" offset="0x0.4" size="0x0.1" />
	<field name="p0csrg0_26" descr="" access="RO" offset="0x0.5" size="0x0.1" />
	<field name="p0csrg0_27" descr="" access="RO" offset="0x0.6" size="0x0.1" />
	<field name="p0csrg0_28" descr="" access="RO" offset="0x0.7" size="0x0.1" />
	<field name="p1csrg0_21" descr="" access="RO" offset="0x0.8" size="0x0.1" />
	<field name="p1csrg0_22" descr="" access="RO" offset="0x0.9" size="0x0.1" />
	<field name="p1csrg0_23" descr="" access="RO" offset="0x0.10" size="0x0.1" />
	<field name="p1csrg0_24" descr="" access="RO" offset="0x0.11" size="0x0.1" />
	<field name="p1csrg0_25" descr="" access="RO" offset="0x0.12" size="0x0.1" />
	<field name="p1csrg0_26" descr="" access="RO" offset="0x0.13" size="0x0.1" />
	<field name="p1csrg0_27" descr="" access="RO" offset="0x0.14" size="0x0.1" />
	<field name="p1csrg0_28" descr="" access="RO" offset="0x0.15" size="0x0.1" />
	<field name="lcsrg0_4" descr="" access="RO" offset="0x4.0" size="0x0.1" />
	<field name="lcsrg1_0" descr="" access="RO" offset="0x4.1" size="0x0.1" />
	<field name="lcsrg1_1" descr="" access="RO" offset="0x4.2" size="0x0.1" />
	<field name="lcsrg1_2" descr="" access="RO" offset="0x4.3" size="0x0.1" />
	<field name="lcsrg1_4" descr="" access="RO" offset="0x4.4" size="0x0.1" />
	<field name="lcsrg1_14" descr="" access="RO" offset="0x4.5" size="0x0.1" />
	<field name="lcsrg1_17" descr="" access="RO" offset="0x4.6" size="0x0.1" />
	<field name="lcsrg1_18" descr="" access="RO" offset="0x4.7" size="0x0.1" />
	<field name="lcsrg1_19" descr="" access="RO" offset="0x4.8" size="0x0.1" />
	<field name="lcsrg1_20" descr="" access="RO" offset="0x4.9" size="0x0.1" />
	<field name="lcsrg1_21" descr="" access="RO" offset="0x4.10" size="0x0.1" />
	<field name="lcsrg1_22" descr="" access="RO" offset="0x4.11" size="0x0.1" />
	<field name="lcsrg1_23" descr="" access="RO" offset="0x4.12" size="0x0.1" />
	<field name="lcsrg1_24" descr="" access="RO" offset="0x4.13" size="0x0.1" />
	<field name="lcsrg1_25" descr="" access="RO" offset="0x4.14" size="0x0.1" />
	<field name="lcsrg2_22" descr="" access="RO" offset="0x4.15" size="0x0.1" />
	<field name="lcsrg2_23" descr="" access="RO" offset="0x4.16" size="0x0.1" />
	<field name="lcsrg2_24" descr="" access="RO" offset="0x4.17" size="0x0.1" />
	<field name="lcsrg2_25" descr="" access="RO" offset="0x4.18" size="0x0.1" />
	<field name="lcsrg2_26" descr="" access="RO" offset="0x4.19" size="0x0.1" />
	<field name="lcsrg2_27" descr="" access="RO" offset="0x4.20" size="0x0.1" />
	<field name="lcsrg2_28" descr="" access="RO" offset="0x4.21" size="0x0.1" />
	<field name="lcsrg2_29" descr="" access="RO" offset="0x4.22" size="0x0.1" />
	<field name="lcsrg2_30" descr="" access="RO" offset="0x4.23" size="0x0.1" />
	<field name="lcsrg3_1" descr="" access="RO" offset="0x4.24" size="0x0.1" />
	<field name="lcsrg3_20" descr="" access="RO" offset="0x4.25" size="0x0.1" />
	<field name="lcsrg3_23" descr="" access="RO" offset="0x4.26" size="0x0.1" />
	<field name="lcsrg3_24" descr="" access="RO" offset="0x4.27" size="0x0.1" />
	<field name="lcsrg3_25" descr="" access="RO" offset="0x4.28" size="0x0.1" />
	<field name="lcsrg3_26" descr="" access="RO" offset="0x4.29" size="0x0.1" />
	<field name="lcsrg3_27" descr="" access="RO" offset="0x4.30" size="0x0.1" />
	<field name="lcsrg3_28" descr="" access="RO" offset="0x4.31" size="0x0.1" />
	<field name="lcsrg3_29" descr="" access="RO" offset="0x8.0" size="0x0.1" />
	<field name="lcsrg3_30" descr="" access="RO" offset="0x8.1" size="0x0.1" />
	<field name="lcsrg3_31" descr="" access="RO" offset="0x8.2" size="0x0.1" />
	<field name="l_lcsrg2_5" descr="" access="RO" offset="0x8.3" size="0x0.1" />
	<field name="l_lcsrg2_6" descr="" access="RO" offset="0x8.4" size="0x0.1" />
	<field name="l_lcsrg2_7" descr="" access="RO" offset="0x8.5" size="0x0.1" />
	<field name="l_lcsrg2_22" descr="" access="RO" offset="0x8.6" size="0x0.1" />
	<field name="l_lcsrg2_23" descr="" access="RO" offset="0x8.7" size="0x0.1" />
	<field name="clear_on_read_executed" descr="" access="RO" offset="0xC.30" size="0x0.1" />
	<field name="status" descr="" access="RO" offset="0xC.31" size="0x0.1" />
</node>

<node name="sltr_cause_list_uphy8_ext" descr="" size="0x14.0" >
	<field name="p0csrg0_21" descr="" access="RO" offset="0x0.0" size="0x0.1" />
	<field name="p0csrg0_22" descr="" access="RO" offset="0x0.1" size="0x0.1" />
	<field name="p0csrg0_23" descr="" access="RO" offset="0x0.2" size="0x0.1" />
	<field name="p0csrg0_24" descr="" access="RO" offset="0x0.3" size="0x0.1" />
	<field name="p0csrg0_25" descr="" access="RO" offset="0x0.4" size="0x0.1" />
	<field name="p0csrg0_26" descr="" access="RO" offset="0x0.5" size="0x0.1" />
	<field name="p0csrg0_27" descr="" access="RO" offset="0x0.6" size="0x0.1" />
	<field name="p0csrg0_28" descr="" access="RO" offset="0x0.7" size="0x0.1" />
	<field name="p0csrg0_29" descr="" access="RO" offset="0x0.8" size="0x0.1" />
	<field name="p0csrg0_30" descr="" access="RO" offset="0x0.9" size="0x0.1" />
	<field name="p0csrg0_31" descr="" access="RO" offset="0x0.10" size="0x0.1" />
	<field name="p0csrg1_0" descr="" access="RO" offset="0x0.11" size="0x0.1" />
	<field name="p0csrg1_1" descr="" access="RO" offset="0x0.12" size="0x0.1" />
	<field name="p0csrg1_2" descr="" access="RO" offset="0x0.13" size="0x0.1" />
	<field name="p1csrg0_21" descr="" access="RO" offset="0x0.14" size="0x0.1" />
	<field name="p1csrg0_22" descr="" access="RO" offset="0x0.15" size="0x0.1" />
	<field name="p1csrg0_23" descr="" access="RO" offset="0x0.16" size="0x0.1" />
	<field name="p1csrg0_24" descr="" access="RO" offset="0x0.17" size="0x0.1" />
	<field name="p1csrg0_25" descr="" access="RO" offset="0x0.18" size="0x0.1" />
	<field name="p1csrg0_26" descr="" access="RO" offset="0x0.19" size="0x0.1" />
	<field name="p1csrg0_27" descr="" access="RO" offset="0x0.20" size="0x0.1" />
	<field name="p1csrg0_28" descr="" access="RO" offset="0x0.21" size="0x0.1" />
	<field name="p1csrg0_29" descr="" access="RO" offset="0x0.22" size="0x0.1" />
	<field name="p1csrg0_30" descr="" access="RO" offset="0x0.23" size="0x0.1" />
	<field name="p1csrg0_31" descr="" access="RO" offset="0x0.24" size="0x0.1" />
	<field name="p1csrg1_0" descr="" access="RO" offset="0x0.25" size="0x0.1" />
	<field name="p1csrg1_1" descr="" access="RO" offset="0x0.26" size="0x0.1" />
	<field name="p1csrg1_2" descr="" access="RO" offset="0x0.27" size="0x0.1" />
	<field name="lcsrg0_3" descr="" access="RO" offset="0x4.0" size="0x0.1" />
	<field name="lcsrg0_22" descr="" access="RO" offset="0x4.1" size="0x0.1" />
	<field name="lcsrg0_29" descr="" access="RO" offset="0x4.2" size="0x0.1" />
	<field name="lcsrg1_10" descr="" access="RO" offset="0x4.3" size="0x0.1" />
	<field name="lcsrg1_11" descr="" access="RO" offset="0x4.4" size="0x0.1" />
	<field name="lcsrg1_12" descr="" access="RO" offset="0x4.5" size="0x0.1" />
	<field name="lcsrg1_13" descr="" access="RO" offset="0x4.6" size="0x0.1" />
	<field name="lcsrg1_14" descr="" access="RO" offset="0x4.7" size="0x0.1" />
	<field name="lcsrg1_15" descr="" access="RO" offset="0x4.8" size="0x0.1" />
	<field name="lcsrg1_16" descr="" access="RO" offset="0x4.9" size="0x0.1" />
	<field name="lcsrg1_18" descr="" access="RO" offset="0x4.10" size="0x0.1" />
	<field name="lcsrg1_22" descr="" access="RO" offset="0x4.11" size="0x0.1" />
	<field name="lcsrg1_23" descr="" access="RO" offset="0x4.12" size="0x0.1" />
	<field name="lcsrg1_24" descr="" access="RO" offset="0x4.13" size="0x0.1" />
	<field name="lcsrg1_25" descr="" access="RO" offset="0x4.14" size="0x0.1" />
	<field name="lcsrg1_26" descr="" access="RO" offset="0x4.15" size="0x0.1" />
	<field name="lcsrg2_0" descr="" access="RO" offset="0x4.16" size="0x0.1" />
	<field name="lcsrg2_5" descr="" access="RO" offset="0x4.17" size="0x0.1" />
	<field name="lcsrg3_8" descr="" access="RO" offset="0x4.18" size="0x0.1" />
	<field name="lcsrg3_11" descr="" access="RO" offset="0x4.19" size="0x0.1" />
	<field name="lcsrg3_12" descr="" access="RO" offset="0x4.20" size="0x0.1" />
	<field name="lcsrg3_13" descr="" access="RO" offset="0x4.21" size="0x0.1" />
	<field name="lcsrg4_8" descr="" access="RO" offset="0x4.22" size="0x0.1" />
	<field name="lcsrg4_9" descr="" access="RO" offset="0x4.23" size="0x0.1" />
	<field name="lcsrg4_11" descr="" access="RO" offset="0x8.0" size="0x0.1" />
	<field name="lcsrg4_12" descr="" access="RO" offset="0x8.1" size="0x0.1" />
	<field name="lcsrg4_13" descr="" access="RO" offset="0x8.2" size="0x0.1" />
	<field name="lcsrg4_14" descr="" access="RO" offset="0x8.3" size="0x0.1" />
	<field name="lcsrg4_15" descr="" access="RO" offset="0x8.4" size="0x0.1" />
	<field name="lcsrg5_1" descr="" access="RO" offset="0x8.5" size="0x0.1" />
	<field name="lcsrg5_13" descr="" access="RO" offset="0x8.6" size="0x0.1" />
	<field name="lcsrg5_29" descr="" access="RO" offset="0x8.7" size="0x0.1" />
	<field name="lcsrg6_4" descr="" access="RO" offset="0x8.8" size="0x0.1" />
	<field name="lcsrg6_5" descr="" access="RO" offset="0x8.9" size="0x0.1" />
	<field name="lcsrg6_6" descr="" access="RO" offset="0x8.10" size="0x0.1" />
	<field name="lcsrg6_7" descr="" access="RO" offset="0x8.11" size="0x0.1" />
	<field name="lcsrg6_18" descr="" access="RO" offset="0x8.12" size="0x0.1" />
	<field name="lcsrg6_19" descr="" access="RO" offset="0x8.13" size="0x0.1" />
	<field name="lcsrg6_20" descr="" access="RO" offset="0x8.14" size="0x0.1" />
	<field name="lcsrg6_21" descr="" access="RO" offset="0x8.15" size="0x0.1" />
	<field name="lcsrg6_22" descr="" access="RO" offset="0x8.16" size="0x0.1" />
	<field name="lcsrg6_23" descr="" access="RO" offset="0x8.17" size="0x0.1" />
	<field name="lcsrg6_24" descr="" access="RO" offset="0x8.18" size="0x0.1" />
	<field name="lcsrg6_25" descr="" access="RO" offset="0x8.19" size="0x0.1" />
	<field name="lcsrg6_26" descr="" access="RO" offset="0x8.20" size="0x0.1" />
	<field name="lcsrg6_27" descr="" access="RO" offset="0x8.21" size="0x0.1" />
	<field name="lcsrg7_14" descr="" access="RO" offset="0x8.22" size="0x0.1" />
	<field name="lcsrg7_15" descr="" access="RO" offset="0x8.23" size="0x0.1" />
	<field name="lcsrg7_16" descr="" access="RO" offset="0x8.24" size="0x0.1" />
	<field name="lcsrg7_17" descr="" access="RO" offset="0x8.25" size="0x0.1" />
	<field name="lcsrg7_18" descr="" access="RO" offset="0x8.26" size="0x0.1" />
	<field name="lcsrg7_19" descr="" access="RO" offset="0x8.27" size="0x0.1" />
	<field name="lcsrg7_20" descr="" access="RO" offset="0x8.28" size="0x0.1" />
	<field name="lcsrg7_21" descr="" access="RO" offset="0x8.29" size="0x0.1" />
	<field name="lcsrg7_26" descr="" access="RO" offset="0x8.30" size="0x0.1" />
	<field name="lcsrg7_27" descr="" access="RO" offset="0x8.31" size="0x0.1" />
	<field name="lcsrg7_28" descr="" access="RO" offset="0xC.0" size="0x0.1" />
	<field name="lcsrg7_29" descr="" access="RO" offset="0xC.1" size="0x0.1" />
	<field name="lcsrg7_30" descr="" access="RO" offset="0xC.2" size="0x0.1" />
	<field name="lcsrg7_31" descr="" access="RO" offset="0xC.3" size="0x0.1" />
	<field name="lcsrg8_0" descr="" access="RO" offset="0xC.4" size="0x0.1" />
	<field name="lcsrg8_1" descr="" access="RO" offset="0xC.5" size="0x0.1" />
	<field name="lcsrg8_2" descr="" access="RO" offset="0xC.6" size="0x0.1" />
	<field name="lcsrg8_3" descr="" access="RO" offset="0xC.7" size="0x0.1" />
	<field name="lcsrg8_4" descr="" access="RO" offset="0xC.8" size="0x0.1" />
	<field name="lcsrg8_5" descr="" access="RO" offset="0xC.9" size="0x0.1" />
	<field name="lcsrg8_6" descr="" access="RO" offset="0xC.10" size="0x0.1" />
	<field name="lcsrg8_7" descr="" access="RO" offset="0xC.11" size="0x0.1" />
	<field name="lcsrg8_8" descr="" access="RO" offset="0xC.12" size="0x0.1" />
	<field name="lcsrg10_30" descr="" access="RO" offset="0xC.13" size="0x0.1" />
	<field name="lcsrg11_1" descr="" access="RO" offset="0xC.14" size="0x0.1" />
	<field name="clear_on_read_executed" descr="" access="RO" offset="0x10.30" size="0x0.1" />
	<field name="status" descr="" access="RO" offset="0x10.31" size="0x0.1" />
</node>

<node name="sltr_non_periodic_non_destructive_ext" descr="" size="0x18.0" >
	<field name="ag_group_exist" descr="" access="RO" offset="0x0.26" size="0x0.1" />
	<field name="ae_group_exist" descr="" access="RO" offset="0x0.27" size="0x0.1" />
	<field name="y_group_exist" descr="" access="RO" offset="0x0.28" size="0x0.1" />
	<field name="ab_group_exist" descr="" access="RO" offset="0x0.29" size="0x0.1" />
	<field name="w_group_exist" descr="" access="RO" offset="0x0.30" size="0x0.1" />
	<field name="e_group_exist" descr="" access="RO" offset="0x0.31" size="0x0.1" />
	<field name="e_group6" descr="" access="RO" offset="0x4.0" size="0x0.8" />
	<field name="e_group5" descr="" access="RO" offset="0x4.10" size="0x0.2" />
	<field name="e_group4" descr="" access="RO" offset="0x4.13" size="0x0.3" />
	<field name="e_group3" descr="" access="RO" offset="0x4.17" size="0x0.2" />
	<field name="e_group2" descr="" access="RO" offset="0x4.20" size="0x0.2" />
	<field name="e_group1" descr="" access="RO" offset="0x4.23" size="0x0.3" />
	<field name="e_group0" descr="" access="RO" offset="0x4.27" size="0x0.5" />
	<field name="w_group4" descr="" access="RO" offset="0x8.0" size="0x0.5" />
	<field name="w_group3" descr="" access="RO" offset="0x8.5" size="0x0.5" />
	<field name="w_group2" descr="" access="RO" offset="0x8.10" size="0x0.5" />
	<field name="w_group1" descr="" access="RO" offset="0x8.15" size="0x0.5" />
	<field name="w_group0" descr="" access="RO" offset="0x8.20" size="0x0.5" />
	<field name="e_group8" descr="" access="RO" offset="0x8.26" size="0x0.2" />
	<field name="e_group7" descr="" access="RO" offset="0x8.29" size="0x0.3" />
	<field name="w_group10" descr="" access="RO" offset="0xC.2" size="0x0.5" />
	<field name="w_group9" descr="" access="RO" offset="0xC.7" size="0x0.5" />
	<field name="w_group8" descr="" access="RO" offset="0xC.12" size="0x0.5" />
	<field name="w_group7" descr="" access="RO" offset="0xC.17" size="0x0.5" />
	<field name="w_group6" descr="" access="RO" offset="0xC.22" size="0x0.5" />
	<field name="w_group5" descr="" access="RO" offset="0xC.27" size="0x0.5" />
	<field name="ab_group0" descr="" access="RO" offset="0x10.3" size="0x0.3" />
	<field name="w_group15" descr="" access="RO" offset="0x10.7" size="0x0.5" />
	<field name="w_group14" descr="" access="RO" offset="0x10.12" size="0x0.5" />
	<field name="w_group13" descr="" access="RO" offset="0x10.17" size="0x0.5" />
	<field name="w_group12" descr="" access="RO" offset="0x10.22" size="0x0.5" />
	<field name="w_group11" descr="" access="RO" offset="0x10.27" size="0x0.5" />
	<field name="ag_group0" descr="" access="RO" offset="0x14.0" size="0x0.7" />
	<field name="ae_group1" descr="" access="RO" offset="0x14.12" size="0x0.4" />
	<field name="ae_group0" descr="" access="RO" offset="0x14.16" size="0x0.5" />
	<field name="y_group0" descr="" access="RO" offset="0x14.23" size="0x0.9" />
</node>

<node name="sltr_periodic_non_destructive_ext" descr="" size="0x124.0" >
	<field name="v_group_exist" descr="" access="RO" offset="0x0.11" size="0x0.1" />
	<field name="t_group_exist" descr="" access="RO" offset="0x0.12" size="0x0.1" />
	<field name="qb_group_exist" descr="" access="RO" offset="0x0.13" size="0x0.1" />
	<field name="q_group_exist" descr="" access="RO" offset="0x0.14" size="0x0.1" />
	<field name="qc_group_exist" descr="" access="RO" offset="0x0.15" size="0x0.1" />
	<field name="p_group_exist" descr="" access="RO" offset="0x0.16" size="0x0.1" />
	<field name="od_group_exist" descr="" access="RO" offset="0x0.17" size="0x0.1" />
	<field name="oc_group_exist" descr="" access="RO" offset="0x0.18" size="0x0.1" />
	<field name="ob_group_exist" descr="" access="RO" offset="0x0.19" size="0x0.1" />
	<field name="oa_group_exist" descr="" access="RO" offset="0x0.20" size="0x0.1" />
	<field name="qa_group_exist" descr="" access="RO" offset="0x0.21" size="0x0.1" />
	<field name="i_group_exist" descr="" access="RO" offset="0x0.22" size="0x0.1" />
	<field name="d_group_exist" descr="" access="RO" offset="0x0.23" size="0x0.1" />
	<field name="c_group_exist" descr="" access="RO" offset="0x0.24" size="0x0.1" />
	<field name="bs_group_exist" descr="" access="RO" offset="0x0.25" size="0x0.1" />
	<field name="bc_group_exist" descr="" access="RO" offset="0x0.26" size="0x0.1" />
	<field name="af_group_exist" descr="" access="RO" offset="0x0.27" size="0x0.1" />
	<field name="afm_group_exist" descr="" access="RO" offset="0x0.28" size="0x0.1" />
	<field name="f_group_exist" descr="" access="RO" offset="0x0.29" size="0x0.1" />
	<field name="m_group_exist" descr="" access="RO" offset="0x0.31" size="0x0.1" />
	<field name="m_group5" descr="" access="RO" offset="0x4.0" size="0x0.10" />
	<field name="m_group3" descr="" access="RO" offset="0x4.10" size="0x0.10" />
	<field name="m_group4" descr="" access="RO" offset="0x4.20" size="0x0.10" />
	<field name="afm_group5" descr="" access="RO" offset="0xC.0" size="0x0.5" />
	<field name="afm_group4" descr="" access="RO" offset="0xC.7" size="0x0.6" />
	<field name="afm_group3" descr="" access="RO" offset="0xC.15" size="0x0.8" />
	<field name="f_group0" descr="" access="RO" offset="0xC.23" size="0x0.6" />
	<field name="afm_group2" descr="" access="RO" offset="0x10.0" size="0x0.8" />
	<field name="afm_group1" descr="" access="RO" offset="0x10.10" size="0x0.9" />
	<field name="af_group1" descr="" access="RO" offset="0x10.21" size="0x0.8" />
	<field name="af_group2" descr="" access="RO" offset="0x14.0" size="0x0.8" />
	<field name="af_group3" descr="" access="RO" offset="0x14.10" size="0x0.7" />
	<field name="af_group4" descr="" access="RO" offset="0x14.19" size="0x0.7" />
	<field name="m_group0" descr="" access="RO" offset="0x14.28" size="0x0.4" />
	<field name="af_group5" descr="" access="RO" offset="0x18.0" size="0x0.7" />
	<field name="af_group6" descr="" access="RO" offset="0x18.9" size="0x0.6" />
	<field name="af_group7" descr="" access="RO" offset="0x18.17" size="0x0.6" />
	<field name="af_group8" descr="" access="RO" offset="0x18.25" size="0x0.6" />
	<field name="af_group9" descr="" access="RO" offset="0x1C.0" size="0x0.6" />
	<field name="af_group10" descr="" access="RO" offset="0x1C.8" size="0x0.5" />
	<field name="af_group11" descr="" access="RO" offset="0x1C.15" size="0x0.5" />
	<field name="af_group12" descr="" access="RO" offset="0x1C.22" size="0x0.5" />
	<field name="bs_group0" descr="" access="RO" offset="0x20.0" size="0x0.6" />
	<field name="bc_group0" descr="" access="RO" offset="0x20.6" size="0x0.4" />
	<field name="bs_group1" descr="" access="RO" offset="0x20.11" size="0x0.6" />
	<field name="bc_group1" descr="" access="RO" offset="0x20.17" size="0x0.4" />
	<field name="bs_group2" descr="" access="RO" offset="0x20.22" size="0x0.6" />
	<field name="bc_group2" descr="" access="RO" offset="0x20.28" size="0x0.4" />
	<field name="bs_group3" descr="" access="RO" offset="0x24.0" size="0x0.6" />
	<field name="bc_group3" descr="" access="RO" offset="0x24.6" size="0x0.4" />
	<field name="bs_group4" descr="" access="RO" offset="0x24.11" size="0x0.6" />
	<field name="bc_group4" descr="" access="RO" offset="0x24.17" size="0x0.4" />
	<field name="bs_group5" descr="" access="RO" offset="0x24.22" size="0x0.6" />
	<field name="bc_group5" descr="" access="RO" offset="0x24.28" size="0x0.4" />
	<field name="bs_group6" descr="" access="RO" offset="0x28.0" size="0x0.6" />
	<field name="bc_group6" descr="" access="RO" offset="0x28.6" size="0x0.4" />
	<field name="bs_group7" descr="" access="RO" offset="0x28.11" size="0x0.6" />
	<field name="bc_group7" descr="" access="RO" offset="0x28.17" size="0x0.4" />
	<field name="bs_group8" descr="" access="RO" offset="0x28.22" size="0x0.6" />
	<field name="bc_group8" descr="" access="RO" offset="0x28.28" size="0x0.4" />
	<field name="bs_group9" descr="" access="RO" offset="0x2C.0" size="0x0.6" />
	<field name="bc_group9" descr="" access="RO" offset="0x2C.6" size="0x0.4" />
	<field name="bs_group10" descr="" access="RO" offset="0x2C.11" size="0x0.6" />
	<field name="bc_group10" descr="" access="RO" offset="0x2C.17" size="0x0.4" />
	<field name="bs_group11" descr="" access="RO" offset="0x2C.22" size="0x0.6" />
	<field name="bc_group11" descr="" access="RO" offset="0x2C.28" size="0x0.4" />
	<field name="bs_group12" descr="" access="RO" offset="0x30.0" size="0x0.6" />
	<field name="bc_group12" descr="" access="RO" offset="0x30.6" size="0x0.4" />
	<field name="bs_group13" descr="" access="RO" offset="0x30.11" size="0x0.6" />
	<field name="bc_group13" descr="" access="RO" offset="0x30.17" size="0x0.4" />
	<field name="bs_group14" descr="" access="RO" offset="0x30.22" size="0x0.6" />
	<field name="bc_group14" descr="" access="RO" offset="0x30.28" size="0x0.4" />
	<field name="bs_group15" descr="" access="RO" offset="0x34.0" size="0x0.6" />
	<field name="bc_group15" descr="" access="RO" offset="0x34.6" size="0x0.4" />
	<field name="c_group0" descr="" access="RO" offset="0x34.11" size="0x0.10" />
	<field name="c_group1" descr="" access="RO" offset="0x34.22" size="0x0.10" />
	<field name="c_group2" descr="" access="RO" offset="0x38.0" size="0x0.10" />
	<field name="c_group3" descr="" access="RO" offset="0x38.11" size="0x0.10" />
	<field name="c_group4" descr="" access="RO" offset="0x38.22" size="0x0.10" />
	<field name="c_group5" descr="" access="RO" offset="0x3C.0" size="0x0.10" />
	<field name="c_group6" descr="" access="RO" offset="0x3C.11" size="0x0.10" />
	<field name="c_group7" descr="" access="RO" offset="0x3C.22" size="0x0.10" />
	<field name="c_group8" descr="" access="RO" offset="0x40.0" size="0x0.10" />
	<field name="c_group9" descr="" access="RO" offset="0x40.11" size="0x0.10" />
	<field name="c_group10" descr="" access="RO" offset="0x40.22" size="0x0.10" />
	<field name="c_group11" descr="" access="RO" offset="0x44.0" size="0x0.10" />
	<field name="c_group12" descr="" access="RO" offset="0x44.11" size="0x0.10" />
	<field name="d_group0" descr="" access="RO" offset="0x44.22" size="0x0.10" />
	<field name="d_group1" descr="" access="RO" offset="0x48.0" size="0x0.10" />
	<field name="d_group2" descr="" access="RO" offset="0x48.11" size="0x0.10" />
	<field name="d_group3" descr="" access="RO" offset="0x48.22" size="0x0.10" />
	<field name="d_group4" descr="" access="RO" offset="0x4C.0" size="0x0.10" />
	<field name="d_group5" descr="" access="RO" offset="0x4C.11" size="0x0.10" />
	<field name="d_group6" descr="" access="RO" offset="0x4C.22" size="0x0.10" />
	<field name="d_group7" descr="" access="RO" offset="0x50.0" size="0x0.10" />
	<field name="d_group8" descr="" access="RO" offset="0x50.11" size="0x0.10" />
	<field name="d_group9" descr="" access="RO" offset="0x50.22" size="0x0.10" />
	<field name="d_group10" descr="" access="RO" offset="0x54.0" size="0x0.10" />
	<field name="d_group11" descr="" access="RO" offset="0x54.11" size="0x0.10" />
	<field name="d_group12" descr="" access="RO" offset="0x54.22" size="0x0.10" />
	<field name="i_group4" descr="" access="RO" offset="0x58.0" size="0x0.8" />
	<field name="i_group3" descr="" access="RO" offset="0x58.8" size="0x0.8" />
	<field name="i_group2" descr="" access="RO" offset="0x58.16" size="0x0.8" />
	<field name="i_group1" descr="" access="RO" offset="0x58.24" size="0x0.8" />
	<field name="i_group8" descr="" access="RO" offset="0x5C.0" size="0x0.8" />
	<field name="i_group7" descr="" access="RO" offset="0x5C.8" size="0x0.8" />
	<field name="i_group6" descr="" access="RO" offset="0x5C.16" size="0x0.8" />
	<field name="i_group5" descr="" access="RO" offset="0x5C.24" size="0x0.8" />
	<field name="qa_group1" descr="" access="RO" offset="0x60.0" size="0x0.10" />
	<field name="m_group6" descr="" access="RO" offset="0x60.11" size="0x0.10" />
	<field name="m_group2" descr="" access="RO" offset="0x60.22" size="0x0.10" />
	<field name="oa_group3" descr="" access="RO" offset="0x64.0" size="0x0.8" />
	<field name="oa_group2" descr="" access="RO" offset="0x64.8" size="0x0.8" />
	<field name="oa_group1" descr="" access="RO" offset="0x64.16" size="0x0.8" />
	<field name="oa_group0" descr="" access="RO" offset="0x64.24" size="0x0.8" />
	<field name="oa_group7" descr="" access="RO" offset="0x68.0" size="0x0.8" />
	<field name="oa_group6" descr="" access="RO" offset="0x68.8" size="0x0.8" />
	<field name="oa_group5" descr="" access="RO" offset="0x68.16" size="0x0.8" />
	<field name="oa_group4" descr="" access="RO" offset="0x68.24" size="0x0.8" />
	<field name="oa_group11" descr="" access="RO" offset="0x6C.0" size="0x0.8" />
	<field name="oa_group10" descr="" access="RO" offset="0x6C.8" size="0x0.8" />
	<field name="oa_group9" descr="" access="RO" offset="0x6C.16" size="0x0.8" />
	<field name="oa_group8" descr="" access="RO" offset="0x6C.24" size="0x0.8" />
	<field name="oa_group15" descr="" access="RO" offset="0x70.0" size="0x0.8" />
	<field name="oa_group14" descr="" access="RO" offset="0x70.8" size="0x0.8" />
	<field name="oa_group13" descr="" access="RO" offset="0x70.16" size="0x0.8" />
	<field name="oa_group12" descr="" access="RO" offset="0x70.24" size="0x0.8" />
	<field name="oa_group19" descr="" access="RO" offset="0x74.0" size="0x0.8" />
	<field name="oa_group18" descr="" access="RO" offset="0x74.8" size="0x0.8" />
	<field name="oa_group17" descr="" access="RO" offset="0x74.16" size="0x0.8" />
	<field name="oa_group16" descr="" access="RO" offset="0x74.24" size="0x0.8" />
	<field name="oa_group23" descr="" access="RO" offset="0x78.0" size="0x0.8" />
	<field name="oa_group22" descr="" access="RO" offset="0x78.8" size="0x0.8" />
	<field name="oa_group21" descr="" access="RO" offset="0x78.16" size="0x0.8" />
	<field name="oa_group20" descr="" access="RO" offset="0x78.24" size="0x0.8" />
	<field name="oa_group27" descr="" access="RO" offset="0x7C.0" size="0x0.8" />
	<field name="oa_group26" descr="" access="RO" offset="0x7C.8" size="0x0.8" />
	<field name="oa_group25" descr="" access="RO" offset="0x7C.16" size="0x0.8" />
	<field name="oa_group24" descr="" access="RO" offset="0x7C.24" size="0x0.8" />
	<field name="oa_group31" descr="" access="RO" offset="0x80.0" size="0x0.8" />
	<field name="oa_group30" descr="" access="RO" offset="0x80.8" size="0x0.8" />
	<field name="oa_group29" descr="" access="RO" offset="0x80.16" size="0x0.8" />
	<field name="oa_group28" descr="" access="RO" offset="0x80.24" size="0x0.8" />
	<field name="ob_group3" descr="" access="RO" offset="0x84.0" size="0x0.8" />
	<field name="ob_group2" descr="" access="RO" offset="0x84.8" size="0x0.8" />
	<field name="ob_group1" descr="" access="RO" offset="0x84.16" size="0x0.8" />
	<field name="ob_group0" descr="" access="RO" offset="0x84.24" size="0x0.8" />
	<field name="ob_group7" descr="" access="RO" offset="0x88.0" size="0x0.8" />
	<field name="ob_group6" descr="" access="RO" offset="0x88.8" size="0x0.8" />
	<field name="ob_group5" descr="" access="RO" offset="0x88.16" size="0x0.8" />
	<field name="ob_group4" descr="" access="RO" offset="0x88.24" size="0x0.8" />
	<field name="ob_group11" descr="" access="RO" offset="0x8C.0" size="0x0.8" />
	<field name="ob_group10" descr="" access="RO" offset="0x8C.8" size="0x0.8" />
	<field name="ob_group9" descr="" access="RO" offset="0x8C.16" size="0x0.8" />
	<field name="ob_group8" descr="" access="RO" offset="0x8C.24" size="0x0.8" />
	<field name="ob_group15" descr="" access="RO" offset="0x90.0" size="0x0.8" />
	<field name="ob_group14" descr="" access="RO" offset="0x90.8" size="0x0.8" />
	<field name="ob_group13" descr="" access="RO" offset="0x90.16" size="0x0.8" />
	<field name="ob_group12" descr="" access="RO" offset="0x90.24" size="0x0.8" />
	<field name="ob_group19" descr="" access="RO" offset="0x94.0" size="0x0.8" />
	<field name="ob_group18" descr="" access="RO" offset="0x94.8" size="0x0.8" />
	<field name="ob_group17" descr="" access="RO" offset="0x94.16" size="0x0.8" />
	<field name="ob_group16" descr="" access="RO" offset="0x94.24" size="0x0.8" />
	<field name="ob_group23" descr="" access="RO" offset="0x98.0" size="0x0.8" />
	<field name="ob_group22" descr="" access="RO" offset="0x98.8" size="0x0.8" />
	<field name="ob_group21" descr="" access="RO" offset="0x98.16" size="0x0.8" />
	<field name="ob_group20" descr="" access="RO" offset="0x98.24" size="0x0.8" />
	<field name="ob_group27" descr="" access="RO" offset="0x9C.0" size="0x0.8" />
	<field name="ob_group26" descr="" access="RO" offset="0x9C.8" size="0x0.8" />
	<field name="ob_group25" descr="" access="RO" offset="0x9C.16" size="0x0.8" />
	<field name="ob_group24" descr="" access="RO" offset="0x9C.24" size="0x0.8" />
	<field name="ob_group31" descr="" access="RO" offset="0xA0.0" size="0x0.8" />
	<field name="ob_group30" descr="" access="RO" offset="0xA0.8" size="0x0.8" />
	<field name="ob_group29" descr="" access="RO" offset="0xA0.16" size="0x0.8" />
	<field name="ob_group28" descr="" access="RO" offset="0xA0.24" size="0x0.8" />
	<field name="oc_group3" descr="" access="RO" offset="0xA4.0" size="0x0.8" />
	<field name="oc_group2" descr="" access="RO" offset="0xA4.8" size="0x0.8" />
	<field name="oc_group1" descr="" access="RO" offset="0xA4.16" size="0x0.8" />
	<field name="oc_group0" descr="" access="RO" offset="0xA4.24" size="0x0.8" />
	<field name="oc_group7" descr="" access="RO" offset="0xA8.0" size="0x0.8" />
	<field name="oc_group6" descr="" access="RO" offset="0xA8.8" size="0x0.8" />
	<field name="oc_group5" descr="" access="RO" offset="0xA8.16" size="0x0.8" />
	<field name="oc_group4" descr="" access="RO" offset="0xA8.24" size="0x0.8" />
	<field name="oc_group11" descr="" access="RO" offset="0xAC.0" size="0x0.8" />
	<field name="oc_group10" descr="" access="RO" offset="0xAC.8" size="0x0.8" />
	<field name="oc_group9" descr="" access="RO" offset="0xAC.16" size="0x0.8" />
	<field name="oc_group8" descr="" access="RO" offset="0xAC.24" size="0x0.8" />
	<field name="oc_group15" descr="" access="RO" offset="0xB0.0" size="0x0.8" />
	<field name="oc_group14" descr="" access="RO" offset="0xB0.8" size="0x0.8" />
	<field name="oc_group13" descr="" access="RO" offset="0xB0.16" size="0x0.8" />
	<field name="oc_group12" descr="" access="RO" offset="0xB0.24" size="0x0.8" />
	<field name="oc_group19" descr="" access="RO" offset="0xB4.0" size="0x0.8" />
	<field name="oc_group18" descr="" access="RO" offset="0xB4.8" size="0x0.8" />
	<field name="oc_group17" descr="" access="RO" offset="0xB4.16" size="0x0.8" />
	<field name="oc_group16" descr="" access="RO" offset="0xB4.24" size="0x0.8" />
	<field name="oc_group23" descr="" access="RO" offset="0xB8.0" size="0x0.8" />
	<field name="oc_group22" descr="" access="RO" offset="0xB8.8" size="0x0.8" />
	<field name="oc_group21" descr="" access="RO" offset="0xB8.16" size="0x0.8" />
	<field name="oc_group20" descr="" access="RO" offset="0xB8.24" size="0x0.8" />
	<field name="oc_group27" descr="" access="RO" offset="0xBC.0" size="0x0.8" />
	<field name="oc_group26" descr="" access="RO" offset="0xBC.8" size="0x0.8" />
	<field name="oc_group25" descr="" access="RO" offset="0xBC.16" size="0x0.8" />
	<field name="oc_group24" descr="" access="RO" offset="0xBC.24" size="0x0.8" />
	<field name="oc_group31" descr="" access="RO" offset="0xC0.0" size="0x0.8" />
	<field name="oc_group30" descr="" access="RO" offset="0xC0.8" size="0x0.8" />
	<field name="oc_group29" descr="" access="RO" offset="0xC0.16" size="0x0.8" />
	<field name="oc_group28" descr="" access="RO" offset="0xC0.24" size="0x0.8" />
	<field name="od_group3" descr="" access="RO" offset="0xC4.0" size="0x0.8" />
	<field name="od_group2" descr="" access="RO" offset="0xC4.8" size="0x0.8" />
	<field name="od_group1" descr="" access="RO" offset="0xC4.16" size="0x0.8" />
	<field name="od_group0" descr="" access="RO" offset="0xC4.24" size="0x0.8" />
	<field name="od_group7" descr="" access="RO" offset="0xC8.0" size="0x0.8" />
	<field name="od_group6" descr="" access="RO" offset="0xC8.8" size="0x0.8" />
	<field name="od_group5" descr="" access="RO" offset="0xC8.16" size="0x0.8" />
	<field name="od_group4" descr="" access="RO" offset="0xC8.24" size="0x0.8" />
	<field name="od_group11" descr="" access="RO" offset="0xCC.0" size="0x0.8" />
	<field name="od_group10" descr="" access="RO" offset="0xCC.8" size="0x0.8" />
	<field name="od_group9" descr="" access="RO" offset="0xCC.16" size="0x0.8" />
	<field name="od_group8" descr="" access="RO" offset="0xCC.24" size="0x0.8" />
	<field name="od_group15" descr="" access="RO" offset="0xD0.0" size="0x0.8" />
	<field name="od_group14" descr="" access="RO" offset="0xD0.8" size="0x0.8" />
	<field name="od_group13" descr="" access="RO" offset="0xD0.16" size="0x0.8" />
	<field name="od_group12" descr="" access="RO" offset="0xD0.24" size="0x0.8" />
	<field name="od_group19" descr="" access="RO" offset="0xD4.0" size="0x0.8" />
	<field name="od_group18" descr="" access="RO" offset="0xD4.8" size="0x0.8" />
	<field name="od_group17" descr="" access="RO" offset="0xD4.16" size="0x0.8" />
	<field name="od_group16" descr="" access="RO" offset="0xD4.24" size="0x0.8" />
	<field name="od_group23" descr="" access="RO" offset="0xD8.0" size="0x0.8" />
	<field name="od_group22" descr="" access="RO" offset="0xD8.8" size="0x0.8" />
	<field name="od_group21" descr="" access="RO" offset="0xD8.16" size="0x0.8" />
	<field name="od_group20" descr="" access="RO" offset="0xD8.24" size="0x0.8" />
	<field name="od_group27" descr="" access="RO" offset="0xDC.0" size="0x0.8" />
	<field name="od_group26" descr="" access="RO" offset="0xDC.8" size="0x0.8" />
	<field name="od_group25" descr="" access="RO" offset="0xDC.16" size="0x0.8" />
	<field name="od_group24" descr="" access="RO" offset="0xDC.24" size="0x0.8" />
	<field name="od_group31" descr="" access="RO" offset="0xE0.0" size="0x0.8" />
	<field name="od_group30" descr="" access="RO" offset="0xE0.8" size="0x0.8" />
	<field name="od_group29" descr="" access="RO" offset="0xE0.16" size="0x0.8" />
	<field name="od_group28" descr="" access="RO" offset="0xE0.24" size="0x0.8" />
	<field name="qa_group4" descr="" access="RO" offset="0xE4.0" size="0x0.10" />
	<field name="qa_group3" descr="" access="RO" offset="0xE4.11" size="0x0.10" />
	<field name="qa_group2" descr="" access="RO" offset="0xE4.22" size="0x0.10" />
	<field name="p_group3" descr="" access="RO" offset="0xE8.0" size="0x0.8" />
	<field name="p_group2" descr="" access="RO" offset="0xE8.8" size="0x0.8" />
	<field name="p_group1" descr="" access="RO" offset="0xE8.16" size="0x0.8" />
	<field name="p_group0" descr="" access="RO" offset="0xE8.24" size="0x0.8" />
	<field name="p_group7" descr="" access="RO" offset="0xEC.0" size="0x0.8" />
	<field name="p_group6" descr="" access="RO" offset="0xEC.8" size="0x0.8" />
	<field name="p_group5" descr="" access="RO" offset="0xEC.16" size="0x0.8" />
	<field name="p_group4" descr="" access="RO" offset="0xEC.24" size="0x0.8" />
	<field name="p_group11" descr="" access="RO" offset="0xF0.0" size="0x0.8" />
	<field name="p_group10" descr="" access="RO" offset="0xF0.8" size="0x0.8" />
	<field name="p_group9" descr="" access="RO" offset="0xF0.16" size="0x0.8" />
	<field name="p_group8" descr="" access="RO" offset="0xF0.24" size="0x0.8" />
	<field name="p_group15" descr="" access="RO" offset="0xF4.0" size="0x0.8" />
	<field name="p_group14" descr="" access="RO" offset="0xF4.8" size="0x0.8" />
	<field name="p_group13" descr="" access="RO" offset="0xF4.16" size="0x0.8" />
	<field name="p_group12" descr="" access="RO" offset="0xF4.24" size="0x0.8" />
	<field name="p_group19" descr="" access="RO" offset="0xF8.0" size="0x0.8" />
	<field name="p_group18" descr="" access="RO" offset="0xF8.8" size="0x0.8" />
	<field name="p_group17" descr="" access="RO" offset="0xF8.16" size="0x0.8" />
	<field name="p_group16" descr="" access="RO" offset="0xF8.24" size="0x0.8" />
	<field name="qc_group4" descr="" access="RO" offset="0xFC.0" size="0x0.6" />
	<field name="qc_group3" descr="" access="RO" offset="0xFC.6" size="0x0.6" />
	<field name="qc_group2" descr="" access="RO" offset="0xFC.12" size="0x0.6" />
	<field name="qc_group1" descr="" access="RO" offset="0xFC.18" size="0x0.6" />
	<field name="qc_group0" descr="" access="RO" offset="0xFC.24" size="0x0.6" />
	<field name="qc_group9" descr="" access="RO" offset="0x100.0" size="0x0.6" />
	<field name="qc_group8" descr="" access="RO" offset="0x100.6" size="0x0.6" />
	<field name="qc_group7" descr="" access="RO" offset="0x100.12" size="0x0.6" />
	<field name="qc_group6" descr="" access="RO" offset="0x100.18" size="0x0.6" />
	<field name="qc_group5" descr="" access="RO" offset="0x100.24" size="0x0.6" />
	<field name="qc_group14" descr="" access="RO" offset="0x104.0" size="0x0.6" />
	<field name="qc_group13" descr="" access="RO" offset="0x104.6" size="0x0.6" />
	<field name="qc_group12" descr="" access="RO" offset="0x104.12" size="0x0.6" />
	<field name="qc_group11" descr="" access="RO" offset="0x104.18" size="0x0.6" />
	<field name="qc_group10" descr="" access="RO" offset="0x104.24" size="0x0.6" />
	<field name="qc_group19" descr="" access="RO" offset="0x108.0" size="0x0.6" />
	<field name="qc_group18" descr="" access="RO" offset="0x108.6" size="0x0.6" />
	<field name="qc_group17" descr="" access="RO" offset="0x108.12" size="0x0.6" />
	<field name="qc_group16" descr="" access="RO" offset="0x108.18" size="0x0.6" />
	<field name="qc_group15" descr="" access="RO" offset="0x108.24" size="0x0.6" />
	<field name="qb_group2" descr="" access="RO" offset="0x10C.4" size="0x0.5" />
	<field name="qb_group1" descr="" access="RO" offset="0x10C.9" size="0x0.5" />
	<field name="qb_group0" descr="" access="RO" offset="0x10C.14" size="0x0.5" />
	<field name="q_group0" descr="" access="RO" offset="0x10C.21" size="0x0.11" />
	<field name="t_group1" descr="" access="RO" offset="0x110.0" size="0x0.16" />
	<field name="t_group0" descr="" access="RO" offset="0x110.16" size="0x0.16" />
	<field name="vgroup0" descr="" access="RO" offset="0x114.0" size="0x0.16" />
	<field name="t_group2" descr="" access="RO" offset="0x114.16" size="0x0.16" />
	<field name="vgroup2" descr="" access="RO" offset="0x118.5" size="0x0.16" />
	<field name="vgroup1" descr="" access="RO" offset="0x118.21" size="0x0.11" />
	<field name="i_group10" descr="" access="RO" offset="0x11C.0" size="0x0.8" />
	<field name="i_group9" descr="" access="RO" offset="0x11C.8" size="0x0.8" />
	<field name="m_group1" descr="" access="RO" offset="0x11C.22" size="0x0.10" />
</node>

<node name="sltr_periodic_non_destructive_part2_ext" descr="" size="0x130.0" >
	<field name="hb_group_exist" descr="" access="RO" offset="0x0.13" size="0x0.1" />
	<field name="ai_group_exist" descr="" access="RO" offset="0x0.14" size="0x0.1" />
	<field name="ah_group_exist" descr="" access="RO" offset="0x0.15" size="0x0.1" />
	<field name="ad_group_exist" descr="" access="RO" offset="0x0.16" size="0x0.1" />
	<field name="ac_group_exist" descr="" access="RO" offset="0x0.17" size="0x0.1" />
	<field name="aa_group_exist" descr="" access="RO" offset="0x0.18" size="0x0.1" />
	<field name="jc_group_exist" descr="" access="RO" offset="0x0.19" size="0x0.1" />
	<field name="jb_group_exist" descr="" access="RO" offset="0x0.20" size="0x0.1" />
	<field name="ja_group_exist" descr="" access="RO" offset="0x0.21" size="0x0.1" />
	<field name="g_group_exist" descr="" access="RO" offset="0x0.22" size="0x0.1" />
	<field name="s_group_exist" descr="" access="RO" offset="0x0.23" size="0x0.1" />
	<field name="ha_group_exist" descr="" access="RO" offset="0x0.24" size="0x0.1" />
	<field name="u_group_exist" descr="" access="RO" offset="0x0.25" size="0x0.1" />
	<field name="x_group_exist" descr="" access="RO" offset="0x0.26" size="0x0.1" />
	<field name="ze_group_exist" descr="" access="RO" offset="0x0.27" size="0x0.1" />
	<field name="zd_group_exist" descr="" access="RO" offset="0x0.28" size="0x0.1" />
	<field name="zc_group_exist" descr="" access="RO" offset="0x0.29" size="0x0.1" />
	<field name="zb_group_exist" descr="" access="RO" offset="0x0.30" size="0x0.1" />
	<field name="za_group_exist" descr="" access="RO" offset="0x0.31" size="0x0.1" />
	<field name="za_group4" descr="" access="RO" offset="0x4.2" size="0x0.6" />
	<field name="za_group3" descr="" access="RO" offset="0x4.8" size="0x0.6" />
	<field name="za_group2" descr="" access="RO" offset="0x4.14" size="0x0.6" />
	<field name="za_group1" descr="" access="RO" offset="0x4.20" size="0x0.6" />
	<field name="za_group0" descr="" access="RO" offset="0x4.26" size="0x0.6" />
	<field name="za_group6" descr="" access="RO" offset="0x8.10" size="0x0.16" />
	<field name="za_group5" descr="" access="RO" offset="0x8.26" size="0x0.6" />
	<field name="zb_group4" descr="" access="RO" offset="0xC.2" size="0x0.6" />
	<field name="zb_group3" descr="" access="RO" offset="0xC.8" size="0x0.6" />
	<field name="zb_group2" descr="" access="RO" offset="0xC.14" size="0x0.6" />
	<field name="zb_group1" descr="" access="RO" offset="0xC.20" size="0x0.6" />
	<field name="zb_group0" descr="" access="RO" offset="0xC.26" size="0x0.6" />
	<field name="zb_group6" descr="" access="RO" offset="0x10.10" size="0x0.16" />
	<field name="zb_group5" descr="" access="RO" offset="0x10.26" size="0x0.6" />
	<field name="zc_group4" descr="" access="RO" offset="0x14.2" size="0x0.6" />
	<field name="zc_group3" descr="" access="RO" offset="0x14.8" size="0x0.6" />
	<field name="zc_group2" descr="" access="RO" offset="0x14.14" size="0x0.6" />
	<field name="zc_group1" descr="" access="RO" offset="0x14.20" size="0x0.6" />
	<field name="zc_group0" descr="" access="RO" offset="0x14.26" size="0x0.6" />
	<field name="ze_group1" descr="" access="RO" offset="0x18.4" size="0x0.4" />
	<field name="ze_group0" descr="" access="RO" offset="0x18.8" size="0x0.6" />
	<field name="zd_group1" descr="" access="RO" offset="0x18.15" size="0x0.5" />
	<field name="zd_group0" descr="" access="RO" offset="0x18.20" size="0x0.5" />
	<field name="zc_group5" descr="" access="RO" offset="0x18.26" size="0x0.6" />
	<field name="x_group1" descr="" access="RO" offset="0x1C.0" size="0x0.16" />
	<field name="x_group0" descr="" access="RO" offset="0x1C.16" size="0x0.16" />
	<field name="x_group5" descr="" access="RO" offset="0x20.0" size="0x0.6" />
	<field name="x_group4" descr="" access="RO" offset="0x20.6" size="0x0.4" />
	<field name="x_group3" descr="" access="RO" offset="0x20.10" size="0x0.6" />
	<field name="x_group2" descr="" access="RO" offset="0x20.16" size="0x0.16" />
	<field name="x_group7" descr="" access="RO" offset="0x24.15" size="0x0.13" />
	<field name="x_group6" descr="" access="RO" offset="0x24.28" size="0x0.4" />
	<field name="u_group1" descr="" access="RO" offset="0x28.0" size="0x0.16" />
	<field name="u_group0" descr="" access="RO" offset="0x28.16" size="0x0.16" />
	<field name="u_group3" descr="" access="RO" offset="0x2C.0" size="0x0.16" />
	<field name="u_group2" descr="" access="RO" offset="0x2C.16" size="0x0.16" />
	<field name="u_group5" descr="" access="RO" offset="0x30.0" size="0x0.16" />
	<field name="u_group4" descr="" access="RO" offset="0x30.16" size="0x0.16" />
	<field name="u_group7" descr="" access="RO" offset="0x34.0" size="0x0.16" />
	<field name="u_group6" descr="" access="RO" offset="0x34.16" size="0x0.16" />
	<field name="u_group9" descr="" access="RO" offset="0x38.0" size="0x0.16" />
	<field name="u_group8" descr="" access="RO" offset="0x38.16" size="0x0.16" />
	<field name="u_group11" descr="" access="RO" offset="0x3C.0" size="0x0.16" />
	<field name="u_group10" descr="" access="RO" offset="0x3C.16" size="0x0.16" />
	<field name="u_group13" descr="" access="RO" offset="0x40.0" size="0x0.16" />
	<field name="u_group12" descr="" access="RO" offset="0x40.16" size="0x0.16" />
	<field name="u_group15" descr="" access="RO" offset="0x44.0" size="0x0.16" />
	<field name="u_group14" descr="" access="RO" offset="0x44.16" size="0x0.16" />
	<field name="ha_group" descr="" access="RO" high_bound="15" low_bound="0" offset="0x48.24" size="0x10.0" />
	<field name="hb_group" descr="" access="RO" high_bound="15" low_bound="0" offset="0x58.24" size="0x10.0" />
	<field name="s_group1" descr="" access="RO" offset="0x68.0" size="0x0.16" />
	<field name="s_group0" descr="" access="RO" offset="0x68.16" size="0x0.16" />
	<field name="s_group3" descr="" access="RO" offset="0x6C.0" size="0x0.16" />
	<field name="s_group2" descr="" access="RO" offset="0x6C.16" size="0x0.16" />
	<field name="s_group5" descr="" access="RO" offset="0x70.0" size="0x0.16" />
	<field name="s_group4" descr="" access="RO" offset="0x70.16" size="0x0.16" />
	<field name="s_group7" descr="" access="RO" offset="0x74.0" size="0x0.16" />
	<field name="s_group6" descr="" access="RO" offset="0x74.16" size="0x0.16" />
	<field name="s_group9" descr="" access="RO" offset="0x78.0" size="0x0.16" />
	<field name="s_group8" descr="" access="RO" offset="0x78.16" size="0x0.16" />
	<field name="s_group11" descr="" access="RO" offset="0x7C.0" size="0x0.16" />
	<field name="s_group10" descr="" access="RO" offset="0x7C.16" size="0x0.16" />
	<field name="s_group13" descr="" access="RO" offset="0x80.0" size="0x0.16" />
	<field name="s_group12" descr="" access="RO" offset="0x80.16" size="0x0.16" />
	<field name="s_group15" descr="" access="RO" offset="0x84.0" size="0x0.16" />
	<field name="s_group14" descr="" access="RO" offset="0x84.16" size="0x0.16" />
	<field name="g_group1" descr="" access="RO" offset="0x88.0" size="0x0.16" />
	<field name="g_group0" descr="" access="RO" offset="0x88.16" size="0x0.16" />
	<field name="g_group3" descr="" access="RO" offset="0x8C.0" size="0x0.16" />
	<field name="g_group2" descr="" access="RO" offset="0x8C.16" size="0x0.16" />
	<field name="g_group5" descr="" access="RO" offset="0x90.0" size="0x0.16" />
	<field name="g_group4" descr="" access="RO" offset="0x90.16" size="0x0.16" />
	<field name="g_group7" descr="" access="RO" offset="0x94.0" size="0x0.16" />
	<field name="g_group6" descr="" access="RO" offset="0x94.16" size="0x0.16" />
	<field name="g_group9" descr="" access="RO" offset="0x98.0" size="0x0.16" />
	<field name="g_group8" descr="" access="RO" offset="0x98.16" size="0x0.16" />
	<field name="ja_group" descr="" access="RO" high_bound="27" low_bound="0" offset="0x9C.24" size="0x1c.0" />
	<field name="jb_group2" descr="" access="RO" offset="0xB8.0" size="0x0.9" />
	<field name="jb_group1" descr="" access="RO" offset="0xB8.11" size="0x0.9" />
	<field name="jb_group0" descr="" access="RO" offset="0xB8.23" size="0x0.9" />
	<field name="jb_group5" descr="" access="RO" offset="0xBC.0" size="0x0.9" />
	<field name="jb_group4" descr="" access="RO" offset="0xBC.11" size="0x0.9" />
	<field name="jb_group3" descr="" access="RO" offset="0xBC.23" size="0x0.9" />
	<field name="jb_group8" descr="" access="RO" offset="0xC0.0" size="0x0.9" />
	<field name="jb_group7" descr="" access="RO" offset="0xC0.11" size="0x0.9" />
	<field name="jb_group6" descr="" access="RO" offset="0xC0.23" size="0x0.9" />
	<field name="jb_group11" descr="" access="RO" offset="0xC4.0" size="0x0.9" />
	<field name="jb_group10" descr="" access="RO" offset="0xC4.11" size="0x0.9" />
	<field name="jb_group9" descr="" access="RO" offset="0xC4.23" size="0x0.9" />
	<field name="jb_group14" descr="" access="RO" offset="0xC8.0" size="0x0.9" />
	<field name="jb_group13" descr="" access="RO" offset="0xC8.11" size="0x0.9" />
	<field name="jb_group12" descr="" access="RO" offset="0xC8.23" size="0x0.9" />
	<field name="jb_group17" descr="" access="RO" offset="0xCC.0" size="0x0.9" />
	<field name="jb_group16" descr="" access="RO" offset="0xCC.11" size="0x0.9" />
	<field name="jb_group15" descr="" access="RO" offset="0xCC.23" size="0x0.9" />
	<field name="jb_group20" descr="" access="RO" offset="0xD0.0" size="0x0.9" />
	<field name="jb_group19" descr="" access="RO" offset="0xD0.11" size="0x0.9" />
	<field name="jb_group18" descr="" access="RO" offset="0xD0.23" size="0x0.9" />
	<field name="jb_group23" descr="" access="RO" offset="0xD4.0" size="0x0.9" />
	<field name="jb_group22" descr="" access="RO" offset="0xD4.11" size="0x0.9" />
	<field name="jb_group21" descr="" access="RO" offset="0xD4.23" size="0x0.9" />
	<field name="jb_group26" descr="" access="RO" offset="0xD8.0" size="0x0.9" />
	<field name="jb_group25" descr="" access="RO" offset="0xD8.11" size="0x0.9" />
	<field name="jb_group24" descr="" access="RO" offset="0xD8.23" size="0x0.9" />
	<field name="jc_group0" descr="" access="RO" offset="0xDC.7" size="0x0.13" />
	<field name="jb_group27" descr="" access="RO" offset="0xDC.23" size="0x0.9" />
	<field name="jc_group2" descr="" access="RO" offset="0xE0.5" size="0x0.13" />
	<field name="jc_group1" descr="" access="RO" offset="0xE0.19" size="0x0.13" />
	<field name="aa_group1" descr="" access="RO" offset="0xE4.24" size="0x0.3" />
	<field name="aa_group0" descr="" access="RO" offset="0xE4.27" size="0x0.5" />
	<field name="ac_group1" descr="" access="RO" offset="0xE8.0" size="0x0.16" />
	<field name="ac_group0" descr="" access="RO" offset="0xE8.16" size="0x0.16" />
	<field name="ad_group8" descr="" access="RO" offset="0xEC.3" size="0x0.4" />
	<field name="ad_group7" descr="" access="RO" offset="0xEC.7" size="0x0.3" />
	<field name="ad_group6" descr="" access="RO" offset="0xEC.10" size="0x0.1" />
	<field name="ad_group5" descr="" access="RO" offset="0xEC.11" size="0x0.5" />
	<field name="ad_group4" descr="" access="RO" offset="0xEC.16" size="0x0.5" />
	<field name="ad_group3" descr="" access="RO" offset="0xEC.21" size="0x0.2" />
	<field name="ad_group2" descr="" access="RO" offset="0xEC.23" size="0x0.2" />
	<field name="ad_group1" descr="" access="RO" offset="0xEC.25" size="0x0.4" />
	<field name="ad_group0" descr="" access="RO" offset="0xEC.29" size="0x0.3" />
	<field name="ah_group2" descr="" access="RO" offset="0xF0.0" size="0x0.5" />
	<field name="ah_group1" descr="" access="RO" offset="0xF0.5" size="0x0.5" />
	<field name="ah_group0" descr="" access="RO" offset="0xF0.10" size="0x0.16" />
	<field name="ad_group9" descr="" access="RO" offset="0xF0.27" size="0x0.5" />
	<field name="ai_group1" descr="" access="RO" offset="0xF4.0" size="0x0.6" />
	<field name="ai_group0" descr="" access="RO" offset="0xF4.6" size="0x0.6" />
	<field name="ah_group4" descr="" access="RO" offset="0xF4.19" size="0x0.6" />
	<field name="ah_group3" descr="" access="RO" offset="0xF4.25" size="0x0.7" />
	<field name="ai_group6" descr="" access="RO" offset="0xF8.2" size="0x0.6" />
	<field name="ai_group5" descr="" access="RO" offset="0xF8.8" size="0x0.6" />
	<field name="ai_group4" descr="" access="RO" offset="0xF8.14" size="0x0.6" />
	<field name="ai_group3" descr="" access="RO" offset="0xF8.20" size="0x0.6" />
	<field name="ai_group2" descr="" access="RO" offset="0xF8.26" size="0x0.6" />
	<field name="ai_group11" descr="" access="RO" offset="0xFC.2" size="0x0.6" />
	<field name="ai_group10" descr="" access="RO" offset="0xFC.8" size="0x0.6" />
	<field name="ai_group9" descr="" access="RO" offset="0xFC.14" size="0x0.6" />
	<field name="ai_group8" descr="" access="RO" offset="0xFC.20" size="0x0.6" />
	<field name="ai_group7" descr="" access="RO" offset="0xFC.26" size="0x0.6" />
	<field name="ai_group16" descr="" access="RO" offset="0x100.2" size="0x0.6" />
	<field name="ai_group15" descr="" access="RO" offset="0x100.8" size="0x0.6" />
	<field name="ai_group14" descr="" access="RO" offset="0x100.14" size="0x0.6" />
	<field name="ai_group13" descr="" access="RO" offset="0x100.20" size="0x0.6" />
	<field name="ai_group12" descr="" access="RO" offset="0x100.26" size="0x0.6" />
	<field name="ai_group21" descr="" access="RO" offset="0x104.2" size="0x0.6" />
	<field name="ai_group20" descr="" access="RO" offset="0x104.8" size="0x0.6" />
	<field name="ai_group19" descr="" access="RO" offset="0x104.14" size="0x0.6" />
	<field name="ai_group18" descr="" access="RO" offset="0x104.20" size="0x0.6" />
	<field name="ai_group17" descr="" access="RO" offset="0x104.26" size="0x0.6" />
	<field name="ai_group26" descr="" access="RO" offset="0x108.2" size="0x0.6" />
	<field name="ai_group25" descr="" access="RO" offset="0x108.8" size="0x0.6" />
	<field name="ai_group24" descr="" access="RO" offset="0x108.14" size="0x0.6" />
	<field name="ai_group23" descr="" access="RO" offset="0x108.20" size="0x0.6" />
	<field name="ai_group22" descr="" access="RO" offset="0x108.26" size="0x0.6" />
	<field name="ai_group31" descr="" access="RO" offset="0x10C.2" size="0x0.6" />
	<field name="ai_group30" descr="" access="RO" offset="0x10C.8" size="0x0.6" />
	<field name="ai_group29" descr="" access="RO" offset="0x10C.14" size="0x0.6" />
	<field name="ai_group28" descr="" access="RO" offset="0x10C.20" size="0x0.6" />
	<field name="ai_group27" descr="" access="RO" offset="0x10C.26" size="0x0.6" />
	<field name="ai_group36" descr="" access="RO" offset="0x110.2" size="0x0.6" />
	<field name="ai_group35" descr="" access="RO" offset="0x110.8" size="0x0.6" />
	<field name="ai_group34" descr="" access="RO" offset="0x110.14" size="0x0.6" />
	<field name="ai_group33" descr="" access="RO" offset="0x110.20" size="0x0.6" />
	<field name="ai_group32" descr="" access="RO" offset="0x110.26" size="0x0.6" />
	<field name="ai_group41" descr="" access="RO" offset="0x114.2" size="0x0.6" />
	<field name="ai_group40" descr="" access="RO" offset="0x114.8" size="0x0.6" />
	<field name="ai_group39" descr="" access="RO" offset="0x114.14" size="0x0.6" />
	<field name="ai_group38" descr="" access="RO" offset="0x114.20" size="0x0.6" />
	<field name="ai_group37" descr="" access="RO" offset="0x114.26" size="0x0.6" />
	<field name="ai_group46" descr="" access="RO" offset="0x118.2" size="0x0.6" />
	<field name="ai_group45" descr="" access="RO" offset="0x118.8" size="0x0.6" />
	<field name="ai_group44" descr="" access="RO" offset="0x118.14" size="0x0.6" />
	<field name="ai_group43" descr="" access="RO" offset="0x118.20" size="0x0.6" />
	<field name="ai_group42" descr="" access="RO" offset="0x118.26" size="0x0.6" />
	<field name="ai_group51" descr="" access="RO" offset="0x11C.2" size="0x0.6" />
	<field name="ai_group50" descr="" access="RO" offset="0x11C.8" size="0x0.6" />
	<field name="ai_group49" descr="" access="RO" offset="0x11C.14" size="0x0.6" />
	<field name="ai_group48" descr="" access="RO" offset="0x11C.20" size="0x0.6" />
	<field name="ai_group47" descr="" access="RO" offset="0x11C.26" size="0x0.6" />
	<field name="ai_group56" descr="" access="RO" offset="0x120.2" size="0x0.6" />
	<field name="ai_group55" descr="" access="RO" offset="0x120.8" size="0x0.6" />
	<field name="ai_group54" descr="" access="RO" offset="0x120.14" size="0x0.6" />
	<field name="ai_group53" descr="" access="RO" offset="0x120.20" size="0x0.6" />
	<field name="ai_group52" descr="" access="RO" offset="0x120.26" size="0x0.6" />
	<field name="ai_group61" descr="" access="RO" offset="0x124.2" size="0x0.6" />
	<field name="ai_group60" descr="" access="RO" offset="0x124.8" size="0x0.6" />
	<field name="ai_group59" descr="" access="RO" offset="0x124.14" size="0x0.6" />
	<field name="ai_group58" descr="" access="RO" offset="0x124.20" size="0x0.6" />
	<field name="ai_group57" descr="" access="RO" offset="0x124.26" size="0x0.6" />
	<field name="ai_group63" descr="" access="RO" offset="0x128.20" size="0x0.6" />
	<field name="ai_group62" descr="" access="RO" offset="0x128.26" size="0x0.6" />
</node>

<node name="sltr_periodic_non_destructive_part3_ext" descr="" size="0xc4.0" >
	<field name="n_group_exist" descr="" access="RO" offset="0x0.31" size="0x0.1" />
	<field name="n_group1" descr="" access="RO" offset="0x4.0" size="0x0.16" />
	<field name="n_group0" descr="" access="RO" offset="0x4.16" size="0x0.16" />
	<field name="n_group3" descr="" access="RO" offset="0x8.0" size="0x0.16" />
	<field name="n_group2" descr="" access="RO" offset="0x8.16" size="0x0.16" />
	<field name="n_group5" descr="" access="RO" offset="0xC.0" size="0x0.16" />
	<field name="n_group4" descr="" access="RO" offset="0xC.16" size="0x0.16" />
	<field name="n_group7" descr="" access="RO" offset="0x10.0" size="0x0.16" />
	<field name="n_group6" descr="" access="RO" offset="0x10.16" size="0x0.16" />
	<field name="n_group9" descr="" access="RO" offset="0x14.0" size="0x0.16" />
	<field name="n_group8" descr="" access="RO" offset="0x14.16" size="0x0.16" />
	<field name="n_group11" descr="" access="RO" offset="0x18.0" size="0x0.16" />
	<field name="n_group10" descr="" access="RO" offset="0x18.16" size="0x0.16" />
	<field name="n_group13" descr="" access="RO" offset="0x1C.0" size="0x0.16" />
	<field name="n_group12" descr="" access="RO" offset="0x1C.16" size="0x0.16" />
	<field name="n_group15" descr="" access="RO" offset="0x20.0" size="0x0.16" />
	<field name="n_group14" descr="" access="RO" offset="0x20.16" size="0x0.16" />
	<field name="n_group17" descr="" access="RO" offset="0x24.0" size="0x0.16" />
	<field name="n_group16" descr="" access="RO" offset="0x24.16" size="0x0.16" />
	<field name="n_group19" descr="" access="RO" offset="0x28.0" size="0x0.16" />
	<field name="n_group18" descr="" access="RO" offset="0x28.16" size="0x0.16" />
	<field name="n_group21" descr="" access="RO" offset="0x2C.0" size="0x0.16" />
	<field name="n_group20" descr="" access="RO" offset="0x2C.16" size="0x0.16" />
	<field name="n_group23" descr="" access="RO" offset="0x30.0" size="0x0.16" />
	<field name="n_group22" descr="" access="RO" offset="0x30.16" size="0x0.16" />
	<field name="n_group25" descr="" access="RO" offset="0x34.0" size="0x0.16" />
	<field name="n_group24" descr="" access="RO" offset="0x34.16" size="0x0.16" />
	<field name="n_group27" descr="" access="RO" offset="0x38.0" size="0x0.16" />
	<field name="n_group26" descr="" access="RO" offset="0x38.16" size="0x0.16" />
	<field name="n_group29" descr="" access="RO" offset="0x3C.0" size="0x0.16" />
	<field name="n_group28" descr="" access="RO" offset="0x3C.16" size="0x0.16" />
	<field name="n_group31" descr="" access="RO" offset="0x40.0" size="0x0.16" />
	<field name="n_group30" descr="" access="RO" offset="0x40.16" size="0x0.16" />
	<field name="n_group33" descr="" access="RO" offset="0x44.0" size="0x0.16" />
	<field name="n_group32" descr="" access="RO" offset="0x44.16" size="0x0.16" />
	<field name="n_group35" descr="" access="RO" offset="0x48.0" size="0x0.16" />
	<field name="n_group34" descr="" access="RO" offset="0x48.16" size="0x0.16" />
	<field name="n_group37" descr="" access="RO" offset="0x4C.0" size="0x0.16" />
	<field name="n_group36" descr="" access="RO" offset="0x4C.16" size="0x0.16" />
	<field name="n_group39" descr="" access="RO" offset="0x50.0" size="0x0.16" />
	<field name="n_group38" descr="" access="RO" offset="0x50.16" size="0x0.16" />
	<field name="n_group41" descr="" access="RO" offset="0x54.0" size="0x0.16" />
	<field name="n_group40" descr="" access="RO" offset="0x54.16" size="0x0.16" />
	<field name="n_group43" descr="" access="RO" offset="0x58.0" size="0x0.16" />
	<field name="n_group42" descr="" access="RO" offset="0x58.16" size="0x0.16" />
	<field name="n_group45" descr="" access="RO" offset="0x5C.0" size="0x0.16" />
	<field name="n_group44" descr="" access="RO" offset="0x5C.16" size="0x0.16" />
	<field name="n_group47" descr="" access="RO" offset="0x60.0" size="0x0.16" />
	<field name="n_group46" descr="" access="RO" offset="0x60.16" size="0x0.16" />
	<field name="n_group49" descr="" access="RO" offset="0x64.0" size="0x0.16" />
	<field name="n_group48" descr="" access="RO" offset="0x64.16" size="0x0.16" />
	<field name="n_group51" descr="" access="RO" offset="0x68.0" size="0x0.16" />
	<field name="n_group50" descr="" access="RO" offset="0x68.16" size="0x0.16" />
	<field name="n_group53" descr="" access="RO" offset="0x6C.0" size="0x0.16" />
	<field name="n_group52" descr="" access="RO" offset="0x6C.16" size="0x0.16" />
	<field name="n_group55" descr="" access="RO" offset="0x70.0" size="0x0.16" />
	<field name="n_group54" descr="" access="RO" offset="0x70.16" size="0x0.16" />
	<field name="n_group57" descr="" access="RO" offset="0x74.0" size="0x0.16" />
	<field name="n_group56" descr="" access="RO" offset="0x74.16" size="0x0.16" />
	<field name="n_group59" descr="" access="RO" offset="0x78.0" size="0x0.16" />
	<field name="n_group58" descr="" access="RO" offset="0x78.16" size="0x0.16" />
	<field name="n_group61" descr="" access="RO" offset="0x7C.0" size="0x0.16" />
	<field name="n_group60" descr="" access="RO" offset="0x7C.16" size="0x0.16" />
	<field name="n_group63" descr="" access="RO" offset="0x80.0" size="0x0.16" />
	<field name="n_group62" descr="" access="RO" offset="0x80.16" size="0x0.16" />
	<field name="n_group65" descr="" access="RO" offset="0x84.0" size="0x0.16" />
	<field name="n_group64" descr="" access="RO" offset="0x84.16" size="0x0.16" />
	<field name="n_group67" descr="" access="RO" offset="0x88.0" size="0x0.16" />
	<field name="n_group66" descr="" access="RO" offset="0x88.16" size="0x0.16" />
	<field name="n_group69" descr="" access="RO" offset="0x8C.0" size="0x0.16" />
	<field name="n_group68" descr="" access="RO" offset="0x8C.16" size="0x0.16" />
	<field name="n_group71" descr="" access="RO" offset="0x90.0" size="0x0.16" />
	<field name="n_group70" descr="" access="RO" offset="0x90.16" size="0x0.16" />
	<field name="n_group73" descr="" access="RO" offset="0x94.0" size="0x0.16" />
	<field name="n_group72" descr="" access="RO" offset="0x94.16" size="0x0.16" />
	<field name="n_group75" descr="" access="RO" offset="0x98.0" size="0x0.16" />
	<field name="n_group74" descr="" access="RO" offset="0x98.16" size="0x0.16" />
	<field name="n_group77" descr="" access="RO" offset="0x9C.0" size="0x0.16" />
	<field name="n_group76" descr="" access="RO" offset="0x9C.16" size="0x0.16" />
	<field name="n_group79" descr="" access="RO" offset="0xA0.0" size="0x0.16" />
	<field name="n_group78" descr="" access="RO" offset="0xA0.16" size="0x0.16" />
	<field name="n_group81" descr="" access="RO" offset="0xA4.0" size="0x0.16" />
	<field name="n_group80" descr="" access="RO" offset="0xA4.16" size="0x0.16" />
	<field name="n_group83" descr="" access="RO" offset="0xA8.0" size="0x0.16" />
	<field name="n_group82" descr="" access="RO" offset="0xA8.16" size="0x0.16" />
	<field name="n_group85" descr="" access="RO" offset="0xAC.0" size="0x0.16" />
	<field name="n_group84" descr="" access="RO" offset="0xAC.16" size="0x0.16" />
	<field name="n_group87" descr="" access="RO" offset="0xB0.0" size="0x0.16" />
	<field name="n_group86" descr="" access="RO" offset="0xB0.16" size="0x0.16" />
	<field name="n_group89" descr="" access="RO" offset="0xB4.0" size="0x0.16" />
	<field name="n_group88" descr="" access="RO" offset="0xB4.16" size="0x0.16" />
	<field name="n_group91" descr="" access="RO" offset="0xB8.0" size="0x0.16" />
	<field name="n_group90" descr="" access="RO" offset="0xB8.16" size="0x0.16" />
	<field name="n_group93" descr="" access="RO" offset="0xBC.0" size="0x0.16" />
	<field name="n_group92" descr="" access="RO" offset="0xBC.16" size="0x0.16" />
	<field name="n_group95" descr="" access="RO" offset="0xC0.0" size="0x0.16" />
	<field name="n_group94" descr="" access="RO" offset="0xC0.16" size="0x0.16" />
</node>

<node name="smid_ext" descr="" size="0x240.0" >
	<field name="mid" descr="Multicast identifier - global identifier that represents the multicast group\;Range 0 .. max_mid - 1\;For Spectrum/-2, pointer to PGT table, see Appendix A.2.2, &quot;Port Group Table (PGT)&quot; (page 4588)" access="INDEX" offset="0x0.0" size="0x0.16" />
	<field name="swid" descr="Switch partition ID\;Reserved when Spectrum/-2" access="INDEX" offset="0x0.24" size="0x0.8" />
	<field name="op" descr="opcode:\;0: UPDATE - (updates only according to the mask)\;1: WRITE - (all ports will become non-member followed by a write)" access="OP" enum="UPDATE=0x0,WRITE=0x1" offset="0x4.0" size="0x0.4" />
	<field name="smpe" descr="Switch multicast port to egress VID\;Reserved when ubridge=0\;Reserved when Spectrum-2" access="RW" offset="0x8.0" size="0x0.16" />
	<field name="smpe_valid" descr="SMPE is valid\;When not valid, the egress VID will not be modified by the SMPE table\;Reserved when ubridge=0\;Reserved when Spectrum-2" access="RW" offset="0x8.20" size="0x0.1" />
	<field name="port" descr="Local port membership \;0: Non-member \;1: Member - packets that point to the MID are transmitted into the port\;All LAG ports must share the same configuration.\; Refer to Section 9.2, &quot;Port Numbering&quot;, on page 2202 for port numbering scheme. Non-valid ports are reserved.\;CPU port is supported, trap_id is FDB\;Router port is supported" access="RW" high_bound="7" low_bound="0" offset="0x20.0" size="0x20.0" />
	<field name="mask" descr="Local port mask. Reserved on Get() operations.\;0: Do not update port state\;1: Update port membership based on the port value" access="WO" high_bound="7" low_bound="0" offset="0x220.0" size="0x20.0" />
</node>

<node name="smid_v2_ext" descr="" size="0x120.0" >
	<field name="mid" descr="Multicast identifier - global identifier that represents the multicast group\;For Spectrum/-2, pointer to PGT table, see A.2.2 &quot;Port Group Table (PGT),&quot; on page 4588" access="INDEX" offset="0x0.0" size="0x0.16" />
	<field name="swid" descr="Switch partition ID\;Reserved when Spectrum/-2" access="INDEX" offset="0x0.24" size="0x0.8" />
	<field name="op" descr="opcode:\;0: UPDATE - (updates only according to the mask)\;1: WRITE - (all ports will become non-member followed by a write)" access="OP" enum="UPDATE=0x0,WRITE=0x1" offset="0x4.0" size="0x0.4" />
	<field name="smpe" descr="Switch multicast port to egress VID\;Reserved when ubridge=0\;Reserved when Spectrum-2" access="RW" offset="0x8.0" size="0x0.16" />
	<field name="smpe_valid" descr="SMPE is valid\;When not valid, the egress VID will not be modified by the SMPE table\;Reserved when ubridge=0\;Reserved when Spectrum-2" access="RW" offset="0x8.20" size="0x0.1" />
	<field name="port" descr="Local port membership \;0: Non-member \;1: Member - packets that point to the MID are transmitted into the port\;All LAG ports must share the same configuration.\;Refer to Section 9.2, &quot;Port Numbering&quot;, on page 2202 for port numbering scheme. Non-valid ports are reserved.\;CPU port is supported, trap_id is FDB\;Router port is supported" access="RW" high_bound="31" low_bound="0" offset="0x20.0" size="0x80.0" />
	<field name="mask" descr="Local port mask. Reserved on Get() operations.\;0: Do not update port state\;1: Update port membership based on the port value" access="WO" high_bound="31" low_bound="0" offset="0xA0.0" size="0x80.0" />
</node>

<node name="smpe_ext" descr="" size="0xc.0" >
	<field name="lp_msb" descr="Local port[9:8]" access="INDEX" offset="0x0.12" size="0x0.2" />
	<field name="local_port" descr="Local port number\;CPU port is not supported" access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="smpe_index" descr="Switch multicast port to egress VID\;Range is 0.. cap_max_rmpe - 1\;Note: when ubridge=1 the rmpe and smpe use the same range, see RMPE register" access="INDEX" offset="0x4.0" size="0x0.16" />
	<field name="evid" descr="Egress VID" access="RW" offset="0x8.0" size="0x0.12" />
</node>

<node name="smpeb_elport_record_auto_ext" descr="" attr_is_union="1" size="0x4.0" >
	<field name="smpeb_elport_record_ext" descr="" subnode="smpeb_elport_record_ext" offset="0x0.0" size="0x4.0" />
</node>

<node name="smpeb_elport_record_ext" descr="" size="0x4.0" >
	<field name="value" descr="Value:" access="RW" offset="0x0.0" size="0x0.20" />
	<field name="update" descr="Update enable (when write):\;0: do not update the entry\;1: update the entry" access="OP" offset="0x0.31" size="0x0.1" />
</node>

<node name="smpeb_ext" descr="" size="0x420.0" >
	<field name="smpe_index" descr="Switch multicast port to egress VID\;When ubridge=0: Range is 0.. cap_max_rmpe - max_fid - 1\;When ubridge=1: Range is 0.. cap_max_rmpe - 1\;Note: when ubridge=1 the rmpe and smpe use the same range, see RMPE register" access="INDEX" offset="0x4.0" size="0x0.16" />
	<field name="elport_page" descr="egress local port page:\;elport_record[0] is 256*elport_page" access="INDEX" offset="0x8.0" size="0x0.4" />
	<field name="elport_record" descr="egress local port record\;record i for local_port i\;See Table 1651, &quot;SMPEB - elport_record Layout,&quot; on page 2125" subnode="smpeb_elport_record_auto_ext" access="RW" high_bound="255" low_bound="0" offset="0x20.0" size="0x400.0" />
</node>

<node name="smpu_ext" descr="" size="0x410.0" >
	<field name="lp_msb" descr="Local port[9:8]" access="INDEX" offset="0x0.12" size="0x0.2" />
	<field name="local_port" descr="Local port to send the packet\;CPU port is supported, trap_id is FDB\;Router port is supported" access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="swid" descr="Switch partition ID\;Reserved when Spectrum/-2" access="INDEX" offset="0x0.24" size="0x0.8" />
	<field name="size" descr="Number of valid MIDs to be updated.\;Range is 1 to 256" access="INDEX" offset="0x4.16" size="0x0.9" />
	<field name="op" descr="Operation\;0: Set bit\;1: Clear bit" access="WO" offset="0x4.30" size="0x0.2" />
	<field name="mid" descr="MID list to where the relevant local_port bit indication is to be set/cleared.\;Range 0 .. max_mid - 1\;For Spectrum, pointer to PGT table, see Appendix A.2.2, &quot;Port Group Table (PGT)&quot; (page 4588)" subnode="mid" access="INDEX" high_bound="255" low_bound="0" offset="0x10.0" size="0x400.0" />
</node>

<node name="spad_ext" descr="" size="0x10.0" >
	<field name="base_mac_47_32" descr="MAC address for the switch, global value to all ports.\;Configures the mirror agent SMAC.\;\;For SwitchX/-2:\;Base MAC address for the switch partitions.\;Per switch partition MAC address is equal to:\;base_mac + swid" access="RW" offset="0x0.0" size="0x0.16" />
	<field name="base_mac_31_0" descr="" access="RW" offset="0x4.0" size="0x4.0" />
</node>

<node name="spaft_ext" descr="" size="0x8.0" >
	<field name="lp_msb" descr="Local port[9:8]" access="INDEX" offset="0x0.12" size="0x0.2" />
	<field name="local_port" descr="Local port number\;Not supported for CPU port (for CPU port all tag types are allowed)" access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="allow_tagged" descr="When set, tagged frames on the ingress are admitted (default 1)" access="RW" offset="0x4.29" size="0x0.1" />
	<field name="allow_priotagged" descr="When set, priority tagged frames on the ingress are admitted (default 1)" access="RW" offset="0x4.30" size="0x0.1" />
	<field name="allow_untagged" descr="When set, untagged frames on the ingress are admitted (default 1)" access="RW" offset="0x4.31" size="0x0.1" />
</node>

<node name="spevet_ext" descr="" size="0x8.0" >
	<field name="lp_msb" descr="Local port[9:8]" access="INDEX" offset="0x0.12" size="0x0.2" />
	<field name="local_port" descr="Egress Local port number\;Not supported to CPU port" access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="et_vlan" descr="Egress ethertype VLAN when egr_et_set field set for the packet:\;0: ether_type0 - (default)\;1: ether_type1\;2: ether_type2\;\;Note - For packets egressing from this local_port after router, the ethertype of the VLAN header would be chosen according to this value.\;" access="RW" enum="ether_type0=0x0,ether_type1=0x1,ether_type2=0x2" offset="0x4.16" size="0x0.2" />
</node>

<node name="spfsr_ext" descr="" size="0x8.0" >
	<field name="lp_msb" descr="Local port[9:8]" access="INDEX" offset="0x0.12" size="0x0.2" />
	<field name="local_port" descr="Local port number\;Not supported for CPU port" access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="security" descr="Security Checks\;0: security checks disabled, default\;1: security checks enabled\;" access="RW" offset="0x4.31" size="0x0.1" />
</node>

<node name="spgt_ext" descr="" size="0x240.0" >
	<field name="pgi" descr="Multicast port group index - index into the Port group table (PGT)" access="INDEX" offset="0x0.0" size="0x0.13" />
	<field name="range" descr="Range of entries on which the op is executed. Allows executing the same operation on multiple entries. op will be executed on the entries in the range of pgi to (pgi + range - 1).\;Reserved when Read operations." access="INDEX" offset="0x4.0" size="0x0.12" />
	<field name="port" descr="Local port membership. A bit vector where each port represents a local port. \;0: Non-member\;1: Member - multicast packets that point to the record are transmitted into the port\;All LAG ports must share the same configuration.Refer to Section 9.2, &quot;Port Numbering&quot;, on page 2202 for port numbering scheme." access="RW" high_bound="7" low_bound="0" offset="0x20.0" size="0x20.0" />
	<field name="mask" descr="Local port mask. A bit vector where each port represents a local port.\;0: Do not update port state.\;1: Update port membership based on the op and the port value" access="WO" high_bound="7" low_bound="0" offset="0x220.0" size="0x20.0" />
</node>

<node name="spms_ext" descr="" size="0x404.0" >
	<field name="lp_msb" descr="Local port[9:8]" access="INDEX" offset="0x0.12" size="0x0.2" />
	<field name="local_port" descr="Local port number\;Not supported for CPU port" access="INDEX" offset="0x0.16" size="0x0.8" />
</node>

<node name="spms_v2_ext" descr="" size="0x400.0" >
	<field name="num_rec" descr="Local port[9:8]" access="INDEX" offset="0x0.0" size="0x0.8" />
	<field name="lp_msb" descr="Virtual port within the physical port. \;0 when virtual ports are not enabled on the port." access="INDEX" offset="0x0.12" size="0x0.2" />
	<field name="local_port" descr="Local port number\;Not supported for CPU port" access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="allv" descr="Apply to all VLANs" access="OP" offset="0x0.31" size="0x0.1" />
	<field name="vid_record" descr="See Table 1559, &quot;SPMS_V2 VID Record Layout,&quot; on page 2065" subnode="spms_v2_vid_record_ext" access="RW" high_bound="254" low_bound="0" offset="0x4.0" size="0x3fc.0" />
</node>

<node name="spms_v2_vid_record_ext" descr="" size="0x4.0" >
	<field name="vid" descr="VLAN ID to be added/removed from port or for querying" access="INDEX" offset="0x0.0" size="0x0.12" />
	<field name="state" descr="MSTP/RSTP State ovtn VID &lt;i&gt;\;1: STP_DISCARDING - Disable learning. No forwarding to/from this port (default)\;2: STP_LEARNING - Enable learning. No frame forwarding to/from this port\;3: STP_FORWARDING - port is learning and forwarding\;" access="RW" enum="STP_DISCARDING=0x1,STP_LEARNING=0x2,STP_FORWARDING=0x3" offset="0x0.12" size="0x0.2" />
</node>

<node name="spvc_ext" descr="" size="0xc.0" >
	<field name="lp_msb" descr="Local Port[9:8]" access="INDEX" offset="0x0.12" size="0x0.2" />
	<field name="local_port" descr="Local Port\;Supported from CPU port\;Note: applies both to Rx port and Tx port, so if a packet traverses through Rx port &lt;i&gt; and a Tx port &lt;j&gt; then port &lt;i&gt; and port &lt;j&gt; must have the same configuration." access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="et0" descr="VLAN Tag0 EtherType0 enable\;Packet is initially classified as VLAN Tag if its tag0 EtherType is equal to ether_type0\;0: disable\;1: enable (default)" access="RW" offset="0x8.0" size="0x0.1" />
	<field name="inner_et0" descr="VLAN Tag1 EtherType0 enable\;Packet is initially classified as double VLAN Tag if in addition to being classified with a tag0 VLAN Tag its tag1 EtherType value is equal to ether_type0\;0: disable\;1: enable (default)" access="RW" offset="0x8.1" size="0x0.1" />
	<field name="et1" descr="VLAN Tag0 EtherType1 enable\;Packet is initially classified as VLAN Tag if its tag0 EtherType is equal to ether_type1\;0: disable\;1: enable (default)" access="RW" offset="0x8.8" size="0x0.1" />
	<field name="inner_et1" descr="VLAN Tag1 EtherType1 enable\;Packet is initially classified as double VLAN Tag if in addition to being classified with a tag0 VLAN Tag its tag1 EtherType value is equal to ether_type1\;0: disable\;1: enable (default)" access="RW" offset="0x8.9" size="0x0.1" />
	<field name="et2" descr="VLAN Tag0 EtherType2 enable\;Packet is initially classified as VLAN Tag if its tag0 EtherType is equal to ether_type2\;0: disable (default)\;1: enable" access="RW" offset="0x8.16" size="0x0.1" />
	<field name="inner_et2" descr="VLAN Tag1 EtherType2 enable\;Packet is initially classified as double VLAN Tag if in addition to being classified with a tag0 VLAN Tag its tag1 EtherType value is equal to ether_type2\;0: disable (default)\;1: enable" access="RW" offset="0x8.17" size="0x0.1" />
</node>

<node name="spvid_ext" descr="" size="0x8.0" >
	<field name="lp_msb" descr="Local port[9:8]" access="INDEX" offset="0x0.12" size="0x0.2" />
	<field name="local_port" descr="When tport = 0:\;Ingress Local port number\;Not supported for CPU port (it is expected that CPU data packets are tagged)\;When tport = 1: Tunnel port" access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="tport" descr="Port is tunnel port\;Reserved when SwitchX/-2 or Spectrum" access="INDEX" offset="0x0.24" size="0x0.1" />
	<field name="pvid" descr="Port default VID (default PVID is 001h)" access="RW" offset="0x4.0" size="0x0.12" />
	<field name="et_vlan" descr="EtherType used for when VLAN is pushed at ingress (for untagged packets or for QinQ push mode)\;0: ether_type0 - (default)\;1: ether_type1\;2: ether_type2 - Reserved when Spectrum, supported by Spectrum-2\;Ethertype IDs are configured by SVER, see Section 7.12.38, &quot;SVER - Switch VLAN EtherType Register&quot;, on page 2117\;Reserved when egr_et_set = 1\;Reserved when SwitchX/-2" access="RW" enum="ether_type0=0x0,ether_type1=0x1,ether_type2=0x2" offset="0x4.16" size="0x0.2" />
	<field name="egr_et_set" descr="When VLAN is pushed at ingress (for untagged packets or for QinQ push mode) then the Ethertype is decided at egress port.\;0: Ethertype decided at ingress, by SPVID.et_vlan\;1: Ethertype decided at egress, by SPEVET.et_vlan\;\;Note: if configured then also for L2 tunnel encap the overlay VLAN Ethertype will be decided at physical egress port.\;Note: if configured then also for tunnel_port (after L2 tunnel decap) the overlay VLAN Ethertype will be decided at physical egress port.\;Reserved when Spectrum" access="RW" offset="0x4.24" size="0x0.1" />
</node>

<node name="spvm_ext" descr="" size="0x400.0" >
	<field name="num_rec" descr="Number of records to update. Each record contains: i, e, u, vid.\;Range 1..255" access="OP" offset="0x0.0" size="0x0.8" />
	<field name="lp_msb" descr="Local port[9:8]" access="INDEX" offset="0x0.12" size="0x0.2" />
	<field name="local_port" descr="Local port number\;Not supported for CPU port" access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="pte" descr="Priority Tagged Update Enable\;On Write operations, if this bit is cleared, the pt bit will NOT be updated. To update the pt bit, pte must be set." access="WO" offset="0x0.30" size="0x0.1" />
	<field name="pt" descr="Priority tagged.\;If this bit is set, packets forwarded to the port with untagged VLAN membership (u bit is set) will be tagged with priority tag (VID=0).\;For Spectrum this field must not be modified for an active port (a port which has traffic egressing through it). \;For Spectrum, setting SPVTR.epvid_mode will modify this field" access="RW" offset="0x0.31" size="0x0.1" />
	<field name="vid_record" descr="See Table 1569, &quot;VID Record Layout&quot;" subnode="vid_record_ext" access="RW" high_bound="254" low_bound="0" offset="0x4.0" size="0x3fc.0" />
</node>

<node name="spvmlr_ext" descr="" size="0x400.0" >
	<field name="num_rec" descr="Number of records to update. Each record contains: learn_enable\;Note: setting num_rec to &apos;0&apos; indicates one record (same as setting num_rec to one).\;" access="OP" offset="0x0.0" size="0x0.8" />
	<field name="lp_msb" descr="Local port[9:8]" access="INDEX" offset="0x0.12" size="0x0.2" />
	<field name="local_port" descr="Local port (receive)\;Not supported from CPU port\;Not supported from Router port" access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="vid_learn_enable" descr="List of VLAN IDs and the learn enable state for each of the IDs.\;For layout, see Table 1633, &quot;VID Learn Record Layout,&quot; on page 2110" subnode="vid_learn_record_ext" access="RW" high_bound="254" low_bound="0" offset="0x4.0" size="0x3fc.0" />
</node>

<node name="spvtr_ext" descr="" size="0x10.0" >
	<field name="lp_msb" descr="Local port[9:8]" access="INDEX" offset="0x0.12" size="0x0.2" />
	<field name="local_port" descr="When tport = 0:\;Local port number\;Not supported from/to CPU\;When tport = 1: Tunnel port" access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="tport" descr="Port is tunnel port\;Reserved when SwitchX/-2 or Spectrum" access="INDEX" offset="0x0.24" size="0x0.1" />
	<field name="epvid_mode" descr="Egress Port VLAN-ID Mode\;0: IEEE Compliant VLAN membership\;1: pop VLAN (for VLAN stacking)\;For Spectrum family, this affects the values of SPVM.e,u,pt. And this fields is a WO" access="RW" offset="0x4.0" size="0x0.4" />
	<field name="ipvid_mode" descr="Ingress Port VLAN-ID Mode\;0: IEEE Compliant PVID (default)\;1: push VLAN (for VLAN stacking, except prio tagged packets)\;2: always push VLAN (also for prio tagged packets) - reserved when SwitchX/-2\;For Spectrum/-2, this affects the values of SPVM.i" access="RW" offset="0x4.16" size="0x0.4" />
	<field name="ipprio_mode" descr="Ingress Port Priority Mode\;This controls the PCP and DEI of the new outer VLAN\;Note: for SwitchX/-2 the DEI is not affected.\;0: use port default PCP and DEI (configured by QPDPC)\;1: use C-VLAN PCP and DEI\;See Section 12.12.13, &quot;QPDPC - QoS Port Default PCP&quot;, on page 3946\;Has no effect when ipvid_mode = 0\;Reserved when tport = 1. See TNQCR." access="RW" offset="0x4.20" size="0x0.4" />
	<field name="epve" descr="Egress Port VID Mode Update Enable\;When set, the Egress Port VID Mode is updated with the provided epvid_mode field" access="OP" offset="0x4.29" size="0x0.1" />
	<field name="ipve" descr="Ingress Port VID Mode Update Enable\;When set, the Ingress Port VID Mode is updated with the provided ipvid_mode field\;Reserved on Get operations" access="OP" offset="0x4.30" size="0x0.1" />
	<field name="ippe" descr="Ingress Port Prio Mode Update Enable\;When set, the Port Prio Mode is updated with the provided ipprio_mode field\;Reserved on Get operations" access="OP" offset="0x4.31" size="0x0.1" />
	<field name="ethertype" descr="Ethertype to be used at egress when pushing new VLAN tag for VLAN stacking (default=0x8100)\;Reserved when Spectrum/-2" access="RW" offset="0xC.0" size="0x0.16" />
	<field name="ete" descr="Ethertype Update Enable\;When set, the Ethertype is updated with the provided ethertype field\;Reserved when Spectrum/-2" access="OP" offset="0xC.31" size="0x0.1" />
</node>

<node name="spzr_ext" descr="" size="0x70.0" >
	<field name="enh_sw_p0" descr="When set, it enables enhanced switch port 0. Reported in NodeInfo.\;Otherwise, enhanced switch port 0 is disabled.\;Reserved when router_entity is set." access="RW" offset="0x0.1" size="0x0.1" />
	<field name="g0" descr="Set the desired port GUID.\;When router_entity is set, it indicates router port GUID." access="WO" offset="0x0.8" size="0x0.1" />
	<field name="ng" descr="Set node GUID to node_guid specified.\;node_guid and ng must be the same for all ports." access="WO" offset="0x0.9" size="0x0.1" />
	<field name="sig" descr="Set system image GUID to system_image_guid specified. \;system_image_guid and sig must be the same for all ports." access="WO" offset="0x0.10" size="0x0.1" />
	<field name="mp" descr="Change PKey table size to max_pkey.\;\;Reserved when router_entity is set." access="WO" offset="0x0.11" size="0x0.1" />
	<field name="vk" descr="Set the internal GSA V_Key. Incoming VendorSpecific MADs must have matching V_Key to the one set by this command.\;Reserved when router_entity is set." access="WO" offset="0x0.12" size="0x0.1" />
	<field name="cm" descr="Set PortInfo:CapabilityMask to PortInfo:CapabilityMask specified.\;Reserved when router_entity is set." access="WO" offset="0x0.13" size="0x0.1" />
	<field name="enh_sw_p0_mask" descr="Enhanced switch port 0 mask. When 1, the EnhSwP0 field is valid (see below). When 0, the EnhSwP0 field is ignored.\;Reserved when router_entity is set." access="WO" offset="0x0.14" size="0x0.1" />
	<field name="ndm" descr="Node description mask. Set to 1 to write the NodeDescription field (see below).\;" access="WO" offset="0x0.15" size="0x0.1" />
	<field name="cm2" descr="Set PortInfo:CapabilityMask2 to PortInfo:CapabilityMask2 specified.\;Reserved when router_entity is set." access="WO" offset="0x0.16" size="0x0.1" />
	<field name="router_entity" descr="0: index is according to swid\;1: index refers to router entity" access="INDEX" offset="0x0.17" size="0x0.1" />
	<field name="swid" descr="Switch partition to which the command applies\;When router_entity is set, indicates router port number." access="INDEX" offset="0x0.24" size="0x0.8" />
	<field name="capability_mask" descr="Sets the PortInfoCapabilityMask:\;Specifies the supported capabilities of this node. A bit set to 1 for affirmation of supported capability.\;0: Reserved\;1: IsSM\;2: IsNoticeSupported\;3: IsTrapSupported\;4: Reserved\;5: IsAutomaticMigrationSupported\;6: IsSLMappingSupported\;7: IsMKeyNVRAM - (supports M_Key in NVRAM)\;8: IsPKeyNVRAM - (supports P_Key in NVRAM)\;9: IsLEDInfoSupported\;10: IsSMdisabled\;11: IsSystemImageGUIDSupported\;12: IsPKeySwitchExternalPortTrapSupported\;13: Reserved\;14: Reserved\;15: Reserved\;16: IsCommunicationManagementSupported\;17: IsSNMPTunnelingSupported\;18: IsReinitSupported\;19: IsDeviceManagementSupported\;20: IsVendorClassSupported\;21: IsDRNoticeSupported\;22: IsCapabilityMaskNoticeSupported\;23: IsBootManagementSupported\;24: IsLinkRoundTripLatencySupported\;25: IsClientReregistrationSupported\;26: IsOtherLocalChangesNoticeSupported\;27: IsLinkSpeedWidthPairsTableSupported\;Other values Reserved.\;Reserved when router_entity is set." access="RW" offset="0x4.0" size="0x4.0" />
	<field name="system_image_guid_h" descr="System Image GUID, takes effect only if the sig bit is set. Must be the same for both ports." access="RW" offset="0x8.0" size="0x4.0" />
	<field name="system_image_guid_l" descr="System Image GUID, takes effect only if the sig bit is set. Must be the same for both ports." access="RW" offset="0xC.0" size="0x4.0" />
	<field name="guid0_h" descr="EUI-64 GUID assigned by the manufacturer, takes effect only if the g0 bit is set.\;When router_entity is set, indicates router port GUID." access="RW" offset="0x10.0" size="0x4.0" />
	<field name="guid0_l" descr="EUI-64 GUID assigned by the manufacturer, takes effect only if the g0 bit is set.\;When router_entity is set, indicates router port GUID." access="RW" offset="0x14.0" size="0x4.0" />
	<field name="node_guid_h" descr="Node GUID, takes effect only if the ng bit is set\;Must be the same for both ports." access="RW" offset="0x18.0" size="0x4.0" />
	<field name="node_guid_l" descr="Node GUID, takes effect only if the ng bit is set\;Must be the same for both ports." access="RW" offset="0x1C.0" size="0x4.0" />
	<field name="capability_mask2" descr="" access="RW" offset="0x28.0" size="0x4.0" />
	<field name="max_pkey" descr="Maximum pkeys for the port.\;Must be the same for both ports.\;Takes effect if the mp bit is set.\;Reserved when router_entity is set." access="RO" offset="0x2C.16" size="0x0.16" />
	<field name="node_description" descr="Text string that describes the node" access="RW" high_bound="15" low_bound="0" offset="0x30.0" size="0x40.0" />
</node>

<node name="sspr_ext" descr="" size="0x8.0" >
	<field name="lp_msb" descr="Local port[9:8]" access="RW" offset="0x0.12" size="0x0.2" />
	<field name="local_port" descr="Local port to send the packet" access="RW" offset="0x0.16" size="0x0.8" />
	<field name="m" descr="Master - if set then this record describes the master system port. Only one master system port is allowed per local port.\;Must be set for Spectrum" access="RW" offset="0x0.31" size="0x0.1" />
	<field name="system_port" descr="Unique port identifier for the final destination of the packet\;Range is 1 to cap_max_system_port\;For Spectrum see the cap_max_system_port at Appendix A.7, &quot;Ethernet Switching Resources&quot; (page 4612)" access="INDEX" offset="0x4.0" size="0x0.16" />
</node>

<node name="stat_bufferx_reg_ext" descr="" size="0x8.0" >
	<field name="watermark" descr="Watermark in cells (max buffer usage since last clear)\;For stat_shared_headroom_pool, this field is reserved." access="RO" offset="0x0.0" size="0x0.16" />
	<field name="used_buffer" descr="Number of used buffer cells.\;For stat_port_shared_headroom_pool this field is reserved." access="RO" offset="0x4.0" size="0x0.16" />
</node>

<node name="string_db_parameters_ext" descr="" size="0x8.0" >
	<field name="string_db_base_address" descr="Offset of the first string of the section, relative to the entire string data base, given in bytes." access="RO" offset="0x0.0" size="0x4.0" />
	<field name="string_db_size" descr="Size of string database section, given in bytes" access="RO" offset="0x4.0" size="0x0.24" />
</node>

<node name="sver_ext" descr="" size="0x10.0" >
	<field name="ether_type0" descr="VLAN EtherType0\;Used for VLAN parsing, pushing, Mirroring and ACL actions\;Default: 0x8100" access="RW" offset="0x4.16" size="0x0.16" />
	<field name="ether_type1" descr="VLAN EtherType1\;Used for VLAN parsing, pushing, Mirroring and ACL actions\;Default: 0x88A8" access="RW" offset="0x8.16" size="0x0.16" />
	<field name="ether_type2" descr="VLAN Ether type2\;Used for VLAN parsing, pushing, Mirroring and ACL actions" access="RW" offset="0xC.16" size="0x0.16" />
</node>

<node name="svfa_ext" descr="" size="0x18.0" >
	<field name="v" descr="Valid\;Indicates the VID to FID mapping entry is valid. \;Reserved when SwitchX/-2, where entries are always valid and can not be invalidated regardless of the v bit value." access="RW" offset="0x0.0" size="0x0.1" />
	<field name="tport" descr="Port is tunnel port.\;When tport=1 then the tunnel_port may be flex0 or flex1. Thus mapping {tunnel_port,vid} -&gt; fid at decap" access="INDEX" offset="0x0.7" size="0x0.1" />
	<field name="mapping_table" descr="Mapping table:\;0: VLAN_mapping_table - VID to FID mapping\;1: Port_VLAN_mapping_table - {Port,VID} to FID mapping\;2: VNI_mapping_table - VNI to FID mapping. Reserved when ubridge = 0" access="INDEX" enum="VLAN_mapping_table=0x0,Port_VLAN_mapping_table=0x1,VNI_mapping_table=0x2" offset="0x0.8" size="0x0.3" />
	<field name="lp_msb" descr="Local port[9:8]" access="INDEX" offset="0x0.12" size="0x0.2" />
	<field name="local_port" descr="When tport=0:\;Local port number\;\;When tport=1:\;Tunnel port - only flex0 and flex1 are valid values.\;\;Reserved when mapping_table = &apos;0&apos; (VLAN mapping)\;Reserved when mapping_table = &apos;2&apos; (VNI mapping)" access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="swid" descr="Switch partition ID\;Reserved when Spectrum devices" access="INDEX" offset="0x0.24" size="0x0.8" />
	<field name="vid" descr="VLAN ID\;Reserved when mapping_table = &apos;2&apos; (VNI mapping)" access="INDEX" offset="0x4.0" size="0x0.12" />
	<field name="fid" descr="Filtering ID\;Cannot be modified for a valid (v=1) mapping\;Reserved when trap_action is TRAP or DISCARD_ERROR\;\;Value 0 is reserved" access="RW" offset="0x4.16" size="0x0.16" />
	<field name="counter_index" descr="Counter Index for flow counters.\;For Spectrum/-2: see Section 5.2, &quot;Flow Counters&quot;, on page 1404\;Reserved when SwitchX/-2" access="RW" offset="0x8.0" size="0x0.24" />
	<field name="counter_set_type" descr="Counter Set Type for flow counters.\;For Spectrum/-2: See Section 5.2.2, &quot;Counter Set Type&quot;, on page 1405\;Spectrum-2: Note that for router-sub-port at the FID after routing there is no counting. If need counter then use fid-rif. \;Also when iACL set fis then no fid counting. \;Reserved when SwitchX/-2" access="RW" offset="0x8.24" size="0x0.8" />
	<field name="trap_action" descr="Trap Action\;0x0: NOP\;0x1: TRAP\;0x2: MIRROR_TO_CPU\;0x3: MIRROR\;0x4: DISCARD_ERROR\;For TRAP and MIRROR_TO_CPU the trap-ID is FID_TRAP\;Reserved when SwitchX/-2\;Spectrum-2 - note that for router-sub-port, at the FID after routing there is no trap (behavior is NOP). If need trap then use fid-rif\;" access="RW" enum="NOP=0x0,TRAP=0x1,MIRROR_TO_CPU=0x2,MIRROR=0x3,DISCARD_ERROR=0x4" offset="0xC.28" size="0x0.4" />
	<field name="vni" descr="vni\;Reserved when mapping_table != &apos;2&apos; (VNI mapping table)" access="INDEX" offset="0x10.0" size="0x0.24" />
	<field name="irif" descr="Ingress RIF (Router Interface)\;Range is 0.. cap_max_router_interfaces-1\;Reserved when ubridge = 0\;Reserved when irif_v = 0\;\;" access="RW" offset="0x14.0" size="0x0.16" />
	<field name="irif_v" descr="Ingress RIF valid:\;0: irif is not valid, no irif assigned\;1: irif valid\;Must not be set for a non enabled RIF\;Reserved when ubridge = 0" access="RW" offset="0x14.24" size="0x0.1" />
</node>

<node name="svpcn_ext" descr="" size="0x10.0" >
	<field name="clear" descr="Clear the counter" access="OP" offset="0x0.31" size="0x0.1" />
	<field name="ingress_general_high" descr="Counts drops in the ingress to the bridge.\;Counts drops due to egress port down or due to isolation." access="RO" offset="0x8.0" size="0x4.0" />
	<field name="ingress_general_low" descr="Counts drops in the ingress to the bridge.\;Counts drops due to egress port down or due to isolation." access="RO" offset="0xC.0" size="0x4.0" />
</node>

<node name="svpe_ext" descr="" size="0x4.0" >
	<field name="vp_en" descr="Virtual Port Enable:\;0: VLAN mode, ingress VID to FID mapping\;1: Virtual Port mode, ingress {Port,VID} to FID mapping\;2: VNI2FID mode, reserved when tport=0, reserved when Spectrum-1\;When tport=1 and local_port=0 then default is &apos;2&apos;\;When tport=1 and local_port=1 then default is &apos;1&apos;\;When tport=1 and local_port=2 then default is &apos;1&apos;\;When tport=1 and local_port=3 then default is &apos;1&apos;" access="RW" offset="0x0.8" size="0x0.2" />
	<field name="lp_msb" descr="Local port[9:8]" access="INDEX" offset="0x0.12" size="0x0.2" />
	<field name="local_port" descr="When tport = 0:\;Ingress local port number\;Not supported for CPU port (CPU port uses VLAN mode)" access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="tport" descr="Port is tunnel port" access="INDEX" offset="0x0.28" size="0x0.1" />
</node>

<node name="system_port" descr="" size="0x4.0" >
	<field name="system_port" descr="" offset="0x0.0" size="0x0.16" />
</node>

<node name="tidem_ext" descr="" size="0xc.0" >
	<field name="eip_ecn" descr="Egress IP ECN\;ECN field of the IP header of the packet which goes out from the decapsulation" access="RW" offset="0x4.8" size="0x0.2" />
	<field name="overlay_ecn" descr="ECN field of the IP header in the overlay network" access="INDEX" offset="0x4.16" size="0x0.2" />
	<field name="underlay_ecn" descr="ECN field of the IP header in the underlay network" access="INDEX" offset="0x4.24" size="0x0.2" />
	<field name="trap_id" descr="Trap ID\;Trap-ID is DECAP_ECN0 or DECAP_ECN1\;Reserved when trap_en is &apos;0&apos;" access="RW" offset="0x8.0" size="0x0.9" />
	<field name="trap_en" descr="Trap enable:\;0: no_trap - due to decap ecn\;1: trap_enable - with trap_id. HPKT can control the trap action. See Section 2.17.3, &quot;HPKT - Host PacKet Trap&quot;, on page 689" access="RW" enum="no_trap=0x0,trap_enable=0x1" offset="0x8.28" size="0x0.4" />
</node>

<node name="tieem_ext" descr="" size="0xc.0" >
	<field name="underlay_ecn" descr="ECN of the IP header in the underlay network." access="RW" offset="0x4.16" size="0x0.2" />
	<field name="overlay_ecn" descr="ECN of the IP header in the overlay network.\;If the packet has no IP header, the encapsulation uses the mapped value for overlay_ecn of 0." access="INDEX" offset="0x4.24" size="0x0.2" />
</node>

<node name="tigcr_ext" descr="" size="0x18.0" >
	<field name="ipip_ttl_uc" descr="The TTL for IPinIP Tunnel encapsulation of underlay unicast packets.\;If ipip_ttlc=1 (copy), this TTL configuration has no effect when IP packet are encapsulated." access="RW" offset="0x4.0" size="0x0.8" />
	<field name="ipip_ttlc" descr="For IPinIP Tunnel encapsulation: TTL Copy from inner:\;0: use ipip_ttl_uc\;1: copy the ttl from the packet header." access="RW" offset="0x4.8" size="0x0.1" />
	<field name="ipip_decap_ttl" descr="Configures the overlay TTL at decap\;0: PRESERVE - The overlay TTL is as is from the overlay. Spectrum supports this mode only.\;\;1: COPY - The overlay TTL is taken from the underlay. \;\;2: MINIMUM - The overlay TTL is the minimum value between underlay and overlay TTL.\;For all cases, the later overlay router will decrement the TTL. \;" access="RW" enum="PRESERVE=0x0,COPY=0x1,MINIMUM=0x2" offset="0x4.16" size="0x0.2" />
	<field name="ipip_fl_suffix" descr="IPIP Flow Label Suffix\;For IPinIP Tunnel encapsulation: Constant 8 most significant bits of the flow label. \;Reserved when ipip_flh = 1\;Reserved when Spectrum\;*** Note: this field is not supported by current FW, the value is always &apos;0&apos; *** \;" access="RW" offset="0xC.0" size="0x0.8" />
	<field name="ipip_fl_prefix" descr="For IPinIP Tunnel encapsulation:\;Constant 12 most significant bits of the flow label. \;Spectrum: reserved when ipip_flh = 0\;Spectrum-2: not reserved" access="RW" offset="0xC.8" size="0x0.12" />
	<field name="ipip_flh" descr="For IPinIP Tunnel encapsulation:\;0: Flow Label is static\;- Spectrum: &apos;0&apos;\;- Spectrum-2: by {ipip_fl_prefix, ipip_fl_suffix}\;1: Flow Label 8 least significant bits are calculated from ECMP hash, and 12msb are configured by ipip_fl_prefix\;See Section 14.14.6, &quot;RECR - Router ECMP Configuration Register&quot;, on page 4106, Section 14.14.7, &quot;RECR_V2 - Router ECMP Configuration Version 2 Register&quot;, on page 4107" access="RW" offset="0xC.24" size="0x0.1" />
	<field name="ipip_flc" descr="For IPinIP Tunnel encapsulation: Flow Label Copy from inner \;0: Calculate flow label using ipip_flh.\;1: If packet is IPv6 and encapsulation is IPv6, copy the whole flow label from the packet header. Otherwise, calculate flow label using ipip_flh." access="RW" offset="0xC.25" size="0x0.1" />
	<field name="ipip_gre_key_for_hash" descr="For IPinIP Tunnel encapsulation: \;The 24 most significant bits of the GRE key when type is IP with GRE with a key and the key is set by ECMP hash\;See Section 14.14.6, &quot;RECR - Router ECMP Configuration Register&quot;, on page 4106, Section 14.14.7, &quot;RECR_V2 - Router ECMP Configuration Version 2 Register&quot;, on page 4107" access="RW" offset="0x14.8" size="0x0.24" />
</node>

<node name="tiqcr_ext" descr="" size="0xc.0" >
	<field name="enc_pcp_rw" descr="For encapsulation: how to handle the pcp_rewrite_en:\;0: Preserve the value of the pcp_rewrite_en\;2: Clear the pcp_rewrite_en\;3: Set the pcp_rewrite_en" access="RW" offset="0x4.0" size="0x0.2" />
	<field name="enc_dscp_rw" descr="For encapsulation: how to handle the dscp_rewrite_en:\;0: Preserve the value of the dscp_rewrite_en\;2: Clear the dscp_rewrite_en\;3: Set the dscp_rewrite_en" access="RW" offset="0x4.2" size="0x0.2" />
	<field name="enc_set_sp" descr="For encapsulation: how to set Switch Priority and packet Color:\;0: Preserve Switch Priority and packet Color\;1: Set new Switch Priority and packet Color as configured by TIQDR.\;See Section 17.5.3, &quot;TIQDR - Tunneling IPinIP QoS Default Register&quot;, on page 4431" access="RW" offset="0x4.24" size="0x0.1" />
	<field name="enc_set_dscp" descr="For encapsulation: how to set DSCP field:\;0: Copy the DSCP from the overlay (inner) IP header to the underlay (outer) IP header. If there is no IP header, use TIQDR.dscp\;1: Set the DSCP field as the TIQDR.dscp\;The dscp field is configured by TIQDR. See Table 3769, &quot;TIQDR - Tunneling IPinIP QoS Default Register Layout,&quot; on page 4431" access="RW" offset="0x4.28" size="0x0.1" />
	<field name="dec_pcp_rw" descr="For decapsulation: how to handle the pcp_rewrite_en:\;0: Preserve the value of the pcp_rewrite_en\;2: Clear the pcp_rewrite_en\;3: Set the pcp_rewrite_en" access="RW" offset="0x8.0" size="0x0.2" />
	<field name="dec_dscp_rw" descr="For decapsulation: how to handle the dscp_rewrite_en:\;0: Preserve the value of the dscp_rewrite_en\;2: Clear the dscp_rewrite_en\;3: Set the dscp_rewrite_en" access="RW" offset="0x8.2" size="0x0.2" />
	<field name="dec_set_sp" descr="For decapsulation: how to set Switch Priority and packet Color:\;0: Preserve Switch Priority\;1: Set a new Switch Priority from overlay DSCP as configured by RDPM (of the overlay packet, later the overlay router may re-modify).\;See Section 14.14.18, &quot;RDPM - Router DSCP to Priority Mapping Register&quot;, on page 4154" access="RW" offset="0x8.24" size="0x0.1" />
	<field name="dec_set_dscp" descr="For decapsulation: how to set the overlay DSCP field, if exists, while stripping off the underlay headers:\;0: Preserve inner DSCP\;1: Copy the DSCP from the underlay IP header" access="RW" offset="0x8.28" size="0x0.1" />
</node>

<node name="tiqdr_ext" descr="" size="0x8.0" >
	<field name="lp_msb" descr="Local port[9:8]" access="INDEX" offset="0x0.12" size="0x0.2" />
	<field name="local_port" descr="Local port number (receive port)\;Supported for CPU port" access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="dscp" descr="For encapsulation, the default DSCP" access="RW" offset="0x4.0" size="0x0.6" />
	<field name="switch_prio" descr="For encapsulation, the default values of Switch Priority" access="RW" offset="0x4.16" size="0x0.4" />
	<field name="color" descr="For encapsulation, the default values of packet Color" access="RW" offset="0x4.24" size="0x0.2" />
</node>

<node name="tncr_ext" descr="" size="0x30.0" >
	<field name="clear_counters" descr="Clear counters" access="OP" offset="0x0.31" size="0x0.1" />
	<field name="count_encap_high" descr="Count number of packets which did encapsulation to NVE tunneling\;Note that MC packets which are encapsulated multiple times are counted multiple times\;" access="RO" offset="0x10.0" size="0x4.0" />
	<field name="count_encap_low" descr="Count number of packets which did encapsulation to NVE tunneling\;Note that MC packets which are encapsulated multiple times are counted multiple times\;" access="RO" offset="0x14.0" size="0x4.0" />
	<field name="count_decap_high" descr="Count number of packets which did decapsulation from NVE tunneling" access="RO" offset="0x18.0" size="0x4.0" />
	<field name="count_decap_low" descr="Count number of packets which did decapsulation from NVE tunneling" access="RO" offset="0x1C.0" size="0x4.0" />
	<field name="count_decap_errors_high" descr="Count number of packets had decapsulation errors of NVE tunneling" access="RO" offset="0x20.0" size="0x4.0" />
	<field name="count_decap_errors_low" descr="Count number of packets had decapsulation errors of NVE tunneling" access="RO" offset="0x24.0" size="0x4.0" />
	<field name="count_decap_discards_high" descr="Count number of packets had decapsulation discards of NVE tunneling" access="RO" offset="0x28.0" size="0x4.0" />
	<field name="count_decap_discards_low" descr="Count number of packets had decapsulation discards of NVE tunneling" access="RO" offset="0x2C.0" size="0x4.0" />
</node>

<node name="tncr_v2_ext" descr="" size="0x38.0" >
	<field name="tunnel_port" descr="Tunnel port:\;0: NVE\;1: VPLS\;2: Flex_tunnel0\;3: Flex_tunnel1" access="INDEX" offset="0x0.0" size="0x0.4" />
	<field name="clear_counters" descr="Clear counters" access="OP" offset="0x0.31" size="0x0.1" />
	<field name="count_decap_discards_high" descr="Count number of packets had decapsulation discards of NVE tunneling" access="RO" offset="0x28.0" size="0x4.0" />
	<field name="count_decap_discards_low" descr="Count number of packets had decapsulation discards of NVE tunneling" access="RO" offset="0x2C.0" size="0x4.0" />
	<field name="count_encap_discards_high" descr="Count number of packets had encapsulation discards of NVE tunneling" access="RO" offset="0x30.0" size="0x4.0" />
	<field name="count_encap_discards_low" descr="Count number of packets had encapsulation discards of NVE tunneling" access="RO" offset="0x34.0" size="0x4.0" />
</node>

<node name="tndem_ext" descr="" size="0xc.0" >
	<field name="eip_ecn" descr="Egress IP ECN\;ECN field of the IP header of the packet which goes out from the decapsulation" access="RW" offset="0x4.8" size="0x0.2" />
	<field name="overlay_ecn" descr="ECN field of the IP header in the overlay network\;If the packet has no overlay IP header, the decapsulation uses the mapped value &apos;0&apos;" access="INDEX" offset="0x4.16" size="0x0.2" />
	<field name="underlay_ecn" descr="ECN field of the IP header in the underlay network" access="INDEX" offset="0x4.24" size="0x0.2" />
	<field name="trap_id" descr="Trap ID\;Trap-ID is DECAP_ECN0 or DECAP_ECN1\;Reserved when trap_en is &apos;0&apos;" access="RW" offset="0x8.0" size="0x0.9" />
	<field name="trap_en" descr="Trap enable:\;0: no_trap - due to decap ecn\;1: trap_enable - with trap_id. HPKT can control the trap action. See Section 2.17.3, &quot;HPKT - Host PacKet Trap&quot;, on page 689" access="RW" enum="no_trap=0x0,trap_enable=0x1" offset="0x8.28" size="0x0.4" />
</node>

<node name="tneem_ext" descr="" size="0xc.0" >
	<field name="underlay_ecn" descr="ECN of the IP header in the underlay network" access="RW" offset="0x4.16" size="0x0.2" />
	<field name="overlay_ecn" descr="ECN of the IP header in the overlay network\;Note: if overlay packet did not have ECN then the overlay ECN of the packet is considered as 0x0\;For Spectrum familiy only, MPLS packets use overlay_ecn of 00\;\;For Spectrum-2, MPLS packets use the packet overlay_ecn" access="INDEX" offset="0x4.24" size="0x0.2" />
</node>

<node name="tngcr_ext" descr="" size="0x64.0" >
	<field name="type" descr="Tunnel type for Encapsulation:\;0: Tunnel_is_VXLAN\;1: Tunnel_is_VXLAN_GPE\;2: Tunnel_is_GENEVE\;3: Tunnel_is_NVGRE\;\;Note that for Spectrum the NVE parsing must be enabled - see parsing_en field in Section 5.15.2, &quot;MPRS - Monitoring Parsing State Register&quot;, on page 1571, see \;The types are mutually exclusive\;For Spectrum family, the type must not be modified under traffic of NVE tunneling encapsulation or decapsulation.\;If changed on the fly, then erroneous packets may be transmitted." access="RW" enum="Tunnel_is_VXLAN=0x0,Tunnel_is_VXLAN_GPE=0x1,Tunnel_is_GENEVE=0x2,Tunnel_is_NVGRE=0x3" offset="0x0.0" size="0x0.4" />
	<field name="nve_ttl_uc" descr="The TTL for NVE Tunnel encapsulation underlay unicast packets." access="RW" offset="0x4.0" size="0x0.8" />
	<field name="nve_ttlc" descr="For NVE Tunnel encapsulation: TTL Copy from inner:\;0: use nve_ttl_uc (for UC) or nve_ttl_mc (for MC).\;1: copy the ttl from the packet header.\;Reserved when Spectrum" access="RW" offset="0x4.8" size="0x0.1" />
	<field name="nve_decap_ttl" descr="Configures the overlay TTL at decap\;0: PRESERVE - The overlay TTL is as is from the overlay. Spectrum supports this mode only.\;\;1: COPY - The overlay TTL is taken from the underlay. \;\;2: MINIMUM - The overlay TTL is the minimum value between underlay and overlay TTL.\;For all cases, the later overlay router will decrement the TTL. \;Note: same config for UC and for MC\;Reserved when Spectrum" access="RW" offset="0x4.16" size="0x0.2" />
	<field name="nve_valid" descr="Used for:\;1. FW checks of configuring type, usip, fdb entries\;2. parsing depth" access="RW" offset="0x4.31" size="0x0.1" />
	<field name="nve_ttl_mc" descr="The TTL for NVE Tunnel encapsulation of underlay multicast packets." access="RW" offset="0x8.0" size="0x0.8" />
	<field name="nve_fl_suffix" descr="NVE Flow Label Suffix\;For NVE Tunnel encapsulation: Flow Label Suffix\;For Tunnel encapsulation the 8 least significant bits are calculated as follow:\;enc_flh=0: 8 lsb = enc_fl_suffix\;enc_flh=1: 8 lsb = enc_fl_suffix | hash [7:0] (bitwise OR)\;Reserved when nve_flh = 1\;*** Note: this field is not supported by current FW, the value is always &apos;0&apos; *** \;Supported from Spectrum-2\;" access="RW" offset="0xC.0" size="0x0.8" />
	<field name="nve_fl_prefix" descr="NVE Flow Label Prefix\;For NVE Tunnel encapsulation: Constant 12 most significant bits of the flow label. \;Spectrum: reserved when nve_flh = 0\;Spectrum-2: not reserved" access="RW" offset="0xC.8" size="0x0.12" />
	<field name="nve_flh" descr="NVE Flow Label Hash\;For NVE Tunnel encapsulation:\;0: Flow Label is static\;- Spectrum-1: &apos;0&apos;\;- Spectrum-2 and on: by {nve_fl_prefix, nve_fl_suffix}\;1: Flow Label 8 least significant bits are calculated from ECMP hash bitwise OR with enc_fl_suffix, and 12msb are configured by nve_fl_prefix\;See Section 14.14.6, &quot;RECR - Router ECMP Configuration Register&quot;, on page 4106, Section 14.14.7, &quot;RECR_V2 - Router ECMP Configuration Version 2 Register&quot;, on page 4107" access="RW" offset="0xC.24" size="0x0.1" />
	<field name="nve_flc" descr="For NVE Tunnel encapsulation: Flow Label Copy from inner \;0: Calculate flow label using nve_flh.\;1: If packet is IPv6 and encapsulation is IPv6, copy the whole flow label from the packet header. Otherwise, calculate flow label using nve_flh." access="RW" offset="0xC.25" size="0x0.1" />
	<field name="nve_udp_sport_suffix" descr="NVE UDP Source Port Suffix\;When NVE encap - the 8 least significant bits of NVE UDP source port are calculated as follow:\;nve_udp_sport_type=0: 8 lsb = nve_udp_sport_suffix\;nve_udp_sport_type=1: 8 lsb = nve_udp_sport_suffix | hash [7:0] (bitwise OR)\;\;For Spectrum: the 8 least significant bits are set by LAG hash\;See Section 7.12.30, &quot;SLCR_V2 - Switch LAG Configuration 2 Register&quot;, on page 2098, Section 7.12.30, &quot;SLCR_V2 - Switch LAG Configuration 2 Register&quot;, on page 2098.\;For Spectrum-2: the 8 least significant bits are set by ECMP hash, see Section 14.14.6, &quot;RECR - Router ECMP Configuration Register&quot;, on page 4106, Section 14.14.7, &quot;RECR_V2 - Router ECMP Configuration Version 2 Register&quot;, on page 4107\;Reserved when NVE Tunnel encapsulation is NVGRE\;" access="RW" offset="0x10.0" size="0x0.8" />
	<field name="nve_udp_sport_prefix" descr="NVE UDP Source Port Prefix\;When NVE encap - constant 8 most significant bits of the NVE UDP source port.\;Reserved when NVE Tunnel encapsulation is NVGRE\;" access="RW" offset="0x10.8" size="0x0.8" />
	<field name="et_vlan" descr="EtherType used for when VLAN is pushed at decap \;0: ether_type0 (default)\;1: ether_type1\;2: ether_type2 \;Ethertype IDs are configured by SVER, see Section 7.12.38, &quot;SVER - Switch VLAN EtherType Register&quot;, on page 2117\;Reserved when Spectrum-2, see SPVID" access="RW" offset="0x10.20" size="0x0.2" />
	<field name="nve_udp_sport_type" descr="NVE UDP source port type\;For NVE Tunnel encapsulation (VXLAN, VXLAN-GPE or GENEVE):\;0: Source UDP is fixed - 8 msb are nve_src_udp_port_prefix, 8 lsb are: Spectrum-1 &apos;0&apos;, Spectrum-2 and on: nve_udp_sport_suffix\;1: Source UDP 8 least significant bits are calculated from hash and nve_udp_sport_suffix (see description of nve_udp_sport_suffix), and 8msb are configured by nve_src_udp_port_prefix\;For NVE Tunnel encapsulation (NVGRE):\;0: NVGRE.flow_id is &apos;0&apos;\;1: NVGRE.flow_id (8 bits) is set by hash\;" access="RW" offset="0x10.24" size="0x0.1" />
	<field name="nve_enc_orig_we" descr="Write enable to nve_enc_orig\;Reserved when Spectrum-2" access="WO" offset="0x10.30" size="0x0.1" />
	<field name="nve_enc_orig" descr="VLAN handling of overlay packet at encap:\;0: STRIP_TAG - 1 VLAN tag is stripped (if existed at ingress) (default)\;1: KEEP_ORIG - all VLAN tags of original packet are kept \;When overlay router and KEEP_ORIG the inner vid is 0\;Reserved when Spectrum-2, see SPVTR.epvid_mode" access="RW" offset="0x10.31" size="0x0.1" />
	<field name="nve_group_size_mc" descr="For NVE Tunnel multicast:\;The amount of sequential link lists of MC entries. The first link list is configured by SFD.underlay_mc_ptr\;Valid ranges:\;1, 2, 4, 8 16, 32, 64\;The link lists are configured by TNUMT\;The hash is set by LAG hash\;See Section 16.11.6, &quot;TNUMT - Tunneling NVE Underlay Multicast Table Register&quot;, on page 4401\;See Section 7.12.30, &quot;SLCR_V2 - Switch LAG Configuration 2 Register&quot;, on page 2098, Section 7.12.30, &quot;SLCR_V2 - Switch LAG Configuration 2 Register&quot;, on page 2098.\;Reserved when Spectrum-2 and on" access="RW" offset="0x18.0" size="0x0.8" />
	<field name="nve_group_size_flood" descr="For NVE Tunnel flooding or BC:\;The amount of sequential link lists of flooding or BC entries. The first link list is configured by SFMR.nve_tunnel_flood_ptr\;Valid ranges:\;1, 2, 4, 8 16, 32, 64\;\;The link lists are configured by TNUMT\;The hash is set by LAG hash\;See Section 16.11.6, &quot;TNUMT - Tunneling NVE Underlay Multicast Table Register&quot;, on page 4401\;See Section 7.12.30, &quot;SLCR_V2 - Switch LAG Configuration 2 Register&quot;, on page 2098, Section 7.12.30, &quot;SLCR_V2 - Switch LAG Configuration 2 Register&quot;, on page 2098.\;Reserved when Spectrum-2 and on" access="RW" offset="0x1C.0" size="0x0.8" />
	<field name="underlay_virtual_router" descr="Underlay virtual router\;Reserved when Spectrum-2" access="RW" offset="0x20.0" size="0x0.16" />
	<field name="dis_nve_opt_chk" descr="Spectrum-1/2/3 only.\;Disable DISCARD_DEC_NVE_OPTIONS only for reserved bits:\;0: Enable check for reserved bits\;1: Disable check for reserved bits\;\;Default value is 0.\;E.g when packet with reserved bits != 0 should not be dropped this field should be set to 1.\;" access="RW" offset="0x20.24" size="0x0.1" />
	<field name="learn_enable" descr="When decap:\;Enable learning from NVE port\;Reserved when Spectrum-2, see TNPC" access="RW" offset="0x20.31" size="0x0.1" />
	<field name="underlay_rif" descr="Underlay ingress router interface\;Reserved when Spectrum" access="RW" offset="0x24.0" size="0x0.16" />
	<field name="usipv4" descr="Underlay Source IPv4 address of the NVE\;For Spectrum family: usipv4 must not be modified under traffic of NVE tunneling encapsulation." access="RW" offset="0x28.0" size="0x4.0" />
	<field name="usipv6" descr="Underlay Source IPv6 address of the NVE\;For Spectrum family: usipv6 must not be modified under traffic of NVE tunneling encapsulation.\;" access="RW" high_bound="3" low_bound="0" offset="0x30.0" size="0x10.0" />
	<field name="header0_bit_set" descr="\;For VXLAN/VXLAN-GPE/GENEVE header:\;Set bits to &apos;1&apos;\;The device will do an OR function with the default header0\;Header0 is the first 4B in the header\;Reserved when type = 3 (NVGRE)" access="RW" offset="0x40.0" size="0x4.0" />
	<field name="vxlan_hdr_bits_en" descr="VXLAN Header bits Enable.\;When set vxlan_hdr_bits are valid." access="WO" offset="0x44.0" size="0x0.1" />
	<field name="gpe_hdr_bits_en" descr="GPE Header bits Enable.\;When set gpe_hdr_bits are valid." access="WO" offset="0x44.1" size="0x0.1" />
	<field name="geneve_hdr_bits_en" descr="GENEVE Header bits Enable.\;When set geneve_hdr_bits are valid." access="WO" offset="0x44.2" size="0x0.1" />
	<field name="nvgre_hdr_bits_en" descr="NVGRE Header bits Enable.\;When set nvgre_hdr_bits are valid." access="WO" offset="0x44.3" size="0x0.1" />
	<field name="vxlan_hdr_bits" descr="Spectrum-4 only.\;Bitmask to raise DISCARD_DEC_NVE_OPTIONS.\;If bit i = 0, the corresponding bit in vxlan header will not be checked according to DISCARD_DEC_NVE_OPTIONS\;If bit i = 1, and the corresponding bit in xvlan header is 1, the DISCARD_DEC_NVE_OPTIONS will be raised.\;E.g Reserved bit !=0 that should not raise the check should be set to 0.\;Reserved when vxlan_hdr_bits_en = 0.\;Default value is 0xF7FFFFFF_000000FF.\;" subnode="uint64" access="RW" offset="0x48.0" size="0x8.0" />
	<field name="gpe_hdr_bits" descr="Spectrum-4 only.\;Bitmask to raise DISCARD_DEC_NVE_OPTIONS.\;If bit i = 0, the corresponding bit in vxlan header will not be checked according to DISCARD_DEC_NVE_OPTIONS\;If bit i = 1, and the corresponding bit in gpe header is 1, the DISCARD_DEC_NVE_OPTIONS will be raised.\;E.g Reserved bit !=0 that should not raise the check should be set to 0.\;Reserved when gpe_hdr_bits_en = 0.\;Default value is 0xC0FFFF00_000000FF.\;" subnode="uint64" access="RW" offset="0x50.0" size="0x8.0" />
	<field name="geneve_hdr_bits" descr="Spectrum-4 only.\;Bitmask to raise DISCARD_DEC_NVE_OPTIONS.\;If bit i = 0, the corresponding bit in vxlan header will not be checked according to DISCARD_DEC_NVE_OPTIONS\;If bit i = 1, and the corresponding bit in geneve header is 1, the DISCARD_DEC_NVE_OPTIONS will be raised.\;E.g Reserved bit !=0 that should not raise the check should be set to 0.\;Reserved when geneve_hdr_bits_en = 0.\;Default value is 0x003F0000_000000FF.\;" subnode="uint64" access="RW" offset="0x58.0" size="0x8.0" />
	<field name="nvgre_hdr_bits" descr="Spectrum-4 only.\;Bitmask to raise DISCARD_DEC_NVE_OPTIONS.\;If bit i = 0, the corresponding bit in vxlan header will not be checked according to DISCARD_DEC_NVE_OPTIONS\;If bit i = 1, and the corresponding bit in nvgre header is 1, the DISCARD_DEC_NVE_OPTIONS will be raised.\;E.g Reserved bit !=0 that should not raise the check should be set to 0.\;Reserved when nvgre_hdr_bits_en = 0.\;Default value is 0x0FF80000.\;" access="RW" offset="0x60.0" size="0x4.0" />
</node>

<node name="tngee_entry_auto_ext" descr="" attr_is_union="1" size="0x10.0" >
	<field name="tngee_flex_reg_ext" descr="" subnode="tngee_flex_reg_ext" offset="0x0.0" selected_by="Flex_tunnel" size="0x10.0" />
	<field name="tngee_nve_ext" descr="" subnode="tngee_nve_ext" offset="0x0.0" selected_by="NVE" size="0x8.0" />
</node>

<node name="tngee_ext" descr="" size="0x50.0" >
	<field name="l2_enc_index" descr="Index to L2 encap entry\;For Spectrum familiy the index is to the KVD linear, see Appendix A.2.1.2, &quot;KVD Central Database Linear Entries&quot; (page 4588)" access="INDEX" offset="0x0.0" size="0x0.24" />
	<field name="tunnel_type" descr="Tunnel type:\;0: NVE - (L2 enc NVE)\;2: Flex_tunnel - (0 or 1)" access="RW" enum="NVE=0x0,Flex_tunnel=0x2" offset="0x4.0" size="0x0.4" />
	<field name="next_l2_enc_ptr" descr="Index to next L2 encap entry\;Note: may be point either to a TNGEE entry or to a TNUMT entry. \;For Spectrum family uses KVH\;Reserved when vnext = 0\;" access="RW" offset="0x8.0" size="0x0.24" />
	<field name="vnext" descr="Next valid\;The next_l2_enc_index is valid\;" access="RW" offset="0x8.31" size="0x0.1" />
	<field name="ecmp_size" descr="ecmp_size is the amount of sequential entries starting from next_l2_enc_ptr (the number of ECMPs).\;Values are according to the mixed ECMP scheme detailed in Table 3438, &quot;ECMP Sizes,&quot; on page 4038.\;Reserved when vnext = 0\;Note: uses LAG-hash (and not ECMP-hash)" access="RW" offset="0xC.0" size="0x0.13" />
	<field name="uirif" descr="Underlay Ingress Router Interface\;Valid range is 0..cap_max_router_interfaces - 1" access="RW" offset="0x10.0" size="0x0.16" />
	<field name="protocol" descr="Protocol:\;0: IPv4\;1: IPv6" access="RW" enum="IPv4=0x0,IPv6=0x1" offset="0x10.28" size="0x0.1" />
	<field name="udip" descr="If protocol is IPv4:\;The underlay destination IPv4 of the remote VTEP (the least significant bits)\;Else if protocol is IPv6:\;A pointer to the IPv6 address of the remote VTEP destination in the overlay network. See Section 14.14.17, &quot;RIPS - Router IP version Six Register&quot;, on page 4153.\;When protocol is IPv4 and udip=0 then no replication, the uirif, entry have no significance." access="RW" offset="0x14.0" size="0x4.0" />
	<field name="counter_index" descr="Counter Index for flow counters\;For Spectrum: see Section 5.2, &quot;Flow Counters&quot;, on page 1404" access="RW" offset="0x3C.0" size="0x0.24" />
	<field name="counter_set_type" descr="Counter Set Type for flow counters\;For Spectrum: See Section 5.2.2, &quot;Counter Set Type&quot;, on page 1405" access="RW" offset="0x3C.24" size="0x0.8" />
	<field name="entry" descr="Entry:\;NVE - See Table 3734, &quot;TNGEE - NVE Layout,&quot; on page 4395\;Flex - See Table 3736, &quot;TNGEE - Flex Layout,&quot; on page 4396" subnode="tngee_entry_auto_ext" access="RW" offset="0x40.0" size="0x10.0" union_selector="$(parent).tunnel_type" />
</node>

<node name="tngee_flex_reg_ext" descr="" size="0x10.0" >
	<field name="tunnel_port" descr="Tunnel port:\;(for: counters, ACL, untagged)\;For Spectrum-2:\;0: NVE \;1: for future VPLS \;2: Flex0\;3: Flex1\;" access="RW" offset="0x0.0" size="0x0.4" />
	<field name="tqos_profile" descr="Tunnel qos profile.\;0: cap_max_tqos_profile" access="RW" offset="0x0.24" size="0x0.4" />
	<field name="emt_pointer" descr="EMT pointer\;Range: 0 .. cap_max_emts - 1\;See FMTC, FMTE\;Note: \;Spectrum-2/3: when using this EMT other EMT is not allowed.\;Spectrum-4: this binding to EMT is orthogonal to ACL binding (both can happen at the same time)." access="RW" offset="0x4.0" size="0x0.8" />
	<field name="cbset_y_set_en" descr="Enable setting value on cbset_y" access="RW" offset="0x8.0" size="0x0.1" />
	<field name="cbset_x_set_en" descr="Enable setting value on cbset_x" access="RW" offset="0x8.1" size="0x0.1" />
	<field name="cbset_select" descr="Select cbset_x and cbset_y:\;0: cbset_x: cbset0, cbset_y: cbset1 \;1: cbset_x: cbset2, cbset_y: cbset3\;2: cbset_x: cbset4, cbset_y: cbset5\;3: cbset_x: cbset6, cbset_y: cbset7\;" access="RW" offset="0x8.8" size="0x0.2" />
	<field name="cbset_y_val" descr="Value for setting cbset_y, if cbset_y_set_en = 1" access="RW" offset="0xC.0" size="0x0.16" />
	<field name="cbset_x_val" descr="Value for setting cbset_x, if cbset_x_set_en = 1" access="RW" offset="0xC.16" size="0x0.16" />
</node>

<node name="tngee_nve_ext" descr="" size="0x8.0" >
	<field name="vni" descr="vni\;Reserved when vni_update=0" access="RW" offset="0x0.0" size="0x0.24" />
	<field name="tqos_prof_en" descr="0: Use FW hard-coded value. See more detail in Table 12.11, &quot;Tunnel QoS Profiles,&quot; on page 3913\;1: Use tqos_profile" access="OP" offset="0x0.30" size="0x0.1" />
	<field name="vni_update" descr="0: VNI is not updated\;1: VNI is updated, to value vni\;Note that anyway there is a valid VNI value" access="RW" offset="0x0.31" size="0x0.1" />
	<field name="tqos_profile" descr="Tunnel qos profile.\;0: cap_max_tqos_profile" access="RW" offset="0x4.0" size="0x0.4" />
</node>

<node name="tnifr_ext" descr="" size="0x60.0" >
	<field name="tunnel_port" descr="Tunnel port:\;0: NVE\;" access="INDEX" offset="0x0.0" size="0x0.4" />
	<field name="table_id" descr="Table ID:\;0: GLOBAL table. Note that the IGCR.pisbo has no affect on the tunnel isolation.\;1: BRIDGE_ONLY table\;Supported only from Spectrum-3" access="INDEX" offset="0x0.28" size="0x0.4" />
	<field name="port_filter" descr="Ingress Port filter bitmask\;0: Do not filter (default value for all local_port)\;1: Filter - Packets coming from port_filter&lt;i&gt; will not be transmitted to port NVE\;All LAG ports must share the same configuration.\;" access="RW" high_bound="7" low_bound="0" offset="0x20.0" size="0x20.0" />
	<field name="port_filter_update_en" descr="Port filter update enable bitmask\;0: Mask disable - do not modify relevant port_filter bit\;1: Mask enable - modify relevant port_filter bit" access="OP" high_bound="7" low_bound="0" offset="0x40.0" size="0x20.0" />
</node>

<node name="tnifr_v2_ext" descr="" size="0x120.0" >
	<field name="tunnel_port" descr="Tunnel port:\;0: NVE\;" access="INDEX" offset="0x0.0" size="0x0.4" />
	<field name="table_id" descr="Table ID:\;0: GLOBAL table. Note that the IGCR.pisbo has no affect on the tunnel isolation.\;1: BRIDGE_ONLY table\;Supported only from Spectrum-3" access="INDEX" offset="0x0.28" size="0x0.4" />
	<field name="port_filter" descr="Ingress Port filter bitmask\;0: Do not filter (default value for all local_port)\;1: Filter - Packets coming from port_filter&lt;i&gt; will not be transmitted to port NVE\;All LAG ports must share the same configuration.\;" access="RW" high_bound="31" low_bound="0" offset="0x20.0" size="0x80.0" />
	<field name="port_filter_update_en" descr="Port filter update enable bitmask\;0: Mask disable - do not modify relevant port_filter bit\;1: Mask enable - modify relevant port_filter bit" access="OP" high_bound="31" low_bound="0" offset="0xA0.0" size="0x80.0" />
</node>

<node name="tnipsd_ext" descr="" size="0x420.0" >
	<field name="num_rec" descr="Request: Number of records to read/add/modify/remove\;Response: Number of records read/added/replaced/removed\;Range 0..32" access="OP" offset="0x4.0" size="0x0.8" />
	<field name="op" descr="" access="OP" offset="0x4.28" size="0x0.2" />
	<field name="ipv6_id_record" descr="See Section 3762, &quot;TNIPSD - ipv6_id Layout&quot;, on page 4412" subnode="tnipsd_ipv6_id_record_auto_ext" access="RW" high_bound="31" low_bound="0" offset="0x20.0" size="0x400.0" />
</node>

<node name="tnipsd_ipv6_id_ext" descr="" size="0x20.0" >
	<field name="ipv6" descr="IPv6 address\;For Spectrum-2, entry in the KVH hash, see Appendix A.3.1.1, &quot;KVD Central Database Hash-based&quot; (page 4595)" access="INDEX" high_bound="3" low_bound="0" offset="0x0.0" size="0x10.0" />
	<field name="ipv6_id" descr="ID of the IPv6 address\;Range 0.. cap_kvd_linear_range" access="RW" offset="0x10.0" size="0x0.24" />
</node>

<node name="tnipsd_ipv6_id_record_auto_ext" descr="" attr_is_union="1" size="0x20.0" >
	<field name="tnipsd_ipv6_id_ext" descr="" subnode="tnipsd_ipv6_id_ext" offset="0x0.0" size="0x20.0" />
</node>

<node name="tnpc_ext" descr="" size="0x1c.0" >
	<field name="tunnel_port" descr="Tunnel port:\;0: NVE\;2: Flex_tunnel0\;3: Flex_tunnel1" access="INDEX" enum="NVE=0x0,Flex_tunnel0=0x2,Flex_tunnel1=0x3" offset="0x0.0" size="0x0.4" />
	<field name="learn_enable_v4" descr="When decap:\;Enable learning from tunnel port for IPv4 packets.\;\;Default is learning disabled. \;Reserved for tunnel_port != NVE (0)." access="RW" offset="0x4.0" size="0x0.1" />
	<field name="learn_enable_v6" descr="When decap:\;Enable learning from tunnel port for IPv6 packets.\;\;Default is learning disabled" access="RW" offset="0x4.1" size="0x0.1" />
	<field name="lb_tx_uc_tunnel_port" descr="For unicast packets (allow loopback from tunnel_port):\;Bit0: Allow loopback to tport0 (NVE)\;Bit1: Allow loopback to tport1 (VPLS)\;Bit2: Allow loopback to tport2 (Flex_tunnel0)\;Bit3: Allow loopback to tport3 (Flex_tunnel1)\;Values:\;0: loopback_filter\;1: loopback_allowed\;Default: tport x to tport x: filter, else allowed" access="RW" offset="0x14.0" size="0x4.0" />
	<field name="lb_tx_mc_tunnel_port" descr="For multicast packets (allow loopback from tunnel_port):\;Bit0: Allow loopback to tport0 (NVE)\;Bit1: Allow loopback to tport1 (VPLS)\;Bit2: Allow loopback to tport2 (Flex_tunnel0)\;Bit3: Allow loopback to tport3 (Flex_tunnel1)\;Values:\;0: loopback_filter\;1: loopback_allowed\;Default: tport x to tport x: filter, else allowed" access="RW" offset="0x18.0" size="0x4.0" />
</node>

<node name="tnqcr_ext" descr="" size="0xc.0" >
	<field name="enc_pcp_rw" descr="For encapsulation: how to handle the pcp_rewrite_en:\;0: Preserve the value of the pcp_rewrite_en\;2: Clear the pcp_rewrite_en\;3: Set the pcp_rewrite_en" access="RW" offset="0x4.0" size="0x0.2" />
	<field name="enc_dscp_rw" descr="For encapsulation: how to handle the dscp_rewrite_en:\;0: Preserve the value of the dscp_rewrite_en\;2: Clear the dscp_rewrite_en\;3: Set the dscp_rewrite_en" access="RW" offset="0x4.2" size="0x0.2" />
	<field name="enc_set_sp" descr="For encapsulation: how to set Switch Priority and packet Color:\;0: Preserve Switch Priority and packet Color\;1: Set new Switch Priority and packet Color as configured by TNQDR.\;See Section 16.11.8, &quot;TNQDR - Tunneling NVE QoS Default Register&quot;, on page 4407" access="RW" offset="0x4.24" size="0x0.1" />
	<field name="enc_set_dscp" descr="For encapsulation: how to set DSCP field:\;0: Copy the DSCP from the overlay (inner) IP header to the underlay (outer) IP header. If there is no IP header, use TNQDR.dscp\;1: Set the DSCP field as the TNQDR.dscp\;The dscp field is configured in TNQDR register. See Section 16.11.8, &quot;TNQDR - Tunneling NVE QoS Default Register&quot;, on page 4407" access="RW" offset="0x4.28" size="0x0.1" />
	<field name="dec_pcp_rw" descr="For decapsulation: how to handle the pcp_rewrite_en:\;0: Preserve the value of the pcp_rewrite_en\;2: Clear the pcp_rewrite_en\;3: Set the pcp_rewrite_en" access="RW" offset="0x8.0" size="0x0.2" />
	<field name="dec_dscp_rw" descr="For decapsulation: how to handle the dscp_rewrite_en:\;0: Preserve the value of the dscp_rewrite_en\;2: Clear the dscp_rewrite_en\;3: Set the dscp_rewrite_en" access="RW" offset="0x8.2" size="0x0.2" />
	<field name="dec_set_pcp" descr="For decapsulation: how to set the overlay PCP,DEI fields:\;0: Preserve/Set inner PCP,DEI when push. When untagged push value of 0 for PCP,DEI \;1: Copy the PCP,DEI from the underlay L2 header (default)\;Note: Spc-1 supports only &apos;1&apos; Copy\;Reserved when Spectrum" access="RW" offset="0x8.20" size="0x0.1" />
	<field name="dec_set_sp" descr="For decapsulation: how to set Switch Priority and packet Color:\;0: Preserve Switch Priority\;1: Set a new Switch Priority from overlay DSCP as configured by RDPM (of the overlay packet, even if not routed).\;See Section 14.14.18, &quot;RDPM - Router DSCP to Priority Mapping Register&quot;, on page 4154." access="RW" offset="0x8.24" size="0x0.1" />
	<field name="dec_set_dscp" descr="For decapsulation: how to set the overlay DSCP field, if exists, while stripping off the underlay headers:\;0: Preserve inner DSCP\;1: Copy the DSCP from the underlay IP header" access="RW" offset="0x8.28" size="0x0.1" />
</node>

<node name="tnqdr_ext" descr="" size="0x8.0" >
	<field name="lp_msb" descr="Local port[9:8]" access="INDEX" offset="0x0.12" size="0x0.2" />
	<field name="local_port" descr="Local port number (receive port)\;Supported for CPU port" access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="dscp" descr="For encapsulation, the default DSCP" access="RW" offset="0x4.0" size="0x0.6" />
	<field name="switch_prio" descr="For encapsulation, the default values of Switch Priority" access="RW" offset="0x4.16" size="0x0.4" />
	<field name="color" descr="For encapsulation, the default values of packet Color" access="RW" offset="0x4.24" size="0x0.2" />
</node>

<node name="tnumt_ext" descr="" size="0x20.0" >
	<field name="underlay_mc_ptr" descr="Index to the Underlay Multicast Table\;For Spectrum familiy the index is to the KVD linear, see Appendix A.2.1.2, &quot;KVD Central Database Linear Entries&quot; (page 4588)\;May point also to TNGEE" access="INDEX" offset="0x0.0" size="0x0.24" />
	<field name="record_type" descr="0: IPv4\;1: IPv6" access="RW" enum="IPv4=0x0,IPv6=0x1" offset="0x0.28" size="0x0.4" />
	<field name="next_underlay_mc_ptr" descr="The next index to the Underlay Multicast Table\;For Spectrum familiy the index is to the KVD linear, see Appendix A.2.1.2, &quot;KVD Central Database Linear Entries&quot; (page 4588)\;" access="RW" offset="0x4.0" size="0x0.24" />
	<field name="vnext" descr="Next valid\;The next_underlay_mc_ptr is valid" access="RW" offset="0x4.31" size="0x0.1" />
	<field name="record" descr="If type is IPV4, the record is detailed on Table 3744, &quot;Record - Tunnel MC IPV4 Layout,&quot; on page 4402\;If type is IPV6, the record is detailed on Table 3746, &quot;Record - Tunnel MC IPV6 Layout,&quot; on page 4403" subnode="tnumt_record_auto_ext" access="RW" offset="0x8.0" size="0x18.0" union_selector="$(parent).record_type" />
</node>

<node name="tnumt_record_auto_ext" descr="" attr_is_union="1" size="0x18.0" >
	<field name="tunnel_mc_ipv4_ext" descr="" subnode="tunnel_mc_ipv4_ext" offset="0x0.0" selected_by="IPv4" size="0x18.0" />
	<field name="tunnel_mc_ipv6_ext" descr="" subnode="tunnel_mc_ipv6_ext" offset="0x0.0" selected_by="IPv6" size="0x18.0" />
</node>

<node name="tunnel_mc_ipv4_ext" descr="" size="0x18.0" >
	<field name="size" descr="Number of IP addresses in the record\;Range is 1..cap_max_nve_mc_entries_ipv4" access="RW" offset="0x0.0" size="0x0.3" />
	<field name="udip" descr="The underlay IPv4 addresses, while i=0 .. (size-1).\;udip&lt;i&gt; is reserved if i &gt;= size\;When udip=0 then no replication" access="RW" high_bound="2" low_bound="0" offset="0x4.0" size="0xc.0" />
</node>

<node name="tunnel_mc_ipv6_ext" descr="" size="0x18.0" >
	<field name="size" descr="Number of IP addresses in the record\;Range is 1..cap_max_nve_mc_entries_ipv6\;" access="RW" offset="0x0.0" size="0x0.3" />
	<field name="udip_ptr" descr="The pointers to the underlay IPv6 addresses, while i=0..(size-1).\;udip_ptr&lt;i&gt; is reserved if i&gt;=size. \;The IPv6 addresses are configured by RIPS, see Section 14.14.17, &quot;RIPS - Router IP version Six Register&quot;, on page 4153\;For Spectrum, the index is to the KVD linear, see Section A.2.1, &quot;KVD Central Database&quot;, on page 4585" subnode="udip_ptr" access="RW" high_bound="4" low_bound="0" offset="0x4.0" size="0x14.0" />
</node>

<node name="udip_ptr" descr="" size="0x4.0" >
	<field name="udip_ptr" descr="" offset="0x0.0" size="0x0.24" />
</node>

<node name="uint64" descr="" size="0x8.0" >
	<field name="hi" descr="" offset="0x0.0" size="0x4.0" />
	<field name="lo" descr="" offset="0x4.0" size="0x4.0" />
</node>

<node name="unicast_fdb_record_ext" descr="" size="0x20.0" >
	<field name="mac_47_32" descr="MAC address" access="INDEX" offset="0x0.0" size="0x0.16" />
	<field name="a" descr="Activity. \;Set for new entries. Set if a forwarding lookup has hit the entry.\;In Spectrum-1 it is set for static entries only.\;To clear the a bit, use &quot;query and clear activity&quot; op.\;Enabled by activity_dis in SGCR, see Section 7.12.1, &quot;SGCR - Switch General Configuration Register&quot;, on page 2027\;Not supported by SwitchX and SwitchX2\;Not supported when action is &quot;forward to IP Router&quot;" access="RO" offset="0x0.16" size="0x0.1" />
	<field name="policy" descr="0: STATIC_POLICY - roaming disabled, aging disabled\;1: DYNAMIC_MLAG - roaming enabled, aging disabled, learning notification enabled for existing entry\;3: DYNAMIC_INGRESS - roaming enabled, aging enabled\;When sending to router sub-port interface then policy must be STATIC_POLICY" access="RW" enum="STATIC_POLICY=0x0,DYNAMIC_MLAG=0x1,DYNAMIC_INGRESS=0x3" offset="0x0.18" size="0x0.2" />
	<field name="type_0x0" descr="0x0: Unicast_FDB_Record - this record\;See Section 7.2.15, &quot;FDB Records&quot;, on page 1972" access="RW" enum="Unicast_FDB_Record=0x0" offset="0x0.20" size="0x0.4" />
	<field name="swid" descr="Switch partition ID\;Reserved when Spectrum/-2" access="INDEX" offset="0x0.24" size="0x0.8" />
	<field name="mac_31_0" descr="MAC address" access="INDEX" offset="0x4.0" size="0x4.0" />
	<field name="fid_vid" descr="Filtering ID or VLAN ID\;For SwitchX/-2:\;- Dynamic entries (policy 1,3) use FID\;- Static entries (policy 0) use VID\;- When independent learning is configured, VID=FID\;For Spectrum/-2: \;When ubridge = 0 and sending to router sub-port interface, set to cap_fid - 1K + rif\;Otherwise, valid range is 1..max_fid-1" access="INDEX" offset="0x8.0" size="0x0.16" />
	<field name="set_vid" descr="Set VID:\;0: do not update VID\;1: set VID\;For Spectrum-2 when set_vid=0 and smpe_valid=1 then the smpe will modify the vid\;Reserved when ubridge=0" access="RW" offset="0x8.31" size="0x0.1" />
	<field name="system_port" descr="Unique port identifier for the final destination of the packet.\;Reserved when action is one of: TRAP, FORWARD_TO_IP_ROUTER, FORWARD_TO_FCF, DISCARD_ERROR" access="RW" offset="0xC.0" size="0x0.16" />
	<field name="vid" descr="New VID when set_vid = 1\;Reserved when set_vid = 0\;Reserved when ubridge=0" access="RW" offset="0xC.16" size="0x0.12" />
	<field name="action" descr="Action to apply on the packet:\;0: NOP - forward (based on the system_port destination)\;1: MIRROR_TO_CPU - forward and trap, trap_id is FDB_TRAP\;2: TRAP - (and do not forward), trap_id is FDB_TRAP\;3: FORWARD_TO_IP_ROUTER\;4: FORWARD_TO_FCF\;5: MIRROR\;15: DISCARD_ERROR\;\;Note: Dynamic entries can only be configured with NOP action.\;Note: On TRAP or DISCARD_ERROR flex_action is ignored." access="RW" offset="0xC.28" size="0x0.4" />
	<field name="flex_action_index" descr="Flexible ACL Action Set index.\;See Section 11.9, &quot;Flexible ACL Action Set&quot;, on page 3689.\;Supported in Spectrum-4 onwards.\;Reserved when set_flex_action=0." access="RW" offset="0x18.0" size="0x0.24" />
	<field name="set_flex_action" descr="Run Flexible ACL Action Set instead of counter increment.\;See Section 11.9, &quot;Flexible ACL Action Set&quot;, on page 3689.\;Supported in Spectrum-4 onwards." access="RW" offset="0x18.31" size="0x0.1" />
	<field name="counter_index" descr="Counter Index for flow counters\;For Spectrum: see Section 5.2, &quot;Flow Counters&quot;, on page 1404\;Reserved when set_flex_action=1.\;Not supported by SwitchX/-2" access="RW" offset="0x1C.0" size="0x0.24" />
	<field name="counter_set_type" descr="Counter Set Type for flow counters\;For Spectrum: See Section 5.2.2, &quot;Counter Set Type&quot;, on page 1405\;Reserved when set_flex_action=1.\;Not supported by SwitchX/-2\;Must be set to no count when action is &quot;forward to IP Router&quot;" access="RW" offset="0x1C.24" size="0x0.8" />
</node>

<node name="unicast_lag_ext" descr="" size="0x8.0" >
	<field name="vid" descr="VLAN ID to be used when uvid is set. \;Reserved when uvid = 0\;Note: supported regardless of ubridge value" access="RW" offset="0x0.0" size="0x0.12" />
	<field name="uvid" descr="Update VID. \;If set, the packet&apos;s VLAN ID is updated to vid. This can be used for .1D entries.\;For Spectrum-2 when set_vid=0 and smpe_valid=1 then the smpe will modify the vid\;Note: supported regardless of ubridge value" access="RW" offset="0x0.15" size="0x0.1" />
	<field name="lag_id" descr="LAG Identifier - pointer into the LAG descriptor table, see also Section 7.2.9, &quot;LAG Descriptor Table&quot;, on page 1968." access="RW" offset="0x4.0" size="0x0.10" />
</node>

<node name="unicast_lag_fdb_record_ext" descr="" size="0x20.0" >
	<field name="mac_47_32" descr="MAC address" access="INDEX" offset="0x0.0" size="0x0.16" />
	<field name="a" descr="Activity. \;Set for new entries. Set if a forwarding lookup has hit the entry.\;In Spectrum-1 it is set for static entries only.\;To clear the a bit, use &quot;query and clear activity&quot; op.\;Enabled by activity_dis in SGCR, see Section 7.12.1, &quot;SGCR - Switch General Configuration Register&quot;, on page 2027\;Not supported by SwitchX/-2" access="RO" offset="0x0.16" size="0x0.1" />
	<field name="policy" descr="0: STATIC_POLICY - roaming disabled, aging disabled\;1: DYNAMIC_MLAG - roaming enabled, aging disabled, learning notification enabled for existing entry\;3: DYNAMIC_INGRESS - roaming enabled, aging enabled" access="RW" enum="STATIC_POLICY=0x0,DYNAMIC_MLAG=0x1,DYNAMIC_INGRESS=0x3" offset="0x0.18" size="0x0.2" />
	<field name="type_0x1" descr="0x1: Unicast_LAG_Record - this record\;See Section 7.2.15, &quot;FDB Records&quot;, on page 1972" access="RW" enum="Unicast_LAG_Record=0x1" offset="0x0.20" size="0x0.4" />
	<field name="swid" descr="Switch partition ID.\;Reserved when Spectrum/-2" access="INDEX" offset="0x0.24" size="0x0.8" />
	<field name="mac_31_0" descr="MAC address" access="INDEX" offset="0x4.0" size="0x4.0" />
	<field name="fid_vid" descr="Filtering ID or VLAN ID\;For SwitchX/-2:\;- Dynamic entries (policy 1,3) use FID\;- Static entries (policy 0) use VID\;- When independent learning is configured, VID=FID\;For Spectrum/-2: always FID" access="INDEX" offset="0x8.0" size="0x0.16" />
	<field name="set_vid" descr="Set VID:\;0: do not update VID\;1: set VID\;For Spectrum-2 when set_vid=0 and smpe_valid=1 then the smpe will modify the vid\;Reserved when ubridge=0" access="RW" offset="0x8.31" size="0x0.1" />
	<field name="lag_id" descr="LAG Identifier - pointer into the LAG descriptor table, see also Section 7.2.9, &quot;LAG Descriptor Table&quot;, on page 1968." access="RW" offset="0xC.0" size="0x0.10" />
	<field name="lag_vid" descr="New VID when:\;- when ubridge = 0 and the fid is a .1D fid\;or\;- ubridge = 1 AND set_vid = 1 \;Reserved when (ubridge = 0 AND .1Q bridge) \;Reserved when (ubridge = 1 AND set_vid = 0)" access="RW" offset="0xC.16" size="0x0.12" />
	<field name="action" descr="Action to apply on the packet:\;0: NOP - forward\;1: MIRROR_TO_CPU - forward and trap, trap_id is FDB_TRAP\;5: MIRROR\;Note - Dynamic entries can only be configured with NOP action." access="RW" enum="NOP=0x0,MIRROR_TO_CPU=0x1,MIRROR=0x5" offset="0xC.28" size="0x0.4" />
	<field name="flex_action_index" descr="Flexible ACL Action Set index.\;See Section 11.9, &quot;Flexible ACL Action Set&quot;, on page 3689.\;Supported in Spectrum-4 onwards.\;Reserved when set_flex_action=0." access="RW" offset="0x18.0" size="0x0.24" />
	<field name="set_flex_action" descr="Run Flexible ACL Action Set instead of counter increment.\;See Section 11.9, &quot;Flexible ACL Action Set&quot;, on page 3689.\;Supported in Spectrum-4 onwards." access="RW" offset="0x18.31" size="0x0.1" />
	<field name="counter_index" descr="Counter Index for flow counters\;For Spectrum: see Section 5.2, &quot;Flow Counters&quot;, on page 1404\;Reserved when set_flex_action=1.\;Not supported by SwitchX/-2" access="RW" offset="0x1C.0" size="0x0.24" />
	<field name="counter_set_type" descr="Counter Set Type for flow counters\;For Spectrum: See Section 5.2.2, &quot;Counter Set Type&quot;, on page 1405\;Reserved when set_flex_action=1.\;Not supported by SwitchX/-2" access="RW" offset="0x1C.24" size="0x0.8" />
</node>

<node name="unicast_tunnel_ext" descr="" size="0x10.0" >
	<field name="udip" descr="If gen_enc = 1:\;A pointer to the generic L2 encapsulation entry, see TNGEE\;Else If protocol is IPv4:\;The underlay destination IPv4 of the remote VTEP\;If protocol is IPv6:\;A pointer to the IPv6 address of the remote VTEP destination in the overlay network. See Section 14.14.17, &quot;RIPS - Router IP version Six Register&quot;, on page 4153" access="RW" offset="0x0.0" size="0x4.0" />
	<field name="gen_enc" descr="Generic L2 encapsulation\;Reserved when Spectrum" access="RW" offset="0x4.26" size="0x0.1" />
	<field name="protocol" descr="Protocol:\;0: IPv4\;1: IPv6" access="RW" enum="IPv4=0x0,IPv6=0x1" offset="0x4.27" size="0x0.1" />
	<field name="tunnel_port_lbf_bitmap" descr="Tunnel port vector for the loopback filter. Bitmap:\;bit0: NVE\;bit1: VPLS\;bit2: Flex_tunnel0\;bit3: Flex_tunnel1\;bits4..15: reserved\;At least one bit must be set. If all bits are cleared then NVE is treated as set \;This is used only for loopback filter check. The check itself is configured by TNPC.\;Reserved when gen_enc = 0 \;" access="RW" offset="0x8.0" size="0x0.16" />
	<field name="ecmp_size" descr="ecmp_size is the amount of sequential entries starting from the\;pointer to the first TNGEE (the number of ECMPs).\;Values are according to the mixed ECMP scheme detailed in Table 3438, &quot;ECMP Sizes,&quot; on page 4038.\;Reserved when gen_enc = 0" access="RW" offset="0xC.0" size="0x0.13" />
</node>

<node name="unicast_tunnel_fdb_record_ext" descr="" size="0x20.0" >
	<field name="mac_47_32" descr="MAC address" access="INDEX" offset="0x0.0" size="0x0.16" />
	<field name="a" descr="Activity. \;Set for new entries. Set if a forwarding lookup has hit the entry.\;In Spectrum-1 it is set for static entries only.\;To clear the a bit, use &quot;query and clear activity&quot; op.\;Enabled by activity_dis in SGCR, see Section 7.12.1, &quot;SGCR - Switch General Configuration Register&quot;, on page 2027\;Not supported by SwitchX/-2" access="RO" offset="0x0.16" size="0x0.1" />
	<field name="policy" descr="0: STATIC_POLICY - roaming disabled, aging disabled\;1: DYNAMIC_MLAG - roaming enabled, aging disabled, learning notification enabled for existing entry\;3: DYNAMIC_INGRESS - roaming enabled, aging enabled\;Note that if protocol is IPv6 then policy must be static" access="RW" enum="STATIC_POLICY=0x0,DYNAMIC_MLAG=0x1,DYNAMIC_INGRESS=0x3" offset="0x0.18" size="0x0.2" />
	<field name="type" descr="0xC: Unicast_Tunnel_FDB_Record - this record\;See Section 7.2.15, &quot;FDB Records&quot;, on page 1972" access="RW" enum="Unicast_Tunnel_FDB_Record=0xc" offset="0x0.20" size="0x0.4" />
	<field name="swid" descr="Switch partition ID\;Reserved when Spectrum/-2" access="INDEX" offset="0x0.24" size="0x0.8" />
	<field name="mac_31_0" descr="MAC address" access="INDEX" offset="0x4.0" size="0x4.0" />
	<field name="fid" descr="Filtering ID\;When ubridge=0: only FIDs that are from vFID type are valid." access="INDEX" offset="0x8.0" size="0x0.16" />
	<field name="uip_msb" descr="If protocol is IPv4 AND gen_enc = 0:\;The underlay IPv4 address of the remote VTEP (the most significant bits)\;Reserved when protocol = IPv6\;Reserved when gen_enc = 1" access="RW" offset="0x8.24" size="0x0.8" />
	<field name="uip_lsb" descr="If gen_enc = 1:\;A pointer to the generic L2 encapsulation entry, see TNGEE\;Else If protocol is IPv4:\;The underlay IPv4 address of the remote VTEP (the least significant bits)\;Else if protocol is IPv6:\;A pointer to the IPv6 address of the remote VTEP destination in the overlay network. See Section 14.14.17, &quot;RIPS - Router IP version Six Register&quot;, on page 4153." access="RW" offset="0xC.0" size="0x0.24" />
	<field name="gen_enc" descr="Generic L2 encapsulation\;Reserved when Spectrum-1\;\;" access="RW" offset="0xC.26" size="0x0.1" />
	<field name="protocol" descr="Protocol:\;0: IPv4\;1: IPv6\;Reserved when gen_enc = 1" access="RW" enum="IPv4=0x0,IPv6=0x1" offset="0xC.27" size="0x0.1" />
	<field name="action" descr="Action to apply on the packet:\;0: NOP - forward\;1: MIRROR_TO_CPU - forward and trap, trap_id is FDB_TRAP\;5: MIRROR\;Note that dynamic entries can only be configured with NOP action." access="RW" enum="NOP=0x0,MIRROR_TO_CPU=0x1,MIRROR=0x5" offset="0xC.28" size="0x0.4" />
	<field name="tunnel_port_lbf_bitmap" descr="Tunnel port vector for the loopback filter. Bitmap:\;bit0: NVE\;bit1: VPLS\;bit2: Flex_tunnel0\;bit3: Flex_tunnel1\;bits4..15: reserved\;At least one bit must be set. If all bits are cleared then NVE is treated as set \;This is used only for loopback filter check. The check itself is configured by TNPC.\;Reserved when gen_enc = 0 \;" access="RW" offset="0x10.0" size="0x0.16" />
	<field name="ecmp_size" descr="ecmp_size is the amount of sequential entries starting from the pointer to the first TNGEE (the number of ECMPs).\;Values are according to the mixed ECMP scheme detailed in Table 3438, &quot;ECMP Sizes,&quot; on page 4038.\;Reserved when gen_enc = 0.\;Note: Uses LAG-hash (and not ECMP-hash)." access="RW" offset="0x14.0" size="0x0.13" />
	<field name="flex_action_index" descr="Flexible ACL Action Set index.\;See Section 11.9, &quot;Flexible ACL Action Set&quot;, on page 3689.\;Supported in Spectrum-4 onwards.\;Reserved when set_flex_action=0." access="RW" offset="0x18.0" size="0x0.24" />
	<field name="set_flex_action" descr="Run Flexible ACL Action Set instead of counter increment.\;See Section 11.9, &quot;Flexible ACL Action Set&quot;, on page 3689.\;Supported in Spectrum-4 onwards." access="RW" offset="0x18.31" size="0x0.1" />
	<field name="counter_index" descr="Counter Index for flow counters\;For Spectrum: see Section 5.2, &quot;Flow Counters&quot;, on page 1404\;Reserved when set_flex_action=1.\;Not supported by SwitchX/-2" access="RW" offset="0x1C.0" size="0x0.24" />
	<field name="counter_set_type" descr="Counter Set Type for flow counters\;For Spectrum: See Section 5.2.2, &quot;Counter Set Type&quot;, on page 1405\;Reserved when set_flex_action=1.\;Not supported by SwitchX/-2" access="RW" offset="0x1C.24" size="0x0.8" />
</node>

<node name="vid_learn_record_ext" descr="" size="0x4.0" >
	<field name="vid" descr="VLAN ID to be added/removed from port or for querying\;Value of &apos;0&apos; is reserved" access="INDEX" offset="0x0.0" size="0x0.12" />
	<field name="learn_enable" descr="Learn enable:\;0: disable\;1: enable (default)\;Note: learning is enabled only if all enables are set (spanning tree, port-vid, global)\;Note: when a local_port belongs to a router sub-port then this field should be disabled" access="RW" offset="0x0.31" size="0x0.1" />
</node>

<node name="vid_record_ext" descr="" size="0x4.0" >
	<field name="vid" descr="VLAN ID to be added/removed from port or for querying" access="INDEX" offset="0x0.0" size="0x0.12" />
	<field name="u" descr="Untagged - port is an untagged member - egress transmission uses untagged frames on VID&lt;n&gt;\;0: NOT_UNTAGGED_MEMBER\;1: UNTAGGED_MEMBER. VLAN tag will be removed\;Default - only VID=1 is an untagged member\;For Spectrum, setting SPVTR.epvid_mode will modify this field" access="RW" offset="0x0.12" size="0x0.1" />
	<field name="e" descr="Egress membership in VLAN ID vid&lt;n&gt; \;0: NOT_MEMBER (discard the packet)\;1: MEMBER\;Default - only VID=1 is an egress member\;Note: when a local_port belongs to a router sub-port then this\;field should be set to MEMBER\;For Spectrum, setting SPVTR.epvid_mode will modify this field" access="RW" offset="0x0.13" size="0x0.1" />
	<field name="i" descr="Ingress membership in VLAN ID vid&lt;n&gt;\;0: NOT_MEMBER (discard the packet)\;1: MEMBER\;Default - this bit is set for all 4K VLAN IDs\;Note: when a local_port belongs to a router sub-port then this\;field should be set to MEMBER\;For Spectrum, setting SPVTR.ipvid_mode will modify this field" access="RW" offset="0x0.14" size="0x0.1" />
</node>

<node name="root" size="0xa20.0" descr="" >
	<field name="register_access_table_switch_ext_Nodes" offset="0x0.0" size="0xa20.0" subnode="register_access_table_switch_ext_Nodes" descr="" />
</node>

<node name="register_access_table_switch_ext_Nodes" size="0xa20.0" attr_is_union="1" descr="" >
	<field name="access_reg_summary_selector_ext" offset="0x0.0" size="0xa20.0" subnode="access_reg_summary_selector_ext" descr="" />
</node>
</NodesDefinition>
