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] Create a class for symbolic table entries. #940

Open
wants to merge 7 commits into
base: main
Choose a base branch
from

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 ...
INFO: Analyzed 670 targets (0 packages loaded, 0 targets configured).
INFO: Found 670 targets...
INFO: From Compiling p4_symbolic/tests/sai_p4_component_test.cc:
In file included from ./p4_symbolic/z3_util.h:18,
from ./p4_symbolic/symbolic/symbolic.h:36,
from p4_symbolic/tests/sai_p4_component_test.cc:27:
./p4_pdpi/string_encodings/bit_string.h: In member function 'void pdpi::BitString::AppendBytes(absl::lts_20230802::string_view)':
./p4_pdpi/string_encodings/bit_string.h:55:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::basic_string_view::size_type' {aka 'long unsigned int'} [-Wsign-compare]
55 | for (int i = 0; i < bytes.size(); i++) {
| ~~^~~~~~~~~~~~~~
In file included from ./gutil/status_matchers.h:27,
from p4_symbolic/tests/sai_p4_component_test.cc:21:
p4_symbolic/tests/sai_p4_component_test.cc: In function 'absl::lts_20230802::StatusOr<std::__cxx11::basic_string > p4_symbolic::{anonymous}::GenerateSmtForSaiPiplelineWithSimpleEntries()':
p4_symbolic/tests/sai_p4_component_test.cc:119:15: 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]
119 | pdpi::PartialPdTableEntryToPiTableEntry(ir_p4info, pd_entry));
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./gutil/status.h:286:43: note: in definition of macro '__ASSIGN_OR_RETURN'
286 | auto __ASSIGN_OR_RETURN_VAL(LINE) = expr;
| ^~~~
p4_symbolic/tests/sai_p4_component_test.cc:117:5: note: in expansion of macro 'ASSIGN_OR_RETURN'
117 | ASSIGN_OR_RETURN(
| ^~~~~~~~~~~~~~~~
In file included from p4_symbolic/tests/sai_p4_component_test.cc:26:
./p4_pdpi/pd.h:142:36: note: declared here
142 | absl::StatusOrp4::v1::TableEntry PartialPdTableEntryToPiTableEntry(
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ./gutil/status_matchers.h:27,
from p4_symbolic/tests/sai_p4_component_test.cc:21:
p4_symbolic/tests/sai_p4_component_test.cc:119:68: 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]
119 | pdpi::PartialPdTableEntryToPiTableEntry(ir_p4info, pd_entry));
| ^
./gutil/status.h:286:43: note: in definition of macro '__ASSIGN_OR_RETURN'
286 | auto __ASSIGN_OR_RETURN_VAL(LINE) = expr;
| ^~~~
p4_symbolic/tests/sai_p4_component_test.cc:117:5: note: in expansion of macro 'ASSIGN_OR_RETURN'
117 | ASSIGN_OR_RETURN(
| ^~~~~~~~~~~~~~~~
In file included from p4_symbolic/tests/sai_p4_component_test.cc:26:
./p4_pdpi/pd.h:142:36: note: declared here
142 | absl::StatusOrp4::v1::TableEntry PartialPdTableEntryToPiTableEntry(
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from p4_symbolic/tests/sai_p4_component_test.cc:21:
p4_symbolic/tests/sai_p4_component_test.cc: In member function 'virtual void p4_symbolic::{anonymous}::P4SymbolicComponentTest_CanGenerateTestPacketsForSimpleSaiP4Entries_Test::TestBody()':
p4_symbolic/tests/sai_p4_component_test.cc:158:32: 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]
158 | pdpi::PartialPdTableEntryToPiTableEntry(ir_p4info, pd_entry));
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./gutil/status_matchers.h:63:43: note: in definition of macro 'ASSERT_OK_AND_ASSIGN'
63 | auto __ASSIGN_OR_RETURN_VAL(LINE) = expression;
| ^~~~~~~~~~
In file included from p4_symbolic/tests/sai_p4_component_test.cc:26:
./p4_pdpi/pd.h:142:36: note: declared here
142 | absl::StatusOrp4::v1::TableEntry PartialPdTableEntryToPiTableEntry(
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from p4_symbolic/tests/sai_p4_component_test.cc:21:
p4_symbolic/tests/sai_p4_component_test.cc:158: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]
158 | pdpi::PartialPdTableEntryToPiTableEntry(ir_p4info, pd_entry));
| ^
./gutil/status_matchers.h:63:43: note: in definition of macro 'ASSERT_OK_AND_ASSIGN'
63 | auto __ASSIGN_OR_RETURN_VAL(LINE) = expression;
| ^~~~~~~~~~
In file included from p4_symbolic/tests/sai_p4_component_test.cc:26:
./p4_pdpi/pd.h:142:36: note: declared here
142 | absl::StatusOrp4::v1::TableEntry PartialPdTableEntryToPiTableEntry(
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ./p4_symbolic/z3_util.h:18,
from ./p4_symbolic/symbolic/symbolic.h:36,
from p4_symbolic/tests/sai_p4_component_test.cc:27:
./p4_pdpi/string_encodings/bit_string.h: In instantiation of 'void pdpi::BitString::AppendBits(const std::bitset<_Nb>&) [with long unsigned int num_bits = 8]':
./p4_pdpi/string_encodings/bit_string.h:41:50: required from here
./p4_pdpi/string_encodings/bit_string.h:49:23: warning: comparison of integer expressions of different signedness: 'int' and 'long unsigned int' [-Wsign-compare]
49 | for (int i = 0; i < num_bits; i++) {
| ~~^~~~~~~~~~
INFO: Elapsed time: 8.155s, Critical Path: 7.36s
INFO: 3 processes: 1 internal, 2 linux-sandbox.
INFO: Build completed successfully, 3 total actions

Test Result:
/sonic/src/sonic-p4rt/sonic-pins$ bazel test $BAZEL_BUILD_OPTS --cache_test_results=no ...
INFO: Analyzed 670 targets (0 packages loaded, 0 targets configured).
INFO: Found 453 targets and 217 test targets...
INFO: From Compiling p4_symbolic/tests/sai_p4_component_test.cc:
In file included from ./p4_symbolic/z3_util.h:18,
from ./p4_symbolic/symbolic/symbolic.h:36,
from p4_symbolic/tests/sai_p4_component_test.cc:27:
./p4_pdpi/string_encodings/bit_string.h: In member function 'void pdpi::BitString::AppendBytes(absl::lts_20230802::string_view)':
./p4_pdpi/string_encodings/bit_string.h:55:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::basic_string_view::size_type' {aka 'long unsigned int'} [-Wsign-compare]
55 | for (int i = 0; i < bytes.size(); i++) {
| ~~^~~~~~~~~~~~~~
In file included from ./gutil/status_matchers.h:27,
from p4_symbolic/tests/sai_p4_component_test.cc:21:
p4_symbolic/tests/sai_p4_component_test.cc: In function 'absl::lts_20230802::StatusOr<std::__cxx11::basic_string > p4_symbolic::{anonymous}::GenerateSmtForSaiPiplelineWithSimpleEntries()':
p4_symbolic/tests/sai_p4_component_test.cc:119:15: 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]
//p4rt_app/tests:response_path_test PASSED in 5.6s
//p4rt_app/tests:role_test PASSED in 1.6s
//p4rt_app/tests:state_verification_test PASSED in 3.1s
//p4rt_app/tests:vrf_table_test PASSED in 2.9s
//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.6s
//sai_p4/instantiations/google:sai_p4info_fetcher_test PASSED in 0.8s
//sai_p4/instantiations/google:sai_p4info_test PASSED in 1.1s
//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.1s
//sai_p4/instantiations/google/test_tools:table_entry_generator_helper_test PASSED in 1.4s
//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.5s
//sai_p4/tools:p4info_tools_test PASSED in 0.7s
//sai_p4/tools:packetio_tools_test PASSED in 0.8s
//tests:thinkit_gnmi_interface_util_tests PASSED in 1.2s
//tests/lib:p4info_helper_test PASSED in 0.9s
//tests/lib:p4rt_fixed_table_programming_helper_test PASSED in 0.8s
//tests/lib:packet_generator_test PASSED in 27.2s
//tests/lib:switch_test_setup_helpers_golden_test PASSED in 0.1s
//tests/lib:switch_test_setup_helpers_golden_test_runner PASSED in 0.1s
//tests/qos:gnmi_parsers_test PASSED in 0.1s
//tests/qos:gnmi_parsers_test_runner PASSED in 0.1s
//tests/sflow:sflow_util_test PASSED in 6.9s
//thinkit:bazel_test_environment_test PASSED in 0.6s
//thinkit:generic_testbed_test PASSED in 0.9s
//thinkit:mock_control_device_test PASSED in 0.5s
//thinkit:mock_generic_testbed_test PASSED in 2.0s
//thinkit:mock_mirror_testbed_test PASSED in 0.9s
//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 0.7s
//sai_p4/instantiations/google/tests:p4_constraints_integration_test PASSED in 0.9s
Stats over 5 runs: max = 0.9s, min = 0.7s, avg = 0.8s, dev = 0.1s
//sai_p4/instantiations/google/test_tools:table_entry_generator_test PASSED in 43.8s
Stats over 50 runs: max = 43.8s, min = 0.8s, avg = 5.3s, dev = 12.7s

Executed 217 out of 217 tests: 217 tests pass.
INFO: Build completed successfully, 272 total actions

@mssonicbld
Copy link

/azp run

Copy link

No pipelines are associated with this pull request.

@VSuryaprasad-HCL
Copy link
Contributor Author

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

@VSuryaprasad-HCL VSuryaprasad-HCL force-pushed the symbolic_import_branch_176 branch from 40756ec to ea1c756 Compare January 8, 2025 16:51
@mssonicbld
Copy link

/azp run

Copy link

No pipelines are associated with this pull request.

Copy link

@jaanah-hcl jaanah-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 Kindly review the PR
Thanks

@VSuryaprasad-HCL VSuryaprasad-HCL force-pushed the symbolic_import_branch_176 branch from ea1c756 to fa49599 Compare January 9, 2025 10:32
@mssonicbld
Copy link

/azp run

Copy link

No pipelines are associated with this pull request.

Copy link

@jaanah-hcl jaanah-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 Kindly review the PR
Thanks

VSuryaprasad-HCL and others added 4 commits January 10, 2025 10:14
…creating symbolic header fields deterministic.Initialize standard metadata fields to 0.
…nd field names as parameters.

PiperOrigin-RevId: 554563516
@VSuryaprasad-HCL VSuryaprasad-HCL force-pushed the symbolic_import_branch_176 branch from fa49599 to 709d735 Compare January 10, 2025 06:46
@mssonicbld
Copy link

/azp run

Copy link

No pipelines are associated with this pull request.

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.

4 participants