Telemetry, timing and OAM

Flow tracker, IFA, QCM, BFD and PTP/BroadSync. Most of these need matching embedded-application firmware; setting a variable alone does not enable a feature.

Set in several SONiC Trident 3 HWSKU files: ptp_bs_fref, ptp_ts_pll_fref.

appl_param_e2e_scheme_cos
Type:
number
Default:
8
bfd_control_plane_independence
Type:
number
Default:
1

If the config property is enabled by default (set to 1), if bfd_control_plane_independence is 0, Fw transmit BFD packets with C bit 0, otherwise C bit 1. The default value of the config property is 1 (enabled)

bfd_cosq
Type:
number
Default:
0

BFD CoS queue

bfd_dip_lookup_enable
Type:
number
Default:
0

When enabled, destination IP address(DIP) along with source IP address(SIP) is used to de-multiplex BFD session for zero Your-discriminator packets. 0 – Only SIP for de-multiplex BFD session. 1 – SIP and DIP both for de-multiplex BFD session. 2 – Only DIP for de-multiplex BFD session.

bfd_enable
Type:
number
Default:
0

Enable BFD features

bfd_encap_memory_size
Type:
number
Default:
0

Memory allocated for BFD encapsulation data (in bytes)

bfd_feature_enable
Type:
number

Enable BFD Feature with bit map fields, lower bits will take precedence, 1st LSB bit is Multi Hop as default, 2nd LSB bit is Micro/Trunk and 3rd LSB bit is Echo mode Feature. Value 0 will disable all the features.

bfd_ifp_lookup_enable
Type:
number
Default:
0

When this property is configured, IFP will be used for bfd look up instead of HW tables look up. The default value of the config property is 0

bfd_ignore_l3_host_config
Type:
number
bfd_jitter_disable
Type:
number
bfd_l3_iif_to_vrf_map_enable
Type:
number
Default:
0

Enable/Disable L3IIF to VRF lookup in the FW.

bfd_num_sessions
Type:
number
Default:
256

Number of BFD sessions

bfd_over_vxlan_zero_discr_demux
Type:
number
Default:
0

De-multiplex BFDoVxLAN session for zero Your-discriminator packets. 0 – Only VNID for de-multiplex BFD session. 1 – VNID + VTEP SIP both for de-multiplex BFD session.

bfd_pkt_tx_on_state_change
Type:
number
bfd_remote_discriminator
Type:
number
Default:
0

If the config property is enabled (set to 1), configuring remote discriminator value is always same, not overriding with the learned BFD My discriminator value. The default value of the config property is 0 (disabled)

bfd_remote_discriminator_reset
Type:
number
Default:
0

Enable/Disable the configuration of resetting remote discriminator variable under certain circumstances such as receiving admin_down or down messages when local session state is UP. The default value of the config property is 0 (disabled)

bfd_session_down_event_on_create
Type:
number
Default:
0

If this config property is enabled (set to 1), there would be a state change event (State would be down for the endpoint) received after the session is created if we do not receive any packets from the peer within detection_multiplier * 1 seconds. Default value is 0 (disabled)

bfd_sha1_keys
Type:
number
Default:
0

Number of BFD SHA1 authentication keys

bfd_simple_password_keys
Type:
number
Default:
0

Number of BFD simple password authentication keys

bfd_thread_pri
Type:
number

Specifies the priority of the bcmBFD thread

bfd_trunk_auto_tx_port_update_disable
Type:
number
Default:
0

Enable/Disable of updating TX port with RX port behavior of BFD over Trunk endpoints.

bfd_tx_raw_ingress_enable
Type:
number
Default:
0

Enable/Disable of raw ingress inject of BFD Tx packets from BTE for all sessions which includes support for BFD over LAG, ECMP and except micro, echo BFD

bfd_use_endpoint_id_as_discriminator
Type:
number
Default:
0

Enable/Disable the configuration of using endpoint index itself as local discriminator for BFD endpoints.If the config property is enabled (set to 1), any value passed in local_discriminator field in endpoint info will be ignored and endpoint index would be used instead. The default value of the config property is 0 (disabled)

bs_poll_interval
Type:
number

Set the debug buffer polling interval in uSec for Broadsync. Default being 1000 uSec.

clm_enable
Type:
number
Default:
0
dpll_params
Type:
list

Set default parameters for the DPLL command. Comma-Separated-Values. DevSel, CPOL, CPHA, AddrBitOrder, DataBitOrder, AddrWidth, UseBrstBit, UseRwBit

flow_tracker_intr_enable
Type:
number
Default:
1
flowtracker_<point>_delay_<granularity|offset>
Type:
number

Granularity and offset of the delay values the flow tracker records at one measurement point (chip, e2e, ipat, ipdt).

Names:

flowtracker_chip_delay_granularity, flowtracker_chip_delay_offset, flowtracker_e2e_delay_granularity, flowtracker_e2e_delay_offset, flowtracker_ipat_delay_granularity, flowtracker_ipat_delay_offset, flowtracker_ipdt_delay_granularity, flowtracker_ipdt_delay_offset

flowtracker_chip_debug_enable
Type:
number
Default:
0

