master-thesis/netpfga/do-all-steps.sh
2019-07-21 14:37:31 +02:00

59 lines
1.5 KiB
Bash
Executable file

#!/bin/sh
set -e
set -x
echo "First source all variables and THEN run this script"
read something
# Step 1..3: create code
# Step 4:
cd $P4_PROJECT_DIR && make
# Step 5
cd $P4_PROJECT_DIR/nf_sume_sdnet_ip/SimpleSumeSwitch && ./vivado_sim.bash 2>&1 | tee LOG
expected_line=$(grep ^expected LOG | sed -e 's/.*= <//' -e 's/.*= (//')
actual_line=$(grep ^actual LOG | sed -e 's/.*= <//' -e 's/.*= (//')
# if [ -z "$expected_line" ]; then
# echo "Empty packet grep -- probably broken - aborting"
# exit 1
# fi
if [ "$expected_line" != "$actual_line" ]; then
echo packet mismatch
exit 1
fi
# Step 6: calls ${SUME_SDNET}/bin/gen_config_writes.py and generates SOMETHING
cd $P4_PROJECT_DIR && make config_writes
# Step 7: copies directory SDNET_OUT_DIR to TARGET and copies other dirs
cd $P4_PROJECT_DIR && make uninstall_sdnet && make install_sdnet
# Step 8: copies "config_writes.py" to the current dir - related to step 6
cd $NF_DESIGN_DIR/test/sim_switch_default && make
# Step 9
cd $SUME_FOLDER && ./tools/scripts/nf_test.py sim --major switch --minor default
# Step 10: long compile step
if [ "$something" = no ]; then
:
else
cd $NF_DESIGN_DIR && make
fi
# Step 11: (nothing to be done)
# Step 12:
cd $NF_DESIGN_DIR/bitfiles
mv simple_sume_switch.bit ${P4_PROJECT_NAME}.bit
cp $P4_PROJECT_DIR/testdata/config_writes.sh ./
# Step 13:
cd $NF_DESIGN_DIR/bitfiles/
# some scripts are, some scripts aren't executable...
chmod u+x $(pwd -P)/program_switch.sh
sudo bash -c ". $HOME/master-thesis/netpfga/bashinit && $(pwd -P)/program_switch.sh"