Releases: p4lang/p4c
Releases · p4lang/p4c
v1.2.3.8
What's Changed
- Rework testutils.py by @fruffy in #3899
- CMake build tweaks by @fruffy in #3907
- Do not allow arguments with type table, control, etc by @mbudiu-vmw in #3901
- Resolve parser states at once instead of resolving them iteratively. by @fruffy-bfn in #3875
- Add an explanation for unity builds. Add a deprecation warning. by @fruffy in #3914
- Fix mask calculation for concat operator in bmv2/dpdk expression lowering by @usha1830 in #3911
- ebpf/PSA: Add support for wide fields in parser value_set by @tatry in #3912
- Dpdk Backend: Add support for assignments to and from large (>64-bit) operand by @usha1830 in #3910
- Remove @vhavel from the list of P4Testgen code owners. by @fruffy in #3919
- Add the DASH BMv2 model to the tested programs. by @fruffy in #3885
- Add an explicit optional match key type. by @fruffy in #3920
- Refactor P4Testgen strategies - Part 1. Add a new strategy - greedy search. by @fruffy-bfn in #3878
- Third party libraries are now included as SYSTEM by @MichalKekely in #3924
- P4Testgen: Try out a simpler advance expression calculation by @fruffy in #3926
- Use Ubuntu 22.04 for Testgen PTF tests. by @fruffy in #3923
- Rename some exploration strategies - Simplify DFS and random selection by @fruffy in #3918
- testgen: Add missing include by @vlstill in #3931
- p4tool: Fix build with Z3 installed in non-standard path by @vlstill in #3932
- Direct cast is possible between equivalent types by @MichalKekely in #3935
- Dpdk Backend: Strip pipename prefix added to table and extern names for bfrt.json while generating context json by @usha1830 in #3936
- Remove predication pass from p4test by @mbudiu-vmw in #3916
- Add a metadata collection mode to the STF back end. by @fruffy-bfn in #3933
- Update reference files for the dash program. by @fruffy in #3943
- Support for invalid union expressions by @mbudiu-vmw in #3843
- Remove boost::filesystem from P4Testgen. by @fruffy in #3944
- Replace boost::optional with std::optional. by @fruffy in #3942
- Clean up the commit hook installation script. by @fruffy in #3947
- Update cpplint.py to the latest version by @fruffy in #3941
- Introduce stack initializers by @mbudiu-vmw in #3803
- Implement a PNA-DPDK extension with a metadata test back end for P4Testgen by @fruffy-bfn in #3937
- Better logging for lists/sets of things that take multiple lines by @ChrisDodd in #3949
- Run IWYU across tools again to clean up some includes. by @fruffy in #3940
- Eliminate typedefs when resolving constructor type declaration by @qobilidop in #3953
- Make cpplint use python3 explicitely. by @fruffy in #3956
- Add documentation on adding test data by @qobilidop in #3954
Full Changelog: v1.2.3.7...v1.2.3.8
v1.2.3.7
Release v1.2.3.7 (#3909) Changelog: - ebpf/PSA: Support for wide fields in Digest (3877) [Jan Palimąka] - Fix varbit handling (3761) [Vojtěch Havel] - SplitFlowVisitor improvements [Chris Dodd] - Deprecate unified build in favor of unity build. (3491) [Fabian Ruffy] - Collect and flatten local struct decls (3903) [Kamlesh Kumar] - Fix warnings in compilation using clang 15 (3904) [Vladimír Štill] - Add support for toeplitz hash (3897) [Usha Gupta] - Add support for flattening header union stack (3890) [Usha Gupta] - Container arguments with type infint are treated as type variables (3889) [Mihai Budiu] - Build with -pedantic, fix problems (3892) [Vladimír Štill] - CI: Find protobuf and pass it to cmake on macOS (3896) [Vladimír Štill] - Install & use GCC 9 in Ubuntu 18 build (3893) [Vladimír Štill] - add a feature to control logging via an annotation on annotated IR ob… (3882) [Han Wang] - Add assert and assume mode for testgen. (3775) [fruffy-bfn] - SplitFlowVisitor to better capture split/join in ControlFlowVisitor [Chris Dodd] - Replace invalid clone id 0 with 1 for selected BMv2 programs (3860) [Fabian Ruffy] - Fix up one-shot-action-selectors with action arguments. Appropriately rename some P4 table programs. (3864) [Fabian Ruffy] - Fix bug in parserUnroll (3874) [VolodymyrPeschanenkoLitSoft] Co-authored-by: rst0git <[email protected]>
v1.2.3.6
Release v1.2.3.6 (#3871)
Changelog:
- Update test to be backend agnostic by removing allocation specific code for match groups (3869) [Amresh Kulkarni]
- Refactor Python testing scripts and utilities - Part 1 (3855) [Fabian Ruffy]
- Move p4runtime arch handler class declaration to header file (3867) [Pitchumani Sivanupandi]
- Fix flawed code in up4.p4 and the pins switch models. (3857) [Fabian Ruffy]
- Fix hardcoded tests line. (3856) [Fabian Ruffy]
- ebpf/PSA: Support for wide fields in Register and Meter (3854) [Jan Palimąka]
- Support "clone" function for BMV2 PTF (3848) [OleksandrLetychevskyiIntel]
- [P4testgen] Coverage script (3853) [Hanneli Tavante]
- Simple proof of concept PTF test for BMV2 test framework. (3849) [Fabian Ruffy]
- Emit action sel id as in bfrt (3852) [Kamlesh Kumar]
- Require action_run to be within a switch statement (3850) [Mihai Budiu]
- Table application results are not comparable (3851) [Mihai Budiu]
- Correction of PTF tests for BMV2 (3737) [OleksandrLetychevskyiIntel]
- Fix ckadd argument (3845) [Kamlesh Kumar]
- Fix clang formatting [Chris Dodd]
- Streamline seed initialization and try to minimize nondeterminism in P4Testgen. (3839) [Fabian Ruffy]
- Add stop metrics for P4Testgen. Sanitize some P4Testgen options. (3829) [Fabian Ruffy]
- Avoiding choosing the same port as egress port for clone. (3844) [Fabian Ruffy]
- Testgen: allow block param initialization with taintexpr (3840) [Vojtěch Havel]
- Fix clang_format mismatch. (3831) [Fabian Ruffy]
- Cannot compare externs (3834) [Mihai Budiu]
- Make {} a single token (3835) [Mihai Budiu]
- Experimental: support for trailing commas (3804) [Mihai Budiu]
- Unify ctxt json's id with other runtime files (3833) [Kamlesh Kumar]
- Drop flawed input-packet-only option. (3830) [Fabian Ruffy]
- [dpdk] Emit a pseudo header, for dpdk instructions which require (3807) [Kamlesh Kumar]
- Simplify DoConstantFolding::postorder (3805) [Radostin Stoyanov]
- Not all Type_InfInt are the same - keep track of ones that need to be unified (3828) [Mihai Budiu]
- Forbid @optional parameters in some places (3827) [Mihai Budiu]
- Make ports an int32 type. (3825) [Fabian Ruffy]
- Equal types are always equivalent (3707) [Mihai Budiu]
- Fix IndexedVector methods and constructor (3821) [Vladimír Štill]
- Refactor ci-build.sh script. (3792) [Fabian Ruffy]
- Move timer from testgen to lib folder. (3785) [Fabian Ruffy]
- Utility edits for P4Tools. (3824) [fruffy-bfn]
- Update inja and fix inja formatting. (3782) [Fabian Ruffy]
- Dpdk Backend : Do not treat BAnd expresion in table key as simple expression (3823) [Usha Gupta]
- initialize direction metadata at begining of pipeline (3817) [Kamlesh Kumar]
- Fix for STF tests with BMv2 when Scapy 2.5.0 is installed (3816) [Andy Fingerhut]
v1.2.3.5
What's Changed
- Disallow Type_Control as a tuple argument by @mbudiu-vmw in #3753
- Clean up the includes in the IR folder by @fruffy in #3701
- Raise minimum required CMake version to Ubuntu 18.04 version. by @fruffy in #3745
- PSA/ebpf backend: add support for generating programs for XDP hook by @tatry in #3752
- Check that value sets have a constant constructor argument by @mbudiu-vmw in #3754
- Testgen: Switch cases can fall through. by @fruffy-bfn in #3756
- Refactor add_cpplint_files and add_clang_format files to support downstream projects, large file numbers. by @fruffy-bfn in #3762
- Dpdk Backend: Fix non-consecutive table keys for add_on_miss table by @usha1830 in #3763
- Apply clang-format to ir and lib files. by @fruffy in #3759
- Add missing semicolon at end of Bison rule in p4parser.ypp by @jafingerhut in #3764
- Ignore formatting PR from blame. by @fruffy in #3766
- Fixed missing invocation of Address Sanitizer by @davidbolvansky in #3735
- Dpdk Backend: Fix action selector and action profile to apply the group/member tables only on base table hit by @usha1830 in #3758
- Check whether a test back end has been provided. by @fruffy-bfn in #3777
- Remove backends from CMake include paths. by @fruffy in #3769
- Fix non-contiguous table keys for learner and exact match tables by @usha1830 in #3780
- Option to produce tests exclusively with output packets by @hannelita in #3783
- Run MacOS tests in correct directory. by @fruffy in #3718
- eBPF/PSA: add support for parser input metadata by @tatry in #3778
- Run build and tests directly on Ubuntu 20.04, 22.04 without docker by @davidbolvansky in #3770
- Fix container build by @davidbolvansky in #3786
- Generate warning when 0 tests are produced by @hannelita in #3784
- Build (only) container images for new PRs by @davidbolvansky in #3788
- ci: update actions by @rst0git in #3789
- Fix bazel version to 5.4.0 by @smolkaj in #3796
- Remove execute permissions from nonexecutable files. by @fruffy in #3791
- Use https with opensuse repositories by @rst0git in #3797
- ebpf/PSA: improve support for wide fields by @tatry in #3790
- Forbid generic externs for in parameter values by @mbudiu-vmw in #3793
- Dpdk backend: Always emit the action selector constants in hex by @usha1830 in #3800
- Constant-fold isValid calls when possible by @mbudiu-vmw in #3794
- ebpf/PSA: Checksum support for fields wider than 64 bits by @tatry in #3801
- Use big_int for match_t so can match wider that 64 bits by @ChrisDodd in #3809
Full Changelog: v1.2.3.4...v1.2.3.5
v1.2.3.4
What's Changed
- Allow implicit casts in switch labels; improve error message by @mbudiu-vmw in #3634
- Handle correctly general switch statements when simplifying by @mbudiu-vmw in #3624
- Fix and improve ordered_map & ordered_set by @vlstill in #3577
- PSA/eBPF: retrieve interface numbers from OS in PTF tests by @osinstom in #3659
- Check if 'match_kind.exact' is defined when expanding switch statements by @mbudiu-vmw in #3654
- Tighten checks for NoAction by @mbudiu-vmw in #3651
- Clone empty blocks before def-use analysis by @mbudiu-vmw in #3653
- Do not allow action invocations with type arguments by @mbudiu-vmw in #3661
- 'size' is always a legal table property by @mbudiu-vmw in #3662
- DPDK Backend: Direct counter and direct meter support by @usha1830 in #3631
- Remove useless grammar rule by @mbudiu-vmw in #3664
- Dpdk backend: Use vector to populate checksum struct by @usha1830 in #3668
- Make RemoveUnusedDeclarations constructor protected. by @fruffy in #3670
- DPDK Backend : Minor fixes by @usha1830 in #3674
- Build DCG if pattern flag was enabled by @VolodymyrPeschanenkoIntel in #3673
- Migrate P4Testgen tooling to core P4C (IWYU, clang-format, cpplint, clang-tidy, git hooks) by @fruffy in #3663
- Dpdk backend: Initialize drop metadata to 1 as per PSA specification by @usha1830 in #3681
- Rename psabpf repository into NIKSS by @tatry in #3677
- Fix cpplint CMake check. by @fruffy in #3684
- Update PSA include files to match recent changes in version from PSA spec by @jafingerhut in #3618
- Add a p4-constraints and @refers_to parser to P4Tools. by @OleksandrLetychevskyiIntel in #3568
- Experimental: literal for invalid header by @mbudiu-vmw in #3667
- Dpdk backend: Fix dpdk test infrastructure to enable comparison of error output by @usha1830 in #3680
- Insert casts in action call arguments by @mbudiu-vmw in #3675
- Fix tmpMask alignment by @kamleshbhalui in #3687
- create dpdk specific pna.p4 and extend it by @kamleshbhalui in #3658
- PSA/eBPF: use slice-by-8 algorithm for CRC-32 by @majchwo in #3688
- Enable permissive by default. by @fruffy in #3690
- Correctly infer argument types for constructor calls by @mbudiu-vmw in #3686
- Migrate away from deprecated Bazel option by @smolkaj in #3698
- Add a dedicated target for cpplint, if no files are set. by @fruffy in #3697
- Fix name shortening by @kamleshbhalui in #3692
- Cleanup warnings produced by Clang by @davidbolvansky in #3693
- Enforce clang-format on the entire code base. by @fruffy in #3679
- Support for list types and literals by @mbudiu-vmw in #3520
- Alternate strength reduction and constant folding to eliminate constants by @mbudiu-vmw in #3706
- Add ignore revs file for clang-format PR. by @fruffy in #3712
- Linter usability improvements. by @fruffy in #3709
- Add PINS examples to test suite. by @fruffy in #3694
- Dags needs to be revisited when renaming metadata by @mbudiu-vmw in #3713
- Run IWYU on P4Tools. by @fruffy in #3678
- Do not allow type arguments that are generic if they are not specialized by @mbudiu-vmw in #3714
- Try to avoid gcc-specific include headers for IWYU. by @fruffy in #3717
- P4Tools: Implement default action override for BMv2 STF. by @fruffy in #3685
- P4Tools: Unify packet sizing options. by @fruffy in #3695
- Restructure P4Tools to easily add new modules. by @fruffy in #3646
- PSA/eBPF: Enable passing packets up to the kernel stack by @osinstom in #3691
- P4Testgen: Fix off-by-one bug in taint checking for slices by @vhavel in #3722
- Fix advance condition calculation. by @fruffy in #3721
- Fix bug caused by uninitialized variable in typechecker by @mbudiu-vmw in #3720
- Off by one warning error in constant-folding for large shifts by @mbudiu-vmw in #3715
- Arithmetic and bitwise operations are typechecked the same way by @mbudiu-vmw in #3716
- Method calls in the actions list must invoke actions by @mbudiu-vmw in #3728
- Defensive programming suggested by static analysis - check iterator bound by @mbudiu-vmw in #3725
- Enable auto var initialization with pattern in Clang CI build by @davidbolvansky in #3729
- Emit table config by @kamleshbhalui in #3710
- Remove unused files in p4_16_samples_outputs directory by @jafingerhut in #3733
- Expand google.protobuf.Any when emit p4info in text format by @psivanup in #3731
- Fixed issues found by static analysis by @MichalKekely in #3732
- Small clang-format and P4Tools README fixes. by @fruffy in #3736
- Move some P4Tool compiler passes to the midend folder. by @fruffy in #3726
- Dpdk Backend: Register extern support for bfrt.json by @usha1830 in #3723
- Try to merge copyHeaders into copyStructures. by @fruffy in #3739
- Unroll finite loops in the programs with infinite ones by @VolodymyrPeschanenkoIntel in #3689
- eBPF/PSA: Implement caching for ActionSelector, LPM and ternary tables by @tatry in #3738
- List contributors to P4Tools backend by @jnfoster in #3742
- Propagate def files upwards in the correct order from extensions/modules by @fruffy-bfn in #3744
- Automated Release v1.2.3.4 by @github-actions in #3747
New Contributors
Full Changelog: v1.2.3.3...v1.2.3.4
v1.2.3.3
What's Changed
- Add note to DPDK README that PSA egress is not implemented by @jafingerhut in #3525
- New class ICastable; new type constraint added by @mbudiu-vmw in #3542
- Change warrning messages in ParserUnroll by @VolodymyrPeschanenkoLitSoft in #3548
- PSA/ebpf backed: update psabpf-ctl to the latest version by @tatry in #3539
- BMv2: fix hashing non-tuple causing segfault by @Trigary in #3465
- Entries can be implicitly cast to the key type by @mbudiu-vmw in #3551
- Use prefixedNonTypeName to simplify the expression production in parser by @qobilidop in #3553
- Switch to C++17 standard by @davidbolvansky in #3547
- fixed spelling in CMakelists.txt in 2 different lines by @bagohart in #3554
- Fixing bug for ParserUnroll application to a p4 program with a header union by @VolodymyrPeschanenkoIntel in #3121
- Contribute the P4Tools platform and P4Testgen by @fruffy-bfn in #3495
- add ICastable interface to Backtrack::trigger by @mvido in #3561
- Update gitmodule to fix cloning with https by @usha1830 in #3562
- Several small compilation fixes for P4Tools. by @fruffy-bfn in #3558
- Switch to macOS 11 by @davidbolvansky in #3556
- Merge P4Tools cpplint with P4C cpplint. by @fruffy-bfn in #3564
- More fixes to the P4Tools repository. by @fruffy-bfn in #3565
- Add CODEOWNERS file for P4Tools. by @fruffy-bfn in #3567
- Introduce cmake option to enable -Werror; use it for CI/docker builds by @davidbolvansky in #3555
- Reachability feature by @VolodymyrPeschanenkoLitSoft in #3569
- Dpdk Backend: Fix shift overlimit error for valid bit slicing operation by @usha1830 in #3578
- made "errorCount", "warningCount", and "maxErrorCount" [all "unsigned int"] be "protected" rather than "private" in "class ErrorReporter" in "error_reporter.h" by @Abe149 in #3582
- Dpdk backend: Support for large keysize >64 bytes with additional restrictions by @usha1830 in #3580
- Fix taint analysis that was too conservative. by @fruffy in #3583
- [p4Tools and p4Testgen] New exploration strategy for test generation by @hannelita in #3566
- Implement the eBPF extension for P4Tools' P4Testgen by @fruffy in #3510
- Remove header field size constraints, now by @kamleshbhalui in #3579
- Tables cannot be compared by @mbudiu-vmw in #3590
- Remove expected output for non-existent action_param_serenum.p4 test program by @jafingerhut in #3596
- Remove unused expected output file by @jafingerhut in #3597
- Remove unused expected output file by @jafingerhut in #3598
- Add missing P4 test program issue2495-bmv2.p4 by @jafingerhut in #3599
- Add missing test program fwd-bmv2-psa.p4 by @jafingerhut in #3604
- Add missing test program precedence-lt.p4 by @jafingerhut in #3603
- Remove unused expected output files key_ebpf-issue-1020*.p4 by @jafingerhut in #3602
- Remove obsolete expected output files issue1409*.p4 by @jafingerhut in #3601
- Add missing select-struct.p4 test program to p4_16_samples directory by @jafingerhut in #3600
- Disable libcall optimizations for wrappers of memory allocation functions by @davidbolvansky in #3586
- Run def-use analysis again after inlining by @mbudiu-vmw in #3591
- Fix extra toP4 whitespace by @fruffy in #3606
- Remove unncessary v1model include in P4 test programs - fix up programs that use v1model externs. by @fruffy in #3608
- CI: added build with clang by @davidbolvansky in #3607
- Remove unused expected output files -- their test programs were renamed by @jafingerhut in #3621
- Allow serenum members initializers refer to other serenum members by @mbudiu-vmw in #3617
- Dpdk Backend: Minor changes to add error check for mask operands and adding optional match kind to pna.p4 by @usha1830 in #3588
- switch labels must be path expressions by @mbudiu-vmw in #3615
- Clean up two desynced tests. by @fruffy in #3605
- Fix typo in test program for reachability tests. by @fruffy in #3628
- Remove GMP support. by @fruffy in #3485
- An action profile implementation for v1model protobuf. by @fruffy in #3626
- Do not constant fold mux before it has been typechecked by @mbudiu-vmw in #3633
- Rename .stf file to match corresponding default_action_ubpf.p4 file by @jafingerhut in #3638
- Update comments in issue2201-bmv2.p4 to match current behavior by @jafingerhut in #3637
- Fix PTF eBPF weekly CI job by @osinstom in #3642
- Modify test script running PTF tests for PSA/eBPF by @osinstom in #3643
- Add more code owners to tools back end. by @fruffy in #3629
- Migrate some P4Testgen utilities to lib folder. by @fruffy in #3630
- Dpdk backend: Update hex constants to use uppercase by @usha1830 in #3645
- Tighten p4c for add-on-miss by @hesingh in #3614
- Fix incorrect tests : totalLen field of ipv4 header, action name in add_entry call by @usha1830 in #3647
- Reachability Engine for P4Tools by @VolodymyrPeschanenkoIntel in #3609
- Fix compilation issues after reachability merge by @fruffy in #3649
- CI: add sanitizers by @davidbolvansky in #3625
- Automated Release v1.2.3.3 by @github-actions in #3648
New Contributors
- @Trigary made their first contribution in #3465
- @bagohart made their first contribution in #3554
- @fruffy-bfn made their first contribution in #3495
- @hannelita made their first contribution in #3566
Full Changelog: v1.2.3.2...v1.2.3.3
v1.2.3.2
Release v1.2.3.2 (#3546) Changelog: - Run PTF tests under different kernel versions (3535) [Jan Palimąka] - add set_member_id in action list for action selector (3540) [Usha Gupta] - Dpdk backend: Flatten header union into individual fields (3524) [Usha Gupta] - Set C++ standard only if it is not set at parent scope (3541) [Vladimír Štill] - Fixing bug in ParserUnroll for infinite loops without header stacks (3538) [VolodymyrPeschanenkoLitSoft] - remove unused lib/alloc.h [Chris Dodd] - Constant-fold static_assert calls (3533) [Mihai Budiu] - Dpdk Backend: Update default timeout values for learner table entries (3530) [Usha Gupta] - Since dpdk now Support large struct fields(more than 64 bits) as key (3528) [Kamlesh Kumar] - Fix hdr align (3521) [Kamlesh Kumar] - Forbid use of .lastIndex outside of parsers (3523) [Mihai Budiu] - Fixing bug in parserUnroll (3503) [VolodymyrPeschanenkoLitSoft] - Fix: prevent copy elimination for statement which does not support constant values (3512) [Kamlesh Kumar] - Fixes related to type and function specialization (3458) [Mihai Budiu] - Prototype implementation of static_assert (3196) [Mihai Budiu] - Silence -Warray-bounds for generated code for protobuf (3515) [Dávid Bolvanský] - cmake: Fixed multi line comment (3513) [Dávid Bolvanský] - Add new option to build p4c with LTO (3470) [Dávid Bolvanský] - Load table action from json without 'name' field for BMV2 (3435) [VolodymyrPeschanenkoIntel] - Add null check for default action property (3500) [Usha Gupta] Co-authored-by: rst0git <[email protected]>
v1.2.3.1
Release v1.2.3.1 (#3505) Changelog: - Update protobuf installation instructions link (3501) [Bili Dong] - Handle table.apply().hit correctly in ubpf backend (3498) [Mihai Budiu] - fixing bug for loop with one parser state only (3492) [VolodymyrPeschanenkoIntel] - Update README.md (3497) [Sean M. Collins] - Dpdk Backend: Fix support for non-zero action arguments for default action in a table using action selector (3496) [Usha Gupta] - Fix action param processing (3493) [Usha Gupta] - Fix incorrect CFG generated for BMV2 backend for switch statements (3490) [Mihai Budiu] - Fix bug related to varbits width (3487) [Mihai Budiu] - Delete keys that are empty tuples (3489) [Mihai Budiu] - Support GCC-style options for writing dependencies to a file. (3484) [Ben Pfaff] - Support inverted ranges (3482) [Mihai Budiu] - Improve generation of unique strings (3350) [Dávid Bolvanský] - missing return [Chris Dodd] - Dpdk Backend: Allow non-constant arguments to mirror_packet extern (3473) [Usha Gupta] - Log/IndentCtl sanity/cleanup [Chris Dodd] - readme: Update supported Ubuntu versions (3476) [Radostin Stoyanov] - Fix ir_frontend_midend_control_plane build target (3475) [Ali Kheradmand] - Remove GMP dependency from BUILD.bazel (3474) [Ali Kheradmand] - Dpdk backend: optional and range match kinds translate to wildcard match for dpdk (3472) [Usha Gupta]
v1.2.3.0
Release v1.2.3.0 (#3466) Changelog: - Add a compiler pass that adds missing IDs to control plane objects. (3455) [fruffy] - Forbid packages, controls, etc as tuple fields (3461) [Mihai Budiu] - Do not allow constructor calls of externs with abstract methods (3460) [Mihai Budiu] - Fix include headers for lib/stringify.h (3457) [Mihai Budiu] - Use Type_Dontcare for _ expressions in table entries (3444) [Mihai Budiu] - pft-ebpf tests: update psabpf to fix tests (3456) [Jan Palimąka] - Fix Missing metadata for temporary variables added for Mask operation (3452) [Usha Gupta] - DPDK Backend: Add support for tdi.json (3440) [Usha Gupta] - P4C-DPDK - Incorrect constant value when there is a substract operation involved with a constant (3411) [github-sajan] - Fixed build with older bison on Ubuntu 18 (3454) [Dávid Bolvanský] - Add bazel support for p4c-dpdk compiler (3441) [Zhang Liu] - initial commit (3447) [VolodymyrPeschanenkoIntel] - Values with type int are legal constants (3446) [Vojtěch Havel] - Fixed usage of yyFlexLexer with multiple parsers (3445) [Dávid Bolvanský] - Prevent crash caused by incorrect error message (3443) [Mihai Budiu] - ordered_set: operator<: Fix for a case of strict inclusion. (3431) [DoctorNoobingstoneIPresume] - DPDK Backend: Avoid compiler crash by handling possible types of length argument in packet extract for header containing varbit field (3439) [Usha Gupta] - DPDK Backend: Emit name information for externs in context json (3433) [Usha Gupta] - [dpdk] shorten label names and header instance type (3436) [Kamlesh Kumar] - remove debug info (3438) [VolodymyrPeschanenkoIntel] - Added new P4C option (3425) [OleksandrLetychevskyiIntel] - Avoid crash in ebpf backend by checking expected IR node kinds (3427) [Mihai Budiu] - remove unused include (3428) [Vojtěch Havel] - Do not remove externs which are defined not in system files. (3424) [VolodymyrPeschanenkoIntel] - Implement Copy Elimination for dpdk backend (3406) [Kamlesh Kumar] - save annotations after parser unroll (3422) [VolodymyrPeschanenkoIntel] - Handle constant folding for tuple/list constants (3421) [Mihai Budiu] - loop unrolling: Use type of original expression (3420) [Mihai Budiu] Co-authored-by: rst0git <[email protected]>
v1.2.2.3
Release v1.2.2.3 (#3418) Changelog: - Only crash if the error count exceeds the maximum (3413) [Andrew Kvapil] - Use a helper to to define the cpp toolchain type (3416) [John Cater] - Fix incorrect overload resolution for specialized (package) types (3412) [Mihai Budiu] - Always prepend local gtest include paths (3414) [Anton Korobeynikov] - Add support of path expressions for a header stack inside parserUnroll (3405) [VolodymyrPeschanenkoIntel] - Values with type int are legal constants (3408) [Mihai Budiu] - collects decls from parser and control block (3392) [Kamlesh Kumar] - Update BUILD.bazel to remove constat patterns from glob (3397) [Zhang Liu] - Remove apply() calls to redundant parsers (3356) [Brian Leibig] - psabpf-ctl: update action-selector CLI - rename commands (3404) [Jan Palimąka] - Fix incorrect copy propagation into table match keys (3399) [Vojtěch Havel] - Solving problems with HeaderUnion (3342) [OleksandrLetychevskyiIntel] - Update rules that require a cpp toolchain to use a helper function that defines the toolchain type. (3401) [John Cater] - Improve the way we wait for commands in driver (3398) [Vladimír Štill] - Fixing parserUnroll bug for sequential next operator usage (3193) [VolodymyrPeschanenkoIntel] - Fix missing key initialization when header/metadata fields used as table keys are copied in new metadata fields (3395) [Usha Gupta] - actionSynthesis: add original source info to synthesized actions (3396) [Matej Vido] - Use width_bits() instead of size for constantFolding. (3400) [fruffy] - BUILD_USE_COLOR=OFF disables colors for the C++ compiler (3389) [Dávid Bolvanský] - Make bitvec helpers available as global, don't polute top-level namespace (3393) [Vladimír Štill] - Bring commonly used builtin options under lib directory (3381) [Kamlesh Kumar] - Update reference outputs (3388) [Usha Gupta] - Dpdk Backend: Enable header stack dynamic index elimination (3375) [Usha Gupta] - Add metadata fields uses as Member Expression (3387) [Kamlesh Kumar] - Enable Automated Releases (3386) [Radostin Stoyanov] - DPDK Backend: Fix action name used in learn instruction, minor fix in context json (3385) [Usha Gupta] - Fixing bug in HSIndexSimplifier path (3382) [VolodymyrPeschanenkoIntel] - PSA-eBPF PTF tests: update psabpf to the latest version (3383) [Jan Palimąka] - Dpdk backend: Add target_name field for tables to context json. (3380) [Usha Gupta] - Fixed comparison between two Type_Bits (3377) [Michal Kekely] - accept PSA_MeterColor_t in action parameter (3365) [Kamlesh Kumar] - Type unification should always use the canonical type (3370) [Mihai Budiu] - Dpdk backend: Minor changes in context json and learner table timeout values. Supercedes PR 3369 (3372) [Usha Gupta] - P4C-DPDK : Add support for Hash extern (3368) [github-sajan] - Add types for tables keys after switchElimination (3064) [VolodymyrPeschanenkoIntel] - Do not allow variables with type Type_Parser/Control (3361) [Mihai Budiu] - Remove unused variables in psa/ebpf backend (3362) [Mihai Budiu] - String utility functions (3366) [Mihai Budiu] - crash.cpp: Register names fixed for building under Cygwin. (3296) [DoctorNoobingstoneIPresume] - Added nullptr check into graphs backend (3367) [Michal Kekely] - Add old parser state in loopsUnroll if ExpressionEvaluator returns a error (3150) [VolodymyrPeschanenkoIntel] - Use 0 as default PSA_PORT_RECIRCULATE value (3360) [Mateusz Kossakowski] - Add support for ternary const entries (3347) [Mateusz Kossakowski] - Improve error message when select types do not match (3352) [Mihai Budiu] - Do not crash if constant width is 0 (3358) [Mihai Budiu] - Allow value sets as labels when select() is done on a constant (3353) [Mihai Budiu] - Allow unification between serenum and underlying type (3341) [Mihai Budiu] - Allow shifts with serenums on the RHS (3355) [Mihai Budiu] - Unification of generic types can reduce to unification of Type_Name (3354) [Mihai Budiu] - Fixed start state renaming for p4-14 translation using @packet_entry (3348) [Michal Kekely] - Validate value_set element types (3351) [Mihai Budiu] - Do not generate TC Egress program if PSA Egress pipeline is empty (3349) [Tomasz Osiński] - Improve error message when validating select expressions (3340) [Mihai Budiu] - Require a start state in parsers (3339) [Mihai Budiu] - Use psabpf-ctl register command in PTF tests (3337) [Mateusz Kossakowski] - Dpdk: Fix missing initialization for table properties for add_on_miss tables in context json (3334) [Usha Gupta] - Do not specialize functions when arguments are type variables (3328) [Mihai Budiu] - Add generic structs to P4Runtime digest example (3332) [Antonin Bas] - Fix control-plane generation for headers containing structs (3331) [Mihai Budiu] - Check that parameter default values are compile-time known (3330) [Mihai Budiu] - Fix handling of keys without name annotation in graphs (3327) [Vladimír Štill] - [dpdk] Fix calculation of direction from input port (3326) [Kamlesh Kumar] - DPDK Backend: Connection tracking support (3290) [Usha Gupta] - Update PSA-eBPF documentation (3320) [Tomasz Osiński] - Expand 'emit' calls in the ebpf backend (3323) [Mihai Budiu] - Fix warnings generated by XDP helper program (3322) [Tomasz Osiński] - Fixes for Graph generation for switch(t.apply().action_run) (3314) [Michal Kekely] - Allow shifts with constant signed positive amounts (3303) [Mihai Budiu] - Correctly handle don't care named arguments (3278) [Mihai Budiu] - Avoid dereferencing nullptr in GetStackItemRef::baseRef (3315) [Vladimír Štill] - Not all returns in parsers are disallowed (3309) [Mihai Budiu] - Do not allow structure have specialized parsers as type arguments (3310) [Mihai Budiu] - Fixing bug for concat elimination in SimpleSwitch (3300) [VolodymyrPeschanenkoIntel] - Require generic return types to be specialized (3302) [Mihai Budiu] - p4test does not support switch statements in actions (3301) [Mihai Budiu] - Forbid instantiations in functions or methods (3279) [Mihai Budiu] - Forbid methods to return int or string (3280) [Mihai Budiu] - Emit table apply for switch expression with action_run (3284) [Usha Gupta] - Test for isValid as a header field (3275) [Mihai Budiu] - Improvement of p4c-graphs backend (3268) [Timotej Ponek] - Add support for LLD linker, cmake options for LLD and Gold (3263) [Vladimír Štill] - Update used psabpf library for PTF tests (PSA/eBPF) (3261) [Jan Palimąka] - Preserve build failure semantics. (3270) [fruffy] - [dpdk] Eliminate header copy (3257) [Kamlesh Kumar] - DPDK Backend: PNA Pass metadata support (3245) [Usha Gupta] - Add UPF sample program for PSA/eBPF backend (3267) [Tomasz Osiński] - Add BNG sample program for PSA/eBPF backend (3266) [Tomasz Osiński] - Use ccache with Github actions (3073) [fruffy] - Add cmake option to force-enable colors in build (3269) [Vladimír Štill] - Do not crash on illegal uses of 'this' (3265) [Mihai Budiu] - Allow specialized types for direct control/parser invocations (3260) [Mihai Budiu] - Add support for ternary match kind to eBPF backend (3256) [Tomasz Osiński] - Stricter type checking for built-in methods (3259) [Mihai Budiu] - Add L2L3-ACL sample program for PSA/eBPF backend (3255) [Tomasz Osiński] - Improve padding calculation in eBPF parser (3254) [Jan Palimąka] - UBPF backend header files were not cpplinted (3252) [Mihai Budiu] - Fix incorrect C code generation for ebpf control plane (3253) [Jan Palimąka] - Add support for Random extern to PSA/eBPF backend (3251) [Tomasz Osiński] - Fix support for verify() and error type to fully support verify() in PSA/eBPF backend (3250) [Jan Palimąka] - Implement DirectMeter extern for eBPF backend (3243) [Mateusz Kossakowski] - p4c: Handle spaces in file name (3249) [Radostin Stoyanov] - Fix a typo in README (3248) [Jan Ziak] Co-authored-by: p4lang <[email protected]>