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

Public Member Functions

unsigned bitMaxClotPos () const override
 The maximum offset+length a CLOT can have, in bits.
 
unsigned bitMinClotPos (gress_t) const override
 The minimum offset a CLOT can have, in bits.
 
const nw_bitrange bitScratchRegisterRange (const MatchRegister &reg) const override
 
size_t byteIngressPrePacketPaddingSize () const override
 
unsigned byteInterClotGap () const override
 The minimum number of bytes required between consecutive CLOTs.
 
unsigned byteMaxClotSize () const override
 The maximum number of bytes a CLOT can hold.
 
size_t bytePhase0Size () const override
 
bool byteScratchRegisterRangeValid (nw_byterange) const override
 
double clkFreq () const override
 Clock frequency.
 
unsigned deparserChunkGroupSize () const
 
unsigned deparserChunkSize () const
 
const std::map< unsigned, unsigned > & extractorSpec () const override
 
unsigned lineRate () const override
 Max line rate per-port (Gbps)
 
const std::vector< MatchRegister > matchRegisters () const override
 Specifies the available match registers.
 
unsigned maxClotsLivePerGress () const override
 The maximum number of CLOTs that can be live for each packet in each gress.
 
unsigned maxClotsPerState () const override
 The maximum number of CLOTs that can be generated in each parser state.
 
size_t maxParseDepth (gress_t gress) const override
 The maximum parse depth for the given gress.
 
const std::vector< std::string > & mdpValidVecFields () const override
 Unused.
 
const std::unordered_set< std::string > & mdpValidVecFieldsSet () const override
 Unused.
 
size_t minParseDepth (gress_t gress) const override
 The minimum parse depth for the given gress.
 
unsigned numClotsPerDeparserGroup () const
 
unsigned numClotsPerGress () const override
 The number of CLOTs available for allocation in each gress.
 
unsigned numDeparserChecksumUnits () const override
 
unsigned numDeparserChunkGroups () const
 
unsigned numDeparserConstantBytes () const override
 
unsigned numDeparserInvertChecksumUnits () const override
 
int numParsers () const override
 Total parsers supported ingress/egress.
 
int numTcamRows () const override
 Total TCAM Rows supported ingress/egress.
 
bool parserAllExtractorsSupportSingleByte () const override
 Do all extractors support single-byte extracts?
 
const std::vector< MatchRegister > scratchRegisters () const override
 Specifies the available scracth registers.
 
- Public Member Functions inherited from PardeSpec
size_t bitIngressPrePacketPaddingSize () const
 
size_t bitPhase0Size () const
 
size_t bitResubmitSize () const
 
size_t bitResubmitTagSize () const
 
size_t byteIngressIntrinsicMetadataSize () const
 
nw_byterange byteInputBufferMetadataRange () const
 
int byteInputBufferSize () const
 The size of input buffer, in bytes.
 
size_t byteResubmitSize () const
 
size_t byteResubmitTagSize () const
 
size_t byteTotalIngressMetadataSize () const
 

Member Function Documentation

◆ bitMaxClotPos()

unsigned TofinoPardeSpec::bitMaxClotPos ( ) const
inlineoverridevirtual

The maximum offset+length a CLOT can have, in bits.

Implements PardeSpec.

◆ bitMinClotPos()

unsigned TofinoPardeSpec::bitMinClotPos ( gress_t ) const
inlineoverridevirtual

The minimum offset a CLOT can have, in bits.

Implements PardeSpec.

◆ bitScratchRegisterRange()

const nw_bitrange TofinoPardeSpec::bitScratchRegisterRange ( const MatchRegister & reg) const
inlineoverridevirtual

Implements PardeSpec.

◆ byteIngressPrePacketPaddingSize()

size_t TofinoPardeSpec::byteIngressPrePacketPaddingSize ( ) const
inlineoverridevirtual
Returns
the size in bytes of the padding between the ingress static per-port metadata and the beginning of the packet.

Implements PardeSpec.

◆ byteInterClotGap()

unsigned TofinoPardeSpec::byteInterClotGap ( ) const
inlineoverridevirtual

The minimum number of bytes required between consecutive CLOTs.

Implements PardeSpec.

◆ byteMaxClotSize()

unsigned TofinoPardeSpec::byteMaxClotSize ( ) const
inlineoverridevirtual

The maximum number of bytes a CLOT can hold.

Implements PardeSpec.

◆ bytePhase0Size()

size_t TofinoPardeSpec::bytePhase0Size ( ) const
inlineoverridevirtual
Returns
the size in bytes of the ingress static per-port metadata on this device. (This is the "phase 0" data.) On resubmitted packets, the same region is used for resubmit metadata.

