diff --git a/platform/components/docker-gbsyncd-broncos/Dockerfile.j2 b/platform/components/docker-gbsyncd-broncos/Dockerfile.j2 index 154c7735ce..ca7670acb6 100644 --- a/platform/components/docker-gbsyncd-broncos/Dockerfile.j2 +++ b/platform/components/docker-gbsyncd-broncos/Dockerfile.j2 @@ -27,11 +27,14 @@ debs/{{ deb }}{{' '}} COPY ["docker-init.sh", "/usr/bin/"] COPY ["start.sh", "/usr/bin/"] +COPY ["bcmsh", "/usr/bin/"] COPY ["critical_processes.j2", "/usr/share/sonic/templates"] COPY ["supervisord.conf.j2", "/usr/share/sonic/templates"] COPY ["files/supervisor-proc-exit-listener", "/usr/bin"] +COPY ["files/dsserve", "/usr/bin/"] +RUN chmod +x /usr/bin/dsserve ## Clean up RUN apt-get clean -y; apt-get autoclean -y; apt-get autoremove -y diff --git a/platform/components/docker-gbsyncd-broncos/bcmsh b/platform/components/docker-gbsyncd-broncos/bcmsh new file mode 100755 index 0000000000..bad7a10519 --- /dev/null +++ b/platform/components/docker-gbsyncd-broncos/bcmsh @@ -0,0 +1,40 @@ +#!/bin/bash +usage="$(basename "$0") [-h] [-q] [-t timeout] -- interactive shell for bcm service + +where: + -h show this help text + -t inactivity timeout in seconds (default 300 seconds, 0 for no timeout) + -q quite, no banner (default: verbose)" + +banner="Press Enter to show prompt. +Press Ctrl+C to exit. +NOTICE: Only one bcmsh or bcmcmd can connect to the shell at same time. +" + +# Default verbose +quiet=false +timeout=300 + +while getopts 'hqt:' option; do + case "$option" in + h) echo "$usage" + exit + ;; + q) quiet=true + ;; + t) timeout=$OPTARG + ;; + \?) printf "illegal option: -%s\n" "$OPTARG" >&2 + echo "$usage" >&2 + exit 1 + ;; + esac +done +shift $((OPTIND - 1)) + +if [ "$quiet" = false ]; then + echo "$banner" +fi + +/usr/bin/socat -T$timeout readline UNIX-CONNECT:/var/run/sswsyncd/sswgbsyncd.socket + diff --git a/platform/components/docker-gbsyncd-broncos/critical_processes.j2 b/platform/components/docker-gbsyncd-broncos/critical_processes.j2 index bdd6903c56..d1163a9c30 100644 --- a/platform/components/docker-gbsyncd-broncos/critical_processes.j2 +++ b/platform/components/docker-gbsyncd-broncos/critical_processes.j2 @@ -1 +1,2 @@ +program:dsserve program:syncd diff --git a/platform/components/docker-gbsyncd-broncos/supervisord.conf.j2 b/platform/components/docker-gbsyncd-broncos/supervisord.conf.j2 index c274315ef6..2ac52c22c2 100644 --- a/platform/components/docker-gbsyncd-broncos/supervisord.conf.j2 +++ b/platform/components/docker-gbsyncd-broncos/supervisord.conf.j2 @@ -33,7 +33,7 @@ dependent_startup_wait_for=rsyslogd:running [program:syncd] environment=BRONCOS_DEVICE_PATH=/usr/lib -command=/usr/bin/syncd -s -p /etc/sai.d/psai.profile -x /usr/share/sonic/hwsku/context_config.json -g 1 +command=/usr/bin/dsserve -f /var/run/sswsyncd/sswgbsyncd.socket /usr/bin/syncd --diag -s -p /etc/sai.d/psai.profile -x /usr/share/sonic/hwsku/context_config.json -g 1 priority=3 autostart=false autorestart=false