|
| EBPFControlPSA (const EBPFProgram *program, const IR::ControlBlock *control, const IR::Parameter *parserHeaders) |
|
| DECLARE_TYPEINFO (EBPFControlPSA, EBPFControl) |
|
void | emit (CodeBuilder *builder) override |
|
void | emitTableInitializers (CodeBuilder *builder) override |
|
void | emitTableInstances (CodeBuilder *builder) override |
|
void | emitTableTypes (CodeBuilder *builder) override |
|
EBPFHashPSA * | getHash (cstring name) const |
|
EBPFMeterPSA * | getMeter (cstring name) const |
|
EBPFRandomPSA * | getRandomExt (cstring name) const |
|
EBPFRegisterPSA * | getRegister (cstring name) const |
|
| EBPFControl (const EBPFProgram *program, const IR::ControlBlock *block, const IR::Parameter *parserHeaders) |
|
virtual bool | build () |
|
virtual void | emitDeclaration (CodeBuilder *builder, const IR::Declaration *decl) |
|
EBPFCounterTable * | getCounter (cstring name) const |
|
EBPFTable * | getTable (cstring name) 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 |
|
|
std::map< cstring, EBPFHashPSA * > | hashes |
|
const IR::Parameter * | inputStandardMetadata |
|
std::map< cstring, EBPFMeterPSA * > | meters |
|
const IR::Parameter * | outputStandardMetadata |
|
std::map< cstring, EBPFRandomPSA * > | randoms |
|
std::map< cstring, EBPFRegisterPSA * > | registers |
|
bool | timestampIsUsed = false |
| Keeps track if ingress_timestamp or egress_timestamp is used within a control block.
|
|
const IR::Parameter * | user_metadata |
|
const IR::Parameter * | accept |
|
ControlBodyTranslator * | codeGen |
|
const IR::ControlBlock * | controlBlock |
|
std::map< cstring, EBPFCounterTable * > | counters |
|
const bool | emitExterns |
|
const IR::Parameter * | headers |
|
cstring | hitVariable |
| Replace references to headers with references to parserHeaders.
|
|
const IR::Parameter * | parserHeaders |
|
const EBPFProgram * | program |
|
std::map< cstring, EBPFTable * > | tables |
|
std::set< const IR::Parameter * > | toDereference |
|
const IR::Parameter * | xdpInputMeta |
|
const IR::Parameter * | xdpOutputMeta |
|