[Unit] Description=syncd service Requires=database{% if multi_instance == 'true' %}@%i{% endif %}.service After=database{% if multi_instance == 'true' %}@%i{% endif %}.service After=swss{% if multi_instance == 'true' %}@%i{% endif %}.service {% if multi_instance == 'true' and sonic_asic_platform == 'vs' %} Requires=topology.service After=topology.service {% endif %} {% if sonic_asic_platform == 'broadcom' %} Requires=opennsl-modules.service After=opennsl-modules.service {% elif sonic_asic_platform == 'nephos' %} Requires=nps-modules.service After=nps-modules.service {% endif %} Requires=updategraph.service After=updategraph.service BindsTo=sonic.target After=sonic.target Before=ntp-config.service {% if sonic_asic_platform == 'mellanox' %} Requires=nv-syncd-shared.service After=nv-syncd-shared.service {% endif %} [Service] User=root Environment=sonic_asic_platform={{ sonic_asic_platform }} ExecStartPre=/usr/local/bin/syncd.sh start{% if multi_instance == 'true' %} %i{% endif %} ExecStart=/usr/local/bin/syncd.sh wait{% if multi_instance == 'true' %} %i{% endif %} ExecStop=/usr/local/bin/syncd.sh stop{% if multi_instance == 'true' %} %i{% endif %} {% if sonic_asic_platform == 'mellanox' %} TimeoutStartSec=480 {% endif %} [Install] WantedBy=sonic.target