|
| EBPFTablePNA (const EBPF::EBPFProgram *program, const IR::TableBlock *table, EBPF::CodeGenInspector *codeGen, const ConvertToBackendIR *tcIR) |
|
| DECLARE_TYPEINFO (EBPFTablePNA, EBPF::EBPFTablePSA) |
|
void | emitAction (EBPF::CodeBuilder *builder, cstring valueName, cstring actionRunVariable) override |
|
void | emitActionArguments (EBPF::CodeBuilder *builder, const IR::P4Action *action, cstring name) |
|
void | emitDefaultActionStruct (EBPF::CodeBuilder *builder) |
|
void | emitInitializer (EBPF::CodeBuilder *builder) override |
|
void | emitKeyPNA (EBPF::CodeBuilder *builder, cstring keyName) |
|
void | emitKeyType (EBPF::CodeBuilder *builder) override |
|
void | emitValueActionIDNames (EBPF::CodeBuilder *builder) override |
|
void | emitValueStructStructure (EBPF::CodeBuilder *builder) override |
|
void | emitValueType (EBPF::CodeBuilder *builder) override |
|
bool | isMatchTypeSupported (const IR::Declaration_ID *matchType) override |
|
cstring | p4ActionToActionIDName (const IR::P4Action *action) const |
|
| EBPFTablePSA (const EBPFProgram *program, CodeGenInspector *codeGen, cstring name) |
|
| EBPFTablePSA (const EBPFProgram *program, const IR::TableBlock *table, CodeGenInspector *codeGen) |
|
bool | cacheEnabled () override |
|
| DECLARE_TYPEINFO (EBPFTablePSA, EBPFTable) |
|
bool | dropOnNoMatchingEntryFound () const override |
|
void | emitCacheInstance (CodeBuilder *builder) |
|
void | emitCacheLookup (CodeBuilder *builder, cstring key, cstring value) override |
|
virtual void | emitCacheTypes (CodeBuilder *builder) |
|
void | emitCacheUpdate (CodeBuilder *builder, cstring key, cstring value) override |
|
void | emitDirectValueTypes (CodeBuilder *builder) override |
|
void | emitInstance (CodeBuilder *builder) override |
|
void | emitLookupDefault (CodeBuilder *builder, cstring key, cstring value, cstring actionRunVariable) override |
|
void | emitTypes (CodeBuilder *builder) override |
|
const IR::PathExpression * | getActionNameExpression (const IR::Expression *expr) const |
|
EBPFCounterPSA * | getDirectCounter (cstring name) const |
|
EBPFMeterPSA * | getMeter (cstring name) const |
|
| EBPFTable (const EBPFProgram *program, CodeGenInspector *codeGen, cstring name) |
|
| EBPFTable (const EBPFProgram *program, const IR::TableBlock *table, CodeGenInspector *codeGen) |
|
| DECLARE_TYPEINFO (EBPFTable, EBPFTableBase) |
|
void | emitActionArguments (CodeBuilder *builder, const IR::P4Action *action, cstring name) |
|
void | emitKey (CodeBuilder *builder, cstring keyName) |
|
virtual void | emitLookup (CodeBuilder *builder, cstring key, cstring value) |
|
bool | isLPMTable () const |
|
bool | isTernaryTable () const |
|
cstring | p4ActionToActionIDName (const IR::P4Action *action) const |
|
| DECLARE_TYPEINFO (EBPFObject) |
|
template<typename T > |
T & | as () |
| Tries to convert the class to type T. A BUG occurs if the cast fails.
|
|
template<typename T > |
const T & | as () const |
| Tries to convert the class to type T. A BUG occurs if the cast fails.
|
|
template<typename T > |
T * | checkedTo () |
| Performs a checked cast. A BUG occurs if the cast fails.
|
|
template<typename T > |
const T * | checkedTo () const |
| Performs a checked cast. A BUG occurs if the cast fails.
|
|
template<typename T > |
bool | is () const noexcept |
|
virtual bool | isA (TypeId typeId) const noexcept=0 |
|
template<typename T > |
const T * | to () const noexcept |
| Same as to , but returns const pointer to T.
|
|
template<typename T > |
T * | to () noexcept |
|
virtual TypeId | typeId () const noexcept=0 |
|
|
EBPF::ActionTranslationVisitor * | createActionTranslationVisitor (cstring valueName, const EBPF::EBPFProgram *program, const IR::P4Action *action, bool isDefaultAction) const |
|
void | initDirectCounters () |
|
void | initDirectMeters () |
|
void | validateKeys () const override |
|
ActionTranslationVisitor * | createActionTranslationVisitor (cstring valueName, const EBPFProgram *program) const override |
|
void | createCacheTypeNames (bool isCacheKeyType, bool isCacheValueType) |
|
void | emitConstEntriesInitializer (CodeBuilder *builder) |
|
void | emitDefaultActionInitializer (CodeBuilder *builder) |
|
void | emitKeyMasks (CodeBuilder *builder, EntriesGroupedByMask_t &entriesGroupedByMask, std::vector< cstring > &keyMasksNames) |
|
void | emitKeysAndValues (CodeBuilder *builder, EntriesGroup_t &sameMaskEntries, std::vector< cstring > &keyNames, std::vector< cstring > &valueNames) |
|
void | emitMapUpdateTraceMsg (CodeBuilder *builder, cstring mapName, cstring returnCode) const |
|
void | emitTableValue (CodeBuilder *builder, const IR::Expression *expr, cstring valueName) |
|
void | emitTernaryConstEntriesInitializer (CodeBuilder *builder) |
|
void | emitValueMask (CodeBuilder *builder, cstring valueMask, cstring nextMask, int tupleId) const |
|
void | initDirectCounters () |
|
void | initDirectMeters () |
|
void | initImplementation () |
|
void | tryEnableTableCache () |
|
void | emitTernaryInstance (CodeBuilder *builder) |
|
| EBPFTableBase (const EBPFProgram *program, cstring instanceName, CodeGenInspector *codeGen) |
|
| DECLARE_TYPEINFO (EBPFTableBase, EBPFObject) |
|
virtual const void * | toImpl (TypeId typeId) const noexcept=0 |
|