1 #ifndef NDNDPDK_STRATEGYCODE_STRATEGY_CODE_H
2 #define NDNDPDK_STRATEGYCODE_STRATEGY_CODE_H
6 #include "../core/common.h"
22 __attribute__((nonnull))
static inline uint64_t
24 return prog.
jit(arg, sizeofArg);
35 __attribute__((nonnull))
void
38 __attribute__((nonnull))
void
48 __attribute__((nonnull, returns_nonnull))
const struct rte_bpf_xsym*
void(* StrategyCode_FreeFunc)(uintptr_t goHandle)
Definition: strategy-code.h:41
StrategyCode_FreeFunc StrategyCode_Free
Definition: strategy-code.c:4
uint64_t(* StrategyCodeFunc)(void *, size_t)
Definition: strategy-code.h:9
struct StrategyCode StrategyCode
Forwarding strategy BPF programs.
void StrategyCode_Ref(StrategyCode *sc)
Definition: strategy-code.c:8
void StrategyCode_Unref(StrategyCode *sc)
Definition: strategy-code.c:17
bool(* StrategyCode_GetJSONFunc)(SgCtx *ctx, const char *path, int index, int64_t *dst)
Definition: strategy-code.h:45
struct StrategyCodeProg StrategyCodeProg
BPF program in a forwarding strategy.
const struct rte_bpf_xsym * SgInitGetXsyms(uint32_t *nXsyms)
Definition: strategy-code.c:34
StrategyCode_GetJSONFunc StrategyCode_GetJSON
Definition: strategy-code.c:5
Context of strategy invocation.
Definition: api.h:26
BPF program in a forwarding strategy.
Definition: strategy-code.h:12
StrategyCodeFunc jit
JIT-compiled function.
Definition: strategy-code.h:14
struct rte_bpf * bpf
BPF execution context.
Definition: strategy-code.h:13
Forwarding strategy BPF programs.
Definition: strategy-code.h:28
StrategyCodeProg main
dataplane BPF program
Definition: strategy-code.h:29
atomic_int nRefs
how many FibEntry* reference this
Definition: strategy-code.h:32
int id
strategy ID
Definition: strategy-code.h:31
uintptr_t goHandle
cgo.Handle reference of Go *strategycode.Strategy
Definition: strategy-code.h:30