DPDK patches and discussions
 help / color / mirror / Atom feed
* [dpdk-dev] [PATCH 0/7] NIC port restoration
@ 2017-05-27  8:22 Wei Dai
  2017-05-27  8:22 ` [dpdk-dev] [PATCH 1/7] ethdev: add support of NIC restoration Wei Dai
                   ` (7 more replies)
  0 siblings, 8 replies; 91+ messages in thread
From: Wei Dai @ 2017-05-27  8:22 UTC (permalink / raw)
  To: wenzhuo.lu, konstantin.ananyev, helin.zhang, jingjing.wu; +Cc: dev, Wei Dai

    Sometimes configuration and run time environment in PMD layer of a
running port is changed and the port has to stop all bi-directional
traffic and initialize the port device and restore its configurations
and traffic again. Such this procedure can be regarded as restoration. 
    Some customers found that in some VFN scenario a running port with
i40e VF DPDK PMD has to be restored when the host PF with kernel driver
need to reset the whole PF due to some reasons. For example, i40e HW
may need a reset after reconfiguring a few key registers. Then PF host
needs to Inform all VFs generated by that PF with the event of 'PF
reset'. After VF driver see this event, VF driver needs to restore
the VF port.

    In order to make restoration as a common functionality of all PMD,
based on current implementation of rte_ethdev, most of restoration work
can be done in rte_ethdev layer with the settings stored in data 
structures in rte_ethdev layer. If some settings is not stored in
rte_ethdev after they are configured before, they should be stored for
restoration by adding data structure in rte_ethdev layer. Ethdev should
also add a API like dev_restore( ) for PMD possible specific work in
restoration process.
   The outline of restoration procedure is as follows.
1. rte_eth_dev_stop(port_id);	
2. (*dev->dev_ops->dev_uninit)(dev);
3. (*dev->dev_ops->dev_init)(dev);
4. rte_eth_dev_configure(...);
5. rte_eth_dev_rx_queue_config(...) invoked for all Rx queues.
6. rte_eth_dev_tx_queue_config(...) invoked for all Tx queues;
7. rte_eth_start(port) 
7.1  rte_eth_dev_config_restore(port); // need to be enhanced
8.  (*dev->dev_ops->dev_restore)(dev); // doing PMD specific restoration


Wei Dai (7):
  ethdev: add support of NIC restoration
  ethdev: add support of restoration of queue state
  ethdev: add support of restoration of port status
  ethdev: add support of MTU restoration
  ethdev: add support of restoration of multicast addr
  net/ixgbe: add support of restoration
  net/i40e: add support of restoration

 drivers/net/i40e/i40e_ethdev.c         |   2 +
 drivers/net/i40e/i40e_ethdev_vf.c      |   5 +
 drivers/net/ixgbe/ixgbe_ethdev.c       |   4 +
 lib/librte_ether/rte_ethdev.c          | 280 +++++++++++++++++++++++++++++++--
 lib/librte_ether/rte_ethdev.h          |  45 +++++-
 lib/librte_ether/rte_ether_version.map |   6 +
 6 files changed, 326 insertions(+), 16 deletions(-)

-- 
2.7.4

^ permalink raw reply	[flat|nested] 91+ messages in thread

end of thread, other threads:[~2017-09-14 18:16 UTC | newest]

