@@ -173,6 +173,10 @@ function postStartAction()
173173{%- if docker_container_name == " database" %}
174174 midplane_ip=" "
175175 CHASSISDB_CONF=" /usr/share/sonic/device/$PLATFORM /chassisdb.conf"
176+ if [[ -f $CHASSISDB_CONF && $DATABASE_TYPE != " dpudb" ]]; then
177+ slot_id=$( python3 -c ' import sonic_platform.platform; platform_chassis = sonic_platform.platform.Platform().get_chassis(); print(platform_chassis.get_my_slot())' 2> /dev/null)
178+ supervisor_slot_id=$( python3 -c ' import sonic_platform.platform; platform_chassis = sonic_platform.platform.Platform().get_chassis(); print(platform_chassis.get_supervisor_slot())' 2> /dev/null)
179+ fi
176180 [ -f $CHASSISDB_CONF ] && source $CHASSISDB_CONF
177181 if [[ " $DEV " && $DATABASE_TYPE != " dpudb" ]]; then
178182 # Enable the forwarding on eth0 interface in namespace.
@@ -188,9 +192,6 @@ function postStartAction()
188192 ip netns exec " $NET_NS " ip addr add 127.0.0.1/16 dev lo
189193 ip netns exec " $NET_NS " ip addr del 127.0.0.1/8 dev lo
190194
191- slot_id=$( python3 -c ' import sonic_platform.platform; platform_chassis = sonic_platform.platform.Platform().get_chassis(); print(platform_chassis.get_my_slot())' 2> /dev/null)
192- supervisor_slot_id=$( python3 -c ' import sonic_platform.platform; platform_chassis = sonic_platform.platform.Platform().get_chassis(); print(platform_chassis.get_supervisor_slot())' 2> /dev/null)
193-
194195 # Create eth1 in database instance
195196 if [[ " ${slot_id} " == " ${supervisor_slot_id} " ]]; then
196197 ip link add name ns-eth1" $NET_NS " type veth peer name eth1@" $NET_NS "
@@ -235,6 +236,12 @@ function postStartAction()
235236 fi
236237 fi
237238 fi
239+
240+ # midplane ip for the Linecard database container
241+ if [[ -z " $DEV " && " $DATABASE_TYPE " != " dpudb" && -f $CHASSISDB_CONF && " ${slot_id} " != " ${supervisor_slot_id} " ]]; then
242+ midplane_ip=$( docker exec -i ${DOCKERNAME} ip addr show eth1-midplane | grep ' inet ' | awk ' {print $2}' | cut -d' /' -f1)
243+ fi
244+
238245 # Setup ebtables configuration
239246{%- if sonic_asic_platform ! = " vs" %}
240247 ebtables_config
@@ -330,8 +337,8 @@ function postStartAction()
330337 REDIS_SOCK=" /var/run/redis-chassis/redis_chassis.sock"
331338 fi
332339 chgrp -f redis $REDIS_SOCK && chmod -f 0760 $REDIS_SOCK
333-
334- if [[ $DEV && $midplane_ip ]]; then
340+ # Binding the midplane ip to the redisdb
341+ if [[ -n " $midplane_ip " ]]; then
335342 IFS=_ read ip port < <( jq -r ' .INSTANCES | [.redis.hostname, .redis.port] | join("_")' /var/run/redis$DEV /sonic-db/database_config.json)
336343 bound_ips=$( redis-cli --raw -h $ip -p $port config get bind | sed -n ' 2,2 p' )
337344 redis-cli -h $ip -p $port config set bind " $bound_ips $midplane_ip "
0 commit comments