Releases: p4lang/p4c
Releases · p4lang/p4c
v1.2.4.8
What's Changed
- [P4Testgen] Implement coverage tracking of actions by @vlstill in #4307
- keep P4Control->body->srcInfo during init move by @grg in #4317
- Allow constructing PassRepeated from a PassManager by @vlstill in #4319
- Respect ENABLE_LTO even for static build, but keep LTO default for static by @vlstill in #4320
- Make sure P4 expression optimization does not strip away types by @vlstill in #4300
- Rename --with-output-packet to --output-packet-only. by @fruffy-g in #4314
- Allow constant-folding of arbitrary-precision integer casts by @vlstill in #4325
- Update status badges by @fruffy-g in #4330
- [P4Testgen] Extend the CompilerTarget runProgram function with data structures which can pass on more information. by @fruffy in #4323
- Fix build with system Protobuf by @jkhsjdhjs in #4321
- Ignore clang-tidy complaints about macro do-while loops. by @fruffy in #4332
- [P4Testgen] Refactor ProgramInfo to be initialized with CompilerResult instead of a IR::P4Program by @fruffy in #4324
- Convert deparser header to 'inout' and address casting for functions with control block parameters by @komaljai in #4338
- Allow unknown fields when parsing P4Info files by @jafingerhut in #4341
- cstring: Add string literal suffix, add toLower by @vlstill in #4342
- Documentation & testfix follow-up to #4160 by @thomascalvert-xlnx in #4328
- Repair the static DPDK PTF tests. by @fruffy in #4210
- DoConstantFolding: make typeMap param const by @grg in #4346
- Emit the Protobuf header with the P4 entries and runtime files. by @fruffy in #4350
- Trigger CI workflows based on assigned label. by @fruffy in #4348
- [P4Testgen] Introduce the option to produce lowercase hex for the formatting library. by @fruffy-g in #4340
- Deprecate .txt, support in favour of .txtpb. by @fruffy in #4352
- [P4Testgen] Introduce a compiler target for P4Testgen. Move computation from the ProgramInfo to the midend. by @fruffy in #4292
- Improve diagnostics for
StructExpression
by @kfcripps in #4357 - Improve diagnostics for
BaseListExpression
by @kfcripps in #4358 - Improve diagnostics for
AssignmentStatement
by @kfcripps in #4360 - Provide hints on how to fix CI complaints. by @fruffy in #4355
- Remove P4C options from gtest binary. by @fruffy in #4334
- Add missing equiv implementation to Type_Any. by @fruffy in #4336
- Fix the option to pipe stdin to the compiler. by @fruffy in #4367
- Fixes for MacOS/macports by @ChrisDodd in #4375
- P4TC - Support const entries by @komaljai in #4329
- Support ebpf Hash and Checksum by @komaljai in #4378
- Use std::allocator_traits::rebind_alloc instead of std::allocator::rebind by @vlstill in #4373
- Remove XDP code generated for TC by @vbnogueira in #4349
- Remove redundant protobuf installation in the CI build scripts. by @fruffy in #4379
- Remove unused parser declarations and unused parser type declarations that result from
RemoveRedundantParsers
pass. by @kfcripps in #4368 - Tweak optional CI run execution. by @fruffy in #4380
- [NFC] Eliminate the majority of
dynamic_cast
usage in the codebase in favor of ICastable interface by @asl in #4382 - Add a P4Info API to the control-plane folder and P4Tools. by @fruffy in #4381
- Automated Release v1.2.4.8 by @github-actions in #4386
Full Changelog: v1.2.4.7...v1.2.4.8
v1.2.4.7
What's Changed
- [P4Testgen] Resolve method call arguments before stepping into an extern - preserve InOut references by @fruffy in #4255
- [P4Testgen] Move static helpers from TestgenTarget and ProgramInfo to common/lib/utils by @vlstill in #4268
- Fix problem with bpftool in PTF tests by @tatry in #4277
- [P4Testgen] Fix accidental system file categorization. by @fruffy in #4278
- Remove deprecated inheritance from std:binary_function by @fruffy in #4283
- [P4Testgen] Move P4Testgen's logging function into the common library. by @fruffy in #4279
- Try to fix some issues with slowness in the MacOS build. by @fruffy in #4280
- P4TC - Support for set_entry_timer extern by @komaljai in #4269
- Do not toggle BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP in CMakelists.txt by @fruffy in #4181
- Add validation of constant enum values fitting by @vlstill in #4287
- [P4Testgen] Fix behavior of coverage on edge cases with no nodes to cover by @vlstill in #4275
- Fix initialization order in gtest helper by @vlstill in #4296
- Remove uses of
incompatible_use_toolchain_transition
. by @katre in #4299 - [P4Testgen] Fix stringliteral conversion. Value must be a literal, NOT a constant by @fruffy in #4298
- Dpdk Backend: Fix incorrect field extraction arithmetic by @usha1830 in #4301
- Remove -static and rename static build appropriately. by @fruffy in #4284
- [P4Testgen] Add support for @Format annotations in P4 programs for protobuf-ir tests by @fruffy-g in #4276
- Support default action in P4TC by @komaljai in #4308
- [P4Testgen] Move arch spec to ProgramInfo to allow it to depend on P4 program by @vlstill in #4267
- Fix type field in introspection.json by @komaljai in #4313
- Fix some problems with the Protobuf CMake file by @fruffy in #4262
- Automated Release v1.2.4.7 by @github-actions in #4312
Full Changelog: v1.2.4.6...v1.2.4.7
v1.2.4.6
What's Changed
- Still parse STF files, even when BMv2 model is not present in system by @fruffy-g in #4222
- [P4Testgen] Ignore flaky test in P4Testgen eBPF back end. by @fruffy in #4224
- Fix some issues found by static analysis by @vlstill in #4213
- #noconstructor should also include the json loader constructor by @fruffy in #4216
- [P4Testgen] Flatten nesting of BMv2 test back ends and rename the folder appropriately. by @fruffy-g in #4219
- [P4Testgen] Move common code of BMv2 test back ends into a common class. by @fruffy-g in #4220
- improved bootstrap.sh by @ChrisDodd in #4227
- Disable DPDK PTF tests. Remove the deprecated travis.yml file. by @fruffy in #4228
- Update gRPC python version in install_fedora_deps.sh by @antoninbas in #4241
- Simplify jsonAssignment in ParserConverter and ActionConverter by @antoninbas in #4232
- Allow method calls in index expressions in hsIndexSimplify by @vlstill in #4240
- Report offending node in the type-checker immutability check by @vlstill in #4238
- [P4Testgen] Add EliminateInvalidHeaders midend pass by @vlstill in #4239
- Fix some problems and suggestions found by clang-tidy by @vlstill in #4237
- Allow overriding of 'usage' method in the Options class by @jhavrane in #4244
- Allow non-const checkedTo cast. by @fruffy in #4243
- [P4Testgen] Ensure accurate typing for functions that work with references. by @fruffy in #4223
- Fixed ebpf_packetOffsetInBits field in parser and control_block C file by @komaljai in #4233
- Added range check of error codes by @dmatousek in #4249
- [P4Testgen] Change crash message by @p-sawicki in #4252
- [P4Testgen] Add --assert-min-coverage option to check coverage of generated test cases by @vlstill in #4251
- [P4Testgen] Fix argument names in GenericDescription trace event by @vlstill in #4257
- [P4Testgen] Generate NoMatch for selects without default by @vlstill in #4250
- [P4Testgen] Rename TF to TestFramework by @fruffy-g in #4247
- [P4Testgen] Add a compiler pass to resolve Type_Name in StructExpressions. by @fruffy in #4215
- [P4Testgen] Flatten the genEq function and support struct expressions. by @fruffy in #4225
- More code improvements based on static analysis by @vlstill in #4258
- Fix clang-tidy config file. by @fruffy in #4253
- P4tc Runtime issue fix by @komaljai in #4263
- [P4Testgen] Add struct and header expressions as a first-class expression to P4Testgen. by @fruffy in #4231
- [P4Testgen] Introduce a new Protobuf backend which uses P4 PDPI instead of P4Runtime by @fruffy-g in #4221
- Remove stale XFail. by @fruffy in #4270
New Contributors
- @p-sawicki made their first contribution in #4252
Full Changelog: v1.2.4.5...v1.2.4.6
v1.2.4.5
What's Changed
- [P4Testgen] Add an option to only generate tests which improve coverage. by @fruffy in #4163
- [P4Testgen] Add more trace information to P4Testgen by @fruffy in #4157
- [P4Testgen] Encode more P4Runtime constraints for the behavioral model by @fruffy in #4103
- Simplify the DPDK PTF build and test scripts. by @fruffy in #4168
- Update the dash-pipeline programs. by @fruffy in #4060
- Show annotations in actions' dbprint by @vlstill in #4183
- Run Gauntlet validation, sanitizers, and Ubuntu 18 build/test as nightly actions. by @fruffy in #4105
- Delete top-level dash-pipeline file. by @fruffy in #4187
- [P4Testgen] Do not treat an array index as a symbolic variable and resolve the index in the stepper. by @fruffy in #4186
- Move the solver file from the lib folder to the ir folder. by @fruffy in #4188
- Added support of info messages by @dmatousek in #4184
- Update the Bazel build files by @fruffy-g in #4190
- Update BUILD.bazel by @smolkaj in #4192
- Stop endianess conversion in parser by @komaljai in #4193
- backends/ebpf: Output error if a header is not byte-aligned (#4176). by @thomascalvert-xlnx in #4185
- [P4Testgen] Support string types in the Z3 solver. by @fruffy in #4195
- [P4Testgen] Only look ahead for the else branch when it is not null. by @fruffy-g in #4191
- [P4Testgen] Fixes for the artifact evaluation. by @fruffy in #4199
- Ensured that error messages cannot be demoted to info messages by @dmatousek in #4197
- [P4Testgen] Change Protobuf backend test case file extension to
.txtpb
by @qobilidop in #4201 - [P4Testgen] Match switch labels directly using string literal expressions by @fruffy in #4161
- ParserUnroll: fix seg. fault for uninitialized variables inside header stack indexes by @VolodymyrPeschanenkoLitSoft in #4200
- [P4Testgen] Add a DPDK-PTF P4Testgen back end and the corresponding test runner by @Hoooao in #4173
- [P4Testgen] Fix another segmentation fault when using the coverable nodes scanner. by @fruffy in #4203
- generic -O option to set optimization level/options by @ChrisDodd in #4206
- Fix P4TC issues by @komaljai in #4209
- [P4Testgen] Fix textproto generation and escape traces properly. by @fruffy in #4207
- [P4Testgen] Add a testgen.p4 file with custom extern definitions by @fruffy in #4214
- [P4Testgen] Clean up small issues with test back ends and plotting scripts. by @fruffy in #4205
New Contributors
- @dmatousek made their first contribution in #4184
Full Changelog: v1.2.4.4...v1.2.4.5
v1.2.4.4
What's Changed
- ci/release: enable push by @rst0git in #4128
- Resolve P4tc ebpf c issues by @komaljai in #4115
- Fix incorrect installation link in P4Testgen README by @fruffy in #4131
- Perform type inference after constant-folding a code fragment by @mihaibudiu in #4135
- Fix invalid string format specifier by @jhavrane in #4145
- Add error message for slice with negative indexes by @jhavrane in #4137
- Separate Parser and Post-parser code C code by @komaljai in #4138
- Sane handling of P4C_DEFAULT_X envvars in p4c by @ChrisDodd in #4130
- Dpdk backend: Fix incorrect learn action in case of learner table invoked from nested controls by @usha1830 in #4152
- Allow lookahead of structs with size of 0 by @mihaibudiu in #4149
- eBPF backend: generate P4Runtime files if required by @tatry in #4113
- [P4Testgen] Do not use Equ for mandating a minimum size. by @fruffy in #4154
- Add error message for non-package main declaration by @jhavrane in #4141
- Dpdk Backend: Fix whole header move instructions for DPDK by @usha1830 in #4153
- [P4Testgen] Move P4Testgen solver class to lib folder by @fruffy in #4091
- Hashvec-based maps to save memory by @ChrisDodd in #4150
- [P4Testgen] Minor improvements and fixes for P4Testgen. by @fruffy in #4162
- Increase the timeout of the switch.p4 p4_14 program by @fruffy in #4164
- Do not allow 'void' for lookahead type by @mihaibudiu in #4148
- backends/ebpf: Fix #4098 by renaming conflicting write_partial macro. by @thomascalvert-xlnx in #4134
- Do not panic when user specifies impossible types for declarations by @mihaibudiu in #4169
- [P4Testgen] Remove untested/unreliable P4Testgen features. by @fruffy in #4165
- Dpdk backend: Remove illegal instruction generation, reject operations on >64bit operands by @usha1830 in #4171
- backends/ebpf: Add support for XDP model. by @thomascalvert-xlnx in #4160
- Build the libbpf library during the cmake configuration process by @fruffy in #4166
- [P4Testgen] Change PNA port width to 32 instead of 9 by @fruffy in #4177
- Get host architecture dynamically while downloading
protoc
binary by @Skazza94 in #4179
New Contributors
- @jhavrane made their first contribution in #4145
- @thomascalvert-xlnx made their first contribution in #4134
- @Skazza94 made their first contribution in #4179
Full Changelog: v1.2.4.3...v1.2.4.4
v1.2.4.3
What's Changed
- Update GoogleTest and install it via FetchContent by @fruffy in #4092
- [P4Testgen] Add target-specifc P4Testgen gtests by @fruffy-bfn in #4093
- Dpdk Backend :Fix header stack assignment in p4c-dpdk by @usha1830 in #4100
- Migrate STF scripts to the STF parser library. Modernize stale run-bmv2-test.py code. by @fruffy in #4040
- Add a PTF test CI pipeline for p4c-dpdk on the DPDK SoftNIC by @Hoooao in #4072
- Pull in libbpf only when the eBPF back end is active. Pull libbpf using FetchContent instead of a custom script. by @fruffy in #3970
- Use libbacktrace for stack dumps if available by @ChrisDodd in #4088
- [P4Testgen] Allow building p4testgen without BMV2 target by @vlstill in #4109
- Minor tweaks by @ChrisDodd in #4106
- Continuing the implementation of initial entries support in p4c by @jafingerhut in #4080
- [P4Testgen] Add documentation to P4Testgen by @fruffy in #4097
- Added hooks in p4RuntimeArch and p4RuntimeSerializer by @ChrisDodd in #4112
- Use namespace for dpdk PTF tests by @Hoooao in #4111
- Add a comment on a not strictly necessary grammar rule by @jafingerhut in #3016
- Fix MAC Address endianness issue by @komaljai in #4089
- Fix linking with Protobuf 23 by @jkhsjdhjs in #4104
- Migrate Automatic Exec Groups by adding a toolchain parameter to the affected actions by @kotlaja in #4116
- Remove P4Testgen codeowners file by @fruffy in #4119
- ci/release: create tagged container images by @rst0git in #4125
- Automated Release v1.2.4.3 by @github-actions in #4124
New Contributors
Full Changelog: v1.2.4.2...v1.2.4.3
v1.2.4.2
Automated Release v1.2.4.2 (#4090) * Release v1.2.4.2 Changelog: - Update P4Runtime and use FetchContent instead of a submodule. (4082) [Fabian Ruffy] - Fix missing header for intmax_t typedef (4084) [Felipe Magno de Almeida] - Install Protobuf using FetchContent. (4056) [Fabian Ruffy] - Add test program that uses 'priority' as identifier of a few kinds (4079) [Andy Fingerhut] - Allow building testgen without P4TEST enabled (4078) [Vladimír Štill] - Add an option to the DPDK P4C back end to generate TDI builder configurations. (4068) [fruffy-bfn] - Try to fix Opensuse certificate errors. (4075) [fruffy-bfn] - Update the plotting script. (4061) [fruffy-bfn] - Fix an infinite loop in the coverable nodes scanner. (4073) [Fabian Ruffy] - Fix 4067: Add static casts required by newer versions of G++ (4074) [Andy Fingerhut] - Fix MacOS installation typo. (4071) [Fabian Ruffy] * Update version. --------- Co-authored-by: rst0git <rst0git@users.noreply.github.com> Co-authored-by: fruffy <fruffy@nyu.edu>
v1.2.4.1
Release v1.2.4.1 (#4052) Changelog: - Add Bazel build rules for P4TestGen (4050) [Ali Kheradmand] - Include annotations for new_type messages. (4047) [Robert J. Halstead] - [P4Testgen] BMv2 test generation improvements (4046) [Fabian Ruffy] - Change Dockerfile to build p4tools by default. (4049) [Chris Sommers] - Wrap the TC defines in a namespace, use constexpr. (4048) [Fabian Ruffy] - Fixed tc table type (4045) [Sosutha] - Cleaner dbprint of if-else if chains (4044) [Chris Dodd] - Fix race condition for parallel PTF nanomsg tests by using network namespaces. (4042) [Fabian Ruffy] - [P4Testgen] Control the Z3 dependency in CMake using fetchcontent, generalize FindZ3.cmake (4034) [fruffy-bfn] - Remove old ipaddr python module (4037) [Andy Fingerhut] - Use a version of simple switch that uses nanomsg instead of virtual interfaces for PTF tests. (3951) [Fabian Ruffy] - Fix incorrect boolean cast in the Z3 solver implementation. (4039) [Fabian Ruffy] - [P4Testgen] Miscellaneous fixes for P4testgen (4036) [Fabian Ruffy] - Remove execution state from the symbolic executor, make it a parameter. Simplify SelectedBranches. (4031) [fruffy-bfn] - Reduce overtainting by short-circuiting some expressions and extern invocations. (4030) [fruffy-bfn] - Hotfix for failing MacOS tests. Pin boost. (4027) [Fabian Ruffy] - Dpdk Backend: Fixed target_name and action parameter bitwidth (4025) [Usha Gupta] - Remove the array indices conversions and handle indices in the interpreter. (4024) [fruffy-bfn] - [P4Testgen] Simplify the model (4021) [Fabian Ruffy] - p4c-pna-p4tc : new TC backend for p4c (4018) [Sosutha] - [P4Testgen] Remove complete from the model, make it part of the evaluation step instead. (4015) [fruffy-bfn] - Implement support for non-const table entries (3748) [Mihai Budiu] - Also suppress no-gnu-zero-variadic-macro-arguments warnings for MacOs. (4023) [Fabian Ruffy] Co-authored-by: rst0git <rst0git@users.noreply.github.com>
v1.2.4.0
Release v1.2.4 Changelog: - [P4Testgen] Open up P4Testgen interface. (4014) [fruffy-bfn] - [P4Testgen] Create abstract execution state with utility functions - move copy-in/out to control/parser blocks. (4011) [Fabian Ruffy] - cmake: Fix include search for Z3 in testgen library (4012) [Vladimír Štill] - [P4Testgen] Move some table code into helper functions, move gen_eq to "common" folder (4010) [Fabian Ruffy] - Properly track indices when removing parser value sets from the select cases (4008) [fruffy-bfn] - Open up ResolutionContext interface a bit (4009) [Chris Dodd] - Add a simple PSA test program and STF test to verify parser_error ope… (2571) [Andy Fingerhut] - lib/crash.cpp: : calls in initializations fixed. (3298) [DoctorNoobingstoneIPresume] - [P4Testgen] More P4Tools refactoring work. (4005) [Fabian Ruffy] - [P4Testgen] Fix small issues with metadata test backend. Add more functions to IR utilities. Merge default value function. (4004) [fruffy-bfn] - [P4Testgen] Also include table entries in the coverage set. (3999) [Fabian Ruffy] - Allowing local_copyprop to propagate MethodCallExpression into table … (4003) [Han Wang] - [P4Testgen] Fix include paths (3997) [Fabian Ruffy] - [P4Testgen] More StateVariable refactoring. Allow PathExpression to be state variables. (3990) [Fabian Ruffy] - Make P4_16 the default parser option. (4002) [Fabian Ruffy] - misc helper functions (3995) [Chris Dodd] - NVFMSA-2399 Fix initialization-order-fiasco of P4CoreLibrary instance (3994) [Chris Dodd] - [P4Testgen] Implement meter support for the BMv2 V1model PTF test back end (3974) [Fabian Ruffy]
v1.2.3.9
What's Changed
- DPDK Backend: Minor fixes w.r.t bfrt and context json output and name shortening by @usha1830 in #3958
- Remove boost variant from P4Tools by @fruffy in #3960
- Remove the inja submodule and replace it with a CMake fetchcontent by @fruffy in #3959
- Remove gsl-lite module from P4Tools. Introduce std::referencewrapper. by @fruffy in #3961
- Clean up the trace event class of P4Tools. by @fruffy in #3950
- DPDK Backend: Change array index[] in table keys in context.json to $ to match with the key name in bfrt.json by @usha1830 in #3963
- P4Testgen: Resolve types in the prepend/append internal extern. by @fruffy-bfn in #3964
- ebpf/PSA: Fix weekly PTF tests by @tatry in #3969
- initialize json pointer (coverity fix) by @grg in #3972
- ir generator fixes + cleanup by @ChrisDodd in #3975
- Always insert instantiation statement at the end of the local statement list by @qobilidop in #3962
- Implement support for default initializers (...) by @mbudiu-vmw in #3968
- Add style and formating files for Python. Format Python code. by @fruffy in #3870
- Bump Bazel dependency versions to enable using latest Bazel by @qobilidop in #3979
- Cleanup some P4Testgen code. by @fruffy in #3978
- Make StateVariable an IR class that accepts IR::Member. Use ICastable for some nodes. by @fruffy in #3741
- Set up P4C for IWYU by @fruffy in #3981
- Also include the backend IR files in the ir-generated library file. by @fruffy in #3985
- FreeBSD patches by @outpaddling in #3991
- Add some more type information to the strength reduction pass. by @fruffy in #3993
- Run linters across test folder. by @fruffy in #3982
- Split state variables and symbolic variables. Stricter type checking. by @fruffy in #3987
- [P4Testgen] Clean up the implementation of the BMv2 clone externs. by @fruffy in #3976
New Contributors
- @outpaddling made their first contribution in #3991
Full Changelog: v1.2.3.8...v1.2.3.9