[dpdk-dev] [PATCH v2 0/7] add Intel DCF PMD support

Wang, Haiyue haiyue.wang at intel.com
Fri Mar 13 18:05:08 CET 2020


Hi Paul,

> -----Original Message-----
> From: Stillwell Jr, Paul M <paul.m.stillwell.jr at intel.com>
> Sent: Saturday, March 14, 2020 00:50
> To: Wang, Haiyue <haiyue.wang at intel.com>; dev at dpdk.org; Ye, Xiaolong <xiaolong.ye at intel.com>; Zhang,
> Qi Z <qi.z.zhang at intel.com>; Yang, Qiming <qiming.yang at intel.com>; Xing, Beilei <beilei.xing at intel.com>
> Cc: Zhao1, Wei <wei.zhao1 at intel.com>
> Subject: RE: [dpdk-dev] [PATCH v2 0/7] add Intel DCF PMD support
> 
> Hi Haiyue,
> 
> This statement is confusing to me "But the flow setting is the ice PF AdminQ message, so the DCF
> shares most of ice PMD flow control." What do you mean by "flow setting"? 
  It is DPDP rte_flow API calling.

> The way I understand DCF
> working is that there is a trusted VF (the DCF) that is setting switch rules for other VFs on the same
> PF. The mechanism for doing that is the DCF sends a virtchnl message to the Linux kernel driver PF to

DCF needs: 1). virtchnl message is handles by 'dpdk/drivers/common/iavf/', which is the original iavf base code.

> add/delete a switch rule. None of this requires the ice PMD as far as I can tell. This seems like a

