X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=lib%2Flibrte_bpf%2Frte_bpf.h;h=cd4d56dea1b07bb26ac84300a8990f60c4b4a660;hb=0aa3e7b925e1ebefdcb9e49d4b1a4c4bc9a127c9;hp=ad62ef2c65cadfb705eac51f2b47fb8f42721ec0;hpb=60702e8c7cbbadd4d5e6ffe4d7f470db339b0a04;p=dpdk.git diff --git a/lib/librte_bpf/rte_bpf.h b/lib/librte_bpf/rte_bpf.h index ad62ef2c65..cd4d56dea1 100644 --- a/lib/librte_bpf/rte_bpf.h +++ b/lib/librte_bpf/rte_bpf.h @@ -113,14 +113,15 @@ struct rte_bpf; * @param bpf * BPF handle to destroy. */ -void __rte_experimental +__rte_experimental +void rte_bpf_destroy(struct rte_bpf *bpf); /** * Create a new eBPF execution context and load given BPF code into it. * * @param prm - * Parameters used to create and initialise the BPF exeution context. + * Parameters used to create and initialise the BPF execution context. * @return * BPF handle that is used in future BPF operations, * or NULL on error, with error code set in rte_errno. @@ -128,15 +129,19 @@ rte_bpf_destroy(struct rte_bpf *bpf); * - EINVAL - invalid parameter passed to function * - ENOMEM - can't reserve enough memory */ -struct rte_bpf * __rte_experimental +__rte_experimental +struct rte_bpf * rte_bpf_load(const struct rte_bpf_prm *prm); /** * Create a new eBPF execution context and load BPF code from given ELF * file into it. + * Note that if the function will encounter EBPF_PSEUDO_CALL instruction + * that references external symbol, it will treat is as standard BPF_CALL + * to the external helper function. * * @param prm - * Parameters used to create and initialise the BPF exeution context. + * Parameters used to create and initialise the BPF execution context. * @param fname * Pathname for a ELF file. * @param sname @@ -148,7 +153,8 @@ rte_bpf_load(const struct rte_bpf_prm *prm); * - EINVAL - invalid parameter passed to function * - ENOMEM - can't reserve enough memory */ -struct rte_bpf * __rte_experimental +__rte_experimental +struct rte_bpf * rte_bpf_elf_load(const struct rte_bpf_prm *prm, const char *fname, const char *sname); /** @@ -161,7 +167,8 @@ rte_bpf_elf_load(const struct rte_bpf_prm *prm, const char *fname, * @return * BPF execution return value. */ -uint64_t __rte_experimental +__rte_experimental +uint64_t rte_bpf_exec(const struct rte_bpf *bpf, void *ctx); /** @@ -178,12 +185,13 @@ rte_bpf_exec(const struct rte_bpf *bpf, void *ctx); * @return * number of successfully processed inputs. */ -uint32_t __rte_experimental +__rte_experimental +uint32_t rte_bpf_exec_burst(const struct rte_bpf *bpf, void *ctx[], uint64_t rc[], uint32_t num); /** - * Provide information about natively compield code for given BPF handle. + * Provide information about natively compiled code for given BPF handle. * * @param bpf * handle for the BPF code. @@ -193,7 +201,8 @@ rte_bpf_exec_burst(const struct rte_bpf *bpf, void *ctx[], uint64_t rc[], * - -EINVAL if the parameters are invalid. * - Zero if operation completed successfully. */ -int __rte_experimental +__rte_experimental +int rte_bpf_get_jit(const struct rte_bpf *bpf, struct rte_bpf_jit *jit); #ifdef __cplusplus