+
Skip to content

Support to read & write Register by PI #376

@MaoJianwei

Description

@MaoJianwei

Updated status as of 2024-Nov-20:

So far no one has volunteered (nor been paid) to implement this feature. If you are interested in implementing it, please let us know by replying in a comment on this issue.

Note: To implement this fully generally would require supporting many P4 types of values as the element type of a P4 register array in the P4Runtime API, e.g. not just elements of type bit<W>, but also many other P4 types such as int<W>, enum values (both serializable and non-serializable kinds of enums), header types, struct types, header_union types, etc.

However, it would be quite useful if the implementation supported only type bit<W> as the element type of a register array -- that would be more than the implementation supports now, which is no types at all.

As a suggestion for a sequence that successive more general implementations might support, from smallest subset and easier, to larger subsets and more work:

  • Type bit<W> only - This would be a great starting point on which to build.
  • All of the above types plus type int<W>
  • All of the above types plus serializable enums
  • All of the above types plus non-serializable enums
  • All of the above types plus structs that contain members of any of the above types, but no nesting of structs within a struct
  • All of the above, plus nesting of structs inside of structs
  • All of the above, plus header types

In short, if you think you would be interested in implementing only the first one or two of these possibilities, but not the rest, that would be far more useful than the current state of affairs, where none are supported.


Original issue text created on 2018-Jun-08 by MaoJianwei:

Hi,
I found PI doesn't support to read & write Register.
Are there something blocking this work, and Is any team doing this work?
Thanks

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions

      点击 这是indexloc提供的php浏览器服务,不要输入任何密码和下载