From ac71108d649273fe19e7653eda1499f868c6846a Mon Sep 17 00:00:00 2001 From: Aaron Conole Date: Wed, 22 Mar 2017 16:19:40 -0400 Subject: [PATCH] eal: add info about various init error codes The rte_eal_init function will now pass failure reason hints to the application. To help app developers decipher this, add some brief information about what the codes are indicating. Signed-off-by: Aaron Conole Acked-by: Bruce Richardson --- lib/librte_eal/common/include/rte_eal.h | 27 ++++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/lib/librte_eal/common/include/rte_eal.h b/lib/librte_eal/common/include/rte_eal.h index 03fee500f5..abf020bf99 100644 --- a/lib/librte_eal/common/include/rte_eal.h +++ b/lib/librte_eal/common/include/rte_eal.h @@ -159,7 +159,32 @@ int rte_eal_iopl_init(void); * function call and should not be further interpreted by the * application. The EAL does not take any ownership of the memory used * for either the argv array, or its members. - * - On failure, a negative error value. + * - On failure, -1 and rte_errno is set to a value indicating the cause + * for failure. In some instances, the application will need to be + * restarted as part of clearing the issue. + * + * Error codes returned via rte_errno: + * EACCES indicates a permissions issue. + * + * EAGAIN indicates either a bus or system resource was not available, + * setup may be attempted again. + * + * EALREADY indicates that the rte_eal_init function has already been + * called, and cannot be called again. + * + * EFAULT indicates the tailq configuration name was not found in + * memory configuration. + * + * EINVAL indicates invalid parameters were passed as argv/argc. + * + * ENOMEM indicates failure likely caused by an out-of-memory condition. + * + * ENODEV indicates memory setup issues. + * + * ENOTSUP indicates that the EAL cannot initialize on this system. + * + * EPROTO indicates that the PCI bus is either not present, or is not + * readable by the eal. */ int rte_eal_init(int argc, char **argv); -- 2.20.1