2022-06-03 19:15:11 +00:00
|
|
|
/* SPDX-License-Identifier: BSD-3-Clause
|
2018-12-13 15:54:01 +00:00
|
|
|
* Copyright (c) Intel Corporation.
|
|
|
|
* All rights reserved.
|
|
|
|
*/
|
|
|
|
|
|
|
|
/** \file
|
|
|
|
* Encapsulated DPDK specific dependencies
|
|
|
|
*/
|
|
|
|
|
2019-12-10 22:16:42 +00:00
|
|
|
#include "spdk/stdinc.h"
|
|
|
|
|
2018-12-13 15:54:01 +00:00
|
|
|
#ifndef SPDK_ENV_DPDK_H
|
|
|
|
#define SPDK_ENV_DPDK_H
|
|
|
|
|
|
|
|
#ifdef __cplusplus
|
|
|
|
extern "C" {
|
|
|
|
#endif
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Initialize the environment library after DPDK env is already initialized.
|
|
|
|
* If DPDK's rte_eal_init is already called, this function must be called
|
|
|
|
* instead of spdk_env_init, prior to using any other functions in SPDK
|
|
|
|
* env library.
|
|
|
|
*
|
2019-12-06 23:26:49 +00:00
|
|
|
* \param legacy_mem Indicates whether DPDK was initialized with --legacy-mem
|
|
|
|
* eal parameter.
|
2018-12-13 15:54:01 +00:00
|
|
|
* \return 0 on success, or negative errno on failure.
|
|
|
|
*/
|
2019-12-06 23:26:49 +00:00
|
|
|
int spdk_env_dpdk_post_init(bool legacy_mem);
|
2018-12-13 15:54:01 +00:00
|
|
|
|
2019-03-11 12:14:19 +00:00
|
|
|
/**
|
2021-11-25 01:40:58 +00:00
|
|
|
* Release any resources of the environment library that were allocated with
|
2019-03-11 12:14:19 +00:00
|
|
|
* spdk_env_dpdk_post_init(). After this call, no DPDK function calls may
|
|
|
|
* be made. It is expected that common usage of this function is to call it
|
|
|
|
* just before terminating the process.
|
|
|
|
*/
|
|
|
|
void spdk_env_dpdk_post_fini(void);
|
|
|
|
|
2019-02-27 17:52:47 +00:00
|
|
|
/**
|
|
|
|
* Check if DPDK was initialized external to the SPDK env_dpdk library.
|
|
|
|
*
|
|
|
|
* \return true if DPDK was initialized external to the SPDK env_dpdk library.
|
|
|
|
* \return false otherwise
|
|
|
|
*/
|
|
|
|
bool spdk_env_dpdk_external_init(void);
|
|
|
|
|
2019-12-10 22:16:42 +00:00
|
|
|
/**
|
|
|
|
* Dump the env allocated memory to the given file.
|
|
|
|
*
|
|
|
|
* \param file The file object to write to.
|
|
|
|
*/
|
|
|
|
void spdk_env_dpdk_dump_mem_stats(FILE *file);
|
|
|
|
|
2018-12-13 15:54:01 +00:00
|
|
|
#ifdef __cplusplus
|
|
|
|
}
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#endif
|