Skip to content

p4-constraints 20260311.0 (Mar 2026)

Latest

Choose a tag to compare

@smolkaj smolkaj released this 11 Mar 20:49
bdbcc5f

What's Changed

  • Cosmetic change by @smolkaj in #62
  • Avoid relying on undefined output in golden test. by @smolkaj in #63
  • [p4-constraints] Add support for priority constraints. by @kheradmandG in #64
  • [p4-constraints] Remove inclusion of ast.proto.h by @kheradmandG in #66
  • Refactor Eval to take optional pointer for caching results by @verios-google in #69
  • Implemented SizeOfAST by @verios-google in #70
  • Implemented ReasonEntryViolatesConstraint by @verios-google in #71
  • Changed build file to have proper golden test targets by @verios-google in #72
  • Implemented QuoteString which mimics QuoteSourceLocation but uses string with offset as source by @verios-google in #73
  • Revert "Implemented QuoteString which mimics QuoteSourceLocation but uses string with offset as source" by @smolkaj in #74
  • Implemented QuoteString which mimics QuoteSourceLocation but uses string with offset as source by @verios-google in #75
  • Update p4-constraints to build on github. by @verios-google in #77
  • Changed e2e test to use ReasonEntryViolatesConstraint instead of EntryMeetsConstraint. Formatted output of valid constraint tests by @verios-google in #76
  • [p4 constraints] Updated ast_constructor/parser :: is properly captured when quoting metadata access by @verios-google in #78
  • [p4-constraints] Improve failure explanation by only referencing relevant keys. by @verios-google in #79
  • Refactored interpreter_test.cc to decouple from parser and lexer by @verios-google in #80
  • Refactor Typechecker to use QuoteSubConstraint instead of QuoteSourceLocation by @verios-google in #81
  • Change Tokenize input to ConstraintSource instead of string and location. by @verios-google in #82
  • [p4_constraints] Refactor parser to use QuoteConstraint instead of QuoteSourceLocation. by @verios-google in #83
  • [p4_constraints] Adding proto equality function by @verios-google in #84
  • [p4_constrsints]Refactor Eval to use QuoteConstraint instead of QuoteSourceLocation. Remove QuoteSourceLocation by @verios-google in #85
  • Fix bazel version to 5.4.0 by @smolkaj in #87
  • [p4-constraint] Don't parse table entry if there is no constraint to check. by @smolkaj in #89
  • [p4-constraints] Upgrade dependencies, fix includes, use C++17. by @smolkaj in #91
  • Remove deprecated Bazel flag --distinct_host_configuration. by @smolkaj in #92
  • Move away from deprecated contructor. by @smolkaj in #93
  • PUBLIC: [P4-Constraints] Add a FindPtrOrStatus function to gutils. by @jonathan-dilorenzo in #94
  • PUBLIC: [P4-Constraints] Add a version of TypeBandwidth that returns a status on error. by @jonathan-dilorenzo in #95
  • Update p4-constraints to RE2 release 2023-06-01. by @smolkaj in #96
  • PUBLIC: [P4-Constraints] Set up well-formedness constraints on match fields for symbolic evaluation in Z3. by @jonathan-dilorenzo in #101
  • PUBLIC: [P4-Constraints] Add library function for turning snake case into camel case. by @jonathan-dilorenzo in #102
  • PUBLIC: [P4-Constraints] Rename Metadata to Attribute. by @jonathan-dilorenzo in #103
  • PUBLIC: [P4-Constraints] Add a function to construct a SymbolicAttribute for priority. by @jonathan-dilorenzo in #104
  • PUBLIC: [P4-Constraints] Add symbolic evaluation for P4-Constraints using Z3. by @jonathan-dilorenzo in #106
  • PUBLIC: [P4-Constraints] Move symbolic interpreter tests to use constraint strings instead of AST protos. by @jonathan-dilorenzo in #107
  • PUBLIC: [P4-Constraint] Correctly handle non-canonical P4RT bytestrings. by @jonathan-dilorenzo in #108
  • PUBLIC: [P4-Constraint] Add a function to concretize symbolic entries. by @jonathan-dilorenzo in #105
  • PUBLIC: [P4-Constraints] Aggregate two symbolic maps into a single struct. by @jonathan-dilorenzo in #109
  • PUBLIC: [P4-Constraints] Add top-level function to populate solver and symbolic variable maps using TableInfo. by @jonathan-dilorenzo in #110
  • Add an API to get TableInfo from ConstraintInfo through a lookup using table_id by @angelazhang8 in #111
  • [p4-constraints] Extend ParseConstraint to handle action_constraint parsing. by @angelazhang8 in #112
  • Refactor ConstraintInfo into a struct containing a map from table_id to table_info and a map from action_id to action_info. by @angelazhang8 in #113
  • Parsing P4Info for Actions and type-checking params. by @angelazhang8 in #114
  • PUBLIC: [p4-constraints] Expose and change the return of ParseP4RTInteger from StatusOr to Integer. by @angelazhang8 in #117
  • PUBLIC: [p4-constraints] Cleanup existing code in p4-constraints constraint_info and interpreter. by @angelazhang8 in #116
  • PUBLIC: [p4-constraints] Add missing case in quote.cc and clean up comments. by @angelazhang8 in #118
  • Update documentation to replace EntryMeetsConstraint to ReasonEntryViolatesConstraint. by @angelazhang8 in #119
  • PUBLIC: [p4-constraints] Remove EntryMeetsConstraint and replace with ReasonEntryViolatesConstraint in tests. by @angelazhang8 in #120
  • Update the documentation for ReasonEntryViolatesConstraints. by @angelazhang8 in #121
  • PUBLIC: [p4-constraints] Add support for action restrictions in the interpreter. by @angelazhang8 in #115
  • PUBLIC: [p4-constraints] Refactor GetMatchFields to GetFields an AddMatchFields to AddFields and extend AddFields to handle action parameters. by @angelazhang8 in #122
  • PUBLIC: [p4-constraints] Add an e2e test for action constraints. by @angelazhang8 in #124
  • Updated CI to use --disk-cache. by @smolkaj in #125
  • PUBLIC:[P4-constraints] Don't use c strings so that trailing zeros are not discarded when parsing an int from a bytestring. by @verios-google in #128
  • [P4 Constraints Network Address Notation] Update Lexer to tokenize strings. Wrote unit test for the Lexer to tokenize IPV4 address by @matthewtlam in #130
  • [P4 Constraints Network Address Notation] Change from double quotes t… by @matthewtlam in #131
  • [P4 Constraints Network Address Notation] Update Parser to handle str… by @matthewtlam in #132
  • [P4 Constraints Network Address Notation] Update parser support mac a… by @matthewtlam in #133
  • [P4 Constraints Network Address Notation] Update parser to support ip… by @matthewtlam in #134
  • [P4 Constraints Network Address Notation] E2E Testing for the network… by @matthewtlam in #135
  • PUBLIC: [P4 Constraints Network Address Notation] Update the language specs with network address notation. by @matthewtlam in #136
  • Remove uses of DebugString due to deprecation. by @jonathan-dilorenzo in #138
  • Make the constraint_kind header publicly accessible in the Bazel rules. by @fruffy-g in #139
  • PUBLIC:[p4_constraint] Refactor Constraint solver into a class by @verios-google in #142
  • [p4-constraints] Allow C++ compliant multi-line strings. by @jonathan-dilorenzo in #143
  • Lowercase "BUILD" in example codeblock. by @gravypod in #61
  • Update Readme by @smolkaj in #144
  • Add section on well-formedness constraints and their connection to P4Runtime to the language spec by @smolkaj in #100
  • Remove obsolete bits from README by @smolkaj in #145
  • PUBLIC: [P4-Constraints] Fix reproducibility bug. by @jonathan-dilorenzo in #146
  • Replace undefined std::Container with std::Container by @jonathan-dilorenzo in #147
  • Update ci-format.yml to pin Ubuntu CI version to 22.04 due to a build regression. by @jonathan-dilorenzo in #150
  • PUBLIC: [P4-Constraints] Add a new load statement for proto rules. by @jonathan-dilorenzo in #149
  • Upgrade to Bazel 7, Ubuntu 24.04 (fixes #152) by @smolkaj in #154
  • Prepare code for breaking change in Protobuf C++ API. by @EricelZarate in #156
  • Add SPDX license identifier comment to most source files by @jafingerhut in #157
  • Make detection of amd64 vs. arm64 automatic on Linux by @jafingerhut in #161
  • Add copyright notice and license id to remaining source files by @jafingerhut in #159
  • Simplify format.sh by Invoking prebuilt buildifier binary via Bazel. by @smolkaj in #163
  • Updated Ubuntu Version in Docker file by @harith-hacky03 in #165
  • Fix README to reference /e2e_tests instead of /e2e_test by @jameshu15869 in #166
  • Format script: allow calling from any project subfolder. by @smolkaj in #164
  • Make it explicit that arithmetic negation of int field/attribute access is allowed. by @qobilidop in #168
  • Fix performance bug (unnecssary copying) in p4-constraints parsing. by @smolkaj in #170
  • PUBLIC: [P4 Constraints][Gutil] Align P4-Constraints with SoT version of GUtil. by @matthewtlam in #171
  • [P4 Constraints] Stop re-exporting cc_proto_library from rules_cc by @matthewtlam in #173
  • [P4-Constraints] Added ConstraintSolver hook to export constraints to a specified z3 solver. by @qobilidop in #174
  • Properly load rules_cc in p4-constraints. by @qobilidop in #175
  • Update TranslateBySymbolicEnvironment to handle keys missing in the source environment gracefully. by @qobilidop in #178
  • Add support for Bzlmod and Bazel 8/9; remove WORKSPACE support. by @smolkaj in #180

New Contributors

Full Changelog: v1.0.0...20230311.0