67408c85aa
The orchagent and syncd need to have the same default synchronous mode configuration. This PR adds a template file to translate the default value in CONFIG_DB (empty field) to an explicit mode so that the orchagent and syncd could have the same default mode.
31 lines
904 B
Bash
Executable File
31 lines
904 B
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
SWSS_VARS_FILE=/usr/share/sonic/templates/swss_vars.j2
|
|
|
|
# Retrieve SWSS vars from sonic-cfggen
|
|
SWSS_VARS=$(sonic-cfggen -d -y /etc/sonic/sonic_version.yml -t $SWSS_VARS_FILE) || exit 1
|
|
|
|
MAC_ADDRESS=$(echo $SWSS_VARS | jq -r '.mac')
|
|
if [ "$MAC_ADDRESS" == "None" ] || [ -z "$MAC_ADDRESS" ]; then
|
|
MAC_ADDRESS=$(ip link show eth0 | grep ether | awk '{print $2}')
|
|
logger "Mac address not found in Device Metadata, Falling back to eth0"
|
|
fi
|
|
|
|
# Create a folder for SsWW record files
|
|
mkdir -p /var/log/swss
|
|
ORCHAGENT_ARGS="-d /var/log/swss "
|
|
|
|
# Set orchagent pop batch size to 8192
|
|
ORCHAGENT_ARGS+="-b 8192 "
|
|
|
|
# Set synchronous mode if it is enabled in CONFIG_DB
|
|
SYNC_MODE=$(echo $SWSS_VARS | jq -r '.synchronous_mode')
|
|
if [ "$SYNC_MODE" == "enable" ]; then
|
|
ORCHAGENT_ARGS+="-s "
|
|
fi
|
|
|
|
# Set mac address
|
|
ORCHAGENT_ARGS+="-m $MAC_ADDRESS"
|
|
|
|
exec /usr/bin/orchagent ${ORCHAGENT_ARGS}
|