Just cloned a fresh copy of DASH at the tip of master branch. Built and tested (unmodified) to get the baseline and saw that it is failing:
$ make run-saithrift-server
docker run --rm -it --net=host --name dash-saithrift-server-mhanif -v /home/mhanif/sw/dash-ipv6/DASH/dash-pipeline/bmv2/dash_pipeline.bmv2/dash_pipeline.json:/etc/dash/dash_pipeline.json -v /home/mhanif/sw/dash-ipv6/DASH/dash-pipeline/bmv2/dash_pipeline.bmv2/dash_pipeline_p4rt.txt:/etc/dash/dash_pipeline_p4rt.txt -v /home/mhanif/sw/dash-ipv6/DASH/dash-pipeline/SAI:/SAI -v /home/mhanif/sw/dash-ipv6/DASH/dash-pipeline/SAI/SAI/meta:/meta -w /SAI/rpc/usr/sbin -e LD_LIBRARY_PATH=/SAI/lib:/usr/local/lib chrissommers/dash-saithrift-bldr:220719
./saiserver
GRPC call SetForwardingPipelineConfig 0.0.0.0:9559 => /etc/dash/dash_pipeline.json, /etc/dash/dash_pipeline_p4rt.txt
Starting SAI RPC server on port 9092
GRPC call Write::INSERT OKtable_id: 45621839 match { field_id: 1 exact { value: "\254\020\001d" } } action { action { action_id: 26041632 } }
GRPC call Write::INSERT OKtable_id: 41103078 match { field_id: 1 exact { value: "\000\000d" } } action { action { action_id: 21912829 } }
GRPC call Write::INSERT OKtable_id: 45323240 match { field_id: 1 exact { value: "\000\001" } } action { action { action_id: 25655048 params { param_id: 1 value: "\000\000\000\000" } } }
GRPC call Write::INSERT OKtable_id: 45323240 match { field_id: 1 exact { value: "\000\002" } } action { action { action_id: 25655048 params { param_id: 1 value: "\000\000\000\000" } } }
GRPC call Write::INSERT OKtable_id: 34579306 match { field_id: 1 exact { value: "\000\003" } } action { action { action_id: 17187022 params { param_id: 1 value: "\000\000d" } } }
GRPC call Write::INSERT OKtable_id: 37987821 match { field_id: 1 exact { value: "\000\004" } } action { action { action_id: 27167550 params { param_id: 1 value: "\000\000'\020" } params { param_id: 2 value: "\000\001\206\240" } params { param_id: 3 value: "\000\001\206\240" } params { param_id: 4 value: "\001" } params { param_id: 5 value: "\254\020\001\001" } params { param_id: 6 value: "\000\000\t" } params { param_id: 7 value: "\000\003" } params { param_id: 8 value: "\000\000" } params { param_id: 9 value: "\000\000" } params { param_id: 10 value: "\000\000" } params { param_id: 11 value: "\000\000" } params { param_id: 12 value: "\000\000" } params { param_id: 13 value: "\000\000" } params { param_id: 14 value: "\000\000" } params { param_id: 15 value: "\000\000" } params { param_id: 16 value: "\000\000" } params { param_id: 17 value: "\000\000" } params { param_id: 18 value: "\000\000" } params { param_id: 19 value: "\000\000" } params { param_id: 20 value: "\000\000" } params { param_id: 21 value: "\000\000" } params { param_id: 22 value: "\000\000" } params { param_id: 23 value: "\000\000" } params { param_id: 24 value: "\000\000" } params { param_id: 25 value: "\000\000" } params { param_id: 26 value: "\000\000" } params { param_id: 27 value: "\000\000" } } }
GRPC call Write::INSERT OKtable_id: 37820776 match { field_id: 1 exact { value: "\000\314\314\314\314\314" } } action { action { action_id: 18228884 params { param_id: 1 value: "\000\004" } } }
GRPC call Write::INSERT OKtable_id: 37768533 match { field_id: 1 exact { value: "\000\004" } } match { field_id: 3 lpm { value: "\n\001\000\000" prefix_len: 112 } } match { field_id: 2 exact { value: "\000" } } action { action { action_id: 25364446 params { param_id: 1 value: "\000\003" } } }
GRPC call Write::INSERT OKtable_id: 34260339 match { field_id: 1 exact { value: "\000\003" } } match { field_id: 3 exact { value: "\n\001\0022" } } match { field_id: 2 exact { value: "\000" } } action { action { action_id: 25450412 params { param_id: 1 value: "\254\020\001\024" } params { param_id: 2 value: "\000\335\335\335\335\335" } params { param_id: 3 value: "\001" } } }
GRPC call Write::DELETE OKtable_id: 34260339 match { field_id: 1 exact { value: "\000\003" } } match { field_id: 3 exact { value: "\n\001\0022" } } match { field_id: 2 exact { value: "\000" } }
GRPC call Write::DELETE OKtable_id: 37768533 match { field_id: 1 exact { value: "\000\004" } } match { field_id: 3 lpm { value: "\n\001\000\000" prefix_len: 112 } } match { field_id: 2 exact { value: "\000" } }
GRPC call Write::DELETE OKtable_id: 37820776 match { field_id: 1 exact { value: "\000\314\314\314\314\314" } }
GRPC call Write::DELETE OKtable_id: 37987821 match { field_id: 1 exact { value: "\000\004" } } action { action { action_id: 27167550 params { param_id: 1 value: "\000\000'\020" } params { param_id: 2 value: "\000\001\206\240" } params { param_id: 3 value: "\000\001\206\240" } params { param_id: 4 value: "\001" } params { param_id: 5 value: "\254\020\001\001" } params { param_id: 6 value: "\000\000\t" } params { param_id: 7 value: "\000\003" } params { param_id: 8 value: "\000\000" } params { param_id: 9 value: "\000\000" } params { param_id: 10 value: "\000\000" } params { param_id: 11 value: "\000\000" } params { param_id: 12 value: "\000\000" } params { param_id: 13 value: "\000\000" } params { param_id: 14 value: "\000\000" } params { param_id: 15 value: "\000\000" } params { param_id: 16 value: "\000\000" } params { param_id: 17 value: "\000\000" } params { param_id: 18 value: "\000\000" } params { param_id: 19 value: "\000\000" } params { param_id: 20 value: "\000\000" } params { param_id: 21 value: "\000\000" } params { param_id: 22 value: "\000\000" } params { param_id: 23 value: "\000\000" } params { param_id: 24 value: "\000\000" } params { param_id: 25 value: "\000\000" } params { param_id: 26 value: "\000\000" } params { param_id: 27 value: "\000\000" } } }
GRPC call Write::DELETE OKtable_id: 34579306 match { field_id: 1 exact { value: "\000\003" } } action { action { action_id: 17187022 params { param_id: 1 value: "\000\000d" } } }
GRPC call Write::DELETE OKtable_id: 45323240 match { field_id: 1 exact { value: "\000\002" } } action { action { action_id: 25655048 params { param_id: 1 value: "\000\000\000\000" } } }
GRPC call Write::DELETE OKtable_id: 45323240 match { field_id: 1 exact { value: "\000\001" } } action { action { action_id: 25655048 params { param_id: 1 value: "\000\000\000\000" } } }
GRPC call Write::DELETE OKtable_id: 41103078 match { field_id: 1 exact { value: "\000\000d" } }
GRPC call Write::DELETE OKtable_id: 45621839 match { field_id: 1 exact { value: "\254\020\001d" } }
$ make run-all-tests
Ensure P4Runtime server is listening
t=5;
while [ ${t} -ge 1 ]; do
if sudo lsof -i:9559 | grep LISTEN >/dev/null; then
break;
else
sleep 1;
t=expr $t - 1;
fi;
done;
docker exec -w /tests/libsai/vnet_out simple_switch-mhanif ./vnet_out
[sudo] password for mhanif:
GRPC call SetForwardingPipelineConfig 0.0.0.0:9559 => /etc/dash/dash_pipeline.json, /etc/dash/dash_pipeline_p4rt.txt
GRPC call Write::INSERT OKtable_id: 41103078 match { field_id: 1 exact { value: "\000\000<" } } action { action { action_id: 21912829 } }
GRPC call Write::INSERT OKtable_id: 45323240 match { field_id: 1 exact { value: "\000\001" } } action { action { action_id: 25655048 params { param_id: 1 value: "\000\000\000\000" } } }
GRPC call Write::INSERT OKtable_id: 45323240 match { field_id: 1 exact { value: "\000\002" } } action { action { action_id: 25655048 params { param_id: 1 value: "\000\000\000\000" } } }
GRPC call Write::INSERT OKtable_id: 34579306 match { field_id: 1 exact { value: "\000\003" } } action { action { action_id: 17187022 params { param_id: 1 value: "\000\000\t" } } }
GRPC call Write::INSERT OKtable_id: 37987821 match { field_id: 1 exact { value: "\000\004" } } action { action { action_id: 27167550 params { param_id: 1 value: "\000\000'\020" } params { param_id: 2 value: "\000\001\206\240" } params { param_id: 3 value: "\000\001\206\240" } params { param_id: 4 value: "\001" } params { param_id: 5 value: "\254\020\003\001" } params { param_id: 6 value: "\000\000\t" } params { param_id: 7 value: "\000\003" } params { param_id: 27 value: "\000\000" } params { param_id: 26 value: "\000\000" } params { param_id: 25 value: "\000\000" } params { param_id: 24 value: "\000\000" } params { param_id: 23 value: "\000\000" } params { param_id: 17 value: "\000\000" } params { param_id: 16 value: "\000\000" } params { param_id: 15 value: "\000\000" } params { param_id: 14 value: "\000\000" } params { param_id: 13 value: "\000\000" } params { param_id: 22 value: "\000\002" } params { param_id: 21 value: "\000\002" } params { param_id: 20 value: "\000\002" } params { param_id: 19 value: "\000\002" } params { param_id: 18 value: "\000\002" } params { param_id: 12 value: "\000\001" } params { param_id: 11 value: "\000\001" } params { param_id: 10 value: "\000\001" } params { param_id: 9 value: "\000\001" } params { param_id: 8 value: "\000\001" } } }
GRPC call Write::INSERT OKtable_id: 37820776 match { field_id: 1 exact { value: "\252\314\314\314\314\314" } } action { action { action_id: 18228884 params { param_id: 1 value: "\000\004" } } }
GRPC call Write::DELETE OKtable_id: 37820776 match { field_id: 1 exact { value: "\252\314\314\314\314\314" } }
GRPC call Write::DELETE OKtable_id: 37987821 match { field_id: 1 exact { value: "\000\004" } } action { action { action_id: 27167550 params { param_id: 1 value: "\000\000'\020" } params { param_id: 2 value: "\000\001\206\240" } params { param_id: 3 value: "\000\001\206\240" } params { param_id: 4 value: "\001" } params { param_id: 5 value: "\254\020\003\001" } params { param_id: 6 value: "\000\000\t" } params { param_id: 7 value: "\000\003" } params { param_id: 27 value: "\000\000" } params { param_id: 26 value: "\000\000" } params { param_id: 25 value: "\000\000" } params { param_id: 24 value: "\000\000" } params { param_id: 23 value: "\000\000" } params { param_id: 17 value: "\000\000" } params { param_id: 16 value: "\000\000" } params { param_id: 15 value: "\000\000" } params { param_id: 14 value: "\000\000" } params { param_id: 13 value: "\000\000" } params { param_id: 22 value: "\000\002" } params { param_id: 21 value: "\000\002" } params { param_id: 20 value: "\000\002" } params { param_id: 19 value: "\000\002" } params { param_id: 18 value: "\000\002" } params { param_id: 12 value: "\000\001" } params { param_id: 11 value: "\000\001" } params { param_id: 10 value: "\000\001" } params { param_id: 9 value: "\000\001" } params { param_id: 8 value: "\000\001" } } }
GRPC call Write::DELETE OKtable_id: 34579306 match { field_id: 1 exact { value: "\000\003" } } action { action { action_id: 17187022 params { param_id: 1 value: "\000\000\t" } } }
Done.
GRPC call Write::DELETE OKtable_id: 45323240 match { field_id: 1 exact { value: "\000\002" } } action { action { action_id: 25655048 params { param_id: 1 value: "\000\000\000\000" } } }
GRPC call Write::DELETE OKtable_id: 45323240 match { field_id: 1 exact { value: "\000\001" } } action { action { action_id: 25655048 params { param_id: 1 value: "\000\000\000\000" } } }
GRPC call Write::DELETE OKtable_id: 41103078 match { field_id: 1 exact { value: "\000\000<" } }
cd ../test/third-party/traffic_gen && ./deploy_ixiac.sh
.
Creating ixia-c-traffic-engine1-mhanif ... done
Creating ixia-c-traffic-engine2-mhanif ... done
Creating ixia-c-controller-mhanif ... done
docker run -u root --network=host --rm -w /tests/ -it
-w /tests/saithrift/ptf
local/dash-saithrift-client:latest
./run-saithrift-ptftests.sh
/usr/local/lib/python3.8/dist-packages/ptf-0.9.3-py3.8.egg/EGG-INFO/scripts/ptf:19: DeprecationWarning: the imp module is deprecated in favour of importlib; see the module's documentation for alternative uses
import imp
Using packet manipulation module: ptf.packet_scapy
test_thrift_session.TestSaiThriftSession ... TestSaiThriftSession OK
ok
Ran 1 test in 0.002s
OK
test_thrift_session.TestSaiThriftSaiHelper ... TestSaiThriftSaiHelper OK
ok
Ran 1 test in 0.001s
OK
test_saithrift_vnet.TestSaiThrift_outbound_udp_pkt ...
Sending packet with wrong vip...
<Ether dst=00:00:02:03:04:05 src=00:00:05:06:06:06 type=IPv4 |<IP ihl=None tos=0x0 id=1 flags= frag=0 ttl=64 proto=udp src=172.16.1.1 dst=172.16.100.100 |<UDP sport=11638 dport=4789 chksum=0x0 |<VXLAN flags=Instance reserved1=0 vni=0x64 reserved2=0x0 |<Ether dst=02:02:02:02:02:02 src=00:cc:cc:cc:cc:cc type=IPv4 |<IP ihl=None tos=0x0 id=1 flags= frag=0 ttl=64 proto=udp src=10.1.1.10 dst=10.1.2.50 |<UDP sport=1234 dport=80 |<Raw load='\x00\x01\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f !"#$%&'()*+,-./0123456789' |>>>>>>>>
Verifying drop...
FAIL
======================================================================
FAIL: test_saithrift_vnet.TestSaiThrift_outbound_udp_pkt
Traceback (most recent call last):
File "./vnet/test_saithrift_vnet.py", line 225, in runTest
raise ae
File "./vnet/test_saithrift_vnet.py", line 146, in runTest
verify_no_other_packets(self)
File "/usr/local/lib/python3.8/dist-packages/ptf-0.9.3-py3.8.egg/ptf/testutils.py", line 3291, in verify_no_other_packets
test.fail(
AssertionError: A packet was received on device 0, port 0, but we expected no packets.
========== RECEIVED ==========
0000 33 33 00 00 00 16 7A EF 5F 17 69 A9 86 DD 60 00 33....z._.i...`.
0010 00 00 00 4C 00 01 FE 80 00 00 00 00 00 00 78 EF ...L..........x.
0020 5F FF FE 17 69 A9 FF 02 00 00 00 00 00 00 00 00 _...i...........
0030 00 00 00 00 00 16 3A 00 05 02 00 00 01 00 8F 00 ......:.........
0040 C1 64 00 00 00 03 04 00 00 00 FF 02 00 00 00 00 .d..............
0050 00 00 00 00 00 01 FF 00 00 00 04 00 00 00 FF 02 ................
0060 00 00 00 00 00 00 00 00 00 01 FF 17 69 A9 04 00 ............i...
0070 00 00 FF 02 00 00 00 00 00 00 00 00 00 00 00 00 ................
0080 00 02 ..
Ran 1 test in 0.138s
FAILED (failures=1)
ATTENTION: SOME TESTS DID NOT PASS!!!
The following tests failed:
TestSaiThrift_outbound_udp_pkt
make: *** [Makefile:374: run-saithrift-ptftests] Error 1
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
35725a3a4693 ixiacom/ixia-c-traffic-engine:1.4.1.26 "./entrypoint.sh" 4 minutes ago Up 4 minutes ixia-c-traffic-engine2-mhanif
584cfe0175de ixiacom/ixia-c-controller:0.0.1-2934 "./bin/controller --…" 4 minutes ago Up 4 minutes ixia-c-controller-mhanif
478016d7cb2f ixiacom/ixia-c-traffic-engine:1.4.1.26 "./entrypoint.sh" 4 minutes ago Up 4 minutes ixia-c-traffic-engine1-mhanif
bbf3233c21f5 chrissommers/dash-saithrift-bldr:220719 "./saiserver" 8 minutes ago Up 8 minutes dash-saithrift-server-mhanif
509dc995d6ed chrissommers/dash-bmv2-bldr:220630 "env LD_LIBRARY_PATH…" About an hour ago Up About an hour simple_switch-mhanif
Just cloned a fresh copy of DASH at the tip of master branch. Built and tested (unmodified) to get the baseline and saw that it is failing:
$ make run-saithrift-server
docker run --rm -it --net=host --name dash-saithrift-server-mhanif -v /home/mhanif/sw/dash-ipv6/DASH/dash-pipeline/bmv2/dash_pipeline.bmv2/dash_pipeline.json:/etc/dash/dash_pipeline.json -v /home/mhanif/sw/dash-ipv6/DASH/dash-pipeline/bmv2/dash_pipeline.bmv2/dash_pipeline_p4rt.txt:/etc/dash/dash_pipeline_p4rt.txt -v /home/mhanif/sw/dash-ipv6/DASH/dash-pipeline/SAI:/SAI -v /home/mhanif/sw/dash-ipv6/DASH/dash-pipeline/SAI/SAI/meta:/meta -w /SAI/rpc/usr/sbin -e LD_LIBRARY_PATH=/SAI/lib:/usr/local/lib chrissommers/dash-saithrift-bldr:220719
./saiserver
GRPC call SetForwardingPipelineConfig 0.0.0.0:9559 => /etc/dash/dash_pipeline.json, /etc/dash/dash_pipeline_p4rt.txt
Starting SAI RPC server on port 9092
GRPC call Write::INSERT OKtable_id: 45621839 match { field_id: 1 exact { value: "\254\020\001d" } } action { action { action_id: 26041632 } }
GRPC call Write::INSERT OKtable_id: 41103078 match { field_id: 1 exact { value: "\000\000d" } } action { action { action_id: 21912829 } }
GRPC call Write::INSERT OKtable_id: 45323240 match { field_id: 1 exact { value: "\000\001" } } action { action { action_id: 25655048 params { param_id: 1 value: "\000\000\000\000" } } }
GRPC call Write::INSERT OKtable_id: 45323240 match { field_id: 1 exact { value: "\000\002" } } action { action { action_id: 25655048 params { param_id: 1 value: "\000\000\000\000" } } }
GRPC call Write::INSERT OKtable_id: 34579306 match { field_id: 1 exact { value: "\000\003" } } action { action { action_id: 17187022 params { param_id: 1 value: "\000\000d" } } }
GRPC call Write::INSERT OKtable_id: 37987821 match { field_id: 1 exact { value: "\000\004" } } action { action { action_id: 27167550 params { param_id: 1 value: "\000\000'\020" } params { param_id: 2 value: "\000\001\206\240" } params { param_id: 3 value: "\000\001\206\240" } params { param_id: 4 value: "\001" } params { param_id: 5 value: "\254\020\001\001" } params { param_id: 6 value: "\000\000\t" } params { param_id: 7 value: "\000\003" } params { param_id: 8 value: "\000\000" } params { param_id: 9 value: "\000\000" } params { param_id: 10 value: "\000\000" } params { param_id: 11 value: "\000\000" } params { param_id: 12 value: "\000\000" } params { param_id: 13 value: "\000\000" } params { param_id: 14 value: "\000\000" } params { param_id: 15 value: "\000\000" } params { param_id: 16 value: "\000\000" } params { param_id: 17 value: "\000\000" } params { param_id: 18 value: "\000\000" } params { param_id: 19 value: "\000\000" } params { param_id: 20 value: "\000\000" } params { param_id: 21 value: "\000\000" } params { param_id: 22 value: "\000\000" } params { param_id: 23 value: "\000\000" } params { param_id: 24 value: "\000\000" } params { param_id: 25 value: "\000\000" } params { param_id: 26 value: "\000\000" } params { param_id: 27 value: "\000\000" } } }
GRPC call Write::INSERT OKtable_id: 37820776 match { field_id: 1 exact { value: "\000\314\314\314\314\314" } } action { action { action_id: 18228884 params { param_id: 1 value: "\000\004" } } }
GRPC call Write::INSERT OKtable_id: 37768533 match { field_id: 1 exact { value: "\000\004" } } match { field_id: 3 lpm { value: "\n\001\000\000" prefix_len: 112 } } match { field_id: 2 exact { value: "\000" } } action { action { action_id: 25364446 params { param_id: 1 value: "\000\003" } } }
GRPC call Write::INSERT OKtable_id: 34260339 match { field_id: 1 exact { value: "\000\003" } } match { field_id: 3 exact { value: "\n\001\0022" } } match { field_id: 2 exact { value: "\000" } } action { action { action_id: 25450412 params { param_id: 1 value: "\254\020\001\024" } params { param_id: 2 value: "\000\335\335\335\335\335" } params { param_id: 3 value: "\001" } } }
GRPC call Write::DELETE OKtable_id: 34260339 match { field_id: 1 exact { value: "\000\003" } } match { field_id: 3 exact { value: "\n\001\0022" } } match { field_id: 2 exact { value: "\000" } }
GRPC call Write::DELETE OKtable_id: 37768533 match { field_id: 1 exact { value: "\000\004" } } match { field_id: 3 lpm { value: "\n\001\000\000" prefix_len: 112 } } match { field_id: 2 exact { value: "\000" } }
GRPC call Write::DELETE OKtable_id: 37820776 match { field_id: 1 exact { value: "\000\314\314\314\314\314" } }
GRPC call Write::DELETE OKtable_id: 37987821 match { field_id: 1 exact { value: "\000\004" } } action { action { action_id: 27167550 params { param_id: 1 value: "\000\000'\020" } params { param_id: 2 value: "\000\001\206\240" } params { param_id: 3 value: "\000\001\206\240" } params { param_id: 4 value: "\001" } params { param_id: 5 value: "\254\020\001\001" } params { param_id: 6 value: "\000\000\t" } params { param_id: 7 value: "\000\003" } params { param_id: 8 value: "\000\000" } params { param_id: 9 value: "\000\000" } params { param_id: 10 value: "\000\000" } params { param_id: 11 value: "\000\000" } params { param_id: 12 value: "\000\000" } params { param_id: 13 value: "\000\000" } params { param_id: 14 value: "\000\000" } params { param_id: 15 value: "\000\000" } params { param_id: 16 value: "\000\000" } params { param_id: 17 value: "\000\000" } params { param_id: 18 value: "\000\000" } params { param_id: 19 value: "\000\000" } params { param_id: 20 value: "\000\000" } params { param_id: 21 value: "\000\000" } params { param_id: 22 value: "\000\000" } params { param_id: 23 value: "\000\000" } params { param_id: 24 value: "\000\000" } params { param_id: 25 value: "\000\000" } params { param_id: 26 value: "\000\000" } params { param_id: 27 value: "\000\000" } } }
GRPC call Write::DELETE OKtable_id: 34579306 match { field_id: 1 exact { value: "\000\003" } } action { action { action_id: 17187022 params { param_id: 1 value: "\000\000d" } } }
GRPC call Write::DELETE OKtable_id: 45323240 match { field_id: 1 exact { value: "\000\002" } } action { action { action_id: 25655048 params { param_id: 1 value: "\000\000\000\000" } } }
GRPC call Write::DELETE OKtable_id: 45323240 match { field_id: 1 exact { value: "\000\001" } } action { action { action_id: 25655048 params { param_id: 1 value: "\000\000\000\000" } } }
GRPC call Write::DELETE OKtable_id: 41103078 match { field_id: 1 exact { value: "\000\000d" } }
GRPC call Write::DELETE OKtable_id: 45621839 match { field_id: 1 exact { value: "\254\020\001d" } }
$ make run-all-tests
Ensure P4Runtime server is listening
t=5;
while [ ${t} -ge 1 ]; do
if sudo lsof -i:9559 | grep LISTEN >/dev/null; then
break;
else
sleep 1;
t=
expr $t - 1;fi;
done;
docker exec -w /tests/libsai/vnet_out simple_switch-mhanif ./vnet_out
[sudo] password for mhanif:
GRPC call SetForwardingPipelineConfig 0.0.0.0:9559 => /etc/dash/dash_pipeline.json, /etc/dash/dash_pipeline_p4rt.txt
GRPC call Write::INSERT OKtable_id: 41103078 match { field_id: 1 exact { value: "\000\000<" } } action { action { action_id: 21912829 } }
GRPC call Write::INSERT OKtable_id: 45323240 match { field_id: 1 exact { value: "\000\001" } } action { action { action_id: 25655048 params { param_id: 1 value: "\000\000\000\000" } } }
GRPC call Write::INSERT OKtable_id: 45323240 match { field_id: 1 exact { value: "\000\002" } } action { action { action_id: 25655048 params { param_id: 1 value: "\000\000\000\000" } } }
GRPC call Write::INSERT OKtable_id: 34579306 match { field_id: 1 exact { value: "\000\003" } } action { action { action_id: 17187022 params { param_id: 1 value: "\000\000\t" } } }
GRPC call Write::INSERT OKtable_id: 37987821 match { field_id: 1 exact { value: "\000\004" } } action { action { action_id: 27167550 params { param_id: 1 value: "\000\000'\020" } params { param_id: 2 value: "\000\001\206\240" } params { param_id: 3 value: "\000\001\206\240" } params { param_id: 4 value: "\001" } params { param_id: 5 value: "\254\020\003\001" } params { param_id: 6 value: "\000\000\t" } params { param_id: 7 value: "\000\003" } params { param_id: 27 value: "\000\000" } params { param_id: 26 value: "\000\000" } params { param_id: 25 value: "\000\000" } params { param_id: 24 value: "\000\000" } params { param_id: 23 value: "\000\000" } params { param_id: 17 value: "\000\000" } params { param_id: 16 value: "\000\000" } params { param_id: 15 value: "\000\000" } params { param_id: 14 value: "\000\000" } params { param_id: 13 value: "\000\000" } params { param_id: 22 value: "\000\002" } params { param_id: 21 value: "\000\002" } params { param_id: 20 value: "\000\002" } params { param_id: 19 value: "\000\002" } params { param_id: 18 value: "\000\002" } params { param_id: 12 value: "\000\001" } params { param_id: 11 value: "\000\001" } params { param_id: 10 value: "\000\001" } params { param_id: 9 value: "\000\001" } params { param_id: 8 value: "\000\001" } } }
GRPC call Write::INSERT OKtable_id: 37820776 match { field_id: 1 exact { value: "\252\314\314\314\314\314" } } action { action { action_id: 18228884 params { param_id: 1 value: "\000\004" } } }
GRPC call Write::DELETE OKtable_id: 37820776 match { field_id: 1 exact { value: "\252\314\314\314\314\314" } }
GRPC call Write::DELETE OKtable_id: 37987821 match { field_id: 1 exact { value: "\000\004" } } action { action { action_id: 27167550 params { param_id: 1 value: "\000\000'\020" } params { param_id: 2 value: "\000\001\206\240" } params { param_id: 3 value: "\000\001\206\240" } params { param_id: 4 value: "\001" } params { param_id: 5 value: "\254\020\003\001" } params { param_id: 6 value: "\000\000\t" } params { param_id: 7 value: "\000\003" } params { param_id: 27 value: "\000\000" } params { param_id: 26 value: "\000\000" } params { param_id: 25 value: "\000\000" } params { param_id: 24 value: "\000\000" } params { param_id: 23 value: "\000\000" } params { param_id: 17 value: "\000\000" } params { param_id: 16 value: "\000\000" } params { param_id: 15 value: "\000\000" } params { param_id: 14 value: "\000\000" } params { param_id: 13 value: "\000\000" } params { param_id: 22 value: "\000\002" } params { param_id: 21 value: "\000\002" } params { param_id: 20 value: "\000\002" } params { param_id: 19 value: "\000\002" } params { param_id: 18 value: "\000\002" } params { param_id: 12 value: "\000\001" } params { param_id: 11 value: "\000\001" } params { param_id: 10 value: "\000\001" } params { param_id: 9 value: "\000\001" } params { param_id: 8 value: "\000\001" } } }
GRPC call Write::DELETE OKtable_id: 34579306 match { field_id: 1 exact { value: "\000\003" } } action { action { action_id: 17187022 params { param_id: 1 value: "\000\000\t" } } }
Done.
GRPC call Write::DELETE OKtable_id: 45323240 match { field_id: 1 exact { value: "\000\002" } } action { action { action_id: 25655048 params { param_id: 1 value: "\000\000\000\000" } } }
GRPC call Write::DELETE OKtable_id: 45323240 match { field_id: 1 exact { value: "\000\001" } } action { action { action_id: 25655048 params { param_id: 1 value: "\000\000\000\000" } } }
GRPC call Write::DELETE OKtable_id: 41103078 match { field_id: 1 exact { value: "\000\000<" } }
cd ../test/third-party/traffic_gen && ./deploy_ixiac.sh
.
Creating ixia-c-traffic-engine1-mhanif ... done
Creating ixia-c-traffic-engine2-mhanif ... done
Creating ixia-c-controller-mhanif ... done
docker run -u root --network=host --rm -w /tests/ -it
-w /tests/saithrift/ptf
local/dash-saithrift-client:latest
./run-saithrift-ptftests.sh
/usr/local/lib/python3.8/dist-packages/ptf-0.9.3-py3.8.egg/EGG-INFO/scripts/ptf:19: DeprecationWarning: the imp module is deprecated in favour of importlib; see the module's documentation for alternative uses
import imp
Using packet manipulation module: ptf.packet_scapy
test_thrift_session.TestSaiThriftSession ... TestSaiThriftSession OK
ok
Ran 1 test in 0.002s
OK
test_thrift_session.TestSaiThriftSaiHelper ... TestSaiThriftSaiHelper OK
ok
Ran 1 test in 0.001s
OK
test_saithrift_vnet.TestSaiThrift_outbound_udp_pkt ...
Sending packet with wrong vip...
<Ether dst=00:00:02:03:04:05 src=00:00:05:06:06:06 type=IPv4 |<IP ihl=None tos=0x0 id=1 flags= frag=0 ttl=64 proto=udp src=172.16.1.1 dst=172.16.100.100 |<UDP sport=11638 dport=4789 chksum=0x0 |<VXLAN flags=Instance reserved1=0 vni=0x64 reserved2=0x0 |<Ether dst=02:02:02:02:02:02 src=00:cc:cc:cc:cc:cc type=IPv4 |<IP ihl=None tos=0x0 id=1 flags= frag=0 ttl=64 proto=udp src=10.1.1.10 dst=10.1.2.50 |<UDP sport=1234 dport=80 |<Raw load='\x00\x01\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f !"#$%&'()*+,-./0123456789' |>>>>>>>>
Verifying drop...
FAIL
======================================================================
FAIL: test_saithrift_vnet.TestSaiThrift_outbound_udp_pkt
Traceback (most recent call last):
File "./vnet/test_saithrift_vnet.py", line 225, in runTest
raise ae
File "./vnet/test_saithrift_vnet.py", line 146, in runTest
verify_no_other_packets(self)
File "/usr/local/lib/python3.8/dist-packages/ptf-0.9.3-py3.8.egg/ptf/testutils.py", line 3291, in verify_no_other_packets
test.fail(
AssertionError: A packet was received on device 0, port 0, but we expected no packets.
========== RECEIVED ==========
0000 33 33 00 00 00 16 7A EF 5F 17 69 A9 86 DD 60 00 33....z._.i...`.
0010 00 00 00 4C 00 01 FE 80 00 00 00 00 00 00 78 EF ...L..........x.
0020 5F FF FE 17 69 A9 FF 02 00 00 00 00 00 00 00 00 _...i...........
0030 00 00 00 00 00 16 3A 00 05 02 00 00 01 00 8F 00 ......:.........
0040 C1 64 00 00 00 03 04 00 00 00 FF 02 00 00 00 00 .d..............
0050 00 00 00 00 00 01 FF 00 00 00 04 00 00 00 FF 02 ................
0060 00 00 00 00 00 00 00 00 00 01 FF 17 69 A9 04 00 ............i...
0070 00 00 FF 02 00 00 00 00 00 00 00 00 00 00 00 00 ................
0080 00 02 ..
Ran 1 test in 0.138s
FAILED (failures=1)
ATTENTION: SOME TESTS DID NOT PASS!!!
The following tests failed:
TestSaiThrift_outbound_udp_pkt
make: *** [Makefile:374: run-saithrift-ptftests] Error 1
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
35725a3a4693 ixiacom/ixia-c-traffic-engine:1.4.1.26 "./entrypoint.sh" 4 minutes ago Up 4 minutes ixia-c-traffic-engine2-mhanif
584cfe0175de ixiacom/ixia-c-controller:0.0.1-2934 "./bin/controller --…" 4 minutes ago Up 4 minutes ixia-c-controller-mhanif
478016d7cb2f ixiacom/ixia-c-traffic-engine:1.4.1.26 "./entrypoint.sh" 4 minutes ago Up 4 minutes ixia-c-traffic-engine1-mhanif
bbf3233c21f5 chrissommers/dash-saithrift-bldr:220719 "./saiserver" 8 minutes ago Up 8 minutes dash-saithrift-server-mhanif
509dc995d6ed chrissommers/dash-bmv2-bldr:220630 "env LD_LIBRARY_PATH…" About an hour ago Up About an hour simple_switch-mhanif