This API can be used to test if an lcore(EAL thread) is a service lcore. Signed-off-by: Pavan Nikhilesh <pbhagavat...@caviumnetworks.com> --- lib/librte_eal/common/include/rte_lcore.h | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+)
diff --git a/lib/librte_eal/common/include/rte_lcore.h b/lib/librte_eal/common/include/rte_lcore.h index 50e0d0f..7854ea1 100644 --- a/lib/librte_eal/common/include/rte_lcore.h +++ b/lib/librte_eal/common/include/rte_lcore.h @@ -180,6 +180,24 @@ rte_lcore_is_enabled(unsigned lcore_id) } /** + * Test if an lcore is service lcore. + * + * @param lcore_id + * The identifier of the lcore, which MUST be between 0 and + * RTE_MAX_LCORE-1. + * @return + * True if the given lcore is service; false otherwise. + */ +static inline int +rte_lcore_is_service_lcore(unsigned lcore_id) +{ + struct rte_config *cfg = rte_eal_get_configuration(); + if (lcore_id >= RTE_MAX_LCORE) + return 0; + return cfg->lcore_role[lcore_id] == ROLE_SERVICE; +} + +/** * Get the next enabled lcore ID. * * @param i -- 2.7.4