Releases: ipdk-io/stratum-dev
Releases · ipdk-io/stratum-dev
IPDK Stratum v3.3.0.0
Breaking Changes
- Updated to
stratum-deps
v1.3.4. This breaks the cmake configuration stage for older versions of P4 Control Plane.
Highlights
- Revised
GetAllEntries()
to work correctly for tables that support hardware add-on-miss. Removed the--[no]optimize_full_table_reads
and--full_table_read_burst_size
command-line flags, which were part of an attempted workaround for this problem. - Refactored
P4InfoManager
, moving support for the ES2K-specific PacketMod meters to a separate class. (issue #274) - Refactored
TdiTableManager
, moving support for the ES2K-specific PacketMod meters to a separate class. (issue #290) - Updated the default key width from 2048 to 4096 bits when generating certificates.
- Made a number of improvements to the unit test suite.
- Pinned GitHub workflow to Ubuntu 22.04.
Revision History
- Bump tj-actions/changed-files from 44 to 45 by @dependabot in #252
- Eliminate comparisons to
::util::OkStatus()
by @ffoulkes in #254 - Add security policy by @ffoulkes in #255
- Fix some compiler warnings by @ffoulkes in #256
- Add unit test lists for es2k and tofino targets by @ffoulkes in #257
- Fix apparent bug in GetAllEntriesInBursts() by @ffoulkes in #259
- Overhaul GetAllEntries() by @ffoulkes in #260
- Update Bazel version from 4.2.3 to 4.2.4 by @ffoulkes in #258
- Handle NOT_FOUND errors in ReadForwardingEntries by @ffoulkes in #253
- Disable failing test cases in tdi_table_manager_test by @ffoulkes in #264
- Implement GetMeterUnitsInPackets() by @ffoulkes in #261
- Overhaul SetPktModMeterConfig() by @ffoulkes in #262
- Implement SetMeterEntry() and SetDirectMeterEntry() by @ffoulkes in #263
- Add missing compile-time dependency by @ffoulkes in #265
- Improve es2k unit testing by @ffoulkes in #266
- Define IPDK_ROLE_FIX in ES2K Bazel build by @ffoulkes in #267
- Reenable P4InfoManager test cases by @ffoulkes in #271
- Define dpdk and es2k bazel configs by @ffoulkes in #268
- Extract P4ResourceMap class from P4InfoManager by @ffoulkes in #270
- Add coverage directory to .gitignore by @ffoulkes in #277
- Standard Bazel test scripts by @ffoulkes in #278
- Replace TdiPktModMeterConfig helper functions with methods by @ffoulkes in #275
- Extract GetMeterUnitsInPackets function by @ffoulkes in #280
- Restore execute permissions to test scripts by @ffoulkes in #282
- Fix timeout in p4_service_test by @ffoulkes in #291
- Update default key bits in conf file for cert generation by @5abeel in #293
- Introduce P4ExternManager (1/4) by @ffoulkes in #283
- Introduce TdiExternManager and Es2kExternManager (2/4) by @ffoulkes in #284
- Introduce TargetFactory classes (3/4) by @ffoulkes in #285
- Introduce Es2kExternManager unit test (4/4) by @ffoulkes in #286
- Integrate TdiExternManager changes by @ffoulkes in #294
- Rename methods for conformity by @ffoulkes in #299
- Script to run tofino unit tests by @ffoulkes in #297
- Add UML diagram for tdi_table_manager updates by @ffoulkes in #300
- Rename es2k_port_manager_dummy by @ffoulkes in #302
- Rename dpdk_port_manager_dummy by @ffoulkes in #303
- Define TableAnnex classes (1/2) by @ffoulkes in #298
- Update port_manager_mock comments by @ffoulkes in #305
- Add mocks for two new classes by @ffoulkes in #308
- Move HAL flag definitions to common file by @ffoulkes in #310
- Define TargetFactory mocks by @ffoulkes in #311
- Implement DumpIDsToResourceTypes() by @ffoulkes in #312
- Add links to GitHub issues by @ffoulkes in #313
- Fix bug found by WriteIndirectMeterEntryTest test case by @ffoulkes in #316
- Fix coding error in ReadMeterEntry() by @ffoulkes in #318
- Fix RejectMeterEntryInsertDelete test failure by @ffoulkes in #319
- Implement GetP4InfoManager() method by @ffoulkes in #317
- Implement TableAnnex classes (2/2) by @ffoulkes in #307
- Pin workflow scripts to Ubuntu 22.04 by @ffoulkes in #321
- Update to stratum-deps v1.3.4 by @ffoulkes in #322
Full Changelog: v3.2.0.0...v3.3.0.0
IPDK Stratum v3.2.0.0
What's Changed
The --nooptimize_full_table_reads
command-line flag enables an alternative implementation of GetAllEntries()
that reads a table in bursts of N entries instead of obtaining the entry count from P4SDE and reading that number of entries. This allows an application to dump all the entries of a table that has add-on-miss enabled.
The default burst size is 20 entries. This may be changed by specifying the --full_table_read_burst_size=BURST_SIZE
command-line flag.
Revision History
- Rename libgrpc_proto to libgoogle_rpc_proto by @ffoulkes in #250
- Alternative implementation of GetAllEntries() by @ffoulkes in #251
Full Changelog: v3.1.0.0...v3.2.0.0
IPDK Stratum v3.1.0.0 (baseline)
Baseline for canonical releases.
Revision History
- Reengineer Stratum changes for Split Architecture by @ffoulkes in #2
- Fix error in Bazel build by @ffoulkes in #4
- Split TDI main module by @ffoulkes in #5
- Remove tofino specific init options by @ravi861 in #6
- Remove DPDK specific code from common p4_service by @ravi861 in #7
- Revert previous change and use DPKD_TARGET instead of P4OVS_CHANGES by @ravi861 in #8
- Dpdk support by @ffoulkes in #9
- Implement Tofino-specific TDI target by @ffoulkes in #11
- Define Bazel external repository for DPDK SDE by @ffoulkes in #12
- Tdi sde wrapper by @ffoulkes in #14
- Dpdk feature rollup by @ffoulkes in #19
- Normalize DPDK port parameter names by @ffoulkes in #20
- Modify unimplemented methods in DPDK SDE to return an error by @ffoulkes in #22
- Rename target-specific SdeWrapper source files by @ffoulkes in #25
- Tofino switch changes by @ravi861 in #24
- Edit YANG refactoring document by @ffoulkes in #26
- Refactor dpdk chassis manager by @ffoulkes in #21
- Fix errors in tofino_switch_test by @ffoulkes in #27
- Remove support for unused port attributes by @ffoulkes in #23
- Fix port creation for DPDK by @nupuruttarwar in #30
- Define a TdiPortManager by @ravi861 in #31
- Fix API change for port oper status by @ravi861 in #32
- Fix the issue observed during control port creation by @nupuruttarwar in #33
- Port tdi_table_manager change from P4-OVS by @ffoulkes in #34
- Fix pervasive memory leak by @ffoulkes in #38
- Initialize tdi_sde_wrapper member variable by @ffoulkes in #37
- Explicitly check for duplicate entry status when inserting entry by @nupuruttarwar in #39
- Start krnlmon thread once P4runtime server is started by @nupuruttarwar in #40
- Fix GetAllEntries by @ravi861 in #41
- Fix lpm key read bug by @ravi861 in #43
- Return the exact status code for P4Runtime request by @nupuruttarwar in #46
- Enable running infrap4d as background process by @nupuruttarwar in #45
- Rename tdi_info_ params to conform to naming practices by @ffoulkes in #36
- Support for direct meter configuration by @ravi861 in #42
- Check status after setting the parameters to provide error checking by @nupuruttarwar in #47
- Remove direct integration of krnlmon from stratum by @nupuruttarwar in #49
- port flow dump changes for split arch - dpdk by @Koushik-kopanati in #50
- Fix gnmi-ctl tdi-portin-id configured retrieval issue by @vsureshkumarp in #55
- Fix issue with reset counters. by @n-sandeep in #58
- Fix clone session programming by @ravi861 in #59
- Tls mode by @5abeel in #57
- Remove tls option causing compilation issues by @5abeel in #60
- flow dump implementation with usageGET by @Koushik-kopanati in #61
- adding tdi not supporting flag by @Koushik-kopanati in #64
- Check for symbolic links before accessing files from filesystem by @5abeel in #63
- Update CredentialsManager for client certification verification by @5abeel in #65
- Initialize PortConfigParams & HotplugConfigParams structs in DpdkPortConfig by @5abeel in #66
- Address Klocwork issues in dpdk_hal.cc by @ffoulkes in #67
- Address Klocwork issues in stratum constructors by @ffoulkes in #68
- Address Klocwork issues in DpdkHal::InitializeServer by @ffoulkes in #69
- Generalize krnlmon synchronization logic in DpdkHal by @ffoulkes in #70
- Fix es2k_node breakage by @ffoulkes in #75
- Backport ES2K changes to ipdk-io by @ffoulkes in #74
- Update configuration file with config queue parameter by @nupuruttarwar in #78
- Remove MVLUT-specific changes from Stratum by @n-sandeep in #79
- Always start infrap4d with fresh forwarding pipeline config by @nupuruttarwar in #80
- Update conf file with parameters to specify json files by @nupuruttarwar in #81
- Stratum cmake support by @ffoulkes in #77
- Update gRPC to v1.54.2 by @ffoulkes in #83
- Localize no-deprecated-declarations flag by @ffoulkes in #84
- Remove test cases not relevant for DPDK and ES2K targets by @nupuruttarwar in #85
- Sanitize IPsec key after setting config by @ffoulkes in #86
- Install TLS utility files by @ffoulkes in #91
- Address coverity hits by @nupuruttarwar in #93
- Fix failing test cases in dpdk_hal_test by @ffoulkes in #89
- Fix failing test cases in es2k_hal_test by @ffoulkes in #90
- Make InitNotificationTableWithCallback standard by @ffoulkes in #92
- Address warnings in tdi_table_manager by @ffoulkes in #94
- Update CODEOWNERS by @ffoulkes in #88
- Reformat tdi/tofino files with clang-format by @ffoulkes in #99
- Reformat tdi/dpdk files with clang-format by @ffoulkes in #100
- Reformat tdi/es2k files with clang-format by @ffoulkes in #101
- Reformat tdi/sde files with clang-format by @ffoulkes in #102
- Format tdi/common files with clang-format by @ffoulkes in #103
- Format lib/yang files with clang-format by @ffoulkes in #104
- Reformat lib/common files with clang-format by @ffoulkes in #105
- Replace RETURN_ERROR() with return MAKE_ERROR() by @ffoulkes in #106
- [sync] Rename
unit
todevice
in TDI code by @ffoulkes in #107 - [sync] Canonicalize Bazel BUILD files by @ffoulkes in #108
- Fix bad edits in tofino_chassis_manager_test by @ffoulkes in #110
- Update grpc version in Bazel build to v1.41.0 by @ffoulkes in #109
- Remove CMAKE_POSITION_INDEPENDENT_CODE by @ffoulkes in #98
- Fix Stratum unit tests by @ffoulkes in #117
- Edit yang_parse_tree_paths refactoring document by @ffoulkes in #118
- Update RET_CHECK definition by @ffoulkes in #111
- Implement TargetOptions class by @ffoulkes in #76
- [sync] Implement RET_CHECK() for TDI Tofino by @ffoulkes in #115
- [sync] Implement RET_CHECK() for TDI DPDK by @ffoulkes in #113
- [sync] Implement RET_CHECK() for TDI ES2K by @ffoulkes in #114
- [sync] Convert to RET_CHECK() in TDI common directories by @ffoulkes in #112
- [sync] Convert to RET_CHECK() in various folders by @ffoulkes in #116
- [sync] Implement RET_CHECK() in common and p4 by @ffoulkes in #119
- Apply upstream changes to outlying files by @FFoul...