> -----Original Message-----
> From: Xing, Beilei <beilei.x...@intel.com>
> Sent: Wednesday, August 16, 2023 11:06 PM
> To: Wu, Jingjing <jingjing...@intel.com>
> Cc: dev@dpdk.org; Liu, Mingxia <mingxia....@intel.com>; Xing, Beilei
> <beilei.x...@intel.com>; Zhang, Qi Z <qi.z.zh...@intel.com>
> Subject: [PATCH v2 07/12] net/cpfl: create port representor
> 
> From: Beilei Xing <beilei.x...@intel.com>
> 
> Track representor request in a whitelist.
> Representor will only be created for active vport.
> 
> Signed-off-by: Jingjing Wu <jingjing...@intel.com>
> Signed-off-by: Qi Zhang <qi.z.zh...@intel.com>
> Signed-off-by: Beilei Xing <beilei.x...@intel.com>
> ---
>  drivers/net/cpfl/cpfl_ethdev.c      | 107 ++++---
>  drivers/net/cpfl/cpfl_ethdev.h      |  34 +++
>  drivers/net/cpfl/cpfl_representor.c | 448 ++++++++++++++++++++++++++++
> drivers/net/cpfl/cpfl_representor.h |  26 ++
>  drivers/net/cpfl/meson.build        |   1 +
>  5 files changed, 573 insertions(+), 43 deletions(-)  create mode 100644
> drivers/net/cpfl/cpfl_representor.c
>  create mode 100644 drivers/net/cpfl/cpfl_representor.h
> 
> diff --git a/drivers/net/cpfl/cpfl_ethdev.h b/drivers/net/cpfl/cpfl_ethdev.h 
> index
> 9c4d8d3ea1..d4d9727a80 100644
> --- a/drivers/net/cpfl/cpfl_ethdev.h
> +++ b/drivers/net/cpfl/cpfl_ethdev.h
> @@ -21,6 +21,7 @@
> 
>  #include "cpfl_logs.h"
>  #include "cpfl_cpchnl.h"
> +#include "cpfl_representor.h"
> 
>  /* Currently, backend supports up to 8 vports */
>  #define CPFL_MAX_VPORT_NUM   8
> @@ -60,11 +61,32 @@
>  #define IDPF_DEV_ID_CPF                      0x1453
>  #define VIRTCHNL2_QUEUE_GROUP_P2P    0x100
> 
> +#define CPFL_HOST_ID_NUM     2
> +#define CPFL_PF_TYPE_NUM     2
>  #define CPFL_HOST_ID_HOST    0
>  #define CPFL_HOST_ID_ACC     1
>  #define CPFL_PF_TYPE_APF     0
>  #define CPFL_PF_TYPE_CPF     1
> 
[Liu, Mingxia] Better to use enum.

> +/* Function IDs on IMC side */
> +#define HOST0_APF    0
> +#define HOST1_APF    1
> +#define HOST2_APF    2
> +#define HOST3_APF    3
> +#define ACC_APF_ID   4
> +#define IMC_APF_ID   5
> +#define HOST0_NVME_ID        6
> +#define ACC_NVME_ID  7
> +#define HOST0_CPF_ID 8
> +#define HOST1_CPF_ID 9
> +#define HOST2_CPF_ID 10
> +#define HOST3_CPF_ID 11
> +#define ACC_CPF_ID   12
> +#define IMC_IPF_ID   13
> +#define ATE_CPF_ID   14
> +#define ACC_LCE_ID   15
[Liu, Mingxia] Better to use enum.

> +#define IMC_MBX_EFD_ID       0
> +
>  struct cpfl_vport_param {
>       struct cpfl_adapter_ext *adapter;
>       uint16_t devarg_id; /* arg id from user */ @@ -136,6 +158,13 @@
> struct cpfl_vport {
>       bool p2p_manual_bind;
>  };
> 

Reply via email to