enable Chip debug functionality. The counters for multiple similar objects will be counted together across the chip. default value: 0 (disabled)

flowtracker_drop_monitor_enable
Type:
number
Default:
0

Drop monitoring, 0 - Disable, 1 - Enable

SONiC:

set in 1 Trident 3 HWSKU file; 1

flowtracker_enable
Type:
number
Default:
0

Enable the flow tracker. Needs the flow tracker embedded-application firmware and exact-match space (fpem_mem_entries).

SONiC:

set in 1 Trident 3 HWSKU file; 2

flowtracker_export_fifo_hostbuf_size
Type:
number

Number of flowtracker export entries allocated for the FIFO DMA host buffer

flowtracker_export_fifo_intr_enable
Type:
number
Default:
1

Interrupt vs polled mode for flowtracker fifo dma export

flowtracker_export_fifo_thread_pri
Type:
number
Default:
100

flowtracker export fifo thread priority; 0 is highest and 255 is lowest

flowtracker_export_interval_secs
Type:
number
Default:
0

Export interval of the active flows in seconds

flowtracker_export_interval_usecs
Type:
number
Default:
0

Export interval of the active flows in usecs

SONiC:

set in 1 Trident 3 HWSKU file; 1000000

flowtracker_export_ipfix_enable
Type:
number

1 - enable MoD periodic counter exports through IPFIX format default value: 0 (disabled)

flowtracker_flex_state_transition_mode
Type:
number
Default:
0

Specify mode for flexible state transition in flowtracker. 0 – State transition table is pre-defined at SDK initialization. It cannot be modified using APIs after SDK initialization (default). 1 – State transition table is pre-defined at SDK initialization. It can be modified using APIs after SDK initialization. 2 – State transition table is not pre-defined at SDK initialization.

flowtracker_hostmem_enable
Type:
number

Enable host memory access 0 - Disable, 1 - Enable

flowtracker_indirect_mem_access_timeout_usec
Type:
number
Default:
100000

Indirect flowtracker memory access operation timeout in microseconds

flowtracker_ipfix_observation_domain_id
Type:
number

Ipfix observation domain Id for an observation domain (usually a switch). If IPFIX observation domain needs to be configured at runtime, this config property must not be configured.

SONiC:

set in 1 Trident 3 HWSKU file; 1

flowtracker_max_collectors
Type:
number

Maximum number of collectors that can be attached to flowtracker groups. Valid only if flowtracker_enable=2 default value: 1

flowtracker_max_counters_per_flow
Type:
number

Maximum number of counters that can be assigned to a single flow. Valid values currently supported are 1, 2 and 4. default value: 1

flowtracker_max_flows
Type:
number
Default:
0

Maximum number of tracked flows.

SONiC:

set in 1 Trident 3 HWSKU file; 48000

flowtracker_unmatched_tuples_size
Type:
number
ibod_fifo_len
Type:
number
ibod_sync_thread_pri
Type:
number
Default:
50

Specifies the priority of the bcmIbodSync thread

ifa_cc_num_sbus_dma
Type:
number
Default:
2

Maximum number of SBUS DMA. In case of 2 SBUS DMA, 2 SBUS DMA of CMC-1 is used In case of 4 SBUS DMA, 2 SBUS DMA of CMC-0 and 2 SBUS DMA CMC-1 are used default value: 2

ifa_enable
Type:
number
Default:
0

Enable in-band flow analyzer (IFA) support. Needs the IFA embedded-application firmware.

SONiC:

set in 1 Trident 3 HWSKU file; 1

ifa_max_export_pkt_length
Type:
number

Maximum possible length of the export packet sent by IFA embedded app.

ifa_max_vxlan_term_flows
Type:
number

Maximum number of IFA VXLAN terminated flows supported by IFA embedded app.

ifa_rx_pkt_max_length
Type:
number

Maximum possible length of the incoming IFA packet.

ifa_tailstamp_metadata_lns_id
Type:
number

LNS format to which the tailstamped metadata is converted prior to insertion in the metadata stack.

ipfix_hostbuf_size
Type:
number

Number of IPFIX export entries allocated for the FIFO DMA host buffer

ipfix_intr_enable
Type:
number
ipfix_thread_pri
Type:
number
Default:
100

IPFIX export fifo thread priorities; 0 is highest and 255 is lowest

L1_backup_clk_recovery_port
Type:
number

Selects the backup L1 clock recovery port. Choose a non-cpu port that does not have an external phy.

L1_primary_clk_recovery_port
Type:
number

Selects the primary L1 clock recovery port. Choose a non-cpu port that does not have an external phy.

macsec_enable
Type:
number
Default:
0

Specifies to enable or disable MACSEC feature on the specified port. MACSEC feature might be provided by a PHY device attached to switch port. (Default is to disable MACSEC)

Forms:

macsec_enable_<port>, macsec_enable_<type>, macsec_enable

mcs_hostmem_size
Type:
number

In supported devices, Part of Host Memory can be allocated and provided to the uC for its internal usage This variable specifies Size in KB. Suffix with _uc0 _uc1 etc.

mcs_uart_bmp
Type:
number

