[P4-Symbolic] Add ERSPAN support to hard-coded SAI fields/parser/deparser. #730
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Keyword Check:
~/sonic-buildimage/src/sonic-p4rt/sonic-pins$ ~/tools/keyword_checks.sh .
Keyword check Passed.
Build Result:
/sonic/src/sonic-p4rt/sonic-pins$ bazel build $BAZEL_BUILD_OPTS ...
INFO: Analyzed 584 targets (2 packages loaded, 129 targets configured).
INFO: Found 584 targets...
INFO: From Compiling p4_symbolic/sai/parser.cc:
p4_symbolic/sai/parser.cc: In function 'absl::lts_20230802::StatusOr<std::vectorz3::expr > p4_symbolic::EvaluateSaiParser(const SymbolicPerPacketState&)':
p4_symbolic/sai/parser.cc:65:51: warning: suggest parentheses around '&&' within '||' [-Wparentheses]
65 | constraints.push_back(icmp.valid == (ipv4.valid && ipv4.protocol == 0x01 ||
| ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
p4_symbolic/sai/parser.cc:67:50: warning: suggest parentheses around '&&' within '||' [-Wparentheses]
67 | constraints.push_back(tcp.valid == (ipv4.valid && ipv4.protocol == 0x06 ||
| ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
p4_symbolic/sai/parser.cc:69:50: warning: suggest parentheses around '&&' within '||' [-Wparentheses]
69 | constraints.push_back(udp.valid == (ipv4.valid && ipv4.protocol == 0x11 ||
| ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
INFO: From Compiling p4_symbolic/sai/parser.cc [for host]:
p4_symbolic/sai/parser.cc: In function 'absl::lts_20230802::StatusOr<std::vectorz3::expr > p4_symbolic::EvaluateSaiParser(const SymbolicPerPacketState&)':
p4_symbolic/sai/parser.cc:65:51: warning: suggest parentheses around '&&' within '||' [-Wparentheses]
65 | constraints.push_back(icmp.valid == (ipv4.valid && ipv4.protocol == 0x01 ||
| ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
p4_symbolic/sai/parser.cc:67:50: warning: suggest parentheses around '&&' within '||' [-Wparentheses]
67 | constraints.push_back(tcp.valid == (ipv4.valid && ipv4.protocol == 0x06 ||
| ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
p4_symbolic/sai/parser.cc:69:50: warning: suggest parentheses around '&&' within '||' [-Wparentheses]
69 | constraints.push_back(udp.valid == (ipv4.valid && ipv4.protocol == 0x11 ||
| ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
INFO: From Compiling dvaas/arriba_test_vector_validation.cc:
In file included from p4_symbolic/tests/sai_p4_component_test.cc:22:
p4_symbolic/tests/sai_p4_component_test.cc:118:85: warning: 'absl::lts_20230802::StatusOrp4::v1::TableEntry pdpi::PartialPdTableEntryToPiTableEntry(const pdpi::IrP4Info&, const google::protobuf::Message&, const pdpi::TranslationOptions&)' is deprecated: Use PdTableEntryToPiEntity instead [-Wdeprecated-declarations]
118 | pdpi::PartialPdTableEntryToPiTableEntry(ir_p4info, pd_entry));
| ^
./gutil/status_matchers.h:64:43: note: in definition of macro 'ASSERT_OK_AND_ASSIGN'
64 | auto __ASSIGN_OR_RETURN_VAL(LINE) = expression;
| ^~~~~~~~~~
In file included from p4_symbolic/tests/sai_p4_component_test.cc:27:
./p4_pdpi/pd.h:141:36: note: declared here
141 | absl::StatusOrp4::v1::TableEntry PartialPdTableEntryToPiTableEntry(
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
INFO: Elapsed time: 77.229s, Critical Path: 62.27s
INFO: 189 processes: 91 internal, 98 linux-sandbox.
INFO: Build completed successfully, 189 total actions
Test Result:
/sonic/src/sonic-p4rt/sonic-pins$ bazel test $BAZEL_BUILD_OPTS --cache_test_results=no ...
INFO: Analyzed 584 targets (0 packages loaded, 346 targets configured).
INFO: Found 394 targets and 190 test targets...
INFO: Elapsed time: 184.549s, Critical Path: 123.74s
INFO: 244 processes: 289 linux-sandbox, 18 local.
INFO: Build completed successfully, 244 total actions
//gutil:collections_test PASSED in 0.7s
//gutil:io_test PASSED in 0.5s
//gutil:proto_matchers_test PASSED in 0.7s
//gutil:proto_ordering_test PASSED in 0.6s
//gutil:proto_test PASSED in 0.5s
//gutil:status_matchers_test PASSED in 0.5s
//gutil:test_artifact_writer_test PASSED in 0.6s
//gutil:testing_test PASSED in 0.7s
//gutil:timer_test PASSED in 5.3s
//gutil:version_test PASSED in 5.5s
//lib:basic_switch_test PASSED in 1.1s
//lib:ixia_helper_test PASSED in 1.2s
//lib/basic_traffic:basic_p4rt_util_test PASSED in 1.0s
//lib/basic_traffic:basic_traffic_test PASSED in 15.0s
//lib/gnmi:gnmi_helper_test PASSED in 2.9s
//lib/gnoi:gnoi_helper_test PASSED in 0.6s
//lib/p4rt:p4rt_port_test PASSED in 0.5s
//p4rt_app/utils:table_utility_test PASSED in 0.8s
//sai_p4/instantiations/google:clos_stage_test PASSED in 0.7s
//sai_p4/instantiations/google:fabric_border_router_p4info_up_to_date_test PASSED in 0.0s
//sai_p4/instantiations/google:middleblock_p4info_up_to_date_test PASSED in 0.1s
//sai_p4/instantiations/google:sai_nonstandard_platforms_build_test PASSED in 0.0s
//sai_p4/instantiations/google:sai_nonstandard_platforms_cc_test PASSED in 0.7s
//sai_p4/instantiations/google:sai_p4info_fetcher_test PASSED in 0.8s
//sai_p4/instantiations/google:sai_p4info_test PASSED in 1.2s
//sai_p4/instantiations/google:sai_pd_proto_test PASSED in 0.0s
//sai_p4/instantiations/google:sai_pd_util_test PASSED in 0.8s
//sai_p4/instantiations/google:tor_p4info_up_to_date_test PASSED in 0.1s
//sai_p4/instantiations/google:union_p4info_up_to_date_test PASSED in 1.8s
//sai_p4/instantiations/google:wbb_p4info_up_to_date_test PASSED in 0.1s
//sai_p4/instantiations/google/test_tools:table_entry_generator_helper_test PASSED in 2.5s
//sai_p4/instantiations/google/test_tools:test_entries_test PASSED in 0.9s
//sai_p4/instantiations/google/tests:p4_fuzzer_integration_test PASSED in 3.8s
//sai_p4/tools:p4info_tools_test PASSED in 0.6s
//sai_p4/tools:packetio_tools_test PASSED in 1.4s
//tests/qos:gnmi_parsers_test PASSED in 0.9s
//tests/qos:gnmi_parsers_test_runner PASSED in 0.5s
//thinkit:bazel_test_environment_test PASSED in 0.8s
//thinkit:generic_testbed_test PASSED in 0.9s
//thinkit:mock_control_device_test PASSED in 1.2s
//thinkit:mock_generic_testbed_test PASSED in 0.7s
//thinkit:mock_mirror_testbed_test PASSED in 0.7s
//thinkit:mock_ssh_client_test PASSED in 0.1s
//thinkit:mock_switch_test PASSED in 0.8s
//thinkit:mock_test_environment_test PASSED in 0.1s
//thinkit:switch_test PASSED in 0.7s
//sai_p4/instantiations/google/tests:p4_constraints_integration_test PASSED in 0.8s
Stats over 5 runs: max = 0.8s, min = 0.7s, avg = 0.7s, dev = 0.1s
//sai_p4/instantiations/google/test_tools:table_entry_generator_test PASSED in 47.7s
Stats over 50 runs: max = 47.7s, min = 0.8s, avg = 4.1s, dev = 10.6s
Executed 190 out of 190 tests: 190 tests pass.
INFO: Build completed successfully, 244 total actions