P4C
The P4 Compiler
Loading...
Searching...
No Matches
P4::UBPF::UbpfTarget Class Reference
Inheritance diagram for P4::UBPF::UbpfTarget:
[legend]

Public Member Functions

cstring abortReturnCode () const override
 
cstring dataEnd (UNUSED cstring base) const override
 
cstring dataLength (UNUSED cstring base) const override
 
cstring dataOffset (UNUSED cstring base) const override
 
cstring dropReturnCode () const override
 
void emitChecksumHelpers (EBPF::CodeBuilder *builder) const
 
void emitCodeSection (Util::SourceCodeBuilder *, cstring) const override
 
void emitGetFromStandardMetadata (Util::SourceCodeBuilder *builder, cstring stdMetadataVar, cstring metadataField) const
 
void emitGetPacketData (Util::SourceCodeBuilder *builder, cstring ctxVar) const
 
void emitIncludes (Util::SourceCodeBuilder *builder) const override
 
void emitLicense (Util::SourceCodeBuilder *, cstring) const override
 
void emitMain (UNUSED Util::SourceCodeBuilder *builder, UNUSED cstring functionName, UNUSED cstring argName) const override
 
void emitMain (Util::SourceCodeBuilder *builder, cstring functionName, cstring argName, cstring standardMetadata) const
 
void emitResizeBuffer (Util::SourceCodeBuilder *builder, cstring buffer, cstring offsetVar) const override
 
void emitTableDecl (Util::SourceCodeBuilder *builder, cstring tblName, EBPF::TableKind tableKind, cstring keyType, cstring valueType, unsigned size) const override
 
void emitTableLookup (Util::SourceCodeBuilder *builder, cstring tblName, cstring key, cstring value) const override
 
void emitTableUpdate (Util::SourceCodeBuilder *builder, cstring tblName, cstring key, cstring value) const override
 
void emitUbpfHelpers (EBPF::CodeBuilder *builder) const
 
void emitUserTableUpdate (UNUSED Util::SourceCodeBuilder *builder, UNUSED cstring tblName, UNUSED cstring key, UNUSED cstring value) const override
 
cstring forwardReturnCode () const override
 
cstring packetDescriptorType () const override
 
cstring sysMapPath () const override
 
- Public Member Functions inherited from P4::EBPF::Target
virtual cstring dataEnd (cstring base) const =0
 
virtual cstring dataLength (cstring base) const =0
 
virtual cstring dataOffset (cstring base) const =0
 
virtual void emitMain (Util::SourceCodeBuilder *builder, cstring functionName, cstring argName) const =0
 
virtual void emitMapInMapDecl (Util::SourceCodeBuilder *builder, cstring innerName, TableKind innerTableKind, cstring innerKeyType, cstring innerValueType, unsigned innerSize, cstring outerName, TableKind outerTableKind, cstring outerKeyType, unsigned outerSize) const
 
virtual void emitPreamble (Util::SourceCodeBuilder *builder) const
 
virtual void emitTableDeclSpinlock (Util::SourceCodeBuilder *builder, cstring tblName, TableKind tableKind, cstring keyType, cstring valueType, unsigned size) const
 
virtual void emitTraceMessage (Util::SourceCodeBuilder *builder, const char *format) const
 
virtual void emitTraceMessage (Util::SourceCodeBuilder *builder, const char *format, int argc,...) const
 
virtual void emitUserTableUpdate (Util::SourceCodeBuilder *builder, cstring tblName, cstring key, cstring value) const =0
 

Additional Inherited Members

- Public Attributes inherited from P4::EBPF::Target
const cstring name
 
- Protected Member Functions inherited from P4::EBPF::Target
 Target (cstring name)
 

Member Function Documentation

◆ abortReturnCode()

cstring P4::UBPF::UbpfTarget::abortReturnCode ( ) const
inlineoverridevirtual

Implements P4::EBPF::Target.

◆ dropReturnCode()

cstring P4::UBPF::UbpfTarget::dropReturnCode ( ) const
inlineoverridevirtual

Implements P4::EBPF::Target.

◆ emitCodeSection()

void P4::UBPF::UbpfTarget::emitCodeSection ( Util::SourceCodeBuilder * ,
cstring  ) const
inlineoverridevirtual

Implements P4::EBPF::Target.

◆ emitIncludes()

void P4::UBPF::UbpfTarget::emitIncludes ( Util::SourceCodeBuilder * builder) const
overridevirtual

Implements P4::EBPF::Target.

◆ emitLicense()

void P4::UBPF::UbpfTarget::emitLicense ( Util::SourceCodeBuilder * ,
cstring  ) const
inlineoverridevirtual

Implements P4::EBPF::Target.

◆ emitResizeBuffer()

void P4::UBPF::UbpfTarget::emitResizeBuffer ( Util::SourceCodeBuilder * builder,
cstring buffer,
cstring offsetVar ) const
overridevirtual

Implements P4::EBPF::Target.

◆ emitTableDecl()

void P4::UBPF::UbpfTarget::emitTableDecl ( Util::SourceCodeBuilder * builder,
cstring tblName,
EBPF::TableKind tableKind,
cstring keyType,
cstring valueType,
unsigned size ) const
overridevirtual

Implements P4::EBPF::Target.

◆ emitTableLookup()

void P4::UBPF::UbpfTarget::emitTableLookup ( Util::SourceCodeBuilder * builder,
cstring tblName,
cstring key,
cstring value ) const
overridevirtual

Implements P4::EBPF::Target.

◆ emitTableUpdate()

void P4::UBPF::UbpfTarget::emitTableUpdate ( Util::SourceCodeBuilder * builder,
cstring tblName,
cstring key,
cstring value ) const
overridevirtual

Implements P4::EBPF::Target.

◆ forwardReturnCode()

cstring P4::UBPF::UbpfTarget::forwardReturnCode ( ) const
inlineoverridevirtual

Implements P4::EBPF::Target.

◆ packetDescriptorType()

cstring P4::UBPF::UbpfTarget::packetDescriptorType ( ) const
inlineoverridevirtual

Implements P4::EBPF::Target.

◆ sysMapPath()

cstring P4::UBPF::UbpfTarget::sysMapPath ( ) const
inlineoverridevirtual

Implements P4::EBPF::Target.