Skip to content

Commit d821bc0

Browse files
authored
[Mellanox] Add SAI template config support (#803)
Allow SAI xml dynamic config override when template is defined Signed-off-by: Nazarii Hnydyn <[email protected]>
1 parent bb341e9 commit d821bc0

File tree

1 file changed

+13
-4
lines changed

1 file changed

+13
-4
lines changed

syncd/scripts/syncd_init_common.sh

+13-4
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,12 @@ CMD_DSSERVE_ARGS="$CMD_SYNCD --diag"
88

99
ENABLE_SAITHRIFT=0
1010

11+
TEMPLATES_DIR=/usr/share/sonic/templates
1112
PLATFORM_DIR=/usr/share/sonic/platform
1213
HWSKU_DIR=/usr/share/sonic/hwsku
1314

14-
VARS_FILE=/usr/share/sonic/templates/swss_vars.j2
15+
VARS_FILE=$TEMPLATES_DIR/swss_vars.j2
16+
1517
# Retrieve vars from sonic-cfggen
1618
SYNCD_VARS=$(sonic-cfggen -d -y /etc/sonic/sonic_version.yml -t $VARS_FILE) || exit 1
1719
SONIC_ASIC_TYPE=$(echo $SYNCD_VARS | jq -r '.asic_type')
@@ -105,10 +107,17 @@ config_syncd_mlnx()
105107
[ -e /dev/sxdevs/sxcdev ] || ( mkdir -p /dev/sxdevs && mknod /dev/sxdevs/sxcdev c 231 193 )
106108

107109
# Read MAC address
108-
MAC_ADDRESS="$(sonic-cfggen -d -v DEVICE_METADATA.localhost.mac)"
110+
MAC_ADDRESS="$(echo $SYNCD_VARS | jq -r '.mac')"
111+
112+
# Make default sai.profile
113+
if [[ -f $HWSKU_DIR/sai.profile.j2 ]]; then
114+
export RESOURCE_TYPE="$(echo $SYNCD_VARS | jq -r '.resource_type')"
115+
j2 -e RESOURCE_TYPE $HWSKU_DIR/sai.profile.j2 -o /tmp/sai.profile
116+
else
117+
cat $HWSKU_DIR/sai.profile > /tmp/sai.profile
118+
fi
109119

110-
# Write MAC address into /tmp/profile file.
111-
cat $HWSKU_DIR/sai.profile > /tmp/sai.profile
120+
# Update sai.profile with MAC_ADDRESS and WARM_BOOT settings
112121
echo "DEVICE_MAC_ADDRESS=$MAC_ADDRESS" >> /tmp/sai.profile
113122
echo "SAI_WARM_BOOT_WRITE_FILE=/var/warmboot/" >> /tmp/sai.profile
114123
}

0 commit comments

Comments
 (0)