Skip to content

Commit

Permalink
[multi-asic build]: address review comments
Browse files Browse the repository at this point in the history
* remove extra line from slave.mk
* change namespace names to 'asic#'

Signed-off-by: Lawrence Lee <t-lale@microsoft.com>
  • Loading branch information
Lawrence Lee committed Aug 2, 2019
1 parent bf7b16d commit 95bef6e
Show file tree
Hide file tree
Showing 4 changed files with 25 additions and 26 deletions.
2 changes: 1 addition & 1 deletion files/build_templates/docker_image_ctl.j2
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ link_namespace() {
fi
fi

ln -s /proc/$PID/ns/net /var/run/netns/{{docker_container_name}}$1
ln -s /proc/$PID/ns/net /var/run/netns/asic$1
}
{%- endif %}

Expand Down
46 changes: 23 additions & 23 deletions files/image_config/topology/topology.sh
Original file line number Diff line number Diff line change
Expand Up @@ -2,20 +2,20 @@

start () {
# Move external links into assigned frontend namespaces
# eth0 - eth15: namespace2
# eth16 - eth31: namespace3
# eth32 - eth47: namespace4
# eth48 - eth63: namespace5
for NS in `seq 2 5`; do
# eth0 - eth15: asic2
# eth16 - eth31: asic3
# eth32 - eth47: asic4
# eth48 - eth63: asic5
for ASIC in `seq 2 5`; do
for NUM in `seq 1 16`; do
ORIG="eth$((16 * $(($NS - 2)) + $NUM - 1))"
ORIG="eth$((16 * $(($ASIC - 2)) + $NUM - 1))"
TEMP="ethTemp999"
NEW="eth$(($NUM + 16))"
ip link set dev $ORIG down
ip link set dev $ORIG name $TEMP # rename to prevent conflicts before renaming in new namespace
ip link set dev $TEMP netns namespace$NS
sudo ip netns exec namespace$NS ip link set $TEMP name $NEW # rename to final interface name
sudo ip netns exec namespace$NS ip link set $NEW up
ip link set dev $TEMP netns asic$ASIC
sudo ip netns exec asic$ASIC ip link set $TEMP name $NEW # rename to final interface name
sudo ip netns exec asic$ASIC ip link set $NEW up
done
done

Expand All @@ -29,37 +29,37 @@ start () {
TEMP_FRONT="ethFront999"

ip link add $TEMP_BACK type veth peer name $TEMP_FRONT # temporary name to prevent conflicts between interfaces
ip link set dev $TEMP_BACK netns namespace$BACKEND
ip link set dev $TEMP_FRONT netns namespace$FRONTEND
ip link set dev $TEMP_BACK netns asic$BACKEND
ip link set dev $TEMP_FRONT netns asic$FRONTEND

sudo ip netns exec namespace$BACKEND ip link set $TEMP_BACK name $BACK_NAME
sudo ip netns exec namespace$FRONTEND ip link set $TEMP_FRONT name $FRONT_NAME
sudo ip netns exec asic$BACKEND ip link set $TEMP_BACK name $BACK_NAME
sudo ip netns exec asic$FRONTEND ip link set $TEMP_FRONT name $FRONT_NAME

sudo ip netns exec namespace$BACKEND ip link set $BACK_NAME up
sudo ip netns exec namespace$FRONTEND ip link set $FRONT_NAME up
sudo ip netns exec asic$BACKEND ip link set $BACK_NAME up
sudo ip netns exec asic$FRONTEND ip link set $FRONT_NAME up
done
done
done
}

stop() {
for NS in `seq 2 5`; do
for ASIC in `seq 2 5`; do
for NUM in `seq 1 16`; do
TEMP="eth999"
OLD="eth$(($NUM + 16))"
NAME="eth$((16 * $(( $NS - 2)) + $NUM - 1))"
sudo ip netns exec namespace$NS ip link set dev $OLD down
sudo ip netns exec namespace$NS ip link set dev $OLD name $TEMP
sudo ip netns exec namespace$NS ip link set dev $TEMP netns 1
NAME="eth$((16 * $(($ASIC - 2)) + $NUM - 1))"
sudo ip netns exec asic$ASIC ip link set dev $OLD down
sudo ip netns exec asic$ASIC ip link set dev $OLD name $TEMP
sudo ip netns exec asic$ASIC ip link set dev $TEMP netns 1
ip link set dev $TEMP name $NAME
ip link set dev $NAME up
done
done

for NS in `seq 0 1`; do
for ASIC in `seq 0 1`; do
for NUM in `seq 1 32`; do
sudo ip netns exec namespace$NS ip link set dev eth$NUM down
sudo ip netns exec namespace$NS ip link delete dev eth$NUM
sudo ip netns exec asic$ASIC ip link set dev eth$NUM down
sudo ip netns exec asic$ASIC ip link delete dev eth$NUM
done
done
}
Expand Down
2 changes: 1 addition & 1 deletion platform/vs/sonic.xml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
<emulator>/usr/bin/qemu-system-x86_64</emulator>
<disk type='file' device='disk'>
<driver name='qemu' type='qcow2' cache='writeback'/>
<source file='/home/t-lale/sonic-buildimage/target/sonic-vs.img'/>
<source file='/data/sonic/sonic-buildimage/target/sonic-vs.img'/>
<target bus='virtio' dev='vda'/>
</disk>
<serial type='tcp'>
Expand Down
1 change: 0 additions & 1 deletion slave.mk
Original file line number Diff line number Diff line change
Expand Up @@ -644,7 +644,6 @@ $(addprefix $(TARGET_PATH)/, $(SONIC_INSTALLERS)) : $(TARGET_PATH)/% : \
export platform_common_py2_wheel_path="$(addprefix $(PYTHON_WHEELS_PATH)/,$(SONIC_PLATFORM_COMMON_PY2))"
export redis_dump_load_py2_wheel_path="$(addprefix $(PYTHON_WHEELS_PATH)/,$(REDIS_DUMP_LOAD_PY2))"
export install_debug_image="$(INSTALL_DEBUG_TOOLS)"


$(foreach docker, $($*_DOCKERS),\
export docker_image="$(docker)"
Expand Down

0 comments on commit 95bef6e

Please # to comment.