48 enum BFRuntimeDataFieldIds : P4Id {
54 BF_RT_DATA_START = TD_DATA_END,
56 BF_RT_DATA_ACTION_MEMBER_ID,
57 BF_RT_DATA_SELECTOR_GROUP_ID,
58 BF_RT_DATA_ACTION_MEMBER_STATUS,
59 BF_RT_DATA_MAX_GROUP_SIZE,
60 BF_RT_DATA_HASH_VALUE,
71 bool addMatchTypePriority(std::optional<cstring> &matchType)
const override;
73 bool addActionProfIds(
const p4configv1::Table &table,
75 void addMatchActionData(
const p4configv1::Table &table,
Util::JsonObject *tableJson,
78 std::optional<bool> actProfHasSelector(P4Id actProfId)
const override;
80 static std::optional<ActionProf> fromDPDKActionProfile(
81 const p4configv1::P4Info &p4info,
const p4configv1::ExternInstance &externInstance) {
82 const auto &pre = externInstance.preamble();
83 p4configv1::ActionProfile actionProfile;
84 if (!externInstance.info().UnpackTo(&actionProfile)) {
86 "Extern instance %1% does not pack an ActionProfile object", pre.name());
89 auto tableIds = collectTableIds(p4info, actionProfile.table_ids().begin(),
90 actionProfile.table_ids().end());
91 return ActionProf{pre.name(), pre.id(), actionProfile.size(), tableIds,
92 transformAnnotations(pre)};
const Util::JsonObject * genSchema() const override
Generates the schema as a Json object for the provided P4Info instance.
Definition dpdk/control-plane/bfruntime_ext.cpp:222
TODO: this is not really specific to BMV2, it should reside somewhere else.
Definition applyOptionsPragmas.cpp:24
void error(const char *format, Args &&...args)
Report an error with the given message.
Definition lib/error.h:51