diff options
Diffstat (limited to 'examples/multi_process/l2fwd_fork/flib.h')
-rw-r--r-- | examples/multi_process/l2fwd_fork/flib.h | 120 |
1 files changed, 0 insertions, 120 deletions
diff --git a/examples/multi_process/l2fwd_fork/flib.h b/examples/multi_process/l2fwd_fork/flib.h deleted file mode 100644 index 8bc13a1f..00000000 --- a/examples/multi_process/l2fwd_fork/flib.h +++ /dev/null @@ -1,120 +0,0 @@ -/* SPDX-License-Identifier: BSD-3-Clause - * Copyright(c) 2010-2014 Intel Corporation - */ - -#ifndef __FLIB_H -#define __FLIB_H - -/* callback function pointer when specific slave leaves */ -typedef void (slave_exit_notify)(unsigned slaveid, int stat); - -enum slave_stat{ - ST_FREEZE = 1, - ST_IDLE, - ST_RUN, - ST_ZOMBIE, /* Not implemented yet */ -}; - -/** - * Initialize the fork lib. - * - * @return - * - 0 : fork lib initialized successfully - * - -1 : fork lib initialized failed - */ -int flib_init(void); - -/** - * Check that every SLAVE lcores are in WAIT state, then call - * flib_remote_launch() for all of them. If call_master is true - * (set to CALL_MASTER), also call the function on the master lcore. - * - * @param f: - * function pointer need to run - * @param arg: - * argument for f to carry - * @param call_master - * - SKIP_MASTER : only launch function on slave lcores - * - CALL_MASTER : launch function on master and slave lcores - * @return - * - 0 : function execute successfully - * - -1 : function execute failed - */ -int flib_mp_remote_launch(lcore_function_t *f, - void *arg, enum rte_rmt_call_master_t call_master); - -/** - * Send a message to a slave lcore identified by slave_id to call a - * function f with argument arg. - * - * @param f: - * function pointer need to run - * @param arg: - * argument for f to carry - * @param slave_id - * slave lcore id to run on - * @return - * - 0 : function execute successfully - * - -1 : function execute failed - */ -int flib_remote_launch(lcore_function_t *f, - void *arg, unsigned slave_id); - -/** - * Query the running stat for specific slave, wont' work in with master id - * - * @param slave_id: - * lcore id which should not be master id - * @return - * - ST_FREEZE : lcore is not in enabled core mask - * - ST_IDLE : lcore is idle - * - ST_RUN : lcore is running something - */ -enum slave_stat -flib_query_slave_status(unsigned slave_id); - -/** - * Register a callback function to be notified in case specific slave exit. - * - * @param slave_id: - * lcore id which should not be master id - * @param cb: - * callback pointer to register - * @return - * - 0 : function execute successfully - * - -EFAULT : argument error - * - -ENOENT : slave_id not correct - */ -int flib_register_slave_exit_notify(unsigned slave_id, - slave_exit_notify *cb); - -/** - * Assign a lcore ID to non-slave thread. Non-slave thread refers to thread that - * not created by function rte_eal_remote_launch or rte_eal_mp_remote_launch. - * These threads can either bind lcore or float among different lcores. - * This lcore ID will be unique in multi-thread or multi-process DPDK running - * environment, then it can benefit from using the cache mechanism provided in - * mempool library. - * After calling successfully, use rte_lcore_id() to get the assigned lcore ID, but - * other lcore funtions can't guarantee to work correctly. - * - * @return - * - -1 : can't assign a lcore id with 3 possibilities. - * - it's not non-slave thread. - * - it had assign a lcore id previously - * - the lcore id is running out. - * - > 0 : the assigned lcore id. - */ -int flib_assign_lcore_id(void); - -/** - * Free the lcore_id that assigned in flib_assign_lcore_id(). - * call it in case non-slave thread is leaving or left. - * - * @param lcore_id - * The identifier of the lcore, which MUST be between 1 and - * RTE_MAX_LCORE-1. - */ -void flib_free_lcore_id(unsigned lcore_id); - -#endif /* __FLIB_H */ |