P4C
The P4 Compiler
EBPF::PSAEbpfGenerator Class Referenceabstract
Inheritance diagram for EBPF::PSAEbpfGenerator:
[legend]

Public Member Functions

 PSAEbpfGenerator (const EbpfOptions &options, std::vector< EBPFType * > &ebpfTypes, EBPFPipeline *ingress, EBPFPipeline *egress)
 
virtual void emit (CodeBuilder *builder) const =0
 
void emitCommonPreamble (CodeBuilder *builder) const override
 
void emitCRC32LookupTableInitializer (CodeBuilder *builder) const
 
void emitCRC32LookupTableInstance (CodeBuilder *builder) const
 
void emitCRC32LookupTableTypes (CodeBuilder *builder) const
 
void emitGlobalHeadersMetadata (CodeBuilder *builder) const override
 
void emitHelperFunctions (CodeBuilder *builder) const
 
void emitInitializer (CodeBuilder *builder) const
 
virtual void emitInitializerSection (CodeBuilder *builder) const =0
 
virtual void emitInstances (EBPF::CodeBuilder *builder) const =0
 
void emitInternalStructures (CodeBuilder *pBuilder) const override
 
void emitPacketReplicationTables (CodeBuilder *builder) const
 
void emitPipelineInstances (CodeBuilder *builder) const override
 
void emitPreamble (CodeBuilder *builder) const override
 
void emitPSAIncludes (CodeBuilder *builder) const
 
void emitTypes (CodeBuilder *builder) const override
 
- Public Member Functions inherited from EBPF::EbpfCodeGenerator
 EbpfCodeGenerator (const EbpfOptions &options, std::vector< EBPF::EBPFType * > &ebpfTypes)
 

Public Attributes

EBPFPipelineegress
 
EBPFPipelineingress
 
- Public Attributes inherited from EBPF::EbpfCodeGenerator
std::vector< EBPF::EBPFType * > ebpfTypes
 
const EbpfOptionsoptions
 

Static Public Attributes

static const unsigned MaxClones = 64
 
static const unsigned MaxCloneSessions = 1024