[P4-discuss] (no subject)

SIMON JOUET s.jouet.1 at research.gla.ac.uk
Fri Jun 19 08:36:31 EDT 2015

Hi P4 community,

First off, thanks for the work on the P4 project, even though it’s still in the early days, reading the specifications and playing with the compiler is a interesting experience.

I started prototyping with P4 for about a week now, and I've ran into some limitations, most that are probably due to my limited knowledge of the language. I’ve listed below some of the questions I have, hoping to get a better understanding of the language:

The specification document and the p4-bm have some differences (mostly in the actions definition), at this early stage which one of the two should be considered as the reference? For instance in the specification to execute a meter meter() should be used while in the bm execute_meter() is used. (similar difference with modify_field_with_hash_based_offset)
The default set of actions does not provide any mechanism to add entries to a table, in the description of generate_digest() (page 41) it is described that this “might be used to represent a self-update operation”. In the current behavioral model is this possible? or is it a design decision not to have actions capable of add entries and this logic should be left to the controller? (in such case self-learning is impossible)
For the use case I was playing with, I had to keep track of the byte count of some flows in a self-learning way, for this and with respect to the specs I would assume a meter is the most suitable. However at this point I had a problem with the index being either a immediate value or a table entry parameter and not a field preventing to use for instance a hash of some fields as the index. As a consequence I moved to using registers instead of meters and managed to get something working, however I’m not sure this approach is correct. Should registers be used to store ~large amount of data for instance 10000 entries or be kept small only for state information ? Should the registers internal to the dataplane are be queryable by the controller similarly to counters and meters ?

Thanks, I hope this is not completely out of context and that the discuss mailing list is the right point of contact for such questions. I would be happy to provide more details if required.

Best regards,

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.p4.org/pipermail/p4-discuss_lists.p4.org/attachments/20150619/d9abba23/attachment-0001.html>

More information about the P4-discuss mailing list