-
Notifications
You must be signed in to change notification settings - Fork 26
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] Extend SAI module with packet-out headers and metadata. Add GetHeaderValidityFieldRef. #740
Merged
kishanps
merged 12 commits into
sonic-net:main
from
VSuryaprasad-HCL:symbolic_import_branch_99
Nov 21, 2024
Merged
[P4-Symbolic] Extend SAI module with packet-out headers and metadata. Add GetHeaderValidityFieldRef. #740
kishanps
merged 12 commits into
sonic-net:main
from
VSuryaprasad-HCL:symbolic_import_branch_99
Nov 21, 2024
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
…rser. PiperOrigin-RevId: 369705305
…to SAI, step 2/6.Add route_metadata field and initializing logic to reflect the changes in SAI-P4 code.Remove L3Admit workaround. Print end-to-end-test output to console to ease debugging.Restrict various tests parameterized over a SAI P4 instantiaton to exclude WBB.
…into symbolic_import_branch_98
… Add GetHeaderValidityFieldRef.
Co-authored-by: Steffen Smolka [email protected] |
…into symbolic_import_branch_99
VSuryaprasad-HCL
force-pushed
the
symbolic_import_branch_99
branch
from
November 20, 2024 07:13
9fc2f9c
to
4448a6a
Compare
bibhuprasad-hcl
approved these changes
Nov 20, 2024
There was a problem hiding this 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
approved these changes
Nov 21, 2024
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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 598 targets (0 packages loaded, 0 targets configured).
INFO: Found 598 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:87:51: warning: suggest parentheses around '&&' within '||' [-Wparentheses]
87 | constraints.push_back(icmp.valid == (ipv4.valid && ipv4.protocol == 0x01 ||
| ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
p4_symbolic/sai/parser.cc:89:50: warning: suggest parentheses around '&&' within '||' [-Wparentheses]
89 | constraints.push_back(tcp.valid == (ipv4.valid && ipv4.protocol == 0x06 ||
| ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
p4_symbolic/sai/parser.cc:91:50: warning: suggest parentheses around '&&' within '||' [-Wparentheses]
91 | 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:87:51: warning: suggest parentheses around '&&' within '||' [-Wparentheses]
87 | constraints.push_back(icmp.valid == (ipv4.valid && ipv4.protocol == 0x01 ||
| ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
p4_symbolic/sai/parser.cc:89:50: warning: suggest parentheses around '&&' within '||' [-Wparentheses]
89 | constraints.push_back(tcp.valid == (ipv4.valid && ipv4.protocol == 0x06 ||
| ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
p4_symbolic/sai/parser.cc:91:50: warning: suggest parentheses around '&&' within '||' [-Wparentheses]
91 | constraints.push_back(udp.valid == (ipv4.valid && ipv4.protocol == 0x11 ||
| ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
INFO: From Executing genrule //p4_symbolic/symbolic:condition
Finding packet for table MyIngress.ipv4_lpm and row 2
Dropped = 0
standard_metadata.ingress_port = #b000000000
standard_metadata.egress_spec = #b000000001
ipv4.srcAddr = #x00000000
ipv4.dstAddr = #x0a8a0000
ethernet.dstAddr = #x00000000000a
Finding packet for table MyIngress.ipv4_lpm and row 3
Dropped = 0
standard_metadata.ingress_port = #b000000000
standard_metadata.egress_spec = #b000000001
ipv4.srcAddr = #x00000000
ipv4.dstAddr = #x14140000
ethernet.dstAddr = #x160000000016
INFO: Elapsed time: 8.715s, Critical Path: 7.14s
INFO: 21 processes: 2 internal, 19 linux-sandbox.
INFO: Build completed successfully, 21 total actions
Test Result:
/sonic/src/sonic-p4rt/sonic-pins$ bazel test $BAZEL_BUILD_OPTS --cache_test_results=no ...
INFO: Analyzed 598 targets (0 packages loaded, 0 targets configured).
INFO: Found 402 targets and 196 test targets...
INFO: Elapsed time: 220.004s, Critical Path: 119.05s
INFO: 250 processes: 296 linux-sandbox, 18 local.
INFO: Build completed successfully, 250 total actions
//dvaas:port_id_map_test PASSED in 0.6s
//dvaas:test_vector_stats_diff_test PASSED in 0.0s
//dvaas:test_vector_stats_test PASSED in 0.0s
//dvaas:test_vector_test PASSED in 0.6s
//gutil:collections_test PASSED in 1.3s
//gutil:io_test PASSED in 0.6s
//gutil:proto_matchers_test PASSED in 0.7s
//gutil:proto_ordering_test PASSED in 0.8s
//gutil:proto_test PASSED in 0.7s
//gutil:status_matchers_test PASSED in 0.6s
//gutil:test_artifact_writer_test PASSED in 1.7s
//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.7s
//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.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.6s
//sai_p4/instantiations/google/test_tools:test_entries_test PASSED in 1.3s
//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.2s
//tests:thinkit_gnmi_interface_util_tests PASSED in 1.0s
//tests/qos:gnmi_parsers_test PASSED in 0.1s
//tests/qos:gnmi_parsers_test_runner PASSED in 0.0s
//thinkit:bazel_test_environment_test PASSED in 0.6s
//thinkit:generic_testbed_test PASSED in 1.0s
//thinkit:mock_control_device_test PASSED in 0.6s
//thinkit:mock_generic_testbed_test PASSED in 0.8s
//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 0.7s
//sai_p4/instantiations/google/tests:p4_constraints_integration_test PASSED in 1.6s
Stats over 5 runs: max = 1.6s, min = 0.7s, avg = 1.1s, dev = 0.4s
//sai_p4/instantiations/google/test_tools:table_entry_generator_test PASSED in 45.3s
Stats over 50 runs: max = 45.3s, min = 0.8s, avg = 3.8s, dev = 10.5s
Executed 196 out of 196 tests: 196 tests pass.
INFO: Build completed successfully, 250 total actions