Comments (6)
TODO Andy: Discussing this with Cristian Dumitrescu on precisely how these would be implemented on DPDK.
Note that they are already implemented on BMv2 for the v1model architecture. The PSA implementation for BMv2 is only partial as of 2022-Oct, with no one that I know of currently actively working to finish it. Similarly, I do not know of anyone working on BMv2 implementation of PNA architecture at this time.
from pna.
Consider adding log_msg to both PSA and PNA, not only PNA.
from pna.
+1 for me.
I might have HW which supports having these log messages out somewhere so it might be useful to mention that like assert it can be turned into a no-op by some mechanism (like you said on real HW it would be a no-op).
from pna.
This is more question of how {}
are handled, and about the formatting part. Does {0}
says the first element of the tuple or is it just {}
. How does printing of a header/struct work? For a header, does it print each field and the valid/invalid field. Or is the tuple just supposed to be a tuple of bit/int/bool types (or is bool not supported there).
Or is this just left up to the implementation on what is supported or not supported?
I think defining a standard set of what is the min supported here would be a good idea.
from pna.
I think the BMv2 implementation of this is fairly bare-bones, where each {} in the format string corresponds to the next value to be printed, and there is no variation supported in the format, e.g. no choice of decimal/hex/binary/etc. If you have an Ubuntu system where you are willing to install p4c/behavioral-model/etc. open source dev tools, and write little v1model programs to try out different types of values to log_msg to see what it does today, it shouldn't take long, but I can hack up something over the weekend to show some examples too.
https://github.com/jafingerhut/p4-guide/blob/master/bin/README-install-troubleshooting.md
from pna.
I have updated the comments in the p4c test program issue2201-bmv2.p4 with this PR, so that the comments are up to date with the latest behavioral-model/BMv2 simple_switch behavior of its implementation of the log_msg extern function: p4lang/p4c#3637
Note: There is no spec defining its behavior. It was an implementation created by someone for BMv2, and I'd say does something fairly expedient but useful. I do not know how many people rely on its current precise behavior. I would guess not many, but for all I know someone has created automated test scripts that parse the output of simple_switch to recognize these messages and check their contents :-)
from pna.
Related Issues (20)
- Any desire to define behavior of add_on_miss=true table WITHOUT data plane deletions of expired entries? HOT 2
- Create functionally correct example demonstrating IPsec encryption and decryption
- Full payload checksum
- Should PNA support resubmit operation? Also: document details of recirculate operation behavior
- What do crypto offsets apply to? Packet as parsed, or packet after deparsing?
- The types of the generics in crypto_accelerator extern maybe should be a static type instead of a generics
- Add text to PNA specification on encrypt/decrypt operations HOT 4
- Add XOR hash function(s)
- Address the issue of pipelines that can have packets "pass each other up" in the middle of the pipeline HOT 1
- Add text explaining how to delete entries from the dataplane, and describe `ExpireTimeProfileId_t`.
- Minor bug in IPsec example program
- Remove last remaining occurrences of HOST_TO_NET and NET_TO_HOST from spec
- Add glossary, and consider using "inline accelerator" consistently when referring to encrypt/decrypt block
- Devise an explicit convention to document which parts of pna.p4 are intended to be vendor-customizable vs. not
- Proposal for setting packets and bytes counter widths separately HOT 5
- Lack of documentation on the optional bytes counter increment parameter HOT 7
- Should it be possible to recirculate mirrored copies of a packet ? HOT 1
- How to pass an extern object instance of type X as a parameter to a method call that is a method of type X HOT 1
- PNA spec declares headers on deparser are RO HOT 2
- PNA/PSA extern restrictions HOT 6
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from pna.