|
| P4RuntimeArchHandlerPNA (ReferenceMap *refMap, TypeMap *typeMap, const IR::ToplevelBlock *evaluatedProgram) |
|
Public Member Functions inherited from P4::ControlPlaneAPI::Standard::P4RuntimeArchHandlerPSAPNA< Arch::PNA > |
| P4RuntimeArchHandlerPSAPNA (ReferenceMap *refMap, TypeMap *typeMap, const IR::ToplevelBlock *evaluatedProgram) |
|
void | addExternInstance (const P4RuntimeSymbolTableIface &symbols, p4configv1::P4Info *p4info, const IR::ExternBlock *externBlock) override |
|
void | addTableProperties (const P4RuntimeSymbolTableIface &symbols, p4configv1::P4Info *p4info, p4configv1::Table *table, const IR::TableBlock *tableBlock) override |
|
void | collectExternInstance (P4RuntimeSymbolTableIface *symbols, const IR::ExternBlock *externBlock) override |
| Collects architecture-specific @externBlock instance in @symbols table.
|
|
std::optional< Digest > | getDigest (const IR::Declaration_Instance *decl, p4configv1::P4TypeInfo *p4RtTypeInfo) |
|
Public Member Functions inherited from P4::ControlPlaneAPI::P4RuntimeArchHandlerIface |
virtual void | addExternFunction (const P4RuntimeSymbolTableIface &symbols, ::p4::config::v1::P4Info *p4info, const P4::ExternFunction *externFunction)=0 |
|
virtual void | addExternInstance (const P4RuntimeSymbolTableIface &symbols, ::p4::config::v1::P4Info *p4info, const IR::ExternBlock *externBlock)=0 |
|
virtual void | addTableProperties (const P4RuntimeSymbolTableIface &symbols, ::p4::config::v1::P4Info *p4info, ::p4::config::v1::Table *table, const IR::TableBlock *tableBlock)=0 |
|
virtual cstring | getControlPlaneName (const IR::Block *block) |
| Get control plane name for @block.
|
|
|
Static Public Member Functions inherited from P4::ControlPlaneAPI::Standard::P4RuntimeArchHandlerPSAPNA< Arch::PNA > |
static bool | getSupportsTimeout (const IR::P4Table *table) |
|
Protected Types inherited from P4::ControlPlaneAPI::Standard::P4RuntimeArchHandlerCommon< arch > |
using | ArchCounterExtern = CounterExtern<arch> |
|
using | ArchMeterExtern = MeterExtern<arch> |
|
using | Counter = p4configv1::Counter |
|
using | CounterSpec = p4configv1::CounterSpec |
|
using | CounterTraits = Helpers::CounterlikeTraits<ArchCounterExtern> |
|
using | Meter = p4configv1::Meter |
|
using | MeterSpec = p4configv1::MeterSpec |
|
using | MeterTraits = Helpers::CounterlikeTraits<ArchMeterExtern> |
|
Protected Member Functions inherited from P4::ControlPlaneAPI::Standard::P4RuntimeArchHandlerCommon< arch > |
| P4RuntimeArchHandlerCommon (ReferenceMap *refMap, TypeMap *typeMap, const IR::ToplevelBlock *evaluatedProgram) |
|
void | addActionProfile (const P4RuntimeSymbolTableIface &symbols, p4configv1::P4Info *p4Info, const ActionProfile &actionProfile) |
|
void | addCounter (const P4RuntimeSymbolTableIface &symbols, p4configv1::P4Info *p4Info, const Helpers::Counterlike< ArchCounterExtern > &counterInstance) |
|
void | addDigest (const P4RuntimeSymbolTableIface &symbols, p4configv1::P4Info *p4Info, const Digest &digest) |
|
void | addExternEntries (const p4::v1::WriteRequest *, const P4RuntimeSymbolTableIface &, const IR::ExternBlock *) override |
| This method is called to add target specific extern entries.
|
|
void | addExternFunction (const P4RuntimeSymbolTableIface &, p4configv1::P4Info *, const P4::ExternFunction *) override |
|
void | addExternInstance (const P4RuntimeSymbolTableIface &symbols, p4configv1::P4Info *p4info, const IR::ExternBlock *externBlock) override |
|
void | addMeter (const P4RuntimeSymbolTableIface &symbols, p4configv1::P4Info *p4Info, const Helpers::Counterlike< ArchMeterExtern > &meterInstance) |
|
void | addRegister (const P4RuntimeSymbolTableIface &symbols, p4configv1::P4Info *p4Info, const Register ®isterInstance) |
|
void | addTableProperties (const P4RuntimeSymbolTableIface &symbols, p4configv1::P4Info *p4info, p4configv1::Table *table, const IR::TableBlock *tableBlock) override |
|
void | collectAssignmentStatement (P4RuntimeSymbolTableIface *, const IR::AssignmentStatement *) override |
| Collects architecture-specific used in assignment statements.
|
|
void | collectExternFunction (P4RuntimeSymbolTableIface *symbols, const P4::ExternFunction *externFunction) override |
|
void | collectExternMethod (P4RuntimeSymbolTableIface *, const P4::ExternMethod *) override |
| Collects architecture-specific @externMethod instance in @symbols table.
|
|
void | collectExtra (P4RuntimeSymbolTableIface *symbols) override |
|
void | collectTableProperties (P4RuntimeSymbolTableIface *symbols, const IR::TableBlock *tableBlock) override |
|
bool | filterAnnotations (cstring) override |
| called when processing annotations via setPreamble
|
|
google::protobuf::util::JsonPrintOptions | getJsonPrintOptions () override |
| Control how JSON is output.
|
|
void | postAdd (const P4RuntimeSymbolTableIface &, ::p4::config::v1::P4Info *) override |
|
void | postCollect (const P4RuntimeSymbolTableIface &symbols) override |
|
template<typename Kind > |
void | setCounterCommon (const P4RuntimeSymbolTableIface &symbols, Kind *counter, p4rt_id_t id, const Helpers::Counterlike< ArchCounterExtern > &counterInstance) |
| Set common fields between Counter and DirectCounter.
|
|
template<typename Kind > |
void | setMeterCommon (const P4RuntimeSymbolTableIface &symbols, Kind *meter, p4rt_id_t id, const Helpers::Counterlike< ArchMeterExtern > &meterInstance) |
| Set common fields between Meter and DirectMeter.
|
|
Static Protected Member Functions inherited from P4::ControlPlaneAPI::Standard::P4RuntimeArchHandlerCommon< arch > |
static std::optional< ActionProfile > | getActionProfile (const IR::ExternBlock *instance) |
|
static std::optional< ActionProfile > | getActionProfile (const IR::P4Table *table, ReferenceMap *refMap, TypeMap *typeMap) |
|
static std::optional< ActionProfile > | getActionProfile (cstring name, const IR::Type_Extern *type, int64_t size, const IR::IAnnotated *annotations) |
|
static const IR::IAnnotated * | getTableImplementationAnnotations (const IR::P4Table *table, ReferenceMap *refMap) |
|
static std::optional< cstring > | getTableImplementationName (const IR::P4Table *table, ReferenceMap *refMap) |
|
static const IR::Property * | getTableImplementationProperty (const IR::P4Table *table) |
|
Protected Attributes inherited from P4::ControlPlaneAPI::Standard::P4RuntimeArchHandlerCommon< arch > |
std::unordered_map< cstring, std::set< cstring > > | actionProfilesRefs |
|
const IR::ToplevelBlock * | evaluatedProgram |
|
google::protobuf::util::JsonPrintOptions | jsonPrintOptions |
|
ReferenceMap * | refMap |
|
std::set< p4rt_id_t > | serializedInstances |
| The extern instances we've serialized so far. Used for deduplication.
|
|
TypeMap * | typeMap |
|