1
1
#! /usr/bin/env bash
2
2
3
- CMD_SYNCD=/usr/bin/syncd
3
+ CHIP_TYPE=" npu"
4
+
5
+ while getopts p option
6
+ do
7
+ case " ${option} "
8
+ in
9
+ p) CHIP_TYPE=" phy" ;;
10
+ esac
11
+ done
12
+
13
+ if [ x" $CHIP_TYPE " == x" phy" ]; then
14
+ CMD_SYNCD=/usr/bin/physyncd
15
+ else
16
+ CMD_SYNCD=/usr/bin/syncd
17
+ fi
4
18
5
19
# dsserve: domain socket server for stdio
6
20
CMD_DSSERVE=/usr/bin/dsserve
@@ -11,6 +25,7 @@ ENABLE_SAITHRIFT=0
11
25
PLATFORM_DIR=/usr/share/sonic/platform
12
26
HWSKU_DIR=/usr/share/sonic/hwsku
13
27
28
+
14
29
SONIC_ASIC_TYPE=$( sonic-cfggen -y /etc/sonic/sonic_version.yml -v asic_type)
15
30
16
31
if [ -x $CMD_DSSERVE ]; then
@@ -71,6 +86,14 @@ function set_start_type()
71
86
fi
72
87
}
73
88
89
+ config_syncd_phy ()
90
+ {
91
+ if [ ${ENABLE_SAITHRIFT} == 1 ]; then
92
+ CMD_ARGS+=" -r -m $HWSKU_DIR /port_config.ini"
93
+ fi
94
+
95
+ [ -r $PLATFORM_DIR /physyncd.conf ] && . $PLATFORM_DIR /physyncd.conf
96
+ }
74
97
75
98
config_syncd_bcm ()
76
99
{
@@ -175,35 +198,43 @@ config_syncd()
175
198
{
176
199
check_warm_boot
177
200
178
- if [ " $SONIC_ASIC_TYPE " == " broadcom" ]; then
179
- config_syncd_bcm
180
- elif [ " $SONIC_ASIC_TYPE " == " mellanox" ]; then
181
- config_syncd_mlnx
182
- elif [ " $SONIC_ASIC_TYPE " == " cavium" ]; then
183
- config_syncd_cavium
184
- elif [ " $SONIC_ASIC_TYPE " == " centec" ]; then
185
- config_syncd_centec
186
- elif [ " $SONIC_ASIC_TYPE " == " marvell" ]; then
187
- config_syncd_marvell
188
- elif [ " $SONIC_ASIC_TYPE " == " barefoot" ]; then
189
- config_syncd_barefoot
190
- elif [ " $SONIC_ASIC_TYPE " == " nephos" ]; then
191
- config_syncd_nephos
192
- elif [ " $SONIC_ASIC_TYPE " == " vs" ]; then
193
- config_syncd_vs
194
- elif [ " $SONIC_ASIC_TYPE " == " innovium" ]; then
195
- config_syncd_innovium
201
+ if [ x" $CHIP_TYPE " == x" npu" ]; then
202
+ if [ " $SONIC_ASIC_TYPE " == " broadcom" ]; then
203
+ config_syncd_bcm
204
+ elif [ " $SONIC_ASIC_TYPE " == " mellanox" ]; then
205
+ config_syncd_mlnx
206
+ elif [ " $SONIC_ASIC_TYPE " == " cavium" ]; then
207
+ config_syncd_cavium
208
+ elif [ " $SONIC_ASIC_TYPE " == " centec" ]; then
209
+ config_syncd_centec
210
+ elif [ " $SONIC_ASIC_TYPE " == " marvell" ]; then
211
+ config_syncd_marvell
212
+ elif [ " $SONIC_ASIC_TYPE " == " barefoot" ]; then
213
+ config_syncd_barefoot
214
+ elif [ " $SONIC_ASIC_TYPE " == " nephos" ]; then
215
+ config_syncd_nephos
216
+ elif [ " $SONIC_ASIC_TYPE " == " vs" ]; then
217
+ config_syncd_vs
218
+ elif [ " $SONIC_ASIC_TYPE " == " innovium" ]; then
219
+ config_syncd_innovium
220
+ else
221
+ echo " Unknown ASIC type $SONIC_ASIC_TYPE "
222
+ exit 1
223
+ fi
196
224
else
197
- echo " Unknown ASIC type $SONIC_ASIC_TYPE "
198
- exit 1
225
+ config_syncd_phy
199
226
fi
200
-
227
+
201
228
set_start_type
202
229
203
230
if [ ${ENABLE_SAITHRIFT} == 1 ]; then
204
231
CMD_ARGS+=" -r -m $HWSKU_DIR /port_config.ini"
205
232
fi
206
233
207
- [ -r $PLATFORM_DIR /syncd.conf ] && . $PLATFORM_DIR /syncd.conf
234
+ if [ x" $CHIP_TYPE " == " npu" ]; then
235
+ [ -r $PLATFORM_DIR /syncd.conf ] && . $PLATFORM_DIR /syncd.conf
236
+ else
237
+ [ -r $PLATFORM_DIR /physyncd.conf ] && . $PLATFORM_DIR /physyncd.conf
238
+ fi
208
239
}
209
240
0 commit comments