Thread overview: 91+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-05-27  8:22 [dpdk-dev] [PATCH 0/7] NIC port restoration Wei Dai
2017-05-27  8:22 ` [dpdk-dev] [PATCH 1/7] ethdev: add support of NIC restoration Wei Dai
2017-05-27  8:22 ` [dpdk-dev] [PATCH 2/7] ethdev: add support of restoration of queue state Wei Dai
2017-05-27  8:22 ` [dpdk-dev] [PATCH 3/7] ethdev: add support of restoration of port status Wei Dai
2017-05-27  8:22 ` [dpdk-dev] [PATCH 4/7] ethdev: add support of MTU restoration Wei Dai
2017-05-27  8:22 ` [dpdk-dev] [PATCH 5/7] ethdev: add support of restoration of multicast addr Wei Dai
2017-05-27  8:22 ` [dpdk-dev] [PATCH 6/7] net/ixgbe: add support of restoration Wei Dai
2017-05-27  8:22 ` [dpdk-dev] [PATCH 7/7] net/i40e: " Wei Dai
2017-06-07  7:50   ` Wu, Jingjing
2017-06-20  7:55     ` Dai, Wei
2017-06-27 14:07 ` [dpdk-dev] [PATCH v2 0/5] Support NIC reset and keep same port id Wei Dai
2017-06-27 14:07   ` [dpdk-dev] [PATCH v2 1/5] ethdev: add support of NIC reset Wei Dai
2017-06-27 14:07   ` [dpdk-dev] [PATCH v2 2/5] net/ixgbe: add support of reset Wei Dai
2017-06-27 14:07   ` [dpdk-dev] [PATCH v2 3/5] net/i40e: " Wei Dai
2017-06-27 14:07   ` [dpdk-dev] [PATCH v2 4/5] app/testpmd: add command to test NIC reset Wei Dai
2017-06-28  9:10     ` Wu, Jingjing
2017-06-29  7:00       ` Dai, Wei
2017-06-27 14:07   ` [dpdk-dev] [PATCH v2 5/5] app/testpmd: add command to test NIC restoration Wei Dai
2017-06-28  9:05     ` Wu, Jingjing
2017-06-29  6:58       ` Dai, Wei
2017-06-29  3:51   ` [dpdk-dev] [PATCH v2 0/5] Support NIC reset and keep same port id Peng, Yuan
2017-06-29  6:29     ` Dai, Wei
2017-06-29  8:34   ` [dpdk-dev] [PATCH v3 0/4] " Wei Dai
2017-06-29  8:34     ` [dpdk-dev] [PATCH v3 1/4] ethdev: add support of NIC reset Wei Dai
2017-06-29  8:34     ` [dpdk-dev] [PATCH v3 2/4] net/ixgbe: add support of reset Wei Dai
2017-06-29  8:34     ` [dpdk-dev] [PATCH v3 3/4] net/i40e: " Wei Dai
2017-06-29  8:34     ` [dpdk-dev] [PATCH v3 4/4] app/testpmd: enhance command to test NIC reset Wei Dai
2017-06-29 14:57     ` [dpdk-dev] [PATCH v4 0/5] Support NIC reset and keep same port id Wei Dai
2017-06-29 14:57       ` [dpdk-dev] [PATCH v4 1/5] ethdev: add support of NIC reset Wei Dai
2017-06-29 14:57       ` [dpdk-dev] [PATCH v4 2/5] net/ixgbe: add support of reset Wei Dai
2017-06-29 14:58       ` [dpdk-dev] [PATCH v4 3/5] net/i40e: " Wei Dai
2017-06-30  8:54         ` Wu, Jingjing
2017-06-30  9:37           ` Dai, Wei
2017-06-29 14:58       ` [dpdk-dev] [PATCH v4 4/5] app/testpmd: display PCI address in port info Wei Dai
2017-06-30  9:07         ` Wu, Jingjing
2017-06-29 14:58       ` [dpdk-dev] [PATCH v4 5/5] app/testpmd: enhance command to test NIC reset Wei Dai
2017-06-30  5:13         ` Peng, Yuan
2017-06-30  8:57         ` Wu, Jingjing
2017-06-30  9:09         ` Wu, Jingjing
2017-06-30  9:15           ` Dai, Wei
2017-06-30  5:11       ` [dpdk-dev] [PATCH v4 0/5] Support NIC reset and keep same port id Peng, Yuan
2017-06-30 10:12       ` [dpdk-dev] [PATCH v5 0/4] " Wei Dai
2017-06-30 10:12         ` [dpdk-dev] [PATCH v5 1/4] ethdev: add support of NIC reset Wei Dai
2017-06-30 10:12         ` [dpdk-dev] [PATCH v5 2/4] net/ixgbe: add support of reset Wei Dai
2017-07-07  8:25           ` Thomas Monjalon
2017-07-07  8:36             ` Thomas Monjalon
2017-07-10 10:19               ` Dai, Wei
2017-06-30 10:12         ` [dpdk-dev] [PATCH v5 3/4] net/i40e: " Wei Dai
2017-06-30 10:12         ` [dpdk-dev] [PATCH v5 4/4] app/testpmd: enhance command to test NIC reset Wei Dai
2017-06-30 10:50         ` [dpdk-dev] [PATCH v5 0/4] Support NIC reset and keep same port id Wu, Jingjing
2017-07-05  5:48           ` Dai, Wei
2017-07-10 10:05         ` [dpdk-dev] [PATCH v6 " Wei Dai
2017-07-10 10:05           ` [dpdk-dev] [PATCH v6 1/4] ethdev: add support of NIC reset Wei Dai
2017-07-10 11:35             ` Jerin Jacob
2017-07-11  1:57               ` Dai, Wei
2017-07-11  5:17                 ` Jerin Jacob
2017-07-11 14:36                   ` Dai, Wei
2017-07-12 16:13                     ` Jerin Jacob
2017-07-13 16:06                   ` Dai, Wei
2017-07-10 10:05           ` [dpdk-dev] [PATCH v6 2/4] net/ixgbe: add support of reset Wei Dai
2017-07-10 10:05           ` [dpdk-dev] [PATCH v6 3/4] net/i40e: " Wei Dai
2017-07-10 10:05           ` [dpdk-dev] [PATCH v6 4/4] app/testpmd: enhance command to test NIC reset Wei Dai
2017-07-13 15:53           ` [dpdk-dev] [PATCH v7 0/5] Support NIC reset and keep same port id Wei Dai
2017-07-13 15:53             ` [dpdk-dev] [PATCH v7 1/5] ethdev: add support of NIC reset Wei Dai
2017-07-13 15:53             ` [dpdk-dev] [PATCH v7 2/5] net/ixgbe: add support of reset Wei Dai
2017-07-13 15:53             ` [dpdk-dev] [PATCH v7 3/5] net/i40e: " Wei Dai
2017-07-13 15:53             ` [dpdk-dev] [PATCH v7 4/5] app/testpmd: enhance command to test NIC reset Wei Dai
2017-07-13 15:53             ` [dpdk-dev] [PATCH v7 5/5] doc: add description of the NIC reset API Wei Dai
2017-07-16 19:25             ` [dpdk-dev] [PATCH v7 0/5] Support NIC reset and keep same port id Thomas Monjalon
2017-07-17 14:02               ` Dai, Wei
2017-07-19 14:36               ` Dai, Wei
2017-07-17 15:14             ` [dpdk-dev] [PATCH v8 0/5] Support of " Wei Dai
2017-07-17 15:14               ` [dpdk-dev] [PATCH v8 1/5] ethdev: add support of NIC reset Wei Dai
2017-07-20 13:21                 ` Remy Horton
2017-07-23 13:45                   ` Dai, Wei
2017-07-17 15:15               ` [dpdk-dev] [PATCH v8 2/5] net/ixgbe: add support of reset Wei Dai
2017-07-17 15:15               ` [dpdk-dev] [PATCH v8 3/5] net/i40e: " Wei Dai
2017-07-17 15:15               ` [dpdk-dev] [PATCH v8 4/5] app/testpmd: enhance command to test NIC reset Wei Dai
2017-07-17 15:15               ` [dpdk-dev] [PATCH v8 5/5] doc: add description of the NIC reset API Wei Dai
2017-07-20 13:22                 ` Remy Horton
2017-07-23  9:15               ` [dpdk-dev] [PATCH v9 0/5] Support of NIC reset and keep same port id Wei Dai
2017-07-23  9:15                 ` [dpdk-dev] [PATCH v9 1/5] ethdev: add support of NIC reset Wei Dai
2017-09-13 20:51                   ` Thomas Monjalon
2017-09-14 18:16                   ` Luca Boccassi
2017-07-23  9:15                 ` [dpdk-dev] [PATCH v9 2/5] net/ixgbe: add support of reset Wei Dai
2017-09-13 20:53                   ` Thomas Monjalon
2017-07-23  9:15                 ` [dpdk-dev] [PATCH v9 3/5] net/i40e: " Wei Dai
2017-07-23  9:15                 ` [dpdk-dev] [PATCH v9 4/5] app/testpmd: enhance command to test NIC reset Wei Dai
2017-07-23  9:15                 ` [dpdk-dev] [PATCH v9 5/5] doc: add description of the NIC reset API Wei Dai
2017-09-13 21:02                 ` [dpdk-dev] [PATCH v9 0/5] Support of NIC reset and keep same port id Thomas Monjalon
2017-09-14  1:32                   ` Dai, Wei

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).