|
| XDPIngressDeparserPSA (const EBPFProgram *program, const IR::ControlBlock *control, const IR::Parameter *parserHeaders, const IR::Parameter *istd) |
|
| DECLARE_TYPEINFO (XDPIngressDeparserPSA, IngressDeparserPSA) |
|
void | emitPreDeparser (CodeBuilder *builder) override |
|
| IngressDeparserPSA (const EBPFProgram *program, const IR::ControlBlock *control, const IR::Parameter *parserHeaders, const IR::Parameter *istd) |
|
bool | build () override |
|
| DECLARE_TYPEINFO (IngressDeparserPSA, EBPFDeparserPSA) |
|
| EBPFDeparserPSA (const EBPFProgram *program, const IR::ControlBlock *control, const IR::Parameter *parserHeaders, const IR::Parameter *istd) |
|
| DECLARE_TYPEINFO (EBPFDeparserPSA, EBPFDeparser) |
|
void | emitDeclaration (CodeBuilder *builder, const IR::Declaration *decl) override |
|
void | emitDeparserExternCalls (EBPF::CodeBuilder *builder) override |
|
void | emitDigestInstances (CodeBuilder *builder) const |
|
void | emitTypes (CodeBuilder *builder) const |
|
EBPFChecksumPSA * | getChecksum (cstring name) const |
|
EBPFDigestPSA * | getDigest (cstring name) const |
|
| EBPFDeparser (const EBPFProgram *program, const IR::ControlBlock *control, const IR::Parameter *parserHeaders) |
|
| DECLARE_TYPEINFO (EBPFDeparser, EBPFControl) |
|
void | emit (CodeBuilder *builder) override |
|
void | emitBufferAdjusts (CodeBuilder *builder) const |
|
| EBPFControl (const EBPFProgram *program, const IR::ControlBlock *block, const IR::Parameter *parserHeaders) |
|
virtual void | emitTableInitializers (CodeBuilder *builder) |
|
virtual void | emitTableInstances (CodeBuilder *builder) |
|
virtual void | emitTableTypes (CodeBuilder *builder) |
|
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 |
|
|
static cstring | externalName (const IR::IDeclaration *declaration) |
|
static cstring | getSpecializedTypeName (const IR::Declaration_Instance *di) |
|
static cstring | getTypeName (const IR::Declaration_Instance *di) |
|
std::map< cstring, EBPFChecksumPSA * > | checksums |
|
std::map< cstring, EBPFDigestPSA * > | digests |
|
const IR::Parameter * | istd |
|
const IR::Parameter * | resubmit_meta |
|
const IR::Parameter * | user_metadata |
|
EBPFType * | headerType |
|
cstring | outerHdrLengthVar |
|
cstring | outerHdrOffsetVar |
|
const IR::Parameter * | packet_out |
|
cstring | returnCode |
|
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 |
|
| DECLARE_TYPEINFO (EBPFControl, EBPFObject) |
|
void | scanConstants () |
|
virtual const void * | toImpl (TypeId typeId) const noexcept=0 |
|