DCF needs: 2). add/delete a switch rule.
               rte_flow API --> 'dpdk/drivers/net/ice/ice_switch_filter.c/ice_generic_flow.c' (ice flow framework)
		                     |
                                 `--> 'dpdk/drivers/net/ice/base' ...

So, put it under the ice PMD is the best way.

> driver just like the iavf driver; the iavf driver is separate from the ice PMD and it seems like DCF
> should also be separate.
> 
> Paul
> 
> > -----Original Message-----
> > From: Wang, Haiyue <haiyue.wang at intel.com>
> > Sent: Friday, March 13, 2020 9:25 AM
> > To: Stillwell Jr, Paul M <paul.m.stillwell.jr at intel.com>; dev at dpdk.org; Ye,
> > Xiaolong <xiaolong.ye at intel.com>; Zhang, Qi Z <qi.z.zhang at intel.com>;
> > Yang, Qiming <qiming.yang at intel.com>; Xing, Beilei <beilei.xing at intel.com>
> > Cc: Zhao1, Wei <wei.zhao1 at intel.com>
> > Subject: RE: [dpdk-dev] [PATCH v2 0/7] add Intel DCF PMD support
> >
> > Hi Paul,
> >
> > Yes, it's VF (VF hardware initialization like virtchnl). But the flow setting is the
> > ice PF AdminQ message, so the DCF shares most of ice PMD flow control.
> >
> > BR,
> > Haiyue
> >
> > > -----Original Message-----
> > > From: Stillwell Jr, Paul M <paul.m.stillwell.jr at intel.com>
> > > Sent: Saturday, March 14, 2020 00:19
> > > To: Wang, Haiyue <haiyue.wang at intel.com>; dev at dpdk.org; Ye, Xiaolong
> > > <xiaolong.ye at intel.com>; Zhang, Qi Z <qi.z.zhang at intel.com>; Yang,
> > > Qiming <qiming.yang at intel.com>; Xing, Beilei <beilei.xing at intel.com>
> > > Cc: Zhao1, Wei <wei.zhao1 at intel.com>; Wang, Haiyue
> > > <haiyue.wang at intel.com>
> > > Subject: RE: [dpdk-dev] [PATCH v2 0/7] add Intel DCF PMD support
> > >
> > > I'm confused. Shouldn't the DCF be a separate driver since it is a VF,
> > > not part of a PF? You are starting to combine PF/VF code and I'm not sure if
> > that is the correct way to go.
> > >
> > > Paul
> > >
> > > > -----Original Message-----
> > > > From: dev <dev-bounces at dpdk.org> On Behalf Of Haiyue Wang
> > > > Sent: Monday, March 9, 2020 11:50 PM
> > > > To: dev at dpdk.org; Ye, Xiaolong <xiaolong.ye at intel.com>; Zhang, Qi Z
> > > > <qi.z.zhang at intel.com>; Yang, Qiming <qiming.yang at intel.com>; Xing,
> > > > Beilei <beilei.xing at intel.com>
> > > > Cc: Zhao1, Wei <wei.zhao1 at intel.com>; Wang, Haiyue
> > > > <haiyue.wang at intel.com>
> > > > Subject: [dpdk-dev] [PATCH v2 0/7] add Intel DCF PMD support
> > > >
> > > > A DCF (Device Config Function) based approach is proposed where a
> > > > device bound to the device's VF0 can act as a sole controlling
> > > > entity to exercise advance functionality (such as switch, ACL) for rest of
> > the VFs.
> > > >
> > > > The DCF works as a standalone PMD to support this function, which
> > > > shares the ice PMD flow control core function and the iavf virtchnl
> > > > mailbox core module.
> > > >
> > > > This patchset is based on:
> > > > [1] https://patchwork.dpdk.org/cover/66417/ : update ice base code
> > > > [2] https://patchwork.dpdk.org/cover/66472/ : iavf share code update
> > > >
> > > > Depends-on: series-8843
> > > > Depends-on: series-8855
> > > >
> > > > v2:
> > > >    1. update the iavf patchset link.
> > > >    2. split more patches for making this work be more understandable
> > > >    3. fix the log function usage, devargs checking from v1.
> > > >
> > > > Haiyue Wang (7):
> > > >   net/iavf: stop the PCI probe in DCF mode
> > > >   net/ice: add the DCF hardware initialization
> > > >   net/ice: initiate to acquire the DCF capability
> > > >   net/ice: handle the AdminQ command by DCF
> > > >   net/ice: export the DDP definition symbols
> > > >   net/ice: handle the PF initialization by DCF
> > > >   net/ice: get the VF hardware index in DCF
> > > >
> > > >  doc/guides/nics/ice.rst                |  47 ++
> > > >  doc/guides/nics/img/ice_dcf.png        | Bin 0 -> 39168 bytes
> > > >  doc/guides/rel_notes/release_20_05.rst |   5 +
> > > >  drivers/common/Makefile                |   1 +
> > > >  drivers/net/iavf/iavf_ethdev.c         |  43 ++
> > > >  drivers/net/ice/Makefile               |   6 +
> > > >  drivers/net/ice/ice_dcf.c              | 651 +++++++++++++++++++++++++
> > > >  drivers/net/ice/ice_dcf.h              |  61 +++
> > > >  drivers/net/ice/ice_dcf_ethdev.c       | 321 ++++++++++++
> > > >  drivers/net/ice/ice_dcf_ethdev.h       |  33 ++
> > > >  drivers/net/ice/ice_dcf_parent.c       | 344 +++++++++++++
> > > >  drivers/net/ice/ice_ethdev.c           |   9 +-
> > > >  drivers/net/ice/ice_ethdev.h           |   8 +
> > > >  drivers/net/ice/meson.build            |   8 +-
> > > >  mk/rte.app.mk                          |   1 +
> > > >  15 files changed, 1528 insertions(+), 10 deletions(-)  create mode
> > > > 100644 doc/guides/nics/img/ice_dcf.png  create mode 100644
> > > > drivers/net/ice/ice_dcf.c  create mode 100644
> > > > drivers/net/ice/ice_dcf.h create mode 100644
> > > > drivers/net/ice/ice_dcf_ethdev.c  create mode 100644
> > > > drivers/net/ice/ice_dcf_ethdev.h  create mode 100644
> > > > drivers/net/ice/ice_dcf_parent.c
> > > >
> > > > --
> > > > 2.25.1
> > >
> >
> 



More information about the dev mailing list