Forwarding tables and routing
Sizes of the shared hash and TCAM tables (L2, host, exact match, ALPM/LPM), ECMP, VXLAN/RIOT overlay resources, hashing and learning. See Forwarding table sizes.
Set in several SONiC Trident 3 HWSKU files: arl_clean_timeout_usec, bcm_tunnel_term_compatible_mode, flow_init_mode, fpem_mem_entries, host_as_route_disable, ipv6_lpm_128b_enable, l2_entry_used_as_my_station, l2_mem_entries, l2xmsg_hostbuf_size, l2xmsg_mode, l3_alpm_enable, l3_alpm_ipv6_128b_bkt_rsvd, l3_ecmp_levels, l3_max_ecmp_mode, l3_mem_entries, lpm_scaling_enable, max_vp_lags, mpls_mem_entries, multicast_l2_range, multicast_l3_range, riot_enable, riot_overlay_ecmp_resilient_hash_size, riot_overlay_l3_egress_mem_size, riot_overlay_l3_intf_mem_size, use_all_splithorizon_groups, vlan_xlate_1_mem_entries, vlan_xlate_2_mem_entries.
- alpm_data_autosave
- Type:
- number
Enable ALPM data autosave after first ALPM error ocurrs. The default file to save is: alpm_data.bin User can use shell command <alpm data restore> to restore ALPM HW data & SW trie.
- alpm_dist_hit_interval_us
- Type:
- number
- alpm_dist_hit_priority
- Type:
- number
- alpm_flex_stat_support
- Type:
- number
- Default:
0
Enable flex counter support for ALPM.
- alpm_pre_filter
- Type:
- number
Enable ALPM pre-filter feature.
- alpm_resource_log_enable
- Type:
- number
- alpm_trace_enable
- Type:
- number
- alpm_trace_sanity
- Type:
- number
- alpm_trace_wrap
- Type:
- number
- arl_clean_timeout_usec
- Type:
- number
- Default:
15000000
Timeout for hardware-accelerated ARL delete operations including: delete by port, delete by port+modid, delete by VLAN, delete by trunk.
- SONiC:
set in 9 Trident 3 HWSKU files;
15000000
- arl_rate_limit
- Type:
- number
- Default:
3000
Limit the number of ARL messages/sec the software will process, to keep it from hogging the CPU. Set to 0 to disable. Does not apply to L2X shadow table (see l2xmsg_thread_usec instead).
- arl_resync_delay
- Type:
- number
- Default:
3000000
Delay this long after an ARL message overrun before a lengthy ARL- resync process. Setting to 0 to disables resync, in peril of getting an inconsistent ARL message stream and/or corrupt L2 shadow table.
- bcm_tunnel_term_compatible_mode
- Type:
- number
- Default:
1
Terminate tunnels without matching the inner protocol (protocol mask 0), in the way all devices support. The SAI sets it to 1 if the file does not.
- SONiC:
set in 33 Trident 3 HWSKU files;
1- On Seastone2:
bcm_tunnel_term_compatible_mode=1
- bcm_use_gport
- Type:
- number
All API will return port numbers in GPORT encodings
- defip_wide_key_for_ipmc_disable
- Type:
- number
- Default:
0
Disable using single wide key for IPMC in DEFIP table. 0 – Enable using single wide key for IPMC in DEFIP table (default). 1 – Disable using single wide key for IPMC in DEFIP table.
- dlb_enable
- Type:
- number
- Default:
1
Enable/Disable the DLB feature. By default, we enable DLB. For disable, dlb_en = 0 For enable, dlb_en = 1
- dlb_flow_monitor_en
- Type:
- number
Turn on/off DLB flow monitoring. When set to a non-zero value, DLB flow monitoring feature is enabled. DLB id of 0 is not available when DLB monitoring is enabled. Currently supported on BCM5698x only. Valid values are: 0 (disabled) or non-zero (enabled). Default value is 0 (disabled)
- dlb_hgt_lag_selection
- Type:
- number
- Default:
0
Select either trunk or higig trunk that supports DLB 0: higig trunk 1: trunk
- dlb_quality_adjustment_default_value_select
- Type:
- number
- Default:
0
- dual_hash_recurse_depth_<table>
- Type:
- number
Maximum recursion depth when moving entries to make room in a dual-hash table. The multi-bank tables of Trident 3 use
multi_hash_recurse_depthinstead.- Names:
dual_hash_recurse_depth,dual_hash_recurse_depth_dnat_pool,dual_hash_recurse_depth_egr_vp_vlan_member,dual_hash_recurse_depth_egress_vlan,dual_hash_recurse_depth_ing_vp_vlan_member,dual_hash_recurse_depth_l2x,dual_hash_recurse_depth_l3x,dual_hash_recurse_depth_mpls,dual_hash_recurse_depth_vlan
- ecmp_dlb_port_speeds
- Type:
- number
- Default:
0
- ecmp_resilient_hash_size
- Type:
- number
The number of entries in the resilient hash table used by ECMP. The remaining entries are used by LAG resilient hashing. By default, the table is split evenly between ECMP and LAG resilient hashing. Valid values are 0, 32768, and 65536.
- egr_vlan_xlate_1_mem_entries
- Type:
- number
- Default:
16384
Number of EGR_VLAN_XLATE_1 mem entries.
- egr_vlan_xlate_2_mem_entries
- Type:
- number
- Default:
16384
Number of EGR_VLAN_XLATE_2 mem entries.
- egr_vlan_xlate_mem_banks
- Type:
- number
Number of minimum egress VLAN xlate mem banks. Applicable for devices supporting ISM.
- egr_vlan_xlate_mem_entries
- Type:
- number
Number of widest egress VLAN xlate mem entries.
- epc_sobmh_block
- Type:
- number
- flow_init_mode
- Type:
- number
- Default:
0
Which VXLAN implementation the SDK starts: 0 the legacy VXLAN module, 1 the flex-flow module. SONiC VXLAN files set 1, together with
riot_enableandsai_tunnel_support.- SONiC:
set in 27 Trident 3 HWSKU files;
1- On Seastone2:
flow_init_mode=1
- fpem_mem_entries
- Type:
- number
- Default:
0
Number of exact-match (FPEM) entries, used by the flow tracker and exact-match ACL. Allocated in shared UFT banks of 16384; one bank is always rounded up to two.
- SONiC:
set in 23 Trident 3 HWSKU files;
0,16384,32768
- gport_rsv_mask
- Type:
- number
Set the Receive Status Vector (RSV) mask for the Unimac
- Forms:
gport_rsv_mask_<port>,gport_rsv_mask_<type>,gport_rsv_mask
- host_as_route_disable
- Type:
- number
- Default:
0
1 stops host entries from going into the route table when the host table is full or a hash bucket collides; 0 (the default) allows it.
- SONiC:
set in 21 Trident 3 HWSKU files;
1
- ip6_vxlan_mshg_enable
- Type:
- number
- Default:
0
Enable/Disable egress multiple split horizon group check enhancement for IPv6 VxLAN. ip6_vxlan_mshg_enable = 0 disable ipv6 vxlan egress MSHG check enhancement. ip6_vxlan_mshg_enable = 1 enable ipv6 vxlan egress MSHG check enhancement.
- ipmc_age_mode
- Type:
- number
- Default:
0
IPMC aging mode. 0: (default): Application management mode. IPMC aging process triggered by applications and bcm_ipmc_age can be used to clear hit or delete entries. 1: SDK management mode. IPMC aging triggered by SDK and bcm_ipmc_age_timer_set can be used to set the interval of aging thread.
- ipmc_do_vlan
- Type:
- number
- Default:
1
Include the VLAN as part of the hash key for L3 IPMC
- ipmc_independent_mode
- Type:
- number
Enable IPMC independent mode.
- ipmc_l2_use_vlan_vpn
- Type:
- number
- Default:
0
Enable broadcast domain (VLAN/VPN) hash keys lookup for L2 IPMC In absence of this config the device loopkup IPMC multicast table based on L3 ingress interface.
- ipv6_lpm_128b_enable
- Type:
- number
- Default:
1
Enable IPv6 routes longer than /64 in the LPM table. Every SONiC Trident 3 file sets it to 1; the number of entries reserved is set with
num_ipv6_lpm_128b_entries.- SONiC:
set in 45 Trident 3 HWSKU files;
0x1,1,0- On Seastone2:
ipv6_lpm_128b_enable=0x1
- l2_age_mode
- Type:
- number
- l2_entry_used_as_my_station
- Type:
- number
- Default:
0
If set, enable L2_ENTRY and L2_USER_ENTRY my station hit.
- SONiC:
set in 6 Trident 3 HWSKU files;
1
- l2_hitbit_enable
- Type:
- number
- Default:
1
- l2_mem_banks
- Type:
- number
Number of minimum l2 mem banks. Applicable for devices supporting ISM.
- l2_mem_entries
- Type:
- number
- Default:
32768
Number of L2 (MAC) table entries. Trident 3 has 32768 dedicated entries; each further 32768 takes one shared UFT bank (at most 8 shared banks for L2, host and exact match together, 4 with ALPM). See Forwarding table sizes.
- SONiC:
set in 46 Trident 3 HWSKU files;
32768,40960,65536- On Seastone2:
l2_mem_entries=32768
- l2_overflow_event
- Type:
- number
Enable L2 overflow event processing by default
- l2_sw_aging_interval
- Type:
- number
L2 s/w aging cycle recurrence interval in seconds
- l2age_thread_pri
- Type:
- number
Priority of the s/w based L2 aging thread
- l2delete_chunks
- Type:
- number
L2 table is DMAed into memory to search for entries to delete when no hardware assists are available. DMA is done in smaller parts to minimize memory use. Must be port of 2.
- SONiC:
set in 1 Trident 3 HWSKU file;
4096
- l2fifo_dma_max_error_count
- Type:
- number
L2FIFO DMA max error count
- l2mod_dma_intr_enable
- Type:
- number
- Default:
1
- l2x_bulk_delete_min_poll_num
- Type:
- number
- Default:
0
This soc property is used to provide the minimum polling number for which the SOC timeout routine should iterate before which l2 bulk delete operation is expected to be completed. This can be used in tandem with timeout duration in microseconds for L2 bulk operations. The default timeout duration for l2 bulk operations is 15 sec and a custom value in usec can also be specified using the existing config property “arl_clean_timeout_usec”.
- l2x_bulk_op_learn_pause
- Type:
- number
- Default:
0
This soc property is applicable in L2 FIFO mode (l2xmsg_mode = 1), it is used to pause L2 learning during L2 bulk operations having record to L2 FIFO enabled. This soc property can be used in cases where there is very high L2 churn, which may cause contention for L2 FIFO table during L2 bulk operation, causing L2 bulk operation to timeout.
- l2xlrn_clear_on_read
- Type:
- number
When enabled, entries are removed from learn cache immediately following a read operation. Valid values: 0 (disable) or 1 (enable)
- l2xmsg_avl
- Type:
- number
Enable L2X shadowing into AVL tree.
- l2xmsg_chunks
- Type:
- number
Synchronize the L2X table in chunks to spread out the work over time and save memory on size of DMA buffer. Must be power of 2.
- l2xmsg_hostbuf_size
- Type:
- number
Size of the host buffer used to drain the L2 modification FIFO when
l2xmsg_modeis 1.- SONiC:
set in 14 Trident 3 HWSKU files;
8192,16384
- l2xmsg_mode
- Type:
- number
How the SDK learns about L2 table changes (learning, aging): 0 polls the L2 table by DMA and compares it with a software copy, 1 reads the hardware L2 modification FIFO. SONiC files use 1.
- SONiC:
set in 46 Trident 3 HWSKU files;
1,0- On Seastone2:
l2xmsg_mode=1
- l2xmsg_shadow_hit_<bits|src|dst>
- Type:
- number
Whether the software L2 shadow table tracks hardware hit bits (source, destination) when
l2xmsg_modeis 1.- Names:
l2xmsg_shadow_hit_bits,l2xmsg_shadow_hit_dst,l2xmsg_shadow_hit_src
- l2xmsg_thread_pri
- Type:
- number
- Default:
50
Priority of the _soc_l2x_thread, that is used to synchronize shadow copy of the L2 entry with the HW table
- l2xmsg_thread_usec
- Type:
- number
Period between synchronizations of the software L2X shadow table with the hardware (5690 only). The thread actually runs every l2xmsg_thread_usec/l2xmsg_chunks microseconds.
- l3_alpm2
- Type:
- number
- Default:
1
- l3_alpm2_bnk_threshold
- Type:
- number
ALPM Level3 bank usage threshold when bucket defragmentation or expansion is required during insert. Return FULL if exceeds this threshold. Default value is 95 percent.
- l3_alpm2_bulk_wr_threshold
- Type:
- number
- l3_alpm2_dbg_bmp
- Type:
- number
- l3_alpm2_dbg_info_bmp
- Type:
- number
- l3_alpm2_default_route_data_mode
- Type:
- number
- Default:
1
How ALPM stores the default route’s data; read by the SAI to decide default-route handling.
- l3_alpm2_defrag_max_l2cnt
- Type:
- number
- l3_alpm2_defrag_max_l3cnt
- Type:
- number
- l3_alpm2_defrag_max_time_ms
- Type:
- number
- l3_alpm2_defrag_on_full
- Type:
- number
- l3_alpm2_level
- Type:
- number
- Default:
3
- l3_alpm2_spl_dw
- Type:
- number
- l3_alpm2_spl_hw
- Type:
- number
- l3_alpm2_spl_sw
- Type:
- number
- l3_alpm_cache_enable
- Type:
- number
- Default:
0
- l3_alpm_enable
- Type:
- number
- Default:
0
Route prefixes in ALPM (algorithmic LPM) instead of the TCAM alone: 0 off, 1 parallel mode, 2 combined mode. ALPM takes four shared UFT banks, leaving four for
l2_mem_entries,l3_mem_entriesandfpem_mem_entries.- SONiC:
set in 37 Trident 3 HWSKU files;
2,0
- l3_alpm_hit_skip
- Type:
- number
This soc property is used to skip hit bits maintenance in ALPM mode. 1: Do not maintain the HIT bits to achieve performance gain.
- SONiC:
set in 2 Trident 3 HWSKU files;
1
- l3_alpm_ipv6_128b_bkt_rsvd
- Type:
- number
If ipv6_lpm_128b_enable is enabled, set to 1 to reserve equal percentage(TCAM[v4]:TCAM[v6]) of ALPM buckets for IPv6.
- SONiC:
set in 18 Trident 3 HWSKU files;
1
- l3_alpm_ipv6_bkt_rsvd_percent
- Type:
- number
- l3_alpm_sw_prefix_lookup
- Type:
- number
- l3_alpm_template
- Type:
- number
- Default:
1
- l3_defip_sizing
- Type:
- number
- l3_disable_add_to_arl
- Type:
- number
- Default:
0
Disable and restrict user to create l2 entry as part of l3 interface create
- l3_ecmp_group_first_lkup_mem_size
- Type:
- number
- Default:
0
Configures size of L3 ECMP_GROUP memory in fist lookup. It is used to decide the size of L3_ECMP_GROUP memories that are available for first ECMP lookup. Internally, the size rounds up to multiple of 512.
- l3_ecmp_levels
- Type:
- number
- Default:
1
Number of ECMP levels: 1 or 2. Two-level (hierarchical) ECMP is needed for VXLAN overlay ECMP over underlay ECMP and splits the ECMP tables between the levels.
- SONiC:
set in 23 Trident 3 HWSKU files;
2,3- On Seastone2:
l3_ecmp_levels=2
- l3_ecmp_max_group_size
- Type:
- number
- Default:
0
- l3_ecmp_member_first_lkup_mem_size
- Type:
- number
- Default:
0
Configures size of L3 ECMP memory in first lookup. It is used to decide the size of L3_ECMP memories that are available for first ECMP lookup. Internally, the size rounds up to multiple of 4096 in BCM5687x class of devices and 1024 in BCM5637x/BCM5657x. On BCM5687x this value defaults to half the ECMP member table size. On BCM5637x/BCM5657x, since only 3 out of 4 banks can be used when ECMP works in 2 levels, this defaults to size of one bank (1024).
- l3_ecmp_member_secondary_mem_size
- Type:
- number
- Default:
0
- l3_enable
- Type:
- number
- Default:
1
L3 switching enable
- l3_intf_vlan_split_egress
- Type:
- number
- Default:
1
Allow L3 interfaces on the same VLAN to have different egress properties (MTU, MAC). The SAI always sets it to 1 after reading the file.
- On Seastone2:
l3_intf_vlan_split_egress=1
- l3_max_ecmp_mode
- Type:
- number
Select the ECMP scaling mode, which trades the number of ECMP groups against their size. Set to 1 in most SONiC Trident 3 files.
- SONiC:
set in 41 Trident 3 HWSKU files;
1- On Seastone2:
l3_max_ecmp_mode=1
- l3_mem_banks
- Type:
- number
Number of minimum l3 mem banks. Applicable for devices supporting ISM.
- l3_mem_entries
- Type:
- number
- Default:
16384
Number of L3 host (exact /32 and /128) table entries. 16384 are dedicated; each further 32768 takes one shared UFT bank.
- SONiC:
set in 46 Trident 3 HWSKU files;
16384,40960,32768- On Seastone2:
l3_mem_entries=16384
- l3_reduced_route_max_ecmp_group_index
- Type:
- number
- Default:
0
- l3_srv6_enable
- Type:
- number
- Default:
0
Enable SRv6 function
- l3_traverse_use_special_intf
- Type:
- number
- lls_num_l2uc
- Type:
- number
The default number of unicast queues at L2 for LLS setup.
- Forms:
lls_num_l2uc_<port>,lls_num_l2uc_<type>,lls_num_l2uc
- lpm_ipv6_128b_reserved
- Type:
- number
- Default:
1
1: num_ipv6_lpm_128b_entries number of entries are reserved exclusively for 128B V6 LPM entries 0: Do not reserve any entries for 128B V6 entries and use the whole of paired TCAMs for either 128B V6, 64B V6, V4 entries. Ignored if lpm_scaling_enable is 0.
- lpm_layout
- Type:
- number
LPM could support LPM free space layout for different prefixes. Specifies the IP version, VRF type, prefix length and prefix count. via string lpm_layout_prefix<# of idx 0-64>=<IP ver>:<VRF type>:<prefix length>:<prefix count>. i.e. lpm_layout_prefix<1-64> = <4/6>:<0/1/2>:<0~32/0~64/>:<number> IP version: IPv4 or IPv6 VRF type: 0 for specific VRF, 1 for BCM_L3_VRF_OVERRIDE, 2 for BCM_L3_VRF_GLOBAL Prefix length: for IPv4, its range is 0~32, for IPv6, its range is 0~64 Prefix count: total route number should not greater than L3_DEFIP memory capacity This property does not support for Warmboot.
- Forms:
lpm_layout_prefix<N>
- lpm_layout_prefix_enable
- Type:
- number
- Default:
0
1: Allow defining LPM prefix layout in unpaired TCAM during initialization stage. 0: Do not defining LPM prefix layout in unpaired TCAM during initialization stage.
- lpm_mem_size
- Type:
- number
Configures size of lpm memory for UTT devices Default size is chip specific.
- lpm_scaling_enable
- Type:
- number
- Default:
0
1 allows 64-bit IPv6 LPM entries in the unreserved paired TCAM, 0 does not. The Celestica Seastone2 files set 1; the Dell S5232F files set 0 and use ALPM instead.
- SONiC:
set in 29 Trident 3 HWSKU files;
0,1- On Seastone2:
lpm_scaling_enable=1
- macro_flow_hash_shuffle_random_seed
- Type:
- number
- Default:
0
Random seed for flow based RTAG7 hash shuffling. 0 :(default) Use the random seed generated from timestamp. Non Zero: Configure the given non zero value as random seed.
- max_vp_lags
- Type:
- number
- Default:
0
Number of virtual-port LAGs to reserve; the default is the device maximum. SONiC files set 0.
- SONiC:
set in 39 Trident 3 HWSKU files;
0,256- On Seastone2:
max_vp_lags=0
- mim_decoupled_mode
- Type:
- number
In the decoupled mode, VFI and Source VP(SVP) can be derived seperately and VLAN can be assigned per VFI. mim_decoupled_mode = 0 Disable the MIM(Mac-In-Mac) decoupled mode. Default MIM operation mode applies. mim_decoupled_mode = 1 Enable the MIM(Mac-In-Mac) decoupled mode on applicable devices.
- module_num_modids
- Type:
- number
- Default:
1
Configure the number of module id used by the device
- mpls_label_per_port_delete_all_enable
- Type:
- number
Enable removing all MPLS labels on a per port basis for BCM5687x, BCM5677x, BCM5637x and BCM5647x series of devices. With this enabled, traditional adaptation lookup will not happen on individual ports that opt to use this feature by using port control API. This is applicable for both L3MPLS and L2MPLS packets based on values selected Valid values: 0,1 and 3. 0 -> This is the default value and device behaves in the existing way where MPLS tunnel termination is based on results from adaption lookup. 1 -> This enables per port MPLS termination for ONLY L2MPLS applications like VPLS/VPWS. 2 -> Reserved. 3 -> Enables per port MPLS termination for BOTH L2MPLS and L3MPLS applications.
- mpls_mem_banks
- Type:
- number
Number of minimum MPLS mem banks. Applicable for devices supporting ISM.
- mpls_mem_entries
- Type:
- number
- Default:
32768
Number of widest MPLS mem entries.
- SONiC:
set in 6 Trident 3 HWSKU files;
16384,2048
- mpls_port_qos_mapping_copy_skip
- Type:
- number
- mpls_switch_ipv4_ipv6_independent_control
- Type:
- number
0=disable 1=enable. By default, IPv4 and IPv6 packets are enabled for MPLS tunnels. This config variable provides option to override the default values.
- mps_label_stack_sharing
- Type:
- number
- multi_hash_move_algorithm
- Type:
- number
- multi_hash_recurse_depth
- Type:
- number
Default maximum number of entry moves when inserting into a full multi-bank hash table, for all tables without a table-specific
multi_hash_recurse_depth_<table>.
- multi_hash_recurse_depth_<table>
- Type:
- number
Maximum number of entry moves (cuckoo-style re-insertion) the SDK tries when a multi-bank hash table bucket is full, for one table. Higher values fill the table more densely at the cost of insert time. Overrides
multi_hash_recurse_depth.- Names:
multi_hash_recurse_depth_egress_vlan,multi_hash_recurse_depth_egress_vlan_1,multi_hash_recurse_depth_egress_vlan_2,multi_hash_recurse_depth_exact_match,multi_hash_recurse_depth_l2,multi_hash_recurse_depth_l3,multi_hash_recurse_depth_mpls,multi_hash_recurse_depth_vlan,multi_hash_recurse_depth_vlan_1,multi_hash_recurse_depth_vlan_2- SONiC:
set in 6 Trident 3 HWSKU files
- multi_network_groups
- Type:
- number
- Default:
0
- multicast_l2_range
- Type:
- number
In BCM568xx and BCM567xx devices, some L2 and L3 multicast information is stored in a shared resource. This value describes the number of resource entries devoted to L2 multicast.
- SONiC:
set in 9 Trident 3 HWSKU files;
16383,4095
- multicast_l3_range
- Type:
- number
In BCM568xx and BCM567xx devices, some L2 and L3 multicast information is stored in a shared resource. This value describes the number of resource entries devoted to IP multicast.
- SONiC:
set in 9 Trident 3 HWSKU files;
0
- multicast_per_trunk_replication
- Type:
- number
Per trunk multicast replication mode
- my_station_forward_domain_type_decoupled
- Type:
- number
Whether bcm_l2_station_t.forward_domain_type is explicitly managed by users or not. 0: forward_domain_type setting is coupled with forward domain (VFI or VLAN) and thus managed implicitly. 1: forward_domain_type setting is decoupled from forward domain (VFI or VLAN) and needs to set explicitly. By default 0 is selected, thus providing backward compatibility. However value of 1 is suggested.
- num_ipv6_lpm_128b_entries
- Type:
- number
Number of LPM entries reserved for IPv6 prefixes longer than /64 when
ipv6_lpm_128b_enableis 1. They are taken from the IPv4 and short IPv6 space.
- preserve_otag_after_routing
- Type:
- number
- protocol_vlan_coupled_mode
- Type:
- number
- Default:
0
To set the couple mode in bcm_port_untagged_vlan_set. mode = 0 is legacy couple mode. Port-based VLAN and protocol-based VLAN can be used at the same time and work right. But port-based vlan supports at max 127 ports with different default vlan. mode = 1 is decouple mode, it supports all ports(>128) based default vlan. But protocol-based vlan is suggested to abandon or use VFP instead.
- remote_mod_map_mode
- Type:
- number
- Default:
0
Select MOD map mode of remote unit from global MODID to local MODID or vice versa. 0 - Convert remote (MODID, port) based on dual MOD config of local unit; 1 - Do not convert remote (MODID, port) based on dual MOD config of local unit. Instead, applications need to register a callback to convert remote (MODID, port).
- replication_eligible_pbmp
- Type:
- number
A bitmap of ports eligible for packet replication. The default value is a bitmap of valid ports. This configuration property is applicable to devices on which the hardware resource for packet replication needs to be statically allocated to replication groups during initialization. On such devices, decreasing the number of ports eligible for replication would increase the number of replication groups supported.
- reserve_multicast_resources
- Type:
- number
1: Some of last entries of MMU_REPL_HEAD_TBL are reserved. The number of reserved entries equals to the number of ports in the valid PBMP. When there are not enough entries during deleting a port from a replication group, the reserved entries will be used as a swap space to configure the replication info of the group. After the port is deleted, there will be enough entries to configure the replication info of the group. Then, the reserved entires will be in free status again. 0: The entires are not reserved.
- reserve_nh_for_ecmp
- Type:
- number
- Default:
0
This soc property is used to enable/disable the reservation of NextHop tables. The number of entries it reserves is equal to the number of ECMP Groups. NOTES: 1. It is a WAR for H/W limitation. 2. When it is enabled, Black Hole(0) and L2CPU(1) entries will also be moved after reserved entries. 3. Interaction with spn_RIOT_OVERLAY_L3_EGRESS_MEM_ALLOC_MODE and spn_RIOT_OVERLAY_L3_EGRESS_MEM_SIZE: No matter spn_RIOT_OVERLAY_L3_EGRESS_MEM_ALLOC_MODE is enabled or disabled, spn_RIOT_OVERLAY_L3_EGRESS_MEM_SIZE which define the size of overlay can be ensured. Only underlay entries (equal the number of ECMP Groups) will be wasted. spn_RIOT_OVERLAY_L3_EGRESS_MEM_SIZE should be less than the actual size after reservation. 4. On BCM56960, when it is enabled, no need to call bcm_l3_egress_create with BCM_L3_FLAGS2_NO_ECMP_OVERLAP flag.
- riot_enable
- Type:
- number
- Default:
0
Enable routing in and out of tunnels (RIOT), needed for routed VXLAN (EVPN symmetric IRB).
- SONiC:
set in 31 Trident 3 HWSKU files;
1,0- On Seastone2:
riot_enable=1
- riot_overlay_ecmp_resilient_hash_size
- Type:
- number
- Default:
0
Resilient-hash flow-set entries reserved for overlay ECMP when
riot_enableis 1. SONiC VXLAN files use 16384.- SONiC:
set in 30 Trident 3 HWSKU files;
16384- On Seastone2:
riot_overlay_ecmp_resilient_hash_size=16384
- riot_overlay_l3_egress_mem_alloc_mode
- Type:
- number
- Default:
0
Configure allocation mode of overlay egress object. Valid values: 0 = allocate from low portion, hard partition for overlay/underlay memory spaces(default, bit0 = 0, bit1 = 0) 1, 3 = allocate from high portion (bit0 = 1) 2, 3 = soft partition, adjust overlay/underlay partition on demand(bit1 = 1)
- riot_overlay_l3_egress_mem_size
- Type:
- number
- Default:
0
Number of next hops (egress objects) reserved for the overlay when
riot_enableis 1. SONiC VXLAN files use 32768.- SONiC:
set in 30 Trident 3 HWSKU files;
32768,8192- On Seastone2:
riot_overlay_l3_egress_mem_size=32768
- riot_overlay_l3_intf_mem_alloc_mode
- Type:
- number
- Default:
0
Configure allocation mode of overlay egress L3 interface. Valid values: 0 = allocate from low portion, hard partition for overlay/underlay memory spaces(default, bit0 = 0, bit1 = 0) 1, 3 = allocate from high portion (bit0 = 1) 2, 3 = soft partition, adjust overlay/underlay partition on demand(bit1 = 1)
- riot_overlay_l3_intf_mem_size
- Type:
- number
- Default:
0
Number of L3 interfaces reserved for the overlay (VXLAN) when
riot_enableis 1. SONiC VXLAN files use 8192.- SONiC:
set in 30 Trident 3 HWSKU files;
8192,4096- On Seastone2:
riot_overlay_l3_intf_mem_size=8192
- robust_hash_disable_<table>
- Type:
- number
Disable robust hashing (the per-table random remapping of hash keys that spreads entries evenly) for one hash table. Default 0: robust hashing on.
- Names:
robust_hash_disable_egr_vp_vlan,robust_hash_disable_egress_vlan,robust_hash_disable_egress_vlan1,robust_hash_disable_egress_vlan2,robust_hash_disable_exact_match,robust_hash_disable_ing_dnat_address,robust_hash_disable_ing_vp_vlan,robust_hash_disable_l2,robust_hash_disable_l3,robust_hash_disable_mpls,robust_hash_disable_subport_id_sgpp_map,robust_hash_disable_vlan,robust_hash_disable_vlan1,robust_hash_disable_vlan2- SONiC:
set in 27 Trident 3 HWSKU files
- robust_hash_seed_<table>
- Type:
- number
Seed of the robust-hash remapping for one hash table. Changing it changes where entries land, not the table size.
- Names:
robust_hash_seed_egress_vlan,robust_hash_seed_egress_vlan_1,robust_hash_seed_egress_vlan_2,robust_hash_seed_egress_vp_vlan,robust_hash_seed_exact_match,robust_hash_seed_ing_dnat_address,robust_hash_seed_ingress_vp_vlan,robust_hash_seed_l2,robust_hash_seed_l3,robust_hash_seed_mpls,robust_hash_seed_subport_id_to_sgpp_map,robust_hash_seed_vlan,robust_hash_seed_vlan_1,robust_hash_seed_vlan_2
- run_l2_sw_aging
- Type:
- number
Run s/w based L2 aging thread by default
- station_mac_address
- Type:
- string
Station MAC address used for management through the switch ports itself. If using the CPU network interface, the NVRAM setting is used for MAC address assignment.
- switch_bypass_mode
- Type:
- number
On BCM5682x, BCM5672x and BCM56960 devices, some of the switching logic may be skipped to decrease traffic latency. On BCM5682x and BCM5672x, the three modes available are: 0 - normal operation 1 - Skip L3 switch logic 2 - Skip L3 and FP switch logic On BCM56960, the switch latency bypass modes availabe are: 0 - normal operation 1 - balanced latency L2 + L3 2 - low latency L2 3 - EFP Bypass
- tr144_long_sleep_time_us
- Type:
- number
- trunk_extend
- Type:
- number
- Default:
1
EXTEND maximum number of front panel trunk groups from 32 to 128
- trunk_resilient_hash_table_size
- Type:
- number
- Default:
32768
Specifices the number of entries to be reserved in flowset table for resilient hashing load balancing mode front panel trunk groups. The remaining entries in this table are used by resilient hashing load balancing mode HiGig trunk groups.If this property is not configured, then the table entries are split evenly between resilient hashing load balancing mode front panel trunk groups and HiGig trunk groups. Valid values for this property are: 0, 32K, 64K. Default: 32K.
- use_all_splithorizon_groups
- Type:
- number
- Default:
0
Make all split-horizon groups available instead of reserving groups 0 and 1 for access and network ports of L2 tunnels. Set in SONiC VXLAN files.
- SONiC:
set in 29 Trident 3 HWSKU files;
1- On Seastone2:
use_all_splithorizon_groups=1
- vlan_action_dummy_vp_reserved
- Type:
- number
This soc property indicates if the dummy VP for VLAN_XLATE action feature is enabled. Value 1 means enable mode, 0 means disable mode. Default value is 0
- vlan_auto_stack
- Type:
- number
- Default:
0
This soc property is used to turn on/off vlan auto stack. Note: It will override the preprocessor macro BCM_VLAN_NO_AUTO_STACK. vlan_auto_stack = 1: turn on vlan auto stack. vlan_auto_stack = 2: turn off vlan atuo stack. vlan_auto_stack = 0: the soc property does not take effect.
- vlan_mac_add_xlate_table_select
- Type:
- number
Select VLAN_XLATE table to use for VLAN assignment based on incoming MAC address. Valid values are 0 and 1. The default value is 0. 0: Use VLAN_XLATE_2_DOUBLE to program MAC based VLAN translations (Default behavior) 1: Use VLAN_XLATE_1_DOUBLE to program MAC based VLAN translations. The APIs impacted are: bcm_vlan_mac_add, bcm_esw_vlan_mac_delete, bcm_esw_vlan_mac_delete_all, bcm_esw_vlan_mac_get and bcm_esw_vlan_mac_action_traverse.
- vlan_tag_ctrl_on_egress
- Type:
- number
The config property is used to select packet,s egress tag behavior on the device. User can select “egress vlan translate based tag action” or “hash based egress VP vlan membership” on the devices that support both methods. The valid values are 0 and 1. 0: hash based egress VP vlan membership is used for egress tag 1: egress vlan translate based tag action is used for egress tag default: 0
- vlan_xlate_1_mem_entries
- Type:
- number
- Default:
32768
Number of VLAN_XLATE_1 mem entries.
- SONiC:
set in 6 Trident 3 HWSKU files;
65536,16384
- vlan_xlate_2_mem_entries
- Type:
- number
- Default:
32768
Number of VLAN_XLATE_2 mem entries.
- SONiC:
set in 6 Trident 3 HWSKU files;
16384,2048
- vlan_xlate_mem_banks
- Type:
- number
Number of minimum VLAN xlate mem banks. Applicable for devices supporting ISM.
- vlan_xlate_mem_entries
- Type:
- number
Number of widest VLAN xlate mem entries.
- vlandelete_chunks
- Type:
- number
Size of chunks to read at once while iterating over VLAN XLATE memory
- vplag_vp_alloc_mode
- Type:
- number
This soc property is used to control vplag vp allocation Set to 0(default) to control vplag vp allocation from low end Set to 1 to control vplag vp allocation from high end.
- vxlan_tunnel_init_ext_fields_update
- Type:
- number
Specify if tunnel related extended fields such as src_port, dscp and ttl can be updated per tunnel, in vxlan tunnel initiator create 0 – Disable updating the extended fields per tunnel. 1 – Enable updating the extended fields per tunnel.