From: Ajit Khaparde <ajit.khaparde@broadcom.com>
To: dev@dpdk.org
Cc: ferruh.yigit@intel.com
Subject: [dpdk-dev] [PATCH 23/23] bnxt: add code to support vlan_pvid_set dev_op
Date: Wed, 17 May 2017 20:58:13 -0500 [thread overview]
Message-ID: <20170518015813.7862-24-ajit.khaparde@broadcom.com> (raw)
In-Reply-To: <20170518015813.7862-1-ajit.khaparde@broadcom.com>
This patch adds code to support vlan_pvid_set dev_op
Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
---
drivers/net/bnxt/bnxt_ethdev.c | 21 +++++++++++++++++++++
drivers/net/bnxt/bnxt_hwrm.c | 31 +++++++++++++++++++++++++++++++
drivers/net/bnxt/bnxt_hwrm.h | 1 +
3 files changed, 53 insertions(+)
diff --git a/drivers/net/bnxt/bnxt_ethdev.c b/drivers/net/bnxt/bnxt_ethdev.c
index 80b85ab..a8484bb 100644
--- a/drivers/net/bnxt/bnxt_ethdev.c
+++ b/drivers/net/bnxt/bnxt_ethdev.c
@@ -1477,6 +1477,26 @@ static int bnxt_mtu_set_op(struct rte_eth_dev *eth_dev, uint16_t new_mtu)
return rc;
}
+static int
+bnxt_vlan_pvid_set_op(struct rte_eth_dev *dev, uint16_t pvid, int on)
+{
+ struct bnxt *bp = (struct bnxt *)dev->data->dev_private;
+ uint16_t vlan = bp->vlan;
+ int rc;
+
+ if (BNXT_NPAR_PF(bp) || BNXT_VF(bp)) {
+ RTE_LOG(ERR, PMD,
+ "PVID cannot be modified for this function\n");
+ return -ENOTSUP;
+ }
+ bp->vlan = on ? pvid : 0;
+
+ rc = bnxt_hwrm_set_default_vlan(bp, 0, 0);
+ if (rc)
+ bp->vlan = vlan;
+ return rc;
+}
+
/*
* Initialization
*/
@@ -1512,6 +1532,7 @@ static const struct eth_dev_ops bnxt_dev_ops = {
.udp_tunnel_port_del = bnxt_udp_tunnel_port_del_op,
.vlan_filter_set = bnxt_vlan_filter_set_op,
.vlan_offload_set = bnxt_vlan_offload_set_op,
+ .vlan_pvid_set = bnxt_vlan_pvid_set_op,
.mtu_set = bnxt_mtu_set_op,
.mac_addr_set = bnxt_set_default_mac_addr_op,
.xstats_get = bnxt_dev_xstats_get_op,
diff --git a/drivers/net/bnxt/bnxt_hwrm.c b/drivers/net/bnxt/bnxt_hwrm.c
index f1dc3bb..f3a4483 100644
--- a/drivers/net/bnxt/bnxt_hwrm.c
+++ b/drivers/net/bnxt/bnxt_hwrm.c
@@ -2434,6 +2434,37 @@ int bnxt_hwrm_func_bw_cfg(struct bnxt *bp, uint16_t vf,
return rc;
}
+int bnxt_hwrm_set_default_vlan(struct bnxt *bp, int vf, uint8_t is_vf)
+{
+ struct hwrm_func_cfg_input req = {0};
+ struct hwrm_func_cfg_output *resp = bp->hwrm_cmd_resp_addr;
+ uint16_t dflt_vlan, fid;
+ uint32_t func_cfg_flags;
+ int rc = 0;
+
+ HWRM_PREP(req, FUNC_CFG, -1, resp);
+
+ if (is_vf) {
+ dflt_vlan = bp->pf.vf_info[vf].dflt_vlan;
+ fid = bp->pf.vf_info[vf].fid;
+ func_cfg_flags = bp->pf.vf_info[vf].func_cfg_flags;
+ } else {
+ fid = rte_cpu_to_le_16(0xffff);
+ func_cfg_flags = bp->pf.func_cfg_flags;
+ dflt_vlan = bp->vlan;
+ }
+
+ req.flags = rte_cpu_to_le_32(func_cfg_flags);
+ req.fid = rte_cpu_to_le_16(fid);
+ req.enables |= rte_cpu_to_le_32(HWRM_FUNC_CFG_INPUT_ENABLES_DFLT_VLAN);
+ req.dflt_vlan = rte_cpu_to_le_16(dflt_vlan);
+
+ rc = bnxt_hwrm_send_message(bp, &req, sizeof(req));
+ HWRM_CHECK_RESULT;
+
+ return rc;
+}
+
int bnxt_hwrm_set_vf_vlan(struct bnxt *bp, int vf)
{
struct hwrm_func_cfg_input req = {0};
diff --git a/drivers/net/bnxt/bnxt_hwrm.h b/drivers/net/bnxt/bnxt_hwrm.h
index 2c2c124..28203b7 100644
--- a/drivers/net/bnxt/bnxt_hwrm.h
+++ b/drivers/net/bnxt/bnxt_hwrm.h
@@ -136,6 +136,7 @@ int bnxt_hwrm_tunnel_dst_port_alloc(struct bnxt *bp, uint16_t port,
int bnxt_hwrm_tunnel_dst_port_free(struct bnxt *bp, uint16_t port,
uint8_t tunnel_type);
void bnxt_free_tunnel_ports(struct bnxt *bp);
+int bnxt_hwrm_set_default_vlan(struct bnxt *bp, int vf, uint8_t is_vf);
int bnxt_hwrm_func_cfg_vf_set_flags(struct bnxt *bp, uint16_t vf);
void vf_vnic_set_rxmask_cb(struct bnxt_vnic_info *vnic, void *flagp);
int bnxt_set_rx_mask_no_vlan(struct bnxt *bp, struct bnxt_vnic_info *vnic);
--
2.10.1 (Apple Git-78)
next prev parent reply other threads:[~2017-05-18 1:58 UTC|newest]
Thread overview: 130+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-05-18 1:57 [dpdk-dev] [PATCH 00/23] bnxt patchset Ajit Khaparde
2017-05-18 1:57 ` [dpdk-dev] [PATCH 01/23] bnxt: add various hwrm input/output structures Ajit Khaparde
2017-05-18 1:57 ` [dpdk-dev] [PATCH 02/23] bnxt: code reorg to properly allocate resources in PF/VF modes Ajit Khaparde
2017-05-18 1:57 ` [dpdk-dev] [PATCH 03/23] bnxt: add tunneling support Ajit Khaparde
2017-05-18 1:57 ` [dpdk-dev] [PATCH 04/23] bnxt: support lack of huge pages Ajit Khaparde
2017-05-18 1:57 ` [dpdk-dev] [PATCH 05/23] bnxt: add functions for tx_loopback, set_vf_mac and queues_drop_en Ajit Khaparde
2017-05-18 1:57 ` [dpdk-dev] [PATCH 06/23] bnxt: add support for set VF QOS and MAC anti spoof Ajit Khaparde
2017-05-18 1:57 ` [dpdk-dev] [PATCH 07/23] bnxt: add support for VLAN stripq, VLAN anti spoof and VLAN filtering for VFs Ajit Khaparde
2017-05-18 1:57 ` [dpdk-dev] [PATCH 08/23] bnxt: add support to get and clear VF specific stats Ajit Khaparde
2017-05-18 1:57 ` [dpdk-dev] [PATCH 09/23] bnxt: add code to determine the Rx status of VF Ajit Khaparde
2017-05-18 1:58 ` [dpdk-dev] [PATCH 10/23] bnxt: add support to add a VF MAC address Ajit Khaparde
2017-05-18 1:58 ` [dpdk-dev] [PATCH 11/23] bnxt: add support for xstats get/reset Ajit Khaparde
2017-05-18 1:58 ` [dpdk-dev] [PATCH 12/23] bnxt: Add support for VLAN filter and strip dev_ops Ajit Khaparde
2017-05-18 1:58 ` [dpdk-dev] [PATCH 13/23] bnxt: add code to configure a default VF VLAN Ajit Khaparde
2017-05-18 1:58 ` [dpdk-dev] [PATCH 14/23] bnxt: add support for set_mc_addr_list and mac_addr_set Ajit Khaparde
2017-05-18 1:58 ` [dpdk-dev] [PATCH 15/23] bnxt: add support for fw_version_get dev_op Ajit Khaparde
2017-05-18 1:58 ` [dpdk-dev] [PATCH 16/23] bnxt: add support to set MTU Ajit Khaparde
2017-05-18 1:58 ` [dpdk-dev] [PATCH 17/23] bnxt: add support for LRO Ajit Khaparde
2017-05-18 1:58 ` [dpdk-dev] [PATCH 18/23] bnxt: add rxq_info_get and txq_info_get dev_ops Ajit Khaparde
2017-05-18 1:58 ` [dpdk-dev] [PATCH 19/23] bnxt: add additonal HWRM debug info to error messages Ajit Khaparde
2017-05-18 1:58 ` [dpdk-dev] [PATCH 20/23] bnxt: reorg the query stats code Ajit Khaparde
2017-05-18 1:58 ` [dpdk-dev] [PATCH 21/23] bnxt: update to HWRM version 1.7.5 Ajit Khaparde
2017-05-18 1:58 ` [dpdk-dev] [PATCH 22/23] bnxt: Add support to set VF rxmode Ajit Khaparde
2017-05-18 1:58 ` Ajit Khaparde [this message]
2017-05-22 10:55 ` [dpdk-dev] [PATCH 00/23] bnxt patchset Ferruh Yigit
2017-05-22 23:02 ` Thomas Monjalon
2017-05-23 17:58 ` Ajit Khaparde
2017-05-26 18:39 ` [dpdk-dev] [PATCH v2 00/25] " Ajit Khaparde
2017-05-26 18:39 ` [dpdk-dev] [PATCH v2 01/25] bnxt: update to new HWRM version Ajit Khaparde
2017-05-26 18:39 ` [dpdk-dev] [PATCH v2 02/25] bnxt: code reorg to properly allocate resources for PF/VF Ajit Khaparde
2017-05-26 18:39 ` [dpdk-dev] [PATCH v2 03/25] bnxt: handle VF/PF initialization appropriately Ajit Khaparde
2017-05-26 18:39 ` [dpdk-dev] [PATCH v2 04/25] bnxt: support lack of huge pages Ajit Khaparde
2017-05-26 18:39 ` [dpdk-dev] [PATCH v2 05/25] bnxt: add additonal HWRM debug info to error messages Ajit Khaparde
2017-05-26 18:39 ` [dpdk-dev] [PATCH v2 06/25] bnxt: add tunneling support Ajit Khaparde
2017-05-26 18:39 ` [dpdk-dev] [PATCH v2 07/25] bnxt: add support for xstats get/reset Ajit Khaparde
2017-05-29 17:42 ` Ferruh Yigit
2017-05-26 18:39 ` [dpdk-dev] [PATCH v2 08/25] bnxt: Add support for VLAN filter and strip dev_ops Ajit Khaparde
2017-05-29 17:43 ` Ferruh Yigit
2017-05-26 18:39 ` [dpdk-dev] [PATCH v2 09/25] bnxt: add support for set multicast addr list and MAC addr set Ajit Khaparde
2017-05-29 17:42 ` Ferruh Yigit
2017-05-26 18:39 ` [dpdk-dev] [PATCH v2 10/25] bnxt: add support for fw_version_get dev_op Ajit Khaparde
2017-05-26 18:39 ` [dpdk-dev] [PATCH v2 11/25] bnxt: add support to set MTU Ajit Khaparde
2017-05-26 18:39 ` [dpdk-dev] [PATCH v2 12/25] bnxt: add support for LRO Ajit Khaparde
2017-05-26 18:39 ` [dpdk-dev] [PATCH v2 13/25] bnxt: add rxq/txq info_get dev_ops Ajit Khaparde
2017-05-26 18:39 ` [dpdk-dev] [PATCH v2 14/25] bnxt: add code to support VLAN pvid set dev_op Ajit Khaparde
2017-05-26 18:39 ` [dpdk-dev] [PATCH v2 15/25] bnxt: reorg the query stats code Ajit Khaparde
2017-05-26 18:39 ` [dpdk-dev] [PATCH v2 16/25] bnxt: add support for led on/off Ajit Khaparde
2017-05-29 17:43 ` Ferruh Yigit
2017-05-26 18:39 ` [dpdk-dev] [PATCH v2 17/25] bnxt: add support for tx loopback, set vf mac and queues drop Ajit Khaparde
2017-05-29 17:43 ` Ferruh Yigit
2017-05-26 18:39 ` [dpdk-dev] [PATCH v2 18/25] bnxt: add support for set VF QOS and MAC anti spoof Ajit Khaparde
2017-05-26 18:39 ` [dpdk-dev] [PATCH v2 19/25] bnxt: add support for VLAN stripq, anti spoof and filtering for VFs Ajit Khaparde
2017-05-26 18:39 ` [dpdk-dev] [PATCH v2 20/25] bnxt: add support to get and clear VF specific stats Ajit Khaparde
2017-05-29 17:43 ` Ferruh Yigit
2017-05-31 2:12 ` Ajit Khaparde
2017-05-31 9:57 ` Ferruh Yigit
2017-05-31 14:27 ` Ajit Khaparde
2017-05-31 14:46 ` Ferruh Yigit
2017-05-31 16:15 ` Thomas Monjalon
2017-05-31 18:41 ` Ajit Khaparde
2017-05-26 18:39 ` [dpdk-dev] [PATCH v2 21/25] bnxt: add code to determine the Rx status of VF Ajit Khaparde
2017-05-29 17:43 ` Ferruh Yigit
2017-05-26 18:39 ` [dpdk-dev] [PATCH v2 22/25] bnxt: add support to add a VF MAC address Ajit Khaparde
2017-05-26 18:39 ` [dpdk-dev] [PATCH v2 23/25] bnxt: add code to configure a default VF VLAN Ajit Khaparde
2017-05-26 18:39 ` [dpdk-dev] [PATCH v2 24/25] bnxt: Add support to set VF rxmode Ajit Khaparde
2017-05-26 18:39 ` [dpdk-dev] [PATCH v2 25/25] update release notes Ajit Khaparde
2017-05-29 17:44 ` Ferruh Yigit
2017-05-29 17:44 ` [dpdk-dev] [PATCH v2 00/25] bnxt patchset Ferruh Yigit
2017-06-01 3:02 ` [dpdk-dev] [PATCH v3 00/26] " Ajit Khaparde
2017-06-01 3:02 ` [dpdk-dev] [PATCH v3 01/26] net/bnxt: update to new HWRM version Ajit Khaparde
2017-06-01 3:02 ` [dpdk-dev] [PATCH v3 02/26] net/bnxt: code reorg to properly allocate resources for PF/VF Ajit Khaparde
2017-06-01 3:02 ` [dpdk-dev] [PATCH v3 03/26] net/bnxt: handle VF/PF initialization appropriately Ajit Khaparde
2017-06-01 3:02 ` [dpdk-dev] [PATCH v3 04/26] net/bnxt: support lack of huge pages Ajit Khaparde
2017-06-01 3:02 ` [dpdk-dev] [PATCH v3 05/26] net/bnxt: add additonal HWRM debug info to error messages Ajit Khaparde
2017-06-01 3:02 ` [dpdk-dev] [PATCH v3 06/26] net/bnxt: add tunneling support Ajit Khaparde
2017-06-01 3:02 ` [dpdk-dev] [PATCH v3 07/26] net/bnxt: add support for xstats get/reset Ajit Khaparde
2017-06-01 3:02 ` [dpdk-dev] [PATCH v3 08/26] net/bnxt: add support for VLAN filter and strip Ajit Khaparde
2017-06-01 3:02 ` [dpdk-dev] [PATCH v3 09/26] net/bnxt: add support for set multicast addr list and MAC addr set Ajit Khaparde
2017-06-01 3:02 ` [dpdk-dev] [PATCH v3 10/26] doc: update bnxt.ini to document Allmulticast mode Ajit Khaparde
2017-06-01 3:02 ` [dpdk-dev] [PATCH v3 11/26] net/bnxt: add support to get fw version Ajit Khaparde
2017-06-01 3:02 ` [dpdk-dev] [PATCH v3 12/26] net/bnxt: add support to set MTU Ajit Khaparde
2017-06-01 3:02 ` [dpdk-dev] [PATCH v3 13/26] net/bnxt: add support for LRO Ajit Khaparde
2017-06-01 3:02 ` [dpdk-dev] [PATCH v3 14/26] net/bnxt: add rxq/txq info_get Ajit Khaparde
2017-06-01 3:02 ` [dpdk-dev] [PATCH v3 15/26] net/bnxt: add code to support VLAN pvid Ajit Khaparde
2017-06-01 3:02 ` [dpdk-dev] [PATCH v3 16/26] net/bnxt: reorg the query stats code Ajit Khaparde
2017-06-01 3:02 ` [dpdk-dev] [PATCH v3 17/26] doc: update default.ini to add LED support Ajit Khaparde
2017-06-01 3:02 ` [dpdk-dev] [PATCH v3 18/26] net/bnxt: add support for led on/off Ajit Khaparde
2017-06-01 3:02 ` [dpdk-dev] [PATCH v3 19/26] net/bnxt: add support for tx loopback, set vf mac and queues drop Ajit Khaparde
2017-06-01 3:02 ` [dpdk-dev] [PATCH v3 20/26] net/bnxt: add support for set VF QOS and MAC anti spoof Ajit Khaparde
2017-06-01 3:02 ` [dpdk-dev] [PATCH v3 21/26] net/bnxt: add support to get and clear VF specific stats Ajit Khaparde
2017-06-01 3:02 ` [dpdk-dev] [PATCH v3 22/26] net/bnxt: add code to determine the Rx status of VF Ajit Khaparde
2017-06-01 12:28 ` Ferruh Yigit
2017-06-01 16:36 ` Ajit Khaparde
2017-06-01 3:02 ` [dpdk-dev] [PATCH v3 23/26] net/bnxt: add support to add a VF MAC address Ajit Khaparde
2017-06-01 3:02 ` [dpdk-dev] [PATCH v3 24/26] net/bnxt: add code to configure a default VF VLAN Ajit Khaparde
2017-06-01 3:02 ` [dpdk-dev] [PATCH v3 25/26] net/bnxt: add support to set VF rxmode Ajit Khaparde
2017-06-01 3:02 ` [dpdk-dev] [PATCH v3 26/26] doc: update release notes Ajit Khaparde
2017-06-01 17:06 ` [dpdk-dev] [PATCH v4 00/26] bnxt patchset Ajit Khaparde
2017-06-01 17:06 ` [dpdk-dev] [PATCH v4 01/26] net/bnxt: update to new HWRM version Ajit Khaparde
2017-06-01 17:06 ` [dpdk-dev] [PATCH v4 02/26] net/bnxt: code reorg to properly allocate resources for PF/VF Ajit Khaparde
2017-06-01 17:07 ` [dpdk-dev] [PATCH v4 03/26] net/bnxt: handle VF/PF initialization appropriately Ajit Khaparde
2017-06-01 17:07 ` [dpdk-dev] [PATCH v4 04/26] net/bnxt: support lack of huge pages Ajit Khaparde
2017-06-01 17:07 ` [dpdk-dev] [PATCH v4 05/26] net/bnxt: add additonal HWRM debug info to error messages Ajit Khaparde
2017-06-01 17:07 ` [dpdk-dev] [PATCH v4 06/26] net/bnxt: add tunneling support Ajit Khaparde
2017-06-01 17:07 ` [dpdk-dev] [PATCH v4 07/26] net/bnxt: add support for xstats get/reset Ajit Khaparde
2017-06-01 17:07 ` [dpdk-dev] [PATCH v4 08/26] net/bnxt: add support for VLAN filter and strip Ajit Khaparde
2017-06-01 17:07 ` [dpdk-dev] [PATCH v4 09/26] net/bnxt: add support for set multicast addr list and MAC addr set Ajit Khaparde
2017-06-01 17:07 ` [dpdk-dev] [PATCH v4 10/26] doc: update bnxt.ini to document Allmulticast mode Ajit Khaparde
2017-06-01 17:07 ` [dpdk-dev] [PATCH v4 11/26] net/bnxt: add support to get fw version Ajit Khaparde
2017-06-01 17:07 ` [dpdk-dev] [PATCH v4 12/26] net/bnxt: add support to set MTU Ajit Khaparde
2017-06-06 12:47 ` Ferruh Yigit
2017-06-06 14:00 ` Ajit Khaparde
2017-06-06 14:25 ` Ferruh Yigit
2017-06-01 17:07 ` [dpdk-dev] [PATCH v4 13/26] net/bnxt: add support for LRO Ajit Khaparde
2017-06-01 17:07 ` [dpdk-dev] [PATCH v4 14/26] net/bnxt: add rxq/txq info_get Ajit Khaparde
2017-06-01 17:07 ` [dpdk-dev] [PATCH v4 15/26] net/bnxt: add code to support VLAN pvid Ajit Khaparde
2017-06-01 17:07 ` [dpdk-dev] [PATCH v4 16/26] net/bnxt: reorg the query stats code Ajit Khaparde
2017-06-01 17:07 ` [dpdk-dev] [PATCH v4 17/26] doc: update default.ini to add LED support Ajit Khaparde
2017-06-01 17:07 ` [dpdk-dev] [PATCH v4 18/26] net/bnxt: add support for led on/off Ajit Khaparde
2017-06-01 17:07 ` [dpdk-dev] [PATCH v4 19/26] net/bnxt: add support for tx loopback, set vf mac and queues drop Ajit Khaparde
2017-06-06 12:53 ` Ferruh Yigit
2017-06-06 14:09 ` Ajit Khaparde
2017-06-01 17:07 ` [dpdk-dev] [PATCH v4 20/26] net/bnxt: add support for set VF QOS and MAC anti spoof Ajit Khaparde
2017-06-01 17:07 ` [dpdk-dev] [PATCH v4 21/26] net/bnxt: add support to get and clear VF specific stats Ajit Khaparde
2017-06-01 17:07 ` [dpdk-dev] [PATCH v4 22/26] net/bnxt: add code to determine the Rx status of VF Ajit Khaparde
2017-06-01 17:07 ` [dpdk-dev] [PATCH v4 23/26] net/bnxt: add support to add a VF MAC address Ajit Khaparde
2017-06-01 17:07 ` [dpdk-dev] [PATCH v4 24/26] net/bnxt: add code to configure a default VF VLAN Ajit Khaparde
2017-06-01 17:07 ` [dpdk-dev] [PATCH v4 25/26] net/bnxt: add support to set VF rxmode Ajit Khaparde
2017-06-01 17:07 ` [dpdk-dev] [PATCH v4 26/26] doc: update release notes Ajit Khaparde
2017-06-06 14:48 ` [dpdk-dev] [PATCH v4 00/26] bnxt patchset 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=20170518015813.7862-24-ajit.khaparde@broadcom.com \
--to=ajit.khaparde@broadcom.com \
--cc=dev@dpdk.org \
--cc=ferruh.yigit@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 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).