Implements PardeSpec.

◆ byteScratchRegisterRangeValid()

bool TofinoPardeSpec::byteScratchRegisterRangeValid ( nw_byterange ) const
inlineoverridevirtual

Implements PardeSpec.

◆ clkFreq()

double TofinoPardeSpec::clkFreq ( ) const
inlineoverridevirtual

Clock frequency.

Implements PardeSpec.

◆ deparserChunkGroupSize()

unsigned TofinoPardeSpec::deparserChunkGroupSize ( ) const
inlinevirtual

Implements PardeSpec.

◆ deparserChunkSize()

unsigned TofinoPardeSpec::deparserChunkSize ( ) const
inlinevirtual

Implements PardeSpec.

◆ extractorSpec()

const std::map< unsigned, unsigned > & TofinoPardeSpec::extractorSpec ( ) const
inlineoverridevirtual

Specifies the available kinds of extractors, specified as sizes in bits, and the number of extractors of each kind available in each hardware parser state.

Implements PardeSpec.

◆ lineRate()

unsigned TofinoPardeSpec::lineRate ( ) const
inlineoverridevirtual

Max line rate per-port (Gbps)

Implements PardeSpec.

◆ matchRegisters()

const std::vector< MatchRegister > TofinoPardeSpec::matchRegisters ( ) const
inlineoverridevirtual

Specifies the available match registers.

Implements PardeSpec.

◆ maxClotsLivePerGress()

unsigned TofinoPardeSpec::maxClotsLivePerGress ( ) const
inlineoverridevirtual

The maximum number of CLOTs that can be live for each packet in each gress.

Implements PardeSpec.

◆ maxClotsPerState()

unsigned TofinoPardeSpec::maxClotsPerState ( ) const
inlineoverridevirtual

The maximum number of CLOTs that can be generated in each parser state.

Implements PardeSpec.

◆ maxParseDepth()

size_t TofinoPardeSpec::maxParseDepth ( gress_t ) const
inlineoverridevirtual

The maximum parse depth for the given gress.

Reimplemented from PardeSpec.

◆ mdpValidVecFields()

const std::vector< std::string > & TofinoPardeSpec::mdpValidVecFields ( ) const
inlineoverridevirtual

Unused.

Implements PardeSpec.

◆ mdpValidVecFieldsSet()

const std::unordered_set< std::string > & TofinoPardeSpec::mdpValidVecFieldsSet ( ) const
inlineoverridevirtual

Unused.

Implements PardeSpec.

◆ minParseDepth()

size_t TofinoPardeSpec::minParseDepth ( gress_t ) const
inlineoverridevirtual

The minimum parse depth for the given gress.

Reimplemented from PardeSpec.

◆ numClotsPerDeparserGroup()

unsigned TofinoPardeSpec::numClotsPerDeparserGroup ( ) const
inlinevirtual

Implements PardeSpec.

◆ numClotsPerGress()

unsigned TofinoPardeSpec::numClotsPerGress ( ) const
inlineoverridevirtual

The number of CLOTs available for allocation in each gress.

Implements PardeSpec.

◆ numDeparserChecksumUnits()

unsigned TofinoPardeSpec::numDeparserChecksumUnits ( ) const
inlineoverridevirtual

Implements PardeSpec.

◆ numDeparserChunkGroups()

unsigned TofinoPardeSpec::numDeparserChunkGroups ( ) const
inlinevirtual

Implements PardeSpec.

◆ numDeparserConstantBytes()

unsigned TofinoPardeSpec::numDeparserConstantBytes ( ) const
inlineoverridevirtual

Implements PardeSpec.

◆ numDeparserInvertChecksumUnits()

unsigned TofinoPardeSpec::numDeparserInvertChecksumUnits ( ) const
inlineoverridevirtual

Implements PardeSpec.

◆ numParsers()

int TofinoPardeSpec::numParsers ( ) const
inlineoverridevirtual

Total parsers supported ingress/egress.

Implements PardeSpec.

◆ numTcamRows()

int TofinoPardeSpec::numTcamRows ( ) const
inlineoverridevirtual

Total TCAM Rows supported ingress/egress.

Implements PardeSpec.

◆ parserAllExtractorsSupportSingleByte()

bool TofinoPardeSpec::parserAllExtractorsSupportSingleByte ( ) const
inlineoverridevirtual

Do all extractors support single-byte extracts?

Implements PardeSpec.

◆ scratchRegisters()

const std::vector< MatchRegister > TofinoPardeSpec::scratchRegisters ( ) const
inlineoverridevirtual

Specifies the available scracth registers.

Implements PardeSpec.