20210531 Programming Protocol-independent Packet Processors ( P4 ) - 4

課堂資料

範例程式

Copy to CPU

Send to CPU

Send to CPU2

課堂作業附件

課堂練習

cd Downloads
mkdir copy-to-cpu send-to-cpu send-to-cpu2
mv -f copy-to-cpu.zip copy-to-cpu/
mv -f send_to_cpu.zip send-to-cpu/
mv -f send_to_cpu2.zip send-to-cpu2/
cd copy-to-cpu
unzip copy-to-cpu.zip
cd ..
cd send-to-cpu
unzip send_to_cpu.zip
cd ..
cd send-to-cpu2
unzip send_to_cpu2.zip
cd ..

Copy to CPU

cd copy-to-cpu
gedit p4app.json basic.p4 receive.py cmd.txt &
sed -i '/^$/d' p4app.json
p4run
s1 ifconfig

監聽後進行h1 ping h2

h1 ping h2 -c 5
xterm h2 h1
cd ..

Send to CPU

cd send-to-cpu
sed -i '/^$/d' p4app.json
gedit p4app.json send_to_cpu.p4 s1-commands.txt s2-commands.txt s3-commands.txt controller.py &
p4run
h1 ping h2 -c 5
cd ..

Send to CPU2

cd send-to-cpu2
sed -i '/^$/d' p4app.json
gedit p4app.json send_to_cpu.p4 s1-commands.txt s2-commands.txt s3-commands.txt controller.py &
p4run
xterm h1 h2

Broadcast / Multicast

cd p4-test/test-broadcast
p4run
xterm h1 h2 h3

延伸

  • Broadcast:當接收封包時,廣播至所有節點

  • Multicast:針對有興趣的節點傳送封包

課堂作業

Multicast

cd p4-test
cp -r test-broadcast/ multicast
cd multicast
gedit basic.p4 p4app.json cmd.txt
gedit send.py receive.py
p4run
xterm h1 h2 h3 h4

Last updated

Was this helpful?