All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Dai, Wei" <wei.dai@intel.com>
To: "alexz@att.com" <alexz@att.com>, "dev@dpdk.org" <dev@dpdk.org>
Cc: "Ananyev, Konstantin" <konstantin.ananyev@intel.com>,
	"Zhang, Helin" <helin.zhang@intel.com>,
	"Lu, Wenzhuo" <wenzhuo.lu@intel.com>,
	"Iremonger, Bernard" <bernard.iremonger@intel.com>
Subject: Re: [PATCH v4] net/ixgbe: ping VF when PF status changes
Date: Fri, 31 Mar 2017 00:47:40 +0000	[thread overview]
Message-ID: <49759EB36A64CF4892C1AFEC9231E8D650A23F62@PGSMSX101.gar.corp.intel.com> (raw)
In-Reply-To: <1490907954-34791-1-git-send-email-alexz@att.com>

Hi, Alexz
Thanks for your quick reponse.

Hi, Wenzhuo
Would you please review it again and add your acknowledgement if it is OK for you.

> Subject: [PATCH v4] net/ixgbe: ping VF when PF status changes
> 
> From: Alex Zelezniak <alexz@att.com>
> 
> v4:
> * Removed duplicate line
> 
> v3:
> * Added 17.05 block to rte_pmd_ixgbe_version.map file
> 
> v2:
> * Removed trailing spaces
> 
> v1:
> * Implements function used by application managing PF to inform VF when link
> status changes
> 
> Signed-off-by: Alex Zelezniak <alexz@att.com>
Acked-by: Wei Dai <wei.dai@intel.com>

> ---
>  drivers/net/ixgbe/ixgbe_ethdev.c            | 31
> +++++++++++++++++++++++++++++
>  drivers/net/ixgbe/rte_pmd_ixgbe.h           | 14 +++++++++++++
>  drivers/net/ixgbe/rte_pmd_ixgbe_version.map |  6 ++++++
>  3 files changed, 51 insertions(+)
> 
> diff --git a/drivers/net/ixgbe/ixgbe_ethdev.c
> b/drivers/net/ixgbe/ixgbe_ethdev.c
> index 34bd681..a427a3d 100644
> --- a/drivers/net/ixgbe/ixgbe_ethdev.c
> +++ b/drivers/net/ixgbe/ixgbe_ethdev.c
> @@ -4898,6 +4898,37 @@ static void ixgbevf_set_vfta_all(struct rte_eth_dev
> *dev, bool on)
>  	return new_val;
>  }
> 
> +int
> +rte_pmd_ixgbe_ping_vf(uint8_t port, uint16_t vf) {
> +	struct ixgbe_hw *hw;
> +	struct ixgbe_vf_info *vfinfo;
> +	struct rte_eth_dev *dev;
> +	struct rte_pci_device *pci_dev;
> +	uint32_t ctrl;
> +
> +	RTE_ETH_VALID_PORTID_OR_ERR_RET(port, -ENODEV);
> +
> +	dev = &rte_eth_devices[port];
> +	pci_dev = IXGBE_DEV_TO_PCI(dev);
> +
> +	if (!is_device_supported(dev, &rte_ixgbe_pmd))
> +		return -ENOTSUP;
> +
> +	if (vf >= pci_dev->max_vfs)
> +		return -EINVAL;
> +
> +	hw = IXGBE_DEV_PRIVATE_TO_HW(dev->data->dev_private);
> +	vfinfo = *(IXGBE_DEV_PRIVATE_TO_P_VFDATA(dev->data->dev_private));
> +
> +	ctrl = IXGBE_PF_CONTROL_MSG;
> +	if (vfinfo[vf].clear_to_send)
> +		ctrl |= IXGBE_VT_MSGTYPE_CTS;
> +
> +	ixgbe_write_mbx(hw, &ctrl, 1, vf);
> +
> +	return 0;
> +}
> 
>  int
>  rte_pmd_ixgbe_set_vf_vlan_anti_spoof(uint8_t port, uint16_t vf, uint8_t on)
> diff --git a/drivers/net/ixgbe/rte_pmd_ixgbe.h
> b/drivers/net/ixgbe/rte_pmd_ixgbe.h
> index 4d7b507..cdb747e 100644
> --- a/drivers/net/ixgbe/rte_pmd_ixgbe.h
> +++ b/drivers/net/ixgbe/rte_pmd_ixgbe.h
> @@ -42,6 +42,20 @@
>  #include <rte_ethdev.h>
> 
>  /**
> + * Notify VF when PF link status changes.
> + *
> + * @param port
> + *   The port identifier of the Ethernet device.
> + * @param vf
> + *   VF id.
> + * @return
> + *   - (0) if successful.
> + *   - (-ENODEV) if *port* invalid.
> + *   - (-EINVAL) if *vf* invalid.
> + */
> +int rte_pmd_ixgbe_ping_vf(uint8_t port, uint16_t vf);
> +
> +/**
>   * Set the VF MAC address.
>   *
>   * @param port
> diff --git a/drivers/net/ixgbe/rte_pmd_ixgbe_version.map
> b/drivers/net/ixgbe/rte_pmd_ixgbe_version.map
> index a992dfd..2c7512d 100644
> --- a/drivers/net/ixgbe/rte_pmd_ixgbe_version.map
> +++ b/drivers/net/ixgbe/rte_pmd_ixgbe_version.map
> @@ -31,3 +31,9 @@ DPDK_17.02 {
>  	rte_pmd_ixgbe_set_vf_tx;
>  	rte_pmd_ixgbe_set_vf_vlan_filter;
>  } DPDK_16.11;
> +
> +DPDK_17.05 {
> +	global:
> +
> +	rte_pmd_ixgbe_ping_vf;
> +} DPDK_17.02;
> --
> 1.9.1

  reply	other threads:[~2017-03-31  0:48 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-03-22 17:32 [PATCH] net/ixgbe: notify VF when PF link status changes alexz
2017-03-29 11:10 ` Iremonger, Bernard
2017-03-29 20:52 ` [PATCH v2] ping VF when PF " alexz
2017-03-29 21:59   ` Iremonger, Bernard
2017-03-30 12:33   ` [PATCH v3] net/ixgbe: " alexz
2017-03-30 13:09     ` Lu, Wenzhuo
2017-03-30 16:50       ` Dai, Wei
2017-03-30 21:05     ` [PATCH v4] " alexz
2017-03-31  0:47       ` Dai, Wei [this message]
2017-03-31  1:00         ` Lu, Wenzhuo
2017-03-31 10:26           ` Ferruh Yigit

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=49759EB36A64CF4892C1AFEC9231E8D650A23F62@PGSMSX101.gar.corp.intel.com \
    --to=wei.dai@intel.com \
    --cc=alexz@att.com \
    --cc=bernard.iremonger@intel.com \
    --cc=dev@dpdk.org \
    --cc=helin.zhang@intel.com \
    --cc=konstantin.ananyev@intel.com \
    --cc=wenzhuo.lu@intel.com \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.