All of lore.kernel.org
 help / color / mirror / Atom feed
From: Renata Saiakhova <Renata.Saiakhova@ekinops.com>
To: Haiyue Wang <haiyue.wang@intel.com>
Cc: dev@dpdk.org, Renata Saiakhova <Renata.Saiakhova@ekinops.com>
Subject: [dpdk-dev] [PATCH v2 1/1] net/e1000: igbvf VLAN offload implementation
Date: Wed, 15 Sep 2021 16:51:52 +0200	[thread overview]
Message-ID: <20210915145152.17600-2-Renata.Saiakhova@ekinops.com> (raw)
In-Reply-To: <20210915145152.17600-1-Renata.Saiakhova@ekinops.com>

igbvf_vlan_offload_config and igbvf_vlan_offload_set primal
implementation, setting vlan filter mask at igbvf_dev_start time.
Without the above a vlan filter for igbvf is not functional.

Signed-off-by: Renata Saiakhova <Renata.Saiakhova@ekinops.com>
---
 drivers/net/e1000/igb_ethdev.c | 28 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)

diff --git a/drivers/net/e1000/igb_ethdev.c b/drivers/net/e1000/igb_ethdev.c
index 10ee0f3341..4c8478427c 100644
--- a/drivers/net/e1000/igb_ethdev.c
+++ b/drivers/net/e1000/igb_ethdev.c
@@ -171,6 +171,8 @@ static int eth_igbvf_xstats_get_names(struct rte_eth_dev *dev,
 static int eth_igbvf_stats_reset(struct rte_eth_dev *dev);
 static int igbvf_vlan_filter_set(struct rte_eth_dev *dev,
 		uint16_t vlan_id, int on);
+static int igbvf_vlan_offload_config(struct rte_eth_dev *dev, int mask);
+static int igbvf_vlan_offload_set(struct rte_eth_dev *dev, int mask);
 static int igbvf_set_vfta(struct e1000_hw *hw, uint16_t vid, bool on);
 static void igbvf_set_vfta_all(struct rte_eth_dev *dev, bool on);
 static int igbvf_default_mac_addr_set(struct rte_eth_dev *dev,
@@ -410,6 +412,7 @@ static const struct eth_dev_ops igbvf_eth_dev_ops = {
 	.xstats_get_names     = eth_igbvf_xstats_get_names,
 	.stats_reset          = eth_igbvf_stats_reset,
 	.xstats_reset         = eth_igbvf_stats_reset,
+	.vlan_offload_set     = igbvf_vlan_offload_set,
 	.vlan_filter_set      = igbvf_vlan_filter_set,
 	.dev_infos_get        = eth_igbvf_infos_get,
 	.dev_supported_ptypes_get = eth_igb_supported_ptypes_get,
@@ -3304,6 +3307,8 @@ igbvf_dev_start(struct rte_eth_dev *dev)
 	struct rte_intr_handle *intr_handle = &pci_dev->intr_handle;
 	int ret;
 	uint32_t intr_vector = 0;
+	int mask;
+	int err;
 
 	PMD_INIT_FUNC_TRACE();
 
@@ -3313,6 +3318,14 @@ igbvf_dev_start(struct rte_eth_dev *dev)
 	/* Set all vfta */
 	igbvf_set_vfta_all(dev,1);
 
+	/* Set vlan filter mask */
+	mask = ETH_VLAN_FILTER_MASK;
+	err = igbvf_vlan_offload_config(dev, mask);
+	if (err) {
+		PMD_INIT_LOG(ERR, "Unable to set VLAN offload (%d)", err);
+		return err;
+	}
+
 	eth_igbvf_tx_init(dev);
 
 	/* This can fail when allocating mbufs for descriptor rings */
@@ -3531,6 +3544,21 @@ static void igbvf_set_vfta_all(struct rte_eth_dev *dev, bool on)
 
 }
 
+static int
+igbvf_vlan_offload_config(__rte_unused struct rte_eth_dev *dev, int mask)
+{
+	if (mask & ETH_VLAN_STRIP_MASK)
+		return -ENOTSUP;
+	return 0;
+}
+
+static int
+igbvf_vlan_offload_set(struct rte_eth_dev *dev, int mask)
+{
+	igbvf_vlan_offload_config(dev, mask);
+	return 0;
+}
+
 static int
 igbvf_vlan_filter_set(struct rte_eth_dev *dev, uint16_t vlan_id, int on)
 {
-- 
2.17.2


  reply	other threads:[~2021-09-15 14:52 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-09-15 14:51 [dpdk-dev] [PATCH v2 0/1] net/e1000: igbvf VLAN offload implementation Renata Saiakhova
2021-09-15 14:51 ` Renata Saiakhova [this message]
2021-09-21  9:54   ` [dpdk-dev] [PATCH v2 1/1] " Wang, Haiyue

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=20210915145152.17600-2-Renata.Saiakhova@ekinops.com \
    --to=renata.saiakhova@ekinops.com \
    --cc=dev@dpdk.org \
    --cc=haiyue.wang@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.