Added gbsyncd infra for multi-ASIC, multi-PHY mode (#9722)

- External PHY is managed via gearbox (gbsybcd docker container) in SONiC
  - Enhanced 'External PHY management' from SONiC's single-ASIC environment to multi-ASIC
  - Enhanced gbsyncd docker container from single Namespace to multi-Namspace mode
  - Added gbsyncd.service.j2 on per_namespace basis.
  - Each namepace/ASIC now to have its unique gbsyncd<ASIC#> docker container with its
    own Gearbox table, redis-DB

Signed-off-by: Shyam Kumar <shyakuma@cisco.com>
This commit is contained in:
Shyam 2022-01-20 18:08:16 -08:00 committed by GitHub
parent 22e4b9be5c
commit 20f32dc072
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 22 additions and 22 deletions

View File

@ -1,22 +0,0 @@
[Unit]
Description={{docker_container_name}} service
Requires=database.service updategraph.service
ConditionPathExists=!/usr/share/sonic/hwsku/gearbox_config.json
After=database.service updategraph.service
After=interfaces-config.service
After=swss.service
BindsTo=sonic.target
After=sonic.target
Before=ntp-config.service
[Service]
User=root
Environment=sonic_asic_platform={{ sonic_asic_platform }}
Environment=gbsyncd_platform={{ docker_container_name }}
ExecCondition=/usr/bin/gbsyncd-platform.sh
ExecStartPre=/usr/local/bin/gbsyncd.sh start
ExecStart=/usr/local/bin/gbsyncd.sh wait
ExecStop=/usr/local/bin/gbsyncd.sh stop
[Install]
WantedBy=sonic.target

View File

@ -0,0 +1,22 @@
[Unit]
Description={{docker_container_name}} service
Requires=database{% if multi_instance == 'true' %}@%i{% endif %}.service updategraph.service
ConditionPathExists=!/usr/share/sonic/hwsku/gearbox_config.json
After=database{% if multi_instance == 'true' %}@%i{% endif %}.service updategraph.service
After=interfaces-config.service
After=swss{% if multi_instance == 'true' %}@%i{% endif %}.service
BindsTo=sonic.target
After=sonic.target
Before=ntp-config.service
[Service]
User=root
Environment=sonic_asic_platform={{ sonic_asic_platform }}
Environment=gbsyncd_platform={{ docker_container_name }}
ExecCondition=/usr/bin/gbsyncd-platform.sh
ExecStartPre=/usr/local/bin/gbsyncd.sh start{% if multi_instance == 'true' %} %i{% endif %}
ExecStart=/usr/local/bin/gbsyncd.sh wait{% if multi_instance == 'true' %} %i{% endif %}
ExecStop=/usr/local/bin/gbsyncd.sh stop{% if multi_instance == 'true' %} %i{% endif %}
[Install]
WantedBy=sonic.target