P4C
The P4 Compiler
|
Public Member Functions | |
EBPFControlPNA (const EBPF::EBPFProgram *program, const IR::ControlBlock *control, const IR::Parameter *parserHeaders) | |
void | emitExternDefinition (EBPF::CodeBuilder *builder) |
void | emitTableTypes (EBPF::CodeBuilder *builder) |
EBPFRegisterPNA * | getRegister (cstring name) const |
Public Member Functions inherited from P4::EBPF::EBPFControlPSA | |
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 |
EBPFHashPSA * | getHash (cstring name) const |
EBPFMeterPSA * | getMeter (cstring name) const |
EBPFRandomPSA * | getRandomExt (cstring name) const |
EBPFRegisterPSA * | getRegister (cstring name) const |
Public Member Functions inherited from P4::EBPF::EBPFControl | |
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 |
Public Member Functions inherited from P4::EBPF::EBPFObject | |
DECLARE_TYPEINFO (EBPFObject) | |
Public Member Functions inherited from P4::ICastable | |
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. | |
Public Member Functions inherited from P4::RTTI::Base | |
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 |
Public Attributes | |
bool | addExternDeclaration = false |
std::map< cstring, EBPFRegisterPNA * > | pna_registers |
Public Attributes inherited from P4::EBPF::EBPFControlPSA | |
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 |
Public Attributes inherited from P4::EBPF::EBPFControl | |
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 |
Additional Inherited Members | |
Static Public Member Functions inherited from P4::EBPF::EBPFObject | |
static cstring | externalName (const IR::IDeclaration *declaration) |
static cstring | getSpecializedTypeName (const IR::Declaration_Instance *di) |
static cstring | getTypeName (const IR::Declaration_Instance *di) |
Protected Member Functions inherited from P4::EBPF::EBPFControl | |
DECLARE_TYPEINFO (EBPFControl, EBPFObject) | |
void | scanConstants () |
Protected Member Functions inherited from P4::RTTI::Base | |
virtual const void * | toImpl (TypeId typeId) const noexcept=0 |
|
inlinevirtual |
Reimplemented from P4::EBPF::EBPFControlPSA.