![]() |
P4C
The P4 Compiler
|
#include <parde_spec.h>
Public Member Functions | |
size_t | bitIngressPrePacketPaddingSize () const |
virtual unsigned | bitMaxClotPos () const =0 |
The maximum offset+length a CLOT can have, in bits. | |
virtual unsigned | bitMinClotPos (gress_t) const =0 |
The minimum offset a CLOT can have, in bits. | |
size_t | bitPhase0Size () const |
size_t | bitResubmitSize () const |
size_t | bitResubmitTagSize () const |
virtual const nw_bitrange | bitScratchRegisterRange (const MatchRegister ®) const =0 |
size_t | byteIngressIntrinsicMetadataSize () const |
virtual size_t | byteIngressPrePacketPaddingSize () const =0 |
nw_byterange | byteInputBufferMetadataRange () const |
int | byteInputBufferSize () const |
The size of input buffer, in bytes. | |
virtual unsigned | byteInterClotGap () const =0 |
The minimum number of bytes required between consecutive CLOTs. | |
virtual unsigned | byteMaxClotSize () const =0 |
The maximum number of bytes a CLOT can hold. | |
virtual size_t | bytePhase0Size () const =0 |
size_t | byteResubmitSize () const |
size_t | byteResubmitTagSize () const |
virtual bool | byteScratchRegisterRangeValid (nw_byterange range) const =0 |
size_t | byteTotalIngressMetadataSize () const |
virtual double | clkFreq () const =0 |
Clock frequency. | |
virtual unsigned | deparserChunkGroupSize () const =0 |
virtual unsigned | deparserChunkSize () const =0 |
virtual const std::map< unsigned, unsigned > & | extractorSpec () const =0 |
virtual unsigned | lineRate () const =0 |
Max line rate per-port (Gbps) | |
virtual const std::vector< MatchRegister > | matchRegisters () const =0 |
Specifies the available match registers. | |
virtual unsigned | maxClotsLivePerGress () const =0 |
The maximum number of CLOTs that can be live for each packet in each gress. | |
virtual unsigned | maxClotsPerState () const =0 |
The maximum number of CLOTs that can be generated in each parser state. | |
virtual size_t | maxParseDepth (gress_t) const |
The maximum parse depth for the given gress. | |
virtual const std::vector< std::string > & | mdpValidVecFields () const =0 |
Unused. | |
virtual const std::unordered_set< std::string > & | mdpValidVecFieldsSet () const =0 |
Unused. | |
virtual size_t | minParseDepth (gress_t) const |
The minimum parse depth for the given gress. | |
virtual unsigned | numClotsPerDeparserGroup () const =0 |
virtual unsigned | numClotsPerGress () const =0 |
The number of CLOTs available for allocation in each gress. | |
virtual unsigned | numDeparserChecksumUnits () const =0 |
virtual unsigned | numDeparserChunkGroups () const =0 |
virtual unsigned | numDeparserConstantBytes () const =0 |
virtual unsigned | numDeparserInvertChecksumUnits () const =0 |
virtual int | numParsers () const =0 |
Total parsers supported ingress/egress. | |
virtual int | numTcamRows () const =0 |
Total TCAM Rows supported ingress/egress. | |
virtual bool | parserAllExtractorsSupportSingleByte () const =0 |
Do all extractors support single-byte extracts? | |
virtual const std::vector< MatchRegister > | scratchRegisters () const =0 |
Specifies the available scracth registers. | |
Midend passes related to deparsing:
Backend passes related to deparsing:
|
pure virtual |
The maximum offset+length a CLOT can have, in bits.
Implemented in JBayPardeSpec, and TofinoPardeSpec.
|
pure virtual |
The minimum offset a CLOT can have, in bits.
Implemented in JBayPardeSpec, and TofinoPardeSpec.
|
inline |
|
inline |
|
inline |
|
pure virtual |
Implemented in JBayPardeSpec, and TofinoPardeSpec.
|
inline |
The region of the input buffer that contains special intrinsic metadata rather than packet data. In bytes.
|
pure virtual |
The minimum number of bytes required between consecutive CLOTs.
Implemented in JBayPardeSpec, and TofinoPardeSpec.
|
pure virtual |
The maximum number of bytes a CLOT can hold.
Implemented in JBayPardeSpec, and TofinoPardeSpec.
|
pure virtual |
Implemented in JBayPardeSpec, and TofinoPardeSpec.
|
inline |
|
pure virtual |
Clock frequency.
Implemented in JBayPardeSpec, and TofinoPardeSpec.
|
pure virtual |
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.
Implemented in JBayPardeSpec, and TofinoPardeSpec.
|
pure virtual |
Max line rate per-port (Gbps)
Implemented in JBayPardeSpec, and TofinoPardeSpec.
|
pure virtual |
Specifies the available match registers.
Implemented in JBayPardeSpec, and TofinoPardeSpec.
|
pure virtual |
The maximum number of CLOTs that can be live for each packet in each gress.
Implemented in JBayPardeSpec, and TofinoPardeSpec.
|
pure virtual |
The maximum number of CLOTs that can be generated in each parser state.
Implemented in JBayPardeSpec, and TofinoPardeSpec.
|
inlinevirtual |
The maximum parse depth for the given gress.
Reimplemented in TofinoPardeSpec.
|
pure virtual |
Unused.
Implemented in JBayPardeSpec, and TofinoPardeSpec.
|
pure virtual |
Unused.
Implemented in JBayPardeSpec, and TofinoPardeSpec.
|
inlinevirtual |
The minimum parse depth for the given gress.
Reimplemented in TofinoPardeSpec.
|
pure virtual |
The number of CLOTs available for allocation in each gress.
Implemented in JBayPardeSpec, and TofinoPardeSpec.
|
pure virtual |
Total parsers supported ingress/egress.
Implemented in JBayPardeSpec, and TofinoPardeSpec.
|
pure virtual |
Total TCAM Rows supported ingress/egress.
Implemented in JBayPardeSpec, and TofinoPardeSpec.
|
pure virtual |
Do all extractors support single-byte extracts?
Implemented in JBayPardeSpec, and TofinoPardeSpec.
|
pure virtual |
Specifies the available scracth registers.
Implemented in JBayPardeSpec, and TofinoPardeSpec.