►NP4 | TODO: this is not really specific to BMV2, it should reside somewhere else |
►NBFRT | |
►CBFRuntimeGenerator | |
CActionProf | |
CCounter | Common counter representation between PSA and other architectures |
CDigest | Common digest representation between PSA and other architectures |
CMeter | Common meter representation between PSA and other architectures |
CRegister | Common register representation between PSA and other architectures |
►CBFRuntimeSchemaGenerator | |
CActionSelector | |
►CTypeSpecParser | |
CField | |
►NBitRange | |
CFromTo | |
CMinToMax | |
CStartLen | |
CZeroToMax | |
►NBMV2 | TODO: this is not really specific to BMV2, it should reside somewhere else |
►NHelpers | |
CCounterlikeTraits | |
CCounterlikeTraits< Standard::CounterExtern< Standard::Arch::PNA > > | CounterlikeTraits<> specialization for CounterExtern for PNA |
CCounterlikeTraits< Standard::CounterExtern< Standard::Arch::PSA > > | CounterlikeTraits<> specialization for CounterExtern for PSA |
CCounterlikeTraits< Standard::CounterExtern< Standard::Arch::V1MODEL > > | CounterlikeTraits<> specialization for CounterExtern for v1model |
CCounterlikeTraits< Standard::CounterExtern< Standard::Arch::V1MODEL2020 > > | |
CCounterlikeTraits< Standard::MeterExtern< Standard::Arch::PNA > > | CounterlikeTraits<> specialization for MeterExtern for PNA |
CCounterlikeTraits< Standard::MeterExtern< Standard::Arch::PSA > > | CounterlikeTraits<> specialization for MeterExtern for PSA |
CCounterlikeTraits< Standard::MeterExtern< Standard::Arch::V1MODEL > > | CounterlikeTraits<> specialization for MeterExtern for v1model |
CCounterlikeTraits< Standard::MeterExtern< Standard::Arch::V1MODEL2020 > > | |
►NStandard | |
CActionProfileTraits | |
CActionProfileTraits< Arch::PNA > | |
CActionProfileTraits< Arch::PSA > | |
CActionProfileTraits< Arch::V1MODEL > | |
CActionProfileTraits< Arch::V1MODEL2020 > | |
CActionSelectorTraits | |
CActionSelectorTraits< Arch::PNA > | |
CActionSelectorTraits< Arch::PSA > | |
CActionSelectorTraits< Arch::V1MODEL > | |
CActionSelectorTraits< Arch::V1MODEL2020 > | |
CCounterExtern | |
CMeterExtern | |
CRegisterTraits | Traits for the register extern, must be specialized for v1model and PSA |
CRegisterTraits< Arch::PNA > | |
CRegisterTraits< Arch::PSA > | |
CRegisterTraits< Arch::V1MODEL > | |
CRegisterTraits< Arch::V1MODEL2020 > | |
CActionConverter | |
CArithmeticFixup | |
CBackend | Backend is a the base class for SimpleSwitchBackend and PortableSwitchBackend |
CBMV2Options | |
►CCFG | |
CDummyNode | |
CEdge | A CFG Edge; can be an in-edge or out-edge |
CEdgeSet | |
CIfNode | |
CNode | |
CTableNode | |
CCheckUnsupported | |
CControlConverter | |
CConversionContext | |
CConvertGlobals | |
CConvertPnaToJson | |
CConvertPsaToJson | |
CDeparserConverter | |
CEnumOn32Bits | |
CExpressionConverter | |
CExternConverter | |
CHeaderConverter | |
CInspectPnaProgram | |
CJsonObjects | |
CLowerExpressions | This pass rewrites expressions which are not supported natively on BMv2 |
CMatchImplementation | |
CMidEnd | |
CParseAnnotations | Parses BMV2-specific annotations |
CParsePnaArchitecture | |
CParserConverter | |
CParseV1Architecture | |
CPnaCodeGenerator | |
CPnaEnumOn32Bits | |
CPnaNicBackend | |
CPnaNicExpressionConverter | |
CPnaNicMidEnd | |
CPnaNicOptions | |
CPnaProgramStructure | |
CPortableCodeGenerator | |
CPortableMidEnd | |
CPortableOptions | |
CProcessControls | |
CPsaCodeGenerator | |
CPsaEnumOn32Bits | |
CPsaSwitchBackend | |
CPsaSwitchExpressionConverter | |
CPsaSwitchMidEnd | |
CPsaSwitchOptions | |
CRemoveComplexExpressions | |
CRenameUserMetadata | |
CSharedActionSelectorCheck | |
CSimpleSwitchBackend | |
CSimpleSwitchExpressionConverter | |
CSimpleSwitchMidEnd | |
CSimpleSwitchOptions | |
CSkipControls | This class implements a policy suitable for the SynthesizeActions pass |
CTableAttributes | |
CV1ModelProperties | |
CV1ProgramStructure | |
►NControlPlaneAPI | TODO(antonin): High level goals of the generator go here!! |
►NHelpers | |
CCounterlike | |
CCounterlikeTraits | A traits class describing the properties of "counterlike" things |
CCounterlikeTraits< Standard::CounterExtern< Standard::Arch::PNA > > | CounterlikeTraits<> specialization for CounterExtern for PNA |
CCounterlikeTraits< Standard::CounterExtern< Standard::Arch::PSA > > | CounterlikeTraits<> specialization for CounterExtern for PSA |
CCounterlikeTraits< Standard::CounterExtern< Standard::Arch::V1MODEL > > | CounterlikeTraits<> specialization for CounterExtern for v1model |
CCounterlikeTraits< Standard::CounterExtern< Standard::Arch::V1MODEL2020 > > | |
CCounterlikeTraits< Standard::MeterExtern< Standard::Arch::PNA > > | CounterlikeTraits<> specialization for MeterExtern for PNA |
CCounterlikeTraits< Standard::MeterExtern< Standard::Arch::PSA > > | CounterlikeTraits<> specialization for MeterExtern for PSA |
CCounterlikeTraits< Standard::MeterExtern< Standard::Arch::V1MODEL > > | CounterlikeTraits<> specialization for MeterExtern for v1model |
CCounterlikeTraits< Standard::MeterExtern< Standard::Arch::V1MODEL2020 > > | |
►NStandard | Declarations specific to standard architectures (v1model & PSA) |
CActionProfile | |
CActionProfileTraits | |
CActionProfileTraits< Arch::PNA > | |
CActionProfileTraits< Arch::PSA > | |
CActionProfileTraits< Arch::V1MODEL > | |
CActionProfileTraits< Arch::V1MODEL2020 > | |
CActionSelector | |
CActionSelectorTraits | |
CActionSelectorTraits< Arch::PNA > | |
CActionSelectorTraits< Arch::PSA > | |
CActionSelectorTraits< Arch::V1MODEL > | |
CActionSelectorTraits< Arch::V1MODEL2020 > | |
CBFRuntimeArchHandler | |
CBFRuntimeArchHandlerPNA | |
CBFRuntimeArchHandlerPSA | |
CCounterExtern | |
CDigest | |
CMeterExtern | |
CP4RuntimeArchHandlerCommon | |
CP4RuntimeArchHandlerPNA | |
CP4RuntimeArchHandlerPSA | |
CP4RuntimeArchHandlerPSAPNA | |
CP4RuntimeArchHandlerUBPF | |
CP4RuntimeArchHandlerV1Model | |
CPNAArchHandlerBuilder | The architecture handler builder implementation for PNA |
CPNAArchHandlerBuilderForDPDK | The architecture handler builder implementation for PNA |
CPSAArchHandlerBuilder | The architecture handler builder implementation for PSA |
CPSAArchHandlerBuilderForDPDK | The architecture handler builder implementation for PSA |
CRegister | |
CRegisterTraits | Traits for the register extern, must be specialized for v1model and PSA |
CRegisterTraits< Arch::PNA > | |
CRegisterTraits< Arch::PSA > | |
CRegisterTraits< Arch::V1MODEL > | |
CRegisterTraits< Arch::V1MODEL2020 > | |
CSymbolType | |
CSymbolTypeDPDK | Extends P4RuntimeSymbolType for the DPDK extern types |
CUBPFArchHandlerBuilder | The architecture handler builder implementation for UBPF |
CV1ModelArchHandlerBuilder | The architecture handler builder implementation for v1model |
CActionRef | |
CControllerType | See section "User-defined types" in P4RT specification |
CDefaultAction | The information about a default action which is needed to serialize it |
CFieldIdAllocator | |
CFlattenHeader | Flattens a header type "locally", without modifying the IR |
CMatchField | The information about a match field which is needed to serialize it |
CP4InfoMaps | |
CP4RuntimeAnalyzer | |
CP4RuntimeArchHandlerBuilderIface | |
CP4RuntimeArchHandlerIface | |
CP4RuntimeEntriesConverter | |
CP4RuntimeSymbolTable | |
CP4RuntimeSymbolTableIface | |
CP4RuntimeSymbolType | |
CP4SymbolSuffixSet | |
CParseP4RuntimeAnnotations | Parses P4Runtime-specific annotations |
CTranslationAnnotation | Payload of @p4runtime_translation annotation |
CTypeSpecConverter | Generates the appropriate p4.P4DataTypeSpec for a given IR::Type node |
►NCoverage | |
CCollectNodes | |
CCoverageOptions | Specifies general options and which IR nodes to track with this particular visitor |
CSourceIdCmp | Utility function to compare IR nodes in a set. We use their source info |
►NDBPrint | |
Cclrflag | |
Csetflag | |
Csetflags_helper | |
Csetprec | |
►Ndetail | |
CDbprintDispatchPtr | |
CDbprintDispatchRef | |
►NDPDK | |
CactionAttributes | |
CAddFieldsToPseudoHeader | This pass finally adds all the collected fields to pseudo header add collected pseudo header fields into dpdk_pseudo_header_t |
CAlignHdrMetaField | |
CBranchingInstructionGeneration | |
CBreakLogicalExpressionParenthesis | |
CByteAlignment | |
CCheckExternInvocation | Class which chooses the correct class for checking the constraints for invocations. of extern methods and functions depending on the architecture |
CCheckPNAExternInvocation | Class for checking constraints for invocations of PNA architecture extern methods and functions |
CCollectActionUses | |
CCollectAddOnMissTable | |
CCollectDirectCounterMeter | |
CCollectErrors | |
CCollectExternDeclaration | |
CCollectInternetChecksumInstance | |
CCollectIPSecInfo | |
CCollectLocalStructAndFlatten | |
CCollectLocalVariables | |
CCollectMetadataHeaderInfo | |
CCollectProgramStructure | |
CCollectStructLocalVariables | |
CCollectTableInfo | |
CCollectUseDefInfo | |
CCollectUsedMetadataField | This pass Collects all metadata struct member used in program |
CConvertActionSelectorAndProfile | |
CConvertBinaryOperationTo2Params | |
CConvertInternetChecksum | |
CConvertLogicalExpression | |
►CConvertLookahead | |
CCollect | |
CReplace | |
CReplacementMap | |
CConvertStatementToDpdk | |
CConvertToDpdkArch | |
CConvertToDpdkControl | |
CConvertToDpdkParser | |
CConvertToDpdkProgram | |
CConvertToString | |
CCopyMatchKeysToSingleStruct | |
CCopyPropagationAndElimination | This pass identifies redundant copies/moves and eliminates them |
CDeclarationInjector | |
CDefActionValue | |
CDirectionToRegRead | |
CDismantleMuxExpressions | |
CDpdkAddPseudoHeader | |
CDpdkAddPseudoHeaderDecl | This pass adds a pseudo header declaration, it will be used as container of operands where dpdk instructions require it's operand to be in a header. It adds a type decl like below @__pseudo_header__ header dpdk_pseudo_header_t { } |
CDpdkArchFirst | |
CDpdkArchLast | |
CDpdkAsmOptimization | |
CDpdkBackend | |
CDpdkContextGenerator | This pass generates context JSON into user specified file |
CDpdkHandleIPSec | |
CDpdkMidEnd | |
CDpdkOptions | |
CElimHeaderCopy | |
CEliminateHeaderCopy | |
CEliminateUnusedAction | |
CElimUnusedActions | |
CEmitDpdkTableConfig | |
CEnumOn32Bits | |
CErrorWidth | |
CExpressionUnroll | |
CexternAttributes | |
CfieldInfo | |
CHaveNonHeaderChecksumArgs | |
CHaveNonHeaderLargeOperandAssignment | This pass checks whether an assignment statement has large operands (>64-bit) |
CIfStatementUnroll | |
CInjectFixedMetadataField | |
CInjectInternetChecksumIntermediateValue | |
CInjectJumboStruct | |
CInsertReqDeclForIPSec | |
CIsDirectionMetadataUsed | |
CkeyElementInfo | |
CkeyInfo | |
CLogicalExpressionUnroll | |
CMoveCollectedStructLocalVariableToMetadata | |
CMoveNonHeaderFieldsToPseudoHeader | This pass identifies and collects statement which requires it's operand to be in a header and also initialize added header fields with original operand. i.e. csum_0.add<tuple_0>((tuple_0){f0 = m.Ingress_tmp_1,f1 = m.Ingress_tmp_2, f2 = m.Ingress_tmp_3,f3 = m.Ingress_tmp_4,f4 = m.Ingress_tmp_5}); transformed into h.dpdk_pseudo_header.pseudo = (bit<16>)m.Ingress_tmp_1; h.dpdk_pseudo_header.pseudo_0 = (bit<16>)m.Ingress_tmp_2; h.dpdk_pseudo_header.pseudo_1 = (bit<8>)m.Ingress_tmp_3; h.dpdk_pseudo_header.pseudo_2 = (bit<32>)m.Ingress_tmp_4; h.dpdk_pseudo_header.pseudo_3 = (bit<32>)m.Ingress_tmp_5; csum_0.add<tuple_1>((tuple_1){f0 = h.dpdk_pseudo_header.pseudo, f1 = h.dpdk_pseudo_header.pseudo_0,f2 = h.dpdk_pseudo_header.pseudo_1, f3 = h.dpdk_pseudo_header.pseudo_2,f4 = h.dpdk_pseudo_header.pseudo_3}); |
CPrependPassRecircId | |
CPrependPDotToActionArgs | |
CProcessControls | Only simplify complex expression in ingress/egress |
CRemoveConsecutiveJmpAndLabel | |
CRemoveLabelAfterLabel | |
CRemoveRedundantLabel | This pass removes label that no jmps jump to |
CRemoveUnusedMetadataFields | This pass removes all unused fields from metadata struct |
CReplaceHdrMetaField | |
CSelectionTable | Selection table attributes |
CShortenTokenLength | This pass shorten the Identifier length |
CSplitActionProfileTable | |
CSplitActionSelectorTable | |
CSplitP4TableCommon | |
CStatementUnroll | |
CSwapSimpleExpressionToFrontOfLogicalExpression | |
CSwitchHandler | |
CTableAttributes | |
CTdiBfrtConf | |
CThreadJumps | |
CTopLevelCtxt | Program level information for context json |
CTypeWidthValidator | |
CUpdateActionForSwitch | |
CValidateAddOnMissExterns | |
CValidateDirectCounterMeter | |
CValidateOperandSize | |
►NEBPF | |
CActionTranslationVisitor | |
CActionTranslationVisitorPSA | |
CBccTarget | Represents a target compiled by bcc that uses the TC |
CCodeBuilder | |
CCodeGenInspector | |
CControlBodyTranslator | |
CControlBodyTranslatorPSA | |
CConvertToEBPFControlPSA | |
CConvertToEBPFDeparserPSA | |
CConvertToEBPFParserPSA | |
CConvertToEbpfPipeline | |
CConvertToEbpfPSA | |
CCounterArray_Model | |
CCRC16ChecksumAlgorithm | |
CCRC32ChecksumAlgorithm | |
CCRCChecksumAlgorithm | |
CDeparserBodyTranslator | This translator emits deparser externs |
CDeparserBodyTranslatorPSA | |
CDeparserHdrEmitTranslator | This translator emits headers |
CDeparserPrepareBufferTranslator | This translator emits buffer preparation (eg. which headers will be emitted) |
CEBPFActionProfilePSA | |
CEBPFActionSelectorPSA | |
CEBPFBoolType | |
CEBPFChecksumPSA | |
CEbpfCodeGenerator | |
CEBPFControl | |
CEBPFControlPSA | |
CEBPFCounterPSA | |
CEBPFCounterTable | |
CEBPFDeparser | |
CEBPFDeparserPSA | |
CEBPFDigestPSA | |
CEBPFDigestPSAValueVisitor | |
CEBPFEgressPipeline | |
CEBPFEnumType | |
CEBPFErrorType | |
CEBPFHashAlgorithmPSA | |
CEBPFHashAlgorithmTypeFactoryPSA | |
CEBPFHashPSA | |
CEBPFIngressPipeline | |
CEBPFInitializerUtils | |
CEBPFInternetChecksumPSA | |
CEBPFMeterPSA | |
CEBPFMethodDeclaration | Methods are function signatures |
CEBPFModel | Keep this in sync with ebpf_model.p4 and xdp_model.p4 |
CEBPFObject | Base class for EBPF objects |
CEBPFParser | |
CEBPFParserState | |
CEBPFPipeline | EBPFPipeline represents a single eBPF program in the TC/XDP hook |
CEBPFProgram | |
CEBPFPsaParser | |
CEBPFRandomPSA | |
CEBPFRegisterPSA | |
CEBPFScalarType | |
CEBPFStackType | |
CEBPFStructType | Also represents headers and unions |
CEBPFTable | |
CEBPFTableBase | Also used to represent counters |
CEBPFTableImplementationPSA | Base class for ActionProfile and ActionSelector |
CEBPFTablePSA | |
CEBPFTablePSADirectCounterPropertyVisitor | |
CEBPFTablePSADirectMeterPropertyVisitor | |
CEBPFTablePSAImplementationPropertyVisitor | |
CEBPFTablePSAInitializerCodeGen | |
CEBPFTablePsaPropertyVisitor | |
CEBPFTablePSATernaryKeyMaskGenerator | Build mask initializer for a single table key entry |
CEBPFTablePSATernaryTableMaskGenerator | Generate mask for whole table key |
CEBPFType | Base class for EBPF types |
CEBPFTypeFactory | |
CEBPFTypeName | This should not always implement IHasWidth, but it may.. |
CEBPFValueSet | |
CEgressDeparserPSA | |
CEnumOn32Bits | |
CFilter_Model | |
CIHasWidth | |
CIngressDeparserPSA | |
CInternetChecksumAlgorithm | |
CKernelSamplesTarget | |
CLower | |
CLowerExpressions | This pass rewrites expressions which are not supported natively on EBPF |
CMidEnd | |
CP4TCTarget | |
CPSAArchTC | |
CPSAArchXDP | |
CPSAEbpfGenerator | |
CPSAErrorCodesGen | |
CPsaStateTranslationVisitor | |
CPSASwitchBackend | |
CStateTranslationVisitor | |
CTableImpl_Model | |
CTarget | |
CTCEgressDeparserPSA | |
CTCEgressPipeline | |
CTCIngressDeparserForTrafficManagerPSA | |
CTCIngressDeparserPSA | |
CTCIngressPipeline | |
CTCTrafficManagerForXDP | |
CTestTarget | |
CXdp_Model | |
CXDPEgressDeparserPSA | |
CXDPEgressPipeline | |
CXDPHelpProgram | |
CXDPIngressDeparserPSA | |
CXDPIngressPipeline | |
CXdpTarget | Target XDP |
►Ngraphs | |
►CControlGraphs | |
CControlStack | |
CEdgeIf | |
CEdgeSwitch | |
CEdgeTypeIface | |
CEdgeUnconditional | |
CGraph_visitor | |
►CGraphs | |
CGraphAttributeSetter | |
CVertex | |
CMidEnd | |
COptions | |
►CParserGraphs | |
CTransitionEdge | |
►NIndentCtl | |
CTempIndent | |
►NIR | |
Chas_static_type_name | |
Chas_static_type_name< T, std::void_t< decltype(T::static_type_name())> > | |
CID | |
CIDeclaration | The Declaration interface, representing objects with names |
CIndexedVector | |
CINode | |
CNameMap | |
CNode | |
CNodeMap | |
CStateVariableEqual | Equals for StateVariable pointers. We only compare the label |
CStateVariableLess | Less for StateVariable pointers. We only compare the label |
CSymbolicVariableEqual | Equals for SymbolicVariable pointers. We only compare the label |
CSymbolicVariableLess | Less for SymbolicVariable pointers. We only compare the label |
CVector | |
CVectorBase | |
►NLog | |
►NDetail | |
CLevelAndOutput | |
COutputLogPrefix | |
CTempIndent | |
►NModel | |
CElem | |
CEnum_Model | Enum_Model : Type_Model |
CExtern_Model | Extern_Model : Type_Model |
CModel | |
CParam_Model | Param_Model : Elem |
CType_Model | |
►NNetHash | A collection of hashing functions commonly used in network protocols |
CIdentity | A class with the same signature as reflect, but just returning the data |
CReflect | |
►NP4_14 | |
CInlineActions | Special inliner which works directly on P4-14 representation |
►NP4Fmt | |
CP4fmtOptions | |
►NP4Test | |
CMidEnd | |
CSkipControls | |
►NP4Tools | |
►NP4Smith | |
►NBMv2 | |
CAbstractBMv2SmithTarget | |
CBmv2PsaSmithTarget | |
CBmv2V1modelSmithTarget | |
►NGeneric | |
CAbstractGenericSmithTarget | |
CGenericCoreSmithTarget | |
►NNic | |
CAbstractNicSmithTarget | |
CDpdkPnaSmithTarget | |
►NTofino | |
CAbstractTofinoSmithTarget | |
CTofinoTnaSmithTarget | |
CConstraints | |
CDeclarationGenerator | |
CExpressionGenerator | |
CGenerator | |
CP4Scope | |
CParserGenerator | |
CProperties | |
CRequirements | |
CSmith | |
CSmithTarget | |
CStatementGenerator | |
CTableGenerator | |
CWordlist | |
►NP4Testgen | |
►NBmv2 | Inja |
CAssertsParser | |
CBmv2Concolic | |
CBMv2Constants | |
CBmv2TestBackend | |
CBmv2TestFramework | Bmv2TestFramework provides common utility functions for BMv2-style test frameworks |
CBmv2V1ModelActionProfile | |
CBmv2V1ModelActionSelector | |
CBmv2V1ModelCloneInfo | |
CBmv2V1ModelCloneSpec | |
CBmv2V1ModelCmdStepper | |
CBMv2V1ModelCompilerResult | Extends the CompilerResult with information specific to the V1Model running on BMv2 |
CBmv2V1ModelExprStepper | |
CBmv2V1ModelMeterValue | |
CBmv2V1ModelProgramInfo | |
CBmv2V1ModelRegisterValue | |
CBmv2V1ModelTableStepper | |
CBmv2V1ModelTestgenTarget | |
CIndexExpression | |
CIndexMap | Readable and writable symbolic map, which maps indices to particular values |
CLexer | |
CMapDirectExterns | |
CMetadata | Extracts information from the @testSpec to emit a Metadata test case |
CMetadataCollection | |
COptional | |
CPropagateP4RuntimeTranslation | |
CProtobuf | Extracts information from the @testSpec to emit a Protobuf test case |
CProtobufIr | Extracts information from the @testSpec to emit a Protobuf IR test case |
CProtobufIrTest | |
CProtobufTest | |
CPTF | Extracts information from the @testSpec to emit a PTF test case |
CRange | |
CRefersToParser | |
CSTF | Extracts information from the @testSpec to emit a STF test case |
CToken | |
►NEBPF | |
CEBPFCmdStepper | |
CEBPFConcolic | |
CEBPFConstants | |
CEBPFExprStepper | |
CEBPFProgramInfo | |
CEBPFTableStepper | |
CEBPFTestBackend | |
CEBPFTestgenTarget | |
CSTF | Extracts information from the @testSpec to emit a STF test case |
►NPna | Inja |
CMetadata | Extracts information from the @testSpec to emit a Metadata test case |
CMetadataCollection | |
COptional | |
CPnaConstants | |
CPnaDpdkActionProfile | |
CPnaDpdkActionSelector | |
CPnaDpdkCmdStepper | |
CPnaDpdkConcolic | |
CPnaDpdkExprStepper | |
CPnaDpdkProgramInfo | |
CPnaDpdkRegisterCondition | |
CPnaDpdkRegisterValue | |
CPnaDpdkTableStepper | |
CPnaDpdkTestgenTarget | |
CPnaSymbolicVars | Variabless are variables that can be controlled and set by P4Testgen |
CPnaTestBackend | |
CPTF | Extracts information from the @testSpec to emit a PTF test case |
CRange | |
CSharedPnaCmdStepper | |
CSharedPnaExprStepper | |
CSharedPnaProgramInfo | |
►CSharedPnaTableStepper | |
CSharedPnaProperties | Shared PNA table properties |
CAbstractStepper | |
CAbstractTest | Type definitions for abstract tests |
CActionArg | |
CActionCall | |
CCmdStepper | Implements small-step operational semantics for commands |
CCommandVisitor | |
CConcolic | |
CConcolicMethodImpls | Encapsulates a set of concolic method implementations |
CConcolicResolver | |
►CContinuation | |
CBody | A continuation body is a list of commands |
CGuard | |
CParameter | |
CPropertyUpdate | |
CReturn | |
CCoverableNodesScanner | |
CDepthFirstSearch | |
CExact | |
►CExecutionState | Represents state of execution after having reached a program point |
CStackFrame | |
►CExprStepper | Implements small-step operational semantics for expressions |
CExternMethodImpls | Encapsulates a set of extern method implementations |
CPacketCursorAdvanceInfo | |
CExternInfo | |
CFinalState | Represents the final state after execution |
CGreedyNodeSelection | |
CLPM | |
CPacket | |
CPacketVars | |
CProgramInfo | Stores target-specific information about a P4 program |
CRandomBacktrack | |
CSelectedBranches | Explores one path described by a list of branches |
►CSmallStepEvaluator | |
CBranch | |
CSymbolicExecutor | |
CTableConfig | |
CTableMatch | |
CTableRule | |
CTableStepper | Implements small-step operational semantics for tables |
CTernary | |
►CTestBackEnd | |
CTestInfo | |
CTestBackendConfiguration | |
CTestFramework | |
CTestgen | This is main implementation of the P4Testgen tool |
CTestgenCompilerResult | Extends the CompilerResult with the associated P4RuntimeApi |
CTestgenOptions | Encapsulates and processes command-line options for P4Testgen |
CTestgenTarget | |
CTestgenUnimplemented | |
CTestObject | |
CTestSpec | |
CVariableSubstitution | |
►NTableUtils | |
CKeyProperties | KeyProperties define properties of table keys that are useful for execution |
CTableProperties | Basic table properties that are set when initializing the TableStepper |
►NTraceEvents | This file defines explicit types of trace events extended from the generic trace class |
CAssignmentStatement | Represents an assignment statement |
CEmit | A field being emitted by a deparser |
CExpression | A simple event that stores the provided expression |
CExtractFailure | |
CExtractSuccess | |
CGeneric | A generic event that only takes in a string as label |
CGenericDescription | |
CIfStatementCondition | Represents an if statement condition |
CMethodCall | Label dedicated to method call expression |
CPacket | A packet that is either presented to a parser or emitted from a deparser |
CParserStart | Marks the start of a parser |
CParserState | Marks the entry into a parser state |
CAbstractExecutionState | Represents state of execution after having reached a program point |
CAbstractP4cTool | |
CAbstractP4cToolOptions | |
CAbstractRepCheckedNode | |
►CArchSpec | Specifies a canonical representation of the target pipeline as documented in P4 code |
CArchMember | An ArchMember represents a construct in the pipe. It has a name and parameters |
CCompileContext | A compilation context for P4Tools that provides a custom compiler configuration |
CCompilerConfiguration | |
CCompilerResult | |
CCompilerTarget | Encapsulates the details of invoking the P4 compiler for a target device and architecture |
CConvertStructExpr | |
CConvertVarbits | |
CExtendedCallGraph | |
CFormatOptions | Defines common formatting options |
CHSIndexToMember | The main class for finding non-concrete header stack indices |
CInheritedCompilerOptionSpec | |
CMaskBuilder | |
CMidEnd | |
CModel | |
CNamespaceContext | Represents a stack of namespaces |
CP4Constants | |
CP4ProgramDCGCreator | The main class for building control flow DCG |
CReachabilityEngine | |
CReachabilityEngineState | The main data for reachability engine |
CSmithOptions | |
CSymbolicEnv | |
CTaint | |
CTaintPropagator | |
►CTarget | |
CSpec | Specifies a target device and architecture by their names in lower case |
CTraceEvent | An event in a trace of the execution of a P4 program |
CUtils | General utility functions that are not present in the compiler framework |
CZ3Solver | A Z3-based implementation of AbstractSolver. Encapsulates a z3::solver and a z3::context |
CZ3SolverAccessor | |
CZ3Translator | Translates P4 expressions into Z3. Any variables encountered are declared to a Z3 instance |
►NP4V1 | |
CActionProfile_Model | |
CActionSelector_Model | |
CAdjustLengths | |
CAlgorithm_Model | |
CCheckIfMultiEntryPoint | |
CCloner_Model | |
CCloneType_Model | |
CComputeCallGraph | |
CComputeTableCallGraph | |
CControl_Model | |
CConversionContext | |
CConverter | |
CCounter_Model | |
CCounterOrMeter_Model | |
CCounterType_Model | |
CDeparser_Model | |
CDetectDuplicates | |
CDigestReceiver_Model | |
CDirectCounter_Model | |
CDirectMeter_Model | |
CDiscoverStructure | |
CExpressionConverter | |
CExternConverter | |
CFindRecirculated | |
CFixExtracts | |
CFixMultiEntryPoint | |
CgetV1ModelVersion | |
CHash_Model | |
CInsertCompilerGeneratedStartState | |
CMeter_Model | |
CMeterType_Model | |
CMoveIntrinsicMetadata | |
CParser_Model | |
CPrimitiveConverter | |
CProgramStructure | Information about the structure of a P4-14 program, used to convert it to a P4-16 program |
CRandom_Model | |
CRegister_Model | |
CRewriter | |
CStandardMetadataType_Model | |
CStatementConverter | |
CSwitch_Model | |
CTableAttributes_Model | |
CTruncate | |
CTypeConverter | |
CV1Model | |
CVerifyUpdate_Model | |
►NParserStructureImpl | |
CParserStateRewriter | |
CParserSymbolicInterpreter | |
►NRTTI | |
►NDetail | |
CIsType | |
CToType | |
►Ndetail | |
CTypeIdResolver | |
CTypeIdResolver< T, std::void_t< decltype(T::static_typeId)> > | |
CTypeNameHolder | |
CBase | |
Cenable_if_has_rtti | |
Chas_rtti | |
CTypeInfo | |
►NTC | This file defines functions for the pass to generate the introspection file |
CActionAttributes | |
CActionParam | |
CActionTranslationVisitorPNA | |
CAnnotation | |
CBackend | |
CControlBodyTranslatorPNA | |
►CConvertToBackendIR | |
CExternBlock | |
CExternInstance | |
CConvertToEBPFControlPNA | |
CConvertToEBPFDeparserPNA | |
CConvertToEBPFParserPNA | |
CConvertToEbpfPipelineTC | |
CConvertToEbpfPNA | |
CCRC16ChecksumAlgorithmPNA | |
CCRC32ChecksumAlgorithmPNA | |
CCRCChecksumAlgorithmPNA | |
CDeparserHdrEmitTranslatorPNA | |
CEBPFChecksumPNA | |
CEBPFControlPNA | |
CEBPFCounterPNA | |
CEBPFDigestPNA | |
CEBPFHashAlgorithmTypeFactoryPNA | |
CEBPFInternetChecksumPNA | |
CEBPFPnaParser | |
CEBPFRegisterPNA | |
CEBPFTablePNA | |
CEBPFTablePNADirectCounterPropertyVisitor | |
CExtern | |
CExternAttributes | |
CExternInstancesAttributes | |
CIngressDeparserPNA | |
CInspectPnaProgram | |
CInternetChecksumAlgorithmPNA | |
CIntrospectionGenerator | This pass generates introspection JSON into user specified file |
CIntrospectionInfo | |
CKeyFieldAttributes | |
CMidEnd | |
CParsePnaArchitecture | |
CParseTCAnnotations | |
CPNAArchTC | |
CPNAEbpfGenerator | |
CPNAErrorCodesGen | |
CPnaProgramStructure | |
CPnaStateTranslationVisitor | |
CTableAttributes | |
CTCIngressPipelinePNA | |
CTCOptions | |
►NTest | |
►NArithmTest | |
CSaturationTransform | The main class for saturation transformation |
CZ3SolverAddSat01 | |
CZ3SolverAddSat02 | |
CZ3SolverAddSat03 | |
CZ3SolverAddSat04 | |
CZ3SolverAddSat05 | |
CZ3SolverSubSat01 | |
CZ3SolverSubSat02 | |
CZ3SolverSubSat03 | |
CZ3SolverSubSat04 | |
CZ3SolverSubSat05 | |
►NZ3Test | |
CZ3SolverAdd | |
CZ3SolverBAnd | |
CZ3SolverBOR | |
CZ3SolverBXor | |
CZ3SolverCastBit2Bool | |
CZ3SolverCastBit2EqualBit | |
CZ3SolverCastBit2LargerBit | |
CZ3SolverCastBit2LessBit | |
CZ3SolverCastBool2Bit | |
CZ3SolverCastInAssignment | |
CZ3SolverComplement | |
CZ3SolverConc | |
CZ3SolverITE | |
CZ3SolverMod | |
CZ3SolverMult | |
CZ3SolverShl | |
CZ3SolverShrS | |
CZ3SolverShrU | |
CZ3SolverSub | |
CFormatTest | Helper methods to build configurations for Format Tests |
CModel | |
CNodeFinder | |
CP4AssertsParserTest | |
CP4CReachability | |
CP4ReachabilityOptions | |
CP4RuntimeApiTest | Helper methods to build configurations for P4RuntimeApi Tests |
CP4SmithForInLoopTest | |
CP4SmithForLoopTest | |
CP4TestOptions | |
CP4ToolsTest | GTest for P4 Tools tests |
CP4ToolsTestCase | Encapsulates functionality for running the front- and mid-ends of the compiler in a test |
CPTFTest | Helper methods to build configurations for PTF Tests |
CSaturationElim | Contains utility functions for eliminating saturating arithmetic |
CSmallStepTest | |
CSTFTest | Helper methods to build configurations for STF Tests |
CSymbolicConverter | Converts IR::Member into symbolic variables |
CTaint | |
CTaintTest | Helper methods to build configurations for Taint Tests |
CTestgenTarget | |
CZ3Solver | A Z3-based implementation of AbstractSolver. Encapsulates a z3::solver and a z3::context |
CZ3SolverAccessor | |
CZ3SolverSatisfiabilityChecks | |
CZ3SolverSatTests | |
CZ3SolverTest | |
CZ3SolverTests | |
►NUBPF | |
CAlgorithm_Model | |
CEnumOn32Bits | |
CHash_Model | |
CMidEnd | |
COutHeaderSize | |
CPipeline_Model | |
CRegister_Model | |
CUBPFBoolType | |
CUbpfCodeBuilder | |
CUBPFControl | |
CUBPFControlBodyTranslator | |
CUBPFDeparser | |
CUBPFDeparserTranslationVisitor | |
CUBPFEnumType | |
CUBPFErrorType | |
CUBPFExternType | |
CUBPFListType | |
►CUBPFModel | |
CgetUBPFModelVersion | |
CUBPFParser | |
CUBPFParserState | |
CUBPFProgram | |
CUBPFRegister | |
CUBPFScalarType | |
CUBPFStructType | |
CUBPFTable | |
CUBPFTableBase | |
CUbpfTarget | |
CUBPFTypeFactory | |
►NUtil | |
►NDetail | |
CFloatHasher | |
CIntegerHasher | |
CStdHasher | |
CTupleHasher | |
CTupleHasher< 0, Types... > | |
CAsEnumerator | Casts each element |
CBitRange | |
CComment | |
CCompilationError | |
CCompilerBug | This class indicates a bug in the compiler |
CCompilerUnimplemented | This class indicates an unimplemented feature in the compiler |
CConcatEnumerator | Concatenation |
CContainerType | |
CEmptyEnumerator | Always empty iterator (equivalent to end()) |
CEnumerator | Type-erased Enumerator interface |
CEnumeratorHandle | |
CFilterEnumerator | |
Chas_SourceInfo | SFINAE helper to check if given class has a getSourceInfo method |
Chas_SourceInfo< T, std::void_t< decltype(std::declval< T >().getSourceInfo())> > | |
Chas_toString | SFINAE helper to check if given class has a toString method |
Chas_toString< T, std::void_t< decltype(std::declval< T >().toString())> > | |
CHash | |
CHasher | |
CHasher< big_int > | |
CHasher< bool > | |
CHasher< char > | |
CHasher< ClosedRange< Unit, Order > > | |
CHasher< cstring > | |
CHasher< double > | |
CHasher< float > | |
CHasher< HalfOpenRange< Unit, Order > > | |
CHasher< IR::ID > | |
CHasher< P4::ProgramPoint > | |
CHasher< signed char > | |
CHasher< signed int > | |
CHasher< signed long > | |
CHasher< signed long long > | |
CHasher< signed short > | |
CHasher< std::pair< T1, T2 > > | |
CHasher< std::shared_ptr< T > > | |
CHasher< std::string > | |
CHasher< std::string_view > | |
CHasher< std::tuple< Types... > > | |
CHasher< std::unique_ptr< T > > | |
CHasher< T * > | |
CHasher< unsigned char > | |
CHasher< unsigned int > | |
CHasher< unsigned long > | |
CHasher< unsigned long long > | |
CHasher< unsigned short > | |
CIHasSourceInfo | |
CIJson | |
CInputSources | |
Citerator_range | |
CIteratorEnumerator | A generic iterator returning elements of type T |
CJsonArray | |
CJsonObject | |
CJsonValue | |
CMapEnumerator | Transforms all elements from type T to type S |
CNamedSymbol | |
CNamespace | |
CObject | |
►COptions | |
COption | |
CP4CExceptionBase | |
CProgramStructure | |
CScopedTimer | |
CScopedTimerCtx | |
CSimpleType | |
CSingleEnumerator | |
CSourceCodeBuilder | |
CSourceFileLine | |
CSourceInfo | |
CSourcePosition | |
CTimerEntry | |
►NV1 | |
CV1ParserDriver | A ParserDriver that can parse P4-14 programs |
CAbstractInliner | |
CAbstractParserDriver | |
CAbstractSolver | Provides a higher-level interface for an SMT solver |
CActionCall | |
CActionInvocation | |
CActionReplacement | |
CActionsInliner | |
CActionSynthesisPolicy | |
CAddMissingIdAnnotations | |
CAllDefinitions | |
CAllocTrace | |
CAnalyzeParser | |
CAnnotationSelectionPolicy | |
CAnyElement | |
CApplyMethod | |
CApplyOptionsPragmas | |
CApplyTypesToExpressions | |
CArrayLocation | |
CAutoCompileContext | |
Cbacktrace_exception | |
►CBacktrack | |
Ctrigger | |
CBaseCompileContext | |
CBaseLocation | |
Cbasic_nullbuf | |
CBinaryConstraint | Base class for EqualityConstraint and CanBeImplicitlyCastConstraint |
CBindTypeVariables | |
Cbitranges | |
►Cbitvec | |
Cconst_bitref | |
Ccopy_bitref | |
Cnonconst_bitref | |
CBuildResourceMap | |
CBuiltInMethod | |
►CCallGraph | |
CLoop | |
CLoops | |
CsccInfo | |
CCallInfo | Describes information about a caller-callee pair |
CCanBeImplicitlyCastConstraint | The right type can be implicitly cast to the left type |
CCastBooleanTableKeys | |
CCheckConstants | |
CCheckCoreMethods | |
CCheckExternInvocationCommon | Base class which can be used to prepare classes for checking constraints for invocations of externs (both methods and pure functions) in parsers and control blocks |
CCheckHeaderTypes | |
CCheckNamedArgs | |
CCheckTableSize | Checks some possible misuses of the table size property |
CChooseEnumRepresentation | |
CChooseErrorRepresentation | |
CClearTypeMap | |
CCloneConstants | |
CCloneExpressions | |
CCloneVariableDeclarations | |
CClosedRange | |
CCompileContextStack | |
CCompilerOptions | |
CCompileTimeOperations | |
►CComplexValues | |
CComponent | |
CFieldsMap | |
CFinalName | |
►CComputeDefUse | Compute defuse info within P4Parser and P4Control blocks in the midend |
Cloc_t | |
CSetupJoinPoints | |
CComputeParserCG | Builds a CallGraph of ParserState nodes |
CComputeWriteSet | |
CConstantFolding | |
CConstantFoldingPolicy | |
CConstantTypeSubstitution | |
CConstructorCall | |
CContainerConstructorCall | |
CContainsType | |
►CControlFlowVisitor | |
Cflow_join_info_t | |
CGuardGlobal | RAII class to ensure global key is only used in one place |
CSaveGlobal | RAII class to save and restore one or more global keys |
CSetupJoinPoints | |
CControlInstantiation | |
CConvertEnums | |
CConvertErrors | |
CCopySrcInfo | |
CCopyStructures | |
CCreateBuiltins | |
CCreateSpecializedTypes | |
CCreateStructInitializers | Converts some list expressions into struct initializers |
Ccstring | |
CDeclarationLookup | |
CDefaultArguments | |
CDefaultP4CConfiguration | |
CDefaultValues | |
CDefinitions | List of definers for each base storage (at a specific program point) |
CDeprecated | |
CDiagnosticCountInfo | |
CDiagnosticCountInfoGuard | |
CDiagnosticCountInfoState | |
►CDirectMeterMap | |
CDirectMeterInfo | |
CDiscoverActionsInlining | |
CDiscoverFunctionsInlining | |
CDiscoverInlining | Must be run after an evaluator; uses the blocks to discover caller/callee relationships |
CDiscoverStructure | |
CDoBindTypeVariables | |
CDoCheckConstants | |
CDoCheckCoreMethods | Check types for arguments of core.p4 methods |
CDoConstantFolding | Statically evaluates many constant expressions |
CDoConvertEnums | |
CDoConvertErrors | |
CDoCopyStructures | |
CDoDefaultArguments | |
CDoDefaultValues | |
CDoEliminateInvalidHeaders | |
CDoEliminateSerEnums | |
CDoEliminateSwitch | |
CDoExpandEmit | |
CDoExpandLookahead | |
CDoFlattenHeaderUnion | |
CDoFlattenHeaderUnionStack | |
CDoGlobalCopyPropagation | |
CDoHandleNoMatch | |
►CDoLocalCopyPropagation | |
CElimDead | |
CRewriteTableKeys | |
CDoMoveActionsToTables | |
CDontcareArgs | |
CDoOrderArguments | |
CDoRemoveActionParameters | |
CDoRemoveAssertAssume | |
CDoRemoveExits | |
CDoRemoveLeftSlices | |
CDoRemoveMiss | |
CDoRemoveParserControlFlow | Converts if statements in parsers into transitions |
CDoRemoveReturns | |
CDoRemoveSelectBooleans | |
CDoReplaceNewtype | |
CDoReplaceSelectRange | |
CDoReplaceTuples | |
CDoReplaceTypedef | |
CDoResetHeaders | Explicitly invalidate uninitialized header variables |
CDoSetHeaders | |
CDoSimplifyControlFlow | Replace complex control flow nodes with simpler ones where possible |
CDoSimplifyDefUse | |
CDoSimplifyExpressions | Convert expressions so that each expression contains at most one side effect |
CDoSimplifyKey | |
CDoSimplifyParsers | Remove unreachable parser states, and collapse simple chains of states |
CDoSimplifySelectCases | |
CDoSimplifySwitch | Simplify select and switch statements that have constant arguments |
►CDoSingleArgumentSelect | |
CPair | A pair of expression representing an expression and a mask |
CDoStaticAssert | |
CDoStrengthReduction | |
CDoSynthesizeActions | |
CDoTableHit | |
CDoTableKeyNames | |
CDpdkProgramStructure | Collect information related to P4 programs targeting dpdk |
CDump | |
CDuplicateActions | |
CDynamicVisitor | |
CEbpfOptions | |
CEliminateInvalidHeaders | |
CEliminateNewtype | |
CEliminateSerEnums | |
CEliminateSubparserCalls | |
CEliminateSwitch | |
CEliminateTuples | |
CEliminateTypedef | |
CEntryPriorities | Assigns priorities to table entries if they are not 'const' |
CEnumInstance | |
CEnumOn32Bits | |
CEnumRepresentation | |
CEqualityConstraint | Requires two types to be equal |
CErrorCatalog | |
CErrorMessage | |
CErrorReporter | |
CErrorType | |
CEvaluator | |
CEvaluatorPass | |
CExpandEmit | |
CExpandLookahead | |
CExplain | Creates a string that describes the values of current type variables |
CExpressionEvaluator | |
CexprUses | |
CExternConstructorCall | |
CExternFunction | |
CExternInstance | |
CExternInstantiation | |
CExternMethod | |
CFillEnumMap | |
CFindActionParameters | |
CFindFunctionSpecializations | |
CFindGlobalActionUses | |
CFindHeaderTypesToReplace | |
CFindParameters | Finds parameters for actions that will be given unique names |
CFindRedundantParsers | |
CFindRepeatedActionUses | |
CFindSpecializations | |
CFindSymbols | |
CFindTypesInLogMsgInvocationToReplace | |
CFindTypeSpecializations | |
CFindTypesToReplace | |
CFindVariableValues | |
CFlattenHeaders | |
CFlattenHeaderUnion | |
CFlattenInterfaceStructs | |
CFlattenLogMsg | |
CFrontEnd | |
CFrontEndPolicy | |
CFunctionCall | |
CFunctionsInliner | |
CFunctionSpecialization | Describes how a generic function is specialized |
CFunctionSpecializationMap | |
CGeneralInliner | Performs actual inlining work |
CGlobalActionReplacements | |
CGlobalCopyPropagation | |
CHalfOpenRange | |
CHandleNoMatch | |
CHandleValidityHeaderUnion | |
Chas_dbprint | |
Chas_dbprint< T, std::void_t< decltype(std::declval< T >().dbprint(std::declval< std::ostream & >()))> > | |
Chas_ostream_operator | |
Chas_ostream_operator< T, std::void_t< decltype(std::declval< std::ostream & >()<< std::declval< T >())> > | |
CHasExits | |
►Chash_vector_base | |
Cinternal | |
Clookup_cache | |
ChasSideEffects | |
CHasTableApply | Checks to see whether an IR node includes a table.apply() sub-expression |
ChdrFieldInfo | |
CHeaderTypeMaxLengthCalculator | |
Chex | |
Chexvec | |
CHierarchicalNames | |
CHSIndexContretizer | |
CHSIndexFinder | |
CHSIndexSimplifier | |
CHSIndexTransform | This class substitutes index of a header stack in all occurences of found header stack |
Chvec_map | |
Chvec_set | |
CICastable | |
CICompileContext | |
CIfInParser | Detect whether the program contains an 'if' statement in a parser |
CIHasBlock | |
CIHasDbPrint | |
Cindent_t | |
CIndexedLocation | Interface for locations that support an index operation |
CInline | |
CInlineActions | |
CInlineControlFlow | |
CInlineDriver | |
CInlineFunctions | |
CInlineList | |
CInlinePass | Performs one round of inlining bottoms-up |
►CInlineSummary | Summarizes all inline operations to be performed |
►CPerCaller | Various substitutions that must be applied for each instance |
Ckey_equal | |
Ckey_hash | |
CInspectDpdkProgram | |
CInspector | |
CInspectPortableProgram | |
CInspectPsaProgram | |
CInstanceBase | |
CInstantiateDirectCalls | |
CInstantiation | Used to resolve a Declaration_Instance |
CIOptionPragmaParser | |
CIsLikeLeftValue | |
CIsMask | |
CIsNonConstantArrayIndex | |
CIsValid | |
CIterKeys | |
CIterValues | |
CJsonBoolean | |
CJsonData | |
CJSONGenerator | |
CJSONLoader | |
CJsonNull | |
CJsonNumber | |
CJsonObject | |
CJsonString | |
CJsonVector | |
CKeyIsSimple | |
CKeyNameGenerator | |
CKeySideEffect | |
Cloc_t | |
CLocalCopyPropagation | |
CLocalizeActions | |
CLocalizeAllActions | |
CLocationPath | |
CLocationSet | |
CLogAbbrev | |
CLTBitMatrix | |
CMapForKey | |
Cmatch_t | |
CMethodInstance | |
CMidEndLast | |
CMinimalNameGenerator | |
CMissingIdAssigner | |
CModifier | |
CMoveActionsToTables | |
CMoveConstructors | |
CMoveDeclarations | |
CMoveInitializers | |
Cn4 | |
CNameGateways | |
CNameGenerator | |
CNestedStructMap | |
CNestedStructs | |
COnBacktrack | |
Conullstream | |
COrderArguments | |
►Cordered_map | |
Cvalue_compare | |
►Cordered_set | |
Csorted_iterator | |
COrPolicy | |
CP4CConfiguration | |
CP4CContext | |
CP4CContextWithOptions | |
CP4COptionPragmaParser | |
CP4CoreLibrary | |
CP4Exception_Model | |
CP4ParserDriver | A ParserDriver that can parse P4-16 programs |
CP4RuntimeAPI | |
CP4RuntimeSerializer | Public APIs to generate P4Info message. Uses the singleton pattern |
CP4WriteContext | |
CPackageInstantiation | |
CPacketIn | |
CPacketOut | |
CParameterSubstitution | |
CParseAnnotationBodies | Clears a type map after calling a ParseAnnotations instance |
CParseAnnotations | |
CParseDpdkArchitecture | |
CParsePortableArchitecture | |
CParsePsaArchitecture | |
CParserErrorMessage | |
CParserInfo | Information produced for a parser by the symbolic evaluator |
CParserInstantiation | |
CParserOptions | |
CParserRewriter | |
CParserStateInfo | Information produced for a parser state by the symbolic evaluator |
CParserStructure | Information about a parser in the input program |
CParsersUnroll | |
CPassIf | |
►CPassManager | |
CVisitorRef | |
CPassRepeated | |
CPassRepeatUntil | |
►CPattern | |
CMatch | |
CPauseTrace | |
CPerInstanceSubstitutions | |
CPortableProgramStructure | |
CPredication | |
Cprimitive_info_t | |
CProgramMap | |
CProgramPoint | Indicates a statement in the program |
CProgramPoints | |
CProgramStructure | |
CPsaProgramStructure | |
CPushContext | |
CRangeIter | |
CReadsWrites | Computes the SetOfLocations read and written by an expression |
CReassociation | |
CReferenceMap | Class used to encode maps from paths to declarations |
CRemoveActionParameters | |
CRemoveAliases | |
CRemoveAllUnusedDeclarations | Iterates RemoveUnusedDeclarations until convergence |
CRemoveAssertAssume | |
CRemoveBreakContinue | |
CRemoveComplexComparisons | |
CRemoveComplexExpressions | |
CRemoveComplexExpressionsPolicy | |
CRemoveDontcareArgs | |
CRemoveExits | |
CRemoveGenericTypes | Removes all structs or stacks that are generic |
CRemoveHidden | |
CRemoveLeftSlices | |
CRemoveMiss | |
CRemoveModifiedValues | |
CRemoveNestedStructs | |
CRemoveParserControlFlow | |
CRemoveParserIfs | |
CRemoveRedundantParsers | |
CRemoveReturns | |
CRemoveSelectBooleans | |
CRemoveUnusedActionParameters | |
CRemoveUnusedDeclarations | Removes unused declarations |
CRemoveUnusedHUDeclarations | |
CRemoveUnusedPolicy | |
CRemoveUselessCasts | |
CRenameMap | |
CRenameSymbols | |
CReplaceHeaders | |
CReplaceIndexRefs | |
CReplaceLogMsg | |
CReplacementMap | |
CReplaceSelectRange | |
CReplaceStructs | |
CReplaceTypeUses | |
CResetHeaders | Invokes TypeChecking followed by DoResetHeaders |
CResolutionContext | Visitor mixin for looking up names in enclosing scopes from the Visitor::Context |
CResolveReferences | |
CRewriteAllParsers | |
Csafe_vector | |
CSameExpression | |
CSaturationElim | Contains utility functions for eliminating saturating arithmetic |
CScalarValue | |
CSerEnumInstance | |
CSetHeaders | |
CSetOfLocations | |
CSideEffectOrdering | |
CSideEffects | Determines whether an expression may have method or constructor invocations |
CSimpleCallInfo | |
CSimpleEnumInstance | An instance of a simple enum, e.g., X.A from enum X { A, B } |
CSimpleInlineList | |
CSimpleInlineWorkList | |
CSimplifyBitwise | |
CSimplifyComparisons | |
CSimplifyControlFlow | |
CSimplifyDefUse | |
CSimplifyKey | |
CSimplifyParsers | |
CSimplifySelectCases | |
CSimplifySelectList | |
CSimplifySwitch | |
CSingleArgumentSelect | |
CSpecializationInfo | Describes how a parser or control is specialized |
CSpecializationMap | Maintains a map from invocation to a SpecializationInfo object |
CSpecialize | Specializes each Parser and Control with constant constructor arguments by substituting type arguments and constructor parameters |
CSpecializeAll | Specializes each Parser and Control by substituting type arguments and constructor parameters |
CSpecializeFunctions | Specializes each generic function by substituting type parameters |
CSpecializeGenericFunctions | |
CSpecializeGenericTypes | Specializes each generic type by substituting type parameters |
CSplitFlowVisit | |
CSplitFlowVisit_base | |
CSplitFlowVisitVector | |
CStackVariable | |
CStackVariableHash | Class with hash function for StackVariable |
CStaticAssert | |
CStorageFactory | |
CStorageLocation | Abstraction for something that is has a left value (variable, parameter) |
CStorageMap | Maps a declaration to its associated storage |
CStrengthReduction | |
Cstring_map | |
►CStringRef | |
CSplit | |
CStructInitializers | |
CStructLocation | |
CStructTypeReplacement | |
CSubstituteParameters | |
CSubstituteStructures | |
CSwitchAddDefault | |
CSymBitMatrix | |
CSymbolicArray | |
CSymbolicBool | |
CSymbolicEnum | |
CSymbolicError | |
CSymbolicException | |
CSymbolicExtern | |
CSymbolicHeader | |
CSymbolicHeaderUnion | |
CSymbolicInteger | |
CSymbolicPacketIn | |
CSymbolicStaticError | |
CSymbolicStruct | |
CSymbolicTuple | |
CSymbolicValue | |
CSymbolicValueFactory | |
CSymbolicVarbit | |
CSymbolicVoid | |
CSymRenameMap | |
CSynthesizeActions | |
CTableApplySolver | |
CTableHit | |
CTableInsertions | |
CTableKeyNames | |
CTablesInActions | |
CTablesInKeys | |
CTagGlobalActions | |
CToP4 | |
CTransform | |
CTupleLocation | |
►CTypeCheck | |
CAssignActionArgTypes | |
CAssignInitialTypes | |
CInferActionArgsBottomUp | |
CInferActionArgsTopDown | |
CInferExpressionsBottomUp | Bottom up type inferencing – set the types of expression nodes based on operands |
CInferExpressionsTopDown | Top down type inferencing – set the type of expression nodes based on their uses |
CMakeImplicitCastsExplicit | |
CTypeChecking | |
CTypeConstraint | |
CTypeConstraints | |
►CTypeInference | |
CComparison | |
CTypeMap | |
CTypeOccursVisitor | |
CTypeSpecialization | |
CTypeSpecializationMap | |
CTypeSubstitution | |
CTypeSubstitutionVisitor | |
CTypeUnification | |
CTypeVariableSubstitution | |
CTypeVariableSubstitutionVisitor | |
CUniqueNames | |
CUniqueParameters | |
CUnnestSelectList | |
CUnparsedConstant | |
►CUnrollLoops | |
Cloop_bounds_t | |
CPolicy | |
CUselessCasts | |
CValidateMatchAnnotations | |
CValidateParsedProgram | |
CValidateTableProperties | |
CValidateValueSets | |
CValueMap | |
CVisitedKey | The main class for parsers' states key for visited checking |
CVisitFunctor | |
►CVisitor | |
CChangeTracker | Assists visitors in traversing the IR |
Cprofile_t | |
CTracker | Assists visitors in traversing the IR |
CVisitor_Context | |
CWithFieldsLocation | Base class for location sets that contain fields |
►Nstd | STL namespace |
Chash< P4::ClosedRange< Unit, Order > > | |
Chash< P4::ComputeDefUse::loc_t > | |
Chash< P4::cstring > | |
Chash< P4::HalfOpenRange< Unit, Order > > | |
Chash< P4::loc_t > | |
Chash< P4::ProgramPoint > | |
Chash< std::pair< T1, T2 > > | |
Chash< std::tuple< Types... > > | |
Calloc_trace_cb_t | |
Cbpf_elf_map | |
Cbpf_map | |
Cbpf_table | A helper structure used to describe attributes |
Cclone_session_entry | |
Cdp_packet | |
Cp4tc_ext_bpf_params | |
Cp4tc_ext_bpf_val | |
Cp4tc_ext_csum_params | |
Cp4tc_table_entry_act_bpf_params__local | |
Cp4tc_table_entry_create_bpf_params__local | |
CP4TestOptions | |
Cpcap_pkt | |
Cpna_global_metadata | |
Cpna_main_input_metadata_t | |
Cpna_main_output_metadata_t | |
Cpna_main_parser_input_metadata_t | |
Cpsa_egress_deparser_input_metadata_t | |
Cpsa_egress_input_metadata_t | |
Cpsa_egress_output_metadata_t | |
Cpsa_egress_parser_input_metadata_t | |
Cpsa_global_metadata | |
Cpsa_ingress_input_metadata_t | |
Cpsa_ingress_output_metadata_t | |
Cpsa_ingress_parser_input_metadata_t | INGRESS data types |
CRefCheckContext | |
CReferenceMap | Class used to encode maps from paths to declarations |
Csk_buff | Simple descriptor which replaces the kernel sk_buff structure |
CTypeMap | |
CUT_hash_bucket | |
CUT_hash_handle | |
CUT_hash_table | |