Config to override the default UART number used by the uKernel console User needs to provide the new UART number as a bitmap. i.e bit-0 is UART0 etc. If the config property is set to 0, or if more than one bit is set, firmware will use the default UART. Suffix this config with _uc0 _uc1 etc.

ptp_<bs|ts>_<pll parameter>
Type:
number

Loop and divider parameters of the BroadSync (ptp_bs_*) and timestamp (ptp_ts_*) PLLs. Set only from the board vendor’s values.

Names:

ptp_bs_ka, ptp_bs_ki, ptp_bs_kp, ptp_bs_mndiv, ptp_bs_ndiv_int, ptp_bs_pdiv, ptp_bs_vco_div2, ptp_ts_ka, ptp_ts_ki, ptp_ts_kp, ptp_ts_pll_mndiv, ptp_ts_pll_n, ptp_ts_pll_pdiv

ptp_bs_fref
Type:
number

Reference frequency in Hz of BroadSync PLL N: ptp_bs_fref_<N>. Seastone2 files set ptp_bs_fref_0 and ptp_bs_fref_1 to 50000000.

Forms:

ptp_bs_fref_<N>

SONiC:

set in 14 Trident 3 HWSKU files; 50000000

On Seastone2:

ptp_bs_fref_0=50000000, ptp_bs_fref_1=50000000

ptp_cf_sw_update
Type:
number
Default:
0

Control to enable CF update for 1588 packets in software Valid Values: 0x0: CF Update happens in Hardware (default) 0x1: CF Update happens in Software

ptp_cosq
Type:
number

PTP CoS queue

ptp_ts_pll_fref
Type:
number

Reference frequency in Hz of the timestamp PLL. Seastone2 files set 50000000.

SONiC:

set in 12 Trident 3 HWSKU files; 50000000

On Seastone2:

ptp_ts_pll_fref=50000000

qcm_flow_enable
Type:
number
Default:
0

Enable QCMv2(Flow Tracking and Queue Congestion Monitoring) embedded app default value: 0 (disabled)

qcm_ipfix_ntp_timestamp_export_enable
Type:
number
qcm_max_flows
Type:
number

Maximum number of flows that can be learnt. default value: 1K

sw_timestamp_fifo_enable
Type:
number
Default:
1

Get 1588 timestamps from HW register or SW FIFO. If 1(default), timestamps are controlled by soc_feature_timestamp_counter and timestamps are obtained from SW FIFO. If 0, get timestamps directly from HW register.

telemetry_export_max_packet_size
Type:
number

Maximum size of the packet sent by telemetry application. default value: 1500 bytes

telemetry_max_ports_monitor
Type:
number

Maximum number of ports that can be monitored simultaneously by ST app

timestamp_adjust_<speed>_ns
Type:
number

PTP timestamp correction in nanoseconds for ports of one speed (10gbe, 25gbe, 40gbe, 50gbe, 100gbe, …); timestamp_adjust_ns for all other speeds.

Names:

timestamp_adjust_100gbe_ns, timestamp_adjust_100mbe_ns, timestamp_adjust_10gbe_ns, timestamp_adjust_10mbe_ns, timestamp_adjust_1gbe_ns, timestamp_adjust_20gbe_ns, timestamp_adjust_25gbe_ns, timestamp_adjust_2_5gbe_ns, timestamp_adjust_40gbe_ns, timestamp_adjust_50gbe_ns, timestamp_adjust_ns

timestamp_tsts_adjust_<speed>_ns
Type:
number

One-step timestamp (TSTS) correction in nanoseconds for ports of one speed; timestamp_tsts_adjust_ns for all other speeds.

Names:

timestamp_tsts_adjust_100gbe_ns, timestamp_tsts_adjust_100mbe_ns, timestamp_tsts_adjust_10gbe_ns, timestamp_tsts_adjust_10mbe_ns, timestamp_tsts_adjust_1gbe_ns, timestamp_tsts_adjust_20gbe_ns, timestamp_tsts_adjust_25gbe_ns, timestamp_tsts_adjust_2_5gbe_ns, timestamp_tsts_adjust_40gbe_ns, timestamp_tsts_adjust_50gbe_ns, timestamp_tsts_adjust_ns

ts_counter_combined_mode
Type:
number
Default:
1

Option to program TS counters in common control mode Valid Values: 0x0: Will disable common control mode 0x1: Will enable common control mode (default)

tsfifo_available_flag
Type:
number
Default:
1

Enable TS FIFO host control

tsfifo_open_loop
Type:
number
Default:
0
uc_msg_<setting>
Type:
number

Timeouts, retry delay and thread priority of the message channel between the SDK and the embedded ARM applications (BFD, flow tracker, IFA, BroadSync).

Names:

uc_msg_ctl_timeout, uc_msg_queue_timeout, uc_msg_send_retry_delay, uc_msg_send_timeout, uc_msg_thread_pri, uc_msg_tx_beacon_timeout

xflow_macsec_secure_chan_to_num_secure_assoc_decrypt
Type:
number
Default:
1
xflow_macsec_secure_chan_to_num_secure_assoc_encrypt
Type:
number
Default:
1