48 std::vector<IntrinsicField> intrinsic_metadata[GRESS_T_COUNT];
49 std::vector<IntrinsicField> intrinsic_metadata_for_tm[GRESS_T_COUNT];
50 std::vector<IntrinsicField> intrinsic_metadata_from_parser[GRESS_T_COUNT];
51 std::vector<IntrinsicField> intrinsic_metadata_for_deparser[GRESS_T_COUNT];
52 std::vector<IntrinsicField> intrinsic_metadata_for_output_port[GRESS_T_COUNT];
54 std::vector<IntrinsicParam> parser_intrinsic_types[GRESS_T_COUNT];
55 std::vector<IntrinsicParam> mauppu_intrinsic_types[GRESS_T_COUNT];
56 std::vector<IntrinsicParam> deparser_intrinsic_types[GRESS_T_COUNT];
58 int deparser_intrinsic_metadata_for_deparser_param_index = -1;
61 enum ArchType_t { TNA, T2NA };
65 std::vector<IntrinsicField> getIngressIntrinsicMetadata()
const {
66 return intrinsic_metadata[INGRESS];
69 std::vector<IntrinsicField> getIngressInstrinicMetadataFromParser()
const {
70 return intrinsic_metadata_from_parser[INGRESS];
73 std::vector<IntrinsicField> getIngressInstrinicMetadataForTM()
const {
74 return intrinsic_metadata_for_tm[INGRESS];
77 std::vector<IntrinsicField> getIngressInstrinicMetadataForDeparser()
const {
78 return intrinsic_metadata_for_deparser[INGRESS];
81 std::vector<IntrinsicField> getEgressIntrinsicMetadata()
const {
82 return intrinsic_metadata[EGRESS];
85 std::vector<IntrinsicField> getEgressIntrinsicMetadataFromParser()
const {
86 return intrinsic_metadata_from_parser[EGRESS];
89 std::vector<IntrinsicField> getEgressIntrinsicMetadataForTM()
const {
90 return intrinsic_metadata_for_tm[EGRESS];
93 std::vector<IntrinsicField> getEgressIntrinsicMetadataForDeparser()
const {
94 return intrinsic_metadata_for_deparser[EGRESS];
97 std::vector<IntrinsicField> getEgressIntrinsicMetadataForOutputPort()
const {
98 return intrinsic_metadata_for_output_port[EGRESS];
101 void add_md(gress_t gress,
IntrinsicField f) { intrinsic_metadata[gress].push_back(f); }
104 intrinsic_metadata_for_tm[gress].push_back(f);
108 intrinsic_metadata_from_parser[gress].push_back(f);
112 intrinsic_metadata_for_deparser[gress].push_back(f);
116 intrinsic_metadata_for_output_port[gress].push_back(f);
119 std::vector<IntrinsicParam> getParserIntrinsicTypes(gress_t g)
const {
120 return parser_intrinsic_types[g];
123 std::vector<IntrinsicParam> getMAUIntrinsicTypes(gress_t g)
const {
124 return mauppu_intrinsic_types[g];
127 std::vector<IntrinsicParam> getPPUIntrinsicTypes(gress_t g)
const {
128 return mauppu_intrinsic_types[g];
131 std::vector<IntrinsicParam> getDeparserIntrinsicTypes(gress_t g)
const {
132 return deparser_intrinsic_types[g];
143 return deparser_intrinsic_metadata_for_deparser_param_index;
146 void setTofinoIntrinsicTypes();