-
Notifications
You must be signed in to change notification settings - Fork 9
Description
The following summary is based on a side-by-side comparison of the upstream Stratum code with the IPDK code, made on June 27, 2024.
We will need to review the changes made since then to see what impact they've had to non-TDI source files.
Some of the IPDK edits can be reverted (Buildifier was run on our file but not the upstream version; only change was the addition of an Intel copyright notice).
Some lend themselves readily to individual PRs -- modifying timestamping to work under CMake; adding support for Tofino SDE 9.11.0; implementing the TargetOptions class; adding new support functions; making local functions static to eliminate compiler warnings.
WORKSPACE
- Custom version of P4Runtime
Bazel/defs.bzl
- STRATUM_DISABLED_COMPILER_WARNINGS_GCC
Bazel/deps.bzl
- Newer version of gRPC (1.40.0 -> 1.40.1)
- Older versions of BCM libraries
- Update googletest version [align w/ MEV]
- Update googleapis version [align w/ MEV]
Bazel/workspace_rule.bzl
- Buildifier
Bazel/external/bfsde.BUILD
- Buildifier
- SDE version 9.11.0
Bazel/external/
- Add dpdk.BUILD
- Add es2k.BUILD
- Add tofino.BUILD [for TDI]
Bazel/rules/test_rule.bzl
- Add tags parameter
Cmake build system (throughout)
- Action: do not upstream
Stratum/docs
- refactoring_yang_parse_tree_paths.md
- target_options.md
Stratum/glue/init_google.h [cmake support]
- Support kStampingEnabled
Stratum/glue/logging.cc [cmake support]
- Support kStampingEnabled
Stratum/glue/stamping.cc [cmake support]
- Support BUILD_TIMESTAMP
- Define kSampingEnabled
Stratum/glue/stamping.h [cmake support]
- Declare kStampingEnabled
Stratum/glue/status/status_macros.cc
- Make LogErrorWithSuppression static
Stratum/glue/status/status_macros.h
- Define RETURN_IF_ERROR_WITHOUT_LOGGING()
- Could move to tdi_table_manager.cc (or private header file)
- Action: add Intel copyright
Stratum/hal/bin/barefoot/main.cc
- Make Main static [fix warnings, IIRC]
Stratum/hal/bin/barefoot/README.pipeline.md
- Action: remove Intel copyright/SPDX-License-Identifier
Stratum/hal/bin/dummy/Main.cc
- Make Main static
Stratum/hal/bin/tdi/… (new)
Stratum/hal/config/chassis_config_migrator.cc
- Make several functions static
Stratum/hal/lib/barefoot/bf_chassis_manager_test.cc
- Use NiceMock
Stratum/hal/lib/barefoot/bf_sde_wrapper.cc
- Support 9.11.0
Stratum/hal/lib/barefoot/bf_sde_wrapper.h
- BSR edits
Stratum/hal/lib/barefoot/bfrt_switch.h
- BSR edits
Stratum/hal/lib/barefoot/BUILD
- Support 9.11.0
Stratum/hal/lib/common/common.proto
- Dpdk, es2k, ipsec additions
Stratum/hal/lib/common/config_monitoring_service.cc
- TargetOptions
- Security (!IsRegularFile)
Stratum/hal/lib/common/config_monitoring_service.h
- TargetOptions
Stratum/hal/lib/common/config_monitoring_service_test.cc
- DISABLED_GnmiSetRootReplace
- Action: review this
Stratum/hal/lib/common/gnmi_events.h
- BSR edits
- IPsecNotificationEvent
- GnmiDeleteWithValHandler
- Action: rename to IpsecNotificationEvent
Stratum/hal/lib/common/gnmi_publisher.cc
- Yang_parse_tree_paths
- Ipsec support
Stratum/hal/lib/common/gnmi_publisher.h
- Yang_parse_tree_paths
- IsPathSupportedIPsec
Stratum/hal/lib/common/gnmi_publisher_test.cc
- Disabled ReplaceSupportedPathsTest
- Action: review this
Stratum/hal/lib/common/hal.h
- Action: remove Intel copyright notice
Stratum/hal/lib/common/p4_service.cc
Stratum/hal/lib/common/p4_service.h
- TargetOptions
Stratum/hal/lib/common/p4/utils.h
- BSR
Stratum/hal/lib/common/p4/utils_test.cc
- Static functions
Yang_parse_tree.cc
Yang_parse_tree.h
Etc.
Stratum/hal/lib/p4/p4_info_manager.cc
Stratum/hal/lib/p4/p4_info_manager.h
Stratum/hal/lib/p4/p4_info_manager_mock.h
- Packet_mod_meter
- Direct_packet_mod_meter
- All_resource_ids
- Add comments
- UPDATE (6-Nov-2024): PacketModMeter support was recently moved to an ES2K-specific module.
Stratum/hal/lib/p4/p4_info_manager_test.cc
- Incompatible replacement for TestFindDirectMeter
- No tests for new Find methods
- UPDATE (6-Nov-2024): incompatibilities have been addressed.
Stratum/hal/lib/phal/phal_cli.cc
- Static function
Stratum/hal/lib/phal/phal_sim.h
- Remove unnecessary #includes
Stratum/hal/lib/phal/only/BUILD
- Buildifier
Stratum/hal/lib/phal/onlp/onlp_cli.cc
- Static function
Add stratum/hal/lib/tdi/…
Add stratum/hal/lib/yang/…
Stratum/hal/stub/embedded/main.cc
- Add cases [warning?]
- Static Main
Stratum/lib/utils.cc
- Static functions
- ValidateYangHexString
Stratum/lib/utils.h
- IsRegularFile
- ValidateYangHexString
Stratum/lib/p4runtime/sdn_controller_manager
- IPDK_ROLE_FIX (#ifdef)
- Action: upstream as a fix?
Stratum/lib/security/BUILD
- Buildifier
Stratum/lib/security/credentials_manager.cc
Stratum/lib/security/credentials_manager.h
- Add secure_only mode
- --client_cert_req_type flag
- InitializeServerCredentials / InitializeClientCredentials
Stratum/pipelines/main/BUILD
- Buildifier
- Action: restore
Stratum/portage/build_defs.bzl
- Buildifier
- Action: restore
Stratum/procmon/BUILD
- Buildifier
- Action: restore
Stratum/procmon/procmon_main.cc
- Static function
Stratum/procmon/procmon_test.cc
- Action: remove Intel copyright notice
Stratum/tools/gnmi/gnmi_cli.cc
- --proto_bytes flag
- Help text
Stratum/tools/stratum_replay/stratum_replay.cc
- Static function