17#ifndef BACKENDS_UBPF_UBPFPROGRAM_H_
18#define BACKENDS_UBPF_UBPFPROGRAM_H_
20#include "backends/ebpf/ebpfOptions.h"
21#include "backends/ebpf/ebpfProgram.h"
23#include "frontends/p4/evaluator/evaluator.h"
24#include "frontends/p4/typeMap.h"
44 cstring contextVar, outerHdrOffsetVar, outerHdrLengthVar;
47 cstring arrayIndexType =
"uint32_t";
50 P4::TypeMap *typeMap,
const IR::ToplevelBlock *toplevel)
52 model(UBPFModel::instance) {
53 packetStartVar =
cstring(
"pkt");
54 offsetVar =
cstring(
"packetOffsetInBits");
55 outerHdrOffsetVar =
cstring(
"outHeaderOffset");
56 outerHdrLengthVar =
cstring(
"outHeaderLength");
60 stdMetadataVar =
cstring(
"std_meta");
61 packetTruncatedSizeVar =
cstring(
"packetTruncatedSize");
64 bool build()
override;
Definition ebpfProgram.h:39
Definition ebpfOptions.h:26
Class used to encode maps from paths to declarations.
Definition referenceMap.h:66
Definition ubpfControl.h:59
Definition ubpfDeparser.h:62
Definition ubpfModel.h:64
Definition ubpfParser.h:33
Definition ubpfProgram.h:37