19#ifndef BF_P4C_IR_IR_ENUMS_H_
20#define BF_P4C_IR_IR_ENUMS_H_
22#include <lib/cstring.h>
29enum class DataAggregation { NONE, PACKETS, BYTES, BOTH, AGGR_TYPES };
45enum class StatefulUse {
57enum class AddrLocation { DIRECT, OVERHEAD, HASH, STFUL_COUNTER, GATEWAY_PAYLOAD, NOT_SET };
58enum class PfeLocation { DEFAULT, OVERHEAD, GATEWAY_PAYLOAD, NOT_SET };
59enum class TypeLocation { DEFAULT, OVERHEAD, GATEWAY_PAYLOAD, NOT_SET };
60enum class ColorMapramAddress { IDLETIME, STATS, MAPRAM_ADDR_TYPES, NOT_SET };
61enum class SelectorMode { FAIR, RESILIENT, SELECTOR_MODES };
74std::ostream &operator<<(std::ostream &out,
const IR::MAU::DataAggregation &d);
75bool operator>>(cstring s, IR::MAU::DataAggregation &d);
77std::ostream &operator<<(std::ostream &out,
const IR::MAU::MeterType &m);
78bool operator>>(cstring s, IR::MAU::MeterType &m);
80std::ostream &operator<<(std::ostream &out,
const IR::MAU::StatefulUse &u);
81bool operator>>(cstring s, IR::MAU::StatefulUse &u);
83std::ostream &operator<<(std::ostream &out,
const IR::MAU::AddrLocation &a);
84bool operator>>(cstring s, IR::MAU::AddrLocation &a);
86std::ostream &operator<<(std::ostream &out,
const IR::MAU::PfeLocation &p);
87bool operator>>(cstring s, IR::MAU::PfeLocation &a);
89std::ostream &operator<<(std::ostream &out,
const IR::MAU::TypeLocation &t);
90bool operator>>(cstring s, IR::MAU::TypeLocation &t);
92std::ostream &operator<<(std::ostream &out,
const IR::MAU::ColorMapramAddress &cma);
93bool operator>>(cstring s, IR::MAU::ColorMapramAddress &cma);
95std::ostream &operator<<(std::ostream &out,
const IR::MAU::SelectorMode &sm);
96bool operator>>(cstring s, IR::MAU::SelectorMode &sm);
97std::ostream &operator<<(std::ostream &out,
const IR::MAU::AlwaysRun &ar);
98bool operator>>(cstring s, IR::MAU::AlwaysRun &ar);
105enum class ChecksumMode { VERIFY, RESIDUAL, CLOT };
108enum class ParserWriteMode { SINGLE_WRITE, BITWISE_OR, CLEAR_ON_WRITE };
110std::ostream &operator<<(std::ostream &out,
const IR::BFN::ChecksumMode &t);
111bool operator>>(cstring s, IR::BFN::ChecksumMode &t);
113std::ostream &operator<<(std::ostream &out,
const IR::BFN::ParserWriteMode &t);
114bool operator>>(cstring s, IR::BFN::ParserWriteMode &t);
The namespace encapsulating Barefoot/Intel-specific stuff.
Definition add_t2na_meta.cpp:21
The namespace encapsulating IR node classes.
TODO: this is not really specific to BMV2, it should reside somewhere else.
Definition applyOptionsPragmas.cpp:24