P4C
The P4 Compiler
|
#include <arch_spec.h>
Public Types | |
enum | ArchType_t { TNA , T2NA } |
Public Member Functions | |
ArchSpec () | |
void | add_dprsr_md (gress_t gress, IntrinsicField f) |
void | add_md (gress_t gress, IntrinsicField f) |
void | add_outport_md (gress_t gress, IntrinsicField f) |
void | add_prsr_md (gress_t gress, IntrinsicField f) |
void | add_tm_md (gress_t gress, IntrinsicField f) |
int | getDeparserIntrinsicMetadataForDeparserParamIndex () const |
Get the index of the intrinsic metadata for deparser parameter in the deparser. | |
std::vector< IntrinsicParam > | getDeparserIntrinsicTypes (gress_t g) const |
std::vector< IntrinsicField > | getEgressIntrinsicMetadata () const |
std::vector< IntrinsicField > | getEgressIntrinsicMetadataForDeparser () const |
std::vector< IntrinsicField > | getEgressIntrinsicMetadataForOutputPort () const |
std::vector< IntrinsicField > | getEgressIntrinsicMetadataForTM () const |
std::vector< IntrinsicField > | getEgressIntrinsicMetadataFromParser () const |
std::vector< IntrinsicField > | getIngressInstrinicMetadataForDeparser () const |
std::vector< IntrinsicField > | getIngressInstrinicMetadataForTM () const |
std::vector< IntrinsicField > | getIngressInstrinicMetadataFromParser () const |
std::vector< IntrinsicField > | getIngressIntrinsicMetadata () const |
std::vector< IntrinsicParam > | getMAUIntrinsicTypes (gress_t g) const |
std::vector< IntrinsicParam > | getParserIntrinsicTypes (gress_t g) const |
std::vector< IntrinsicParam > | getPPUIntrinsicTypes (gress_t g) const |
void | setTofinoIntrinsicTypes () |
Protected Attributes | |
int | deparser_intrinsic_metadata_for_deparser_param_index = -1 |
std::vector< IntrinsicParam > | deparser_intrinsic_types [GRESS_T_COUNT] |
std::vector< IntrinsicField > | intrinsic_metadata [GRESS_T_COUNT] |
std::vector< IntrinsicField > | intrinsic_metadata_for_deparser [GRESS_T_COUNT] |
std::vector< IntrinsicField > | intrinsic_metadata_for_output_port [GRESS_T_COUNT] |
std::vector< IntrinsicField > | intrinsic_metadata_for_tm [GRESS_T_COUNT] |
std::vector< IntrinsicField > | intrinsic_metadata_from_parser [GRESS_T_COUNT] |
std::vector< IntrinsicParam > | mauppu_intrinsic_types [GRESS_T_COUNT] |
std::vector< IntrinsicParam > | parser_intrinsic_types [GRESS_T_COUNT] |
This class is the architecture model for tofino devices. P4-16 architecture file exposes the user-configurable CSRs as intrinsic metadata to P4 programmers. Different generation of devies may have different set of CSRs, which is encapsulated in this class.
ArchSpec::ArchSpec | ( | ) |
Copyright (C) 2024 Intel Corporation
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
SPDX-License-Identifier: Apache-2.0
|
inline |
Get the index of the intrinsic metadata for deparser parameter in the deparser.
The parameter is the ingress_intrinsic_metadata_for_deparser_t
or egress_intrinsic_metadata_for_deparser_t
for the corresponding gress.