<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.099" />
<node name="FENCE_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="FMQC_ext" descr="" size="0xc.0" >
	<field name="lp" descr="local port" 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 \;Range of 0 .. (cap_max_acl_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.6.2, &quot;Flex2 ACL Key Blocks Layout&quot;, on page 2092\;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="FSED_ext" descr="" size="0x710.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 2881, &quot;SF Page Dump Mode Fields,&quot; on page 3044" subnode="SF_PAGE_DUMP_MODE_ext" access="RO" high_bound="13" low_bound="0" offset="0x10.0" size="0x700.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 2093, &quot;Flexible Action Set: Supported Actions&quot;, on page 2249.\;Must be zero padded if action set is shorter." access="RW" high_bound="41" low_bound="0" 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" access="RW" offset="0x4.16" size="0x0.4" />
	<field name="linear_group_id" descr="valid values: 0 .. (cap_max_acl_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\;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.19" />
	<field name="max_threshold" descr="maximum threshold" access="RO" offset="0x8.0" size="0x0.19" />
	<field name="occupancy" descr="entries occupancy gauge\;Returns actual KVD lines count" access="RO" offset="0xC.0" size="0x4.0" />
</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_0" descr="warning threshold for db partition 0\;Reserved when set_partitions_bitmap.bit0 is not set" access="RW" offset="0x4.0" size="0x0.19" />
	<field name="warning_th_partition_1" descr="warning threshold for db partition 1\;Reserved when set_partitions_bitmap.bit1 is not set" access="RW" offset="0x8.0" size="0x0.19" />
	<field name="warning_th_partition_2" descr="warning threshold for db partition 2\;Reserved when set_partitions_bitmap.bit2 is not set" access="RW" offset="0xC.0" size="0x0.19" />
	<field name="warning_th_partition_3" descr="warning threshold for db partition 3\;Reserved when set_partitions_bitmap.bit3 is not set" access="RW" offset="0x10.0" size="0x0.19" />
	<field name="warning_th_partition_4" descr="warning threshold for db partition 4\;Reserved when set_partitions_bitmap.bit4 is not set" access="RW" offset="0x14.0" size="0x0.19" />
	<field name="warning_th_partition_5" descr="warning threshold for db partition 5\;Reserved when set_partitions_bitmap.bit5 is not set" access="RW" offset="0x18.0" size="0x0.19" />
	<field name="warning_th_partition_6" descr="warning threshold for db partition 6\;Reserved when set_partitions_bitmap.bit6 is not set" access="RW" offset="0x1C.0" size="0x0.19" />
	<field name="warning_th_partition_7" descr="warning threshold for db partition 7\;Reserved when set_partitions_bitmap.bit7 is not set" access="RW" offset="0x20.0" size="0x0.19" />
	<field name="max_th_partition_0" descr="max threshold for db partition 0\;Reserved when set_partitions_bitmap.bit0 is not set" access="RW" offset="0x24.0" size="0x0.19" />
	<field name="max_th_partition_1" descr="max threshold for db partition 1\;Reserved when set_partitions_bitmap.bit1 is not set" access="RW" offset="0x28.0" size="0x0.19" />
	<field name="max_th_partition_2" descr="max threshold for db partition 2\;Reserved when set_partitions_bitmap.bit2 is not set" access="RW" offset="0x2C.0" size="0x0.19" />
	<field name="max_th_partition_3" descr="max threshold for db partition 3\;Reserved when set_partitions_bitmap.bit3 is not set" access="RW" offset="0x30.0" size="0x0.19" />
	<field name="max_th_partition_4" descr="max threshold for db partition 4\;Reserved when set_partitions_bitmap.bit4 is not set" access="RW" offset="0x34.0" size="0x0.19" />
	<field name="max_th_partition_5" descr="max threshold for db partition 5\;Reserved when set_partitions_bitmap.bit5 is not set" access="RW" offset="0x38.0" size="0x0.19" />
	<field name="max_th_partition_6" descr="max threshold for db partition 6\;Reserved when set_partitions_bitmap.bit6 is not set" access="RW" offset="0x3C.0" size="0x0.19" />
	<field name="max_th_partition_7" descr="max threshold for db partition 7\;Reserved when set_partitions_bitmap.bit7 is not set" access="RW" offset="0x40.0" size="0x0.19" />
</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="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" />
</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="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 size in case of no match\;Units of 1B\;Granularity of 2B\;Min value: 48B\;Max value: 512B" 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 = (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\;\;" access="RW" enum="DISABLE=0x0,STATIC_ONLY=0x1,STATIC_AND_MASK=0x2" offset="0x8.0" size="0x0.2" />
	<field name="dd" descr="default disable\;In case packet has no matching header found to at least one of the selected headers in masking_label_en:\;0: USE_DEFAULT_MASKING_SIZE - (ITGCR.def_masking_size)\;1: NO_TRUNC_NO_MASK - no truncation and no masking are applied\;Reserved when mode != (2)" access="RW" enum="USE_DEFAULT_MASKING_SIZE=0x0,NO_TRUNC_NO_MASK=0x1" offset="0x8.8" 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 != (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: 512 Bytes\;\;Reserved when mode != (2)" access="RW" offset="0x10.16" size="0x0.9" />
</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 2120, &quot;COUNTER_BY_REF_PARAM Block Layout,&quot; on page 2276" 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" 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="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" 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 compliment).\;Any value larger than 0x7FFFFFFF represented as 0x7FFFFFFF. \;Any value smaller than 0x8000000 represented as 0x8000000.\;\;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="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="synce_support" descr="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;\;\;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="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 2820, &quot;FGCR - Flex Global Configuration Register Fields,&quot; on page 2994" access="RW" offset="0x0.16" size="0x0.1" />
</node>

<node name="SF_PAGE_DUMP_MODE_0_ext" descr="" size="0x7c.0" >
	<field name="key_54B" descr="See Table 1829, &quot;Flex2 Key 54B Layout,&quot; on page 2093" 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" 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="0x3C.0" size="0x8.0" />
	<field name="region_id" descr="region id" access="RO" offset="0x44.0" size="0x0.16" />
	<field name="sem_count" descr="semaphore count" access="RO" offset="0x44.16" size="0x0.16" />
</node>

<node name="SF_PAGE_DUMP_MODE_1_RECORD_ext" descr="" size="0x24.0" >
	<field name="key_18B" descr="See Table 1833, &quot;Flex2 Key 18B Layout,&quot; on page 2096" 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 is 9 bytes\;1: key size is 18 bytes\;\;" access="RO" 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="0x7c.0" >
	<field name="record" descr="See Table 2886, &quot;SF Record Type 1 Layout,&quot; on page 3047" subnode="SF_PAGE_DUMP_MODE_1_RECORD_ext" access="RO" high_bound="1" low_bound="0" offset="0x0.0" size="0x48.0" />
</node>

<node name="SF_PAGE_DUMP_MODE_dump_page_auto_ext" descr="" attr_is_union="1" size="0x7c.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="0x7c.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="0x7c.0" />
</node>

<node name="SF_PAGE_DUMP_MODE_ext" descr="" size="0x80.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 2882, &quot;SF Page Dump Mode 0 Layout,&quot; on page 3045\;See Table 2884, &quot;SF Page Dump Mode 1 Layout,&quot; on page 3047" subnode="SF_PAGE_DUMP_MODE_dump_page_auto_ext" offset="0x4.0" size="0x7c.0" union_selector="$(parent).mode" />
</node>

<node name="SLCRV2_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\;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.14, &quot;Custom Bytes&quot;, on page 1975" 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\;\;RoCE v1 fields: [TBD]\;Bit 58: [TBD] GRH SIP\;Bit 59: [TBD] GRH DIP\;Bit 60: [TBD] GRH Next Protocol\;Bit 61: [TBD] GRH DSCP\;Bit 62: [TBD] GRH ECN\;Bit 63: [TBD] GRH L3 Length\;Bit 64: [TBD] GRH 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 1101, &quot;cbsets Layout&quot;.\;Reserved when general_fields.Bit1 = 0.\;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="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,HOPF=0x7081,HMCB=0x7082,HMON=0x7084,HRWC=0x7088,HCTR=0x7083,HTAC=0x7085,HCOT=0x7087,HRDQT=0x7022,HTACG=0x7023,HETT=0x7089,MPFM=0x9022,MPEIN=0x9050,MPCNT=0x9051,MPEGC=0x9056,MPIR=0x9059,MPECS=0x905b,MPEINJ=0x9057,MOGCR=0x9086,MPRS=0x9083,MDRI=0x9084,MRRR=0x9087,MONI=0x90f4,MOLP=0x90f9,MFBD=0x90fb,MPAT=0x901a,MPAR=0x901b,MPAGR=0x9089,MOMTE=0x908d,MOCMI=0x9098,MPSC=0x9080,MGPC=0x9081,MGPCB=0x9096,MOCS=0x9095,MAFCR=0x908a,MAFTI=0x908b,MAFRI=0x908c,MAFBI=0x9097,MOPCE=0x90e2,MOCA=0x90e3,MOFPH=0x90e4,MOFPC=0x90e5,MOFRB=0x90e6,MOCBR=0x90e7,MOCBS=0x90e8,MTPPPC=0x9090,MTPPTR=0x9091,MTPTPT=0x9092,MTPCPC=0x9093,MTPSPU=0x9094,MFGD=0x90f0,MODCR=0x9099,MFDE=0x9200,SGCR=0x2000,SPAD=0x2002,SFDAT=0x2009,SFD=0x200a,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,SLMT=0x2037,SLCR=0x2015,SLCR_V2=0x2021,SFDT=0x2022,SFDT_V2=0x202e,SLCOR=0x2016,SLECR=0x2017,SPMLR=0x2018,SVMLR=0x2019,SPVMLR=0x2020,SVPE=0x201e,SFMR=0x201f,SVER=0x2025,SPVC=0x2026,SPFSR=0x2023,SFFP=0x2029,SMPE=0x202b,SMPEB=0x202c,SMHT=0x2035,SVPCN=0x2036,PCAM=0x507f,PTYS=0x5004,PAOS=0x5006,PLTC=0x5046,PPCNT=0x5008,PUDE=0x5009,PLIB=0x500a,PSPA=0x500d,PIPG=0x5017,PGMR=0x5039,PTER=0x5055,PREI=0x5058,PMLP=0x5002,PMAOS=0x5012,PMPR=0x5013,PMTDB=0x501a,PMECR=0x501b,PMLPE=0x501c,PMSC=0x501d,PMPC=0x501f,PMPE=0x5024,PMMP=0x5044,PMCR=0x5045,PEPC=0x5056,PMPT=0x5064,PMPD=0x5065,PMTM=0x5067,PPSC=0x5011,PPLR=0x5018,PPLM=0x5023,SLTP=0x5027,SLRG=0x5028,PDDR=0x5031,PPTT=0x5036,PPRT=0x5037,PPHCR=0x503e,PPAOS=0x5040,PCNR=0x5050,PPBMP=0x5051,PPBMC=0x5052,PPBME=0x5053,SLRED=0x505a,PMTU=0x5003,PPAD=0x5005,PFCC=0x5007,PPTB=0x500b,PBMC=0x500c,PVLC=0x500f,PLBF=0x5015,PIFR=0x5016,PIFR_V2=0x50e0,PHRR=0x5035,PBSR=0x5038,PHCR=0x503a,PCMR=0x5041,PFSC=0x5043,PLLP=0x504a,MMDIO=0x9017,MLCR=0x902b,MGCR=0x903a,MJTAG=0x901f,MFM=0x901d,MHSR=0x901e,MTPPS=0x9053,MTUTC=0x9055,MRTC=0x902d,MPGO=0x9058,MTPPST=0x9057,MSECQ=0x9155,MSEES=0x9156,MSPI=0x9029,MCIA=0x9014,MCION=0x9052,MDDT=0x9160,MDDQ=0x9161,MDDC=0x9163,MGPIR=0x9100,MDRCR=0x9102,MDFCR=0x9101,MTCAP=0x9009,MTECR=0x9109,MTMP=0x900a,MTWE=0x900b,MTEWE=0x910b,MTBR=0x900f,MVCAP=0x902e,MVCR=0x900c,MSPS=0x900d,MCPP=0x900e,MRSR=0x9023,MFRL=0x9028,MCQS=0x9060,MCQI=0x9061,MCC=0x9062,MCDA=0x9063,MCDD=0x905c,MIRC=0x9162,MQIS=0x9064,MGIR=0x9020,MSGI=0x9021,MSCI=0x902a,MDIR=0x911a,MSSIR=0x9105,MMIA=0x9016,MINI=0x905e,MCAM=0x907f,MECCC=0x905f,MBCT=0x9120,MDSR=0x9110,MFSV=0x9115,MTCQ=0x9065,MQDIK=0x9116,MKDC=0x9066,MSPMER=0x9067,MNVDA=0x9024,MNVDI=0x9025,MNVQC=0x9030,MNVIA=0x9033,MNVGC=0x9034,MNVGN=0x9035,MGNLE=0x9036,MTRC_CAP=0x9040,MTRC_CONF=0x9041,MTRC_STDB=0x9042,MTRC_CTRL=0x9043,MFPA=0x9010,MFBA=0x9011,MFBE=0x9012,MFMC=0x9013,MFCR=0x9001,MFSC=0x9002,MFSM=0x9003,MFSL=0x9004,FORE=0x9007,MFNR=0x903b,MPCIR=0x905a,MERR=0x903c,MRPR=0x9117,MDCR=0x9111,MHMPR=0x905d,MGLS=0x9068,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,IRQR=0x3870,ICAM=0x387f,ITPR=0x3820,ITGCR=0x3821,IPCR=0x3823,IPFR=0x3824,SPZR=0x6002,IBFMR=0x6003,IBFMRC=0x6004,IBSNI=0x6005,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,MPGCR=0x8801,MPILM=0x8802,MPIBE=0x8803,MPNHLFE=0x8804,MPNHLFEB=0x8805,MPFT=0x8806,MPEPM=0x8810,MPQDR=0x8811,MPILEM=0x8812,MPELEM=0x8813,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=0x8003,RIGR_V2=0x8023,RTAR=0x8004,RECR=0x8005,RECR_V2=0x8025,RUFT=0x8006,RUHT=0x800c,RMFT=0x8007,RMFT_V2=0x8027,RMFTAD=0x8028,RRCR=0x800f,RATR=0x8008,RATRB=0x8024,RATRAD=0x8022,RTDP=0x8020,RIPS=0x8021,RDPM=0x8009,RICA=0x800a,RICNT=0x800b,RALTA=0x8010,RALST=0x8011,RALTB=0x8012,RALUE=0x8013,RAUHT=0x8014,RAUHTD=0x8018,RALEU=0x8015,RALBU=0x8016,RALCM=0x8017,RMID=0x8030,RMID_V2=0x8036,RMPE=0x8031,RMPU=0x8032,RMEIR=0x8033,REIV=0x8034,RNGCR=0x8045,RXLTE=0x8050,RXLTM=0x8051,RXLTCC=0x8052,RLPMCE=0x8056,RLCME=0x8053,RLCMLE=0x8054,RLCMLD=0x8055,RARGCR=0x806a,RARPC=0x8060,RARSR=0x8069,RARPR=0x8061,RARCL=0x8062,RARLU=0x8068,RARFT=0x8064,RARLPGT=0x8065,RARCC=0x8067,RARNGC=0x8070,RARNPC=0x8071,RARNCC=0x8072,RARNS=0x8073,RSNH=0x8066,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,CPID=0x2032,QGCR=0x4000,QCAP=0x4001,QPTS=0x4002,QDPM=0x4003,QPDPM=0x4013,QEPM=0x4014,QPCR=0x4004,QPBR=0x400c,QETCR=0x4005,QEGCS=0x4006,QSHR=0x4030,QEEC=0x400d,QPDP=0x4007,QPDPC=0x4017,QPRT=0x4008,QTCT=0x400a,QTCTM=0x401a,QSPTC=0x4009,QSTCT=0x400b,QSPIP=0x400e,QSPCP=0x401e,QRWE=0x400f,QPEM=0x4010,QPDSM=0x4011,QPPM=0x4012,QSLL=0x4015,QHLL=0x4016,QSIPG=0x4018,QCAM=0x4019,QTTTL=0x4040,QTQCR=0x4041,QTQDR=0x4042,QTEEM=0x4043,QTDEM=0x4044,PGCR=0x3001,PPBT=0x3002,PEVPB=0x302e,PVGT=0x3009,PVBT=0x3003,PRBT=0x3013,PEMRBT=0x3014,PERB=0x3040,PERBRG=0x3041,PERBEG=0x3042,PACL=0x3004,PAGT=0x3005,PTAR=0x3006,PERLA=0x3036,PERAR=0x3026,PERCR=0x302a,PERERP=0x302b,PERD=0x302c,PTCE=0x3007,PTCE_V2=0x3017,PTCE_V3=0x3027,PTCEAD=0x3028,PEFA=0x300f,PEFAAD=0x3029,PRCR=0x300d,PPRR=0x3008,PFCA=0x300a,PFCNT=0x300b,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,FGCR=0x4800,FPUMS=0x4801,FPHHC=0x4880,FPPC=0x4881,FPFTT=0x4882,FPHTT=0x4883,FPTS=0x4884,FMTC=0x4901,FMTE=0x4902,FMTM=0x4903,FMEP=0x4904,FMQC=0x4905,FSGCR=0x4920,FSDB=0x4921,FSPT=0x4922,FSPS=0x4923,FSDC=0x492c,FSTM=0x4924,FSED=0x4925,FSHE=0x4926,FSFH=0x4927,FMTPC=0x4928,FMTPA=0x4929,FMTB=0x492a,FRAR=0x492b,UGCAP=0x6400,UPCAP=0x6401,UGCR=0x6402,UPCON=0x6403,UMTU=0x6404,UVER=0x6410,UPVC=0x6411,UPAFT=0x6412,UPVID=0x6413,UTAR=0x6428,UPBT=0x6420,UTCE=0x6422,URCR=0x6423,USADB=0x6424,USAK=0x6425,USACN=0x6426,UTCC=0x6427,UPCNT=0x6430,UPRR=0x6440,UCCR=0x6450,UTFD=0x6451,UTFC=0x6452,UTER=0x6453" offset="0x0.0" size="0x4.0" />
</node>

<node name="access_reg_summary_ext" descr="" attr_is_union="1" size="0x710" >
	<field name="hgcr" descr="" subnode="hgcr_ext" capability="0" offset="0x0.0" selected_by="HGCR" size="0x1c" />
	<field name="hcap" descr="" subnode="hcap_ext" capability="0" offset="0x0.0" selected_by="HCAP" size="0x14" />
	<field name="hpkt" descr="" subnode="hpkt_ext" capability="0" offset="0x0.0" selected_by="HPKT" size="0x10" />
	<field name="htgt" descr="" subnode="htgt_ext" capability="0" offset="0x0.0" selected_by="HTGT" size="0x44" />
	<field name="hopf" descr="" subnode="hopf_ext" capability="0" offset="0x0.0" selected_by="HOPF" size="0x14" />
	<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="hrwc" descr="" subnode="hrwc_ext" capability="0" offset="0x0.0" selected_by="HRWC" size="0x220" />
	<field name="hctr" descr="" subnode="hctr_ext" capability="0" offset="0x0.0" selected_by="HCTR" size="0x10" />
	<field name="htac" descr="" subnode="htac_ext" capability="0" offset="0x0.0" selected_by="HTAC" size="0x30" />
	<field name="hcot" descr="" subnode="hcot_ext" capability="0" offset="0x0.0" selected_by="HCOT" size="0x30" />
	<field name="hrdqt" descr="" subnode="hrdqt_ext" capability="0" offset="0x0.0" selected_by="HRDQT" size="0xc" />
	<field name="htacg" descr="" subnode="htacg_ext" capability="0" offset="0x0.0" selected_by="HTACG" size="0x90" />
	<field name="hett" descr="" subnode="hett_ext" capability="0" offset="0x0.0" selected_by="HETT" size="0x14" />
	<field name="mpfm" descr="" subnode="mpfm_ext" capability="0" offset="0x0.0" selected_by="MPFM" size="0x8" />
	<field name="mpein_reg" descr="" subnode="mpein_reg_ext" capability="0" offset="0x0.0" selected_by="MPEIN" size="0x30" />
	<field name="mpcnt_reg" descr="" subnode="mpcnt_reg_ext" capability="0" offset="0x0.0" selected_by="MPCNT" size="0x100" />
	<field name="mpegc_reg" descr="" subnode="mpegc_reg_ext" capability="0" offset="0x0.0" selected_by="MPEGC" size="0x2c" />
	<field name="mpir" descr="" subnode="mpir_ext" capability="0" offset="0x0.0" selected_by="MPIR" size="0x10" />
	<field name="mpecs_reg" descr="" subnode="mpecs_reg_ext" capability="0" offset="0x0.0" selected_by="MPECS" size="0x20" />
	<field name="mpeinj_reg" descr="" subnode="mpeinj_reg_ext" capability="0" offset="0x0.0" selected_by="MPEINJ" size="0x20" />
	<field name="mogcr" descr="" subnode="mogcr_ext" capability="0" offset="0x0.0" selected_by="MOGCR" size="0x20" />
	<field name="mprs" descr="" subnode="mprs_ext" capability="0" offset="0x0.0" selected_by="MPRS" size="0x14" />
	<field name="mdri" descr="" subnode="mdri_ext" capability="0" offset="0x0.0" selected_by="MDRI" size="0x120" />
	<field name="mrrr" descr="" subnode="mrrr_ext" capability="0" offset="0x0.0" selected_by="MRRR" size="0x8" />
	<field name="moni" descr="" subnode="moni_ext" capability="0" offset="0x0.0" selected_by="MONI" size="0x8" />
	<field name="molp" descr="" subnode="molp_ext" capability="0" offset="0x0.0" selected_by="MOLP" size="0x8" />
	<field name="mfbd" descr="" subnode="mfbd_ext" capability="0" offset="0x0.0" selected_by="MFBD" size="0x24" />
	<field name="mpat_reg" descr="" subnode="mpat_reg_ext" capability="0" offset="0x0.0" selected_by="MPAT" size="0x7c" />
	<field name="mpar" descr="" subnode="mpar_ext" capability="0" offset="0x0.0" selected_by="MPAR" size="0xc" />
	<field name="mpagr" descr="" subnode="mpagr_ext" capability="0" offset="0x0.0" selected_by="MPAGR" size="0xc" />
	<field name="momte" descr="" subnode="momte_ext" capability="0" offset="0x0.0" selected_by="MOMTE" size="0x10" />
	<field name="mocmi" descr="" subnode="mocmi_ext" capability="0" offset="0x0.0" selected_by="MOCMI" size="0x10" />
	<field name="mpsc" descr="" subnode="mpsc_ext" capability="0" offset="0x0.0" selected_by="MPSC" size="0x14" />
	<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="mocs" descr="" subnode="mocs_ext" capability="0" offset="0x0.0" selected_by="MOCS" size="0xc0" />
	<field name="mafcr" descr="" subnode="mafcr_ext" capability="0" offset="0x0.0" selected_by="MAFCR" size="0xc" />
	<field name="mafti" descr="" subnode="mafti_ext" capability="0" offset="0x0.0" selected_by="MAFTI" size="0x308" />
	<field name="mafri" descr="" subnode="mafri_ext" capability="0" offset="0x0.0" selected_by="MAFRI" size="0x410" />
	<field name="mafbi" descr="" subnode="mafbi_ext" capability="0" offset="0x0.0" selected_by="MAFBI" size="0x308" />
	<field name="mopce" descr="" subnode="mopce_ext" capability="0" offset="0x0.0" selected_by="MOPCE" size="0x4d0" />
	<field name="moca" descr="" subnode="moca_ext" capability="0" offset="0x0.0" selected_by="MOCA" size="0xc" />
	<field name="mofph" descr="" subnode="mofph_ext" capability="0" offset="0x0.0" selected_by="MOFPH" size="0x1c" />
	<field name="mofpc" descr="" subnode="mofpc_ext" capability="0" offset="0x0.0" selected_by="MOFPC" size="0xc" />
	<field name="mofrb" descr="" subnode="mofrb_ext" capability="0" offset="0x0.0" selected_by="MOFRB" size="0x210" />
	<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="mtpppc" descr="" subnode="mtpppc_ext" capability="0" offset="0x0.0" selected_by="MTPPPC" size="0x10" />
	<field name="mtpptr" descr="" subnode="mtpptr_ext" capability="0" offset="0x0.0" selected_by="MTPPTR" size="0x50" />
	<field name="mtptpt" descr="" subnode="mtptpt_ext" capability="0" offset="0x0.0" selected_by="MTPTPT" size="0x8" />
	<field name="mtpcpc" descr="" subnode="mtpcpc_ext" capability="0" offset="0x0.0" selected_by="MTPCPC" size="0x28" />
	<field name="mtpspu" descr="" subnode="mtpspu_ext" capability="0" offset="0x0.0" selected_by="MTPSPU" size="0x8" />
	<field name="mfgd" descr="" subnode="mfgd_ext" capability="0" offset="0x0.0" selected_by="MFGD" size="0x4" />
	<field name="modcr" descr="" subnode="modcr_ext" capability="0" offset="0x0.0" selected_by="MODCR" size="0x14" />
	<field name="mfde" descr="" subnode="mfde_ext" capability="0" offset="0x0.0" selected_by="MFDE" size="0xb0" />
	<field name="sgcr" descr="" subnode="sgcr_ext" capability="0" offset="0x0.0" selected_by="SGCR" size="0x10" />
	<field name="spad" descr="" subnode="spad_ext" capability="0" offset="0x0.0" selected_by="SPAD" size="0x10" />
	<field name="sfdat" descr="" subnode="sfdat_ext" capability="0" offset="0x0.0" selected_by="SFDAT" size="0x8" />
	<field name="sfd" descr="" subnode="sfd_ext" capability="0" offset="0x0.0" selected_by="SFD" size="0x410" />
	<field name="sfn" descr="" subnode="sfn_ext" capability="0" offset="0x0.0" selected_by="SFN" size="0x410" />
	<field name="sfdd" descr="" subnode="sfdd_ext" capability="0" offset="0x0.0" selected_by="SFDD" size="0x420" />
	<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="spgt" descr="" subnode="spgt_ext" capability="0" offset="0x0.0" selected_by="SPGT" size="0x240" />
	<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="smpu" descr="" subnode="smpu_ext" capability="0" offset="0x0.0" selected_by="SMPU" size="0x410" />
	<field name="sspr" descr="" subnode="sspr_ext" capability="0" offset="0x0.0" selected_by="SSPR" size="0x8" />
	<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="spvid" descr="" subnode="spvid_ext" capability="0" offset="0x0.0" selected_by="SPVID" size="0x8" />
	<field name="spevet" descr="" subnode="spevet_ext" capability="0" offset="0x0.0" selected_by="SPEVET" size="0x8" />
	<field name="spvtr" descr="" subnode="spvtr_ext" capability="0" offset="0x0.0" selected_by="SPVTR" size="0x10" />
	<field name="spvm" descr="" subnode="spvm_ext" capability="0" offset="0x0.0" selected_by="SPVM" size="0x400" />
	<field name="spaft" descr="" subnode="spaft_ext" capability="0" offset="0x0.0" selected_by="SPAFT" size="0x8" />
	<field name="sfgc" descr="" subnode="sfgc_ext" capability="0" offset="0x0.0" selected_by="SFGC" size="0x14" />
	<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="svfa" descr="" subnode="svfa_ext" capability="0" offset="0x0.0" selected_by="SVFA" size="0x18" />
	<field name="sfdf" descr="" subnode="sfdf_ext" capability="0" offset="0x0.0" selected_by="SFDF" size="0x14" />
	<field name="slmt" descr="" subnode="slmt_ext" capability="0" offset="0x0.0" selected_by="SLMT" size="0x8" />
	<field name="slcr" descr="" subnode="slcr_ext" capability="0" offset="0x0.0" selected_by="SLCR" size="0x10" />
	<field name="SLCRV2" descr="" subnode="SLCRV2_ext" capability="0" offset="0x0.0" selected_by="SLCR_V2" size="0x50" />
	<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="slcor" descr="" subnode="slcor_ext" capability="0" offset="0x0.0" selected_by="SLCOR" size="0x10" />
	<field name="slecr" descr="" subnode="slecr_ext" capability="0" offset="0x0.0" selected_by="SLECR" size="0x10" />
	<field name="spmlr" descr="" subnode="spmlr_ext" capability="0" offset="0x0.0" selected_by="SPMLR" size="0x8" />
	<field name="svmlr" descr="" subnode="svmlr_ext" capability="0" offset="0x0.0" selected_by="SVMLR" size="0x8" />
	<field name="spvmlr" descr="" subnode="spvmlr_ext" capability="0" offset="0x0.0" selected_by="SPVMLR" size="0x400" />
	<field name="svpe" descr="" subnode="svpe_ext" capability="0" offset="0x0.0" selected_by="SVPE" size="0x4" />
	<field name="sfmr" descr="" subnode="sfmr_ext" capability="0" offset="0x0.0" selected_by="SFMR" size="0x2c" />
	<field name="sver" descr="" subnode="sver_ext" capability="0" offset="0x0.0" selected_by="SVER" size="0x10" />
	<field name="spvc" descr="" subnode="spvc_ext" capability="0" offset="0x0.0" selected_by="SPVC" size="0xc" />
	<field name="spfsr" descr="" subnode="spfsr_ext" capability="0" offset="0x0.0" selected_by="SPFSR" size="0x8" />
	<field name="sffp" descr="" subnode="sffp_ext" capability="0" offset="0x0.0" selected_by="SFFP" size="0xc" />
	<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="smht" descr="" subnode="smht_ext" capability="0" offset="0x0.0" selected_by="SMHT" size="0xa0" />
	<field name="svpcn" descr="" subnode="svpcn_ext" capability="0" offset="0x0.0" selected_by="SVPCN" size="0x10" />
	<field name="pcam_reg" descr="" subnode="pcam_reg_ext" capability="0" offset="0x0.0" selected_by="PCAM" size="0x50" />
	<field name="ptys_reg" descr="" subnode="ptys_reg_ext" capability="0" offset="0x0.0" selected_by="PTYS" size="0x40" />
	<field name="paos_reg" descr="" subnode="paos_reg_ext" capability="0" offset="0x0.0" selected_by="PAOS" size="0x10" />
	<field name="pltc_reg" descr="" subnode="pltc_reg_ext" capability="0" offset="0x0.0" selected_by="PLTC" size="0x10" />
	<field name="ppcnt_reg" descr="" subnode="ppcnt_reg_ext" capability="0" offset="0x0.0" selected_by="PPCNT" size="0x100" />
	<field name="pude_reg" descr="" subnode="pude_reg_ext" capability="0" offset="0x0.0" selected_by="PUDE" size="0x10" />
	<field name="plib_reg" descr="" subnode="plib_reg_ext" capability="0" offset="0x0.0" selected_by="PLIB" size="0x10" />
	<field name="pspa_reg" descr="" subnode="pspa_reg_ext" capability="0" offset="0x0.0" selected_by="PSPA" size="0x8" />
	<field name="pipg_reg" descr="" subnode="pipg_reg_ext" capability="0" offset="0x0.0" selected_by="PIPG" size="0x8" />
	<field name="pgmr" descr="" subnode="pgmr_ext" capability="0" offset="0x0.0" selected_by="PGMR" size="0x2c" />
	<field name="pter_reg" descr="" subnode="pter_reg_ext" capability="0" offset="0x0.0" selected_by="PTER" size="0x20" />
	<field name="prei_reg" descr="" subnode="prei_reg_ext" capability="0" offset="0x0.0" selected_by="PREI" size="0x18" />
	<field name="pmlp_reg" descr="" subnode="pmlp_reg_ext" capability="0" offset="0x0.0" selected_by="PMLP" size="0x40" />
	<field name="pmaos_reg" descr="" subnode="pmaos_reg_ext" capability="0" offset="0x0.0" selected_by="PMAOS" size="0x10" />
	<field name="pmpr_reg" descr="" subnode="pmpr_reg_ext" capability="0" offset="0x0.0" selected_by="PMPR" size="0x10" />
	<field name="pmtdb_reg" descr="" subnode="pmtdb_reg_ext" capability="0" offset="0x0.0" selected_by="PMTDB" size="0x40" />
	<field name="pmecr_reg" descr="" subnode="pmecr_reg_ext" capability="0" offset="0x0.0" selected_by="PMECR" size="0x20" />
	<field name="pmlpe_reg" descr="" subnode="pmlpe_reg_ext" capability="0" offset="0x0.0" selected_by="PMLPE" size="0x40" />
	<field name="pmsc_reg" descr="" subnode="pmsc_reg_ext" capability="0" offset="0x0.0" selected_by="PMSC" size="0x40" />
	<field name="pmpc_reg" descr="" subnode="pmpc_reg_ext" capability="0" offset="0x0.0" selected_by="PMPC" size="0x20" />
	<field name="pmpe_reg" descr="" subnode="pmpe_reg_ext" capability="0" offset="0x0.0" selected_by="PMPE" size="0x10" />
	<field name="pmmp_reg" descr="" subnode="pmmp_reg_ext" capability="0" offset="0x0.0" selected_by="PMMP" size="0x28" />
	<field name="pmcr_reg" descr="" subnode="pmcr_reg_ext" capability="0" offset="0x0.0" selected_by="PMCR" size="0x1c" />
	<field name="pepc_reg" descr="" subnode="pepc_reg_ext" capability="0" offset="0x0.0" selected_by="PEPC" size="0x10" />
	<field name="pmpt_reg" descr="" subnode="pmpt_reg_ext" capability="0" offset="0x0.0" selected_by="PMPT" size="0x1c" />
	<field name="pmpd_reg" descr="" subnode="pmpd_reg_ext" capability="0" offset="0x0.0" selected_by="PMPD" size="0x30" />
	<field name="pmtm_reg" descr="" subnode="pmtm_reg_ext" capability="0" offset="0x0.0" selected_by="PMTM" size="0x10" />
	<field name="ppsc_reg" descr="" subnode="ppsc_reg_ext" capability="0" offset="0x0.0" selected_by="PPSC" size="0x30" />
	<field name="pplr_reg" descr="" subnode="pplr_reg_ext" capability="0" offset="0x0.0" selected_by="PPLR" size="0x8" />
	<field name="pplm_reg" descr="" subnode="pplm_reg_ext" capability="0" offset="0x0.0" selected_by="PPLM" size="0x50" />
	<field name="sltp_reg" descr="" subnode="sltp_reg_ext" capability="0" offset="0x0.0" selected_by="SLTP" size="0x4c" />
	<field name="slrg_reg" descr="" subnode="slrg_reg_ext" capability="0" offset="0x0.0" selected_by="SLRG" size="0x28" />
	<field name="pddr_reg" descr="" subnode="pddr_reg_ext" capability="0" offset="0x0.0" selected_by="PDDR" size="0x100" />
	<field name="pptt_reg" descr="" subnode="pptt_reg_ext" capability="0" offset="0x0.0" selected_by="PPTT" size="0x1c" />
	<field name="pprt_reg" descr="" subnode="pprt_reg_ext" capability="0" offset="0x0.0" selected_by="PPRT" size="0x24" />
	<field name="pphcr" descr="" subnode="pphcr_ext" capability="0" offset="0x0.0" selected_by="PPHCR" size="0x50" />
	<field name="ppaos_reg" descr="" subnode="ppaos_reg_ext" capability="0" offset="0x0.0" selected_by="PPAOS" size="0x10" />
	<field name="pcnr_reg" descr="" subnode="pcnr_reg_ext" capability="0" offset="0x0.0" selected_by="PCNR" size="0xc" />
	<field name="ppbmp_reg" descr="" subnode="ppbmp_reg_ext" capability="0" offset="0x0.0" selected_by="PPBMP" size="0x30" />
	<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="slred_reg" descr="" subnode="slred_reg_ext" capability="0" offset="0x0.0" selected_by="SLRED" size="0xa8" />
	<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="pfcc_reg" descr="" subnode="pfcc_reg_ext" capability="0" offset="0x0.0" selected_by="PFCC" size="0x20" />
	<field name="pptb_reg" descr="" subnode="pptb_reg_ext" capability="0" offset="0x0.0" selected_by="PPTB" size="0x10" />
	<field name="pbmc_reg" descr="" subnode="pbmc_reg_ext" capability="0" offset="0x0.0" selected_by="PBMC" size="0x6c" />
	<field name="pvlc_reg" descr="" subnode="pvlc_reg_ext" capability="0" offset="0x0.0" selected_by="PVLC" size="0x10" />
	<field name="plbf_reg" descr="" subnode="plbf_reg_ext" capability="0" offset="0x0.0" selected_by="PLBF" size="0x8" />
	<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="phrr_reg" descr="" subnode="phrr_reg_ext" capability="0" offset="0x0.0" selected_by="PHRR" size="0x60" />
	<field name="pbsr_reg" descr="" subnode="pbsr_reg_ext" capability="0" offset="0x0.0" selected_by="PBSR" size="0x64" />
	<field name="phcr" descr="" subnode="phcr_ext" capability="0" offset="0x0.0" selected_by="PHCR" size="0x4c" />
	<field name="pcmr_reg" descr="" subnode="pcmr_reg_ext" capability="0" offset="0x0.0" selected_by="PCMR" size="0xc" />
	<field name="pfsc_reg" descr="" subnode="pfsc_reg_ext" capability="0" offset="0x0.0" selected_by="PFSC" size="0x10" />
	<field name="pllp_reg" descr="" subnode="pllp_reg_ext" capability="0" offset="0x0.0" selected_by="PLLP" size="0xc" />
	<field name="mmdio" descr="" subnode="mmdio_ext" capability="0" offset="0x0.0" selected_by="MMDIO" size="0xc" />
	<field name="mlcr" descr="" subnode="mlcr_ext" capability="0" offset="0x0.0" selected_by="MLCR" size="0xc" />
	<field name="mgcr_reg" descr="" subnode="mgcr_reg_ext" capability="0" offset="0x0.0" selected_by="MGCR" size="0x20" />
	<field name="mjtag" descr="" subnode="mjtag_ext" capability="0" offset="0x0.0" selected_by="MJTAG" size="0x30" />
	<field name="mfm" descr="" subnode="mfm_ext" capability="0" offset="0x0.0" selected_by="MFM" size="0x18" />
	<field name="mhsr" descr="" subnode="mhsr_ext" capability="0" offset="0x0.0" selected_by="MHSR" size="0x8" />
	<field name="mtpps_reg" descr="" subnode="mtpps_reg_ext" capability="0" offset="0x0.0" selected_by="MTPPS" size="0x38" />
	<field name="mtutc_reg" descr="" subnode="mtutc_reg_ext" capability="0" offset="0x0.0" selected_by="MTUTC" size="0x1c" />
	<field name="mrtc_reg" descr="" subnode="mrtc_reg_ext" capability="0" offset="0x0.0" selected_by="MRTC" size="0x10" />
	<field name="mpgo_reg" descr="" subnode="mpgo_reg_ext" capability="0" offset="0x0.0" selected_by="MPGO" size="0x14" />
	<field name="mtppst" descr="" subnode="mtppst_ext" capability="0" offset="0x0.0" selected_by="MTPPST" size="0x10" />
	<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="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="0xc" />
	<field name="mddt_reg" descr="" subnode="mddt_reg_ext" capability="0" offset="0x0.0" selected_by="MDDT" size="0x110" />
	<field name="mddq" descr="" subnode="mddq_ext" capability="0" offset="0x0.0" selected_by="MDDQ" size="0x30" />
	<field name="mddc" descr="" subnode="mddc_ext" capability="0" offset="0x0.0" selected_by="MDDC" size="0x30" />
	<field name="mgpir" descr="" subnode="mgpir_ext" capability="0" offset="0x0.0" selected_by="MGPIR" size="0xa0" />
	<field name="mdrcr" descr="" subnode="mdrcr_ext" capability="0" offset="0x0.0" selected_by="MDRCR" size="0x30" />
	<field name="mdfcr_reg" descr="" subnode="mdfcr_reg_ext" capability="0" offset="0x0.0" selected_by="MDFCR" size="0x60" />
	<field name="mtcap" descr="" subnode="mtcap_ext" capability="0" offset="0x0.0" selected_by="MTCAP" size="0x10" />
	<field name="mtecr" descr="" subnode="mtecr_ext" capability="0" offset="0x0.0" selected_by="MTECR" size="0x60" />
	<field name="mtmp" descr="" subnode="mtmp_ext" capability="0" offset="0x0.0" selected_by="MTMP" size="0x20" />
	<field name="mtwe" descr="" subnode="mtwe_ext" capability="0" offset="0x0.0" selected_by="MTWE" size="0x10" />
	<field name="mtewe" descr="" subnode="mtewe_ext" capability="0" offset="0x0.0" selected_by="MTEWE" size="0x5c" />
	<field name="mtbr_reg" descr="" subnode="mtbr_reg_ext" capability="0" offset="0x0.0" selected_by="MTBR" size="0x18" />
	<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="msps" descr="" subnode="msps_ext" capability="0" offset="0x0.0" selected_by="MSPS" size="0xa0" />
	<field name="mcpp_reg" descr="" subnode="mcpp_reg_ext" capability="0" offset="0x0.0" selected_by="MCPP" size="0x10" />
	<field name="mrsr" descr="" subnode="mrsr_ext" capability="0" offset="0x0.0" selected_by="MRSR" size="0x8" />
	<field name="mfrl_reg" descr="" subnode="mfrl_reg_ext" capability="0" offset="0x0.0" selected_by="MFRL" size="0x8" />
	<field name="mcqs_reg" descr="" subnode="mcqs_reg_ext" capability="0" offset="0x0.0" selected_by="MCQS" size="0x10" />
	<field name="mcqi_reg" descr="" subnode="mcqi_reg_ext" capability="0" offset="0x0.0" selected_by="MCQI" size="0x94" />
	<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="mirc_reg" descr="" subnode="mirc_reg_ext" capability="0" offset="0x0.0" selected_by="MIRC" size="0x8" />
	<field name="mqis_reg" descr="" subnode="mqis_reg_ext" capability="0" offset="0x0.0" selected_by="MQIS" size="0x18" />
	<field name="mgir" descr="" subnode="mgir_ext" capability="0" offset="0x0.0" selected_by="MGIR" size="0xa0" />
	<field name="msgi" descr="" subnode="msgi_ext" capability="0" offset="0x0.0" selected_by="MSGI" size="0x80" />
	<field name="msci" descr="" subnode="msci_ext" capability="0" offset="0x0.0" selected_by="MSCI" size="0xc" />
	<field name="mdir_reg" descr="" subnode="mdir_reg_ext" capability="0" offset="0x0.0" selected_by="MDIR" size="0x40" />
	<field name="mssir_reg" descr="" subnode="mssir_reg_ext" capability="0" offset="0x0.0" selected_by="MSSIR" size="0x88" />
	<field name="mmia" descr="" subnode="mmia_ext" capability="0" offset="0x0.0" selected_by="MMIA" size="0xc" />
	<field name="mini" descr="" subnode="mini_ext" capability="0" offset="0x0.0" selected_by="MINI" size="0x30" />
	<field name="mcam_reg" descr="" subnode="mcam_reg_ext" capability="0" offset="0x0.0" selected_by="MCAM" size="0x48" />
	<field name="meccc" descr="" subnode="meccc_ext" capability="0" offset="0x0.0" selected_by="MECCC" size="0x14" />
	<field name="mbct" descr="" subnode="mbct_ext" capability="0" offset="0x0.0" selected_by="MBCT" size="0x420" />
	<field name="mdsr_reg" descr="" subnode="mdsr_reg_ext" capability="0" offset="0x0.0" selected_by="MDSR" size="0x30" />
	<field name="mfsv_reg" descr="" subnode="mfsv_reg_ext" capability="0" offset="0x0.0" selected_by="MFSV" size="0x30" />
	<field name="mtcq_reg" descr="" subnode="mtcq_reg_ext" capability="0" offset="0x0.0" selected_by="MTCQ" size="0x70" />
	<field name="mqdik_reg" descr="" subnode="mqdik_reg_ext" capability="0" offset="0x0.0" selected_by="MQDIK" size="0x208" />
	<field name="mkdc_reg" descr="" subnode="mkdc_reg_ext" capability="0" offset="0x0.0" selected_by="MKDC" size="0x2c" />
	<field name="mspmer" descr="" subnode="mspmer_ext" capability="0" offset="0x0.0" selected_by="MSPMER" size="0x8" />
	<field name="mnvda_reg" descr="" subnode="mnvda_reg_ext" capability="0" offset="0x0.0" selected_by="MNVDA" size="0x10" />
	<field name="mnvdi_reg" descr="" subnode="mnvdi_reg_ext" capability="0" offset="0x0.0" selected_by="MNVDI" size="0xc" />
	<field name="mnvqc_reg" descr="" subnode="mnvqc_reg_ext" capability="0" offset="0x0.0" selected_by="MNVQC" size="0x8" />
	<field name="mnvia_reg" descr="" subnode="mnvia_reg_ext" capability="0" offset="0x0.0" selected_by="MNVIA" size="0x8" />
	<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="mgnle_reg" descr="" subnode="mgnle_reg_ext" capability="0" offset="0x0.0" selected_by="MGNLE" size="0x20" />
	<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_stdb_reg" descr="" subnode="mtrc_stdb_reg_ext" capability="0" offset="0x0.0" selected_by="MTRC_STDB" size="0xc" />
	<field name="mtrc_ctrl_reg" descr="" subnode="mtrc_ctrl_reg_ext" capability="0" offset="0x0.0" selected_by="MTRC_CTRL" size="0x40" />
	<field name="mfpa_reg" descr="" subnode="mfpa_reg_ext" capability="0" offset="0x0.0" selected_by="MFPA" size="0x20" />
	<field name="mfba_reg" descr="" subnode="mfba_reg_ext" capability="0" offset="0x0.0" selected_by="MFBA" size="0x10c" />
	<field name="mfbe_reg" descr="" subnode="mfbe_reg_ext" capability="0" offset="0x0.0" selected_by="MFBE" size="0xc" />
	<field name="mfmc_reg" descr="" subnode="mfmc_reg_ext" capability="0" offset="0x0.0" selected_by="MFMC" size="0x1c" />
	<field name="mfcr" descr="" subnode="mfcr_ext" capability="0" offset="0x0.0" selected_by="MFCR" size="0x8" />
	<field name="mfsc" descr="" subnode="mfsc_ext" capability="0" offset="0x0.0" selected_by="MFSC" size="0x8" />
	<field name="mfsm" descr="" subnode="mfsm_ext" capability="0" offset="0x0.0" selected_by="MFSM" size="0x8" />
	<field name="mfsl" descr="" subnode="mfsl_ext" capability="0" offset="0x0.0" selected_by="MFSL" size="0xc" />
	<field name="fore" descr="" subnode="fore_ext" capability="0" offset="0x0.0" selected_by="FORE" size="0xc" />
	<field name="mfnr" descr="" subnode="mfnr_ext" capability="0" offset="0x0.0" selected_by="MFNR" size="0x30" />
	<field name="mpcir" descr="" subnode="mpcir_ext" capability="0" offset="0x0.0" selected_by="MPCIR" size="0x10" />
	<field name="merr" descr="" subnode="merr_ext" capability="0" offset="0x0.0" selected_by="MERR" size="0x14" />
	<field name="mrpr_reg" descr="" subnode="mrpr_reg_ext" capability="0" offset="0x0.0" selected_by="MRPR" size="0x108" />
	<field name="mdcr" descr="" subnode="mdcr_ext" capability="0" offset="0x0.0" selected_by="MDCR" size="0x60" />
	<field name="mhmpr_reg" descr="" subnode="mhmpr_reg_ext" capability="0" offset="0x0.0" selected_by="MHMPR" size="0x14" />
	<field name="mgls" descr="" subnode="mgls_ext" capability="0" offset="0x0.0" selected_by="MGLS" size="0xc" />
	<field name="igcr" descr="" subnode="igcr_ext" capability="0" offset="0x0.0" selected_by="IGCR" size="0x10" />
	<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="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="ifbo" descr="" subnode="ifbo_ext" capability="0" offset="0x0.0" selected_by="IFBO" size="0x28" />
	<field name="iicr" descr="" subnode="iicr_ext" capability="0" offset="0x0.0" selected_by="IICR" size="0x24" />
	<field name="ipac" descr="" subnode="ipac_ext" capability="0" offset="0x0.0" selected_by="IPAC" size="0xb0" />
	<field name="ipsr" descr="" subnode="ipsr_ext" capability="0" offset="0x0.0" selected_by="IPSR" size="0x14" />
	<field name="iper" descr="" subnode="iper_ext" capability="0" offset="0x0.0" selected_by="IPER" size="0x20" />
	<field name="ihsr" descr="" subnode="ihsr_ext" capability="0" offset="0x0.0" selected_by="IHSR" size="0x38" />
	<field name="ihscr" descr="" subnode="ihscr_ext" capability="0" offset="0x0.0" selected_by="IHSCR" size="0xa8" />
	<field name="icsr" descr="" subnode="icsr_ext" capability="0" offset="0x0.0" selected_by="ICSR" size="0x410" />
	<field name="irqr" descr="" subnode="irqr_ext" capability="0" offset="0x0.0" selected_by="IRQR" size="0xc" />
	<field name="icam_reg" descr="" subnode="icam_reg_ext" capability="0" offset="0x0.0" selected_by="ICAM" size="0x18" />
	<field name="ITPR_reg" descr="" subnode="ITPR_reg_ext" capability="0" offset="0x0.0" selected_by="ITPR" size="0x14" />
	<field name="ITGCR_reg" descr="" subnode="ITGCR_reg_ext" capability="0" offset="0x0.0" selected_by="ITGCR" size="0x8" />
	<field name="ipcr" descr="" subnode="ipcr_ext" capability="0" offset="0x0.0" selected_by="IPCR" size="0xc" />
	<field name="ipfr" descr="" subnode="ipfr_ext" capability="0" offset="0x0.0" selected_by="IPFR" size="0x8" />
	<field name="spzr" descr="" subnode="spzr_ext" capability="0" offset="0x0.0" selected_by="SPZR" size="0x70" />
	<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="ibsni" descr="" subnode="ibsni_ext" capability="0" offset="0x0.0" selected_by="IBSNI" size="0xa8" />
	<field name="sbgcr" descr="" subnode="sbgcr_ext" capability="0" offset="0x0.0" selected_by="SBGCR" size="0xc" />
	<field name="sbpr" descr="" subnode="sbpr_ext" capability="0" offset="0x0.0" selected_by="SBPR" size="0x18" />
	<field name="sbcm" descr="" subnode="sbcm_ext" capability="0" offset="0x0.0" selected_by="SBCM" size="0x28" />
	<field name="sbpm" descr="" subnode="sbpm_ext" capability="0" offset="0x0.0" selected_by="SBPM" size="0x20" />
	<field name="sbmm" descr="" subnode="sbmm_ext" capability="0" offset="0x0.0" selected_by="SBMM" size="0x28" />
	<field name="sbme" descr="" subnode="sbme_ext" capability="0" offset="0x0.0" selected_by="SBME" size="0x28" />
	<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="0x410" />
	<field name="sbib" descr="" subnode="sbib_ext" capability="0" offset="0x0.0" selected_by="SBIB" size="0x10" />
	<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="sbhbr" descr="" subnode="sbhbr_ext" capability="0" offset="0x0.0" selected_by="SBHBR" size="0x1c" />
	<field name="sbhrr" descr="" subnode="sbhrr_ext" capability="0" offset="0x0.0" selected_by="SBHRR" size="0x60" />
	<field name="sbhbr_v2" descr="" subnode="sbhbr_v2_ext" capability="0" offset="0x0.0" selected_by="SBHBR_V2" size="0x20" />
	<field name="sbhrr_v2" descr="" subnode="sbhrr_v2_ext" capability="0" offset="0x0.0" selected_by="SBHRR_V2" size="0x90" />
	<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="sbhpc" descr="" subnode="sbhpc_ext" capability="0" offset="0x0.0" selected_by="SBHPC" size="0x24" />
	<field name="sbsnt" descr="" subnode="sbsnt_ext" capability="0" offset="0x0.0" selected_by="SBSNT" size="0x4" />
	<field name="sbsns" descr="" subnode="sbsns_ext" capability="0" offset="0x0.0" selected_by="SBSNS" size="0x18" />
	<field name="sbsnte" descr="" subnode="sbsnte_ext" capability="0" offset="0x0.0" selected_by="SBSNTE" size="0x10" />
	<field name="sbcam" descr="" subnode="sbcam_ext" capability="0" offset="0x0.0" selected_by="SBCAM" size="0x4c" />
	<field name="mpgcr" descr="" subnode="mpgcr_ext" capability="0" offset="0x0.0" selected_by="MPGCR" size="0x24" />
	<field name="mpilm" descr="" subnode="mpilm_ext" capability="0" offset="0x0.0" selected_by="MPILM" size="0x18" />
	<field name="mpibe" descr="" subnode="mpibe_ext" capability="0" offset="0x0.0" selected_by="MPIBE" size="0x28" />
	<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="mpft" descr="" subnode="mpft_ext" capability="0" offset="0x0.0" selected_by="MPFT" size="0x8" />
	<field name="mpepm" descr="" subnode="mpepm_ext" capability="0" offset="0x0.0" selected_by="MPEPM" size="0x14" />
	<field name="mpqdr" descr="" subnode="mpqdr_ext" capability="0" offset="0x0.0" selected_by="MPQDR" size="0x8" />
	<field name="mpilem" descr="" subnode="mpilem_ext" capability="0" offset="0x0.0" selected_by="MPILEM" size="0x8" />
	<field name="mpelem" descr="" subnode="mpelem_ext" capability="0" offset="0x0.0" selected_by="MPELEM" size="0xc" />
	<field name="tngcr" descr="" subnode="tngcr_ext" capability="0" offset="0x0.0" selected_by="TNGCR" size="0x44" />
	<field name="tnpc" descr="" subnode="tnpc_ext" capability="0" offset="0x0.0" selected_by="TNPC" size="0x1c" />
	<field name="tngee" descr="" subnode="tngee_ext" capability="0" offset="0x0.0" selected_by="TNGEE" size="0x50" />
	<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="tnumt" descr="" subnode="tnumt_ext" capability="0" offset="0x0.0" selected_by="TNUMT" size="0x20" />
	<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="tneem" descr="" subnode="tneem_ext" capability="0" offset="0x0.0" selected_by="TNEEM" size="0xc" />
	<field name="tndem" descr="" subnode="tndem_ext" capability="0" offset="0x0.0" selected_by="TNDEM" size="0xc" />
	<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="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="tieem" descr="" subnode="tieem_ext" capability="0" offset="0x0.0" selected_by="TIEEM" size="0xc" />
	<field name="tidem" descr="" subnode="tidem_ext" capability="0" offset="0x0.0" selected_by="TIDEM" size="0xc" />
	<field name="rcap" descr="" subnode="rcap_ext" capability="0" offset="0x0.0" selected_by="RCAP" size="0x8" />
	<field name="rgcr" descr="" subnode="rgcr_ext" capability="0" offset="0x0.0" selected_by="RGCR" size="0x28" />
	<field name="ritr" descr="" subnode="ritr_ext" capability="0" offset="0x0.0" selected_by="RITR" size="0x40" />
	<field name="rigr" descr="" subnode="rigr_ext" capability="0" offset="0x0.0" selected_by="RIGR" size="0x3fc" />
	<field name="rigr_v2" descr="" subnode="rigr_v2_ext" capability="0" offset="0x0.0" selected_by="RIGR_V2" size="0xb0" />
	<field name="rtar_tcam" descr="" subnode="rtar_tcam_ext" capability="0" offset="0x0.0" selected_by="RTAR" size="0x8" />
	<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="ruft" descr="" subnode="ruft_ext" capability="0" offset="0x0.0" selected_by="RUFT" size="0x78" />
	<field name="ruht" descr="" subnode="ruht_ext" capability="0" offset="0x0.0" selected_by="RUHT" size="0x78" />
	<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="0x174" />
	<field name="rmftad" descr="" subnode="rmftad_ext" capability="0" offset="0x0.0" selected_by="RMFTAD" size="0x220" />
	<field name="rrcr" descr="" subnode="rrcr_ext" capability="0" offset="0x0.0" selected_by="RRCR" size="0x24" />
	<field name="ratr" descr="" subnode="ratr_ext" capability="0" offset="0x0.0" selected_by="RATR" size="0x2c" />
	<field name="ratrb" descr="" subnode="ratrb_ext" capability="0" offset="0x0.0" selected_by="RATRB" size="0x420" />
	<field name="ratrad" descr="" subnode="ratrad_ext" capability="0" offset="0x0.0" selected_by="RATRAD" size="0x210" />
	<field name="rtdp" descr="" subnode="rtdp_ext" capability="0" offset="0x0.0" selected_by="RTDP" size="0x44" />
	<field name="rips_ip" descr="" subnode="rips_ip_ext" capability="0" offset="0x0.0" selected_by="RIPS" size="0x14" />
	<field name="rdpm" descr="" subnode="rdpm_ext" capability="0" offset="0x0.0" selected_by="RDPM" size="0x40" />
	<field name="rica" descr="" subnode="rica_ext" capability="0" offset="0x0.0" selected_by="RICA" size="0x10" />
	<field name="ricnt_inter" descr="" subnode="ricnt_inter_ext" capability="0" offset="0x0.0" selected_by="RICNT" size="0x100" />
	<field name="ralta" descr="" subnode="ralta_ext" capability="0" offset="0x0.0" selected_by="RALTA" size="0x4" />
	<field name="ralst" descr="" subnode="ralst_ext" capability="0" offset="0x0.0" selected_by="RALST" size="0x104" />
	<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="0x3c" />
	<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="0x20" />
	<field name="raleu" descr="" subnode="raleu_ext" capability="0" offset="0x0.0" selected_by="RALEU" size="0x2c" />
	<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="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="rmeir" descr="" subnode="rmeir_ext" capability="0" offset="0x0.0" selected_by="RMEIR" size="0x210" />
	<field name="reiv" descr="" subnode="reiv_ext" capability="0" offset="0x0.0" selected_by="REIV" size="0x420" />
	<field name="rngcr" descr="" subnode="rngcr_ext" capability="0" offset="0x0.0" selected_by="RNGCR" size="0xc" />
	<field name="rxlte" descr="" subnode="rxlte_ext" capability="0" offset="0x0.0" selected_by="RXLTE" size="0xc" />
	<field name="rxltm" descr="" subnode="rxltm_ext" capability="0" offset="0x0.0" selected_by="RXLTM" size="0x14" />
	<field name="rxltcc" descr="" subnode="rxltcc_ext" capability="0" offset="0x0.0" selected_by="RXLTCC" size="0x68" />
	<field name="rlpmce" descr="" subnode="rlpmce_ext" capability="0" offset="0x0.0" selected_by="RLPMCE" size="0x4" />
	<field name="rlcme" descr="" subnode="rlcme_ext" capability="0" offset="0x0.0" selected_by="RLCME" size="0x3c" />
	<field name="rlcmle" descr="" subnode="rlcmle_ext" capability="0" offset="0x0.0" selected_by="RLCMLE" size="0x38" />
	<field name="rlcmld" descr="" subnode="rlcmld_ext" capability="0" offset="0x0.0" selected_by="RLCMLD" size="0x30" />
	<field name="rargcr" descr="" subnode="rargcr_ext" capability="0" offset="0x0.0" selected_by="RARGCR" size="0xc" />
	<field name="rarpc" descr="" subnode="rarpc_ext" capability="0" offset="0x0.0" selected_by="RARPC" size="0xd0" />
	<field name="rarsr" descr="" subnode="rarsr_ext" capability="0" offset="0x0.0" selected_by="RARSR" size="0x8" />
	<field name="rarpr" descr="" subnode="rarpr_ext" capability="0" offset="0x0.0" selected_by="RARPR" size="0x14" />
	<field name="rarcl" descr="" subnode="rarcl_ext" capability="0" offset="0x0.0" selected_by="RARCL" size="0x1c" />
	<field name="rarlu" descr="" subnode="rarlu_ext" capability="0" offset="0x0.0" selected_by="RARLU" size="0xc" />
	<field name="rarft" descr="" subnode="rarft_ext" capability="0" offset="0x0.0" selected_by="RARFT" size="0x10" />
	<field name="rarlpgt" descr="" subnode="rarlpgt_ext" capability="0" offset="0x0.0" selected_by="RARLPGT" size="0x120" />
	<field name="rarcc" descr="" subnode="rarcc_ext" capability="0" offset="0x0.0" selected_by="RARCC" size="0x20" />
	<field name="rarngc" descr="" subnode="rarngc_ext" capability="0" offset="0x0.0" selected_by="RARNGC" size="0x120" />
	<field name="rarnpc" descr="" subnode="rarnpc_ext" capability="0" offset="0x0.0" selected_by="RARNPC" size="0xc" />
	<field name="rarncc" descr="" subnode="rarncc_ext" capability="0" offset="0x0.0" selected_by="RARNCC" size="0xa0" />
	<field name="rarns" descr="" subnode="rarns_ext" capability="0" offset="0x0.0" selected_by="RARNS" size="0x84" />
	<field name="rsnh" descr="" subnode="rsnh_ext" capability="0" offset="0x0.0" selected_by="RSNH" size="0x10" />
	<field name="rtca" descr="" subnode="rtca_ext" capability="0" offset="0x0.0" selected_by="RTCA" size="0x14" />
	<field name="rtps" descr="" subnode="rtps_ext" capability="0" offset="0x0.0" selected_by="RTPS" size="0x8" />
	<field name="riva" descr="" subnode="riva_ext" capability="0" offset="0x0.0" selected_by="RIVA" size="0x10" />
	<field name="rirt" descr="" subnode="rirt_ext" capability="0" offset="0x0.0" selected_by="RIRT" size="0x50" />
	<field name="cwgcr" descr="" subnode="cwgcr_ext" capability="0" offset="0x0.0" selected_by="CWGCR" size="0x14" />
	<field name="cwtp" descr="" subnode="cwtp_ext" capability="0" offset="0x0.0" selected_by="CWTP" size="0x40" />
	<field name="cwpp" descr="" subnode="cwpp_ext" capability="0" offset="0x0.0" selected_by="CWPP" size="0x20" />
	<field name="cwtpm" descr="" subnode="cwtpm_ext" capability="0" offset="0x0.0" selected_by="CWTPM" size="0x44" />
	<field name="cpqe" descr="" subnode="cpqe_ext" capability="0" offset="0x0.0" selected_by="CPQE" size="0x14" />
	<field name="chltr" descr="" subnode="chltr_ext" capability="0" offset="0x0.0" selected_by="CHLTR" size="0xc" />
	<field name="chltm" descr="" subnode="chltm_ext" capability="0" offset="0x0.0" selected_by="CHLTM" size="0x14" />
	<field name="chlmm" descr="" subnode="chlmm_ext" capability="0" offset="0x0.0" selected_by="CHLMM" size="0x14" />
	<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="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="cpid" descr="" subnode="cpid_ext" capability="0" offset="0x0.0" selected_by="CPID" size="0xc" />
	<field name="qgcr" descr="" subnode="qgcr_ext" capability="0" offset="0x0.0" selected_by="QGCR" size="0x8" />
	<field name="qcap" descr="" subnode="qcap_ext" capability="0" offset="0x0.0" selected_by="QCAP" size="0x14" />
	<field name="qpts" descr="" subnode="qpts_ext" capability="0" offset="0x0.0" selected_by="QPTS" size="0x8" />
	<field name="qdpm" descr="" subnode="qdpm_ext" capability="0" offset="0x0.0" selected_by="QDPM" size="0x40" />
	<field name="qpdpm" descr="" subnode="qpdpm_ext" capability="0" offset="0x0.0" selected_by="QPDPM" size="0x84" />
	<field name="qepm" descr="" subnode="qepm_ext" capability="0" offset="0x0.0" selected_by="QEPM" size="0x14" />
	<field name="qpcr" descr="" subnode="qpcr_ext" capability="0" offset="0x0.0" selected_by="QPCR" size="0x28" />
	<field name="qpbr" descr="" subnode="qpbr_ext" capability="0" offset="0x0.0" selected_by="QPBR" size="0x10" />
	<field name="qetcr" descr="" subnode="qetcr_ext" capability="0" offset="0x0.0" selected_by="QETCR" size="0x50" />
	<field name="qegcs" descr="" subnode="qegcs_ext" capability="0" offset="0x0.0" selected_by="QEGCS" size="0x10" />
	<field name="qshr" descr="" subnode="qshr_ext" capability="0" offset="0x0.0" selected_by="QSHR" size="0x50" />
	<field name="qeec" descr="" subnode="qeec_ext" capability="0" offset="0x0.0" selected_by="QEEC" size="0x20" />
	<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="qprt" descr="" subnode="qprt_ext" capability="0" offset="0x0.0" selected_by="QPRT" 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="qsptc" descr="" subnode="qsptc_ext" capability="0" offset="0x0.0" selected_by="QSPTC" size="0x8" />
	<field name="qstct" descr="" subnode="qstct_ext" capability="0" offset="0x0.0" selected_by="QSTCT" size="0x10" />
	<field name="qspip" descr="" subnode="qspip_ext" capability="0" offset="0x0.0" selected_by="QSPIP" size="0x8" />
	<field name="qspcp" descr="" subnode="qspcp_ext" capability="0" offset="0x0.0" selected_by="QSPCP" size="0xc" />
	<field name="qrwe" descr="" subnode="qrwe_ext" capability="0" offset="0x0.0" selected_by="QRWE" size="0x8" />
	<field name="qpem" descr="" subnode="qpem_ext" capability="0" offset="0x0.0" selected_by="QPEM" size="0x104" />
	<field name="qpdsm" descr="" subnode="qpdsm_ext" capability="0" offset="0x0.0" selected_by="QPDSM" size="0x44" />
	<field name="qppm" descr="" subnode="qppm_ext" capability="0" offset="0x0.0" selected_by="QPPM" size="0x44" />
	<field name="qsll" descr="" subnode="qsll_ext" capability="0" offset="0x0.0" selected_by="QSLL" size="0x8" />
	<field name="qhll" descr="" subnode="qhll_ext" capability="0" offset="0x0.0" selected_by="QHLL" size="0xc" />
	<field name="qsipg" descr="" subnode="qsipg_ext" capability="0" offset="0x0.0" selected_by="QSIPG" size="0x8" />
	<field name="qcam" descr="" subnode="qcam_ext" capability="0" offset="0x0.0" selected_by="QCAM" size="0x48" />
	<field name="qtttl" descr="" subnode="qtttl_ext" capability="0" offset="0x0.0" selected_by="QTTTL" size="0xc" />
	<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="qteem" descr="" subnode="qteem_ext" capability="0" offset="0x0.0" selected_by="QTEEM" size="0xc" />
	<field name="qtdem" descr="" subnode="qtdem_ext" capability="0" offset="0x0.0" selected_by="QTDEM" size="0xc" />
	<field name="pgcr" descr="" subnode="pgcr_ext" capability="0" offset="0x0.0" selected_by="PGCR" size="0x20" />
	<field name="ppbt" descr="" subnode="ppbt_ext" capability="0" offset="0x0.0" selected_by="PPBT" size="0x14" />
	<field name="pevpb" descr="" subnode="pevpb_ext" capability="0" offset="0x0.0" selected_by="PEVPB" size="0x8" />
	<field name="pvgt" descr="" subnode="pvgt_ext" capability="0" offset="0x0.0" selected_by="PVGT" size="0x8" />
	<field name="pvbt" descr="" subnode="pvbt_ext" capability="0" offset="0x0.0" selected_by="PVBT" size="0x14" />
	<field name="prbt" descr="" subnode="prbt_ext" capability="0" offset="0x0.0" selected_by="PRBT" size="0x14" />
	<field name="pemrbt" descr="" subnode="pemrbt_ext" capability="0" offset="0x0.0" selected_by="PEMRBT" size="0x14" />
	<field name="perb" descr="" subnode="perb_ext" capability="0" offset="0x0.0" selected_by="PERB" size="0xe4" />
	<field name="perbrg" descr="" subnode="perbrg_ext" capability="0" offset="0x0.0" selected_by="PERBRG" size="0x10" />
	<field name="perbeg" descr="" subnode="perbeg_ext" capability="0" offset="0x0.0" selected_by="PERBEG" size="0x10" />
	<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="0x70" />
	<field name="ptar" descr="" subnode="ptar_ext" capability="0" offset="0x0.0" selected_by="PTAR" size="0x30" />
	<field name="perla" descr="" subnode="perla_ext" capability="0" offset="0x0.0" selected_by="PERLA" size="0x8" />
	<field name="perar" descr="" subnode="perar_ext" capability="0" offset="0x0.0" selected_by="PERAR" size="0x8" />
	<field name="percr" descr="" subnode="percr_ext" capability="0" offset="0x0.0" selected_by="PERCR" size="0x80" />
	<field name="pererp" descr="" subnode="pererp_ext" capability="0" offset="0x0.0" selected_by="PERERP" size="0x1c" />
	<field name="perd" descr="" subnode="perd_ext" capability="0" offset="0x0.0" selected_by="PERD" size="0x50" />
	<field name="ptce" descr="" subnode="ptce_ext" capability="0" offset="0x0.0" selected_by="PTCE" size="0xf0" />
	<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="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="prcr" descr="" subnode="prcr_ext" capability="0" offset="0x0.0" selected_by="PRCR" size="0x40" />
	<field name="pprr" descr="" subnode="pprr_ext" capability="0" offset="0x0.0" selected_by="PPRR" size="0x14" />
	<field name="pfca" descr="" subnode="pfca_ext" capability="0" offset="0x0.0" selected_by="PFCA" size="0xc" />
	<field name="pfcnt" descr="" subnode="pfcnt_ext" capability="0" offset="0x0.0" selected_by="PFCNT" size="0x20" />
	<field name="ppbs" descr="" subnode="ppbs_ext" capability="0" offset="0x0.0" selected_by="PPBS" size="0x1c" />
	<field name="puet" descr="" subnode="puet_ext" capability="0" offset="0x0.0" selected_by="PUET" size="0x10" />
	<field name="ppbmi" descr="" subnode="ppbmi_ext" capability="0" offset="0x0.0" selected_by="PPBMI" size="0x14" />
	<field name="pecb" descr="" subnode="pecb_ext" capability="0" offset="0x0.0" selected_by="PECB" size="0x210" />
	<field name="perpt" descr="" subnode="perpt_ext" capability="0" offset="0x0.0" selected_by="PERPT" size="0x80" />
	<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="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="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="peckc" descr="" subnode="peckc_ext" capability="0" offset="0x0.0" selected_by="PECKC" size="0x30" />
	<field name="fgcr" descr="" subnode="fgcr_ext" capability="0" offset="0x0.0" selected_by="FGCR" size="0x10" />
	<field name="fpums" descr="" subnode="fpums_ext" capability="0" offset="0x0.0" selected_by="FPUMS" size="0x50" />
	<field name="fphhc" descr="" subnode="fphhc_ext" capability="0" offset="0x0.0" selected_by="FPHHC" size="0xc" />
	<field name="fppc" descr="" subnode="fppc_ext" capability="0" offset="0x0.0" selected_by="FPPC" size="0x60" />
	<field name="fpftt" descr="" subnode="fpftt_ext" capability="0" offset="0x0.0" selected_by="FPFTT" size="0x14" />
	<field name="fphtt" descr="" subnode="fphtt_ext" capability="0" offset="0x0.0" selected_by="FPHTT" size="0x8" />
	<field name="fpts" descr="" subnode="fpts_ext" capability="0" offset="0x0.0" selected_by="FPTS" size="0xc" />
	<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="fmep" descr="" subnode="fmep_ext" capability="0" offset="0x0.0" selected_by="FMEP" size="0x8" />
	<field name="FMQC" descr="" subnode="FMQC_ext" capability="0" offset="0x0.0" selected_by="FMQC" size="0xc" />
	<field name="FSGCR" descr="" subnode="FSGCR_ext" capability="0" offset="0x0.0" selected_by="FSGCR" size="0xc" />
	<field name="FSDB" descr="" subnode="FSDB_ext" capability="0" offset="0x0.0" selected_by="FSDB" size="0x78" />
	<field name="FSPT" descr="" subnode="FSPT_ext" capability="0" offset="0x0.0" selected_by="FSPT" size="0x44" />
	<field name="FSPS" descr="" subnode="FSPS_ext" capability="0" offset="0x0.0" selected_by="FSPS" size="0x10" />
	<field name="fsdc" descr="" subnode="fsdc_ext" capability="0" offset="0x0.0" selected_by="FSDC" size="0x10" />
	<field name="FSTM" descr="" subnode="FSTM_ext" capability="0" offset="0x0.0" selected_by="FSTM" size="0x414" />
	<field name="FSED" descr="" subnode="FSED_ext" capability="0" offset="0x0.0" selected_by="FSED" size="0x710" />
	<field name="FSHE" descr="" subnode="FSHE_ext" capability="0" offset="0x0.0" selected_by="FSHE" size="0x8" />
	<field name="FSFH" descr="" subnode="FSFH_ext" capability="0" offset="0x0.0" selected_by="FSFH" size="0xac" />
	<field name="fmtpc" descr="" subnode="fmtpc_ext" capability="0" offset="0x0.0" selected_by="FMTPC" size="0x14" />
	<field name="fmtpa" descr="" subnode="fmtpa_ext" capability="0" offset="0x0.0" selected_by="FMTPA" size="0x10" />
	<field name="fmtb" descr="" subnode="fmtb_ext" capability="0" offset="0x0.0" selected_by="FMTB" size="0x1c" />
	<field name="frar" descr="" subnode="frar_ext" capability="0" offset="0x0.0" selected_by="FRAR" size="0x110" />
	<field name="ugcap" descr="" subnode="ugcap_ext" capability="0" offset="0x0.0" selected_by="UGCAP" size="0x18" />
	<field name="upcap" descr="" subnode="upcap_ext" capability="0" offset="0x0.0" selected_by="UPCAP" size="0x8" />
	<field name="ugcr" descr="" subnode="ugcr_ext" capability="0" offset="0x0.0" selected_by="UGCR" size="0x10" />
	<field name="upcon" descr="" subnode="upcon_ext" capability="0" offset="0x0.0" selected_by="UPCON" size="0xc" />
	<field name="umtu" descr="" subnode="umtu_ext" capability="0" offset="0x0.0" selected_by="UMTU" size="0x8" />
	<field name="uver" descr="" subnode="uver_ext" capability="0" offset="0x0.0" selected_by="UVER" size="0x8" />
	<field name="upvc" descr="" subnode="upvc_ext" capability="0" offset="0x0.0" selected_by="UPVC" size="0x8" />
	<field name="upaft" descr="" subnode="upaft_ext" capability="0" offset="0x0.0" selected_by="UPAFT" size="0x8" />
	<field name="upvid" descr="" subnode="upvid_ext" capability="0" offset="0x0.0" selected_by="UPVID" size="0x8" />
	<field name="utar" descr="" subnode="utar_ext" capability="0" offset="0x0.0" selected_by="UTAR" size="0xc" />
	<field name="upbt" descr="" subnode="upbt_ext" capability="0" offset="0x0.0" selected_by="UPBT" size="0x1c" />
	<field name="utce" descr="" subnode="utce_ext" capability="0" offset="0x0.0" selected_by="UTCE" size="0x84" />
	<field name="urcr" descr="" subnode="urcr_ext" capability="0" offset="0x0.0" selected_by="URCR" size="0x10" />
	<field name="usadb" descr="" subnode="usadb_ext" capability="0" offset="0x0.0" selected_by="USADB" size="0x34" />
	<field name="usak" descr="" subnode="usak_ext" capability="0" offset="0x0.0" selected_by="USAK" size="0x24" />
	<field name="usacn" descr="" subnode="usacn_ext" capability="0" offset="0x0.0" selected_by="USACN" size="0x28" />
	<field name="utcc" descr="" subnode="utcc_ext" capability="0" offset="0x0.0" selected_by="UTCC" size="0x88" />
	<field name="upcnt" descr="" subnode="upcnt_ext" capability="0" offset="0x0.0" selected_by="UPCNT" size="0x68" />
	<field name="uprr" descr="" subnode="uprr_ext" capability="0" offset="0x0.0" selected_by="UPRR" size="0xc" />
	<field name="uccr" descr="" subnode="uccr_ext" capability="0" offset="0x0.0" selected_by="UCCR" size="0x8" />
	<field name="utfd" descr="" subnode="utfd_ext" capability="0" offset="0x0.0" selected_by="UTFD" size="0xf8" />
	<field name="utfc" descr="" subnode="utfc_ext" capability="0" offset="0x0.0" selected_by="UTFC" size="0x10" />
	<field name="uter" descr="" subnode="uter_ext" capability="0" offset="0x0.0" selected_by="UTER" size="0x30" />
</node>

<node name="access_reg_summary_selector_ext" descr="" attr_is_union="1" size="0x710" >
	<field name="access_reg_summary" descr="" subnode="access_reg_summary_ext" offset="0x0.0" size="0x710" 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 SwitchX/-2 and for Spectrum" 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 SwitchX/-2 and for Spectrum" access="RW" offset="0x0.31" size="0x0.1" />
</node>

<node name="arn_encap_adjacency_ext" descr="" size="0x14.0" >
	<field name="oerif" descr="Overlay Egress RIF." access="RW" offset="0x0.0" size="0x0.16" />
	<field name="dip_type" descr="0: IPv4\;1: IPv6" 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="uirif_v" descr="uirif is valid\;Note: if set then overwrite the RITR uirif for this ECMP\;entry\;Reserved when Spectrum (Gen-1)" access="RW" offset="0x4.16" size="0x0.1" />
	<field name="tqos_profile" descr="Tunnel QoS profile\;Range 0..cap_max_tqos_profile - 1\;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.13, &quot;Tunnel QoS Profiles,&quot; on page 2462\;1: Use tqos_profile_id" access="OP" offset="0x4.31" size="0x0.1" />
	<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.19, &quot;RIPS - Router IP version Six Register&quot;, on page 2715\;For Spectrum: Pointer to KVD linear space, see Appendix A.4.1.2, &quot;KVD Central Database Linear Entries&quot; (page 3200)\;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.\;If this field is 0x7ffff, there is no more ARN_Encap entries." access="RW" offset="0x10.0" size="0x0.24" />
</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="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 load from the shared headroom pool and it can be set only when port_shared_buffer is enabled. \;" 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.\;NOTE: This field does NOT affect the pause control. Pause control is configured using PFCC register." access="RW" offset="0x0.25" size="0x0.1" />
	<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 Spectrum, if lossy is set on, this field is reserved.\;For shared_headroom_pool, this field is reserved." access="RW" offset="0x4.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 Spectrum, if lossy is set on, this field is reserved.\;For shared_headroom_pool, this field is reserved." access="RW" offset="0x4.16" size="0x0.16" />
</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 2452, &quot;CEER - extra_fields NONE Layout,&quot; on page 2564\;When extra_data_type is TUNNEL:\;Table 2448, &quot;CEER - extra_fields tunnel Layout,&quot; on page 2560\;When extra_data_type is MPLS:\;Table 2450, &quot;CEER - extra_fields MPLS Layout,&quot; on page 2562\;\;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_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" />
	<field name="ceer_extra_fields_MPLS_ext" descr="" subnode="ceer_extra_fields_MPLS_ext" offset="0x0.0" selected_by="MPLS" size="0x18.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" access="RO" 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" offset="0x0.22" size="0x0.2" />
	<field name="type_index" descr="Configuration item index according to its type_class. \;Table 589, &quot;Configuration Item Data Type Class Global Layout,&quot; on page 790\;Table 591, &quot;Configuration Item Data Type Class Physical Port Layout,&quot; on page 790\;Table 593, &quot;Configuration Item Data Type Class Per Host-PF Layout,&quot; on page 791\;Table 595, &quot;Configuration Item Data Type Class Log Layout,&quot; on page 791\;Table 597, &quot;Configuration Item Data Type Class File Layout,&quot; on page 792\;Table 599, &quot;Configuration Item Data Type Class Host Layout,&quot; on page 792\;Table 601, &quot;Configuration Item Data Type Class Switch Global Layout,&quot; on page 793\;Table 603, &quot;Configuration Item Data Type Class Module Layout,&quot; on page 793" access="INDEX" offset="0x4.0" size="0x0.24" />
	<field name="type_class" descr="Type Class:\;\;6: File\;8: Switch_Global\;9: Module" access="INDEX" enum="File=0x6,Switch_Global=0x8,Module=0x9" offset="0x4.24" size="0x0.8" />
</node>

<node name="cpid_ext" descr="" size="0xc.0" >
	<field name="prio" descr="Priority" access="INDEX" offset="0x0.8" size="0x0.3" />
	<field name="local_port" descr="Local port number. if the Index value is 0xFF the operation will be applied for all the ports of the device." access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="cpid_high" descr="IEEE 802.1Qau Congestion Point Identifier." access="RO" offset="0x4.0" size="0x4.0" />
	<field name="cpid_low" descr="IEEE 802.1Qau Congestion Point Identifier." access="RO" offset="0x8.0" size="0x4.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.4" />
	<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="log_ip" descr="IP (instruction pointer) that triggered the timeout" subnode="uint64" access="RO" offset="0x8.0" size="0x8.0" />
</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 2540\;" access="RW" offset="0x0.8" size="0x0.4" />
	<field name="scd" descr="Enable ECN Source Congestion Detection only. Don&apos;t mark victim packets.\;" 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.14.2, &quot;MPAR - Monitoring Port Analyzer Register&quot;, on page 954" 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\;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" />
</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="profile1_min" descr="Minimum Average Queue Size of the profile number &lt;i&gt;, 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 2537" access="RW" offset="0x8.0" size="0x0.20" />
	<field name="profile1_max" descr="Maximum Average Queue Size of the profile number &lt;i&gt;, in cells. Valid inputs are 0..cap_total_buffer_size/cap_cell_size\;For Spectrum: must be a multiple of 64" access="RW" offset="0xC.0" size="0x0.20" />
	<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="0xC.24" size="0x0.7" />
	<field name="profile2_min" descr="Same as above." access="RW" offset="0x10.0" size="0x0.20" />
	<field name="profile2_max" descr="Same as above." access="RW" offset="0x14.0" size="0x0.20" />
	<field name="profile2_percent" descr="Same as above." access="RW" offset="0x14.24" size="0x0.7" />
	<field name="profile3_min" descr="Same as above." access="RW" offset="0x18.0" size="0x0.20" />
	<field name="profile3_max" descr="Same as above." access="RW" offset="0x1C.0" size="0x0.20" />
	<field name="profile3_percent" descr="Same as above." access="RW" offset="0x1C.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 2537\;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.20" />
	<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.20" />
	<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.20" />
	<field name="profile2_max" descr="Same as above." access="RW" offset="0x34.0" size="0x0.20" />
	<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.20" />
	<field name="profile3_max" descr="Same as above." access="RW" offset="0x3C.0" size="0x0.20" />
	<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\;\;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 Green Profile Number\;0 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 Red Profile Number\;0 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 Yellow Profile Number\;0 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 Green Profile Number\;0 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 Red Profile Number\;0 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 Yellow Profile Number\;0 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="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="ecn_ext" descr="" size="0x4.0" >
	<field name="color2" descr="The EXP mapping for color k, where k=0..2, see Table 2382, &quot;color&lt;k&gt;Layout,&quot; on page 2503" access="RW" offset="0x0.8" size="0x0.8" />
	<field name="color1" descr="The EXP mapping for color k, where k=0..2, see Table 2382, &quot;color&lt;k&gt;Layout,&quot; on page 2503" access="RW" offset="0x0.16" size="0x0.8" />
	<field name="color0" descr="The EXP mapping for color k, where k=0..2, see Table 2382, &quot;color&lt;k&gt;Layout,&quot; on page 2503" access="RW" offset="0x0.24" size="0x0.8" />
</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="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_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\;[IInternal] Not supported due to HW bug." access="RO" offset="0x48.0" size="0x4.0" />
	<field name="port_isolation_low" descr="Port isolation filter discards\;[IInternal] Not supported due to HW bug." 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="ingress_tx_link_down_high" descr="Per ingress port count dropped packets due to egress link down" access="RO" offset="0x58.0" size="0x4.0" />
	<field name="ingress_tx_link_down_low" descr="Per ingress port count dropped packets due to egress link down" access="RO" offset="0x5C.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" />
</node>

<node name="eth_extended_cntrs_grp_data_layout_ext" descr="" size="0xf8.0" >
	<field name="port_transmit_wait_high" descr="The time (in 4ns resolution) during which the port selected had data to transmit but no data was sent.\;time = port_transmit_wait*4 [ns]\;" access="RO" offset="0x0.0" size="0x4.0" />
	<field name="port_transmit_wait_low" descr="The time (in 4ns resolution) during which the port selected had data to transmit but no data was sent.\;time = port_transmit_wait*4 [ns]\;" 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_only_router_ext" descr="" size="0x3f8.0" >
	<field name="router_interface_list" descr="Router Interface List.\;Encoding of this field depends on the type field.\;For Ethernet Only, \;If (type==Ethernet Only), each bit in the bit vector indicates if the router interface indexed by the bit location is a member of the group\;If (type==Ethernet and IPoIB), each DWORD might include a single router interface number with a pointer to the Adjacency table used for Multicast Adjacency for IPoIB Multicast" access="RW" high_bound="127" low_bound="0" offset="0x0.0" size="0x200.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.\;" access="RO" offset="0x0.0" size="0x4.0" />
	<field name="rx_octets_low" descr="The total number of octets received, including framing characters.\;" 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).\;" 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).\;" 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.\;\;" 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.\;\;" 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="ets_ext" descr="" size="0x8.0" >
	<field name="bw_allocation" descr="" access="RW" offset="0x0.0" size="0x0.7" />
	<field name="group" descr="TClass Group assigned to a TClass.\;Range 0..7\;" access="RW" offset="0x0.16" size="0x0.4" />
	<field name="r" descr="Rate limit update. Enables update of the rate limiter (with the max_bw_units, max_bw_value). If this bit is cleared, the rate limiter value will not change." access="WO" offset="0x0.29" size="0x0.1" />
	<field name="b" descr="Bandwidth allocation update. Enables update of the ETS bandwidth allocation (with the bw_allocation). If this bit is cleared, the bandwidth allocation value will not change." access="WO" offset="0x0.30" size="0x0.1" />
	<field name="g" descr="Group update. Enables update of the group assigned to the TClass. If this bit is cleared, the group value will not change." access="WO" offset="0x0.31" size="0x0.1" />
	<field name="max_bw_value" descr="The maximal bandwidth allowed for the use TClass\;Units according to max_bw_units\;Reserved when max_bw_units = 0" access="RW" offset="0x4.0" size="0x0.8" />
	<field name="max_bw_units" descr="Encoding of max_bw_units:\;0x0: DISABLED - rate limiter disabled\;0x3: HUNDREDS_MBPS - max_bw_value is in 100 Mbps units\;0x4: GBPS - max_bw_value is in 1 Gbps units\;Note - Query response returns value in units that allow the most accurate number, not in the units configured using Set()." access="RW" enum="DISABLED=0x0,HUNDREDS_MBPS=0x3,GBPS=0x4" offset="0x4.16" size="0x0.4" />
</node>

<node name="ets_global_ext" descr="" size="0x8.0" >
	<field name="r" descr="Rate limit update. Enables update of the rate limiter (with the max_bw_units, max_bw_value). If this bit is cleared, the rate limiter value will not change." access="WO" offset="0x0.29" size="0x0.1" />
	<field name="max_bw_value" descr="The maximal bandwidth allowed for the use for the port\;Encoding of max_bw_units:\;0x0: DISABLED - rate limiter disabled\;0x3: HUNDREDS_MBPS - max_bw_value is in 100 Mbps units\;0x4: GBPS - max_bw_value is in 1 Gbps units\;Note - Query response will return value in units that allow the most accurate number, not in the units configured using Set()." access="RW" offset="0x4.0" size="0x0.8" />
	<field name="max_bw_units" descr="The maximal bandwidth allowed for the use for the port\;Encoding of max_bw_units:\;0x0: DISABLED - rate limiter disabled\;0x3: HUNDREDS_MBPS - max_bw_value is in 100 Mbps units\;0x4: GBPS - max_bw_value is in 1 Gbps units\;Note - Query response will return value in units that allow the most accurate number, not in the units configured using Set()." access="RW" enum="DISABLED=0x0,HUNDREDS_MBPS=0x3,GBPS=0x4" offset="0x4.16" size="0x0.4" />
</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.18" />
	<field name="fw_cause" descr="[DWIP]\;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" 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" 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="fid_router_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 device, all MAC addresses must have the same 38 MSBits\;In Spectrum-2 device, all MAC addresses must have the same 36 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 device, all MAC addresses must have the same 38 MSBits\;In Spectrum-2 device, all MAC addresses must have the same 36 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="flex2_key_18b_ext" descr="" size="0x14.0" >
	<field name="flex_key3_high" descr="Flexible ACL key block as defined in: Section 11.6.4, &quot;Flex2 ACL Key Blocks Detailed&quot;, on page 2109" 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.6.4, &quot;Flex2 ACL Key Blocks Detailed&quot;, on page 2109" 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="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 - 1" 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\;" 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="FENCE_BINDING_INFO_ext" descr="" subnode="FENCE_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" access="RW" enum="EMT=0x0,RAM=0x1" offset="0x10.0" size="0x0.2" />
	<field name="bind_info" descr="See Table 2852, &quot;BINDING INFO layout,&quot; on page 3018\;See Table 2854, &quot;RAM BINDING INFO layout,&quot; on page 3018" 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 2810, &quot;Spectrum Custom Bytes Sets,&quot; on page 2960\;" 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="[DWIP]\;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.11.7, &quot;RECR - Router ECMP Configuration Register&quot;, on page 2644, Section 14.11.8, &quot;RECR_V2 - Router ECMP Configuration Version 2 Register&quot;, on page 2646" 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 .. (max_cap_gp_sram_size-1)\;Supported from Spectrum-4 and above.\;\;Note:\;1. Can&apos;t be changed if FPMTA was already issued." access="RW" offset="0x44.0" size="0x0.9" />
	<field name="s0_sel_mode" descr="SRAM 0 Selected By Mode\;0: Flat\;\;\;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 .. (max_cap_gp_sram_size-1)\;Supported from Spectrum-4 and above.\;\;Note:\;1. Can&apos;t be changed if FPMTA was already issued." access="RW" offset="0x48.0" size="0x0.9" />
	<field name="s1_sel_mode" descr="SRAM 1 Selected By Mode\;0: Flat\;\;\;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 2817, &quot;EMT Commands,&quot; on page 2977\;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="[DWIP]:\;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 2847, &quot;OpCodes and Params,&quot; on page 3013" access="RW" offset="0x4.0" size="0x0.8" />
	<field name="operand0" descr="operand 0. See Table 2847, &quot;OpCodes and Params,&quot; on page 3013" access="RW" offset="0x8.0" size="0x0.16" />
	<field name="operand1" descr="operand 1. See Table 2847, &quot;OpCodes and Params,&quot; on page 3013" access="RW" offset="0xC.0" size="0x0.16" />
	<field name="operand2" descr="operand 2. See Table 2847, &quot;OpCodes and Params,&quot; on page 3013" access="RW" offset="0x10.0" size="0x0.16" />
</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 2806, &quot;Parser Headers (PH&apos;s),&quot; on page 2942\;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="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 2806, &quot;Parser Headers (PH&apos;s),&quot; on page 2942\;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 2806, &quot;Parser Headers (PH&apos;s),&quot; on page 2942\;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="fphhc_ext" descr="" size="0xc.0" >
	<field name="hph" descr="Hard Parser Header (HPH)\;See Table 2806, &quot;Parser Headers (PH&apos;s),&quot; on page 2942\;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 2808, &quot;Hard Transition Table,&quot; on page 2949" 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="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 2827, &quot;Protocol Union Layout,&quot; on page 3000" subnode="fppc_protocol_union_ext" access="RW" offset="0x10.0" size="0x10.0" />
	<field name="header_length" descr="FPH or FTLV length\;See Table 2829, &quot;Header_length Union Layout,&quot; on page 3001\;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 2831, &quot;fexp_st Union Layout,&quot; on page 3003\;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 2833, &quot;fexp_of Union Layout,&quot; on page 3004\;Reserved when empty_fph = 1" subnode="fppc_fexp_of_ext" access="RW" offset="0x40.0" size="0x10.0" />
	<field name="my_tlv" descr="My TLV\;See Table 2835, &quot;My_TLV Union Layout,&quot; on page 3006\;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" 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 2806, &quot;Parser Headers (PH&apos;s),&quot; on page 2942\;Reserved when tran_type = 0" access="RW" offset="0x8.0" size="0x0.8" />
</node>

<node name="fpums_ext" descr="" size="0x50.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\;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, local_port is used\;1: global for all ports. When get, read from local_port 1\;2: port_mask is used when set. When get, read from local_port 1" access="INDEX" 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:\;List of local_port to set\;per bit:\;0: don&apos;t set\;1: set\;Reserved when global != 2\;Reserved when get" access="INDEX" high_bound="15" low_bound="0" offset="0x10.0" size="0x40.0" />
</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 2894, &quot;FRAR - Flex RAM Info Layout,&quot; on page 3052" 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="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_existptr" 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" 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" 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="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="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 294, &quot;HCOT Key_type Ethertype Layout,&quot; on page 529\;if key_type=1 then the key is explained in Table 296, &quot;HCOT Key_type Next_proto Layout,&quot; on page 530\;if key_type=2 then the key is explained in Table 298, &quot;HCOT Key_type layer4_port Layout,&quot; on page 531\;if key_type=3 then the key is explained in Table 300, &quot;HCOT Key_type Icmp_Igmp_Type Layout,&quot; on page 532\;" 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 294, &quot;HCOT Key_type Ethertype Layout,&quot; on page 529\;if key_type=1 then the mask is explained in Table 296, &quot;HCOT Key_type Next_proto Layout,&quot; on page 530\;if key_type=2 then the mask is explained in Table 298, &quot;HCOT Key_type layer4_port Layout,&quot; on page 531\;if key_type=3 then the mask is explained in Table 300, &quot;HCOT Key_type Icmp_Igmp_Type Layout,&quot; on page 532" 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_next_proto_ext" descr="" subnode="hcot_key_next_proto_ext" offset="0x0.0" selected_by="next_proto" 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_icmp_igmp_type_ext" descr="" subnode="hcot_key_icmp_igmp_type_ext" offset="0x0.0" selected_by="icmp_igmp_type" 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_next_proto_ext" descr="" subnode="hcot_key_next_proto_ext" offset="0x0.0" selected_by="next_proto" 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_icmp_igmp_type_ext" descr="" subnode="hcot_key_icmp_igmp_type_ext" offset="0x0.0" selected_by="icmp_igmp_type" size="0x10.0" />
</node>

<node name="hctr_ext" descr="" size="0x10.0" >
	<field name="custom_trap_index" descr="Custom Trap:\;0: IP2ME_CUSTOM0\;1: IP2ME_CUSTOM1\;2: IP2ME_CUSTOM2, reserved when Spectrum\;3: IP2ME_CUSTOM3, reserved when Spectrum" 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 a session. Rejected when status = BUSY\;1: CANCEL the session" access="WO" 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: Granularity is 4B.\;Reserved when Switch-IB and Spectrum (no truncation).\;For Switch-IB 2: minimum value is 32B\;For Quantum and Spectrum-2: minimum value is 48B\;" access="RW" offset="0x0.0" size="0x0.14" />
	<field name="truncation_size_prof1" descr="Truncation Size Profile 1\;Supported from Spectrum-4 and Quantum-2 and above." 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." access="RW" offset="0x14.0" size="0x0.14" />
	<field name="tac_crawler_action" descr="The device periodically (default 1Sec) does a &quot;crawler&quot;. \;Crawler actions:\;0: flush_and_report (default)\;1: flush_no_report\;2: report_only (note: may cause pkt_count overflow, note: no LRU eviction)\;Supported from Spectrum-4 and above.\;Reserved when IB Switches" access="RW" 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: 10 (T=1Sec)\;Supported from Spectrum-4 and above.\;Reserved when IB Switches" access="RW" offset="0x18.8" size="0x0.5" />
</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.4.1.2, &quot;KVD Central Database Linear Entries&quot; (page 3200)" 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="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="wqe_overflow_rdq" descr="See Table 282, &quot;HMON - wqe_overflow_rdq Layout,&quot; on page 520\;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 126, &quot;TRAP IDs,&quot; on page 343.\;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\;For Switch-X/2: Range 0.. HCAP.max_num_trap_groups -1\;Reserved when ((action is NOP) and (trap_id is not Soure trap) and (trap_id is not Event trap))" 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). \;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 126, &quot;TRAP IDs,&quot; on page 343\;When Event traps - allow only NOP and TRAP, see Event trap column in Table 126, &quot;TRAP IDs,&quot; on page 343" 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,SET_FW_DEFAULT=0xf" offset="0x0.20" size="0x0.4" />
	<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" offset="0x4.0" size="0x0.1" />
	<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 1878\;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 126, &quot;TRAP IDs,&quot; on page 343Reserved when SwitchX/-2 and Switch-IB/2" access="RW" 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="Reserved when mirror_action = 0" access="RW" offset="0x8.8" size="0x0.4" />
	<field name="mirror_action" descr="Trap Mirror Action\;0: TAC_TO_CPU \;2: TAC_TO_MIRROR, to mirroring agent only\;" access="RW" offset="0x8.16" size="0x0.2" />
</node>

<node name="hrwc_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\;Note: all counters are read regardless of cprdq and crdq" access="INDEX" offset="0x0.0" size="0x0.6" />
	<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" access="INDEX" offset="0x0.30" size="0x0.1" />
	<field name="clr" descr="Clear counters" access="OP" offset="0x0.31" size="0x0.1" />
	<field name="rdq_wqe_counter" descr="See Table 284, &quot;HRWC - Host RDQ WQE Counter Register Layout,&quot; on page 522\;Entries above cap_max_num_rdq are not valid" subnode="uint64" access="RW" high_bound="63" low_bound="0" offset="0x20.0" size="0x200.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" access="RW" high_bound="3" low_bound="0" 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" access="RW" high_bound="3" low_bound="0" offset="0x20.0" size="0x10.0" />
</node>

<node name="htacg_ext" descr="" size="0x90.0" >
	<field name="grepper_index" descr="Range: 0..1" access="INDEX" offset="0x0.0" size="0x0.4" />
	<field name="go" descr="Go:\;set to &quot;1&quot; by SW\;set to &quot;0&quot; by HW\;Cannot be set to 1 while busy" access="RW" offset="0x0.16" size="0x0.1" />
	<field name="tac_flush" descr="0: flush_and_report (default)\;1: flush_no_report\;2: report_only" access="RW" offset="0x4.0" size="0x0.2" />
	<field name="fields" descr="SeeTable 308, &quot;HTACG - fields Layout,&quot; on page 540" subnode="htacg_fields_ext" access="RW" offset="0x10.0" size="0x40.0" />
	<field name="mask" descr="See Table 308, &quot;HTACG - fields Layout,&quot; on page 540" 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="" access="RW" offset="0x0.0" size="0x0.8" />
	<field name="trap_id" descr="" access="RW" offset="0x4.0" size="0x0.10" />
	<field name="rdq" descr="" access="RW" offset="0x4.24" size="0x0.6" />
	<field name="mirror_tx_acl_system_port" descr="" access="RW" offset="0x8.0" size="0x0.8" />
	<field name="mirror_tclass" descr="" access="RW" offset="0x8.16" size="0x0.5" />
	<field name="max_egress_buffer_fill_level" descr="" access="RW" offset="0xC.0" size="0x0.16" />
	<field name="last_ts" descr="Last timestamp\;according to CONFIG_PROFILE.cqe_time_stamp_type:\;Free_running_clock at units of 64nSec\;UTC: bits[31:26]=Sec, bits[25:0]=16nSec" access="RW" offset="0x10.0" size="0x4.0" />
	<field name="pkt_count" descr="" access="RW" offset="0x14.0" size="0x4.0" />
	<field name="byte_count_high" descr="" access="RW" offset="0x18.0" size="0x0.8" />
	<field name="byte_count_low" descr="" access="RW" offset="0x1C.0" size="0x4.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.7.6, &quot;Policer&quot;, on page 2232.\;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.13.1, &quot;MOGCR - Monitoring Global Configuration Register&quot;, on page 914\;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" 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." access="RW" offset="0xC.0" size="0x0.4" />
	<field name="path" descr="Path to designated CPU\;Reserved when type != 0\;See Table 263, &quot;LOCAL Path Layout,&quot; on page 510" access="RW" high_bound="3" low_bound="0" offset="0x10.0" size="0x10.0" />
	<field name="mirror_probability_rate" descr="For mirroring: sampling rate = 1 out of rate packets \;Valid values are: 1 to 3.5*10^9\;Values of 0 behaves like 1\;Default 1\;Note: high values are round by HW to: 10^9 * {4.3, 2.15, 1.43, 1.08, 0.86, 0.72, 0.61, 0.54}. \;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="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="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="ibsni_ext" descr="" size="0xa8.0" >
	<field name="ipv4_record" descr="See Table 1165, &quot;IBNSI - IPv4 record Layout,&quot; on page 1324\;Entry 0 refer to out-of-band interfaces (e.g, box, alias or physical). \;Entry 1 refers to IPoIB interface\;Note: currently only 2 (TBD) entries are supported" 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 1167, &quot;IBSNI - IPv6 record Layout,&quot; on page 1325\;Entry 0 refer to out-of-band interfaces (e.g, box, alias or physical). \;Entry 1 refers to IPoIB interface\;Note: currently only 2 (TBD) entries are supported" subnode="ibsni_ipv6_ext" access="RW" high_bound="3" low_bound="0" offset="0x28.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="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.5.1.1, &quot;KVD Central Database Hash-based&quot; (page 3208)\;For Spectrum-2 linear entries see Appendix A.5.1.2, &quot;KVD Central Database Linear Entries&quot; (page 3210)" 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 925, &quot;IDDDS - pipe entry Layout,&quot; on page 1078" 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.5.1.1, &quot;KVD Central Database Hash-based&quot; (page 3208)\;For Spectrum-2 linear entries see Appendix A.5.1.2, &quot;KVD Central Database Linear Entries&quot; (page 3210)" access="RO" high_bound="63" low_bound="0" offset="0x0.24" size="0x40.0" />
</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 929, &quot;IEDR record Layout,&quot; on page 1081" 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.5.1.2, &quot;KVD Central Database Linear Entries&quot;, on page 3210" 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="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\;\;RoCE v1 fields: [TBD]\;Bit 58: [TBD] GRH SIP\;Bit 59: [TBD] GRH DIP\;Bit 60: [TBD] GRH Next Protocol\;Bit 61: [TBD] GRH DSCP\;Bit 62: [TBD] GRH ECN\;Bit 63: [TBD] GRH L3 Length\;Bit 64: [TBD] GRH 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 by 8 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: None\;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." access="RW" high_bound="31" low_bound="0" offset="0x28.0" size="0x80.0" />
</node>

<node name="ihsr_ext" descr="" size="0x38.0" >
	<field name="type" descr="Hash type\;0: CRC\;" access="RW" 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\;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.14, &quot;Custom Bytes&quot;, on page 1975" 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" />
</node>

<node name="iicr_ext" descr="" size="0x24.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" />
</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.18, &quot;RTDP - Routing Tunnel Decap Properties Register&quot;, on page 2707\;For Spectrum, pointer to KVD Linear, see Section A.4.1.2, &quot;KVD Central Database Linear Entries&quot;, on page 3200\;" 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 2488, &quot;Loopback USIP Router Interface Properties Layout,&quot; on page 2637" 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.19, &quot;RIPS - Router IP version Six Register&quot;, on page 2715\;Pointer to KVD linear space, see A.4.1.2 &quot;KVD Central Database Linear Entries,&quot; on page 3200\;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.3, &quot;Port Numbering&quot;, on page 1332 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 163, &quot;EMADs Return Status Summary,&quot; on page 417" access="RW" 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\;Range 1 .. 2K" 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 2490, &quot;Loopback IPinIP Overlay Router Interface Properties Layout&quot;" access="RW" offset="0x0.16" size="0x0.4" />
	<field name="uirif" descr="Underlay Ingress RIF\;Reserved when Spectrum (Gen-1)" access="RW" offset="0x4.0" size="0x0.16" />
	<field name="uirif_v" descr="uirif is valid\;Note: if set then overwrite the RITR uirif for this ECMP entry\;Reserved when Spectrum (Gen-1)" access="RW" offset="0x4.16" size="0x0.1" />
	<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.13, &quot;Tunnel QoS Profiles,&quot; on page 2462\;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.19, &quot;RIPS - Router IP version Six Register&quot;, on page 2715\;For Spectrum: Pointer to KVD linear space, see Appendix A.4.1.2, &quot;KVD Central Database Linear Entries&quot; (page 3200)" 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_pkey_router_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="ipoib_router_inter_ext" descr="" size="0x3f8.0" >
	<field name="size" descr="Size - the number of valid entries in the list following this field." access="RW" offset="0x0.0" size="0x0.8" />
	<field name="rif_entry" descr="Rif Entry\;For more details, see Table 2504, &quot;rif_entry Layout,&quot; on page 2646" access="RW" high_bound="252" low_bound="0" offset="0x4.0" size="0x3f4.0" />
</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="irqr_ext" descr="" size="0xc.0" >
	<field name="resource_id" descr="Resource ID as described by Device Resources, see Appendix A, &quot;Device Resources&quot; (page 3194)" access="INDEX" offset="0x0.0" size="0x0.16" />
	<field name="resource_value_39_32" descr="Resources capability of this resource_id" access="RO" offset="0x4.0" size="0x0.8" />
	<field name="v" descr="valid:\;0: resource_id has no valid value\;1: resource_id is valid" access="RO" offset="0x4.31" size="0x0.1" />
	<field name="resource_value_31_0" descr="Resources capability of this resource_id" access="RO" offset="0x8.0" size="0x4.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 2490, &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.19, &quot;RIPS - Router IP version Six Register&quot;, on page 2715\;For Spectrum: Pointer to KVD linear space, see Section A.4.1.2, &quot;KVD Central Database Linear Entries&quot;, on page 3200\;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="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 cleared, this field is ignored and RX lane is equal to TX lane." access="RW" offset="0x0.24" size="0x0.4" />
</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" 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_span_ext" descr="" size="0x10.0" >
	<field name="tclass" descr="Traffic Class on which the mirrored packet is queued\;For Spectrum: Switch Priority\;Reserved when qos is QoS maintain\;Reserved when system_port is to CPU since HTGT.cpu_tclass is used" access="RW" offset="0xC.0" size="0x0.4" />
</node>

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

<node name="loopback_ipinip_router_interface_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.6.1, &quot;TIGCR - Tunneling IPinIP General Configuration Register&quot;, on page 2931, Section 14.14.7, &quot;RECR - Router ECMP Configuration Register&quot;, on page 2659, Section 14.14.8, &quot;RECR_V2 - Router ECMP Configuration Version 2 Register&quot;, on page 2661" 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="loopback_router_interface_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 2490, &quot;Loopback IPinIP Overlay Router Interface Properties Layout,&quot; on page 2638\;For protocol = USIP_IPV4 or protocol = USIP_IPV6 See Table 2488, &quot;Loopback USIP Router Interface Properties Layout,&quot; on page 2637\;For protocol = GENERIC See Table 2486, &quot;Loopback Generic Router Interface Properties Layout,&quot; on page 2636" subnode="loopback_router_interface_rif_loopback_parameters_auto_ext" access="RW" offset="0x8.0" size="0x1c.0" union_selector="$(parent).protocol" />
</node>

<node name="loopback_router_interface_rif_loopback_parameters_auto_ext" descr="" attr_is_union="1" size="0x1c.0" >
	<field name="loopback_ipinip_router_interface_ext" descr="" subnode="loopback_ipinip_router_interface_ext" offset="0x0.0" selected_by="IPIP_IPV4" size="0x1c.0" />
	<field name="loopback_usip_router_interface_ext" descr="" subnode="loopback_usip_router_interface_ext" offset="0x0.0" selected_by="IPIP_IPV4" size="0x18.0" />
	<field name="loopback_generic_router_interface_ext" descr="" subnode="loopback_generic_router_interface_ext" offset="0x0.0" selected_by="GENERIC" size="0x4.0" />
</node>

<node name="loopback_usip_router_interface_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="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 822, &quot;MAFTI - record Layout,&quot; on page 988" 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 826, &quot;MAFBI - entry_type0 Layout,&quot; on page 990" 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!" 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 832, &quot;MAFRI - record Layout,&quot; on page 993" 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 822, &quot;MAFTI - record Layout,&quot; on page 988" 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 835" 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="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="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)." access="INDEX" enum="First_128_REG_ID=0x0,Register_IDs_0x9080=0x1,Register_IDs_0x9100=0x2" 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" 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, MDCR.\;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 -200,000 to +200,000\;Bit 47: If set, MTUTC.freq_adj_units=1 is supported\;Bit 48: If set, 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" 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\;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="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." 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" />
</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 510, &quot;MCQI CAPABILITIES Info Layout,&quot; on page 730" 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="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="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" 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="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." 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="0xc.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:\;Bit 0 - Present\;Bit 1 - RX_LOS\;Bit 2 - TX_Fault\;\;" access="RO" offset="0x4.0" size="0x0.16" />
</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." 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_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" 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_cap_ext" descr="" subnode="mcqi_cap_ext" offset="0x0.0" selected_by="CAPABILITIES" size="0x7c.0" />
	<field name="mcqi_version_ext" descr="" subnode="mcqi_version_ext" offset="0x0.0" selected_by="VERSION" 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_linkx_properties_ext" descr="" subnode="mcqi_linkx_properties_ext" offset="0x0.0" selected_by="LINKX_PROPERTIES" 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." 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\;Other values are reserved" access="RW" enum="CAPABILITIES=0x0,VERSION=0x1,ACTIVATION_METHOD=0x5,LINKX_PROPERTIES=0x6" 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." access="RW" 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." access="RW" offset="0x14.0" size="0x0.16" />
	<field name="data" descr="Properties set structure according to info_type.\;CAPABILITIES - See Table 510, &quot;MCQI CAPABILITIES Info Layout,&quot; on page 730\;VERSION - See Table 512, &quot;MCQI VERSION Info Layout,&quot; on page 732\;ACTIVATION_METHOD - See Table 516, &quot;MCQI ACTIVATION_METHOD Info Layout,&quot; on page 734\;LINKX_PREPERTIES - See Table 518, &quot;MCQI LINKX_PROPERTIES Info Layout,&quot; on page 735" 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 514, &quot;Date-Time Layout,&quot; on page 733" subnode="uint64" 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 514, &quot;Date-Time Layout,&quot; on page 733" subnode="uint64" 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 1 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." access="INDEX" offset="0x0.16" size="0x0.12" />
	<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\;[DWIP]:\;0x10: CRCS_TOKEN\;0x11: CRDT_TOKEN\;0x12: CLOCK_SYNC_EEPROM\;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" 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="mdcr_ext" descr="" size="0x60.0" >
	<field name="device_type" descr="Peripheral device type\;1: XM" 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="device_index" descr="Device number \;For gearboxes, the index represents the gearbox die." access="INDEX" offset="0x4.0" size="0x0.12" />
	<field name="device_status_data" descr="Device initialization Data. \;For XM status, see Table 664, &quot;MDCR - XM Data Layout,&quot; on page 828" subnode="mdcr_xm_data_ext" access="RO" offset="0x10.0" size="0x50.0" />
</node>

<node name="mdcr_xm_data_ext" descr="" size="0x50.0" >
	<field name="xm_status" descr="XM load status.\;0: Pending\;1: No connection (At least 1 of the two Ethernet ports is not up)\;2: Version mismatch (major and minor are different from major_expected and minor_expected)\;3: Loaded successfully" access="RO" offset="0x0.20" size="0x0.4" />
	<field name="xm_major" descr="XM major version" access="RO" offset="0x4.0" size="0x0.16" />
	<field name="xm_minor" descr="XM minor version" access="RO" offset="0x8.0" size="0x0.16" />
	<field name="xm_build_id" descr="XM build ID" access="RO" offset="0xC.0" size="0x0.16" />
	<field name="xm_expected_major" descr="XM expected major version" access="RO" offset="0x10.0" size="0x0.16" />
	<field name="xm_expected_minor" descr="XM expected minor version" access="RO" offset="0x14.0" size="0x0.16" />
</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="slot_info_ext" descr="" subnode="slot_info_ext" offset="0x0.0" selected_by="slot_info" size="0x20.0" />
	<field name="device_info_ext" descr="" subnode="device_info_ext" offset="0x0.0" selected_by="device_info" size="0x20.0" />
	<field name="slot_name_ext" descr="" subnode="slot_name_ext" offset="0x0.0" selected_by="slot_name" size="0x20.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 query 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 454, &quot;MDDQ slot_info Layout,&quot; on page 688\;For devices on slot query_type data - see Table 456, &quot;MDDQ device_info Register Layout,&quot; on page 689\;For slot name query_type data - see Table 458, &quot;MDDQ slot_name Layout,&quot; on page 691" subnode="mddq_data_auto_ext" access="RO" offset="0x10.0" size="0x20.0" union_selector="$(parent).query_type" />
</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 - [Internal]" 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 446, &quot;PRM Register Payload Layout,&quot; on page 684\;For Command type payload - See Table 448, &quot;Command Payload Layout,&quot; on page 684\;For CrSpace type payload - See Table 450, &quot;CrSpace access Payload Layout,&quot; on page 685" 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="prm_register_payload_ext" descr="" subnode="prm_register_payload_ext" offset="0x0.0" selected_by="PRM_Register" 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" />
</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)" 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: ReservedBit8: 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="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" 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" access="RW" offset="0x0.24" size="0x0.8" />
	<field name="end" descr="Set to &apos;1&apos; to end debug session.\;Setting to &apos;0&apos; will not trigger any operation." 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="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="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="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="kvd_im_stop_ext" descr="" subnode="kvd_im_stop_ext" offset="0x0.0" selected_by="kvd_im_stop" size="0xa0.0" />
	<field name="test_ext" descr="" subnode="test_ext" offset="0x0.0" selected_by="test" 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="fatal_cause_ext" descr="" subnode="fatal_cause_ext" offset="0x0.0" selected_by="fatal_cause" size="0xa0.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" access="RO" enum="crspace_timeout=0x1,kvd_im_stop=0x2,test=0x3,fw_assert=0x4,fatal_cause=0x5" 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 irisc triggered the event" access="RO" offset="0x0.24" size="0x0.8" />
	<field name="reg_attr_id" descr="When command_type = 0 (MAD):\;attribute id\;When command_type = 1 (EMAD):\;register id" access="RO" offset="0x4.0" size="0x0.16" />
	<field name="mgmt_class" descr="reserved when command_type !=0 (MAD)" access="RO" offset="0x4.16" size="0x0.8" />
	<field name="command_type" descr="0: MAD\;1: EMAD\;2: CMDIF_DRIVER\;3: INTERNAL_FW_FLOW\;4: CMDIF_TOOLS\;5: PORT_PROFILE" access="RO" offset="0x4.24" size="0x0.2" />
	<field name="long_process" descr="indicates if the command is in long_process mode" access="RO" offset="0x4.28" size="0x0.1" />
	<field name="method" descr="0: Query\;1: Write" access="RO" offset="0x4.29" size="0x0.1" />
	<field name="event_params" descr="event parameters - layout is according to event_id value:\;See Table 892, &quot;Event_params crspace_timeout Layout,&quot; on page 1047\;See Table 894, &quot;Event_params kvd_im_stop Layout,&quot; on page 1048\;See Table 896, &quot;Event_params test Layout,&quot; on page 1049\;See Table 898, &quot;Event_params fw_assert Layout,&quot; on page 1050\;See Table 900, &quot;Event_params fatal_cause Layout,&quot; on page 1052" subnode="mfde_event_params_auto_ext" access="RW" offset="0x10.0" size="0xa0.0" union_selector="$(parent).event_id" />
</node>

<node name="mfgd_ext" descr="" size="0x4.0" >
	<field name="fw_fatal_event_mode" descr="0: dont_check_FW_fatal - (default)\;1: check_FW_fatal - enable MFDE trap\;2: check_FW_fatal_stop_FW - enable MFDE trap and stop FW" access="RW" enum="dont_check_FW_fatal=0x0,check_FW_fatal=0x1,check_FW_fatal_stop_FW=0x2" offset="0x0.9" size="0x0.2" />
	<field name="fw_fatal_event_test" descr="0: dont_test\;1: trigger_FW_fatal_event\;2: trigger_test_storm\;3: trigger_fatal_cause\;4: trigger_fwassert\;5: trigger_tile_fatal_cause\;8: trigger_tile_assert\;9: trigger_fw_pll_lock_cause - [DWIP]" access="OP" enum="dont_test=0x0,trigger_FW_fatal_event=0x1,trigger_test_storm=0x2,trigger_fatal_cause=0x3,trigger_fwassert=0x4,trigger_tile_fatal_cause=0x5,trigger_tile_assert=0x8,trigger_fw_pll_lock_cause=0x9" offset="0x0.11" size="0x0.4" />
	<field name="en_debug_assert" descr="Enables INTR severity for fatal events sent by MFDE" access="RW" offset="0x0.16" size="0x0.1" />
</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.\;" access="INDEX" offset="0x0.0" size="0x0.5" />
	<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="mfrl_reg_ext" descr="" size="0x8.0" >
	<field name="reset_trigger" descr="The firmware reset trigger. \;Only a single bit may be set.\;Bit 0: TRIGGER0 (live-patch)\;Bit 3: TRIGGER3 (PCIe link toggle)\;Bit 6: TRIGGER6 (PERST)\;Other bits are reserved." access="RW" offset="0x4.0" size="0x0.8" />
	<field name="reset_type" descr="Each bit represents a chip reset type.\;If set to &apos;1&apos;, the reset is supported. \;Bit 0: Full chip reset\;Bit 1: Keep network port active during reset\;" access="RO" offset="0x4.8" size="0x0.8" />
	<field name="rst_type_sel" descr="The requested reset type." access="RW" offset="0x4.24" size="0x0.3" />
	<field name="pci_sync_for_fw_update_resp" descr="Response of the driver for the reset request.\;1: Acknowledgment\;2: Dis-acknowledgment\;3: Reserved" access="WO" enum="Acknowledgment=0x1,Dis=0x2,Reserved=0x3" offset="0x4.27" size="0x0.2" />
	<field name="pci_sync_for_fw_update_start" descr="Setting this bit to &apos;1&apos; will request a synced driver flow and &apos;0&apos; for the legacy flow.\;Synced driver flow will not require to issue MFRL command from other hosts (x86 / ARM for SoC)" access="WO" offset="0x4.29" size="0x0.1" />
	<field name="pci_rescan_required" descr="Setting this bit to 1 indicates a need of rescan for the corresponding PCI slot" access="RO" offset="0x4.31" size="0x0.1" />
</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.14, &quot;PPS and PTP Registers&quot;." access="RW" offset="0x0.2" size="0x0.2" />
	<field name="tacho" descr="Fan tachometer index" access="INDEX" offset="0x0.24" 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" access="INDEX" offset="0x0.24" 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. In addition, once this bit was set to 1 there is no option to clear it. option to clear it. In addition, once this bit was set to 1, there is no option to clear it." 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-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="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="RW" 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="[Internal]: The tag for the dev branch should be &lt;feature&gt;_YYYY.\;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 532, &quot;Hardware Info Layout,&quot; on page 747" subnode="mgir_hardware_info_ext" access="RW" offset="0x0.0" size="0x20.0" />
	<field name="fw_info" descr="Firmware Information, see Table 534, &quot;Firmware Info Layout,&quot; on page 749" subnode="mgir_fw_info_ext" access="RW" offset="0x20.0" size="0x40.0" />
	<field name="sw_info" descr="Software Information, see Table 536, &quot;Software Info Layout,&quot; on page 752\;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 540, &quot;Development Info Layout,&quot; on page 755" 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.\;Reserved when Retimer." 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. ." 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="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="0: Production\;1: GA Secured\;2: GA Non-Secured\;3: RMA" 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" />
</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 12, &quot;Switch Supported PCI Device IDs,&quot; on page 222" access="RO" offset="0x0.0" size="0x0.16" />
	<field name="device_hw_revision" descr="\;\;SwitchX Devices:\;0x00A0: Device step A0, FCC package\;0x00A1: Device step A1, FCC package\;0x00A2: Device step A2, FCC package\;\;Switch-IB Devices:\;0x00A0: Switch-IB device step A0, FCC package\;0x0000 is a valid value for some devices not included in PRM." 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-31: Reserved" access="RO" offset="0x4.11" size="0x0.5" />
	<field name="num_ports" descr="Number of physical port the device supports." access="RO" offset="0x4.16" size="0x0.8" />
	<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="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="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="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" 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" 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" 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" 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="mgls_ext" descr="" size="0xc.0" >
	<field name="bank_sn" descr="Sequence number of the active nv bank." access="RO" offset="0x0.0" size="0x4.0" />
	<field name="entries_in_last_bank" descr="Number of log entries in the active bank." access="RO" offset="0x4.0" size="0x4.0" />
	<field name="entries_in_log" descr="Total number of entries in nv log." access="RO" offset="0x8.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="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" offset="0x1C.0" size="0x4.0" />
</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 835\;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 836" access="OP" offset="0x0.24" size="0x0.8" />
	<field name="opcode" descr="0: Nop\;\;2: Flush Counters - 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 counters. Setting the clr bit will reset the counter value for all counters of the specified Router Interface.\;" access="OP" 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\;8: Clear counters" access="OP" offset="0x8.0" size="0x0.4" />
	<field name="record" descr="See Table 790, &quot;MGPCB - record Layout,&quot; on page 966\;" 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 464, &quot;Hardware Info Layout,&quot; on page 693" 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="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\;4: XM" 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="Total number of modules within the system.\;" 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." access="RO" offset="0x4.16" size="0x0.8" />
</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="mini_data_auto_ext" descr="" attr_is_union="1" size="0x20.0" >
	<field name="mini_module_parameters_ext" descr="" subnode="mini_module_parameters_ext" offset="0x0.0" selected_by="module_parameters" size="0x8.0" />
	<field name="mini_module_primary_ext" descr="" subnode="mini_module_primary_ext" offset="0x0.0" selected_by="module_primary" size="0x20.0" />
</node>

<node name="mini_ext" descr="" size="0x30.0" >
	<field name="type" descr="Type:\;1: module_parameters\;2: module_primary" access="INDEX" enum="module_parameters=0x1,module_primary=0x2" offset="0x0.0" size="0x0.8" />
	<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_parameters see Table  554, &quot;MINI type module_parameters Layout,&quot; on page  763\;For module_primary see Table  556, &quot;MINI type module_primary Layout,&quot; on page  763" subnode="mini_data_auto_ext" access="RW" offset="0x10.0" size="0x20.0" union_selector="$(parent).type" />
</node>

<node name="mini_module_parameters_ext" descr="" size="0x8.0" >
	<field name="module_index" descr="Module Index" access="INDEX" offset="0x0.0" size="0x0.8" />
	<field name="owner" descr="Owner \;0: not owner\;1: owner\;Informative: for devices where a module has only one ASIC owner (99% of the devices) then the owner is set" access="RO" offset="0x4.0" size="0x0.1" />
</node>

<node name="mini_module_primary_ext" descr="" size="0x20.0" >
	<field name="owner_vector" descr="Owner vector\;Each bit represents module_index\;\;Per bit:\;0: not owner\;1: owner\;Informative: for devices where a module has only one ASIC owner (99% of the devices) then the owner is set" access="RO" high_bound="7" low_bound="0" offset="0x0.0" size="0x20.0" />
</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="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 404, &quot;JTAG Transaction Set Byte Layout,&quot; on page 649" 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 - local port and uid\;1: UID\;2: LOCALP - local port" access="RW" enum="LOCALP_AND_UID=0x0,UID=0x1,LOCALP=0x2" 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="operation" descr="0: Controlled by HW / Beacon\;1: LED on - if bi-color, apply amber.\;2: LED off\;Others: Reserved\;" access="RW" offset="0x0.12" size="0x0.4" />
	<field name="local_port" descr="Local port number\;Not supported for CPU port\;(only supported when cap_local_or_uid_only==1.)" access="RW" 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" access="RW" 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="mmia_ext" descr="" size="0xc.0" >
	<field name="operation" descr="0 - NOP\;1 - Erase\;2 - Read\;3 - Write" access="WO" offset="0x0.0" size="0x0.3" />
	<field name="Data" descr="" access="RW" offset="0x8.0" size="0x4.0" />
</node>

<node name="mnvda_reg_ext" descr="" size="0x10.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" offset="0xC.0" size="0x4.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="RO" offset="0x10.0" size="0xc.0" />
	<field name="configuration_item_data" descr="" access="RO" offset="0x1C.0" size="0x4.0" />
</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 587, &quot;Configuration Item Header Layout,&quot; on page 787)." 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. \;Table 589, &quot;Configuration Item Data Type Class Global Layout,&quot; on page 790\;Table 591, &quot;Configuration Item Data Type Class Physical Port Layout,&quot; on page 790\;Table 593, &quot;Configuration Item Data Type Class Per Host-PF Layout,&quot; on page 791" 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" />
</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 835\;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="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 (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" />
</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.3, &quot;Port Numbering&quot;, on page 1332 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" size="0xa0.0" >
	<field name="mocs_ppcnt_ext" descr="" subnode="mocs_ppcnt_ext" offset="0x0.0" selected_by="PPCNT_SES1" size="0xa0.0" />
	<field name="mocs_mgpcb_ext" descr="" subnode="mocs_mgpcb_ext" offset="0x0.0" selected_by="MGPCB" size="0x8.0" />
	<field name="mocs_pbsr_ext" descr="" subnode="mocs_pbsr_ext" offset="0x0.0" selected_by="PBSR" size="0x40.0" />
	<field name="mocs_sbsrd_ext" descr="" subnode="mocs_sbsrd_ext" offset="0x0.0" selected_by="SBSRD" size="0x4.0" />
	<field name="mocs_ceer_ext" descr="" subnode="mocs_ceer_ext" offset="0x0.0" selected_by="CEER" size="0x40.0" />
	<field name="mocs_mafbi_ext" descr="" subnode="mocs_mafbi_ext" offset="0x0.0" selected_by="MAFBI" size="0x8.0" />
	<field name="mocs_fsed_ext" descr="" subnode="mocs_fsed_ext" offset="0x0.0" selected_by="FSED" size="0x10.0" />
	<field name="mocs_usacn_ext" descr="" subnode="mocs_usacn_ext" offset="0x0.0" selected_by="USACN" size="0x48.0" />
	<field name="mocs_utcc_ext" descr="" subnode="mocs_utcc_ext" offset="0x0.0" selected_by="UTCC" size="0x48.0" />
	<field name="mocs_upcnt_ext" descr="" subnode="mocs_upcnt_ext" offset="0x0.0" selected_by="UPCNT" size="0x40.0" />
	<field name="mocs_mofrb_ext" descr="" subnode="mocs_mofrb_ext" offset="0x0.0" selected_by="MOFRB" size="0x60.0" />
</node>

<node name="mocs_ext" descr="" size="0xc0.0" >
	<field name="type" descr="Session type:\;1: PPCNT_SES1 - (provides PPCNT traps)\;2: MGPCB\;3: PBSR\;4: SBSRD\;5: CEER\;6: MAFBI\;7: MOPCE - from Spectrum-1 and above.\;8: FSED - from Spectrum-4 and above.\;10: USACN - from Spectrum-4 and above.\;11: UTCC - from Spectrum-4 and above.\;12: UPCNT - from Spectrum-4 and above.\;13: MOFRB - from Spectrum-2 and above.\;" access="INDEX" enum="PPCNT_SES1=0x1,MGPCB=0x2,PBSR=0x3,SBSRD=0x4,CEER=0x5,MAFBI=0x6,MOPCE=0x7,FSED=0x8,USACN=0xa,UTCC=0xb,UPCNT=0xc,MOFRB=0xd" offset="0x0.0" size="0x0.8" />
	<field name="status" descr="Status:\;0: IDLE\;1: BUSY\;2: CANCELED" access="RO" enum="IDLE=0x0,BUSY=0x1,CANCELED=0x2" 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.\;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.1" />
	<field name="clear" descr="Clear the counters:\;0: READ_NO_CLEAR\;1: READ_AND_CLEAR\;2: CLEAR_ONLY - no read, for faster operation. Will provide only MOCS_DONE trap when finished.\;\;Reserved when type = (7) or when type = 8" access="RW" 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="entry" descr="See Table 794, &quot;MOCS entry - PPCNT Layout,&quot; on page 970\;See Table 796, &quot;MOCS entry - MGPCB Layout,&quot; on page 972\;See Table 798, &quot;MOCS entry - PBSR Layout,&quot; on page 973\;See Table 800, &quot;MOCS entry - SBSRD Layout,&quot; on page 974\;See Table 802, &quot;MOCS entry - CEER Layout,&quot; on page 975\;See Table 804, &quot;MOCS entry - MAFBI Layout,&quot; on page 976\;See Table 806, &quot;MOCS entry - FSED Layout,&quot; on page 977\;See Table 808, &quot;MOCS entry - USACN Layout,&quot; on page 979\;See Table 810, &quot;MOCS entry - UTCC Layout,&quot; on page 980\;See Table 812, &quot;MOCS entry - UPCNT Layout,&quot; on page 981\;See Table 814, &quot;MOCS entry - MOFRB Layout,&quot; on page 983" subnode="mocs_entry_auto_ext" access="RW" offset="0x20.0" size="0xa0.0" union_selector="$(parent).type" />
</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" offset="0x0.0" size="0x0.4" />
	<field name="op" descr="Operation\;0: Dump entries \;1: Clear activity for all entries which were dumped \;2: Clear activity only (no dump)\;" access="OP" 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="OP" 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" 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 - 1" 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 - 1" 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 - 1" 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_pbsr_ext" descr="" size="0x40.0" >
	<field name="port_mask" descr="Local port\;Each bit represents a local port. Refer to Section 9.3, &quot;Port Numbering&quot;, on page 1332 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_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_sbsrd_ext" descr="" size="0x4.0" >
	<field name="desc" descr="read descriptors status" access="RW" offset="0x0.28" 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\;Order of traps is:\;1. {current, cells}\;2. {snap, cells}\;3. {current, desc}\;4. {snap, desc}" access="RW" offset="0x0.31" size="0x0.1" />
</node>

<node name="mocs_upcnt_ext" descr="" size="0x40.0" >
	<field name="port_mask" descr="Local port .\;Each bit represents a local port" access="RW" high_bound="15" low_bound="0" offset="0x0.0" size="0x40.0" />
</node>

<node name="mocs_usacn_ext" descr="" size="0x48.0" >
	<field name="port_mask" descr="Local port .\;Each bit represents a local port" access="RW" high_bound="15" low_bound="0" offset="0x0.0" size="0x40.0" />
	<field name="side" descr="Bit 0: Host\;Bit 1: Line" access="RW" offset="0x40.0" size="0x0.4" />
	<field name="num_rec" descr="Number of records to read\;Range: 1.. cap_max_accuflow - 1" access="RW" offset="0x44.0" size="0x0.16" />
	<field name="sadb_entry_index_base" descr="SADB entry index base\;Range 0.. cap_sadb_entries - 1" access="RW" offset="0x44.16" size="0x0.16" />
</node>

<node name="mocs_utcc_ext" descr="" size="0x48.0" >
	<field name="port_mask" descr="Local port .\;Each bit represents a local port" access="RW" high_bound="15" low_bound="0" offset="0x0.0" size="0x40.0" />
	<field name="side" descr="Bit 0: Host\;Bit 1: Line" access="RW" offset="0x40.0" size="0x0.4" />
	<field name="num_rec" descr="Number of records to read\;Range: 1.. cap_max_accuflow - 1" access="RW" offset="0x44.0" size="0x0.8" />
	<field name="utcam_counter_idx_base" descr="Utcam counter index base.\;Range 1.. cap_utcam_counters-1" access="RW" offset="0x44.8" size="0x0.8" />
</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="module_latched_flag_info_ext" descr="" size="0xf8.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 cdr 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" />
</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 - 1\;Default value is 0." access="RW" offset="0x4.0" size="0x0.4" />
</node>

<node name="mofph_ext" descr="" size="0x1c.0" >
	<field name="type" descr="Hash type\;0: CRC (default)\;1: XOR \;2: Random" access="RW" 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.\;When Seed by HW is set, HW generate new seed every 1uSec.\;When seed by SW is set, the field seed_by_sw is calculate in the hash function." access="RW" 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\;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)\;32: no tcp udp ports (take four bytes after ip header, first 2 bytes for source port, second 2 bytes for dest ports)\;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 sip40: if packet is vxlan/geneve/gpe, mask all next headers after UDP\;51: if packet is vxlan/geneve/gpe, mask all header after vxlan/geneve/gpe\;52: ingress port\;53: if packet is nvgre - mask all next headers after nvgre" subnode="uint64" access="RW" offset="0xC.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="0x14.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="0x18.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\;On Response: Number of valid records \;0 .. cap_max_flow_estimator_bins - 1\;num_reg must be 4 byte aligned." access="RW" offset="0x0.0" size="0x0.11" />
	<field name="clear" descr="clear:\;0: do clear the bins\;1: clear the bins" access="RW" 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 835\;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.\;Reserved when IB switches and when SwitchX/-2, Spectrum-2" 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.\;Reserved when IB switches and when SwitchX/-2, Spectrum-2" 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 Switch-IB/2, Quantum, \;Spectrum-2 TBD" 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 SwitchX/-2, Switch-IB/2, Spectrum and Quantum/-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 716, &quot;ERSPAN Mirror Header TLV LATENCY Frame Layout,&quot; on page 878\;Reserved when Spectrum" 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 1881\;Reserved when Spectrum\;" access="RW" offset="0x18.0" size="0x0.16" />
	<field name="toc_fmt" descr="Timestamp over CRC format:\;0: Free_Running_Clock\;1: UTC" access="RW" enum="Free_Running_Clock=0x0,UTC=0x1" offset="0x1C.24" 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="Type:\;0x20: WRED, egress, no CPU port\;0x31: SHARED_BUFFER_TClass, egress\;0x32: Shared-buffer-TClass-descriptors, egress [advanced]\;\;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\;See Section 676, &quot;Mirror triggers&quot;, on page 847" access="INDEX" 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="mopce_ext" descr="" size="0x4d0.0" >
	<field name="num_rec" descr="On Query: Number of records to read\;On Response: Number of valid records \;0 .. cap_max_perf_cnt_records" access="RW" offset="0x0.0" size="0x0.7" />
	<field name="performance_counter_info" descr="Table 844, &quot;Performance Counters Info Register Layout,&quot; on page 1008" subnode="performance_counter_info_ext" access="RO" high_bound="75" low_bound="0" offset="0x10.0" size="0x4c0.0" />
</node>

<node name="mpagr_ext" descr="" size="0xc.0" >
	<field name="trigger" descr="Mirror trigger \;See Table 676, &quot;Mirror triggers,&quot; on page 847\;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 \;Valid values are: 1 to 3.5*10^9\;Value of 1 means &quot;sample all&quot;\;Default 1\;Note: high values are round by HW to: 10^9 * {4.3, 2.15, 1.43, 1.08, 0.86, 0.72, 0.61, 0.54}." 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 676, &quot;Mirror triggers,&quot; on page 847\;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 SwitchX/-2 and Spectrum family:\;- Supported from CPU port\;For Switch-IB/2, 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 when 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 \;Valid values are: 1 to 4.3*10^9\;Values of 0 behaves like 1\;Default 1\;Note: high values are round by HW to: 10^9 * {4.3, 2.15, 1.43, 1.08, 0.86, 0.72, 0.61, 0.54}. \;Reserved when SwitchX/-2, Switch-IB/2 and Spectrum\;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\;TBD: Reserved when qos is QoS maintain" 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. Reserved when SwitchX/-2\;2: V2 - Mirror Header Version 2. Reserved when SwitchX/-2 and for Spectrum\;\;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\;Reserved when SwitchX/-2" 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: Switch Priority\;Reserved when qos is QoS maintain" 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.40, &quot;SVER - Switch VLAN EtherType Register&quot;, on page 1278\;Reserved when SwitchX/-2" 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" offset="0x0.16" size="0x0.2" />
	<field name="version" descr="ERSPAN mirror header version.\;\;1: V1 - Mirror Header Version 1. Reserved when SwitchX/-2\;2: V2 - Mirror Header Version 2. Reserved when SwitchX/-2 and for Spectrum\;\;15: NO_HEADER - No Mirror header" access="RW" 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\;Reserved when SwitchX/-2" 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: Switch Priority\;Reserved when qos is QoS maintain" 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.40, &quot;SVER - Switch VLAN EtherType Register&quot;, on page 1278\;Reserved when SwitchX/-2" 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\;Reserved when SwitchX/-2" 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: Switch Priority\;Reserved when qos is QoS maintain" 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.40, &quot;SVER - Switch VLAN EtherType Register&quot;, on page 1278\;Reserved when SwitchX/-2" 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_rmtethvlan_ext" descr="" subnode="mpat_encap_rmtethvlan_ext" offset="0x0.0" selected_by="REMOTE_ETH" size="0x10.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_localib_ext" descr="" subnode="mpat_encap_localib_ext" offset="0x0.0" selected_by="LOCAL_IB" 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" />
	<field name="mpat_encap_remoteib_ext" descr="" subnode="mpat_encap_remoteib_ext" offset="0x0.0" selected_by="REMOTE_IB_GLOBAL_UD" size="0x4c.0" />
</node>

<node name="mpat_reg_ext" descr="" size="0x7c.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 SwitchX/-2, Switch-IB/2 and Spectrum: CPU port is not supported\;For Quantum/-2: CPU port is supported\;For 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" 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 437." 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 SwitchX/-2, Switch-IB/2 and Spectrum" 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" access="INDEX" offset="0x0.28" size="0x0.4" />
	<field name="span_type" descr="See Table 759, &quot;Span Types,&quot; on page 937\;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="stclass" descr="Stacking TClass. TClass to be used if the packet is transmitted on a stacking port to be transmitted on a port in a different device.\;Reserved from Switch-IB/2, Quantum and Spectrum" access="RW" offset="0x4.13" size="0x0.3" />
	<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\;For SwitchX/-2: this field is reserved.\;" 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: For SwitchX/-2 and Switch-IB/2 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 Switch-IB/2 and Spectrum-1: minimum value is 32B\;For Quantum and Spectrum-2/3: minimum value is 48B\;For Spectrum-4: minimum value is 64B. \;For Switch-IB/2, all port analyzers must have the same truncation size.\;For SwitchX/-2, this value is set to 64 bytes and can not be changed in current FW version. For more details, contact NVIDIA Support.\;Reserved when span_type is LOCALIB\;Reserved when MPAT.itc = 1" access="RW" offset="0x8.0" size="0x0.13" />
	<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 954, &quot;ITPR - Infrastructure Truncation Profile Register Fields,&quot; on page 1107" 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.14.7, &quot;QPCR - QoS Policer Configuration Register&quot;, on page 2475\;Note: the policer takes packet length prior to truncation. The policer must have color_aware=not, type=srDCM, violate_action=discard.\;Reserved when SwitchX/-2, Switch-IB/2, Spectrum 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.7.6, &quot;Policer&quot;, on page 2232\;Note: for mirror to CPU: MPAT.pid is enabled then the trap-group-policer will not police\;Reserved when SwitchX/-2, Switch-IB/2, Spectrum 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 760, &quot;Local SPAN Layout,&quot; on page 939.\;Table 762, &quot;Remote SPAN Ethernet VLAN Layout,&quot; on page 940.\;Table 764, &quot;Encapsulated Remote SPAN Ethernet L2 Layout,&quot; on page 941.\;Table 766, &quot;Encapsulated Remote SPAN Ethernet L3 Layout,&quot; on page 943.\;Table 768, &quot;Local SPAN InfiniBand Layout,&quot; on page 946.\;Table 770, &quot;Remote SPAN InfiniBand Local UD Layout,&quot; on page 947.\;Table 772, &quot;Remote SPAN InfiniBand Global UD Layout,&quot; on page 949." 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\;Not supported when SwitchX/-2, Switch-IB and Quantum" 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\;Not supported when SwitchX/-2, Switch-IB and Quantum" 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\;Not supported for SwitchX/2 and Switch-IB and Quantum" 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\;Not supported for SwitchX/2 and Switch-IB and Quantum" access="RO" offset="0x6C.0" size="0x4.0" />
	<field name="pc" descr="Pad Count\;0: No_padding\;1: 2Bytes_padding\;\;Supported from Spectrum-4 and above." access="RW" offset="0x78.0" size="0x0.2" />
</node>

<node name="mpcir_ext" descr="" size="0x10.0" >
	<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 - Reserved" 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." 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." 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." 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." 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." 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." 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." 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." access="OP" offset="0x4.16" 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)." 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)." 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)." 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)." 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)." 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)." 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)." 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)." access="RO" offset="0xC.16" size="0x0.2" />
</node>

<node name="mpcnt_reg_counter_set_auto_ext" descr="" attr_is_union="1" 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" />
</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" access="INDEX" enum="PCIE_performance_counters=0x0,PCIE_physical_layer_indications=0x3" 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="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 314, &quot;PCIe Performance Counters Data Layout,&quot; on page 549" subnode="mpcnt_reg_counter_set_auto_ext" access="RO" offset="0x8.0" size="0xf8.0" union_selector="$(parent).grp" />
</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="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="mpegc_reg_ext" descr="" size="0x2c.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" 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="field_select" descr="Field select indicated which writable fields to modify.\;Bit 0: tx_lossy_overflow_oper\;Bit 1 : outbound_stalled_reads_th\;Bit 2 :outbound_stalled_writes_th\;Bit 3 : tx_overflow_sense\;Bit 4 : mark_tx_action_cqe\;Bit 5 : mark_tx_action_cnp\;Bit 6: virtual_hot_plug_unplug (supported only for internal host)" access="WO" offset="0x4.0" size="0x0.16" />
	<field name="tx_lossy_overflow_oper" descr="When overflow encountered for lossy packets, it will be dropped or marked and will be counted in &quot;tx_overflow_buffer_dropped_pkt&quot; or &quot;tx_overflow_buffer_marked_pkt&quot; counter.\;00 - Disabled\;01 - drop - overflow traffic will be dropped.  \;10 - mark - overflow traffic will be marked in the CE field in the CqE.  Supported only when MCAM.mark_tx_action_cqe or MCAM.mark_tx_action_cnp are &apos;1&apos;. \;" access="RW" offset="0x8.0" size="0x0.2" />
	<field name="mark_cnp" descr="When this bit is set, the marking action will be generating a CNP for RoCE traffic. Supported only when MCAM.mark_tx_action_cnp is &apos;1&apos;." access="RW" offset="0x8.29" size="0x0.1" />
	<field name="mark_cqe" descr="When this bit is set, the marking action will be set in the CqE for TCP traffic. Supported only when MCAM.mark_tx_action_cqe is &apos;1&apos;." access="RW" offset="0x8.30" size="0x0.1" />
	<field name="tx_overflow_sense" descr="Set the sensibility level of the tx overflow mechanism. \;0 - Aggressive 1 - Dynamic adjustment. When tx_lossy_overflow_oper is disabled, tx_overflow_sense must be disabled. Supported only when MCAM.dynamic_tx_oveflow is &apos;1&apos;." access="RW" offset="0x8.31" size="0x0.1" />
	<field name="outbound_stalled_writes_th" descr="Each time that the counter outbound_stalled_writes will exceed this threshold, will be counted in the counter outbound_stalled_writes_events - range 0   100." access="RW" offset="0xC.0" size="0x0.7" />
	<field name="outbound_stalled_reads_th" descr="Each time that the counter outbound_stalled_reads will exceed this threshold, will be counted in the counter outbound_stalled_reads_events - range 0   100." access="RW" offset="0xC.8" size="0x0.7" />
	<field name="operation" descr="Operation to perform\;0: Idle - no operation required (default)\;1: Emulate hot removal\;2: Emulate hot insertion\;3-15: Reserved" access="RW" offset="0x10.16" size="0x0.4" />
	<field name="status" descr="Operation completion status\;0: Operation in process\;1: Unplugged\;2: Plugged\;3: Warning - disconnecting an already disconnected bus cannot be performed\;4: Warning - connecting an already connected bus cannot be performed\;5: Error - unknown bus number or no device installed on selected bus" access="RO" offset="0x10.24" size="0x0.8" />
</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="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)" access="RO" offset="0x8.0" size="0x0.16" />
	<field name="link_width_enabled" descr="Maximum Link Width enabled:\;0: 1x\;1: 2x\;2: 4x\;3: 8x\;4: 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)" access="RO" offset="0xC.0" size="0x0.16" />
	<field name="link_width_active" descr="Negotiated Link Width, pcie_link_width active:\;0 - 1x\;1 - 2x\;2 - 4x\;3 - 8x\;4 - 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="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)" access="RO" offset="0x1C.16" size="0x0.16" />
	<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="mpeinj_reg_ext" descr="" size="0x20.0" >
	<field name="error_type" descr="Error type selector.\;See at Table 334, &quot;MPEINJ error list and params,&quot; on page 568 for error_index." access="RW" offset="0x0.0" size="0x0.8" />
	<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="error_duration" descr="Depending on the error type, can be either -    \;Number of packets or number of usecs to apply the error according to Table 334, &quot;MPEINJ error list and params,&quot; on page 568.\;For Read access, the current value is returned (how many errors/time are left to be executed), or 0 if no error is pending injection" access="RW" offset="0x4.0" size="0x0.24" />
	<field name="start_delay" descr="Delay in usecs before the error is applied.\;For Read access, the current value of this timer is returned." access="RW" offset="0x8.0" size="0x0.24" />
	<field name="dest_bdf" descr="Destination BDF for applicable errors   ." access="RW" offset="0xC.0" size="0x0.16" />
	<field name="error_params_0" descr="Error specific parameters according to Table 334, &quot;MPEINJ error list and params,&quot; on page 568." access="RW" offset="0x10.0" size="0x4.0" />
	<field name="error_params_1" descr="Error specific parameters according to Table 334, &quot;MPEINJ error list and params,&quot; on page 568." access="RW" offset="0x14.0" size="0x4.0" />
	<field name="error_params_2" descr="Error specific parameters according to Table 334, &quot;MPEINJ error list and params,&quot; on page 568." access="RW" offset="0x18.0" size="0x4.0" />
	<field name="error_params_3" descr="Error specific parameters according to Table 334, &quot;MPEINJ error list and params,&quot; on page 568." access="RW" offset="0x1C.0" size="0x4.0" />
</node>

<node name="mpelem_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 LER or LSR that implements PHP and decapsulates the MPLS header" access="RW" offset="0x4.8" size="0x0.2" />
	<field name="ip_ecn" descr="IP ECN\;ECN field of the IP header of the packet that has entered the Egress LER or LSR that implements PHP and decapsulates the MPLS header" access="INDEX" offset="0x4.16" size="0x0.2" />
	<field name="mpls_ecn" descr="MPLS ECN\;ECN field of the MPLS header of the packet that has entered the Egress LER or LSR that implements PHP and decapsulates the MPLS header" 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 505" access="RW" offset="0x8.28" size="0x0.4" />
</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 2744, &quot;exp&lt;i&gt; Layout&quot;, on page 2867" access="RW" high_bound="7" low_bound="0" offset="0x4.16" size="0x10.0" />
</node>

<node name="mpfm_ext" descr="" size="0x8.0" >
	<field name="mode" descr="PCIe Failure Mode.\;0 - normal. PCIe failure causes SwitchX reset.\;1 - independent. PCIe failure does not cause SwitchX reset." access="RW" offset="0x0.0" size="0x0.4" />
</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 2847" 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 2845" access="RW" offset="0x20.0" size="0x0.1" />
</node>

<node name="mpgo_reg_ext" descr="" size="0x14.0" >
	<field name="set_pd" descr="Set pulse duration" access="WO" offset="0x0.0" size="0x0.1" />
	<field name="next_pulse_time_stamp" descr="Next Pulse Time Stamp\;Start time of next trigger\;Units are device time units" subnode="uint64" access="RW" offset="0x8.0" size="0x8.0" />
	<field name="pulse_duration" descr="Pulse Duration\;Units are mSec\;Default is 100\;Set only when set_pd = &apos;1&apos;" access="RW" offset="0x10.0" size="0x0.10" />
</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\;The valid range is:\;Spectrum: 1-64, 512, 1024, 2048 and 4096.\;Spectrum-2: 1-128, 256, 512, 1024, 2048 and 4096." 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)\;The valid range is:\;Spectrum: 1-64, 512, 1024, 2048 and 4096.\;Spectrum-2: 1-128, 256, 512, 1024, 2048 and 4096." 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 835\;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 836\;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="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="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="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). \;The valid range is:\;Spectrum: 1-64, 512, 1024, 2048 and 4096.\;Spectrum-2: 1-128, 256, 512, 1024, 2048 and 4096." 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 2838" 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.4.1.2, &quot;KVD Central Database Linear Entries&quot; (page 3200)" 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 835\;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 836\;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 2726, &quot;Parameters - Forward to Ethernet Layout,&quot; on page 2847\;Table 2728, &quot;Parameters - Forward to IP Router Layout,&quot; on page 2851\;Table 2730, &quot;Parameters - Continue Lookups Layout,&quot; on page 2854\;Table 2732, &quot;Parameters - Next NHLFE Layout,&quot; on page 2858\;" 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="0x2c.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 2867." 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.11.20, &quot;RDPM - Router DSCP to Priority Mapping Register&quot;, on page 2698\;" 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" />
</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 2867.\;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.11.20, &quot;RDPM - Router DSCP to Priority Mapping Register&quot;, on page 2698\;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 2867.\;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.11.20, &quot;RDPM - Router DSCP to Priority Mapping Register&quot;, on page 2698\;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.4.1.2, &quot;KVD Central Database Linear Entries&quot;, on page 3200" 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 835\;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 836\;Not supported by SwitchX and SwitchX-2" access="WO" offset="0x10.24" size="0x0.8" />
	<field name="record" descr="Record\;See Table 2738, &quot;MPNHLFEB - Record Layout,&quot; on page 2865" 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 2726, &quot;Parameters - Forward to Ethernet Layout,&quot; on page 2847\;Table 2728, &quot;Parameters - Forward to IP Router Layout,&quot; on page 2851\;Table 2730, &quot;Parameters - Continue Lookups Layout,&quot; on page 2854\;Table 2732, &quot;Parameters - Next NHLFE Layout,&quot; on page 2858" 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="0x2c.0" />
</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="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\;Value must be larger than 0\;The device will parse no deeper than cap_max_parsing_depth\;Reserved when SwitchX/-2\;\;" 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." 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 1714, &quot;ACL Key Elements - L4 Group,&quot; on page 2009\;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\;Reserved when SwitchX/-2 also reserved when Spectrum-2 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" 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" 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 1932\;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 1893\;For Switch-IB/2 this is a global configuration, affecting all local_ports\;Reserved when Spectrum/-2/-3" 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="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="public_key" descr="Public-key value, per the specific algorithm." 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="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 (switch soft reset)\;\;6: reset_at_pci_disable - reset will be done at PCI_DISABLE\;See MCAM bit48\;\;For Retimer: only command = 1 is supported." access="WO" offset="0x0.0" size="0x0.4" />
</node>

<node name="mrtc_reg_ext" descr="" size="0x10.0" >
	<field name="time_synced" descr="If set, the time returned in time_l/time_h is the number of microseconds passed since 1/1/1970. \;otherwise, the time_l/time_h measures the time since the NIC boot." access="RO" offset="0x0.31" size="0x0.1" />
	<field name="time_h" descr="MSB of timestemp depnding on time_synced" access="RW" offset="0x8.0" size="0x4.0" />
	<field name="time_l" descr="LSB of timestemp depnding on time_synced" access="RW" offset="0xC.0" size="0x4.0" />
</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="msgi_ext" descr="" size="0x80.0" >
	<field name="serial_number" descr="System serial number (ASCII string)" access="RO" high_bound="5" low_bound="0" offset="0x0.0" size="0x18.0" />
	<field name="part_number" descr="System 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="mspmer_ext" descr="" size="0x8.0" >
	<field name="clr" descr="Clear all counters" access="RO" offset="0x0.0" size="0x0.1" />
	<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="0x4.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="0x4.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="0x4.8" size="0x0.4" />
</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_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 532, &quot;Hardware Info Layout,&quot; on page 747" access="RW" high_bound="31" low_bound="0" offset="0x8.0" size="0x80.0" />
</node>

<node name="mtbr_reg_ext" descr="" size="0x18.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="num_rec" descr="Number of records to read\;Range 1..255" access="OP" offset="0x4.0" size="0x0.8" />
	<field name="temperature_record" descr="Temperature record\;See Table 476, &quot;MTBR - Temperature Record Layout,&quot; on page 704" subnode="mtbr_temp_record_ext" access="RO" high_bound="1" low_bound="0" offset="0x10.0" size="0x8.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.\;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.\;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. QSFP module sensors are not included." 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." access="RO" offset="0x4.0" size="0x0.7" />
	<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\;1: RMDT\;\;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, ETH / IBg2 - TBD.\;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" />
</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." 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.\;" 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." 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="mtewe_ext" descr="" size="0x5c.0" >
	<field name="sensor_count" descr="Number of sensors supported by the device\;This includes the ASIC, ambient sensors, Gearboxes etc. QSFP module sensors are not included." 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="mtmp_ext" descr="" size="0x20.0" >
	<field name="sensor_index" descr="Sensors index to access.\;\;64-127 of sensor_index are mapped to the SFP+/QSFP modules sequentially (module 0 is mapped to sensor_index 64, module 1 to sensor_index 65 and so on). Gearbox sensors are from index 256 (Gearbox 0 is mapped to sensor_index 256 and so on)" 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="temperature" descr="Temperature reading from the sensor. \;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 measured temperature from the sensor.\;When the bit mte is cleared, the field max_temperature is reserved." access="RO" offset="0x8.0" size="0x0.16" />
	<field name="sdme" descr="Shut Down Events Modify Enable - when set along with sdee set to receiving thermal shut down events, all other fields of the register are neglected and should not be set." access="OP" offset="0x8.28" size="0x0.1" />
	<field name="weme" descr="Warning Events Modify Enable - when set along with tee set to receiving warning events, all other fields of the register are neglected and should not be set." access="OP" offset="0x8.29" size="0x0.1" />
	<field name="mtr" descr="Max Temperature Reset - clears the value of the max temperature register" access="OP" offset="0x8.30" size="0x0.1" />
	<field name="mte" descr="Max Temperature Enable - 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. 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.\;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\;\;Supported in downstream devices (devices on slots)." access="RW" offset="0xC.28" size="0x0.2" />
	<field name="tee" descr="Temperature Event Enable (MTEWE Register)\;0: do_not_generate_event\;1: generate_event\;2: generate_single_event\;\;Note - Events may be delayed by up to 60 Seconds from &quot;generate event&quot; or &quot;generate single event&quot;\;Supported Only for switch devices. For HCA devices, SW should register Temperature Warning Event to an EQ." 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_hi refers to the low threshold of Warning Event. 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" 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="num_domains" descr="Number of valid domains for match:\;0: ignore domain field (&quot;always match&quot;)\;1: Match only if domain[0] has a match\;2: Match only if domain[0] or [1] have a match\;etc.\;Range 0..cap_max_ptp_domains" access="RW" offset="0x20.0" size="0x0.8" />
	<field name="domain" descr="domain for matching\;" access="RW" high_bound="3" low_bound="0" offset="0x24.24" size="0x4.0" />
</node>

<node name="mtpppc_ext" descr="" size="0x10.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. \;\;\;For Spectrum-1 the device clock frequency is 6.4nSec" 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 862, &quot;MTPPTR - Record Layout,&quot; on page 1022" subnode="array128_auto" access="RW" high_bound="3" low_bound="0" offset="0x10.0" size="0x40.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.16.4, &quot;MTPCPC - Monitoring Time Precision Correction Port Configuration&quot;, on page 1025\;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 - Reserved when Quantum\;2: PTP2ME - Reserved when Spectrum/-2" 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.16.1, &quot;MTPPPC - Monitoring Time Precision Packet Port Configuration&quot;, on page 1019\;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" access="RO" offset="0x0.24" size="0x0.2" />
	<field name="trace_to_memory" descr="When set the device supports logging traces to memory" 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="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\;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." 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="arm_event" descr="When set, an event will be generated if new Tracer events were logged since last event." 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" high_bound="VARIABLE" low_bound="0" offset="0x8.0" size="0x4.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\;3: ADJUST_FREQ_UTC - [Internal]: Aug-2022: Switch FW implementation due to historical reasons update both UTC and FRC\;4: ADJUST_FREQ_FRC - Free Running Clock (DWIP and Switch only)\;5: ADJUST_FREQ_BOTH - (DWIP and Switch only)" access="OP" enum="SET_TIME_AT_NEXT_SEC=0x0,ADJUST_TIME=0x2,ADJUST_FREQ_UTC=0x3,ADJUST_FREQ_FRC=0x4,ADJUST_FREQ_BOTH=0x5" offset="0x0.0" size="0x0.4" />
	<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="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 part per billion, but with a 16 bit binary fractional field.\;Updated when operation is ADJUST_FREQ" access="RW" 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. \;Range is according to log_max_freq_adjustment. field.\;Updated when operation is ADJUST_FREQ\;For Spectrum-2 the FW sets the nominator and denominator of the free_running" 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 adjustment\;Units of nSec\;Range is from -32768 to 32768. \;If MCAM.time_adjust_range_extended==1, range is from -200,000 to +200,000.\;Updated when operation is ADJUST_TIME.\;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_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/-2, this points to an entry in the KVD Linear, see Appendix A.5.1, &quot;KVD Central Database&quot; (page 3207)" 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: 1-128, 256, 512, 1024, 2048 and 4096\;" access="RW" offset="0xC.0" size="0x0.13" />
</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.\;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" />
</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)\;- 64..127 are mapped to modules by 1:1 e.g. module 1 is index 65" access="INDEX" 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="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." access="RO" offset="0x8.0" 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_nhlfe_ext" descr="" size="0x2c.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). \;The valid range is:\;Spectrum: 1-64, 512, 1024, 2048 and 4096.\;Spectrum-2: 1-128, 256, 512, 1024, 2048 and 4096." 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.\;See Table 1691, &quot;ACL Types,&quot; on page 1947 for the supported ACL types.\;Reserved when Spectrum\;Supported by Spectrum-2" 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 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).\;See tables: \;\;" subnode="array128_auto" access="RW" high_bound="3" low_bound="0" offset="0x30.0" size="0x40.0" />
</node>

<node name="pagt_ext" descr="" size="0x70.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 in Spectrum/-2\;" 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 2219, &quot;ACL ID Record Layout,&quot; on page 2354" subnode="acl_id_record_ext" access="RW" high_bound="15" low_bound="0" offset="0x30.0" size="0x40.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="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\;\;\;" 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:\;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="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="lock_mode" descr="When port is forced down, indicates the lock mode of the port.\;\;Bit 0: Force_down_by_fuse\;Bit 1: Force_down_by_hard_wire\;Bit 2: Force_down_by_config_at_init\;Bit 3: Locked_after_down\;\;Note - value of 0x0 indicates not locked" access="RO" enum="Force_down_by_fuse=0x1,Force_down_by_hard_wire=0x2,Force_down_by_config_at_init=0x4,Locked_after_down=0x8" offset="0x4.24" size="0x0.4" />
	<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" />
</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\;" 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 haeadroom pool parameters. Using the same layout as in BufferX, for details see Table 1587, &quot;bufferX Register Layout,&quot; on page 1837.\;Not supported in SwitchX and SwitchX-2\;Not supported in HCA (See PCAM shp_pbmc_pbsr_support bit)." subnode="uint64" 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, for details see Table 1587, &quot;bufferX Register Layout,&quot; on page 1837.\;Not supported in SwitchX and SwitchX-2\;Valid for HCA when pbmc_port_shared_buffer is set in PCAM." subnode="uint64" 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 PMLP): \;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 1608, &quot;stat_bufferX Register Layout,&quot; on page 1852.\;Not supported in SwitchX and SwitchX-2\;Not supported in HCA (See PCAM shp_pbmc_pbsr_support bit)." subnode="stat_bufferx_reg_ext" access="RO" offset="0x5C.0" size="0x8.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\;Values 1-255 are Reserved" access="INDEX" offset="0x0.0" size="0x0.8" />
	<field name="feature_group" descr="Feature list mask index: \;0: enhanced_features \;Values 1 - 255 are Reserved" access="INDEX" enum="enhanced_features=0x0" 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="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\;" 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" high_bound="3" low_bound="0" offset="0x28.0" size="0x10.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" />
</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="entropy_gre_calc_cap" descr="Specifies the egress GRE tunnel protocol entropy calculation enable/disable capabilities of the local port. \;A bit set to 1 for affirmation of supported enable/disable capability:" access="RO" offset="0x4.29" size="0x0.1" />
	<field name="entropy_calc_cap" descr="Specifies the egress tunnel protocol entropy calculation enable/disable capabilities of the local port. \;A bit set to 1 for affirmation of supported enable/disable capability:" access="RO" offset="0x4.30" size="0x0.1" />
	<field name="force_entropy_cap" descr="Specifies the egress tunnel protocol entropy calculation force capabilities of the local port. \;A bit set to 1 for affirmation of supported enable/disable capability:" access="RO" offset="0x4.31" 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 filed is changed while traffic is passing then some packets may be dropped due to incorrect FCS.\;2. Default value is (1) - TS over FCS" 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." 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" access="RW" offset="0x8.16" size="0x0.1" />
	<field name="entropy_gre_calc" descr="0: DISABLE - entropy calculation is disabled for GRE tunneling protocol.\;1: ENABLE - entropy calculation is enabled for GRE tunneling protocol, if entropy_calc is enabled as well. valid only if force_entropy is activated." access="RW" offset="0x8.29" size="0x0.1" />
	<field name="entropy_calc" descr="0: DISABLE - entropy calculation is disabled for all supported tunneling protocols.\;1: ENABLE - entropy calculation is enabled for all supported tunneling protocols. GRE also depends on the entropy_gre_calc valid only if force_entropy is activated." access="RW" offset="0x8.30" size="0x0.1" />
	<field name="force_entropy" descr="0: DEFAULT - use device defaults for tunnel entropy calculation. This mode should be used if entropy calculation requirement is unknown.\;1: FORCE - force the entropy calculation according to entropy_calc and entropy_gre_calc." access="RW" offset="0x8.31" 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 register can be set only when port operational status is UP (PAOS.oper_status=0x1) \;\;" access="WO" offset="0x0.0" 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="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" />
</node>

<node name="pddr_c2p_link_enabed_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_enabed_ib_ext" descr="" size="0x4.0" >
	<field name="core_to_phy_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" 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_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_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_module_info_ext" descr="" size="0xf8.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)\;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):\;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):\;Byte 212" access="RW" 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\;\;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\;4: Cable_unplugged\;5: Twisted_pair\;" access="RO" enum="Unidentified=0x0,Active_cable=0x1,Optical_Module=0x2,Passive_copper_cable=0x3,Cable_unplugged=0x4,Twisted_pair=0x5" 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)\;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="Internally measured supply voltage in 100uV" access="RO" offset="0x4C.00" size="0x0.16" />
	<field name="temperature" descr="module temperature in 1/256 C" 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 1 in 2uA" access="RO" offset="0x70.0" size="0x0.16" />
	<field name="tx_bias_lane0" descr="TX measured bias current on channel 0 in 2uA" access="RO" offset="0x70.16" size="0x0.16" />
	<field name="tx_bias_lane3" descr="TX measured bias current on channel 3 in 2uA" access="RO" offset="0x74.0" size="0x0.16" />
	<field name="tx_bias_lane2" descr="TX measured bias current on channel 2 in 2uA" access="RO" offset="0x74.16" size="0x0.16" />
	<field name="tx_bias_lane5" descr="TX measured bias current on channel 5 in 2uA" access="RO" offset="0x78.0" size="0x0.16" />
	<field name="tx_bias_lane4" descr="TX measured bias current on channel 4 in 2uA" access="RO" offset="0x78.16" size="0x0.16" />
	<field name="tx_bias_lane7" descr="TX measured bias current on channel 7 in 2uA" access="RO" offset="0x7C.0" size="0x0.16" />
	<field name="tx_bias_lane6" descr="TX measured bias current on channel 6 in 2uA" 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." access="RO" offset="0x90.0" size="0x0.16" />
	<field name="tx_bias_high_th" descr="Alarm high TX Bias current threshold in 2 uA." 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." access="RO" offset="0x98.0" size="0x0.8" />
	<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_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="0xA0.0" size="0x0.4" />
	<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="0xA0.4" 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="0xA0.8" 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="0xA0.12" 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="0xA0.16" 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="0xA0.20" 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="0xA0.24" 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" enum="DPDeactivated=0x1,DPInit=0x2,DPDeinit=0x3,DPActivated=0x4,DPTxTurnOn=0x5,DPTxTurnOff=0x6,DPInitialized=0x7" offset="0xA0.28" size="0x0.4" />
	<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="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="error_code" descr="Relevant for CMIS modules only\;Error Code response for ConrolSet configuration of DataPath.\;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="0xC0.0" size="0x0.4" />
	<field name="max_fiber_length" descr="Maximum length of allowed fiber in meters" access="RO" offset="0xC0.16" size="0x0.16" />
</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 - AN failure \;5,6,7,8 - Link training failure. \;9,10,11,12,13 - Logical mismatch between link partners\;14,58 - 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\;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\;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\;\;Core/Driver (2048 - 3071):" 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_ib_ext" descr="" subnode="pddr_cable_cap_ib_ext" offset="0x0.0" size="0x4.0" />
	<field name="pddr_cable_cap_eth_ext" descr="" subnode="pddr_cable_cap_eth_ext" offset="0x0.0" 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_enabed_ib_ext" descr="" subnode="pddr_c2p_link_enabed_ib_ext" offset="0x0.0" size="0x4.0" />
	<field name="pddr_c2p_link_enabed_eth_ext" descr="" subnode="pddr_c2p_link_enabed_eth_ext" offset="0x0.0" size="0x4.0" />
</node>

<node name="pddr_operation_info_page_ext" descr="" size="0xf8.0" >
	<field name="proto_active" descr="Active protocol:\;Bit 0: InfiniBand\;Bit 2: Ethernet" access="RO" offset="0x0.20" size="0x0.4" />
	<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_or_Linkup\;4: Close_port\;5: Phy_up\;7: Rx_disable" access="RO" enum="Disabled=0x0,Open_port=0x1,Polling=0x2,Active_or_Linkup=0x3,Close_port=0x4,Phy_up=0x5,Rx_disable=0x7" offset="0x4.24" size="0x0.8" />
	<field name="phy_manager_link_enabled" descr="For IB: Table 1398, &quot;PDDR - Phy manager link enabled IB layout,&quot; on page 1629\;For Ethernet: Table 1400, &quot;PDDR - Phy manager link enabled Eth layout,&quot; on page 1629\;" subnode="pddr_operation_info_page_phy_manager_link_enabled_auto_ext" access="RO" offset="0x8.0" size="0x4.0" />
	<field name="core_to_phy_link_enabled" descr="For IB: Table 1402, &quot;PDDR - core2phy link enabled IB layout,&quot; on page 1630\;For Ethernet: Table 1404, &quot;PDDR - Core2Phy link enabled Eth layout,&quot; on page 1631" subnode="pddr_operation_info_page_core_to_phy_link_enabled_auto_ext" access="RO" offset="0xC.0" size="0x4.0" />
	<field name="cable_proto_cap" descr="For IB: Table 1406, &quot;PDDR - cable cap IB layout,&quot; on page 1632\;For Ethernet: Table 1408, &quot;PDDR - cable cap Eth layout,&quot; on page 1633\;" subnode="pddr_operation_info_page_cable_proto_cap_auto_ext" access="RO" offset="0x10.0" size="0x4.0" />
	<field name="link_active" descr="For IB: Table 1410, &quot;PDDR - Link Active IB layout,&quot; on page 1634\;For Ethernet: Table 1412, &quot;PDDR - Link Active Eth layout,&quot; on page 1634" subnode="pddr_operation_info_page_link_active_auto_ext" access="RO" offset="0x14.0" size="0x4.0" />
	<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="fec_mode_request" descr="FEC mode request\;See fec_mode_active\;for supported retransmission mode see PPLM.fec_mode_capability" 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)\;6: Interleaved_Standard_RS-FEC - (544,514)\;7: Standard_RS-FEC - (544,514)\;9: Ethernet_Consortium_LL_50G_RS_FEC- (272,257+1)\;10: Interleaved_Ethernet_Consortium_LL_50G_RS_FEC - (272,257+1)\;For supported retransmission mode see PPLM.fec_mode_capability" access="RO" enum="No_FEC=0x0,Firecode_FEC=0x1,Standard_RS_FEC=0x2,Standard_LL_RS_FEC=0x3,Interleaved_Standard_RS=0x6,Standard_RS=0x7,Ethernet_Consortium_LL_50G_RS_FEC=0x9,Interleaved_Ethernet_Consortium_LL_50G_RS_FEC=0xa" 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\;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\;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="rtt_measure_valid" descr="when set, indicates the Round Trip Time measurement stated rtt_measured field is valid" access="RO" offset="0x20.8" size="0x0.1" />
	<field name="rtt_measured" descr="Valid only when rtt_measure_valid is set.\;Round Trip Time measurement in 1nS resolution." access="RO" offset="0x38.0" size="0x4.0" />
</node>

<node name="pddr_operation_info_page_link_active_auto_ext" descr="" attr_is_union="1" size="0x4.0" >
	<field name="pddr_link_active_ib_ext" descr="" subnode="pddr_link_active_ib_ext" offset="0x0.0" size="0x4.0" />
	<field name="pddr_link_active_eth_ext" descr="" subnode="pddr_link_active_eth_ext" offset="0x0.0" 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_enabed_ib_ext" descr="" subnode="pddr_phy_manager_link_enabed_ib_ext" offset="0x0.0" size="0x4.0" />
	<field name="pddr_phy_manager_link_enabed_eth_ext" descr="" subnode="pddr_phy_manager_link_enabed_eth_ext" offset="0x0.0" size="0x4.0" />
</node>

<node name="pddr_phy_manager_link_enabed_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_enabed_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_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="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: Operational_info_page\;1: Troubleshooting_info_page\;3: Module_info_page\;9: Module_latched_flag_info_page" access="INDEX" enum="Operational_info_page=0x0,Troubleshooting_info_page=0x1,Module_info_page=0x3,Module_latched_flag_info_page=0x9" offset="0x4.0" size="0x0.8" />
	<field name="module_info_ext" descr="Module info extended configurations.\;resolution for rx_power and tx_power in module info page\;0: dbm\;1: uW" access="RW" enum="dbm=0x0,uW=0x1" offset="0x4.29" size="0x0.2" />
	<field name="page_data" descr="Table 1390, &quot;Operation Info Page Layout,&quot; on page 1606\;Table 1432, &quot;Troubleshooting info Page layout,&quot; on page 1667\;Table 1430, &quot;Module Info Page Layout,&quot; on page 1654\;Table 1444, &quot;Module Latched Flag Info Page Layout,&quot; on page 1685" 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="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_troubleshooting_page_ext" descr="" subnode="pddr_troubleshooting_page_ext" offset="0x0.0" selected_by="Troubleshooting_info_page" size="0xf8.0" />
	<field name="pddr_module_info_ext" descr="" subnode="pddr_module_info_ext" offset="0x0.0" selected_by="Module_info_page" 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="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 1434, &quot;PDDR - Monitor opcodes layout,&quot; on page 1668" 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 2287, &quot;PEABFE - Bloom Filter Entry Layout,&quot; on page 2415\;" 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.6.2, &quot;Flex2 ACL Key Blocks Layout&quot;, on page 2092\;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\;See Section 11.9.14, &quot;PTAR - Policy-Engine TCAM Allocation Register&quot;, on page 2356.\;This is the base region. All duplicated region_id&apos;s will be shifted as well. See Section 11.9.18, &quot;PERD - Policy-Engine Region Duplication Register&quot;, on page 2369See Section 2307, &quot;tcam_region_info Layout&quot;, on page 2408" subnode="tcam_region_info_peaps_ext" access="WO" 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 2810, &quot;Spectrum Custom Bytes Sets,&quot; on page 2960" 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 2815, &quot;Custom Bytes Extraction Points,&quot; on page 2963\;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 2273, &quot;Extraction_point Layout,&quot; on page 2406" 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.4.1.2, &quot;KVD Central Database Linear Entries&quot; (page 3200)\;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" 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 Section 11.8, &quot;Flexible ACL Action Set&quot;, on page 2239.\;Must be zero padded if action set is shorter." access="RW" high_bound="41" low_bound="0" 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="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)\;Default: group 0 for Spectrum only\;Range of group id is 0..cap_max_acl_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" 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" 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\;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="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\;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_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" />
	<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_eport_ext" descr="" subnode="perb_classifier_eport_ext" offset="0x0.0" selected_by="eport" size="0x48.0" />
</node>

<node name="perb_classifier_eport_ext" descr="" size="0x48.0" >
	<field name="base_classifier" descr="Base classifier\;See Table 2209, &quot;PERB base_classifier Layout,&quot; on page 2345" 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.9.10, &quot;PERBEG - Policy-Engine Rule Binding Egress port Group&quot;, on page 2350" 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 2209, &quot;PERB base_classifier Layout,&quot; on page 2345" 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.9.9, &quot;PERBRG - Policy-Engine Rule Binding Router Group&quot;, on page 2349" 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 2209, &quot;PERB base_classifier Layout,&quot; on page 2345" subnode="perb_base_classifier_ext" access="RW" offset="0x0.0" size="0x40.0" />
	<field name="ingress_local_port_list" descr="Bitmask of ingress local port\;" 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 2209, &quot;PERB base_classifier Layout,&quot; on page 2345" 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.9.9, &quot;PERBRG - Policy-Engine Rule Binding Router Group&quot;, on page 2349" 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)\;Range of group id is 0..cap_max_acl_groups-1" access="RW" offset="0x8.0" size="0x0.16" />
	<field name="classifier_entry" descr="Classifier entry, related to pipe_stage:\;Table 2201, &quot;PERB classifier_iport Layout,&quot; on page 2341\;Table 2203, &quot;PERB classifier_irif Layout,&quot; on page 2342\;Table 2205, &quot;PERB classifier_erif Layout,&quot; on page 2343\;Table 2207, &quot;PERB classifier_eport Layout,&quot; on page 2344" 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" 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 SwitchX/-2 and Spectrum" 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.9.1, &quot;PGCR - Policy-Engine General Configuration Register&quot;, on page 2330" 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 SwitchX/-2 and Spectrum\;\;" 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_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="performance_counter_info_ext" descr="" size="0x10.0" >
	<field name="hw_unit_id" descr="Defines from which HW unit to collect the counters. For more info see Table 839, &quot;Spectrum-2 Counter HW Unit Id List,&quot; on page 998" access="RO" offset="0x0.0" size="0x0.8" />
	<field name="hw_unit_instance" descr="HW unit instance id" access="RO" offset="0x0.16" size="0x0.8" />
	<field name="hw_unit_sub_instance" descr="HW unit sub instance id" access="RO" offset="0x4.0" size="0x0.8" />
	<field name="counter_index" descr="Counter index" access="RO" offset="0x4.16" size="0x0.9" />
	<field name="counter_value" descr="Counter value" subnode="uint64" access="RO" offset="0x8.0" size="0x8.0" />
</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\;" 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="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\;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="pfca_ext" descr="" size="0xc.0" >
	<field name="index" descr="Counter set index" access="INDEX" offset="0x0.0" size="0x0.9" />
	<field name="type" descr="Counter type:\;0: Bytes_counter\;1: Packets_counter\;" access="RW" enum="Bytes_counter=0x0,Packets_counter=0x1" offset="0x0.24" size="0x0.2" />
	<field name="op" descr="Operation:\;0: NOP\;1: Allocate\;2: Test\;3: Free" access="WO" enum="NOP=0x0,Allocate=0x1,Test=0x2,Free=0x3" offset="0x0.30" size="0x0.2" />
	<field name="counter_set" descr="Opaque object that represents the flow counter. Returned when allocating counter. Provided by software for action-set binding or any other counter operation." access="RO" offset="0x8.0" size="0x4.0" />
</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="WO" 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="WO" 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" />
</node>

<node name="pfcnt_ext" descr="" size="0x20.0" >
	<field name="counter_set" descr="Counter Set Identifier.\;For SwitchX and SwitchX-2: an opaque object provided upon allocation of a counter set and used to identify the flow counter to access." access="INDEX" offset="0x0.0" size="0x4.0" />
	<field name="clr" descr="Clear counters. Setting the clr bit will reset the counter value for relevant flow counter. \;Note: This bit can be set for both Write() and Read() operation to enable clear on read operation." access="OP" offset="0x4.31" size="0x0.1" />
	<field name="flow_counter_0" descr="Flow counter value" access="RO" high_bound="5" low_bound="0" offset="0x8.0" size="0x18.0" />
</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="pgcr_ext" descr="" size="0x20.0" >
	<field name="pbs_table_size" descr="Number of PBS entries. This is a settable capability.\;Reserved when Spectrum/-2\;" 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 SwitchX/-2 and Spectrum" access="OP" offset="0x0.31" size="0x0.1" />
	<field name="max_iacl" descr="Max Ingress ACL\;Maximum number of Ingress ACLs\;Reserved when Spectrum/-2" access="RO" offset="0x8.0" size="0x0.16" />
	<field name="max_eacl" descr="Max Egress ACL\;Maximum number of Egress ACLs\;Reserved when Spectrum/-2" 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 SwitchX/-2 and Spectrum\;" 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 the local_port" access="RW" offset="0x4.4" 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="phcr_err_cnt_column_range_ext" descr="" size="0x4.0" >
	<field name="low_val" descr="" access="RW" offset="0x0.0" size="0x0.4" />
	<field name="high_val" descr="" access="RW" offset="0x0.8" size="0x0.4" />
</node>

<node name="phcr_ext" descr="" size="0x4c.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:\;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" access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="opcode" descr="Opcode:\;0: Query the number of histogram columns.\;1: Set the range for each of the columns." access="RW" offset="0x0.29" size="0x0.3" />
	<field name="num_err_cntrs" descr="Number of counters that are available for counting errors per each of the ports." access="RO" offset="0x4.0" size="0x0.5" />
	<field name="err_cnt_column_range_0" descr="Configuration per each of the counters\;See Table 1612, &quot;PHCR - Port Histogram Counter Configuration Layout,&quot; on page 1854" subnode="phcr_err_cnt_column_range_ext" access="RW" offset="0xC.0" size="0x4.0" />
</node>

<node name="phrr_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="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" 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 PHBR" 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" subnode="uint64" access="RO" high_bound="9" low_bound="0" offset="0x10.0" size="0x50.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="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" />
</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 traffic (bits) received.\;" access="RO" offset="0x8.0" size="0x4.0" />
	<field name="phy_received_bits_low" descr="This counter provides information on the total amount of traffic (bits) received.\;" 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="effective_ber_coef" descr="post_fec_BER = post_fec_ber_coef*10^(-post_fec_ber_magnitude)\;" access="RO" offset="0x64.0" size="0x0.4" />
	<field name="effective_ber_magnitude" descr="post_fec_BER = post_fec_ber_coef*10^(-post_fec_ber_magnitude)\;" access="RO" offset="0x64.8" size="0x0.8" />
	<field name="symbol_fec_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="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="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="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="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="Inter Packet Gap. Sets the Inter Packet Gap value for the\;ports, in 4 bytes unit. Default value of this field is 3 (indicating\;12 bytes IPG)." access="RW" offset="0x4.2" size="0x0.4" />
	<field name="ipg_max_cap" descr="Maximum Inter Packet Gap supported on the port in 4 bytes unit." access="RW" offset="0x4.10" size="0x0.8" />
	<field name="ipg_min_cap" descr="Minimum Inter Packet Gap supported on the port in 4 bytes unit." access="RW" offset="0x4.18" size="0x0.4" />
	<field name="dic" descr="Deficit Idle Count. When set, the dic bit is set, the Deficit Idle Count mechanism is enabled, else it is disabled.\;This bit is set by default." access="RW" offset="0x4.31" 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="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="pllp_reg_ext" descr="" size="0xc.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="Port split mapping for local_port.\;The position of this local port within each splitted 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  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 IPIL split. The value is by how much to split each IPIL\;The local_port status is:\;0: no split\;1: split to 2\;2: split to 4\;3: split to 8\;" access="RO" offset="0x4.16" size="0x0.4" />
	<field name="ipil_stat" descr="Inter port in Label status.\;Number of basic port units inside the label (cage).\;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" />
</node>

<node name="pltc_reg_ext" descr="" size="0x10.0" >
	<field name="lane_mask" descr="for set operation, lane bitmask\;for query operation, one-hot key" 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 capabilty\;\;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 for 100g Pam4 per lane protocols.\;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="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.\;\;Note - To disable a module, all ports associated with the port must be disabled first.\;" access="RW" enum="enabled=0x1,disabled_by_configuration=0x2,enabled_once=0x3" 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" 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\;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." 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" />
</node>

<node name="pmcr_reg_ext" descr="" size="0x1c.0" >
	<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="cs_sel" descr="Valid only for CMIS (QSFP-DD / SFP-DD / OSFP) compliant modules.\;If Control Set 1 not implemented or non CMIS module ignore field.\;0 - Auto (default)\;1 - Use Control Set 0\;2 - Use Control Set 1" access="INDEX" offset="0x0.24" size="0x0.2" />
	<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 Equailization\;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" />
</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="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="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 SerDeses 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 SerDeses in a module can be mapped to a local port." subnode="lane_2_module_mapping_ext" access="RO" high_bound="7" low_bound="0" offset="0x4.0" size="0x20.0" />
</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_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" 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="0x28.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="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="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" 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" 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 1280, &quot;PMMP - QSFP Protocol Bytes Override Layout,&quot; on page 1486\;Table 1284, &quot;PMMP - CMIS Protocol Bytes Override Layout,&quot; on page 1491" 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 1282, &quot;PMMP - SFP Protocol Bytes Override Layout,&quot; on page 1489" access="RW" high_bound="2" low_bound="0" offset="0x14.0" size="0xc.0" />
	<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="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" />
</node>

<node name="pmmp_reg_qsfp_cable_protocol_technology_auto_ext" descr="" attr_is_union="1" 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" />
	<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" />
</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\;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" offset="0x4.8" size="0x0.4" />
</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_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 One-Hot key (Only one bit 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)" 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)\;" 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="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="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\;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" access="RW" enum="Backplane_with_4_lanes=0x0,QSFP=0x1,SFP=0x2,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" offset="0x4.0" size="0x0.5" />
	<field name="module_width" descr="Number of module&apos;s electrical lanes\;\;NOTE: For SET command, this value should match the module type width in module_type field" access="RW" offset="0x4.8" size="0x0.5" />
</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 SwitchX/-2 and 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 SwitchX/-2 and IB Switches (use only &apos;0&apos;)" 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="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." 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 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="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\;Reserved for SwitchX/-2." 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" 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="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" />
</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="Monitor type based on monitor_cntl setting and the operational mode of the link:\;0 - Post FEC / No FEC BER monitoring\;1 - Pre FEC BER monitoring" 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="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 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="monitor_cntl" descr="Bitmask - monitor options:\;Bit 0 - Pre FEC monitor: \;When set, a link with FEC active will monitor Pre-FEC BER.\;When cleared, link with FEC active will monitor Post-FEC (effective) BER.\;When FEC is not active, will monitor only effective BER." access="RW" offset="0x4.16" size="0x0.4" />
	<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="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" />
</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 / No-FEC BER monitoring\;1 - Pre FEC BER monitoring" 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="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="0x14.0" >
	<field name="ilm_index" descr="ILM entry Index\;For Spectrum, the index points to the KVD Linear, see Section A.4.1.2, &quot;KVD Central Database Linear Entries&quot;, on page 3200" 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.4.1.2, &quot;KVD Central Database Linear Entries&quot;, on page 3200" 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)\;The valid range is:\;Spectrum: 1-64, 512, 1024, 2048 and 4096.\;Spectrum-2: 1-128, 256, 512, 1024, 2048 and 4096." 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_reg_ext" descr="" size="0x30.0" >
	<field name="monitor_group" descr="Monitor Parameters Group\;0x0: Pre-FEC BER monitor parameters for RS-FEC links\;0x1: Pre-FEC BER monitor parameters for FC-FEC links\;0x2: Effective BER (post FEC/NO-FEC) monitor parameters\;\;" access="INDEX" offset="0x0.0" 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_parameters" descr="See Table 1484, &quot;PPBMP - Monitor Parameters Layout,&quot; on page 1734" subnode="uint64" access="RW" offset="0x4.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. \;In SwitchX/-2 pbs_ptr is limited to 0 .. (pbs_table_size-1)\;For Spectrum/-2, the index points to the KVD Linear, see Appendix A.4.1.2, &quot;KVD Central Database Linear Entries&quot; (page 3200)" access="INDEX" offset="0x8.0" size="0x0.24" />
	<field name="pbs_record" descr="PBS Record. For full description see:\;Table 2257, &quot;Unicast PBS Record Layout,&quot; on page 2395\;Table 2259, &quot;Unicast LAG PBS Record Layout,&quot; on page 2396\;Table 2261, &quot;Multicast PBS Record Layout,&quot; on page 2397\;Table 2263, &quot;Unicast Tunnel PBS Record Layout,&quot; on page 2398\;Table 2265, &quot;Multicast Tunnel PBS Record Layout,&quot; on page 2400" 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/-2 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="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="ppbs_multicast_ext" descr="" subnode="ppbs_multicast_ext" offset="0x0.0" selected_by="Multicast_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" />
	<field name="multicast_tunnel_ext" descr="" subnode="multicast_tunnel_ext" offset="0x0.0" selected_by="Multicast_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 \;For SwitchX/-2 value of 0 is for drop\;Note: for Spectrum/-2, 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 when Spectrum/-2\;5: DISCARD - Reserved when Spectrum/-2\;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\;\;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)\;Range of group id is 0..cap_max_acl_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/-2" access="RW" offset="0x10.31" size="0x0.1" />
</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 bad codewords received (including uncorrectable)." access="RO" offset="0x8.0" size="0x4.0" />
	<field name="plr_rcv_code_err_low" descr="The total number of bad codewords received (including uncorrectable)." 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="Bandwidth loss due to codes retransmission.\;calculated according to (plr_rcv_uncorrectable_code/plr_rcv_codes) * 10^10" access="RO" offset="0x38.0" size="0x4.0" />
	<field name="plr_codes_loss_low" descr="Bandwidth loss due to codes retransmission.\;calculated according to (plr_rcv_uncorrectable_code/plr_rcv_codes) * 10^10" 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" />
</node>

<node name="ppcnt_reg_counter_set_auto_ext" descr="" attr_is_union="1" 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_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_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_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_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_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_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_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="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="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="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="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="ppcnt_plr_counters_ext" descr="" subnode="ppcnt_plr_counters_ext" offset="0x0.0" selected_by="PLR_counters_group" size="0xf8.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\;0x20: InfiniBand_Port_Counters\;0x21: InfiniBand_Extended_Port_Counters\;0x22: PLR_counters_group\;0x23: RS_FEC_Histogram_group" 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,InfiniBand_Port_Counters=0x20,InfiniBand_Extended_Port_Counters=0x21,PLR_counters_group=0x22,RS_FEC_Histogram_group=0x23" 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 global port number" access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="swid" descr="For HCA: must be always 0.\;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.\;Only 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, 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." 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_Counters2. 0x16: Physical_Layer_Statistical_Counters3. 0x22: PLR_counters_group" access="INDEX" offset="0x4.5" size="0x0.3" />
	<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." access="OP" 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 1188, &quot;Ethernet IEEE 802.3 Counters Group Data Layout,&quot; on page 1384\;Table 1190, &quot;Ethernet RFC 2863 Counter Group Data Layout,&quot; on page 1389\;Table 1192, &quot;Ethernet RFC 2819 Counter Group Data Layout,&quot; on page 1393\;Table 1194, &quot;Ethernet RFC 3635 Counter Group Data Layout,&quot; on page 1398\;Table 1196, &quot;Ethernet Extended Counter Group Data Layout,&quot; on page 1402\;Table 1199, &quot;Ethernet Discard Counter Group Fields,&quot; on page 1407\;Table 1200, &quot;Ethernet Per Priority Group Data Layout,&quot; on page 1410\;Table 1204, &quot;Ethernet Per Traffic Class Group data layout,&quot; on page 1418\;Table 1216, &quot;Physical Layer Counters Data Layout,&quot; on page 1429\;Table 1206, &quot;Ethernet Per Traffic Class Congestion Group data layout,&quot; on page 1419\;Table 1220, &quot;Physical Layer Statistical Counters Data Layout,&quot; on page 1439\;Table 1212, &quot;InfiniBand PortCounters Attribute Group Data Layout,&quot; on page 1423\;Table 1214, &quot;InfiniBand Extended PortCounters Attribute Group Data Layout,&quot; on page 1425\;Table 1222, &quot;PLR Counters Data Layout,&quot; on page 1445 \;Table 1224, &quot;RS-Histograms Data Layout,&quot; on page 1447" 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" subnode="uint64" access="RO" high_bound="19" low_bound="0" offset="0x0.0" size="0xa0.0" />
</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.4" />
	<field name="high_val" descr="high range of bin&apos;s measurement" access="RW" offset="0x0.16" size="0x0.4" />
</node>

<node name="pphcr_ext" descr="" size="0x50.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="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" 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 1466, &quot;PPHCR - Port Phy Bin Range Histogram Configuration Layout,&quot; on page 1716" subnode="pphcr_bin_range_ext" access="RW" high_bound="15" low_bound="0" offset="0x10.0" size="0x40.0" />
</node>

<node name="pplm_reg_ext" descr="" size="0x50.0" >
	<field name="test_mode" descr="0: Mission mode configuration and capabilities\;1: Test mode configuration and capabilities" access="INDEX" 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 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" 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="fec_mode_active" descr="Active FEC (bitmask)\;0: No_FEC\;1: Firecode_FEC\;2: Standard_RS_FEC - RS(528,514)\;3: Standard_LL_RS_FEC - RS(271,257)\;5: reserved - [Internal]\;6: Interleaved_Standard_RS-FEC - (544,514)\;7: Standard_RS-FEC - (544,514)\;9: Ethernet_Consortium_LL_50G_RS_FEC- (272,257+1)\;10: Interleaved_Ethernet_Consortium_LL_50G_RS_FEC - (272,257+1)" access="RO" enum="No_FEC=0x0,Firecode_FEC=0x1,Standard_RS_FEC=0x2,Standard_LL_RS_FEC=0x3,Interleaved_Standard_RS=0x6,Standard_RS=0x7,Ethernet_Consortium_LL_50G_RS_FEC=0x9,Interleaved_Ethernet_Consortium_LL_50G_RS_FEC=0xa" offset="0xC.0" size="0x0.24" />
	<field name="fec_override_cap_10g_40g" descr="10GE/40GE Ethernet FEC override capability bitmask:\;0: No-FEC\;1: Firecode_FEC\;2: Reserved2\;3: Reserved3\;\;" access="RO" enum="No=0x0,Firecode_FEC=0x1,Reserved2=0x2,Reserved3=0x3" offset="0x10.0" size="0x0.4" />
	<field name="fec_override_cap_25g" descr="25GE Ethernet FEC override capability bitmask:\;0: No-FEC\;1: Firecode_FEC\;2: RS-FEC\;3: Reserved" access="RO" enum="No=0x0,Firecode_FEC=0x1,RS=0x2,Reserved=0x3" offset="0x10.4" size="0x0.4" />
	<field name="fec_override_cap_50g" descr="50GE (2 lanes) Ethernet FEC override capability bitmask:\;0: No-FEC\;1: Firecode_FEC\;2: RS-FEC\;3: Reserved" access="RO" enum="No=0x0,Firecode_FEC=0x1,RS=0x2,Reserved=0x3" offset="0x10.8" size="0x0.4" />
	<field name="fec_override_cap_100g" descr="100GE (4 lanes) Ethernet FEC override capability bitmask:\;0: No-FEC\;1: Reserved1\;2: RS-FEC - (528,514)\;3: Reserved3" access="RO" enum="No=0x0,Reserved1=0x1,RS=0x2,Reserved3=0x3" offset="0x10.12" size="0x0.4" />
	<field name="fec_override_cap_56g" descr="56GE Ethernet FEC override capability bitmask:\;0: No-FEC\;1: Firecode_FEC\;2: Reserved2\;3: Reserved3" access="RO" enum="No=0x0,Firecode_FEC=0x1,Reserved2=0x2,Reserved3=0x3" 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=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\;1: No_FEC\;2: Firecode_FEC\;\;" access="RW" enum="auto_mode=0x0,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\;1: No_FEC\;2: Firecode_FEC\;4: RS-FEC\;\;Note - 25g_fec_override_admin and 50g_fec_override_admin must be set with the same value." access="RW" enum="auto_mode=0x0,No_FEC=0x1,Firecode_FEC=0x2,RS=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\;1: No_FEC\;2: Firecode_FEC\;4: RS-FEC\;\;Note - 25g_fec_override_admin and 50g_fec_override_admin must be set with the same value." access="RW" enum="auto_mode=0x0,No_FEC=0x1,Firecode_FEC=0x2,RS=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\;1: No_FEC\;4: RS-FEC" access="RW" enum="auto_mode=0x0,No_FEC=0x1,RS=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\;1: No_FEC\;2: Firecode_FEC" access="RW" enum="auto_mode=0x0,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=0x2" offset="0x14.28" size="0x0.4" />
	<field name="fec_override_cap_200g_4x" descr="200GE FEC override capability bitmask:\;Bit 0 - Reserved \;Bit 1- Reserved \;Bit 2- Reserved \;Bit 3- Reserved \;Bit 4- Reserved\;Bit 5- Reserved\;Bit 6- Reserved\;Bit 7 - RS-FEC (544,514)" access="RO" offset="0x18.0" size="0x0.16" />
	<field name="fec_override_cap_400g_8x" descr="400GE FEC override capability bitmask:\;Bit 0 - Reserved \;Bit 1- Reserved \;Bit 2- Reserved \;Bit 3- Reserved\;Bit 4- Reserved\;Bit 5- Reserved\;Bit 6- Reserved\;Bit 7 - RS-FEC (544,514)" access="RO" offset="0x18.16" size="0x0.16" />
	<field name="fec_override_cap_50g_1x" descr="50GE single lane override capability bitmask:\;Bit 0 - Reserved \;Bit 1- Reserved \;Bit 2- Reserved \;Bit 3- Reserved \;Bit 4- Reserved\;Bit 5- Reserved\;Bit 6- Reserved\;Bit 7 - RS-FEC (544,514)\;Bit 9- 50G Ethernet Consortium LL RS-FEC (272,257+1)" access="RO" offset="0x1C.0" size="0x0.16" />
	<field name="fec_override_cap_100g_2x" descr="100GE over 2 lanes, FEC override capability bitmask:\;Bit 0 - Reserved\;Bit 1- Reserved \;Bit 2- Reserved \;Bit 3- Reserved \;Bit 4- Reserved\;Bit 5- Reserved\;Bit 6- Reserved\;Bit 7 - RS-FEC (544,514)\;Bit 9- 50G Ethernet Consortium Low Latency RS-FEC (272,257+1)\;" access="RO" offset="0x1C.16" size="0x0.16" />
	<field name="fec_override_admin_200g_4x" descr="200GE FEC override admin bitmask (one-hot setting) \;Bit 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="Auto_mode=0x1,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 bitmast (one-hot setting): \;0: Auto_mode\;7: RS-FEC_(544,514)\;9: RS-FEC_(272,257+1)" access="RW" 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 is set- RS-FEC (544,514)\;Bit 9 is set - RS-FEC (272,257+1)" access="RW" 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 0 is set - Reserved\;Bit 2 is set - Reserved \;Bit 7 is set- RS-FEC (544,514)\;Bit 9 is set - RS-FEC (272,257+1)" access="RW" offset="0x24.16" size="0x0.16" />
	<field name="fec_override_cap_400g_4x" descr="400GE, 4 lanes FEC override capability bitmask:\;Bit 0: Reserved\;Bit 1: Reserved\;Bit 2- Reserved\;Bit 3: Reserved\;Bit 4: Reserved\;Bit 5: Reserved\;Bit 6: Reserved\;Bit 8: Reserved\;Bit 10: Reserved\;Bit 11: Reserved\;Bit 13: Reserved\;Bit 15: Reserved\;\;Bit 7: RS_FEC_544_514 - (544,514)\;Bit 9: Ethernet_Consortium_LL_50G_RS_FEC_272_257_plus_1 - (272,257+1)" 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 0 -Reserved\;Bit 1- Reserved\;Bit 2- Reserved\;Bit 3- Reserved\;Bit 4- Reserved\;Bit 5- Reserved\;Bit 6- Reserved\;Bit 7 - RS-FEC (544,514)\;Bit 8 - Reserved\;Bit 9- Ethernet_Consortium_LL_50G_RS_FEC- (272,257+1)\;Bit 10- Reserved\;Bit 11 -Reserved\;Bit 13 - Reserved\;Bit 15 - Reserved" access="RO" offset="0x28.16" size="0x0.16" />
	<field name="fec_override_cap_100g_1x" descr="100GE, 1 lane FEC override capability bitmask :\;Bit 0 -Reserved\;Bit 1- Reserved\;Bit 2- Reserved\;Bit 3- Reserved \;Bit 4- Reserved\;Bit 5- Reserved\;Bit 6- Interleaved RS-FEC - (544,514)\;Bit 7 - RS-FEC (544,514)\;Bit 8 - Reserved\;Bit 9- Ethernet Consortium Low Latency RS-FEC (272,257+1)\;Bit 10- interleaved Ethernet_Consortium_LL_50G_RS-FEC- (272,257+1)" access="RO" offset="0x2C.0" size="0x0.16" />
	<field name="fec_override_cap_200g_2x" descr="200GE, 2 lanes FEC override capability bitmask :\;Bit 0 -Reserved\;Bit 1- Reserved\;Bit 2- Reserved\;Bit 3- Reserved\;Bit 4- Reserved\;Bit 5- Reserved\;Bit 6- Reserved\;Bit 7 - RS-FEC (544,514)\;Bit 8 - Reserved\;Bit 9- Ethernet_Consortium_LL_50G_RS_FEC- (272,257+1)\;Bit 10- Reserved\;Bit 11 -Reserved\;Bit 13 - Reserved\;Bit 15 - Reserved" access="RO" 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,257+1)" access="RW" 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,257+1)" access="RW" 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 - 50G Ethernet Consortium Low Latency RS-FEC (272,257+1)\;Bit 10 - interleaved Ethernet_Consortium_LL_50G_RS-FEC- (272,257+1)" access="RW" 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+1)" access="RW" offset="0x48.16" size="0x0.16" />
</node>

<node name="pplr_reg_ext" descr="" size="0x8.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)\;Other values are reserved." access="INDEX" enum="Network_Port=0x0,Near=0x1,Internal_IC_LR_Port=0x2,Far=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="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 - One-hot key.\;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.\;\;Note - Phy remote loopback can be supported only for lane rate higher than 25Gbuad in the 16nm devices.\;" 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" />
</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):\;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\;\;Value 0,1, applies to both inner and outer depending on outer_inner field\;Vales, 2,3,4,5,6 are not supported when outer_inner is INNER\;Reserved when SwitchX/-2\;" 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, Reserved when SwitchX/-2, supported by Spectrum/-2\;2: BOTH - Apply port range register to outer IP header or to inner IP header, Reserved when SwitchX/-2, and for Spectrum-2" 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 SwitchX/-2 or Spectrum" 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 SwitchX/-2 or Spectrum" 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 2810, &quot;Spectrum Custom Bytes Sets,&quot; on page 2960\;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 SwitchX/-2 and Spectrum\;" 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\;Affects lane indexing for set operations only, ignored for get operations." 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" 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="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="tun_ovr" descr="" access="OP" offset="0x0.29" size="0x0.1" />
	<field name="s" descr="start tuning:\;1 - start RX_tuning based on PRBS pattern \;Note: assuming peer transmitting PRBS. \;cannot be set when prbs_rx_tuning_status = 1 (during tuning)" 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)" 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 [interlnal] 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="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)" 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" descr="Per lane rate capability (bitmask)\;Bit 0 - 1GE (1.25 Gb/s)\;Bit 1 - SDR (2.5 Gb/s) \;Bit 2 - XAUI/2.5GE (3.125 Gb/s)\;Bit 3- DDR (5 Gb/s) \;Bit 4- QDR (10 Gb/s) \;Bit 5- FDR10 / 10GE/40GE (10.3125 Gb/s) \;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 /100GE / 200GE / 400GE / 800GE (53.125 Gbd / 106.25Gb/s)\;Bit 11 - XDR (106.25Gbd / 212.5Gb/s)" 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_oper" descr="Lane rate to be used in PRBS, see lane_rate_cap:\;0 - SDR (2.5 Gb/s)\;1 - DDR (5 Gb/s) \;2 - QDR (10 Gb/s)\;3 - FDR10 / 10GE/4 0GE (10.3125 Gb/s)\;4 - FDR (14.0625 Gb/s) \;5 - EDR / 25GE / 50GE / 100GE (25.78125 Gb/s)\;6 - HDR /50GE / 100GE / 200GE / 400GE (26.5625Gbd / 53.125Gb/s\;7 - NDR /100GE / 200GE / 400GE / 800GE (53.125 Gbd / 106.25Gb/s) \;8 - XDR (106.25Gbd / 212.5Gb/s)\;9 - reserved\;10 - 1GE (1.25 Gb/s)\;11 - XAUI/2.5GE (3.125 Gb/s)\;12 - 50GE-KR4 (12.89 Gb/s) \;\;Note: All lanes must be set to the same rate" 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\;\;Note: Once exiting prbs test mode the prbs_rx_tuning_status will return to 0." access="RO" offset="0x14.28" size="0x0.4" />
</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="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).\;In some old implementations (on SwitchX and SwitchX-2) software is required to use the value 9 in this field, later devices ignore this field.\;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\;SwitchX/-2 support &apos;0&apos; only" 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.\;NOTE: In SwitchX/-2, this field must be mapped to a buffer 8.\;\;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).\;In some old implementations (on SwitchX and SwitchX-2), software is required to use the value 9 in this field, later devices ignore this field.\;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\;Affects lane indexing for set operations only, ignored for get operations" 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" 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="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="sk_rxd" descr="Skip Receiver Detect.\;If set to 1, the transmitter will skip receiver detect and will start sending data immediately.\;\;Note: Please use with caution on DC coupled systems." access="RW" offset="0x0.30" 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)" 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 [interlnal] 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="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)" 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" descr="Per lane rate capability (bitmask)\;Bit 0 - 1GE (1.25 Gb/s)\;Bit 1 - SDR (2.5 Gb/s) \;Bit 2 - XAUI/2.5GE (3.125 Gb/s)\;Bit 3- DDR (5 Gb/s) \;Bit 4- QDR (10 Gb/s) \;Bit 5- FDR10 / 10GE/40GE (10.3125 Gb/s) \;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 /100GE / 200GE / 400GE / 800GE (53.125 Gbd / 106.25Gb/s)\;Bit 11 - XDR (106.25Gbd / 212.5Gb/s)\;" 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)\;1 - DDR (5 Gb/s) \;2 - QDR (10 Gb/s)\;3 - FDR10 / 10GE/40GE (10.3125 Gb/s)\;4 - FDR (14.0625 Gb/s) \;5 - EDR / 25GE / 50GE / 100GE (25.78125 Gb/s)\;6 - HDR /50GE / 100GE / 200GE / 400GE (26.5625Gbd / 53.125Gb/s)\;7 - NDR /100GE / 200GE / 400GE / 800GE (53.125 Gbd / 106.25Gb/s)\;8 - XDR (106.25Gbd / 212.5Gb/s)\;9 - reserved\;10 - 1GE (1.25 Gb/s)\;11 - XAUI/2.5GE (3.125 Gb/s)\;12 - 50GE-KR4 (12.89 Gb/s)\;\;Note: All lanes must be set to the same rate" access="RW" offset="0x10.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)\;Range of group id is 0..cap_max_acl_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/-2" 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.\;See Section 11.9.14, &quot;PTAR - Policy-Engine TCAM Allocation Register&quot;, on page 2356." subnode="tcam_region_info_prcr_ext" access="INDEX" 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.9.14, &quot;PTAR - Policy-Engine TCAM Allocation Register&quot;, on page 2356." 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 opera tional state (port is neither in UP or TEST MODE)" access="RO" offset="0x0.0" 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="error_type_admin" descr="Error Type to generate \;0 - No Error ---- Physical Errors ---- \;1 - mixer_offset_ctrl_set\;" access="RW" offset="0x4.0" size="0x0.8" />
	<field name="error_type_cap" descr="Error injection capabilities  \;Bit 0 - mixer_offset_ctrl \;" access="RO" offset="0x4.8" size="0x0.8" />
	<field name="error_type_oper" descr="Error injection opertional status \; 0x0 - No error injection \; 0x1 - Performing error injection" access="RO" offset="0x4.24" 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. \;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 1248, &quot;PREI - Port Receive Error Injection Register Layout for 28nm,&quot; on page 1463" subnode="prei_reg_28nm_ext" access="RW" offset="0x10.0" size="0x8.0" />
</node>

<node name="prio_j_ext" descr="" size="0x4.0" >
	<field name="color2" descr="The DSCP mapping for color k, where k=0..2, see Table 2388, &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 2388, &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 2388, &quot;color&lt;k&gt;Layout&quot;" access="RW" offset="0x0.24" size="0x0.8" />
</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="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="sub_port" descr="Reserved for Spectrum/Switch-IB/2.\;\;Virtual port within the physical port. \;0 - when virtual ports are not enabled on the port." access="INDEX" offset="0x0.8" size="0x0.8" />
	<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 1697, &quot;ACL Keys Summary,&quot; on page 1977 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 SwitchX/-2: See Table 2077, &quot;ACL Actions-Set Summary,&quot; on page 2234.\;For Spectrum/-2: 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 when Spectrum/-2 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.\;\;" subnode="tcam_region_info_ptar_ext" access="RW" 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 2225, &quot;flexible key Layout,&quot; on page 2360\;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\;\;" access="WO" high_bound="3" low_bound="0" offset="0x20.0" size="0x10.0" />
</node>

<node name="ptce_ext" descr="" size="0xf0.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 cleared for new entries\;1: UPDATE_action - Only action set will be updated.\;2: CLEAR_ACTIVITY - activity bit is cleared for the entry\;For Query:\;0: READ_operation\;1: CLEAR_ON_READ - on read operation. Used to read entry and clear Activity bit." access="OP" enum="READ_operation=0x0,CLEAR_ON_READ=0x1" 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." access="RO" offset="0x0.30" size="0x0.1" />
	<field name="v" descr="Valid." access="RW" offset="0x0.31" size="0x0.1" />
	<field name="tcam_region_info" descr="Opaque object that represents the TCAM region.\;" subnode="tcam_region_info_ptce_ext" access="INDEX" offset="0x10.0" size="0x10.0" />
	<field name="key" descr="ACL Key as described in Section 11.4, &quot;ACL Keys&quot;, on page 1977" access="RW" high_bound="15" low_bound="0" offset="0x20.0" size="0x40.0" />
	<field name="mask" descr="Bitmask in the same size as key. 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="15" low_bound="0" offset="0x60.0" size="0x40.0" />
	<field name="action_set" descr="Action-set to perform when rule is matched as described in Section 11.7.10, &quot;ACL Action-Set&quot;, on page 2233.\;Must be zeros padded if action set is shorter." access="RW" high_bound="15" low_bound="0" offset="0xA0.0" size="0x40.0" />
	<field name="asbind" descr="Action-set bind. Bind an ACL or ACL group to the action-set.\;The ACL/ACL group is indicated by the g field." access="RW" offset="0xE0.30" size="0x0.1" />
	<field name="term" descr="Terminate binding process." access="RW" offset="0xE0.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)\;Range of group id is 0..cap_max_acl_groups-1" access="RW" offset="0xE4.0" size="0x0.16" />
	<field name="e" descr="Egress indication. If this bit is set, the acl_id/acl_group_id is an egress ACL. If cleared, Ingress ACL." access="INDEX" offset="0xE4.30" size="0x0.1" />
	<field name="g" descr="Group. When set, the binding is of an ACL group. When cleared, the binding is of an ACL." access="RW" offset="0xE4.31" size="0x0.1" />
</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 SwitchX/-2 and Spectrum" access="RW" offset="0x4.0" size="0x0.24" />
	<field name="tcam_region_info" descr="Opaque object that represents the TCAM region.\;See Table 2249, &quot;tcam_region_info Layout,&quot; on page 2367" subnode="tcam_region_info_ptce_v2_ext" access="INDEX" offset="0x10.0" size="0x10.0" />
	<field name="flex_key_blocks" descr="ACL Keys\;For Spectrum: Flex keys, see Section 11.5.2, &quot;Flexible ACL Key Blocks Layout&quot;, on page 2019\;For Spectrum-2: Flex2 keys, see Section 11.6.2, &quot;Flex2 ACL Key Blocks Layout&quot;, on page 2092" 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="according to: Section 11.8, &quot;Flexible ACL Action Set&quot;, on page 2239\;Spectrum-2: the flexible_action_set must be all NULL with a next_action_set_ptr" access="RW" high_bound="41" low_bound="0" 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\;For Spectrum-2 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.\;(See Table 2253, &quot;tcam_region_info Layout,&quot; on page 2371)" subnode="tcam_region_info_ptce_v3_ext" access="INDEX" offset="0x10.0" size="0x10.0" />
	<field name="flex2_key_blocks" descr="ACL Key as described in Section 11.6.2, &quot;Flex2 ACL Key Blocks Layout&quot;, on page 2092\;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: for Spectrum-2 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.\;See Table 2257, &quot;tcam_region_info Layout,&quot; on page 2373" subnode="tcam_region_info_ptcead_ext" access="INDEX" 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\;---- Physical Errors ----\;1 - Raw BER\;2 - Effective BER\;" access="RW" offset="0x0.0" size="0x0.8" />
	<field name="error_type_cap" descr="Error injection capabilities \;Bit 0 - Raw BER\;Bit 1 - Effective BER\;\;\;\;" access="RO" offset="0x0.8" size="0x0.8" />
	<field name="error_type_oper" descr="Error injection opertional 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="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 1242, &quot;PTER- Port Transmit Errors Register Phy Level Layout,&quot; on page 1459\;Table 1244, &quot;PTER- Port Transmit Errors Register Port Level Fields,&quot; on page 1460" 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="ptys_reg_ext" descr="" size="0x40.0" >
	<field name="proto_mask" descr="Protocol Mask. Indicates which of the protocol data is valid\;Bit 0: InfiniBand\;Bit 2: Ethernet" access="INDEX" enum="InfiniBand=0x1,Ethernet=0x4" offset="0x0.0" size="0x0.3" />
	<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="force_tx_aba_param" descr="When AN is disabled, use aba TX set. \;" access="RW" offset="0x0.24" 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="reserved_high" descr="" access="RO" offset="0x0.31" 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: Reserved [internal] Placeholder for 200GAUI-1\;Bit 15: 400GAUI-8/ 400GBASE-CR8\;Bit 16: 400GAUI-4/ 400GBASE-CR4\;Bit 17: Reserved [internal] Placeholder for 400GAUI-2\;Bit 18: Reserved [internal] Placeholder for 400GAUI-1\;Bit 19: 800GAUI-8 / 800GBASE-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)\;ib_link_speed &lt;= ib_proto_capability[7:0]\;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="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" />
</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" 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" />
</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 when Spectrum/-2" 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)\;Range of group id is 0..cap_max_acl_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/-2" 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="qcam_ext" descr="" size="0x48.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="qos_access_reg_cap_mask" descr="Supported QoS access register bitmasks. Based on access_reg_group index. \;When bit is set, the register is supported in the device. \;For example:\;Bit 1: QCAP (0x4001)\;Bit 2: QPTS (0x4002)\;Bit 3: QDPM (0x4003)" access="RO" high_bound="3" low_bound="0" offset="0x8.0" size="0x10.0" />
	<field name="qos_feature_cap_mask" descr="Supported QoS enhanced features based on feature_group index.\;When bit is set, the feature is supported in the device\;Bit 0: QPTS_TRUST_BOTH - trust_both is supported in QPTS register" access="RO" high_bound="3" low_bound="0" offset="0x28.0" size="0x10.0" />
</node>

<node name="qcap_ext" descr="" size="0x14.0" >
	<field name="max_policers_per_port" descr="Maximum number of policers available per port" access="RO" offset="0x8.0" size="0x0.8" />
	<field name="max_policers_global" descr="Maximum number of global policers" access="RO" offset="0xC.0" size="0x0.8" />
	<field name="max_policers_cpu" descr="Maximum number of cpu policers" access="RO" offset="0x10.0" size="0x0.8" />
</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 2330." access="RW" high_bound="63" low_bound="0" offset="0x0.24" size="0x40.0" />
</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\;1: Group\;2: Sub_Group\;3: Traffic_Class" 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.\;reserved when element_heirarchy  &apos;0&apos;" 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, 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, 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" 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\;For Spectrum family packets mode is supported only for TClasses of CPU port.\;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\;\;" 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" 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 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, actual rate may be 206mbps)\;Reading reveals the actual rate (e.g. 206 in the above example)\;\;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 value across all ETS elements within one hierarchy should equal 100.\;This field is reserved when dwrr is strict priority." 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\;1: DWRR" 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\;For Switches only" access="RW" offset="0x18.31" size="0x0.1" />
	<field name="max_shaper_bs" descr="Max shaper Burst size\;Burst size is 2^max_shaper_bs * 512 [bits]\;For Spectrum: Range is: 5..25\;For Spectrum-2: Range is: 11..25\;Value of 0 is configured as minimum\;Reserved when ptps = 1" access="RW" offset="0x1C.0" size="0x0.6" />
	<field name="min_shaper_bs" descr="Min shaper Burst size\;Burst size is 2^min_shaper_bs * 512 [bits]\;For Spectrum: Range is: 5..25\;For Spectrum-2: Range is: 11..25\;\;Value of 0 is configured as minimum\;Reserved when ptps = 1" access="RW" offset="0x1C.16" size="0x0.6" />
</node>

<node name="qegcs_ext" descr="" size="0x10.0" >
	<field name="local_port" descr="Local port number" access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="abr_glob_sp" descr="Arbitration across groups:\;0: DWRR \;1: Strict Priority (default)" access="RW" offset="0x4.0" size="0x0.1" />
	<field name="grp15_arb_sp" descr="Arbitration inside group 15:\;0: DWRR\;1: Strict Priority (default)\;Note that if grp07_arb_sp is configured to Strict Priority thengrp15_arb_sp must be configured as Strict Priority as well" access="RW" offset="0x4.1" size="0x0.1" />
	<field name="grp07_arb_sp" descr="Arbitration inside groups 0..7: \;0: DWRR\;1: Strict Priority (default)" access="RW" offset="0x4.2" size="0x0.1" />
</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 2338, &quot;exp&lt;i&gt; Layout,&quot; on page 2473" access="RW" high_bound="7" low_bound="0" offset="0x4.16" size="0x10.0" />
</node>

<node name="qetcr_ext" descr="" size="0x50.0" >
	<field name="local_port" descr="Local port number" access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="tc_configuration" descr="Per-tclass configuration. For details, refer to Table 2346, &quot;ETS tcN Configuration Register Layout&quot;." subnode="ets_ext" access="RW" high_bound="7" low_bound="0" offset="0x8.0" size="0x40.0" />
	<field name="global_configuration" descr="Global configuration. For details, refer to Table 2348, &quot;ETS Global Configuration Register Layout&quot;.\;" subnode="ets_global_ext" access="RW" offset="0x48.0" size="0x8.0" />
</node>

<node name="qgcr_ext" descr="" size="0x8.0" >
	<field name="tx_cnt_tclass" descr="Tx count Tclass:\;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\;" 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" access="RW" offset="0x0.0" size="0x0.14" />
	<field name="g" descr="0: port policer and Storm Control policer configuration\;1: global policer configuration\;Reserved when Spectrum/-2" access="RW" offset="0x0.15" size="0x0.1" />
	<field name="local_port" descr="local_port number. The policer is assigned to traffic coming from the port. \;SwitchX/-2: Note that one can bind a global policer to a port, and use the same global policer to more than a single 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\;1: update policer binding (status id bind)\;2: unbind policer (For SwitchX/-2 only g and pid should be valid, for Spectrum family the unbinding uses the same indexes as binding)\;\;" access="RW" 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 family, 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: per port policer configuration, Reserved when Spectrum/-2\;2: global policer configuration\;3: storm control policer configuration\;For IB Switches must be global" access="INDEX" offset="0x0.14" size="0x0.2" />
	<field name="local_port" descr="Local port. Relevant only for per port policers\;No support for CPU port.\;No support for router port.\;Editing of this field is not allowed for a bounded policer.\;Reserved when Spectrum family and for IB switches" 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="mode" descr="Operation Mode\;0: policer\;1: packet sampling\;family Editing of this field is not allowed for a bounded policer" access="RW" offset="0x4.0" size="0x0.2" />
	<field name="type" descr="policer type:\;0: srTCM, single rate three colors marking. This mode is not supported by Spectrum family\;1: srDCM, single rate dual colors marking. This mode is not supported by SwitchX/-2\;2: trTCM, dual rate three colors marking. This mode is not supported by SwitchX/-2\;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 10^6 bits/sec\;1: cir and eir use units of 10^3 bits/sec\;Reserved when mode = &apos;1&apos; packet sampling\;" 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 (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  storm control policers\;" 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 \;" 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 \;" access="OP" offset="0x4.31" size="0x0.1" />
	<field name="ebs" descr="Excessive burst size\;When bytes = 0: burst size is 2^ebs [packets]\;When bytes = 1: burst size is 2^ebs * 512 [bits]\;\;SwitchX/-2: range is from 64Mbit to 8Gbit.\;\;Spectrum family: Burst size is from (cir (for single rate) or eir (for double rate)) * rate * 50uSec to 32Gbit, for bytes = 0 rate is 10^3 and for bytes = 1 rate is 10^3 or 10^6 according to ir_units. \;Also, ebs must always be larger than 3\;Reserved when type is srDCM" access="RW" offset="0x8.16" size="0x0.6" />
	<field name="cbs" descr="Committed burst size\;When bytes = 0: burst size is 2^cbs [packets]\;When bytes = 1: burst size is 2^cbs * 512 [bits]\;\;SwitchX/-2: range is from 64Mbit to 8Gbit.\;\;Spectrum family:\;When bytes = 1: Burst size is from cir * ir_units * 400uSec up to 32Gbit, \;When bytes = 0: Burst size is from cir * 400uSec up to 2^26 packets, min burst size is 400uSec.\;\;Also, cbs must always be larger than 3\;\;Spectrum-1 min rate is *50uS\;\;Switch-IB/2 and Quantum: Range is 4.. 11 (16..2K Packets/Sec)\;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\;\;When configured for packet sampling (mode=1), this field is used for range indicating the range of the uniform random. Range is in power of 2 packets. Random sampling will be uniform distribution in the following range: packet_rate - range : packet_rate + range" access="RW" offset="0x8.24" size="0x0.6" />
	<field name="cir" descr="Committed information rate.\;For Spectrum/-2: Resolution error is up to 1%.\;For bytes the units are according to ir_units.For packets metering CIR is in Packet/sec units.\;For SwitchX/-2: When configured for packet sampling, this field is used for packet_rate indicating the rate for packet sampling.\;\;Switch-IB/2: range: 6250, 8000, 12000, 15000, 20000, 50000, 100000 packets/sec. HW will round to N*64. Resolution error is up to 10%.\;\;\;Quantum: range: 64 ... 100,000 packets/sec. HW will round to N*64. Resolution error is up to 1%.\;\;\;Note: Reading will provide the exact value used by the HW\;\;Spectrum-1 has max 2Tbps or max 2Gpps\;Spectrum-2 has max 6.4Tbps or max 9.5Gpps\;Spectrum-3 has max 6.4Tbps or max 9.5Gpps\;Spectrum-4 has max 6.4Tbps or max 9.5Gpps" access="RW" offset="0xC.0" size="0x4.0" />
	<field name="eir" descr="Excess information rate. \;Resolution error is up to 1%. Reading will provide the exact value used by the HW.\;For bytes the units are according to ir_units.For packets metering CIR is in Packet/sec units.\;Reserved when type is srDCM\;\;Spectrum-1 has max 2Tbps or max 2Gpps" 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 family.\;1: discard - Not supported by Spectrum family.\;2: forward_and_set_color_to_yellow - Reserved when SwitchX/-2.\;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 family.\;1: discard\;2: forward_and_set_color_to_red - No support by SwitchX/-2\;" access="RW" enum="forward=0x0,discard=0x1,forward_and_set_color_to_red=0x2" offset="0x18.0" size="0x0.4" />
	<field name="violate_count_high" descr="Counts the number of times violate_actions happened on this pid\;\;\;" 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\;\;\;" 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)\;when" 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 2334" 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 2386, &quot;switch_prio&lt;j&gt; Layout&quot;\;Switch Prio range is from 0 to cap_max_switch_priorities-1" subnode="prio_j_ext" access="RW" high_bound="15" low_bound="0" offset="0x4.0" size="0x40.0" />
</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 2378, &quot;switch_prio&lt;i&gt; Layout&quot;\;Switch Prio range is from 0 to cap_max_switch_priorities-1" subnode="switch_prio_ext" access="RW" high_bound="15" low_bound="0" offset="0x4.0" size="0x100.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 2392, &quot;switch_prio&lt;j&gt; Layout&quot;\;Switch Prio range is from 0 to cap_max_switch_priorities-1" subnode="switch_prio_j_ext" access="RW" high_bound="15" low_bound="0" offset="0x4.0" size="0x40.0" />
</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.\;when" 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.\;" access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="rprio" descr="For SwitchX/-2: Regeneration Priority.\;For Spectrum family: 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="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\;" access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="trust_state" descr="0: TRUST_PORT \;1: TRUST_PCP - default\;2: TRUST_DSCP\;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\;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 \;1: enable DSCP rewrite" access="RW" offset="0x4.1" size="0x0.1" />
	<field name="exp" descr="exp_rewrite_enable:\;0: disable EXP rewrite \;1: enable EXP rewrite" access="RW" offset="0x4.2" size="0x0.1" />
</node>

<node name="qshr_ext" descr="" size="0x50.0" >
	<field name="local_port" descr="Local port number" access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="fr" descr="Fast Response - the device will shape the rate to its minimum value upon receive of WQE LWM (Low WaterMark) event \;0: disable\;1: enable" access="RW" offset="0x0.25" size="0x0.1" />
	<field name="ch" descr="Connected host:\;0: The configuration will be applied on the host calling QSHR. \;1: The configuration will be applied on the host connected to the function calling the QSHR." access="INDEX" offset="0x0.27" size="0x0.1" />
	<field name="global_configuration" descr="Global configuration. For details, refer to Table 2348, &quot;ETS Global Configuration Register Layout&quot;." subnode="ets_global_ext" access="RW" offset="0x48.0" size="0x8.0" />
</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\;" 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.\;" 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)\;[Spectrum2] 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="qsptc_ext" descr="" size="0x8.0" >
	<field name="itclass" descr="Received TClass" access="INDEX" offset="0x0.8" size="0x0.3" />
	<field name="local_eport" descr="Local egress port number (must be stacking port)" access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="local_iport" descr="Local ingress port number (must be stacking port)" access="INDEX" offset="0x0.24" size="0x0.8" />
	<field name="tclass" descr="Regenerated stacking TClass for received packets on stacking port with TClass \;The default value for the Stacking Port TClass Regeneration Table is tclass[itclass=i]=i." access="RW" offset="0x4.0" size="0x0.3" />
</node>

<node name="qstct_ext" descr="" size="0x10.0" >
	<field name="switch_prio" descr="Ingress Switch Priority" access="INDEX" offset="0x0.8" size="0x0.4" />
	<field name="swid" descr="Switch partition ID" access="INDEX" offset="0x0.24" size="0x0.8" />
	<field name="utclass" descr="Stacking TClass used for unicast packets with priority switch_prio.\;Default values are: \;- utclass[switch_prio=0]=1, \;- utclass[switch_prio=1]=0, \;- utclass[switch_prio=&lt;i&gt;]=i (for i&gt;1)." access="RW" offset="0x4.0" size="0x0.3" />
	<field name="mtclass" descr="Stacking TClass used for multicast packets with priority prio.\;Default values are: \;- mtclass[switch_prio=0]=1, \;- mtclass[switch_prio=1]=0, \;- mtclass[switch_prio=&lt;i&gt;]=i (for i&gt;1)." access="RW" offset="0x8.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="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)\;" 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\;\;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 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" offset="0x4.0" size="0x0.1" />
</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 505" access="RW" 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="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.11.20, &quot;RDPM - Router DSCP to Priority Mapping Register&quot;, on page 2698." 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="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="0x2c.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="type" descr="Update RALUE Action type:\;0: Update RALUE Remote Actions\;1: Update RALUE AR Actions" access="INDEX" 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="adjacency_index" descr="Adjacency Index used for matching on the existing entries.\;" access="INDEX" offset="0x10.0" size="0x0.24" />
	<field name="ecmp_size" descr="ECMP Size used for matching on the existing entries.\;The valid range is:\;Spectrum: 1-64, 512, 1024, 2048 and 4096.\;Spectrum-2: 1-128, 256, 512, 1024, 2048 and 4096." access="INDEX" offset="0x14.0" size="0x0.13" />
	<field name="new_adjacency_index" descr="New Adjacency Index. \;" access="WO" offset="0x20.0" size="0x0.24" />
	<field name="new_ecmp_size" descr="New ECMP Size. \;The valid range is:\;Spectrum: 1-64, 512, 1024, 2048 and 4096.\;Spectrum-2: 1-128, 256, 512, 1024, 2048 and 4096.\;" access="WO" offset="0x24.0" size="0x0.13" />
</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 2612, &quot;bin Layout,&quot; on page 2736. \;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_ext" descr="" size="0x3c.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 2615" 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" access="WO" offset="0x4.8" size="0x0.4" />
	<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="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, reserved when Spectrum\;\;\;Reserved when entry_type = MARKER_ENTRY" access="RW" enum="REMOTE=0x0,LOCAL=0x1,IP2ME=0x2" offset="0x1C.0" size="0x0.4" />
	<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 2573). \;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:\;Section 14.14.26.1, &quot;RALUE Remote Action&quot;, on page 2742\;Section 14.14.26.2, &quot;RALUE Local Action&quot;, on page 2744\;Section 14.14.26.3, &quot;RALUE IP2ME Action&quot;, on page 2745\;Section 14.14.26.4, &quot;RALUE AR Action&quot;, on page 2746" access="RW" high_bound="4" low_bound="0" offset="0x20.0" size="0x14.0" />
	<field name="counter_index" descr="Counter Index for flow counters\;For Spectrum: see Section 5.2, &quot;Flow Counters&quot;, on page 835\;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 836\;Not supported by SwitchX and SwitchX-2" access="RW" offset="0x34.24" size="0x0.8" />
	<field name="arn_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" access="RW" offset="0x38.31" 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="0x1c.0" >
	<field name="eport_cong_level0" descr="Egress ports congestion level threshold0\;Units of cells" 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" />
</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;\;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="RW" offset="0x8.0" size="0x0.8" />
	<field name="lp_msb" descr="Local port[9:8]" access="RW" offset="0x8.8" size="0x0.2" />
	<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="rargcr_ext" descr="" size="0xc.0" >
	<field name="arft_index_base" descr="AR Flow Table Index \;Pointer to PGT table\;\;Notes: \;1. Can be changed on the fly\;2. Base address should be 8 Bytes aligned" 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="rarlpgt_ext" descr="" size="0x120.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)\;" access="RW" high_bound="31" low_bound="0" offset="0x20.0" size="0x80.0" />
	<field name="egress_port_or" descr="bitwise OR on all Egress port bitmask of all ARLPGTs\;" access="RW" high_bound="31" low_bound="0" offset="0xA0.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_utiliztion_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\;1: enable" access="RW" enum="disable=0x0,enable=0x1" offset="0x4.31" size="0x0.1" />
</node>

<node name="rarncc_ext" descr="" size="0xa0.0" >
	<field name="arn_dmac_31_0" descr="Allowed DMAC for ARN consumption\;This field is ignored when arn_dmac_en = 0" access="RW" offset="0x0.0" size="0x4.0" />
	<field name="arn_dmac_47_32" descr="Allowed DMAC for ARN consumption" access="RW" offset="0x4.0" size="0x0.16" />
	<field name="arn_dip_type" descr="0: IPv4\;1: IPv6" access="RW" offset="0x4.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" access="RW" offset="0x4.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="0x4.31" size="0x0.1" />
	<field name="arn_dip_ipv4" descr="Allowed DIP for ARN consumption.\;This field is ignored when arn_dip_en = 0 and when arn_dip_type = 1" access="RW" offset="0x8.0" size="0x4.0" />
	<field name="arn_dip_ipv6_31_0" descr="Allowed DIP for ARN consumption.\;This field is ignored when arn_dip_en = 0 and when arn_dip_type = 0" access="RW" offset="0xC.0" size="0x4.0" />
	<field name="arn_dip_ipv6_63_32" descr="Allowed DIP for ARN consumption.\;This field is ignored when arn_dip_en = 0 and when arn_dip_type = 0" access="RW" offset="0x10.0" size="0x4.0" />
	<field name="arn_dip_ipv6_95_64" descr="Allowed DIP for ARN consumption.\;This field is ignored when arn_dip_en = 0 and when arn_dip_type = 0" access="RW" offset="0x14.0" size="0x4.0" />
	<field name="arn_dip_ipv6_127_96" descr="Allowed DIP for ARN consumption.\;This field is ignored when arn_dip_en = 0 and when arn_dip_type = 0" access="RW" offset="0x18.0" size="0x4.0" />
	<field name="arn_udp_dport" descr="Allowed UDP dport for ARN consumption." access="RW" offset="0x1C.0" size="0x0.16" />
	<field name="ingress_port_en" descr="Enable ARN consumption on the ingress port.\;bitmask:\;Bit0: local port 0\;Bit1: local port 1\;..." access="RW" high_bound="31" low_bound="0" offset="0x20.0" size="0x80.0" />
</node>

<node name="rarngc_ext" descr="" size="0x120.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="fl_type" descr="Flow Label type:\;0: packet flow label will be taken from flow_label field.\;1: packet flow label = flow_label field| (ecmp_hash &amp; 0xff)" access="RW" offset="0x4.24" size="0x0.2" />
	<field name="flow_label" descr="IPv6 Flow Label field." access="RW" offset="0x8.0" size="0x0.20" />
	<field name="version" descr="Version in ARN header." access="RW" offset="0x8.24" size="0x0.4" />
	<field name="arn_gen_grade" descr="Threshold for triggering ARN.\;If the worst grade in the AR group is higher then arn_gen_grade, ARN will be generated.\;Range 1...4." access="RW" offset="0xC.16" size="0x0.3" />
	<field name="egress_port_en" descr="Enable ARN generation per ingress port.\;Bit per port.\;Bit0: local port 0\;Bit1: local port 1\;..." access="RW" high_bound="31" low_bound="0" offset="0x20.0" size="0x80.0" />
	<field name="ingress_port_en" descr="Enable ARN generation per egress port.\;Bit per port.\;Bit0: local port 0\;Bit1: local port 1\;..." access="RW" high_bound="31" low_bound="0" offset="0xA0.0" size="0x80.0" />
</node>

<node name="rarnpc_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_en" descr="Enables ARN for the AR profile." access="RW" offset="0x0.16" size="0x0.1" />
	<field name="receive_arn_timer" descr="Time between receive ARN state to idle state.\;Units of uSec.\;Range 1...255." access="RW" offset="0x4.0" size="0x0.8" />
	<field name="change_route_timer" descr="Time between change route state to idle state.\;Units of uSec.\;Range 1...255." 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 1..4\;Note - the grade will be min(6, current_grade+penalty)" access="RW" offset="0x8.0" size="0x0.3" />
</node>

<node name="rarns_ext" descr="" size="0x84.0" >
	<field name="ingress_port_en" descr="Generate ARN only for elephant flows." access="RW" high_bound="31" low_bound="0" offset="0x0.0" size="0x80.0" />
	<field name="arn_gen_min_time" descr="Minimum time between ARN generations.\;Reserved on unset port in port_en field." access="RW" offset="0x80.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 Table 2689, &quot;l4port_cmp Layout,&quot; on page 2807\;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="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: Adaptive Routing Free\;1: Adaptive Routing Time bound\;2: Random\;3: Adaptive Routing Sticky Free" access="RW" 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" 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" 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="srt" descr="Enable the ar_shaper_rate_to\;Note: shaper_from is done prior to shaper_to\;Reserved when prof_mode = 2" access="RW" offset="0xC.0" size="0x0.1" />
	<field name="srf" descr="Enable the ar_shaper_rate_from\;Reserved when prof_mode = 2" 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="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="ratr_adjacency_parameters_auto_ext" descr="" attr_is_union="1" size="0x18.0" >
	<field name="eth_adjacency_ext" descr="" subnode="eth_adjacency_ext" offset="0x0.0" selected_by="Ethernet" 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="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_multicast_adjacency_ext" descr="" subnode="ipoib_multicast_adjacency_ext" offset="0x0.0" selected_by="IPoIB_Multicast" size="0x18.0" />
	<field name="mpls_adjacency_ext" descr="" subnode="mpls_adjacency_ext" offset="0x0.0" selected_by="MPLS" size="0x18.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="ip_gw_adjacency_ext" descr="" subnode="ip_gw_adjacency_ext" offset="0x0.0" selected_by="NAT4To6" size="0x14.0" />
	<field name="relookup_ecmp_adjacency_ext" descr="" subnode="relookup_ecmp_adjacency_ext" offset="0x0.0" selected_by="ReLookupECMP" 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" />
</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 2615" access="RO" offset="0x0.16" size="0x0.1" />
	<field name="v" descr="Valid bit. Indicates if the adjacency entry is valid.\;Note: the device may need some time before reusing an invalidated entry. During this time the entry can not be reused. It is recommended to use another entry before reusing an invalidated entry (e.g. software can put it at the end of the list for reusing). Trying to access an invalidated entry not yet cleared by the device results with failure indicating &quot;Try Again&quot; status.\;When valid is &apos;0&apos; then egress_router_interface,trap_action, adjacency_parameters and counters are reserved\;\;When write operation was not completed successfully, FW must return valid bit = 0 to provide proper indications to higher layers." access="RW" offset="0x0.24" size="0x0.1" />
	<field name="opcode" descr="Operation\;For Write:\;0: Allocate/resize Adjacency Table. Reserved when Spectrum/-2\;1: Write Adjacency entry \;2: Deallocate Adjacency Table. Reserved when Spectrum/-2\;3: Write Adjacency entry only if the activity is cleared. The write may not succeed if the activity is set. There is not direct feedback if the write has succeeded or not, however, the get the response and later read accesses to this register will reveal the actual entry (SW can compare the get response to the set command). This opcode must not be used for new entries \;For Query:\;0: Read \;2: Read and clear activity\;For Spectrum family the allocate/resize and deallocate are reserved\;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" 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 Appendix A.4.1.2, &quot;KVD Central Database Linear Entries&quot; (page 3200)\;For Spectrum-2, the index is to the KVD linear, see Section A.4.1.2, &quot;KVD Central Database Linear Entries&quot;, on page 3200\;" 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 \;8: ReLookupECMP\;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,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 2539, &quot;Ethernet Adjacency Parameters Layout,&quot; on page 2688\;Table 2541, &quot;IPoIB Unicast without GRH Adjacency Parameters Layout,&quot; on page 2689\;Table 2543, &quot;IPoIB Unicast with GRH Adjacency Parameters Layout,&quot; on page 2690\;Table 2545, &quot;IPoIB Multicast Adjacency Parameters Layout,&quot; on page 2691\;Table 2547, &quot;MPLS Adjacency Parameters Layout,&quot; on page 2692\;Table 2549, &quot;IPinIP_Encap Adjacency Parameters Layout,&quot; on page 2693\;Table 2551, &quot;L3_Generic_Encap Adjacency Parameters Layout,&quot; on page 2695\;Table 2555, &quot;NAT4To6 Adjacency Parameters Layout,&quot; on page 2698\;Table 2553, &quot;ReLookupECMP Adjacency Parameters Layout,&quot; on page 2697\;Table 2559, &quot;ARN_Encap Adjacency Parameters Layout,&quot; on page 2701" 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 835\;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 836\;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).\;The valid range is:\;Spectrum: 1-64, 512, 1024, 2048 and 4096.\;Spectrum-2/3: 1-128, 256, 512, 1024, 2048 and 4096.\;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.4.1.2, &quot;KVD Central Database Linear Entries&quot; (page 3200)" 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.4.1.2, &quot;KVD Central Database Linear Entries&quot; (page 3200)" 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 2563, &quot;RATRB - Record Layout,&quot; on page 2704" 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="eth_adjacency_ext" descr="" subnode="eth_adjacency_ext" offset="0x0.0" selected_by="Ethernet" size="0x18.0" />
	<field name="mpls_adjacency_ext" descr="" subnode="mpls_adjacency_ext" offset="0x0.0" selected_by="MPLS" size="0x18.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="ip_gw_adjacency_ext" descr="" subnode="ip_gw_adjacency_ext" offset="0x0.0" selected_by="NAT4To6" size="0x14.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" access="WO" enum="Ethernet=0x0,MPLS=0x4,IPinIP_Encap=0x5,L3_generic_encap=0x6,NAT4To6=0x7,ReLookupECMP=0x8,ReLookupLPM=0x9" 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 835" 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 836" 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 2539, &quot;Ethernet Adjacency Parameters Layout,&quot; on page 2688\;Table 2547, &quot;MPLS Adjacency Parameters Layout,&quot; on page 2692\;Table 2549, &quot;IPinIP_Encap Adjacency Parameters Layout,&quot; on page 2693\;Table 2551, &quot;L3_Generic_Encap Adjacency Parameters Layout,&quot; on page 2695\;Table 2555, &quot;NAT4To6 Adjacency Parameters Layout,&quot; on page 2698\;Table 2553, &quot;ReLookupECMP Adjacency Parameters Layout,&quot; on page 2697\;Table 2557, &quot;ReLookupLPM Adjacency Parameters Layout,&quot; on page 2700" 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 2615" 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 835\;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 836\;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_ext" descr="" size="0x20.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="INDEX" 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" 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" />
</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 2579." 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="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. \;bit0: reserved\;bit1: 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.14, &quot;Custom Bytes&quot;, on page 1975\;" 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 1101, &quot;cbsets Layout,&quot; on page 1259.\;Reserved when general_fields.Bit1 = 0.\;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="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 2657, &quot;REIV - elport_record Layout,&quot; on page 2775" 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\;Spectrum-2/3: 1-128, 256, 512, 1024, 2048 and 4096.\;Spectrum-4: 1-256, 512, 1024, 2048 and 4096." 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" 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" 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). \;The valid range is:\;Spectrum-1: 1-64, 512, 1024, 2048 and 4096.\;Spectrum-2: 1-128, 256, 512, 1024, 2048 and 4096.\;Spectrum-4: 1-256, 512, 1024, 2048 and 4096.\;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="rgcr_ext" descr="" size="0x28.0" >
	<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.20, &quot;RDPM - Router DSCP to Priority Mapping Register&quot;, on page 2716\;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%\;Reserved when Spectrum-2" 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" 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%\;Reserved when Spectrum-2" 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\;\;\;" 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.26, &quot;RALUE - Router Algorithmic LPM Unicast Entry Register&quot;, on page 2738\;Bit 1: Disable activity bit in Router Algorithmic LPM Unicast Host Entry. See Section 14.14.28, &quot;RAUHT - Router Algorithmic LPM Unicast Host Table Register&quot;, on page 2756\;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.4.1.2, &quot;KVD Central Database Linear Entries&quot;, on page 3200\;The list is configured by RMEIR, see Section 14.14.37, &quot;RMEIR - Router Multicast Expected Ingress RIFs Register&quot;, on page 2772\;Reserved when SwitchX, SwitchX-2 and Switch-IB" access="RW" offset="0x24.0" size="0x0.24" />
</node>

<node name="rica_ext" descr="" size="0x10.0" >
	<field name="index" descr="Counter set index. \;Relevant for Interface Counter Set type only." access="INDEX" offset="0x0.0" size="0x0.8" />
	<field name="counter_set_type" descr="Counter set type.\;0: Interface counter set. \;1: Global IPv4 counter set\;2: Global IPv6 counter set\;\;The above types allocate two counter sets, one for ingress counter and one for egress counter.\;Note: For the global counter sets, the ingress and egress handles must be freed on the same operation." access="INDEX" offset="0x0.16" size="0x0.4" />
	<field name="op" descr="Operation:\;0: NOP\;1: allocate\;2: test\;3: free" access="OP" offset="0x0.30" size="0x0.2" />
	<field name="ingress_counter_set" descr="Opaque object that represents the counter set. Returned when allocating counter set. This is provided by the software for router interface creation.\;Provided by software on Free operation" access="RW" offset="0x8.0" size="0x4.0" />
	<field name="egress_counter_set" descr="Opaque object that represents the counter set. Returned when allocating counter set. This is provided by the software for router interface creation.\;Provided by software on Free operation" access="RW" offset="0xC.0" size="0x4.0" />
</node>

<node name="ricnt_inter_ext" descr="" size="0x100.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/-2, Switch-IB/2, Quantum" access="INDEX" offset="0x0.16" size="0x0.3" />
	<field name="opcode" descr="0: NOPE, supported only for read access\;1: ADD counters - add a set of values to the counter_handle.\;2: FLUSH Counters - when counter set is un-bound, flush ensures counters in counter_handle will not be updated due to packets in the pipe.\;8: CLEAR counters - reset all counters of the counter_handle\;\;When read opcode can be NOPE or CLEAR\;For SwitchX/-2, Switch-IB/2, Quantum: When write opcode must be CLEAR" access="OP" offset="0x0.28" size="0x0.4" />
	<field name="counter_handle" descr="For SwitchX/-2 the counter handle is retrieved using RICA\;For Spectrum/-2, Switch-IB/2, Quantum: the counter_handle is described in Table 2585, &quot;RICNT Counter Handle Layout,&quot; on page 2719. \;For Switch-IB/2, Quantum: based on Router Interface Index" access="INDEX" offset="0x4.0" size="0x4.0" />
	<field name="counter_set" descr="Router Interface counter set types.\;For Spectrum: See Section 5.2.2, &quot;Counter Set Type&quot;, on page 836\;Supports counter_set_types of:\;- No Count\;- CounterSet4 (SwitchX/-2 only)\;- IB Router Interface Counter-set Basic (Switch-IB/2, Quantum)\;- Router Interface Counter-set Basic (Spectrum/-2)\;- Router Interface Counter-set Enhanced (Spectrum/-2)\;- Router Interface Counter-set Mixed-1 (Spectrum/-2)\;- Router Interface Counter-set Mixed-2 (Spectrum/-2)\;For ADD operation the counter set is used as write field" access="RW" high_bound="61" low_bound="0" offset="0x8.0" size="0xf8.0" />
</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.4.2, &quot;Port Group Table (PGT)&quot; (page 3200)" 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 2510, &quot;RIGR List Type Erif List Erif_Entry Layout,&quot; on page 2649\;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_ext" descr="" size="0x3fc.0" >
	<field name="offset" descr="Offset for the Interface Group\;SwitchX and SwitchX-2:\;Offset of the multicast forwarding entry within the Multicast Forwarding Table to which the interfaces would be added. Same index used in RMFT register to write the {S,G} / {*,G} entry." access="INDEX" offset="0x0.0" size="0x0.18" />
	<field name="list_encoding" descr="0: SwitchX_Ethernet\;1: IPoIB\;" access="RW" enum="SwitchX_Ethernet=0x0,IPoIB=0x1" offset="0x0.22" size="0x0.2" />
	<field name="op" descr="Opcode:\;1: Add router interfaces to group.\;2: Remove router interfaces from group\;3: Remove all interfaces\;4: Update adjacency_index of IPoIB router interfaces\;Note: For the Update op, all router interfaces provided in router_interface_list, must be of type IPoIB PKEY interface" access="WO" offset="0x0.24" size="0x0.3" />
	<field name="type" descr="Entry Type:\;0: IPv4\;1: IPv6" access="INDEX" enum="IPv4=0x0,IPv6=0x1" offset="0x0.28" size="0x0.2" />
	<field name="router_interface_list" descr="Router Interface List.\;Encoding of this field depends on the type field.\;Table 2500, &quot;Ethernet Only Router Interface List Layout,&quot; on page 2645\;Table 2502, &quot;IPoIB Router Interface List Layout,&quot; on page 2645\;Note: It is possible to use (type==Ethernet and IPoIB), only that packing might cause larger command payload in case of a large number of interfaces." subnode="rigr_router_interface_list_auto_ext" access="RW" offset="0x4.0" size="0x3f8.0" union_selector="$(parent).list_encoding" />
</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.19, &quot;RIPS - Router IP version Six Register&quot;, on page 2715\;For Spectrum, the index is to the KVD linear, see Section A.4.1, &quot;KVD Central Database&quot;, on page 3196\;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_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.13, &quot;Tunnel QoS Profiles,&quot; on page 2462\;1: Use tqos_profile_id" access="OP" offset="0x4.31" size="0x0.1" />
</node>

<node name="rigr_router_interface_list_auto_ext" descr="" attr_is_union="1" size="0x3f8.0" >
	<field name="eth_only_router_ext" descr="" subnode="eth_only_router_ext" offset="0x0.0" selected_by="SwitchX_Ethernet" size="0x3f8.0" />
	<field name="ipoib_router_inter_ext" descr="" subnode="ipoib_router_inter_ext" offset="0x0.0" selected_by="IPoIB" size="0x3f8.0" />
</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_nve_decap_ext" descr="" subnode="rigr_nve_decap_ext" offset="0x0.0" selected_by="NVE_DECAP" size="0x8.0" />
	<field name="rigr_generic_ext" descr="" subnode="rigr_generic_ext" offset="0x0.0" selected_by="GENERIC_DECP" size="0x20.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\;3: NVE_DECAP\;\;5: GENERIC_DECP - Reserved when Spectrum (1st Gen)" access="RW" enum="ERIF_LIST=0x0,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.4.1.2, &quot;KVD Central Database Linear Entries&quot; (page 3200)" 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.4.1.2, &quot;KVD Central Database Linear Entries&quot; (page 3200)\;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 2508, &quot;RIGR List Type Erif List Layout,&quot; on page 2649\;See Table 2514, &quot;RIGR List Type NVE Decap Layout,&quot; on page 2652\;See Table 2516, &quot;RIGR List Type Generic Decap Layout,&quot; on page 2653" subnode="rigr_v2_erif_list_auto_ext" access="RW" offset="0x20.0" size="0x90.0" union_selector="$(parent).list_type" />
</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.4.1, &quot;KVD Central Database&quot;, on page 3196" 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 2725, &quot;Router Entry Record Layout,&quot; on page 2831" 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="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\;Reserved when SwitchX/-2 and Spectrum/-2\;For IB switches must be set to &apos;1&apos;" access="RW" 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 when 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 2475, &quot;VLAN Router Interface Properties Layout,&quot; on page 2627\;Table 2477, &quot;FID Router Interface Properties Layout,&quot; on page 2629\;Table 2479, &quot;Sub-Port Router Interface Properties Layout,&quot; on page 2631\;Table 2484, &quot;Loopback Router Interface Properties Layout,&quot; on page 2634\;Table 2481, &quot;IPoIB PKEY Router Interface Properties Layout,&quot; on page 2633\;Table 2492, &quot;IB SWID Router Interface Properties Layout,&quot; on page 2640" subnode="ritr_router_interface_properties_auto_ext" access="RW" offset="0x8.0" size="0x24.0" union_selector="$(parent).type" />
	<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 835\;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 836\;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 835\;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 836\;For Spectrum/-2: if IPinIP Encapsulation may be done on this RIF then counter set must not be &apos;0&apos;\;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" size="0x24.0" >
	<field name="vlan_router_interface_ext" descr="" subnode="vlan_router_interface_ext" offset="0x0.0" selected_by="VLAN" size="0x18.0" />
	<field name="fid_router_ext" descr="" subnode="fid_router_ext" offset="0x0.0" selected_by="FID" size="0x18.0" />
	<field name="router_interface_sub_port_ext" descr="" subnode="router_interface_sub_port_ext" offset="0x0.0" selected_by="Subport" size="0x18.0" />
	<field name="loopback_router_interface_ext" descr="" subnode="loopback_router_interface_ext" offset="0x0.0" selected_by="Loopback" size="0x24.0" />
	<field name="ipoib_pkey_router_ext" descr="" subnode="ipoib_pkey_router_ext" offset="0x0.0" selected_by="IPoIB_PKEY" size="0x14.0" />
	<field name="ib_swid_ext" descr="" subnode="ib_swid_ext" offset="0x0.0" selected_by="IB_SWID" size="0x24.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="rlcme_ext" descr="" size="0x3c.0" >
	<field name="m_idx" descr="M Index" access="INDEX" offset="0x0.0" size="0x0.1" />
	<field name="op" descr="Operation\;For Write:\;0: WRITE_STATIC\;1: WRITE_CACHEABLE (may be overwritten by HW)\;2: DELETE - regardless of static or cacheable, no error if entry does not exist\;For Query:\;0: READ_STATIC" 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="virtual_router" descr="Virtual Router ID\;Range is 0..cap_max_virtual_routers-1" access="INDEX" offset="0x4.16" size="0x0.16" />
	<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" access="RW" offset="0x1C.0" size="0x0.2" />
	<field name="action" descr="The forwarding action as function of action_type:\;Section 14.14.26.1, &quot;RALUE Remote Action&quot;, on page 2742\;Section 14.14.26.2, &quot;RALUE Local Action&quot;, on page 2744\;Section 14.14.26.3, &quot;RALUE IP2ME Action&quot;, on page 2745\;Reserved when action_valid = 0" access="RW" high_bound="4" low_bound="0" offset="0x20.0" size="0x14.0" />
	<field name="counter_index" descr="Counter Index for flow counters\;For Spectrum: see Section 5.2, &quot;Flow Counters&quot;, on page 835\;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 836\;Not supported by SwitchX and SwitchX-2" access="RW" offset="0x34.24" size="0x0.8" />
	<field name="l_value" descr="Value of L\;For IPv4: up to 31, for IPv6: up to 127.\;Reserved when action_valid = 1" access="RW" offset="0x38.0" size="0x0.7" />
	<field name="l_vector" descr="L Vector\;bit0: value of 2bits {m+1, m+2} is &quot;0&quot;\;bit1: value of 2bits {m+1, m+2} is &quot;1&quot;\;bit2: value of 2bits {m+1, m+2} is &quot;2&quot;\;bit3: value of 2bits {m+1, m+2} is &quot;3&quot;" access="RW" offset="0x38.8" size="0x0.4" />
	<field name="action_valid" descr="The action is valid:\;0: this entry provides the L value\;1: this entry is an action entry" access="RW" offset="0x38.25" size="0x0.1" />
</node>

<node name="rlcmld_ext" descr="" size="0x30.0" >
	<field name="filter_fields" descr="Filter Fields:\;if a bit is &apos;0&apos; then the relevant field is ignored (like mask=0)\;Bit0: reserved for future\;Bit1: filter by m_idx\;Bit2: filter by protocol\;Bit3: filter by virtual_router\;Bit4: filter by dip\;All set filters are relevant (there is AND between the filters)" access="INDEX" offset="0x0.0" size="0x0.8" />
	<field name="select" descr="Which entries to delete:\;0: ML entries\;1: M entries\;2: M and ML entries" access="INDEX" offset="0x0.16" size="0x0.2" />
	<field name="m_idx" descr="M Index\;0: m0\;1: m1" access="INDEX" offset="0x4.0" size="0x0.1" />
	<field name="protocol" descr="0: Unicast IPv4\;1: Unicast IPv6" access="INDEX" offset="0x8.0" size="0x0.4" />
	<field name="virtual_router" descr="Virtual Router ID\;Range is 0..cap_max_virtual_routers-1" access="INDEX" offset="0xC.0" size="0x0.16" />
	<field name="dip" descr="The prefix and mask (dip_mask) 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="0x10.0" size="0x10.0" />
	<field name="dip_mask" descr="dip_mask:\;per bit:\;0: no match\;1: match" access="INDEX" high_bound="3" low_bound="0" offset="0x20.0" size="0x10.0" />
</node>

<node name="rlcmle_action_auto_ext" descr="" attr_is_union="1" size="0x14.0" >
	<field name="remote_action_ext" descr="" subnode="remote_action_ext" offset="0x0.0" selected_by="REMOTE" size="0x14.0" />
	<field name="local_action_ext" descr="" subnode="local_action_ext" offset="0x0.0" selected_by="LOCAL" size="0x14.0" />
	<field name="ip2me_ext" descr="" subnode="ip2me_ext" offset="0x0.0" selected_by="IP2ME" size="0x14.0" />
</node>

<node name="rlcmle_ext" descr="" size="0x38.0" >
	<field name="m_idx" descr="M Index" access="INDEX" offset="0x0.0" size="0x0.1" />
	<field name="op" descr="Operation\;For Write:\;0: WRITE_STATIC\;1: WRITE_CACHEABLE (may be overwritten by HW)\;2: DELETE - regardless of static or cacheable, no error if entry does not exist\;For Query:\;0: READ_STATIC" 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="l_value" descr="Value of L\;For IPv4: up to 31, for IPv6: up to 127." access="INDEX" offset="0x4.0" size="0x0.7" />
	<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="dip" descr="The prefix and mask (dip_mask) 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\;Reserved when entry_type = MARKER_ENTRY" access="RW" enum="REMOTE=0x0,LOCAL=0x1,IP2ME=0x2" offset="0x1C.0" size="0x0.2" />
	<field name="action" descr="The forwarding action as function of action_type:\;Table 2617, &quot;Remote action Layout,&quot; on page 2742\;Table 2619, &quot;Local Action Layout,&quot; on page 2744\;Table 2621, &quot;IP2ME action Layout,&quot; on page 2745" subnode="rlcmle_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 835\;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 836\;Not supported by SwitchX and SwitchX-2" access="RW" offset="0x34.24" size="0x0.8" />
</node>

<node name="rlpmce_ext" descr="" size="0x4.0" >
	<field name="disable" descr="LPM cache:\;0: enabled (default)\;1: disabled" access="RW" offset="0x0.0" size="0x0.1" />
	<field name="flush" descr="Flush:\;0: do not flush the cache\;1: flush (clear) the cache" access="WO" offset="0x0.4" size="0x0.1" />
</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.4.1.2, &quot;KVD Central Database Linear Entries&quot; (page 3200)" 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="0x174.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 Section 11.8, &quot;Flexible ACL Action Set&quot;, on page 2239    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.8.2.3, &quot;Goto action set&quot;, on page 2244)\;The action types are defined in Section 11.8, &quot;Flexible ACL Action Set&quot;, on page 2239.\;See Section 11.8.5, &quot;Flexible Action Set Blocks&quot;, on page 2253\;See Section 11.8.5.2, &quot;MAC_TTL_ACTION&quot;, on page 2253\;See Section 11.8.5.4, &quot;TRAP_ACTION&quot;, on page 2258\;See Section 11.8.5.9, &quot;QOS_ACTION&quot;, on page 2267\;See Section 11.8.5.11, &quot;POLICING_AND_COUNTING_ACTION&quot;, on page 2272\;See Section 11.8.5.14, &quot;META_DATA_ACTION&quot;, on page 2278\;See Section 11.8.5.16, &quot;MC_ROUTING_ACTION&quot;, on page 2285\;If the packet is not discarded by TRAP_ACTION then ROUTER_MC_ACTION must be called" access="RW" high_bound="60" low_bound="0" offset="0x80.0" size="0xf4.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.4.2, &quot;Port Group Table (PGT)&quot;, on page 3200" 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\;Range 0 .. max_mid - 1\;For Spectrum family, the index is to the Port Group Table, see Section A.4.2, &quot;Port Group Table (PGT)&quot;, on page 3200" 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.7, &quot;RECR - Router ECMP Configuration Register&quot;, on page 2659 and Section 14.14.8, &quot;RECR_V2 - Router ECMP Configuration Version 2 Register&quot;, on page 2661" 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_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\;Reserved when Spectrum (1st generation ASIC)" 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" 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" 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="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.6, &quot;RTAR - Router TCAM Allocation Register&quot;, on page 2657." 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="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.4.1.2, &quot;KVD Central Database Linear Entries&quot;, on page 3200" 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 2569, &quot;RTDP Entry for NVE Decap Layout,&quot; on page 2708\;Table 2571, &quot;RTDP Entry for IPinIP Decap Layout,&quot; on page 2709\;Table 2573, &quot;RTDP Entry for Generic Decap Layout,&quot; on page 2711" 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.19, &quot;RIPS - Router IP version Six Register&quot;, on page 2715\;For Spectrum, the index is to the KVD linear, see Section A.4.1, &quot;KVD Central Database&quot;, on page 3196\;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.13, &quot;Tunnel QoS Profiles,&quot; on page 2462\;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.19, &quot;RIPS - Router IP version Six Register&quot;, on page 2715\;For Spectrum, the index is to the KVD linear, see Section A.4.1, &quot;KVD Central Database&quot;, on page 3196\;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.13, &quot;Tunnel QoS Profiles,&quot; on page 2462\;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_nve_decap_ext" descr="" subnode="rtdp_nve_decap_ext" offset="0x0.0" selected_by="NVE" size="0x4.0" />
	<field name="rtdp_ipinip_ext" descr="" subnode="rtdp_ipinip_ext" offset="0x0.0" selected_by="IPinIP" size="0x18.0" />
	<field name="rtdp_generic_ext" descr="" subnode="rtdp_generic_ext" offset="0x0.0" selected_by="Generic_Decap" size="0x1c.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 504" 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="ruht_ext" descr="" size="0x78.0" >
	<field name="offset" descr="Offset within the Unicast FIB LPM to write to. Numbered from 0..max_host_table-1 as defined by RATR" 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." 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" access="INDEX" offset="0x0.24" size="0x0.2" />
	<field name="oe" descr="Offset Enable.\;When set, the access is using the offset field.\;When cleared, the access is using the IP address.\;Note: accessing an entry using offset result in better performance." access="INDEX" offset="0x0.30" size="0x0.1" />
	<field name="v" descr="Valid bit" 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.\;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="ecmp_hash" descr="Equal Cost Multi-Pathing Hash value" 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" 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 504" 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" access="RW" offset="0x60.28" size="0x0.4" />
	<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)" 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 of m bit is set\;" access="RW" offset="0x64.24" size="0x0.3" />
	<field name="m" descr="Mirror Enable\;" access="RW" offset="0x64.31" size="0x0.1" />
	<field name="adjacency_index" descr="Index to the adjacency table." access="RW" offset="0x74.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" 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" access="RW" offset="0x74.24" size="0x0.8" />
</node>

<node name="rxltcc_ext" descr="" size="0x68.0" >
	<field name="clear" descr="clear counters" access="OP" offset="0x0.31" size="0x0.1" />
	<field name="hit_ipv4_m_high" descr="Counts hit on IPv4 M lookups\;Count only when no need to continue ML lookup\;Thus a hit on M may be counted as hit on ML" access="RO" offset="0x10.0" size="0x4.0" />
	<field name="hit_ipv4_m_low" descr="Counts hit on IPv4 M lookups\;Count only when no need to continue ML lookup\;Thus a hit on M may be counted as hit on ML" access="RO" offset="0x14.0" size="0x4.0" />
	<field name="hit_ipv4_ml_high" descr="Counts hit on IPv4 ML lookups\;" access="RO" offset="0x18.0" size="0x4.0" />
	<field name="hit_ipv4_ml_low" descr="Counts hit on IPv4 ML lookups\;" access="RO" offset="0x1C.0" size="0x4.0" />
	<field name="miss_ipv4_m_high" descr="Counts misses on IPv4 M lookups\;If there was an IPv4 ML lookup then this is not counted" access="RO" offset="0x20.0" size="0x4.0" />
	<field name="miss_ipv4_m_low" descr="Counts misses on IPv4 M lookups\;If there was an IPv4 ML lookup then this is not counted" access="RO" offset="0x24.0" size="0x4.0" />
	<field name="miss_ipv4_ml_high" descr="Counts misses on IPv4 ML lookups\;Note: a miss on ML is counted only if there was a hit on the M" access="RO" offset="0x28.0" size="0x4.0" />
	<field name="miss_ipv4_ml_low" descr="Counts misses on IPv4 ML lookups\;Note: a miss on ML is counted only if there was a hit on the M" access="RO" offset="0x2C.0" size="0x4.0" />
	<field name="learned_ipv4_high" descr="Counts learned IPv4 lookups\;Typically the learned is equal or smaller than the miss" access="RO" offset="0x30.0" size="0x4.0" />
	<field name="learned_ipv4_low" descr="Counts learned IPv4 lookups\;Typically the learned is equal or smaller than the miss" access="RO" offset="0x34.0" size="0x4.0" />
	<field name="hit_ipv6_m_high" descr="Counts hit on IPv6 M lookups\;(See notes above)" access="RO" offset="0x40.0" size="0x4.0" />
	<field name="hit_ipv6_m_low" descr="Counts hit on IPv6 M lookups\;(See notes above)" access="RO" offset="0x44.0" size="0x4.0" />
	<field name="hit_ipv6_ml_high" descr="Counts hit on IPv6 ML lookups\;(See notes above)" access="RO" offset="0x48.0" size="0x4.0" />
	<field name="hit_ipv6_ml_low" descr="Counts hit on IPv6 ML lookups\;(See notes above)" access="RO" offset="0x4C.0" size="0x4.0" />
	<field name="miss_ipv6_m_high" descr="Counts misses on IPv6 M lookups\;(See notes above)\;" access="RO" offset="0x50.0" size="0x4.0" />
	<field name="miss_ipv6_m_low" descr="Counts misses on IPv6 M lookups\;(See notes above)\;" access="RO" offset="0x54.0" size="0x4.0" />
	<field name="miss_ipv6_ml_high" descr="Counts misses on IPv6 ML lookups\;(See notes above)" access="RO" offset="0x58.0" size="0x4.0" />
	<field name="miss_ipv6_ml_low" descr="Counts misses on IPv6 ML lookups\;(See notes above)" access="RO" offset="0x5C.0" size="0x4.0" />
	<field name="learned_ipv6_high" descr="Counts learned IPv6 lookups\;(See notes above)" access="RO" offset="0x60.0" size="0x4.0" />
	<field name="learned_ipv6_low" descr="Counts learned IPv6 lookups\;(See notes above)" access="RO" offset="0x64.0" size="0x4.0" />
</node>

<node name="rxlte_ext" descr="" size="0xc.0" >
	<field name="virtual_router" descr="Virtual router ID associated with the router interface\;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="0x4.0" size="0x0.4" />
	<field name="lpm_xlt_en" descr="LPM XLT Enable:\;0: disable (default)\;1: enable" access="RW" offset="0x8.0" size="0x0.4" />
</node>

<node name="rxltm_ext" descr="" size="0x14.0" >
	<field name="m_sel" descr="M select: \;0: m0\;1: m1\;Note: update time is a few mSec. \;When m_sel is updated then SW must set go_m_sel .\;" access="RW" offset="0x0.0" size="0x0.1" />
	<field name="go_m_sel" descr="Go m select:\;Set to 1 by SW when m_select value is changed by SW.\;Set to 0 by FW when m_select change was implemented.\;If go_m_sel=1 then NACK\;Note: during change of m_sel SW must not delete XLT entries with old m value." access="RW" offset="0x0.1" size="0x0.1" />
	<field name="m_sel_update" descr="0: Update all fields\;1: Update only go_m_sel, m_sel" access="OP" offset="0x0.31" size="0x0.1" />
	<field name="m0_val_v4" descr="Global M0 value For IPv4\;Range 0..32" access="RW" offset="0x10.0" size="0x0.6" />
	<field name="m1_val_v4" descr="Global M1 value For IPv4\;Range 0..32" access="RW" offset="0x10.8" size="0x0.6" />
	<field name="m0_val_v6" descr="Global M0 value For IPv6\;Range 0..128" access="RW" offset="0x10.16" size="0x0.8" />
	<field name="m1_val_v6" descr="Global M1 value For IPv6\;Range 0..128" access="RW" offset="0x10.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 - 1\;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 2447\;\;\;\;\;" 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="snap" descr="Read the snapshot guage\;0: FREE - read free running buff_occupancy\;1: SNAP - read snapshot of the buff_occupancy\;When SBSNR.status is RELEASED then the device will NACK the command\;Reserved when Spectrum" access="OP" offset="0x0.30" size="0x0.1" />
	<field name="desc" descr="[Advanced]\;Descriptor buffer\;\;\;" access="INDEX" offset="0x0.31" 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\;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, 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\;[Advanced] When: (1) dir=Ingress and (2) desc=1 and (3) the PG is lossless then the max_buff must not be &apos;0&apos;, both for static and dynamic modes\;" 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\;[Advanced] exposed supported: pools 0..8\;[Advanced] actual supported: pools 0..15, pool 13 is used for FW pool swap, pool 14 is used for desc, pool 15 is used for MC" access="RW" offset="0x24.0" size="0x0.4" />
</node>

<node name="sbctc_ext" descr="" size="0x20.0" >
	<field name="mode" descr="Mode of threshold:\;0: Fixed\;1: Percentage\;Reserved when Spectrum and Quantum\;" access="RW" 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="Direction\;0: Egress Tclass\;1: Ingress PG\;\;Reserved when Spectrum-1\;" access="INDEX" offset="0x0.24" size="0x0.2" />
	<field name="event" descr="Event generation on crossing thr max for this port:\;0: NO_EVENT - Do not generate event\;1: EVENTS - Generate events for crossing up and down\;Not configured when en_config = 0" access="RW" 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_ext" descr="" size="0x210.0" >
	<field name="clr" descr="Clear counters" access="OP" offset="0x0.31" size="0x0.1" />
	<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\;Range is 0.. cap_max_cpu_ingress_tclass-1\;See Table 1656, &quot;SBDCC - counter Layout,&quot; on page 1916" subnode="uint64" 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 833\;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.\;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 when Spectrum family\;\;For Spectrum: See Section 5.1, &quot;Performance and Monitoring Counters&quot;, on page 833\;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 836\;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="0xc.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\;Reserved when Spectrum/-2" 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 \;Reserved when SwitchX/-2, Switch-IB/2, Quantum and Spectrum-2/-3" access="RW" offset="0x0.4" size="0x0.1" />
	<field name="hba" descr="[Spectrum-4]\;Hierarchical Buffer Admission\;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\;\;Supported only from Spectrum-4" access="RW" offset="0x8.0" 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 a hist_id\;1: Unbind a hist_id (default)" access="RW" 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 , &quot;,&quot; on page 1921" access="RW" offset="0x8.0" size="0x0.16" />
	<field name="hist_parameters" descr="According to hist_type\;See Table , &quot;,&quot; on page 1921" access="RW" offset="0xC.0" size="0x4.0" />
	<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_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 - 1\;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 2447\;\;\;\;" 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 1664, &quot;SBHBR - Histograms Hist-type for queue histograms,&quot; on page 1921" 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.shp_max_loan&gt;0 may use the SHP. See Table 3091, &quot;Buffer Management Resources,&quot; on page 3228" 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_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 1669, &quot;SBHRR - Bin Layout,&quot; on page 1924" subnode="uint64" 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 - 1\;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 2447\;\;\;" 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 1664, &quot;SBHBR - Histograms Hist-type for queue histograms,&quot; on page 1921" 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 1675, &quot;SBHRR_V2 - Bin Layout,&quot; on page 1931" 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: the internal buffer status is not yet at the size of buff_size\;1: the internal buffer status is equal to buff_size" access="RO" 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="desc" descr="[Advanced]\;Descriptor buffer" access="INDEX" offset="0x0.31" size="0x0.1" />
	<field name="pool" descr="Association of the port-priority to a pool\;[Advanced] exposed supported: pools 0..8\;[Advanced] actual supported: pools 0..15, pool 13 is used for FW pool swap, pool 14 is used for desc, pool 15 is used for MC\;[Advanced] default for desc is pool 14\;[Advanced] default for non-desc is pool 15" 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 SBSNR.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\;[Advanced] exposed supported: pools 0..8\;[Advanced] actual supported: pools 0..15, pool 13 is used for FW pool swap, pool 14 is used for desc, pool 15 is used for MC" 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="snap" descr="Read the snapshot guage\;0: FREE - read free running buff_occupancy\;1: SNAP - read snapshot of the buff_occupancy\;When SBSNR.status is RELEASED then the device will NACK the command\;Reserved when Spectrum" access="OP" offset="0x0.30" size="0x0.1" />
	<field name="desc" descr="[Advanced]\;Descriptor buffer\;\;\;" access="INDEX" offset="0x0.31" 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\;[Advanced] When: (1) dir=Ingress and (2) desc=1 and (3) the pool is associated from a lossless PG then the max_buff must not be &apos;0&apos;, both for static and dynamic modes\;" 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\;[Advanced] exposed supported: pools 0..8\;[Advanced] actual supported: pools 0..15, pool 13 is used for FW pool swap, pool 14 is used for desc, pool 15 is used for MC" 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="snap" descr="Read the snapshot guage\;0: FREE - read free running buff_occupancy\;1: SNAP - read snapshot of the buff_occupancy\;When SBSNR.status is RELEASED then the device will NACK with status = RESOURCE_NOT_AVAILABLE\;Reserved when Spectrum" access="OP" offset="0x0.30" size="0x0.1" />
	<field name="desc" descr="[Advanced]\;Descriptor buffer\;For Spectrum: Total 84960 descriptors\;\;\;" access="INDEX" offset="0x0.31" size="0x0.1" />
	<field name="size" descr="Pool size in buffer cells\;Reserved when infi_size = 1\;[Advanced] When: (1) dir=Ingress and (2) desc=1 and (3) a lossless PG is associating to this pool then the size must not be &apos;0&apos;" access="RW" offset="0x4.0" size="0x0.24" />
	<field name="infi_size" descr="size is infinite\;When set, the size field is reserved" 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. Note: currenty not supported by Switch FW\;" access="RO" offset="0x14.0" size="0x0.24" />
</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 1630, &quot;Shared Buffer Snapshot triggers,&quot; on page 1885" access="RO" offset="0x4.0" size="0x0.8" />
	<field name="trigger_parameters" descr="Trigger parameters.\;See encoding according to Table 1630, &quot;Shared Buffer Snapshot triggers,&quot; on page 1885" 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 1630, &quot;Shared Buffer Snapshot triggers,&quot; on page 1885\;\;" 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="ports" descr="Ports :\;0: read per pg_buff, tclass \;1: ports, read per port \;" access="INDEX" offset="0x0.0" 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 SBSNR.status is RELEASED then the device will NACK the command\;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="desc" descr="[Advanced]\;Descriptor buffer\;\;\;" access="INDEX" offset="0x4.31" size="0x0.1" />
	<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\;Reserved when ports = 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 - 1\;For traffic class to CPU port: range is 0..cap_max_cpu_ingress_tclass- 1\;\;\;Reserved when ports = 1" subnode="uint64" access="INDEX" offset="0x54.0" size="0x8.0" />
	<field name="shared_buffer_status" descr="Shared Buffer Properties, see Table 1649, &quot;Shared Buffer Status Fields,&quot; on page 1911\;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="0x410.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_swith_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" offset="0x0.0" size="0x0.8" />
	<field name="desc" descr="[Advanced]\;Descriptor buffer\;0: CELLS\;1: DESC - Descriptors\;\;\;" access="INDEX" offset="0x0.29" size="0x0.1" />
	<field name="snap" descr="Read the snapshot gauge\;0: FREE - read current status\;1: SNAP - read snapshot\;When SBSNR.status is RELEASED then the device will NACK the command\;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\;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[11:8]" access="INDEX" offset="0x8.8" size="0x0.4" />
	<field name="fisrt_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 1649, &quot;Shared Buffer Status Fields,&quot; on page 1911\;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" />
</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/-2" access="OP" 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="record_locator" descr="Used for querying the FDB. Use record_locator=0 to initiate the query. When a record is returned, a new record_locator is returned to be used in the subsequent query.\;Reserved when database update." access="INDEX" offset="0x4.0" size="0x0.30" />
	<field name="op" descr="Operation.\;For Query:\;0: SFD_DUMP - dump entire FDB (process according to record_locator)\;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:\;0: SFD_TEST - Response indicates if each of the records could be added to the FDB. Test operation is not supported by Spectrum\;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" enum="SFD_TEST=0x0,SFD_EDIT=0x1,SFD_REMOVE=0x2" 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="For rec_type = 0, see Table 1007, &quot;SFD - Records type0 Layout,&quot; on page 1190\;For rec_type = 1, see Table 1009, &quot;SFD - Records type1 Layout,&quot; on page 1192" access="RW" high_bound="255" low_bound="0" offset="0x10.0" size="0x400.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: Update Multicast_Tunnel_FDB_record.underlay_mc_ptr and ecmp_size\;1: Update Multicast_FDB_record.mid and Update Multicast_Tunnel_FDB_record.mid\;2: Update Unicast_Tunnel_FDB_record.uip_lsb (the pointer to the generic L2 encapsulation entry) and ecmp_size\;3: Update counter_set_type, counter_index for all FDB Record Types\;4: 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: Update Multicast_Tunnel_FDB_MC_DMAC.underlay_mc_ptr and ecmp_size\;\;Explanation:\;- Multicast_Tunnel_FDB_UC_DMAC is Multicast_Tunnel_FDB_record entries where the DMAC is a UC DMAC (bit40=&apos;0&apos;)\;- Multicast_Tunnel_FDB_MC_DMAC is Multicast_Tunnel_FDB_record entries where the DMAC is a non-UC DMAC (bit40!=&apos;0&apos;)\;\;See Section 7.2.17, &quot;FDB Records&quot;, on page 1134" access="INDEX" 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 (24bits)\;For update_type = 1:\;- Multicast_FDB_record.mid (16bits)\;- Multicast_Tunnel_FDB_record.mid (16bits)\;For update_type = 2:\;Update Unicast_Tunnel_FDB_record.uip_lsb (24bits)\;For update_type = 3, 6, 7, 8:\;- bits 31:24: counter_set_type (8bit)\;- bits 23:0: counter_index (24bit)" access="INDEX" offset="0x20.0" size="0x4.0" />
	<field name="parameter1" descr="For update_type = 0, 4, 5:\;- Multicast_Tunnel_FDB_record.ecmp_size (13bits)\;For update_type = 2:\;- Unicast_Tunnel_FDB_record.ecmp_size (13bits)" 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 (13bits)\;For update_type = 1:\;- Multicast_FDB_record.mid (16bits)\;- Multicast_Tunnel_FDB_record.mid (16bit)s\;For update_type = 2:\;Update Unicast_Tunnel_FDB_record.uip_lsb (24bits)\;For update_type = 3\;- bits 31:24: counter_set_type (8bit)\;- bits 23:0: counter_index (24bit)" access="WO" offset="0x40.0" size="0x4.0" />
	<field name="new_parameter1" descr="For update_type = 0, 4, 5:\;- Multicast_Tunnel_FDB_record.ecmp_size (13bits)\;For update_type = 2:\;- Unicast_Tunnel_FDB_record.ecmp_size (13bits)" access="WO" offset="0x44.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.17, &quot;FDB Records&quot;, on page 1134" 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.17, &quot;FDB Records&quot;, on page 1134" 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_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 policy: entry_policy\;Bit2: filter by entry type: entry_type\;Bit3: filter by entry parameters: entry_parameters\;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="rec_type" descr="Record type:\;0: records are 16B\;1: records are 32B\;Reserved when SwitchX/-2" access="OP" 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.17, &quot;FDB Records&quot;, on page 1134\;Reserved if filter_fields bit2 is &apos;0&apos;" access="INDEX" 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 7.12.7.1, &quot;SFDD System Port Parameters&quot;, on page 1197\;For entry of type Unicast LAG record: Lag ID parameters, see Section 7.12.7.2, &quot;SFDD Lag ID Parameters&quot;, on page 1198\;For entry of type Multicast record: MID parameters, see Section 7.12.7.3, &quot;SFDD MID Parameters&quot;, on page 1199\;For entry of type Unicast Tunnel FDB record Underlay parameters, see Section 7.12.7.4, &quot;SFDD Underlay Parameters&quot;, on page 1199\;Multicast Tunnel FDB record: underlay_mc_ptr (24bit)" access="RW" high_bound="3" low_bound="0" offset="0x10.0" size="0x10.0" />
	<field name="notification_records" descr="For rec_type = 0, see Section 1007, &quot;SFD - Records type0 Layout&quot;, on page 1190\;For rec_type = 1, see Section 1009, &quot;SFD - Records type1 Layout&quot;, on page 1192" access="RW" high_bound="255" low_bound="0" offset="0x20.0" size="0x400.0" />
</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 pfb_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 1067, &quot;Parameter Layout - Flush per FID,&quot; on page 1239\;FLUSH_PER_NVE_AND_FID: Table 1069, &quot;Parameter Layout - Flush per NVE and FID,&quot; on page 1240\;FLUSH_PER_PORT: Table 1071, &quot;Parameter Layout - Flush per Port,&quot; on page 1240\;FLUSH_PER_PORT_AND_FID: Table 1073, &quot;Parameter Layout - Flush per Port and FID,&quot; on page 1241\;FLUSH_PER_LAG: Table 1075, &quot;Parameter Layout - Flush per LAG,&quot; on page 1241\;FLUSH_PER_LAG_AND_FID: Table 1077, &quot;Parameter Layout - Flush per LAG and FID,&quot; on page 1242\;FLUSH_TPORT_BITMAP: Table 1079, &quot;Parameter Layout - Flush per Tunnel Port,&quot; on page 1242\;FLUSH_TPORT_BITMAP_FID: Table 1081, &quot;Parameter Layout - Flush per Tunnel Port and FID,&quot; on page 1243\;FLUSH_MC_DMAC_UC_AND_FID: Table 1083, &quot;Parameter Layout - FLUSH MC DMAC UC and FID,&quot; on page 1243" 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_per_fid_ext" descr="" subnode="flush_per_fid_ext" offset="0x0.0" selected_by="FLUSH_PER_FID" 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_ext" descr="" subnode="flush_per_port_ext" offset="0x0.0" selected_by="FLUSH_PER_PORT" 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_lag_ext" descr="" subnode="flush_per_lag_ext" offset="0x0.0" selected_by="FLUSH_PER_LAG" 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_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" />
	<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" />
</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.4.2, &quot;Port Group Table (PGT)&quot; (page 3200)" 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="port_member list, see Table 1107, &quot;SFDT port_members_list&lt;i&gt; Layout,&quot; on page 1262" subnode="uint64" access="RW" high_bound="89" low_bound="0" offset="0x10.0" size="0x2d0.0" />
</node>

<node name="sfdt_v2_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.4.2, &quot;Port Group Table (PGT)&quot; (page 3200)" 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 1111, &quot;SFDT_V2 port_members_list Layout,&quot; on page 1264" 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 1166):\;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 833\;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 836\;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\;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\;Bit 11: update tunnel_port_lbf_bitmap" 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.12.6, &quot;TNUMT - Tunneling NVE Underlay Multicast Table Register&quot;, on page 2907, Section 16.12.3, &quot;TNGEE - TuNnel Generic Encapsulation Entry Register&quot;, on page 2899\;For Spectrum/-2, this points to an entry in the KVD Linear, see Appendix A.4.1.2, &quot;KVD Central Database Linear Entries&quot; (page 3200)\;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 833\;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 836\;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.5.2, &quot;Port Group Table (PGT)&quot; (page 3212)\;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.\;" 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" 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="For rec_type = 0, see Section 1007, &quot;SFD - Records type0 Layout&quot;, on page 1190\;For rec_type = 1, see Section 1009, &quot;SFD - Records type1 Layout&quot;, on page 1192" access="RW" high_bound="255" low_bound="0" offset="0x10.0" 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.3, &quot;Port Numbering&quot;, on page 1332 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.3, &quot;Port Numbering&quot;, on page 1332 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\;\;Bit 0: Disable activity bit in FDB. See Section 7.12.5, &quot;SFD - Switch Filtering Database&quot;, on page 1188\;\;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 8B aligned." 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="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="slmt_ext" descr="" size="0x8.0" >
	<field name="new_lag_lookup_pgt_base" descr="New lag location in KVI table\;Range 0 .. (cap_pgt_size - 1)" access="OP" 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" />
</node>

<node name="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="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="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 / (hight_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 hight_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 1498, &quot;SLRED - Serdes Lane Receive Eye Diagram Register Layout for info page,&quot; on page 1752\;the page data 1-7 will contain the err_val for each index in ascending order.\;Table 1500, &quot;SLRED - Serdes Lane Receive Eye Diagram Register Layout for page_data,&quot; on page 1754\;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="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.8" />
	<field name="phase_eo_pos" descr="The offset from the eye center to the positive side." access="RO" offset="0x1C.16" size="0x0.8" />
</node>

<node name="slrg_7nm_ext" descr="" size="0x18.0" >
	<field name="fom_measurment" 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="RO" 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="lower_eye" descr="last measured EOM-FOM status of lower eye.\;valid only if eom_measurment 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 eom_measurment 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 eom_measurment 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 eom_measurment bit &apos;3&apos; is set" access="RO" offset="0x8.24" size="0x0.8" />
</node>

<node name="slrg_reg_ext" descr="" size="0x28.0" >
	<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\;" 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" access="RO" enum="prod_40nm=0x0,prod_28nm=0x1,prod_16nm=0x3,prod_7nm=0x4,prod_5nm=0x5" 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 1344, &quot;SLRG - Serdes Lane Receive Grade Register Layout for 40nm and 28nm,&quot; on page 1572\;Table 1346, &quot;SLRG - Serdes Lane Receive Grade Register Layout for 16nm,&quot; on page 1573\;Table 1348, &quot;SLRG - Serdes Lane Receive Grade Register Layout for 7nm,&quot; on page 1576" subnode="slrg_reg_page_data_auto_ext" access="RO" offset="0x4.0" size="0x24.0" />
</node>

<node name="slrg_reg_page_data_auto_ext" descr="" attr_is_union="1" size="0x24.0" >
	<field name="slrg_40nm_28nm_ext" descr="" subnode="slrg_40nm_28nm_ext" offset="0x0.0" size="0x24.0" />
	<field name="slrg_16nm_ext" descr="" subnode="slrg_16nm_ext" offset="0x0.0" size="0x24.0" />
	<field name="slrg_7nm_ext" descr="" subnode="slrg_7nm_ext" offset="0x0.0" size="0x18.0" />
</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" />
</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_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), f\;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), f\;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="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), f\;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), f\;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), f\;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" />
</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 (106.25 Gbd / 212.5Gb/s)\;9 - Reserved\;10 - 1GE\;11 - 2.5GE (XAUI)\;12 - 50GE-KR4\;13-15 - Reserved" 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="0: prod_40nm\;1: prod_28nm\;3: prod_16nm\;4: prod_7nm" access="RO" enum="prod_40nm=0x0,prod_28nm=0x1,prod_16nm=0x3,prod_7nm=0x4" offset="0x0.24" size="0x0.4" />
	<field name="status" descr="0 - Invalid\;1 - Valid" access="RO" offset="0x0.28" size="0x0.2" />
	<field name="lp_msb" descr="Local port number [9:8]" access="INDEX" offset="0x0.30" size="0x0.2" />
	<field name="page_data" descr="Table 1332, &quot;SLTP - Serdes Lane Transmit Parameters Register Layout for 28nm and 40nm,&quot; on page 1562\;Table 1334, &quot;SLTP - Serdes Lane Transmit Parameters Register Layout for 16nm,&quot; on page 1563\;Table 1338, &quot;SLTP - Serdes Lane Transmit Parameters Register Layout for 7nm,&quot; on page 1565" subnode="sltp_reg_page_data_auto_ext" access="RO" offset="0x4.0" size="0x48.0" union_selector="$(parent).version" />
</node>

<node name="sltp_reg_page_data_auto_ext" descr="" attr_is_union="1" size="0x48.0" >
	<field name="sltp_28nm_40nm_ext" descr="" subnode="sltp_28nm_40nm_ext" offset="0x0.0" selected_by="prod_28nm" size="0x48.0" />
	<field name="sltp_16nm_ext" descr="" subnode="sltp_16nm_ext" offset="0x0.0" selected_by="prod_16nm" size="0x48.0" />
	<field name="sltp_7nm_ext" descr="" subnode="sltp_7nm_ext" offset="0x0.0" selected_by="prod_7nm" size="0x48.0" />
</node>

<node name="smht_ext" descr="" size="0xa0.0" >
	<field name="mcht_index" descr="Multicast Hash Table entry index\;Range 0 .. cap_max_mcht_entries - 1" access="INDEX" offset="0x0.0" size="0x0.16" />
	<field name="port" descr="Local port membership \;Per bit (bit=local_port):\;0: Non-member - packet will not be transmitted\;1: Member - packets will be transmitted\;CPU port is supported" access="RW" high_bound="31" low_bound="0" offset="0x20.0" size="0x80.0" />
</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.4.2, &quot;Port Group Table (PGT)&quot; (page 3200)" 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.3, &quot;Port Numbering&quot;, on page 1332 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 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\;Range 0 .. max_mid - 1\;For Spectrum/-2, pointer to PGT table, see Appendix A.4.2, &quot;Port Group Table (PGT)&quot; (page 3200)" 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.3, &quot;Port Numbering&quot;, on page 1332 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 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_ext" descr="" size="0x4.0" >
	<field name="value" descr="Value:\;egress vid, range 0..4095" 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 1141, &quot;SMPEB - elport_record Layout,&quot; on page 1287" subnode="smpeb_elport_record_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.4.2, &quot;Port Group Table (PGT)&quot; (page 3200)" 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.\;[Internal] FW default for router port is egr_et_vlan=1.\;Ethertype IDs are configured by SVER, see Section 7.12.40, &quot;SVER - Switch VLAN EtherType Register&quot;, on page 1278" 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.3, &quot;Port Numbering&quot;, on page 1332 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="spmlr_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="learn_mode" descr="Enable learning on this port.\;0: Learn Disable\;2: Learn Enable\;3: Security Mode\;(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="0x4.30" size="0x0.2" />
</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" />
	<field name="state" descr="MSTP/RSTP State on VID &lt;i&gt;\;0: STP_DO_NOT_UPDATE - Do not change spanning tree state (used when writing only)\;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_DO_NOT_UPDATE=0x0,STP_DISCARDING=0x1,STP_LEARNING=0x2,STP_FORWARDING=0x3" high_bound="4095" low_bound="0" offset="0x4.30" size="0x400.0" />
</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 1043, &quot;SPMS_V2 VID Record Layout,&quot; on page 1218" 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 i and a Tx port j then port i and port j 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&apos; 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 it&apos;s 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&apos; 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 it&apos;s 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&apos; 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 it&apos;s 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.40, &quot;SVER - Switch VLAN EtherType Register&quot;, on page 1278\;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 1053, &quot;VID Record Layout&quot;" 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 Section 1123, &quot;VID Learn Enable Layout&quot;, on page 1270" 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.28" 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.14.14, &quot;QPDPC - QoS Port Default PCP&quot;, on page 2493\;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="[Internal]\;Set port GUID0 to GUID0 specified\;When router_entity is set, 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="[Internal] since for switch port_guide=node_guid\;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="[Internal] since for switch port_guide=node_guid\;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.9, &quot;Ethernet Switching Resources&quot; (page 3225)" 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 835\;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 836\;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="svmlr_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="vid" descr="VLAN ID" access="INDEX" offset="0x4.0" size="0x0.12" />
	<field name="learn_enable" descr="Enable learning on this VLAN.\;(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="0x4.31" 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="switch_prio_ext" descr="" size="0x10.0" >
	<field name="ecn" descr="The EXP mapping for ECN j, see Table 2380, &quot;ecn&lt;j&gt; Layout&quot;" subnode="ecn_ext" access="RW" high_bound="3" low_bound="0" offset="0x0.0" size="0x10.0" />
</node>

<node name="switch_prio_j_ext" descr="" size="0x4.0" >
	<field name="color2" descr="The PCP and DEI mapping for color k, where k=0..2, see Table 2394, &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 2394, &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 2394, &quot;color&lt;k&gt;Layout&quot;" access="RW" offset="0x0.24" size="0x0.8" />
</node>

<node name="tcam_region_info_peaps_ext" descr="" size="0x10.0" >
	<field name="byte" descr="adabe only\;bytes of tcam_region_info" access="WO" high_bound="15" low_bound="0" offset="0x0.24" size="0x10.0" />
</node>

<node name="tcam_region_info_prcr_ext" descr="" size="0x10.0" >
	<field name="byte" descr="adabe only\;bytes of tcam_region_info" access="WO" high_bound="15" low_bound="0" offset="0x0.24" size="0x10.0" />
</node>

<node name="tcam_region_info_ptar_ext" descr="" size="0x10.0" >
	<field name="byte" descr="adabe only\;bytes of tcam_region_info" access="WO" high_bound="15" low_bound="0" offset="0x0.24" size="0x10.0" />
</node>

<node name="tcam_region_info_ptce_ext" descr="" size="0x10.0" >
	<field name="byte" descr="adabe only\;bytes of tcam_region_info" access="WO" high_bound="15" low_bound="0" offset="0x0.24" size="0x10.0" />
</node>

<node name="tcam_region_info_ptce_v2_ext" descr="" size="0x10.0" >
	<field name="byte" descr="adabe only\;bytes of tcam_region_info" access="WO" high_bound="15" low_bound="0" offset="0x0.24" size="0x10.0" />
</node>

<node name="tcam_region_info_ptce_v3_ext" descr="" size="0x10.0" >
	<field name="byte" descr="adabe only\;bytes of tcam_region_info" access="WO" high_bound="15" low_bound="0" offset="0x0.24" size="0x10.0" />
</node>

<node name="tcam_region_info_ptcead_ext" descr="" size="0x10.0" >
	<field name="byte" descr="adabe only\;bytes of tcam_region_info" access="WO" high_bound="15" low_bound="0" offset="0x0.24" size="0x10.0" />
</node>

<node name="test_ext" descr="" size="0xa0.0" >
</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 505" access="RW" 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." 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_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.11.7, &quot;RECR - Router ECMP Configuration Register&quot;, on page 2644, Section 14.11.8, &quot;RECR_V2 - Router ECMP Configuration Version 2 Register&quot;, on page 2646" 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.11.7, &quot;RECR - Router ECMP Configuration Register&quot;, on page 2644, Section 14.11.8, &quot;RECR_V2 - Router ECMP Configuration Version 2 Register&quot;, on page 2646" 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.6.3, &quot;TIQDR - Tunneling IPinIP QoS Default Register&quot;, on page 2936" 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 2799, &quot;TIQDR - Tunneling IPinIP QoS Default Register Layout,&quot; on page 2936" 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.11.20, &quot;RDPM - Router DSCP to Priority Mapping Register&quot;, on page 2698" 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 505" access="RW" 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="0x44.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: for Spectrum the NVE parsing must be enabled, see Section 5.13.2, &quot;MPRS - Monitoring Parsing State Register&quot;, on page 917, see parsing_en field\;The types are mutually exclusive\;For Spectrum family: type must not be modified under traffic of NVE tunneling encapsulation or decapsulation.\;Note: if change on the fly then erroneous packets may be transmitted" access="RW" 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.11.7, &quot;RECR - Router ECMP Configuration Register&quot;, on page 2644, Section 14.11.8, &quot;RECR_V2 - Router ECMP Configuration Version 2 Register&quot;, on page 2646" 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 1253, Section 7.12.30, &quot;SLCR_V2 - Switch LAG Configuration 2 Register&quot;, on page 1253.\;For Spectrum-2: the 8 least significant bits are set by ECMP hash, see Section 14.11.7, &quot;RECR - Router ECMP Configuration Register&quot;, on page 2644, Section 14.11.8, &quot;RECR_V2 - Router ECMP Configuration Version 2 Register&quot;, on page 2646\;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.40, &quot;SVER - Switch VLAN EtherType Register&quot;, on page 1278\;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.12.6, &quot;TNUMT - Tunneling NVE Underlay Multicast Table Register&quot;, on page 2907\;See Section 7.12.30, &quot;SLCR_V2 - Switch LAG Configuration 2 Register&quot;, on page 1253, Section 7.12.30, &quot;SLCR_V2 - Switch LAG Configuration 2 Register&quot;, on page 1253.\;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.12.6, &quot;TNUMT - Tunneling NVE Underlay Multicast Table Register&quot;, on page 2907\;See Section 7.12.30, &quot;SLCR_V2 - Switch LAG Configuration 2 Register&quot;, on page 1253, Section 7.12.30, &quot;SLCR_V2 - Switch LAG Configuration 2 Register&quot;, on page 1253.\;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="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" />
</node>

<node name="tngee_entry_auto_ext" descr="" attr_is_union="1" size="0x10.0" >
	<field name="tngee_nve_ext" descr="" subnode="tngee_nve_ext" offset="0x0.0" selected_by="NVE" size="0x8.0" />
	<field name="tngee_flex_reg_ext" descr="" subnode="tngee_flex_reg_ext" offset="0x0.0" selected_by="Flex_tunnel" size="0x10.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.4.1.2, &quot;KVD Central Database Linear Entries&quot; (page 3200)" 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: 1-128, 256, 512, 1024, 2048 and 4096\;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.11.19, &quot;RIPS - Router IP version Six Register&quot;, on page 2697.\;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 835" 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 836" access="RW" offset="0x3C.24" size="0x0.8" />
	<field name="entry" descr="Entry:\;NVE - See Table 2760, &quot;TNGEE - NVE Layout,&quot; on page 2901\;Flex - See Table 2762, &quot;TNGEE - Flex Layout,&quot; on page 2902" 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.13, &quot;Tunnel QoS Profiles,&quot; on page 2462\;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 2788, &quot;TNIPSD - ipv6_id Layout&quot;, on page 2922" 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.5.1.1, &quot;KVD Central Database Hash-based&quot; (page 3208)" 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="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.12.8, &quot;TNQDR - Tunneling NVE QoS Default Register&quot;, on page 2914" 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.12.8, &quot;TNQDR - Tunneling NVE QoS Default Register&quot;, on page 2914" 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.11.20, &quot;RDPM - Router DSCP to Priority Mapping Register&quot;, on page 2698." 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.4.1.2, &quot;KVD Central Database Linear Entries&quot; (page 3200)\;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.4.1.2, &quot;KVD Central Database Linear Entries&quot; (page 3200)\;" 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 2770, &quot;Record - Tunnel MC IPV4 Layout,&quot; on page 2909\;If type is IPV6, the record is detailed on Table 2772, &quot;Record - Tunnel MC IPV6 Layout,&quot; on page 2910" 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.11.19, &quot;RIPS - Router IP version Six Register&quot;, on page 2697\;For Spectrum, the index is to the KVD linear, see Section A.4.1, &quot;KVD Central Database&quot;, on page 3196" subnode="udip_ptr" access="RW" high_bound="4" low_bound="0" offset="0x4.0" size="0x14.0" />
</node>

<node name="uccr_ext" descr="" size="0x8.0" >
	<field name="side" descr="Bit 0: Host_Side\;Bit 1: Line_Side" access="INDEX" enum="Host_Side=0x1,Line_Side=0x2" offset="0x0.8" size="0x0.4" />
	<field name="ucheck_id" descr="ucheck ID\;See Table 2918, &quot;UCheck IDs,&quot; on page 3074\;Reserved when check_id is UTCAM\;Note: the utraps are not the same as traps" access="INDEX" offset="0x4.0" size="0x0.8" />
	<field name="to_utrap" descr="Copy to utrap\;0: NOP\;1: COPY\;Reserved when forwarding = FORWARD\;Allowed for event trap" access="RW" enum="NOP=0x0,COPY=0x1" offset="0x4.16" size="0x0.2" />
	<field name="forwarding" descr="Forwarding:\;0: FORWARD - a.k.a NOP\;1: BYPASS - a.k.a. UNCONTROLLED\;2: DISCARD\;Reserved when Event trap" access="RW" enum="FORWARD=0x0,BYPASS=0x1,DISCARD=0x2" offset="0x4.24" size="0x0.2" />
	<field name="count_en" descr="Count enable:\;0: do not count as error\;1: do count as error\;When multiple counters on a packet then last counter wins, except for tcam counters which allows extra counting\;Some checks have a counter which is not controlled by UCCR, see e.g. REPLAY_ERROR, ICV_ERROR_STRICT" access="RW" offset="0x4.28" size="0x0.1" />
</node>

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

<node name="ugcap_ext" descr="" size="0x18.0" >
	<field name="max_mtu" descr="Max MTU, units of Bytes\;" access="RO" offset="0x0.0" size="0x0.16" />
	<field name="cap_utcam_entries" descr="Max number of utcam entries per uengine\;" access="RO" offset="0x4.0" size="0x4.0" />
	<field name="cap_utcam_keys" descr="Max number of utcam key blocks in a key\;" access="RO" offset="0x8.0" size="0x0.8" />
	<field name="cap_utcam_counters" descr="Max utcam counters per uengine\;" access="RO" offset="0x8.8" size="0x0.8" />
	<field name="cap_utcam_entries_12_key_blocks" descr="Number of rule entries for 12 key blocks, a.k.a. 54B\;0: not supported\;" access="RO" offset="0xC.0" size="0x0.8" />
	<field name="cap_utcam_entries_8_key_blocks" descr="Number of rule entries for 8 key blocks, a.k.a. 36B\;0: not supported\;" access="RO" offset="0xC.8" size="0x0.8" />
	<field name="cap_utcam_entries_4_key_blocks" descr="Number of rule entries for 4 key blocks, a.k.a. 18B\;0: not supported\;" access="RO" offset="0xC.16" size="0x0.8" />
	<field name="cap_utcam_entries_2_key_blocks" descr="Number of rule entries for 2 key blocks, a.k.a. 9B\;0: not supported\;" access="RO" offset="0xC.24" size="0x0.8" />
	<field name="cap_secy_entries" descr="Max number of secy entries per uengine\;This applies to the number of bits in the of the secy key.\;This does not apply to a physical table size, \;" access="RO" offset="0x10.0" size="0x4.0" />
	<field name="cap_sadb_entries" descr="Max number of sadb entries per uengine\;" access="RO" offset="0x14.0" size="0x4.0" />
</node>

<node name="ugcr_ext" descr="" size="0x10.0" >
	<field name="utrap_trunc" descr="Utrap truncation size\;Units of 64B\;" access="RW" offset="0x0.8" size="0x0.8" />
	<field name="pn_thr" descr="PN threshold for AES non XPN\;Used for PN over threshold (a.k.a. PN_THR) check\;When PN matches the pn_thr then the check is set\;" access="RW" offset="0x4.0" size="0x4.0" />
	<field name="xpn_pn_thr" descr="PN threshold for AES_XPN\;Used for PN over threshold (a.k.a. PN_THR) check\;When PN matches the pn_thr then the check is set" subnode="uint64" access="RW" offset="0x8.0" size="0x8.0" />
</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="umtu_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\;*Line side only*\;For both ingress (before decrypt) and for egress (after encrypt)." access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="admin_mtu" descr="Administratively configured datapath security MTU on the line side." access="RW" offset="0x4.16" size="0x0.16" />
</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.\;Reserved when SwitchX/-2\;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.11, &quot;LAG Descriptor Table&quot;, on page 1130." access="RW" offset="0x4.0" size="0x0.10" />
</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.11.19, &quot;RIPS - Router IP version Six Register&quot;, on page 2697" 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: 1-128, 256, 512, 1024, 2048 and 4096\;Reserved when gen_enc = 0" access="RW" offset="0xC.0" size="0x0.13" />
</node>

<node name="upaft_ext" descr="" size="0x8.0" >
	<field name="side" descr="Note: suggest to enable all at Host side\;Bit 0: Host_Side\;Bit 1: Line_Side" access="INDEX" enum="Host_Side=0x1,Line_Side=0x2" 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" access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="allow_double_tagged" descr="When set, double (or more) tagged frames on the ingress are admitted (default 1)\;Tagged may be: prio+prio, prio+tag, tag+prio, tag+tag\;" access="RW" offset="0x4.28" size="0x0.1" />
	<field name="allow_single_tagged" descr="When set, single tagged frames on the ingress are admitted (default 1)" access="RW" offset="0x4.29" size="0x0.1" />
	<field name="allow_single_prio_tagged" descr="When set, single prio_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="upbt_ext" descr="" size="0x1c.0" >
	<field name="lookup" descr="Lookup:\;0: First_lookup\;1: Second_lookup" access="INDEX" enum="First_lookup=0x0,Second_lookup=0x1" offset="0x0.0" size="0x0.1" />
	<field name="side" descr="Bit 0: Host_Side\;Bit 1: Line_Side" access="INDEX" enum="Host_Side=0x1,Line_Side=0x2" 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" access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="region_id" descr="Region_id" access="RW" offset="0x4.0" size="0x0.16" />
	<field name="utcam_key_id" descr="Identifier of the UTCAM Key. \;See Table 3007, &quot;UTCAM key Layout,&quot; on page 3133\;The key size will be rounded up to one of the following values: 32B, 64B, 96B (4, 8 or 12 key blocks)" access="RW" high_bound="3" low_bound="0" offset="0x8.0" size="0x10.0" />
	<field name="op" descr="Operation\;0: Clear_entry\;1: Set_entry\;All others are reserved" access="OP" enum="Clear_entry=0x0,Set_entry=0x1" offset="0x18.0" size="0x0.2" />
</node>

<node name="upcap_ext" descr="" size="0x8.0" >
	<field name="side" descr="General rule: when reading, do not set both Host and Line at same query\;Bit 0: Host_Side\;Bit 1: Line_Side" access="INDEX" enum="Host_Side=0x1,Line_Side=0x2" 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" access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="uengine" descr="Local ports are hard coded mapped to uengine\;Reserved when mcs = 0\;\;" access="RO" offset="0x4.0" size="0x0.16" />
	<field name="mcs" descr="{local_port, side} supports MAC and MACSec:\;0: no\;1: yes\;Note: U* registers must not be configured for local_ports which do not support MACSec\;\;" access="RO" offset="0x4.16" size="0x0.1" />
</node>

<node name="upcnt_counter_set_auto_ext" descr="" attr_is_union="1" size="0x60.0" >
	<field name="upcnt_group0_ext" descr="" subnode="upcnt_group0_ext" offset="0x0.0" selected_by="group0" size="0x50.0" />
	<field name="upcnt_group1_ext" descr="" subnode="upcnt_group1_ext" offset="0x0.0" selected_by="group1" size="0x60.0" />
</node>

<node name="upcnt_ext" descr="" size="0x68.0" >
	<field name="grp" descr="Counter group bit mask:\;Bit 0: group0\;Bit 1: group1" access="INDEX" enum="group0=0x1,group1=0x2" offset="0x0.0" size="0x0.6" />
	<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" descr="Clear counters" access="OP" offset="0x0.31" size="0x0.1" />
	<field name="counter_set" descr="See Table  3035, &quot;UPCNT - Group0 Layout,&quot; on page  3155\;See Table  3037, &quot;UPCNT - Group1 Layout,&quot; on page  3157" subnode="upcnt_counter_set_auto_ext" access="RO" offset="0x8.0" size="0x60.0" union_selector="$(parent).grp" />
</node>

<node name="upcnt_group0_ext" descr="" size="0x50.0" >
	<field name="in_pkts_mtu" descr="Counter not from spec\;\;" subnode="uint64" access="RO" offset="0x0.0" size="0x8.0" />
	<field name="in_pkts_general" descr="Counter not from spec, see UChecks ID table\;" subnode="uint64" access="RO" offset="0x8.0" size="0x8.0" />
	<field name="out_pkts_general" descr="Counter not from spec, see UChecks ID table\;" subnode="uint64" access="RO" offset="0x10.0" size="0x8.0" />
	<field name="in_pn_overflow" descr="Counter not from spec\;" subnode="uint64" access="RO" offset="0x18.0" size="0x8.0" />
	<field name="out_pn_overflow" descr="Counter not from spec\;" subnode="uint64" access="RO" offset="0x20.0" size="0x8.0" />
	<field name="in_pause_pfc" descr="Count PAUSE of PFC packets\;These packets are bypassed\;" subnode="uint64" access="RO" offset="0x28.0" size="0x8.0" />
	<field name="out_pause_pfc" descr="Count PAUSE of PFC packets\;These packets are bypassed\;" subnode="uint64" access="RO" offset="0x30.0" size="0x8.0" />
	<field name="in_eapol" descr="Count EAPOL packets if match on EAPOL check (not by utcam)\;" subnode="uint64" access="RO" offset="0x38.0" size="0x8.0" />
	<field name="out_eapol" descr="Count EAPOL packets if match on EAPOL check (not by utcam)\;" subnode="uint64" access="RO" offset="0x40.0" size="0x8.0" />
	<field name="in_buffer_overflow" descr="Ingress Buffer overflow.\;Orthogonal to switch shared buffer overflow\;" subnode="uint64" access="RO" offset="0x48.0" size="0x8.0" />
</node>

<node name="upcnt_group1_ext" descr="" size="0x60.0" >
	<field name="in_pkts_untagged" descr="InPktsUntagged, See IEEE 802.1AE, MGT4-8\;After utcam decision to decrypt\;" subnode="uint64" access="RO" offset="0x0.0" size="0x8.0" />
	<field name="in_pkts_no_tag" descr="InPktsNoTag, See IEEE 802.1AE, MGT4-9\;After utcam decision to decrypt\;" subnode="uint64" access="RO" offset="0x8.0" size="0x8.0" />
	<field name="in_pkts_bad_tag" descr="InPktsBadTag, See IEEE 802.1AE, MGT4-10\;After utcam decision to decrypt\;" subnode="uint64" access="RO" offset="0x10.0" size="0x8.0" />
	<field name="in_pkts_no_sa_rcv" descr="InPktsNoSARcv, a.k.a. InPktsNoSA, See IEEE 802.1AE, MGT4-11\;After utcam decision to decrypt\;" subnode="uint64" access="RO" offset="0x18.0" size="0x8.0" />
	<field name="in_pkts_no_sa_discard" descr="InPktsNoSADiscard, a.k.a. InPktsNoSAError, See IEEE 802.1AE, MGT4-12\;After utcam decision to decrypt\;" subnode="uint64" access="RO" offset="0x20.0" size="0x8.0" />
	<field name="in_octets_validated" descr="InOctetsValidated, See IEEE 802.1AE, MGT4-22\;" subnode="uint64" access="RO" offset="0x28.0" size="0x8.0" />
	<field name="in_octets_decrypted" descr="InOctetsDecrypted, See IEEE 802.1AE, MGT4-23\;" subnode="uint64" access="RO" offset="0x30.0" size="0x8.0" />
	<field name="in_pkts_too_long" descr="Not by spec\;UMTU failure prior to decryption\;" subnode="uint64" access="RO" offset="0x38.0" size="0x8.0" />
	<field name="out_pkts_untagged" descr="OutPktsUntagged, See IEEE 802.1AE, MGT4-24\;Also counts bypass packets\;" subnode="uint64" access="RO" offset="0x40.0" size="0x8.0" />
	<field name="out_pkts_too_long" descr="OutPktsTooLong, See IEEE 802.1AE, MGT4-25\;" subnode="uint64" access="RO" offset="0x48.0" size="0x8.0" />
	<field name="out_octets_protected" descr="OutOctetsProtected, See IEEE 802.1AE, MGT4-28\;" subnode="uint64" access="RO" offset="0x50.0" size="0x8.0" />
	<field name="out_octets_encrypted" descr="OutOctetsEncrypted, See IEEE 802.1AE, MGT4-29\;" subnode="uint64" access="RO" offset="0x58.0" size="0x8.0" />
</node>

<node name="upcon_ext" descr="" size="0xc.0" >
	<field name="side" descr="Bit 0: Host_Side - (is always Encrypt)\;Bit 1: Line_Side - (is always Decrypt)" access="INDEX" enum="Host_Side=0x1,Line_Side=0x2" 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" access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="inner_en" descr="Bitwise:\;Bit0: VxLAN \;Bit1: VxLAN_GPE\;Bit2: GENEVE" access="RW" enum="VxLAN=0x1,VxLAN_GPE=0x2,GENEVE=0x4" offset="0x4.0" size="0x0.8" />
	<field name="fl" descr="Fixed latency:\;0: best_effort_latency\;1: fixed_latency - e.g. used for PTP" access="RW" enum="best_effort_latency=0x0,fixed_latency=0x1" offset="0x4.16" size="0x0.1" />
	<field name="dpol" descr="Decryption Policy (Integrity or Integrity and Decryption):\;0: by_packet_c_e_fields\;1: by_SADB_policy_field" access="RW" enum="by_packet_c_e_fields=0x0,by_SADB_policy_field=0x1" offset="0x4.20" size="0x0.1" />
	<field name="sec_en" descr="Datapath Security en:\;0: Disable (default)\;1: Enable\;On change some packets will be dropped\;When disabled saves latency\;\;" access="RW" offset="0x4.24" size="0x0.4" />
	<field name="sci_port_id" descr="For Decr: if short SecTag (TCI.SC=0) then build SCI using: 48msb=packet_smac, 16lsb= sci_port_id\;" access="RW" offset="0x8.0" size="0x0.16" />
</node>

<node name="uprr_ext" descr="" size="0xc.0" >
	<field name="register_index" descr="Index of Port Range Register being accessed\;Range is 0 .. cap_max_xxx-1" access="INDEX" offset="0x0.0" size="0x0.8" />
	<field name="entity_index" descr="Entity:\;0: MAC_range\;1: MAC Match lsb\;2: DSCP_Range\;3: L4_port_range" access="INDEX" offset="0x0.16" size="0x0.4" />
	<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" />
</node>

<node name="upvc_ext" descr="" size="0x8.0" >
	<field name="side" descr="Bit 0: Host_Side\;Bit 1: Line_Side" access="INDEX" enum="Host_Side=0x1,Line_Side=0x2" 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\;Supported from CPU port\;Note: applies both to Rx port and Tx port, so if a packet traverses through Rx port i and a Tx port j then port i and port j 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&apos; tag0 EtherType is equal to ether_type0\;0: disable\;1: enable (default)" access="RW" offset="0x4.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 it&apos;s tag1 EtherType value is equal to ether_type0\;0: disable\;1: enable (default)" access="RW" offset="0x4.1" size="0x0.1" />
	<field name="et1" descr="Vlan Tag0 EtherType1 enable\;Packet is initially classified as VLAN Tag if its&apos; tag0 EtherType is equal to ether_type1\;0: disable\;1: enable (default)" access="RW" offset="0x4.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 it&apos;s tag1 EtherType value is equal to ether_type1\;0: disable\;1: enable (default)" access="RW" offset="0x4.9" size="0x0.1" />
	<field name="et2" descr="Vlan Tag0 EtherType2 enable\;Packet is initially classified as VLAN Tag if its&apos; tag0 EtherType is equal to ether_type2\;0: disable (default)\;1: enable" access="RW" offset="0x4.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 it&apos;s tag1 EtherType value is equal to ether_type2\;0: disable (default)\;1: enable" access="RW" offset="0x4.17" size="0x0.1" />
</node>

<node name="upvid_ext" descr="" size="0x8.0" >
	<field name="side" descr="Bit 0: Host_Side\;Bit 1: Line_Side" access="INDEX" enum="Host_Side=0x1,Line_Side=0x2" 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="Ingress Local port number" access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="pvid" descr="Port default VID for UTCAM (default PVID is 001h)\;Note: does not affect/modify the packet itself!" access="RW" offset="0x4.0" size="0x0.12" />
</node>

<node name="urcr_ext" descr="" size="0x10.0" >
	<field name="uengine" descr="Must be an index as provided by UPCAP" access="INDEX" offset="0x0.0" size="0x0.16" />
	<field name="src_offset" descr="Offset within the source region to copy/move from\;Must be N*cap_utcam_entries_x_key_blocks." access="INDEX" offset="0x4.0" size="0x0.16" />
	<field name="src_region_id" descr="Source region_id" access="INDEX" offset="0x4.16" size="0x0.16" />
	<field name="size" descr="The number of rules to copy/move" access="INDEX" offset="0x8.0" size="0x0.16" />
	<field name="oper" descr="Move/Copy the rules from src_utcam_region starting at offset src_offset to dest_tcam_region_info at offset dest_offset.\;Operation:\;0: Move_rules_and_actions - Move is Copy and Invalidate\;1: Copy_rules_and_actions\;2: Invalidate_rules_and_actions" access="OP" enum="Move_rules_and_actions=0x0,Copy_rules_and_actions=0x1,Invalidate_rules_and_actions=0x2" offset="0x8.16" size="0x0.2" />
	<field name="dest_offset" descr="Offset within the destination region to copy/move to\;Reserved when oper = Invalidate\;Must be N*cap_utcam_entries_x_key_blocks." access="INDEX" offset="0xC.0" size="0x0.16" />
	<field name="dest_region_id" descr="Dest region_id\;Note: it is allowed that dest_region_id == src_region_id" access="INDEX" offset="0xC.16" size="0x0.16" />
</node>

<node name="usacn_ext" descr="" size="0x28.0" >
	<field name="sadb_entry_index" descr="SADB entry index\;Range 0.. cap_sadb_entries - 1" access="INDEX" offset="0x0.0" size="0x0.16" />
	<field name="uengine" descr="Must be an index as provided by UPCAP" access="INDEX" offset="0x0.16" size="0x0.16" />
	<field name="clear" descr="Clear counters" access="OP" offset="0x4.0" size="0x0.1" />
	<field name="in_pkts_unchecked" descr="InPktsUnchecked IEEE 802.1AE, MGT4-14 \;Also counts InPktsInvalid, See IEEE 802.1AE, MGT4-18" subnode="uint64" access="RO" offset="0x8.0" size="0x8.0" />
	<field name="in_pkts_late" descr="InPktsLate, See IEEE 802.1AE, MGT4-16\;Also counts in_pkts_delayed, See IEEE 802.1AE, MGT4-15" subnode="uint64" access="RO" offset="0x10.0" size="0x8.0" />
	<field name="in_pkts_ok" descr="InPktsOK, See IEEE 802.1AE, MGT4-17" subnode="uint64" access="RO" offset="0x18.0" size="0x8.0" />
	<field name="in_pkts_not_valid" descr="InPktsNotValid, See IEEE 802.1AE, MGT4-19" subnode="uint64" access="RO" offset="0x20.0" size="0x8.0" />
</node>

<node name="usadb_decr_gcm_aes_ext" descr="" size="0x28.0" >
	<field name="policy" descr="Policy:\;0: Integrity only\;1: Integrity and Encryption\;Note: relevant only if UPCON.dpol" access="RW" offset="0x0.0" size="0x0.1" />
	<field name="rpe" descr="Replay Protect Enable" access="RW" offset="0x0.8" size="0x0.1" />
	<field name="sci" descr="SCI, used for AES calculation\;Note: SW will usually configure the same value as was in UTCAM.secy" subnode="uint64" access="RW" offset="0x8.0" size="0x8.0" />
	<field name="next_pn" descr="Set by user at initialization, incremented by HW afterwards" access="RW" offset="0x10.0" size="0x4.0" />
	<field name="conf_offset" descr="Confidentiality offset\;Range: 0,30,50B\;Units of Bytes" access="RW" offset="0x18.0" size="0x0.8" />
	<field name="replay_window_size" descr="Replay window size" access="RW" offset="0x1C.0" size="0x4.0" />
</node>

<node name="usadb_decr_gcm_aes_xpn_ext" descr="" size="0x28.0" >
	<field name="policy" descr="Policy:\;0: Integrity only\;1: Integrity and Encryption\;Note: relevant only if UPCON.dpol" access="RW" offset="0x0.0" size="0x0.1" />
	<field name="rpe" descr="For Decr: \;Replay Protect Enable" access="RW" offset="0x0.8" size="0x0.1" />
	<field name="ssci" descr="SSCI" access="RW" offset="0xC.0" size="0x4.0" />
	<field name="next_pn" descr="Set by user at initialization, incremented by HW afterwards" subnode="uint64" access="RW" offset="0x10.0" size="0x8.0" />
	<field name="salt" descr="Salt" access="RW" high_bound="11" low_bound="0" offset="0x18.24" size="0xc.0" />
	<field name="replay_window_size" descr="Replay window size" access="RW" offset="0x24.0" size="0x4.0" />
</node>

<node name="usadb_encr_gcm_aes_ext" descr="" size="0x28.0" >
	<field name="policy" descr="Policy:\;0: Integrity only\;1: Integrity and Encryption" access="RW" offset="0x0.0" size="0x0.1" />
	<field name="tci_c" descr="Set value of SecTag.Cbit\;" access="RW" offset="0x0.16" size="0x0.1" />
	<field name="tci_e" descr="Set value of SecTag.Ebit\;" access="RW" offset="0x0.17" size="0x0.1" />
	<field name="tci_sc" descr="Set value of SecTag.SC\;Informative:\;When 0: SecTag is 8B - without explicit SCI\;When 1: SecTag is 16B - with explicit SCI" access="RW" offset="0x0.18" size="0x0.1" />
	<field name="an" descr="Set value of SecTag.AN" access="RW" offset="0x0.20" size="0x0.2" />
	<field name="sci" descr="SCI, used for packet generation and for AES calculation" subnode="uint64" access="RW" offset="0x8.0" size="0x8.0" />
	<field name="next_pn" descr="Set by user at initialization, incremented by HW afterwards" access="RW" offset="0x10.0" size="0x4.0" />
	<field name="conf_offset" descr="Confidentiality offset\;Range: 0,30,50B\;Units of Bytes" access="RW" offset="0x18.0" size="0x0.8" />
</node>

<node name="usadb_encr_gcm_aes_xpn_ext" descr="" size="0x2c.0" >
	<field name="policy" descr="Policy:\;0: Integrity only\;1: Integrity and Encryption" access="RW" offset="0x0.0" size="0x0.1" />
	<field name="tci_c" descr="Set value of SecTag.Cbit\;" access="RW" offset="0x0.16" size="0x0.1" />
	<field name="tci_e" descr="Set value of SecTag.Ebit\;" access="RW" offset="0x0.17" size="0x0.1" />
	<field name="tci_sc" descr="Set value of SecTag.SC\;Informative:\;When 0: SecTag is 8B - without explicit SCI\;When 1: SecTag is 16B - with explicit SCI" access="RW" offset="0x0.18" size="0x0.1" />
	<field name="an" descr="Set value of SecTag.AN" access="RW" offset="0x0.20" size="0x0.2" />
	<field name="sci" descr="SCI, used for packet generation" subnode="uint64" access="RW" offset="0x8.0" size="0x8.0" />
	<field name="next_pn" descr="Set by user at initialization, incremented by HW afterwards" subnode="uint64" access="RW" offset="0x10.0" size="0x8.0" />
	<field name="salt" descr="Salt" access="RW" high_bound="11" low_bound="0" offset="0x18.24" size="0xc.0" />
	<field name="ssci" descr="SSCI" access="RW" offset="0x28.0" size="0x4.0" />
</node>

<node name="usadb_entry_auto_ext" descr="" attr_is_union="1" size="0x2c.0" >
	<field name="usadb_encr_gcm_aes_ext" descr="" subnode="usadb_encr_gcm_aes_ext" offset="0x0.0" selected_by="Encr_GCM_AES" size="0x28.0" />
	<field name="usadb_encr_gcm_aes_xpn_ext" descr="" subnode="usadb_encr_gcm_aes_xpn_ext" offset="0x0.0" selected_by="Encr_GCM_AES_XPN" size="0x2c.0" />
	<field name="usadb_decr_gcm_aes_ext" descr="" subnode="usadb_decr_gcm_aes_ext" offset="0x0.0" selected_by="Decr_GCM_AES" size="0x28.0" />
	<field name="usadb_decr_gcm_aes_xpn_ext" descr="" subnode="usadb_decr_gcm_aes_xpn_ext" offset="0x0.0" selected_by="Decr_GCM_AES_XPN" size="0x28.0" />
</node>

<node name="usadb_ext" descr="" size="0x34.0" >
	<field name="sadb_entry_index" descr="SADB entry index\;Range 0.. cap_sadb_entries - 1" access="INDEX" offset="0x0.0" size="0x0.16" />
	<field name="uengine" descr="Must be an index as provided by UPCAP" access="INDEX" offset="0x0.16" size="0x0.16" />
	<field name="cipher_type" descr="cipher_type:\;0: Encr_GCM_AES\;1: Encr_GCM_AES_XPN\;2: Decr_GCM_AES\;3: Decr_GCM_AES_XPN" access="RW" enum="Encr_GCM_AES=0x0,Encr_GCM_AES_XPN=0x1,Decr_GCM_AES=0x2,Decr_GCM_AES_XPN=0x3" offset="0x4.0" size="0x0.2" />
	<field name="key_size" descr="Key_size:\;0: size_128\;1: size_256" access="RW" enum="size_128=0x0,size_256=0x1" offset="0x4.4" size="0x0.1" />
	<field name="op" descr="Operation\;0: Clear_entry\;1: Set_entry\;all other values are Reserved" access="OP" enum="Clear_entry=0x0,Set_entry=0x1" offset="0x4.12" size="0x0.2" />
	<field name="entry" descr="Union according to cipher_type:\;See Table 3019, &quot;USADB Entry Encr GCM-AES Layout,&quot; on page 3143\;Table 3021, &quot;USADB Entry Encr GCM-AES-XPN Layout,&quot; on page 3145\;Table 3023, &quot;USADB Entry Decr GCM-AES Layout,&quot; on page 3147\;Table 3025, &quot;USADB Entry Decr GCM-AES-XPN Layout,&quot; on page 3149" subnode="usadb_entry_auto_ext" access="RW" offset="0x8.0" size="0x2c.0" union_selector="$(parent).cipher_type" />
</node>

<node name="usak_ext" descr="" size="0x24.0" >
	<field name="sadb_entry_index" descr="SADB entry index\;Range 0.. cap_sadb_entries - 1" access="INDEX" offset="0x0.0" size="0x0.16" />
	<field name="uengine" descr="Must be an index as provided by UPCAP" access="INDEX" offset="0x0.16" size="0x0.16" />
	<field name="sa_key" descr="The SA key\;Note: the key is write-only (due to security reasons)" access="WO" high_bound="7" low_bound="0" offset="0x4.0" size="0x20.0" />
</node>

<node name="utar_ext" descr="" size="0xc.0" >
	<field name="region_id" descr="Region_id" access="INDEX" offset="0x0.0" size="0x0.16" />
	<field name="uengine" descr="Must be an index as provided by UPCAP" access="INDEX" offset="0x0.16" size="0x0.16" />
	<field name="size" descr="Region size\;Must be 8*N\;size=0 for disabling UTCAM lookups, in this case all packets are bypassed \;Note: offset+size must be lower than cap_utcam_entries - 1" access="RW" offset="0x4.0" size="0x0.16" />
	<field name="offset" descr="Region start absolute offset\;Must be 8*N\;Range 0.. cap_utcam_entries - 1" access="RW" offset="0x4.16" size="0x0.16" />
	<field name="key_size" descr="Key size:\;1: Key_blocks_4 - a.k.a. 18B\;2: Key_blocks_8 - a.k.a. 36B\;3: Key_blocks_12 - a.k.a. 54B" access="RW" enum="Key_blocks_4=0x1,Key_blocks_8=0x2,Key_blocks_12=0x3" offset="0x8.0" size="0x0.4" />
</node>

<node name="utcc_ext" descr="" size="0x88.0" >
	<field name="side" descr="Bit 0: Host_Side\;Bit 1: Line_Side" access="INDEX" enum="Host_Side=0x1,Line_Side=0x2" 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" access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="clear_bitmap" descr="Clear counters\;Each bit corresponds to a counter\;e.g. bit2 for clearing counter2" access="OP" offset="0x4.0" size="0x0.16" />
	<field name="counter" descr="Utcam counter ID" subnode="uint64" access="RO" high_bound="15" low_bound="0" offset="0x8.0" size="0x80.0" />
</node>

<node name="utce_action_auto_ext" descr="" attr_is_union="1" size="0xc.0" >
	<field name="utce_first_lookup_ext" descr="" subnode="utce_first_lookup_ext" offset="0x0.0" selected_by="First_lookup" size="0xc.0" />
	<field name="utce_second_lookup_ext" descr="" subnode="utce_second_lookup_ext" offset="0x0.0" selected_by="Second_lookup" size="0xc.0" />
</node>

<node name="utce_ext" descr="" size="0x84.0" >
	<field name="offset" descr="Relative offset\;Must be N*cap_utcam_entries_x_key_blocks.\;See UGCAP for e.g. cap_utcam_entries_4_key_blocks" access="INDEX" offset="0x0.0" size="0x0.16" />
	<field name="uengine" descr="Must be an index as provided by UPCAP" access="INDEX" offset="0x0.16" size="0x0.16" />
	<field name="region_id" descr="Region_id" access="RW" offset="0x4.0" size="0x0.16" />
	<field name="v" descr="Valid" access="RW" offset="0x4.16" size="0x0.1" />
	<field name="lk" descr="Lookup:\;0: First_lookup\;1: Second_lookup" access="RW" enum="First_lookup=0x0,Second_lookup=0x1" offset="0x4.17" size="0x0.1" />
	<field name="oper" descr="Operation:\;0: Write - used to write a new entry to the table. Note that a write with v = 0 will delete the entry\;0: Read - for a query operation\;1: Update - only sadb_entry_ptr will be in this action" access="OP" enum="Write=0x0,Read=0x0,Update=0x1" offset="0x4.24" size="0x0.3" />
	<field name="sec_key_blocks" descr="ACL Keys\;UTCAM keys, see Table 2921, &quot;Sec2 Key Layout,&quot; on page 3079" access="RW" high_bound="55" low_bound="0" offset="0x8.24" size="0x38.0" />
	<field name="mask" descr="Mask, at the same size as key. per bit:\;0: UTCAM will ignore the bit in key\;1: UTCAM will compare the bit in key" access="RW" high_bound="55" low_bound="0" offset="0x40.24" size="0x38.0" />
	<field name="action" descr="According to lookup\;See Table 3011, &quot;UTCE First Lookup Action Layout,&quot; on page 3136\;See Table 3014, &quot;UTCE Second Lookup Action Fields,&quot; on page 3138" subnode="utce_action_auto_ext" access="RW" offset="0x78.0" size="0xc.0" union_selector="$(parent).lk" />
</node>

<node name="utce_first_lookup_ext" descr="" size="0xc.0" >
	<field name="ucheck_id" descr="ucheck ID\;Reserved when to_utrap != COPY" access="RW" offset="0x0.0" size="0x0.8" />
	<field name="to_utrap" descr="Copy to utrap\;0: NOP\;1: COPY\;" access="RW" enum="NOP=0x0,COPY=0x1" offset="0x0.16" size="0x0.2" />
	<field name="forwarding" descr="Forwarding:\;0: FORWARD - a.k.a NOP\;1: BYPASS - a.k.a. UNCONTROLLED\;2: DISCARD" access="RW" enum="FORWARD=0x0,BYPASS=0x1,DISCARD=0x2" offset="0x0.24" size="0x0.2" />
	<field name="secy" descr="SecY\;a.k.a. &quot;meta-data&quot;\;range 0.. cap_secy_entries - 1" access="RW" offset="0x4.0" size="0x0.16" />
	<field name="encr_clear_tag" descr="For Encr only:\;How many VLAN tags before SecTag:\;0: DISABLE - no VLAN tags\;1: SINGLE - up to 1 VLAN tag\;2: DOUBLE - up to 2 VLAN tags\;\;Note: the device parses the amount of VLANs and can choose offset accordingly, e.g. if SINGLE and no VLANs then HW is like DISABLE\;" access="RW" offset="0x4.16" size="0x0.2" />
	<field name="anchor_sec_tag_type" descr="For Encr only:\;Anchor for Security Tag (or ESP for future IPSec):\;0: OUTER_MAC\;1: INNER_MAC_ONLY \;Note: inner is according to UPCON.inner_en\;Note: when INNER_MAC_ONLY and HW has no inner_mac then the packet is not encrypted and a trap_id TBD is assignedNote: when INNER_MAC_ONLY then underlay-checksum of IP is updates and UDP CS is set to disabled (FF&apos;s)\;For Decr the HW parser finds the SecTag outer/inner" access="RW" offset="0x4.24" size="0x0.2" />
	<field name="validate_frames" descr="When Decrypt:\;Validate Frames (see IEEE 802.1AE):\;1: DISABLED\;2: CHECK\;3: STRICT\;Note: if need NULL then set forwarding = BYPASS.\;Assume that when Decrypt the NULL and UNCONTROLLED behave the same" access="RW" offset="0x4.28" size="0x0.2" />
	<field name="utcam_counter_idx" descr="Utcam counter index\;Note: higher index wins, e.g. if 1st is #6 and 2nd is #9 then #9 wins\;Range 0. .cap_utcam_counters - 1\;" access="RW" offset="0x8.0" size="0x0.8" />
	<field name="utcam_counter_en" descr="Utcam counter enable" access="RW" offset="0x8.8" size="0x0.1" />
</node>

<node name="utce_second_lookup_ext" descr="" size="0xc.0" >
	<field name="ucheck_id" descr="Ucheck ID\;Reserved when to_utrap != COPY" access="RW" offset="0x0.0" size="0x0.8" />
	<field name="to_utrap" descr="Copy to utrap\;0: NOP\;1: COPY\;" access="RW" enum="NOP=0x0,COPY=0x1" offset="0x0.16" size="0x0.2" />
	<field name="forwarding" descr="Forwarding:\;0: FORWARD - a.k.a NOP\;1: BYPASS - a.k.a. UNCONTROLLED\;2: DISCARD" access="RW" enum="FORWARD=0x0,BYPASS=0x1,DISCARD=0x2" offset="0x0.24" size="0x0.2" />
	<field name="sadb_entry_ptr" descr="SADB entry pointer\;Range 0.. cap_sadb_entries - 1\;Reserved when trap_fifo_action is TRAP, DISCARD_ERROR or EXCEPTION_TRAP\;Reserved when validate is NULL" access="RW" offset="0x4.0" size="0x0.16" />
	<field name="utcam_counter_idx" descr="Utcam counter index\;Note: higher index wins, e.g. if 1st is #6 and 2nd is #9 then #9 wins\;Range 0. .cap_utcam_counters - 1\;\;" access="RW" offset="0x8.0" size="0x0.8" />
	<field name="utcam_counter_en" descr="Utcam counter enable\;" access="RW" offset="0x8.8" size="0x0.1" />
</node>

<node name="uter_ext" descr="" size="0x30.0" >
	<field name="side" descr="Bit 0: Host_Side\;Bit 1: Line_Side" access="INDEX" enum="Host_Side=0x1,Line_Side=0x2" 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" access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="pending_entries" descr="Number of pending entries\;When 0 then no more entries to read" access="RO" offset="0x4.0" size="0x0.16" />
	<field name="ucheck_id" descr="ucheck ID\;See Table 2918, &quot;UCheck IDs,&quot; on page 3074\;Reserved when check_id is UTCAM\;Note: the utraps are not the same as traps" access="RO" offset="0x4.16" size="0x0.8" />
	<field name="time_stamp_sec" descr="Timestamp Sec" access="RO" offset="0x8.0" size="0x4.0" />
	<field name="time_stamp_nsec" descr="Timestamp nSec" access="RO" offset="0xC.0" size="0x0.30" />
	<field name="entry" descr="Entry per ucheck_id\;When ucheck_id = E0h (PN_THR) see Table 3051, &quot;UTER PN_THR Layout,&quot; on page 3167" access="RW" high_bound="7" low_bound="0" offset="0x10.0" size="0x20.0" />
</node>

<node name="utfc_ext" descr="" size="0x10.0" >
	<field name="side" descr="Bit 0: Host_Side\;Bit 1: Line_Side" access="INDEX" enum="Host_Side=0x1,Line_Side=0x2" 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" access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="clear" descr="Clear counter" access="OP" offset="0x0.31" size="0x0.1" />
	<field name="utrapf_dropped" descr="Count number of packets dropped towards the utrap FIFO\;Note: this counts only drops to utrap fifo due to lack of space in the utrap fifo." subnode="uint64" access="RO" offset="0x8.0" size="0x8.0" />
</node>

<node name="utfd_ext" descr="" size="0xf8.0" >
	<field name="side" descr="Bit 0: Host_Side\;Bit 1: Line_Side" access="INDEX" enum="Host_Side=0x1,Line_Side=0x2" 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" access="INDEX" offset="0x0.16" size="0x0.8" />
	<field name="pending_packets" descr="Number of pending packets (including this packet)\;When 1 then no more packets to read after this packet\;When 0 then nothing to read, all rest of fields are reserved\;" access="RO" offset="0x4.0" size="0x0.16" />
	<field name="ucheck_id" descr="ucheck ID\;See Table 2918, &quot;UCheck IDs,&quot; on page 3074\;Reserved when check_id is UTCAM\;Note: the utraps are not the same as traps" access="RO" offset="0x4.16" size="0x0.8" />
	<field name="frag_size" descr="Number of bytes in the last frag\;Reserved when frag != 2 or 3" access="RO" offset="0x8.0" size="0x0.10" />
	<field name="frag_type" descr="fragment type:\;0: first_fragment - start of packet\;1: middle_fragment\;2: last_fragment - end of packet\;3: start_and_end - packet is 1 fragment only" access="RO" enum="first_fragment=0x0,middle_fragment=0x1,last_fragment=0x2,start_and_end=0x3" offset="0x8.16" size="0x0.2" />
	<field name="time_stamp_sec" descr="Timestamp Sec" access="RO" offset="0xC.0" size="0x4.0" />
	<field name="time_stamp_nsec" descr="Timestamp nSec" access="RO" offset="0x10.0" size="0x0.30" />
	<field name="secy" descr="" access="RO" offset="0x14.0" size="0x0.16" />
	<field name="secy_v" descr="" access="RO" offset="0x14.16" size="0x0.1" />
	<field name="sec_act" descr="Security action:\;0: did not have security action, packet is as ingressed\;1: did have security action (was Decrypted/Encryptred)" access="RO" offset="0x14.24" size="0x0.1" />
	<field name="sadb_entry_index" descr="SADB entry index\;Range 0.. cap_sadb_entries - 1" access="RO" offset="0x18.0" size="0x0.16" />
	<field name="sadb_v" descr="The sadb_entry_index is valid" access="RO" offset="0x18.16" size="0x0.1" />
	<field name="data" descr="Data - payload of trapped packet. Note the fragmentation\;Size of 216Bytes" access="RO" high_bound="53" low_bound="0" offset="0x20.0" size="0xd8.0" />
</node>

<node name="uver_ext" descr="" size="0x8.0" >
	<field name="ether_type1" descr="VLAN EtherType1\;Used for VLAN parsing\;Default: 0x88A8" access="RW" offset="0x0.0" size="0x0.16" />
	<field name="ether_type0" descr="VLAN EtherType0\;Used for VLAN parsing\;Default: 0x8100" access="RW" offset="0x0.16" size="0x0.16" />
	<field name="ether_type2" descr="VLAN Ether type2\;Used for VLAN parsing" access="RW" offset="0x4.16" size="0x0.16" />
</node>

<node name="vlan_router_interface_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 device, all MAC addresses must have the same 38 MSBits\;In Spectrum-2 device, all MAC addresses per mac_profile_id must have the same 36 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 device, all MAC addresses must have the same 38 MSBits\;In Spectrum-2 device, all MAC addresses per mac_profile_id must have the same 36 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="root" size="0x710.0" descr="" >
	<field name="register_access_table_switch_ext_Nodes" offset="0x0.0" size="0x710.0" subnode="register_access_table_switch_ext_Nodes" descr="" />
</node>

<node name="register_access_table_switch_ext_Nodes" size="0x710.0" attr_is_union="1" descr="" >
	<field name="access_reg_summary_selector_ext" offset="0x0.0" size="0x710.0" subnode="access_reg_summary_selector_ext" descr="" />
</node>
</NodesDefinition>
