[Comb] Add basic support for recirculate action. #974
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: Build options --copt, --cxxopt, --host_copt, and 1 more have changed, discarding analysis cache.
INFO: Analyzed 689 targets (0 packages loaded, 22835 targets configured).
INFO: Found 689 targets...
INFO: From Compiling src/google/protobuf/generated_message_tctable_lite.cc:
In file included from bazel-out/k8-opt-exec-2B5CBBC6/bin/external/com_google_protobuf/src/google/protobuf/_virtual_includes/protobuf_lite/google/protobuf/generated_message_tctable_decl.h:45,
from external/com_google_protobuf/src/google/protobuf/generated_message_tctable_lite.cc:37:
bazel-out/k8-opt-exec-2B5CBBC6/bin/external/com_google_protobuf/src/google/protobuf/_virtual_includes/protobuf_lite/google/protobuf/parse_context.h:1150:1: warning: 'always_inline' function might not be inlinable [-Wattributes]
1150 | ParseContext::ParseLengthDelimitedInlined(const char* ptr, const Func& func) {
| ^~~~~~~~~~~~
external/com_google_protobuf/src/google/protobuf/generated_message_tctable_lite.cc:871:36: warning: 'always_inline' function might not be inlinable [-Wattributes]
871 | PROTOBUF_ALWAYS_INLINE const char* TcParser::FastVarintS1(
| ^~~~~~~~
external/com_google_protobuf/src/google/protobuf/generated_message_tctable_lite.cc:871:36: warning: 'always_inline' function might not be inlinable [-Wattributes]
INFO: From Compiling src/google/protobuf/compiler/retention.cc:
external/com_google_protobuf/src/google/protobuf/compiler/retention.cc: In function 'void google::protobuf::compiler::{anonymous}::StripSourceCodeInfo(std::vector<std::vector >&, google::protobuf::SourceCodeInfo&)':
external/com_google_protobuf/src/google/protobuf/compiler/retention.cc:216:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vectorgoogle::protobuf::SourceCodeInfo_Location*::size_type' {aka 'long unsigned int'} [-Wsign-compare]
216 | for (int i = 0; i < old_locations.size(); ++i) {
| ~~^~~~~~~~~~~~~~~~~~~~~~
INFO: From Compiling src/google/protobuf/compiler/retention.cc [for host]:
external/com_google_protobuf/src/google/protobuf/compiler/retention.cc: In function 'void google::protobuf::compiler::{anonymous}::StripSourceCodeInfo(std::vector<std::vector >&, google::protobuf::SourceCodeInfo&)':
external/com_google_protobuf/src/google/protobuf/compiler/retention.cc:216:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vectorgoogle::protobuf::SourceCodeInfo_Location*::size_type' {aka 'long unsigned int'} [-Wsign-compare]
216 | for (int i = 0; i < old_locations.size(); ++i) {
| ~~^~~~~~~~~~~~~~~~~~~~~~
INFO: From Compiling src/google/protobuf/generated_message_tctable_lite.cc [for host]:
In file included from bazel-out/host/bin/external/com_google_protobuf/src/google/protobuf/_virtual_includes/protobuf_lite/google/protobuf/generated_message_tctable_decl.h:45,
from external/com_google_protobuf/src/google/protobuf/generated_message_tctable_lite.cc:37:
bazel-out/host/bin/external/com_google_protobuf/src/google/protobuf/_virtual_includes/protobuf_lite/google/protobuf/parse_context.h:1150:1: warning: 'always_inline' function might not be inlinable [-Wattributes]
1150 | ParseContext::ParseLengthDelimitedInlined(const char* ptr, const Func& func) {
| ^~~~~~~~~~~~
INFO: From Compiling src/core/lib/channel/connected_channel.cc:
In file included from external/com_github_grpc_grpc/src/core/lib/channel/connected_channel.cc:64:
external/com_github_grpc_grpc/src/core/lib/promise/loop.h:124:31: warning: attribute ignored in declaration of 'union grpc_core::promise_detail::Loop::' [-Wattributes]
124 | GPR_NO_UNIQUE_ADDRESS union {
| ^
external/com_github_grpc_grpc/src/core/lib/promise/loop.h:124:31: note: attribute for 'union grpc_core::promise_detail::Loop::' must follow the 'union' keyword
external/com_github_grpc_grpc/src/core/lib/channel/connected_channel.cc: In lambda function:
external/com_github_grpc_grpc/src/core/lib/channel/connected_channel.cc:551:21: warning: unused variable 'r' [-Wunused-variable]
551 | if (auto* r = p.value_if_ready()) {
| ^
INFO: From Compiling src/core/lib/channel/server_call_tracer_filter.cc:
In file included from external/com_github_grpc_grpc/src/core/lib/channel/server_call_tracer_filter.cc:26:
external/com_github_grpc_grpc/src/core/lib/channel/call_tracer.h:45:1: warning: multi-line comment [-Wcomment]
45 | // /
| ^
external/com_github_grpc_grpc/src/core/lib/channel/call_tracer.h:47:1: warning: multi-line comment [-Wcomment]
47 | // /
| ^
INFO: From Compiling src/core/lib/iomgr/grpc_if_nametoindex_posix.cc:
external/com_github_grpc_grpc/src/core/lib/iomgr/grpc_if_nametoindex_posix.cc:42:9: warning: multi-line comment [-Wcomment]
42 | #endif // GRPC_IF_NAMETOINDEX == 1 &&
| ^
INFO: From Compiling src/google/protobuf/generated_message_tctable_lite.cc:
In file included from bazel-out/k8-fastbuild/bin/external/com_google_protobuf/src/google/protobuf/_virtual_includes/protobuf_lite/google/protobuf/generated_message_tctable_decl.h:45,
from external/com_google_protobuf/src/google/protobuf/generated_message_tctable_lite.cc:37:
bazel-out/k8-fastbuild/bin/external/com_google_protobuf/src/google/protobuf/_virtual_includes/protobuf_lite/google/protobuf/parse_context.h:1150:1: warning: 'always_inline' function might not be inlinable [-Wattributes]
1150 | ParseContext::ParseLengthDelimitedInlined(const char* ptr, const Func& func) {
| ^~~~~~~~~~~~
external/com_google_protobuf/src/google/protobuf/generated_message_tctable_lite.cc:871:36: warning: 'always_inline' function might not be inlinable [-Wattributes]
871 | PROTOBUF_ALWAYS_INLINE const char* TcParser::FastVarintS1(
| ^~~~~~~~
external/com_google_protobuf/src/google/protobuf/generated_message_tctable_lite.cc:871:36: warning: 'always_inline' function might not be inlinable [-Wattributes]
INFO: From Compiling p4_pdpi/p4info_union_lib.cc:
p4_pdpi/p4info_union_lib.cc:66:10: warning: 'uint32_t pdpi::{anonymous}::GetId(const Param&)' defined but not used [-Wunused-function]
66 | uint32_t GetId(const p4::config::v1::Action::Param& field) {
| ^~~~~
p4_pdpi/p4info_union_lib.cc:62:10: warning: 'uint32_t pdpi::{anonymous}::GetId(const Metadata&)' defined but not used [-Wunused-function]
62 | uint32_t GetId(
| ^~~~~
INFO: Elapsed time: 441.502s, Critical Path: 64.55s
INFO: 2436 processes: 3 internal, 2433 linux-sandbox.
INFO: Build completed successfully, 2436 total actions
Test Result:
/sonic/src/sonic-p4rt/sonic-pins$ bazel test $BAZEL_BUILD_OPTS --cache_test_results=no ...
INFO: Analyzed 689 targets (0 packages loaded, 374 targets configured).
INFO: Found 471 targets and 218 test targets...
INFO: From Compiling p4_symbolic/sai/sai_test.cc:
In file included from ./p4_symbolic/z3_util.h:26,
from ./p4_symbolic/symbolic/symbolic.h:36,
from ./p4_symbolic/sai/sai.h:25,
from p4_symbolic/sai/sai_test.cc:14:
./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++) {
| ~~^~~~~~~~~~~~~~
//p4rt_app/tests:resource_limits_test PASSED in 3.3s
//p4rt_app/tests:response_path_test PASSED in 6.0s
//p4rt_app/tests:role_test PASSED in 1.5s
//p4rt_app/tests:state_verification_test PASSED in 3.0s
//p4rt_app/tests:vrf_table_test PASSED in 2.6s
//p4rt_app/tests/lib:app_db_entry_builder_test PASSED in 0.0s
//p4rt_app/utils:event_data_tracker_test PASSED in 0.1s
//p4rt_app/utils:table_utility_test PASSED in 0.7s
//sai_p4/instantiations/google:clos_stage_test PASSED in 0.6s
//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.7s
//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.0s
//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.6s
//sai_p4/tools:packetio_tools_test PASSED in 0.7s
//tests:thinkit_gnmi_interface_util_tests PASSED in 1.1s
//tests/lib:p4info_helper_test PASSED in 0.8s
//tests/lib:p4rt_fixed_table_programming_helper_test PASSED in 0.7s
//tests/lib:packet_generator_test PASSED in 26.8s
//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.8s
//thinkit:bazel_test_environment_test PASSED in 2.6s
//thinkit:generic_testbed_test PASSED in 0.9s
//thinkit:mock_control_device_test PASSED in 0.6s
//thinkit:mock_generic_testbed_test PASSED in 0.7s
//thinkit:mock_mirror_testbed_test PASSED in 0.6s
//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.7s, dev = 0.1s
//sai_p4/instantiations/google/test_tools:table_entry_generator_test PASSED in 44.3s
Stats over 50 runs: max = 44.3s, min = 0.8s, avg = 2.8s, dev = 8.5s
Executed 218 out of 218 tests: 218 tests pass.
INFO: Build completed successfully, 275 total actions