-
Notifications
You must be signed in to change notification settings - Fork 444
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add the DASH BMv2 model to the tested programs. #3885
Conversation
I believe there is a bug in the way Alternatively, this might just be an illegal |
@jafingerhut You mentioned the dash programs were slightly unusual in the way they were written. Were you referring to the table names, for example? Are names like |
@fruffy I had forgotten about the unusual characters in @name annotations, which are a bit odd, true. More likely what I was referring to is that there are new custom match_kinds and syntax of proposed non-standard P4 language constructs in some of the original source files (e.g. search for a match_kind 'list' and I think also 'list_port', and a keyword 'struct_graph' in some of the files), that give errors if you attempt to compile them with the latest published p4c. Those are only enabled with certain preprocessor symbol #define settings that you probably did not use. |
@fruffy By the way, are the unusual characters in @name annotations causing problems within p4c itself? e.g. causing intermediate P4_16 files to be generated that cannot be parsed as P4_16 source code by p4c? Or some other issues? It seems worth mentioning this fact to the authors of the DASH P4 program, in case they are unaware of it. |
Yes, the Inlining pass uses a rename function which only substitutes the illegal character |
Rerequesting to make sure that the changes to |
I have created this issue on the DASH repo pointing out the possible issue with @fruffy I am guessing that if the string contents of a |
I remember asking about |
https://p4.org/p4-spec/docs/P4-16-v-1.2.3.html#sec-cp-names describes how control-plane names are calculated. |
|
In what way is this not conformant? I believe the control plane will still just refer to the |
Is there a test case exercising the new inline code? |
b41f2eb
to
e99b304
Compare
Done. the compiler seems to be handling the characters well. And so does the PTF framework, surprisingly. The STF framework does not. |
Any remaining concerns with this PR? |
I have approved |
Another large BMv2 program to test on.