From: Yi Zou <yi.zou@intel.com>
To: linux-scsi@vger.kernel.org, netdev@vger.kernel.org
Subject: [PATCH 3/7] fcoe: check offload features from LLD through netdev
Date: Thu, 19 Feb 2009 12:49:57 -0700 [thread overview]
Message-ID: <20090219194957.22270.6428.stgit.yi.zou@intel.com> (raw)
In-Reply-To: <20090219194734.22270.8445.stgit@zychengdu.jf.intel.com>
This checkes if net_devices supports net_fcoe_ops, if it does, then sets up
the corresponding flags in the associated fc_lport.
Note that large sequence offload is already supported in the current
libfc/fcoe, only thing needed is to tell the corresponding fc_lport that LLD
is capabale of doing so by using fcoe_ops->features.
Signed-off-by: Yi Zou <yi.zou@intel.com>
---
drivers/scsi/fcoe/fcoe_sw.c | 27 +++++++++++++++++++++++++++
1 files changed, 27 insertions(+), 0 deletions(-)
diff --git a/drivers/scsi/fcoe/fcoe_sw.c b/drivers/scsi/fcoe/fcoe_sw.c
index fe1bcaa..7632d7e 100644
--- a/drivers/scsi/fcoe/fcoe_sw.c
+++ b/drivers/scsi/fcoe/fcoe_sw.c
@@ -188,6 +188,33 @@ static int fcoe_sw_netdev_config(struct fc_lport *lp, struct net_device *netdev)
if (fc->real_dev->features & NETIF_F_SG)
lp->sg_supp = 1;
+ lp->crc_offload = 0;
+ lp->seq_offload = 0;
+ lp->lro_enabled = 0;
+ if (netdev->fcoe_ops) {
+ struct net_fcoe_ops *fops = netdev->fcoe_ops;
+
+ if (fops->features & NET_FCOE_CRC) {
+ lp->crc_offload = 1;
+ FCOE_DBG("%s supports FCoE FCCRC offload\n",
+ netdev->name);
+ }
+
+ if (fops->features & NET_FCOE_LSO) {
+ lp->seq_offload = 1;
+ FCOE_DBG("%s supports FCoE large send offload\n",
+ netdev->name);
+ }
+
+ if ((fops->features & NET_FCOE_LRO) &&
+ (fops->lro_xid)) {
+ lp->lro_enabled = 1;
+ lp->lro_xid = fops->lro_xid;
+ FCOE_DBG("%s supports FCoE large receive offload "
+ "with max read exchange id for ddp %d\n",
+ netdev->name, lp->lro_xid);
+ }
+ }
skb_queue_head_init(&fc->fcoe_pending_queue);
next prev parent reply other threads:[~2009-02-19 19:49 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20090219194734.22270.8445.stgit@zychengdu.jf.intel.com>
2009-02-19 19:49 ` [PATCH 1/7] net: add ETH_P_FCOE for Fibre Channel over Ethernet (FCoE) Yi Zou
2009-02-19 19:49 ` [PATCH 2/7] net: add FCoE offload support through net_device Yi Zou
2009-02-19 21:24 ` Stephen Hemminger
2009-02-19 21:32 ` Zou, Yi
2009-02-20 23:21 ` Zou, Yi
2009-02-20 23:27 ` Stephen Hemminger
2009-02-19 19:49 ` Yi Zou [this message]
2009-02-19 19:50 ` [PATCH 4/7] libfc: add support of large receive offload by ddp in fc_fcp Yi Zou
2009-02-19 19:50 ` [PATCH 5/7] fcoe: add support to net_fcoe_ops in fcoe_sw Yi Zou
2009-02-19 19:50 ` [PATCH 6/7] fcoe: remove ETH_P_FCOE from fc_fcoe.h Yi Zou
2009-02-19 21:25 ` Stephen Hemminger
2009-02-19 21:49 ` Zou, Yi
2009-02-19 19:50 ` [PATCH 7/7] fcoe: fcoe fc crc offload indication by skb->ip_summed Yi Zou
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=20090219194957.22270.6428.stgit.yi.zou@intel.com \
--to=yi.zou@intel.com \
--cc=linux-scsi@vger.kernel.org \
--cc=netdev@vger.kernel.org \
/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.