Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[P4_Symbolic] Eliminate extremely long variable names for action selector variables. Eliminate bug in detecting unsupported scenario (conditional on table match result) Eliminate non-determinism in EvaluateTableEntryCondition. Add test for output determinism.Update hard-coded SAI parser constraint to reflect the updated P4 code.Decrease the number of runs for determinism check. Define kDefaultActionEntryIndex. Fix typo. #627

Merged
merged 14 commits into from
Oct 19, 2024

Conversation

VSuryaprasad-HCL
Copy link
Contributor

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 ...
DEBUG: Rule 'com_github_nelhage_rules_boost' indicated that a canonical reproducible form can be obtained by modifying arguments shallow_since = "1619053724 -0700"
DEBUG: Repository com_github_nelhage_rules_boost instantiated at:
/sonic/src/sonic-p4rt/sonic-pins/WORKSPACE.bazel:75:9: in
/var/vsurya/.cache/bazel/_bazel_vsurya/5fd88bad78ef03829a4685c83637a020/external/com_github_p4lang_p4c/bazel/p4c_deps.bzl:25:23: in p4c_deps
Repository rule git_repository defined at:
/var/vsurya/.cache/bazel/_bazel_vsurya/5fd88bad78ef03829a4685c83637a020/external/bazel_tools/tools/build_defs/repo/git.bzl:199:33: in
INFO: Analyzed 520 targets (0 packages loaded, 0 targets configured).
INFO: Found 520 targets...
INFO: From Compiling p4_symbolic/symbolic/table.cc:
p4_symbolic/symbolic/table.cc: In function 'std::vector<std::pair<int, pdpi::IrTableEntry> > p4_symbolic::symbolic::table::{anonymous}::SortEntries(const p4_symbolic::ir::Table&, const std::vectorpdpi::IrTableEntry&)':
p4_symbolic/symbolic/table.cc:111:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vectorpdpi::IrTableEntry::size_type' {aka 'long unsigned int'} [-Wsign-compare]
111 | for (int i = 0; i < entries.size(); i++) {
| ~~^~~~~~~~~~~~~~~~
INFO: From Compiling p4_symbolic/symbolic/table.cc [for host]:
p4_symbolic/symbolic/table.cc: In function 'std::vector<std::pair<int, pdpi::IrTableEntry> > p4_symbolic::symbolic::table::{anonymous}::SortEntries(const p4_symbolic::ir::Table&, const std::vectorpdpi::IrTableEntry&)':
p4_symbolic/symbolic/table.cc:111:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vectorpdpi::IrTableEntry::size_type' {aka 'long unsigned int'} [-Wsign-compare]
111 | for (int i = 0; i < entries.size(); i++) {
| ~~^~~~~~~~~~~~~~~~
INFO: Elapsed time: 8.045s, Critical Path: 7.30s
INFO: 5 processes: 1 internal, 4 linux-sandbox.
INFO: Build completed successfully, 5 total actions

Test Result:
/sonic/src/sonic-p4rt/sonic-pins$ bazel test $BAZEL_BUILD_OPTS --cache_test_results=no ...
DEBUG: Rule 'com_github_nelhage_rules_boost' indicated that a canonical reproducible form can be obtained by modifying arguments shallow_since = "1619053724 -0700"
DEBUG: Repository com_github_nelhage_rules_boost instantiated at:
/sonic/src/sonic-p4rt/sonic-pins/WORKSPACE.bazel:75:9: in
/var/vsurya/.cache/bazel/_bazel_vsurya/5fd88bad78ef03829a4685c83637a020/external/com_github_p4lang_p4c/bazel/p4c_deps.bzl:25:23: in p4c_deps
Repository rule git_repository defined at:
/var/vsurya/.cache/bazel/_bazel_vsurya/5fd88bad78ef03829a4685c83637a020/external/bazel_tools/tools/build_defs/repo/git.bzl:199:33: in
INFO: Analyzed 520 targets (0 packages loaded, 0 targets configured).
INFO: Found 347 targets and 173 test targets...
INFO: Elapsed time: 181.832s, Critical Path: 91.95s
INFO: 182 processes: 215 linux-sandbox, 18 local.
INFO: Build completed successfully, 182 total actions
//gutil:collections_test PASSED in 0.5s
//gutil:io_test PASSED in 0.5s
//gutil:proto_matchers_test PASSED in 0.6s
//gutil:proto_ordering_test PASSED in 0.5s
//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 4.4s
//gutil:timer_test PASSED in 5.1s
//p4rt_app/tests:fixed_l3_tables_test PASSED in 4.2s
//p4rt_app/tests:forwarding_pipeline_config_test PASSED in 8.8s
//p4rt_app/tests:grpc_behavior_test PASSED in 5.6s
//p4rt_app/tests:p4_constraints_test PASSED in 0.3s
//p4rt_app/tests:p4_constraints_test_runner PASSED in 0.5s
//p4rt_app/tests:p4_programs_test PASSED in 2.5s
//p4rt_app/tests:packet_replication_table_test PASSED in 2.9s
//p4rt_app/tests:packetio_test PASSED in 4.7s
//p4rt_app/tests:port_name_and_id_test PASSED in 4.8s
//p4rt_app/tests:resource_limits_test PASSED in 2.7s
//p4rt_app/tests:response_path_test PASSED in 5.6s
//p4rt_app/tests:role_test PASSED in 1.7s
//p4rt_app/tests:state_verification_test PASSED in 3.4s
//p4rt_app/tests:vrf_table_test PASSED in 2.3s
//p4rt_app/tests/lib:app_db_entry_builder_test PASSED in 0.0s
//p4rt_app/utils:event_data_tracker_test PASSED in 0.0s
//p4rt_app/utils:table_utility_test PASSED in 0.7s
//sai_p4/instantiations/google:clos_stage_test PASSED in 0.5s
//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.0s
//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.9s
//sai_p4/instantiations/google:sai_p4info_fetcher_test PASSED in 0.8s
//sai_p4/instantiations/google:sai_p4info_test PASSED in 1.0s
//sai_p4/instantiations/google:sai_pd_proto_test PASSED in 0.0s
//sai_p4/instantiations/google:sai_pd_util_test PASSED in 0.6s
//sai_p4/instantiations/google:tor_p4info_up_to_date_test PASSED in 0.0s
//sai_p4/instantiations/google:union_p4info_up_to_date_test PASSED in 0.1s
//sai_p4/instantiations/google:wbb_p4info_up_to_date_test PASSED in 0.0s
//sai_p4/instantiations/google/test_tools:table_entry_generator_helper_test PASSED in 1.5s
//sai_p4/instantiations/google/test_tools:test_entries_test PASSED in 0.9s
//sai_p4/tools:p4info_tools_test PASSED in 0.6s
//sai_p4/tools:packetio_tools_test PASSED in 0.7s
//thinkit:bazel_test_environment_test PASSED in 0.6s
//thinkit:generic_testbed_test PASSED in 1.2s
//thinkit:mock_control_device_test PASSED in 0.7s
//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.0s
//thinkit:mock_switch_test PASSED in 0.7s
//thinkit:mock_test_environment_test PASSED in 0.1s
//thinkit:switch_test PASSED in 2.2s
//sai_p4/instantiations/google/test_tools:table_entry_generator_test PASSED in 91.9s
Stats over 5 runs: max = 91.9s, min = 1.1s, avg = 27.9s, dev = 36.0s
//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.0s

Executed 173 out of 173 tests: 173 tests pass.
INFO: Build completed successfully, 182 total actions

smolkaj and others added 11 commits October 8, 2024 10:56
…os and making things reusable. Fix a few subtle bugs related to dropping packets and ports. Move Z3 utility functions into z3_util. Make evaluation functions only return a set of matches instead of an entire trace.
…e (spurious) visibility declarations; make all targets public.
… field that tracks cloning.

PiperOrigin-RevId: 373904870
@VSuryaprasad-HCL
Copy link
Contributor Author

Co-authored-by: kheradmandG [email protected]
Co-authored-by: Steffen Smolka [email protected]
Co-authored-by: Srikishen Pondicherry Shanmugam [email protected]

kishanps and others added 2 commits October 16, 2024 22:52
…SAI API for setting VRFs. update comments to use inclusive naming from github and p4.org Add route_metadata field and initializing logic to reflect the changes in SAI-P4 code. Remove program-specific structs mixed in with the generic API.
…ctor variables. Eliminate bug in detecting unsupported scenario (conditional on table match result) Eliminate non-determinism in EvaluateTableEntryCondition. Add test for output determinism.Update hard-coded SAI parser constraint to reflect the updated P4 code.Decrease the number of runs for determinism check. Define kDefaultActionEntryIndex. Fix typo.
Copy link
Contributor

@bibhuprasad-hcl bibhuprasad-hcl left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@kishanps, Could you please review.
Thanks.

@kishanps kishanps merged commit eb418f0 into sonic-net:main Oct 19, 2024
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants