Closed abraham-al-bashki closed 2 years ago
That's a bit of a vague question, and I think this kind of thing is better discussed on the P4 forum: https://forum.p4.org/
p4runtime-shell is a CLI tool which communicates with a P4Runtime server implementation. It doesn't itself store any state related to P4 forwarding state, such as table entries. When you read table entries using p4runtime-shell, it retrieves this state from the P4Runtime server. The P4Runtime spec doesn't mandate how the P4Runtime server needs to retrieve table entries. Some implementations may read table entries from "hardware" by querying a vendor-specific SDK. Some implementations may maintain a software cache and return table entries from that cache, without reading them from hardware (it is the responsibility of the P4Runtime implementation to ensure consistency between software cache and hardware state in that case). Some implementations may do a mix of the 2 options.
Where is the information about table entries saved? Are there some temporary file that you can check inside? We are using the P4Pi framework.