P4C
The P4 Compiler
All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Modules Pages
P4Table Class Reference

Public Types

enum  alpm_type { PreClassifier = 1 , Atcam = 2 }
 
enum  type {
  None = 0 , MatchEntry = 1 , ActionData = 2 , Selection = 3 ,
  Statistics = 4 , Meter = 5 , Stateful = 6 , NUM_TABLE_TYPES = 7
}
 

Public Member Functions

void base_alpm_tbl_cfg (json::map &out, int size, const Table *table, P4Table::alpm_type atype) const
 
json::mapbase_tbl_cfg (json::vector &out, int size, const Table *table) const
 
void check (Table *tbl)
 
unsigned get_alpm_atcam_table_handle () const
 
unsigned get_handle ()
 
std::set< unsigned > get_partition_action_handle () const
 
std::string get_partition_field_name () const
 
bool is_alpm () const
 
const char * p4_name () const
 
unsigned p4_size ()
 
std::string p4_stage_table_type ()
 
void set_partition_action_handle (unsigned handle)
 
void set_partition_field_name (std::string name)
 

Static Public Member Functions

static P4Tablealloc (type t, Table *tbl)
 
static std::string direction_name (gress_t)
 
static P4Tableget (type t, VECTOR(pair_t) &d)
 

Public Attributes

std::string action_profile
 
bool disable_atomic_modify = false
 
std::string how_referenced
 
std::string match_type
 
unsigned size = 0
 

Static Public Attributes

static const char * type_name []
 

Member Data Documentation

◆ type_name

const char * P4Table::type_name
static
Initial value:
= {0, "match", "action", "selection", "statistics",
"meter", "stateful"}