Array of action parameters

What is the expected method of handling array of actions? For example, ECMP group or LAG members? Does the action must explicitly include all the potential parameters (could be 128 for ECMP group)? Also I assume that all the action parameters must be present in the table insert/update message. It might not be required but I think that I noticed that the P4 RT checks for that.

You can look at the P4Runtime specification where it defines two alternate control plane APIs for configuring the PSA action selector extern. The ‘one shot’ technique was added later because some people preferred it over the original technique. P4Runtime Specification

The method there is to define ‘groups’, which is a set of actions, each typically in a P4 program having a small number of action parameters, none of which are arrays. The ‘group’ is what would have 128 elements in it, for a 128-way ECMP or LAG.

Most P4 programs define actions with a fixed number of parameters. I believe that all of those action parameters are required to be given in P4Runtime API messages that add actions to tables, or to action selector groups, but I might be forgetting about a corner case where if an action parameter value is 0, perhaps the P4Runtime message might omit it then.