Skip to content

Add the meter spec.type - #149

Open
jugong0 wants to merge 1 commit into
p4lang:mainfrom
jugong0:main
Open

jugong0 wants to merge 1 commit into
p4lang:mainfrom
jugong0:main

Conversation

@jugong0

@jugong0 jugong0 commented Sep 25, 2025

Copy link
Copy Markdown

Support P4runtime v1.4.1 Meter's spec.type configuration

Signed-off-by: Justin Gong <jugong@jugong-mlt.client.nvidia.com>
xovishnukosuri pushed a commit to xovishnukosuri/p4runtime-shell that referenced this pull request Mar 14, 2026
P4Runtime v1.4.0 added MeterSpec.Type (TWO_RATE_THREE_COLOR,
SINGLE_RATE_THREE_COLOR, SINGLE_RATE_TWO_COLOR) with specific field
constraints for each type. The shell was not reading or enforcing
these constraints.

This change:
- Reads spec.type from the meter's P4Info in _MeterEntryBase
- Adds _MeterConfig.validate() which raises UserError if the config
  violates the constraints imposed by the meter's spec.type
- Calls validate() from _MeterEntryBase._validate_msg() and from
  TableEntry._validate_msg() for tables with a direct meter
- Adds two new meter fixtures (MeterB, MeterC) to the test P4Info
  and three new unit tests covering all three type validations

Closes p4lang#149

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@fruffy
fruffy requested a review from jafingerhut April 24, 2026 12:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants