19#ifndef BF_P4C_COMMON_TOFINO_MODEL_H_
20#define BF_P4C_COMMON_TOFINO_MODEL_H_
22#include "frontends/common/model.h"
23#include "frontends/p4/coreLibrary.h"
24#include "frontends/p4/methodInstance.h"
26#include "lib/cstring.h"
36 explicit IngressInMetadataType_Model(
cstring name)
39 recirculate(
"recirculate_port"),
40 egress_spec(
"egress_spec") {}
50 headersParam(
"hdr", headersType, 0),
51 metadataParam(
"meta", metadataType, 1),
52 ingressInMetadataParam(
"mi", ingressInMetadataType, 2),
53 ingressOutMetadataParam(
"mo", ingressOutMetadataType, 3) {}
64 headersParam(
"hdr", headersType, 0),
65 metadataParam(
"meta", metadataType, 1),
66 egressInMetadataParam(
"mi", egressInMetadataType, 2),
67 egressOutMetadataParam(
"mo", egressOutMetadataType, 3) {}
78 headersType(
"headers"),
79 metadataType(
"metadata"),
80 ingressInMetadataType(
"ingress_in_metadata_t"),
81 ingressOutMetadataType(
"ingress_out_metadata_t"),
82 egressInMetadataType(
"egress_in_metadata_t"),
83 egressOutMetadataType(
"egress_out_metadata_t"),
84 ingress(
"ingress", headersType, metadataType, ingressInMetadataType,
85 ingressOutMetadataType),
86 egress(
"egress", headersType, metadataType, egressInMetadataType, egressOutMetadataType) {
99 static TofinoModel instance;
Definition frontends/common/model.h:64
TODO: this is not really specific to BMV2, it should reside somewhere else.
Definition applyOptionsPragmas.cpp:24
Definition tofino_model.h:60
Definition tofino_model.h:46
Definition frontends/common/model.h:28
Param_Model : Elem.
Definition frontends/common/model.h:57
Definition frontends/common/model.h:42