P4C
The P4 Compiler
Loading...
Searching...
No Matches
P4::DpdkProgramStructure Struct Reference

Collect information related to P4 programs targeting dpdk. More...

#include <dpdkProgramStructure.h>

Public Member Functions

void addHeaderInstances (const IR::DpdkHeaderInstance *d)
 
IR::IndexedVector< IR::DpdkDeclaration > & get_globals ()
 
bool hasVisited (const IR::Type_StructLike *st)
 
bool isPNA (void)
 Predicate that states whether architecture is PNA or not.
 
bool isPSA (void)
 Predicate that states whether architecture is PSA or not.
 
void push_variable (const IR::DpdkDeclaration *d)
 

Public Attributes

ordered_map< cstring, const IR::P4Action * > actions
 
std::map< const cstring, IR::IndexedVector< IR::Parameter > * > args_struct_map
 
IR::IndexedVector< IR::StructField > compiler_added_fields
 
std::map< const IR::Declaration_Instance *, cstringcsum_map
 
ordered_map< cstring, IR::ParameterList * > defActionParamList
 
ordered_map< cstring, const IR::P4Control * > deparsers
 
ordered_map< const IR::P4Control *, cstringdeparsers_rev
 
ordered_map< cstring, const IR::P4Table * > direct_resource_map
 
std::map< cstring, int > error_map
 
std::vector< const IR::Declaration_Instance * > externDecls
 
std::map< cstring, const IR::P4Table * > group_tables
 
ordered_map< cstring, std::vector< struct hdrFieldInfo > > hdrFieldInfoList
 
ordered_map< cstring, const IR::DpdkHeaderInstance * > header_instances
 
ordered_map< cstring, const IR::Declaration_Variable * > header_stacks
 
cstring header_type = cstring::empty
 
ordered_map< cstring, const IR::Type_Header * > header_types
 
ordered_map< cstring, const IR::Type_HeaderUnion * > header_union_types
 
ordered_map< cstring, const IR::Declaration_Variable * > header_unions
 
ordered_map< cstring, const IR::Declaration_Variable * > headers
 
IR::Expression * ipsec_header
 
IR::IndexedVector< IR::StructField > key_fields
 
std::map< cstring, std::vector< std::pair< cstring, cstring > > > key_map
 
ordered_map< std::pair< cstring, cstring >, cstringlearner_action_map
 
ordered_map< cstring, std::vector< cstring > > learner_action_params
 
ordered_map< cstring, const IR::P4Table * > learner_action_table
 
ordered_set< cstringlearner_actions
 
ordered_set< cstringlearner_tables
 Table and action info for learner tables.
 
cstring local_metadata_type = cstring::empty
 
std::map< cstring, const IR::P4Table * > member_tables
 
ordered_map< cstring, const IR::Declaration_Variable * > metadata
 
ordered_map< cstring, const IR::Type_Struct * > metadata_types
 
IR::Type_Struct * metadataStruct
 
std::set< cstringnon_pipeline_controls
 
cstring p4arch
 
ordered_map< cstring, const IR::P4Parser * > parsers
 
ordered_map< const IR::P4Parser *, cstringparsers_rev
 
std::set< cstringpipeline_controls
 
ordered_map< cstring, const IR::P4Control * > pipelines
 
ordered_map< const IR::P4Control *, cstringpipelines_rev
 
std::map< const IR::StructField *, cstringscalarMetadataFields
 
ordered_map< cstring, const IR::Declaration_Variable * > scalars
 
unsigned scalars_width = 0
 
ordered_map< cstring, enum InternalTableTypetable_type_map
 
IR::Vector< IR::Type > used_metadata
 
IR::IndexedVector< IR::DpdkDeclaration > variables
 

Detailed Description

Collect information related to P4 programs targeting dpdk.

Member Function Documentation

◆ isPNA()

bool P4::DpdkProgramStructure::isPNA ( void )
inline

Predicate that states whether architecture is PNA or not.

Architecture is known after pass ParseDpdkArchitecture

Returns
true If architecture is PNA.
false If architecture is not PNA.

◆ isPSA()

bool P4::DpdkProgramStructure::isPSA ( void )
inline

Predicate that states whether architecture is PSA or not.

Architecture is known after pass ParseDpdkArchitecture

Returns
true If architecture is PSA.
false If architecture is not PSA.