Add support for bcmsh and bcmcmd utlitites in multi ASIC devices (#4926)
Signed-off-by: Arvindsrinivasan Lakshmi Narasimhan <arlakshm@microsoft.com> This PR has changes to support accessing the bcmsh and bcmcmd utilities on multi ASIC devices Changes done - move the link of /var/run/sswsyncd from docker-syncd-brcm.mk to docker_image_ctl.j2 - update the bcmsh and bcmcmd scripts to take -n [ASIC_ID] as an argument on multi ASIC platforms
This commit is contained in:
parent
c213bcf23a
commit
a46f4c96e7
@ -299,6 +299,11 @@ start() {
|
|||||||
--tmpfs /tmp \
|
--tmpfs /tmp \
|
||||||
{%- endif %}
|
{%- endif %}
|
||||||
{%- endif %}
|
{%- endif %}
|
||||||
|
{%- if sonic_asic_platform == "broadcom" %}
|
||||||
|
{%- if docker_container_name == "syncd" %}
|
||||||
|
-v /var/run/docker-syncd$DEV:/var/run/sswsyncd \
|
||||||
|
{%- endif %}
|
||||||
|
{%- endif %}
|
||||||
{%- if docker_container_name == "bgp" %}
|
{%- if docker_container_name == "bgp" %}
|
||||||
-v /etc/sonic/frr/$DEV:/etc/frr:rw \
|
-v /etc/sonic/frr/$DEV:/etc/frr:rw \
|
||||||
{%- endif %}
|
{%- endif %}
|
||||||
|
@ -15,8 +15,8 @@ SONIC_STRETCH_DOCKERS += $(DOCKER_SYNCD_BASE)
|
|||||||
SONIC_STRETCH_DBG_DOCKERS += $(DOCKER_SYNCD_BASE_DBG)
|
SONIC_STRETCH_DBG_DOCKERS += $(DOCKER_SYNCD_BASE_DBG)
|
||||||
|
|
||||||
$(DOCKER_SYNCD_BASE)_RUN_OPT += -v /host/warmboot:/var/warmboot
|
$(DOCKER_SYNCD_BASE)_RUN_OPT += -v /host/warmboot:/var/warmboot
|
||||||
$(DOCKER_SYNCD_BASE)_RUN_OPT += -v /var/run/docker-syncd:/var/run/sswsyncd
|
|
||||||
|
|
||||||
$(DOCKER_SYNCD_BASE)_BASE_IMAGE_FILES += bcmcmd:/usr/bin/bcmcmd
|
$(DOCKER_SYNCD_BASE)_BASE_IMAGE_FILES += bcmcmd:/usr/bin/bcmcmd
|
||||||
$(DOCKER_SYNCD_BASE)_BASE_IMAGE_FILES += bcmsh:/usr/bin/bcmsh
|
$(DOCKER_SYNCD_BASE)_BASE_IMAGE_FILES += bcmsh:/usr/bin/bcmsh
|
||||||
|
$(DOCKER_SYNCD_BASE)_BASE_IMAGE_FILES += bcm_common:/usr/bin/bcm_common
|
||||||
$(DOCKER_SYNCD_BASE)_BASE_IMAGE_FILES += monit_syncd:/etc/monit/conf.d
|
$(DOCKER_SYNCD_BASE)_BASE_IMAGE_FILES += monit_syncd:/etc/monit/conf.d
|
||||||
|
@ -0,0 +1,40 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
function help()
|
||||||
|
{
|
||||||
|
echo "Usage: $0 -n [0 to $(($NUM_ASIC-1))]" 1>&2; exit 1;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
DEV=""
|
||||||
|
|
||||||
|
PLATFORM=`sonic-cfggen -H -v DEVICE_METADATA.localhost.platform`
|
||||||
|
|
||||||
|
# Parse the device specific asic conf file, if it exists
|
||||||
|
|
||||||
|
ASIC_CONF=/usr/share/sonic/device/$PLATFORM/asic.conf
|
||||||
|
if [ -f "$ASIC_CONF" ]; then
|
||||||
|
source $ASIC_CONF
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
if [[ ($NUM_ASIC -gt 1) ]]; then
|
||||||
|
OPTIND=1
|
||||||
|
|
||||||
|
while getopts ":n:h:" opt; do
|
||||||
|
case "${opt}" in
|
||||||
|
h) help
|
||||||
|
exit 0
|
||||||
|
;;
|
||||||
|
n) DEV=${OPTARG}
|
||||||
|
[ $DEV -lt $NUM_ASIC -a $DEV -ge 0 ] || help
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
shift "$((OPTIND-1))"
|
||||||
|
|
||||||
|
if [ -z "${DEV}" ]; then
|
||||||
|
help
|
||||||
|
fi
|
||||||
|
fi
|
@ -1,3 +1,8 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
docker exec -i syncd bcmcmd "$@"
|
BCM_COMMON=/usr/bin/bcm_common
|
||||||
|
if [ -f "$BCM_COMMON" ]; then
|
||||||
|
source $BCM_COMMON
|
||||||
|
fi
|
||||||
|
docker exec -i syncd$DEV bcmcmd "$@"
|
||||||
|
|
||||||
|
@ -1,3 +1,8 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
docker exec -it syncd bcmsh "$@"
|
BCM_COMMON=/usr/bin/bcm_common
|
||||||
|
if [ -f "$BCM_COMMON" ]; then
|
||||||
|
source $BCM_COMMON
|
||||||
|
fi
|
||||||
|
|
||||||
|
docker exec -it syncd$DEV bcmsh "$@"
|
||||||
|
Reference in New Issue
Block a user