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

Public Member Functions

unsigned bitMaxClotPos () const override
 The maximum offset+length a CLOT can have, in bits.
 
unsigned bitMinClotPos (gress_t gress) 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 range) 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.
 
const std::vector< std::string > & mdpValidVecFields () const override
 Unused.
 
const std::unordered_set< std::string > & mdpValidVecFieldsSet () const override
 Unused.
 
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
 
virtual size_t maxParseDepth (gress_t) const
 The maximum parse depth for the given gress.
 
virtual size_t minParseDepth (gress_t) const
 The minimum parse depth for the given gress.
 

Member Function Documentation

◆ bitMaxClotPos()

unsigned JBayPardeSpec::bitMaxClotPos ( ) const
inlineoverridevirtual

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

Implements PardeSpec.

◆ bitMinClotPos()

unsigned JBayPardeSpec::bitMinClotPos ( gress_t ) const
inlineoverridevirtual

The minimum offset a CLOT can have, in bits.

Implements PardeSpec.

◆ bitScratchRegisterRange()

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

Implements PardeSpec.

◆ byteIngressPrePacketPaddingSize()

size_t JBayPardeSpec::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 JBayPardeSpec::byteInterClotGap ( ) const
inlineoverridevirtual

The minimum number of bytes required between consecutive CLOTs.

Implements PardeSpec.

◆ byteMaxClotSize()

unsigned JBayPardeSpec::byteMaxClotSize ( ) const
inlineoverridevirtual

The maximum number of bytes a CLOT can hold.

Implements PardeSpec.

◆ bytePhase0Size()

size_t JBayPardeSpec::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 JBayPardeSpec::byteScratchRegisterRangeValid ( nw_byterange range) const
inlineoverridevirtual

Implements PardeSpec.

◆ clkFreq()

double JBayPardeSpec::clkFreq ( ) const
inlineoverridevirtual

Clock frequency.

Implements PardeSpec.

◆ deparserChunkGroupSize()

unsigned JBayPardeSpec::deparserChunkGroupSize ( ) const
inlinevirtual

Implements PardeSpec.

◆ deparserChunkSize()

unsigned JBayPardeSpec::deparserChunkSize ( ) const
inlinevirtual

Implements PardeSpec.

◆ extractorSpec()

const std::map< unsigned, unsigned > & JBayPardeSpec::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 JBayPardeSpec::lineRate ( ) const
inlineoverridevirtual

Max line rate per-port (Gbps)

Implements PardeSpec.

◆ matchRegisters()

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

Specifies the available match registers.

Implements PardeSpec.

◆ maxClotsLivePerGress()

unsigned JBayPardeSpec::maxClotsLivePerGress ( ) const
inlineoverridevirtual

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

Implements PardeSpec.

◆ maxClotsPerState()

unsigned JBayPardeSpec::maxClotsPerState ( ) const
inlineoverridevirtual

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

Implements PardeSpec.

◆ mdpValidVecFields()

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

Unused.

Implements PardeSpec.

◆ mdpValidVecFieldsSet()

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

Unused.

Implements PardeSpec.

◆ numClotsPerDeparserGroup()

unsigned JBayPardeSpec::numClotsPerDeparserGroup ( ) const
inlinevirtual

Implements PardeSpec.

◆ numClotsPerGress()

unsigned JBayPardeSpec::numClotsPerGress ( ) const
inlineoverridevirtual

The number of CLOTs available for allocation in each gress.

Implements PardeSpec.

◆ numDeparserChecksumUnits()

unsigned JBayPardeSpec::numDeparserChecksumUnits ( ) const
inlineoverridevirtual

Implements PardeSpec.

◆ numDeparserChunkGroups()

unsigned JBayPardeSpec::numDeparserChunkGroups ( ) const
inlinevirtual

Implements PardeSpec.

◆ numDeparserConstantBytes()

unsigned JBayPardeSpec::numDeparserConstantBytes ( ) const
inlineoverridevirtual

Implements PardeSpec.

◆ numDeparserInvertChecksumUnits()

unsigned JBayPardeSpec::numDeparserInvertChecksumUnits ( ) const
inlineoverridevirtual

Implements PardeSpec.

◆ numParsers()

int JBayPardeSpec::numParsers ( ) const
inlineoverridevirtual

Total parsers supported ingress/egress.

Implements PardeSpec.

◆ numTcamRows()

int JBayPardeSpec::numTcamRows ( ) const
inlineoverridevirtual

Total TCAM Rows supported ingress/egress.

Implements PardeSpec.

◆ parserAllExtractorsSupportSingleByte()

bool JBayPardeSpec::parserAllExtractorsSupportSingleByte ( ) const
inlineoverridevirtual

Do all extractors support single-byte extracts?

Implements PardeSpec.

◆ scratchRegisters()

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

Specifies the available scracth registers.

Implements PardeSpec.