P4C
The P4 Compiler
|
Public Member Functions | |
InternetChecksumAlgorithm (const EBPFProgram *program, cstring name) | |
void | emitAddData (CodeBuilder *builder, const ArgumentsList &arguments) override |
void | emitClear (CodeBuilder *builder) override |
void | emitGet (CodeBuilder *builder) override |
void | emitGetInternalState (CodeBuilder *builder) override |
void | emitSetInternalState (CodeBuilder *builder, const IR::MethodCallExpression *expr) override |
void | emitSubtractData (CodeBuilder *builder, const ArgumentsList &arguments) override |
void | emitVariables (CodeBuilder *builder, const IR::Declaration_Instance *decl) override |
decl might be a null pointer | |
unsigned | getOutputWidth () const override |
Public Member Functions inherited from P4::EBPF::EBPFHashAlgorithmPSA | |
EBPFHashAlgorithmPSA (const EBPFProgram *program, cstring name) | |
virtual void | emitAddData (CodeBuilder *builder, int dataPos, const IR::MethodCallExpression *expr) |
virtual void | emitSubtractData (CodeBuilder *builder, int dataPos, const IR::MethodCallExpression *expr) |
void | setVisitor (Visitor *instance) |
Public Member Functions inherited from P4::EBPF::EBPFObject | |
DECLARE_TYPEINFO (EBPFObject) | |
Public Member Functions inherited from P4::ICastable | |
template<typename T > | |
T & | as () |
Tries to convert the class to type T. A BUG occurs if the cast fails. | |
template<typename T > | |
const T & | as () const |
Tries to convert the class to type T. A BUG occurs if the cast fails. | |
template<typename T > | |
T * | checkedTo () |
Performs a checked cast. A BUG occurs if the cast fails. | |
template<typename T > | |
const T * | checkedTo () const |
Performs a checked cast. A BUG occurs if the cast fails. | |
Public Member Functions inherited from P4::RTTI::Base | |
template<typename T > | |
bool | is () const noexcept |
virtual bool | isA (TypeId typeId) const noexcept=0 |
template<typename T > | |
const T * | to () const noexcept |
Same as to , but returns const pointer to T. | |
template<typename T > | |
T * | to () noexcept |
virtual TypeId | typeId () const noexcept=0 |
Static Public Member Functions | |
static void | emitGlobals (CodeBuilder *builder) |
Static Public Member Functions inherited from P4::EBPF::EBPFObject | |
static cstring | externalName (const IR::IDeclaration *declaration) |
static cstring | getSpecializedTypeName (const IR::Declaration_Instance *di) |
static cstring | getTypeName (const IR::Declaration_Instance *di) |
Protected Member Functions | |
void | updateChecksum (CodeBuilder *builder, const ArgumentsList &arguments, bool addData) |
Protected Member Functions inherited from P4::EBPF::EBPFHashAlgorithmPSA | |
ArgumentsList | unpackArguments (const IR::MethodCallExpression *expr, int dataPos) |
Protected Member Functions inherited from P4::RTTI::Base | |
virtual const void * | toImpl (TypeId typeId) const noexcept=0 |
Protected Attributes | |
cstring | stateVar |
Protected Attributes inherited from P4::EBPF::EBPFHashAlgorithmPSA | |
cstring | baseName |
const EBPFProgram * | program |
Visitor * | visitor |
Additional Inherited Members | |
Public Types inherited from P4::EBPF::EBPFHashAlgorithmPSA | |
typedef std::vector< const IR::Expression * > | ArgumentsList |
enum | HashAlgorithm { IDENTITY , CRC32 , CRC32_CUSTOM , CRC16 , CRC16_CUSTOM , ONES_COMPLEMENT16 , TARGET_DEFAULT } |
Keep this enum in sync with psa.p4 file. | |
|
overridevirtual |
Implements P4::EBPF::EBPFHashAlgorithmPSA.
|
overridevirtual |
Implements P4::EBPF::EBPFHashAlgorithmPSA.
|
overridevirtual |
Implements P4::EBPF::EBPFHashAlgorithmPSA.
|
overridevirtual |
Implements P4::EBPF::EBPFHashAlgorithmPSA.
|
overridevirtual |
Implements P4::EBPF::EBPFHashAlgorithmPSA.
|
overridevirtual |
Implements P4::EBPF::EBPFHashAlgorithmPSA.
|
overridevirtual |
decl might be a null pointer
Implements P4::EBPF::EBPFHashAlgorithmPSA.
|
inlineoverridevirtual |
Reimplemented from P4::EBPF::EBPFHashAlgorithmPSA.