Skip to content
Snippets Groups Projects
Commit b73d9a34 authored by Jonathan Hargreaves's avatar Jonathan Hargreaves
Browse files

Add commands to set destination MAC, IP and Port for SC4 10GbE outputs. 2...

Add commands to set destination MAC, IP and Port for SC4 10GbE outputs. 2 copies IAB I sent to the cluster, 1 copy to 1GbE. IQUV is switched off.
parent 9c8d55ed
No related branches found
No related tags found
No related merge requests found
......@@ -51,8 +51,13 @@ elif [ "$APP" == "apertif-dev" ]; then
elif [ "$APP" == "arts_sc1" ]; then
IMAGE=/home/arts/arts_unb1_sc1-r16748.rbf
elif [ "$APP" == "arts_sc4" ]; then
IMAGE=/home/hargreaves/arts_unb1_sc4-r17721.rbf # Pre-filter on, flip FFT, 1GbE
#IMAGE=/home/hargreaves/arts_unb1_sc4-r17735.rbf # Pre-filter on, flip FFT, 10GbE
#IMAGE=/home/hargreaves/arts_unb1_sc4-r17721.rbf # Pre-filter on, flip FFT, 1GbE
#IMAGE=/home/hargreaves/arts_unb1_sc4-r17817.rbf # wpfbin_db uses second sync instead of sub-band sync
#IMAGE=/home/hargreaves/arts_unb1_sc4-r17830.rbf # iinput_db and wpfbin_db use second sync instead of sub-band sync
#IMAGE=/home/hargreaves/arts_unb1_sc4-r17918.rbf # Testimage for 10GbE - checksum errors
#IMAGE=/home/hargreaves/arts_unb1_sc4-r17936.rbf # New testimage for 10GbE
#IMAGE=/home/hargreaves/arts_unb1_sc4-r18051.rbf # working version with 12x IAB
IMAGE=/home/hargreaves/arts_unb1_sc4-r18051_2tabs_meetstiming.rbf # 2 tabs version
fi
......@@ -101,6 +106,40 @@ ARTS0_P3P1_IP_DST_ADDR=174311427 # 10.99.200.3
ARTS0_P3P2_ETH_DST_MAC=40175249347569 #0x248a077753f1
ARTS0_P3P2_IP_DST_ADDR=174311428 # 10.99.200.4
# Cluster node 1 used for single UNB testing
ARTS001_40G_ETH_DST_MAC=14038001611793 #0x0cc47a197411
#ARTS001_40G_IP_DST_ADDR=3232237569 # 192.168.8.1
ARTS001_40G_IP_DST_ADDR=3232258049 # 192.168.8.1
# Arrays for addresses of all cluster nodes
ARTSCLUSTER_40G_ETH_DST_MAC=(14038001611793 14038001611885 14038001611664 14038006166662 14038001611870 \
14038006166622 14038001611665 14038001611669 14038001611661 14038001611666 \
14038001611668 14038001611703 14038001611836 14038006166667 14038006166666 \
14038001611788 14038001611790 14038006166671 14038001611853 14038001611672 \
14038001611690 14038001611800 14038001611657 14038001611794 14038001611659 \
14038006166661 14038001611841 14038006166670 14038001611799 14038001611801 \
14038001611846 14038001611656 14038001611851 14038001611716 14038001611827 \
14038006166745 14038006166683 14038001611688 14038001611674 14038001611804)
ARTSCLUSTER_40G_ETH_DST_IP=(3232258049 3232258050 3232258051 3232258052 3232258053 \
3232258054 3232258055 3232258056 3232258057 3232258058 \
3232258059 3232258060 3232258061 3232258062 3232258063 \
3232258064 3232258065 3232258066 3232258067 3232258068 \
3232258069 3232258070 3232258071 3232258072 3232258073 \
3232258074 3232258075 3232258076 3232258077 3232258078 \
3232258079 3232258080 3232258081 3232258082 3232258083 \
3232258084 3232258085 3232258086 3232258087 3232258088)
ARTSCLUSTER_40G_ETH_DST_PORT=(5000 5001 5002 5003 5004 \
5005 5006 5007 5008 5009 \
5010 5011 5012 5013 5014 \
5015 5016 5017 5018 5019 \
5020 5021 5022 5023 5024 \
5025 5026 5027 5028 5029 \
5030 5031 5032 5033 5034 \
3035 5036 5037 5038 5039)
###############################################################################
# Compare required application images against images stored in flash
###############################################################################
......@@ -400,8 +439,42 @@ elif [ $APP == "arts_sc4" ]; then # IAB Stokes I offload via 1GbE
ETH_DST_MAC=$ARTS0_P3P2_ETH_DST_MAC
IP_DST_ADDR=$ARTS0_P3P2_IP_DST_ADDR
fi
# Send the Iab I on the 1GbE to Arts0 (Port is overwritten by firmware)
UDP_DST_PORT="$((4000 + UNB))" #UDP ports 4000..4015
python $SVN/RadioHDL/trunk/applications/arts/designs/arts_unb1_sc4/tb/python/pi_arts_unb1_sc4_output_iab_i_packetizer.py --unb $UNB --fn 0:3 --bn 0:3 --reg eth_dst_mac=$ETH_DST_MAC,ip_dst_addr=$IP_DST_ADDR,udp_dst_port=$UDP_DST_PORT
# Test settings to send all TAB CBs to cluster node ARTS001
ETH_DST_MAC_40GB=$ARTS001_40G_ETH_DST_MAC
IP_DST_ADDR_40GB=$ARTS001_40G_IP_DST_ADDR
# python $SVN/RadioHDL/trunk/applications/arts/designs/arts_unb1_sc4/tb/python/pi_arts_unb1_sc4_output_tab_i_packetizer.py --unb $UNB --fn 0 -r 0:4 -n 999
# python $SVN/RadioHDL/trunk/applications/arts/designs/arts_unb1_sc4/tb/python/pi_arts_unb1_sc4_output_tab_i_packetizer.py --unb $UNB --fn 0:3 --bn 0:3 -r 0:4 --reg eth_dst_mac=$ETH_DST_MAC_40GB,ip_dst_addr=$IP_DST_ADDR_40GB,udp_dst_port=$UDP_DST_PORT
# python $SVN/RadioHDL/trunk/applications/arts/designs/arts_unb1_sc4/tb/python/pi_arts_unb1_sc4_output_tab_i_packetizer.py --unb $UNB --fn 0 -n 999
#python $SVN/RadioHDL/trunk/applications/arts/designs/arts_unb1_sc4/tb/python/pi_arts_unb1_sc4_output_tab_iquv_packetizer.py --unb $UNB --fn 0:3 --bn 0:3 --reg eth_dst_mac=$ETH_DST_MAC_40GB,ip_dst_addr=$IP_DST_ADDR_40GB,udp_dst_port=$UDP_DST_PORT
# Send each CB to its own cluster node
for NODENO in {0..3}
do
for STREAMNO in {0..4}
do
#echo $NODENO $STREAMNO
let CBINDEXFN=$NODENO*5+$STREAMNO
let CBINDEXBN=$NODENO*5+$STREAMNO+20
# echo cbindexfn $CBINDEXFN , cbindexbn $CBINDEXBN
# echo mac address fn ${ARTSCLUSTER_40G_ETH_DST_MAC[$CBINDEXFN]} mac address bn ${ARTSCLUSTER_40G_ETH_DST_MAC[$CBINDEXBN]}
# echo ip address fn ${ARTSCLUSTER_40G_ETH_DST_IP[$CBINDEXFN]} ip address bn ${ARTSCLUSTER_40G_ETH_DST_IP[$CBINDEXBN]}
# echo port fn ${ARTSCLUSTER_40G_ETH_DST_PORT[$CBINDEXFN]} port bn ${ARTSCLUSTER_40G_ETH_DST_PORT[$CBINDEXBN]}
python $SVN/RadioHDL/trunk/applications/arts/designs/arts_unb1_sc4/tb/python/pi_arts_unb1_sc4_output_tab_i_packetizer.py --unb $UNB --fn $NODENO -r $STREAMNO --reg eth_dst_mac=${ARTSCLUSTER_40G_ETH_DST_MAC[$CBINDEXFN]},ip_dst_addr=${ARTSCLUSTER_40G_ETH_DST_IP[$CBINDEXFN]},udp_dst_port=${ARTSCLUSTER_40G_ETH_DST_PORT[$CBINDEXFN]}
# python $SVN/RadioHDL/trunk/applications/arts/designs/arts_unb1_sc4/tb/python/pi_arts_unb1_sc4_output_tab_iquv_packetizer.py --unb $UNB --fn $NODENO -r $STREAMNO --reg eth_dst_mac=${ARTSCLUSTER_40G_ETH_DST_MAC[$CBINDEXFN]},ip_dst_addr=${ARTSCLUSTER_40G_ETH_DST_IP[$CBINDEXFN]},udp_dst_port=${ARTSCLUSTER_40G_ETH_DST_PORT[$CBINDEXFN]}
python $SVN/RadioHDL/trunk/applications/arts/designs/arts_unb1_sc4/tb/python/pi_arts_unb1_sc4_output_tab_i_packetizer.py --unb $UNB --bn $NODENO -r $STREAMNO --reg eth_dst_mac=${ARTSCLUSTER_40G_ETH_DST_MAC[$CBINDEXBN]},ip_dst_addr=${ARTSCLUSTER_40G_ETH_DST_IP[$CBINDEXBN]},udp_dst_port=${ARTSCLUSTER_40G_ETH_DST_PORT[$CBINDEXBN]}
# python $SVN/RadioHDL/trunk/applications/arts/designs/arts_unb1_sc4/tb/python/pi_arts_unb1_sc4_output_tab_iquv_packetizer.py --unb $UNB --bn $NODENO -r $STREAMNO --reg eth_dst_mac=${ARTSCLUSTER_40G_ETH_DST_MAC[$CBINDEXBN]},ip_dst_addr=${ARTSCLUSTER_40G_ETH_DST_IP[$CBINDEXBN]},udp_dst_port=${ARTSCLUSTER_40G_ETH_DST_PORT[$CBINDEXBN]}
# temp fix: send all to cluster node 1, but with the correct Port setting for that CB
# python $SVN/RadioHDL/trunk/applications/arts/designs/arts_unb1_sc4/tb/python/pi_arts_unb1_sc4_output_tab_i_packetizer.py --unb $UNB --fn $NODENO -r $STREAMNO \
# --reg eth_dst_mac=$ETH_DST_MAC_40GB,ip_dst_addr=$IP_DST_ADDR_40GB,udp_dst_port=${ARTSCLUSTER_40G_ETH_DST_PORT[$CBINDEXFN]}
# python $SVN/RadioHDL/trunk/applications/arts/designs/arts_unb1_sc4/tb/python/pi_arts_unb1_sc4_output_tab_i_packetizer.py --unb $UNB --bn $NODENO -r $STREAMNO \
# --reg eth_dst_mac=$ETH_DST_MAC_40GB,ip_dst_addr=$IP_DST_ADDR_40GB,udp_dst_port=${ARTSCLUSTER_40G_ETH_DST_PORT[$CBINDEXBN]}
done
done
done
fi
......@@ -417,5 +490,13 @@ elif [ $APP == "arts_sc1" ]; then
elif [ $APP == "arts_sc4" ]; then
# Enable IAB Stokes I output on all FPGAs on all UniBoards (bands)
python $UPE/peripherals/util_dp_xonoff.py --unb $UNBS --fn 0:3 --bn 0:3 -r 0 -n 2 -s IAB_I
# Enable TAB Stokes I output on all FPGAs on all UniBoards (bands). First enable jumbo frames in the mac
python $UPE/peripherals/util_tr_10GbE.py --unb $UNBS --fn 0 -n 2
python $UPE/peripherals/util_dp_xonoff.py --unb $UNBS --fn 0:3 --bn 0:3 -r 0 -n 2 -s TAB_I
# Enable TAB Stokes IQUV output on all FPGAs on all UniBoards (bands)
#python $UPE/peripherals/util_dp_xonoff.py --unb $UNBS --fn 0:3 --bn 0:3 -r 0 -n 2 -s TAB_IQUV
fi
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment