Intel-Wired-Lan Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Haiyue Wang <haiyue.wang@intel.com>
To: intel-wired-lan@osuosl.org
Subject: [Intel-wired-lan] [net-next, v7 0/5] ice: add Intel DCF mode support
Date: Wed,  1 Jul 2020 09:25:52 +0800	[thread overview]
Message-ID: <20200701012557.40234-1-haiyue.wang@intel.com> (raw)
In-Reply-To: <20200619045711.16055-1-haiyue.wang@intel.com>

The iproute2 and ethtool are evolving to expose the NIC hardware capability.
But these available orchestration methods in Linux kernel are limited in their
capability to exercise advance functionality in the hardware, since different
vendors may have different data programming method.

Intel Ethernet Adaptive Virtual Function (AVF) is the common hardware interface
for SR-IOV, it has the defined message format to talks with the PF. 

To make good use of the advanced functionality like Switch (Binary Classifier),
The ice PF driver introduces a DCF (Device Config Function) mode to extend the
AVF feature.

The DCF (Device Config Function) method wraps an raw flow admin queue command in
a virthcnl message and sends it to the PF to be executed. This is required because
it doesn't have the privilege level to issue the admin queue commands, so it acts
as a proxy PF. So that the user can customize the AVF feature, and use their own
programming language to translate the flow rule management data into ice raw flow,
these raw flows then can be executed in PF's sandbox.

And the kernel PF driver fully controls the behavior of DCF for security, like only
the trusted VF with ID zero can run into DCF mode, and also for being compatible
with the common AVF feature, the VF needs to advertise and acquire DCF capability
firstly.

v7: Remove the CONFIG_PCI_IOV for function 'ice_aq_sw_rules'.

v6: Rebase with the new commit for ice_switch.c/h.

v5: Update the prefix with 'net-next'.

v4: Mirror commit message update.

v3: Remove the unused function, and control the ice_aq_sw_rules scope by CONFIG_PCI_IOV.
    Capitalize all abbreviations.

v2: Fix the macro ICE_DCF_VFID definition style issue.

Haiyue Wang (5):
  ice: add the virtchnl handler for AdminQ command
  ice: add DCF cap negotiation and state machine
  ice: support to get the VSI mapping
  ice: enable DDP package info querying
  ice: add switch rule management for DCF

 drivers/net/ethernet/intel/ice/Makefile       |   2 +-
 drivers/net/ethernet/intel/ice/ice.h          |   2 +
 .../net/ethernet/intel/ice/ice_adminq_cmd.h   |   6 +
 drivers/net/ethernet/intel/ice/ice_dcf.c      | 839 ++++++++++++++++++
 drivers/net/ethernet/intel/ice/ice_dcf.h      |  91 ++
 drivers/net/ethernet/intel/ice/ice_main.c     |   2 +
 drivers/net/ethernet/intel/ice/ice_switch.c   |  16 +-
 drivers/net/ethernet/intel/ice/ice_switch.h   |  27 +-
 drivers/net/ethernet/intel/ice/ice_type.h     |   9 +
 .../net/ethernet/intel/ice/ice_virtchnl_pf.c  | 366 ++++++++
 .../net/ethernet/intel/ice/ice_virtchnl_pf.h  |   1 +
 include/linux/avf/virtchnl.h                  |  63 ++
 12 files changed, 1398 insertions(+), 26 deletions(-)
 create mode 100644 drivers/net/ethernet/intel/ice/ice_dcf.c
 create mode 100644 drivers/net/ethernet/intel/ice/ice_dcf.h

-- 
2.27.0


  parent reply	other threads:[~2020-07-01  1:25 UTC|newest]

Thread overview: 80+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-06-19  4:57 [Intel-wired-lan] [PATCH v1 0/5] ice: add Intel DCF mode support Haiyue Wang
2020-06-19  4:57 ` [Intel-wired-lan] [PATCH v1 1/5] ice: add the virtchnl handler for AdminQ command Haiyue Wang
2020-06-19  4:57 ` [Intel-wired-lan] [PATCH v1 2/5] ice: add DCF cap negotiation and state machine Haiyue Wang
2020-06-19  4:57 ` [Intel-wired-lan] [PATCH v1 3/5] ice: support to get the VSI mapping Haiyue Wang
2020-06-19  4:57 ` [Intel-wired-lan] [PATCH v1 4/5] ice: enable DDP package info querying Haiyue Wang
2020-06-19  4:57 ` [Intel-wired-lan] [PATCH v1 5/5] ice: add switch rule management for DCF Haiyue Wang
2020-06-19 17:10 ` [Intel-wired-lan] [PATCH v2 0/5] ice: add Intel DCF mode support Haiyue Wang
2020-06-19 17:10   ` [Intel-wired-lan] [PATCH v2 1/5] ice: add the virtchnl handler for AdminQ command Haiyue Wang
2020-06-22 20:05     ` Bowers, AndrewX
2020-06-19 17:10   ` [Intel-wired-lan] [PATCH v2 2/5] ice: add DCF cap negotiation and state machine Haiyue Wang
2020-06-22 20:11     ` Bowers, AndrewX
2020-06-19 17:10   ` [Intel-wired-lan] [PATCH v2 3/5] ice: support to get the VSI mapping Haiyue Wang
2020-06-22 20:12     ` Bowers, AndrewX
2020-06-19 17:10   ` [Intel-wired-lan] [PATCH v2 4/5] ice: enable DDP package info querying Haiyue Wang
2020-06-22 20:12     ` Bowers, AndrewX
2020-06-19 17:10   ` [Intel-wired-lan] [PATCH v2 5/5] ice: add switch rule management for DCF Haiyue Wang
2020-06-22 20:13     ` Bowers, AndrewX
2020-06-24  2:07 ` [Intel-wired-lan] [PATCH v3 0/5] ice: add Intel DCF mode support Haiyue Wang
2020-06-24  2:07   ` [Intel-wired-lan] [PATCH v3 1/5] ice: add the virtchnl handler for AdminQ command Haiyue Wang
2020-06-24  5:40     ` Lu, Nannan
2020-06-24  7:29     ` Lu, Nannan
2020-06-24  2:07   ` [Intel-wired-lan] [PATCH v3 2/5] ice: add DCF cap negotiation and state machine Haiyue Wang
2020-06-24  2:07   ` [Intel-wired-lan] [PATCH v3 3/5] ice: support to get the VSI mapping Haiyue Wang
2020-06-24  2:08   ` [Intel-wired-lan] [PATCH v3 4/5] ice: enable DDP package info querying Haiyue Wang
2020-06-24  7:30     ` Lu, Nannan
2020-06-24  7:30     ` Lu, Nannan
2020-06-24  2:08   ` [Intel-wired-lan] [PATCH v3 5/5] ice: add switch rule management for DCF Haiyue Wang
2020-06-24  5:18   ` [Intel-wired-lan] [PATCH v3 0/5] ice: add Intel DCF mode support Lu, Nannan
2020-06-24  7:29 ` [Intel-wired-lan] [PATCH v4 " Haiyue Wang
2020-06-24  7:29   ` [Intel-wired-lan] [PATCH v4 1/5] ice: add the virtchnl handler for AdminQ command Haiyue Wang
2020-06-24  7:45     ` Lu, Nannan
2020-06-24  7:29   ` [Intel-wired-lan] [PATCH v4 2/5] ice: add DCF cap negotiation and state machine Haiyue Wang
2020-06-24  7:46     ` Lu, Nannan
2020-06-24  7:29   ` [Intel-wired-lan] [PATCH v4 3/5] ice: support to get the VSI mapping Haiyue Wang
2020-06-24  7:47     ` Lu, Nannan
2020-06-24  7:29   ` [Intel-wired-lan] [PATCH v4 4/5] ice: enable DDP package info querying Haiyue Wang
2020-06-24  7:47     ` Lu, Nannan
2020-06-24  7:29   ` [Intel-wired-lan] [PATCH v4 5/5] ice: add switch rule management for DCF Haiyue Wang
2020-06-24  7:47     ` Lu, Nannan
2020-06-26  8:16 ` [Intel-wired-lan] [net-next, v5 0/5] ice: add Intel DCF mode support Haiyue Wang
2020-06-26  8:16   ` [Intel-wired-lan] [net-next, v5 1/5] ice: add the virtchnl handler for AdminQ command Haiyue Wang
2020-06-26  8:16   ` [Intel-wired-lan] [net-next, v5 2/5] ice: add DCF cap negotiation and state machine Haiyue Wang
2020-06-26  8:16   ` [Intel-wired-lan] [net-next, v5 3/5] ice: support to get the VSI mapping Haiyue Wang
2020-06-26  8:16   ` [Intel-wired-lan] [net-next, v5 4/5] ice: enable DDP package info querying Haiyue Wang
2020-06-26  8:16   ` [Intel-wired-lan] [net-next, v5 5/5] ice: add switch rule management for DCF Haiyue Wang
2020-06-30  1:59 ` [Intel-wired-lan] [net-next, v6 0/5] ice: add Intel DCF mode support Haiyue Wang
2020-06-30  1:59   ` [Intel-wired-lan] [net-next, v6 1/5] ice: add the virtchnl handler for AdminQ command Haiyue Wang
2020-06-30  1:59   ` [Intel-wired-lan] [net-next, v6 2/5] ice: add DCF cap negotiation and state machine Haiyue Wang
2020-06-30  1:59   ` [Intel-wired-lan] [net-next, v6 3/5] ice: support to get the VSI mapping Haiyue Wang
2020-06-30  1:59   ` [Intel-wired-lan] [net-next, v6 4/5] ice: enable DDP package info querying Haiyue Wang
2020-06-30  1:59   ` [Intel-wired-lan] [net-next, v6 5/5] ice: add switch rule management for DCF Haiyue Wang
2020-07-01  1:25 ` Haiyue Wang [this message]
2020-07-01  1:25   ` [Intel-wired-lan] [net-next, v7 1/5] ice: add the virtchnl handler for AdminQ command Haiyue Wang
2020-07-01 16:46     ` Bowers, AndrewX
2020-07-01  1:25   ` [Intel-wired-lan] [net-next, v7 2/5] ice: add DCF cap negotiation and state machine Haiyue Wang
2020-07-01 16:46     ` Bowers, AndrewX
2020-07-01  1:25   ` [Intel-wired-lan] [net-next, v7 3/5] ice: support to get the VSI mapping Haiyue Wang
2020-07-01 16:47     ` Bowers, AndrewX
2020-07-01  1:25   ` [Intel-wired-lan] [net-next, v7 4/5] ice: enable DDP package info querying Haiyue Wang
2020-07-01 16:48     ` Bowers, AndrewX
2020-07-01  1:25   ` [Intel-wired-lan] [net-next, v7 5/5] ice: add switch rule management for DCF Haiyue Wang
2020-07-01 16:48     ` Bowers, AndrewX
2020-07-08 22:55     ` Nguyen, Anthony L
2020-07-08 23:48       ` Jakub Kicinski
2020-07-10  1:54 ` [Intel-wired-lan] [net-next, v8 0/5] ice: add Intel DCF mode support Haiyue Wang
2020-07-10  1:54   ` [Intel-wired-lan] [net-next, v8 1/5] ice: add the virtchnl handler for AdminQ command Haiyue Wang
2020-07-10  3:16     ` Lu, Nannan
2020-07-10 19:22     ` Bowers, AndrewX
2020-07-10  1:54   ` [Intel-wired-lan] [net-next, v8 2/5] ice: add DCF cap negotiation and state machine Haiyue Wang
2020-07-10  3:17     ` Lu, Nannan
2020-07-10 19:22     ` Bowers, AndrewX
2020-07-10  1:54   ` [Intel-wired-lan] [net-next, v8 3/5] ice: support to get the VSI mapping Haiyue Wang
2020-07-10  3:17     ` Lu, Nannan
2020-07-10 19:22     ` Bowers, AndrewX
2020-07-10  1:54   ` [Intel-wired-lan] [net-next, v8 4/5] ice: enable DDP package info querying Haiyue Wang
2020-07-10  3:18     ` Lu, Nannan
2020-07-10 19:23     ` Bowers, AndrewX
2020-07-10  1:54   ` [Intel-wired-lan] [net-next, v8 5/5] ice: add switch rule management for DCF Haiyue Wang
2020-07-10  3:19     ` Lu, Nannan
2020-07-10 19:23     ` Bowers, AndrewX

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200701012557.40234-1-haiyue.wang@intel.com \
    --to=haiyue.wang@intel.com \
    --cc=intel-wired-lan@osuosl.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox