Hi Ferruh,

Most of other APIs depends on EAL environment, they will make sure EAL is ready 
be executing their task.
As replied in previous mail,  these functions will be called in Python 
environment. Python application should initialize EAL explicitly before calling 
other APIs like opae_update_flash. If application forget to do such 
initialization, an error information will be output when calling other APIs.

Thanks,
Wei

-----Original Message-----
From: Ferruh Yigit <ferruh.yi...@intel.com> 
Sent: Friday, January 22, 2021 00:34
To: Huang, Wei <wei.hu...@intel.com>; dev@dpdk.org; Xu, Rosen 
<rosen...@intel.com>; Zhang, Qi Z <qi.z.zh...@intel.com>
Cc: sta...@dpdk.org; Zhang, Tianfei <tianfei.zh...@intel.com>
Subject: Re: [dpdk-dev] [PATCH v11 3/4] raw/ifpga: add OPAE API for OpenStack 
Cyborg

On 1/21/2021 6:03 AM, Wei Huang wrote:
> +int opae_init(int eal_init_result)
> +{
> +     int ret = 0;
> +
> +     if (!check_eal(0))
> +             return 0;
> +
> +     if (eal_init_result < 0) {
> +             if (rte_errno == EALREADY) {
> +                     eal_inited = 1;
> +                     opae_log_info("EAL already initialized\n");
> +             } else {
> +                     opae_log_err("Cannot initialize EAL\n");
> +                     ret = -1;
> +             }
> +     } else {
> +             eal_inited = 1;
> +             opae_log_info("Initialize EAL done\n");
> +     }
> +
> +     return ret;
> +}

Why an PMD API needs to know eal initialization status? This may be pointing a 
bad design, is it possible that most of the 'opae_' API code should go to the 
application?

Reply via email to