Message ID | 1433213937-21690-4-git-send-email-shaopeng.he@intel.com (mailing list archive) |
---|---|
State | Superseded, archived |
Headers |
Return-Path: <dev-bounces@dpdk.org> X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [IPv6:::1]) by dpdk.org (Postfix) with ESMTP id 05220C320; Tue, 2 Jun 2015 04:59:23 +0200 (CEST) Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by dpdk.org (Postfix) with ESMTP id A39E2B3D6 for <dev@dpdk.org>; Tue, 2 Jun 2015 04:59:21 +0200 (CEST) Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by orsmga101.jf.intel.com with ESMTP; 01 Jun 2015 19:59:20 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.13,536,1427785200"; d="scan'208";a="501312507" Received: from shvmail01.sh.intel.com ([10.239.29.42]) by FMSMGA003.fm.intel.com with ESMTP; 01 Jun 2015 19:59:19 -0700 Received: from shecgisg004.sh.intel.com (shecgisg004.sh.intel.com [10.239.29.89]) by shvmail01.sh.intel.com with ESMTP id t522xHMh021980; Tue, 2 Jun 2015 10:59:17 +0800 Received: from shecgisg004.sh.intel.com (localhost [127.0.0.1]) by shecgisg004.sh.intel.com (8.13.6/8.13.6/SuSE Linux 0.8) with ESMTP id t522xEdV021747; Tue, 2 Jun 2015 10:59:16 +0800 Received: (from heshaope@localhost) by shecgisg004.sh.intel.com (8.13.6/8.13.6/Submit) id t522xEoN021743; Tue, 2 Jun 2015 10:59:14 +0800 From: Shaopeng He <shaopeng.he@intel.com> To: dev@dpdk.org Date: Tue, 2 Jun 2015 10:58:57 +0800 Message-Id: <1433213937-21690-4-git-send-email-shaopeng.he@intel.com> X-Mailer: git-send-email 1.7.4.1 In-Reply-To: <1433213937-21690-1-git-send-email-shaopeng.he@intel.com> References: <1433213937-21690-1-git-send-email-shaopeng.he@intel.com> Cc: Shaopeng He <shaopeng.he@intel.com> Subject: [dpdk-dev] [PATCH 3/3] fm10k: update VLAN offload features X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK <dev.dpdk.org> List-Unsubscribe: <http://dpdk.org/ml/options/dev>, <mailto:dev-request@dpdk.org?subject=unsubscribe> List-Archive: <http://dpdk.org/ml/archives/dev/> List-Post: <mailto:dev@dpdk.org> List-Help: <mailto:dev-request@dpdk.org?subject=help> List-Subscribe: <http://dpdk.org/ml/listinfo/dev>, <mailto:dev-request@dpdk.org?subject=subscribe> Errors-To: dev-bounces@dpdk.org Sender: "dev" <dev-bounces@dpdk.org> |
Commit Message
He, Shaopeng
June 2, 2015, 2:58 a.m. UTC
Fm10k PF/VF does not support QinQ; VLAN strip and filter are always on
for PF/VF ports.
Signed-off-by: Shaopeng He <shaopeng.he@intel.com>
---
drivers/net/fm10k/fm10k_ethdev.c | 22 ++++++++++++++++++++++
1 file changed, 22 insertions(+)
Comments
Hi, > -----Original Message----- > From: He, Shaopeng > Sent: Tuesday, June 02, 2015 10:59 AM > To: dev@dpdk.org > Cc: Chen, Jing D; Qiu, Michael; He, Shaopeng > Subject: [PATCH 3/3] fm10k: update VLAN offload features > > Fm10k PF/VF does not support QinQ; VLAN strip and filter are always on > for PF/VF ports. > > Signed-off-by: Shaopeng He <shaopeng.he@intel.com> > --- > drivers/net/fm10k/fm10k_ethdev.c | 22 ++++++++++++++++++++++ > 1 file changed, 22 insertions(+) > > diff --git a/drivers/net/fm10k/fm10k_ethdev.c > b/drivers/net/fm10k/fm10k_ethdev.c > index 4f23bf1..9b198a7 100644 > --- a/drivers/net/fm10k/fm10k_ethdev.c > +++ b/drivers/net/fm10k/fm10k_ethdev.c > @@ -884,6 +884,27 @@ fm10k_vlan_filter_set(struct rte_eth_dev *dev, > uint16_t vlan_id, int on) > return (-EIO); > } > > +static void > +fm10k_vlan_offload_set(__rte_unused struct rte_eth_dev *dev, int mask) > +{ > + if (mask & ETH_VLAN_STRIP_MASK) { > + if (!dev->data->dev_conf.rxmode.hw_vlan_strip) > + PMD_INIT_LOG(ERR, "VLAN stripping is " > + "always on in fm10k"); > + } > + > + if (mask & ETH_VLAN_EXTEND_MASK) { > + if (dev->data->dev_conf.rxmode.hw_vlan_extend) > + PMD_INIT_LOG(ERR, "VLAN QinQ is not " > + "supported in fm10k"); > + } > + > + if (mask & ETH_VLAN_FILTER_MASK) { > + if (!dev->data->dev_conf.rxmode.hw_vlan_filter) > + PMD_INIT_LOG(ERR, "VLAN filter is always on in > fm10k"); > + } > +} > + Update fm10k_dev_infos_get() to configure above options to expected values? > /* Add/Remove a MAC address, and update filters */ > static void > fm10k_MAC_filter_set(struct rte_eth_dev *dev, const u8 *mac, bool add) > @@ -1801,6 +1822,7 @@ static const struct eth_dev_ops > fm10k_eth_dev_ops = { > .link_update = fm10k_link_update, > .dev_infos_get = fm10k_dev_infos_get, > .vlan_filter_set = fm10k_vlan_filter_set, > + .vlan_offload_set = fm10k_vlan_offload_set, > .mac_addr_add = fm10k_macaddr_add, > .mac_addr_remove = fm10k_macaddr_remove, > .rx_queue_start = fm10k_dev_rx_queue_start, > -- > 1.9.3
> -----Original Message----- > From: Chen, Jing D > Sent: Tuesday, June 09, 2015 11:27 AM > To: He, Shaopeng; dev@dpdk.org > Cc: Qiu, Michael > Subject: RE: [PATCH 3/3] fm10k: update VLAN offload features > > Hi, > > > > -----Original Message----- > > From: He, Shaopeng > > Sent: Tuesday, June 02, 2015 10:59 AM > > To: dev@dpdk.org > > Cc: Chen, Jing D; Qiu, Michael; He, Shaopeng > > Subject: [PATCH 3/3] fm10k: update VLAN offload features > > > > Fm10k PF/VF does not support QinQ; VLAN strip and filter are always on > > for PF/VF ports. > > > > Signed-off-by: Shaopeng He <shaopeng.he@intel.com> > > --- > > drivers/net/fm10k/fm10k_ethdev.c | 22 ++++++++++++++++++++++ > > 1 file changed, 22 insertions(+) > > > > diff --git a/drivers/net/fm10k/fm10k_ethdev.c > > b/drivers/net/fm10k/fm10k_ethdev.c > > index 4f23bf1..9b198a7 100644 > > --- a/drivers/net/fm10k/fm10k_ethdev.c > > +++ b/drivers/net/fm10k/fm10k_ethdev.c > > @@ -884,6 +884,27 @@ fm10k_vlan_filter_set(struct rte_eth_dev *dev, > > uint16_t vlan_id, int on) > > return (-EIO); > > } > > > > +static void > > +fm10k_vlan_offload_set(__rte_unused struct rte_eth_dev *dev, int > > +mask) { > > + if (mask & ETH_VLAN_STRIP_MASK) { > > + if (!dev->data->dev_conf.rxmode.hw_vlan_strip) > > + PMD_INIT_LOG(ERR, "VLAN stripping is " > > + "always on in fm10k"); > > + } > > + > > + if (mask & ETH_VLAN_EXTEND_MASK) { > > + if (dev->data->dev_conf.rxmode.hw_vlan_extend) > > + PMD_INIT_LOG(ERR, "VLAN QinQ is not " > > + "supported in fm10k"); > > + } > > + > > + if (mask & ETH_VLAN_FILTER_MASK) { > > + if (!dev->data->dev_conf.rxmode.hw_vlan_filter) > > + PMD_INIT_LOG(ERR, "VLAN filter is always on in > > fm10k"); > > + } > > +} > > + > > Update fm10k_dev_infos_get() to configure above options to expected > values? Thank you for the reminder, I will update the value of rx_offload_capa and tx_offload_capa in fm10k_dev_infos_get() in the next version
On 2015/6/9 11:27, Chen, Jing D wrote: > Hi, > > >> -----Original Message----- >> From: He, Shaopeng >> Sent: Tuesday, June 02, 2015 10:59 AM >> To: dev@dpdk.org >> Cc: Chen, Jing D; Qiu, Michael; He, Shaopeng >> Subject: [PATCH 3/3] fm10k: update VLAN offload features >> >> Fm10k PF/VF does not support QinQ; VLAN strip and filter are always on >> for PF/VF ports. >> >> Signed-off-by: Shaopeng He <shaopeng.he@intel.com> >> --- >> drivers/net/fm10k/fm10k_ethdev.c | 22 ++++++++++++++++++++++ >> 1 file changed, 22 insertions(+) >> >> diff --git a/drivers/net/fm10k/fm10k_ethdev.c >> b/drivers/net/fm10k/fm10k_ethdev.c >> index 4f23bf1..9b198a7 100644 >> --- a/drivers/net/fm10k/fm10k_ethdev.c >> +++ b/drivers/net/fm10k/fm10k_ethdev.c >> @@ -884,6 +884,27 @@ fm10k_vlan_filter_set(struct rte_eth_dev *dev, >> uint16_t vlan_id, int on) >> return (-EIO); >> } >> >> +static void >> +fm10k_vlan_offload_set(__rte_unused struct rte_eth_dev *dev, int mask) >> +{ >> + if (mask & ETH_VLAN_STRIP_MASK) { >> + if (!dev->data->dev_conf.rxmode.hw_vlan_strip) >> + PMD_INIT_LOG(ERR, "VLAN stripping is " >> + "always on in fm10k"); >> + } >> + >> + if (mask & ETH_VLAN_EXTEND_MASK) { >> + if (dev->data->dev_conf.rxmode.hw_vlan_extend) >> + PMD_INIT_LOG(ERR, "VLAN QinQ is not " >> + "supported in fm10k"); >> + } >> + >> + if (mask & ETH_VLAN_FILTER_MASK) { >> + if (!dev->data->dev_conf.rxmode.hw_vlan_filter) >> + PMD_INIT_LOG(ERR, "VLAN filter is always on in >> fm10k"); >> + } >> +} >> + > Update fm10k_dev_infos_get() to configure above options to expected values? Could it be better to add CRC strip options to expected values by convenient? Thanks, Michael >> /* Add/Remove a MAC address, and update filters */ >> static void >> fm10k_MAC_filter_set(struct rte_eth_dev *dev, const u8 *mac, bool add) >> @@ -1801,6 +1822,7 @@ static const struct eth_dev_ops >> fm10k_eth_dev_ops = { >> .link_update = fm10k_link_update, >> .dev_infos_get = fm10k_dev_infos_get, >> .vlan_filter_set = fm10k_vlan_filter_set, >> + .vlan_offload_set = fm10k_vlan_offload_set, >> .mac_addr_add = fm10k_macaddr_add, >> .mac_addr_remove = fm10k_macaddr_remove, >> .rx_queue_start = fm10k_dev_rx_queue_start, >> -- >> 1.9.3 >
> -----Original Message----- > From: Qiu, Michael > Sent: Tuesday, June 09, 2015 11:41 PM > To: Chen, Jing D; He, Shaopeng; dev@dpdk.org > Subject: Re: [PATCH 3/3] fm10k: update VLAN offload features > > On 2015/6/9 11:27, Chen, Jing D wrote: > > Hi, > > > > > >> -----Original Message----- > >> From: He, Shaopeng > >> Sent: Tuesday, June 02, 2015 10:59 AM > >> To: dev@dpdk.org > >> Cc: Chen, Jing D; Qiu, Michael; He, Shaopeng > >> Subject: [PATCH 3/3] fm10k: update VLAN offload features > >> > >> Fm10k PF/VF does not support QinQ; VLAN strip and filter are always > >> on for PF/VF ports. > >> > >> Signed-off-by: Shaopeng He <shaopeng.he@intel.com> > >> --- > >> drivers/net/fm10k/fm10k_ethdev.c | 22 ++++++++++++++++++++++ > >> 1 file changed, 22 insertions(+) > >> > >> diff --git a/drivers/net/fm10k/fm10k_ethdev.c > >> b/drivers/net/fm10k/fm10k_ethdev.c > >> index 4f23bf1..9b198a7 100644 > >> --- a/drivers/net/fm10k/fm10k_ethdev.c > >> +++ b/drivers/net/fm10k/fm10k_ethdev.c > >> @@ -884,6 +884,27 @@ fm10k_vlan_filter_set(struct rte_eth_dev *dev, > >> uint16_t vlan_id, int on) > >> return (-EIO); > >> } > >> > >> +static void > >> +fm10k_vlan_offload_set(__rte_unused struct rte_eth_dev *dev, int > >> +mask) { > >> + if (mask & ETH_VLAN_STRIP_MASK) { > >> + if (!dev->data->dev_conf.rxmode.hw_vlan_strip) > >> + PMD_INIT_LOG(ERR, "VLAN stripping is " > >> + "always on in fm10k"); > >> + } > >> + > >> + if (mask & ETH_VLAN_EXTEND_MASK) { > >> + if (dev->data->dev_conf.rxmode.hw_vlan_extend) > >> + PMD_INIT_LOG(ERR, "VLAN QinQ is not " > >> + "supported in fm10k"); > >> + } > >> + > >> + if (mask & ETH_VLAN_FILTER_MASK) { > >> + if (!dev->data->dev_conf.rxmode.hw_vlan_filter) > >> + PMD_INIT_LOG(ERR, "VLAN filter is always on in > >> fm10k"); > >> + } > >> +} > >> + > > Update fm10k_dev_infos_get() to configure above options to expected > values? > > Could it be better to add CRC strip options to expected values by convenient? Thanks for the comments; but this patch is for the VLAN offload, may not be good place to fix other bugs. By the way, current struct rte_eth_dev_info which fm10k_dev_infos_get() returns does not have any setting for CRC strip options (please correct me if I am wrong).
diff --git a/drivers/net/fm10k/fm10k_ethdev.c b/drivers/net/fm10k/fm10k_ethdev.c index 4f23bf1..9b198a7 100644 --- a/drivers/net/fm10k/fm10k_ethdev.c +++ b/drivers/net/fm10k/fm10k_ethdev.c @@ -884,6 +884,27 @@ fm10k_vlan_filter_set(struct rte_eth_dev *dev, uint16_t vlan_id, int on) return (-EIO); } +static void +fm10k_vlan_offload_set(__rte_unused struct rte_eth_dev *dev, int mask) +{ + if (mask & ETH_VLAN_STRIP_MASK) { + if (!dev->data->dev_conf.rxmode.hw_vlan_strip) + PMD_INIT_LOG(ERR, "VLAN stripping is " + "always on in fm10k"); + } + + if (mask & ETH_VLAN_EXTEND_MASK) { + if (dev->data->dev_conf.rxmode.hw_vlan_extend) + PMD_INIT_LOG(ERR, "VLAN QinQ is not " + "supported in fm10k"); + } + + if (mask & ETH_VLAN_FILTER_MASK) { + if (!dev->data->dev_conf.rxmode.hw_vlan_filter) + PMD_INIT_LOG(ERR, "VLAN filter is always on in fm10k"); + } +} + /* Add/Remove a MAC address, and update filters */ static void fm10k_MAC_filter_set(struct rte_eth_dev *dev, const u8 *mac, bool add) @@ -1801,6 +1822,7 @@ static const struct eth_dev_ops fm10k_eth_dev_ops = { .link_update = fm10k_link_update, .dev_infos_get = fm10k_dev_infos_get, .vlan_filter_set = fm10k_vlan_filter_set, + .vlan_offload_set = fm10k_vlan_offload_set, .mac_addr_add = fm10k_macaddr_add, .mac_addr_remove = fm10k_macaddr_remove, .rx_queue_start = fm10k_dev_rx_queue_start,