X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=lib%2Flibrte_eal%2Fcommon%2Finclude%2Frte_eal.h;h=0c9c3f13bd4948ae40c8a262c64a8c8803121c54;hb=83a8a143bba5e05bd9cb9b44f949611df60dfa3c;hp=d1cc89eda71eeb6715c2142d26bf32bd7bfe4879;hpb=ce3a7312357ba636dea4e326e5676615502805c5;p=dpdk.git diff --git a/lib/librte_eal/common/include/rte_eal.h b/lib/librte_eal/common/include/rte_eal.h index d1cc89eda7..0c9c3f13bd 100644 --- a/lib/librte_eal/common/include/rte_eal.h +++ b/lib/librte_eal/common/include/rte_eal.h @@ -57,6 +57,8 @@ enum rte_proc_type_t { struct rte_config { uint32_t master_lcore; /**< Id of the master lcore */ uint32_t lcore_count; /**< Number of available logical cores. */ + uint32_t numa_node_count; /**< Number of detected NUMA nodes. */ + uint32_t numa_nodes[RTE_MAX_NUMA_NODES]; /**< List of detected NUMA nodes. */ uint32_t service_lcore_count;/**< Number of available service cores. */ enum rte_lcore_role_t lcore_role[RTE_MAX_LCORE]; /**< State of cores. */ @@ -229,6 +231,16 @@ struct rte_mp_reply { */ typedef int (*rte_mp_t)(const struct rte_mp_msg *msg, const void *peer); +/** + * Asynchronous reply function typedef used by other components. + * + * As we create socket channel for primary/secondary communication, use + * this function typedef to register action for coming responses to asynchronous + * requests. + */ +typedef int (*rte_mp_async_reply_t)(const struct rte_mp_msg *request, + const struct rte_mp_reply *reply); + /** * @warning * @b EXPERIMENTAL: this API may change without prior notice @@ -317,6 +329,32 @@ int __rte_experimental rte_mp_request_sync(struct rte_mp_msg *req, struct rte_mp_reply *reply, const struct timespec *ts); +/** + * @warning + * @b EXPERIMENTAL: this API may change without prior notice + * + * Send a request to the peer process and expect a reply in a separate callback. + * + * This function sends a request message to the peer process, and will not + * block. Instead, reply will be received in a separate callback. + * + * @param req + * The req argument contains the customized request message. + * + * @param ts + * The ts argument specifies how long we can wait for the peer(s) to reply. + * + * @param clb + * The callback to trigger when all responses for this request have arrived. + * + * @return + * - On success, return 0. + * - On failure, return -1, and the reason will be stored in rte_errno. + */ +int __rte_experimental +rte_mp_request_async(struct rte_mp_msg *req, const struct timespec *ts, + rte_mp_async_reply_t clb); + /** * @warning * @b EXPERIMENTAL: this API may change without prior notice @@ -463,15 +501,6 @@ enum rte_iova_mode rte_eal_iova_mode(void); const char * __rte_experimental rte_eal_mbuf_user_pool_ops(void); -/** - * Get default pool ops name for mbuf - * - * @return - * returns default pool ops name. - */ -const char * -rte_eal_mbuf_default_mempool_ops(void); - #ifdef __cplusplus } #endif