From: Brice Goglin <brice@myri.com>
To: "David S. Miller" <davem@davemloft.net>
Cc: Linux Network Development list <netdev@vger.kernel.org>
Subject: [PATCH 1/2] myri10ge: allow LRO to be enabled via ethtool
Date: Tue, 19 May 2009 22:15:32 +0200 [thread overview]
Message-ID: <4A131364.5050402@myri.com> (raw)
Allow myri10ge LRO to be enabled/disabled via ethtool
(and by the stack for packet forwarding).
Signed-off-by: Brice Goglin <brice@myri.com>
--- net-next-2.6/drivers/net/myri10ge/myri10ge.c 2009-04-18 12:25:35.000000000 +0200
+++ linux-tmp/drivers/net/myri10ge/myri10ge.c 2009-05-19 22:02:12.000000000 +0200
@@ -1300,7 +1300,7 @@
remainder -= MYRI10GE_ALLOC_SIZE;
}
- if (mgp->csum_flag && myri10ge_lro) {
+ if (dev->features & NETIF_F_LRO) {
rx_frags[0].page_offset += MXGEFW_PAD;
rx_frags[0].size -= MXGEFW_PAD;
len -= MXGEFW_PAD;
@@ -1716,12 +1716,17 @@
static int myri10ge_set_rx_csum(struct net_device *netdev, u32 csum_enabled)
{
struct myri10ge_priv *mgp = netdev_priv(netdev);
+ int err = 0;
if (csum_enabled)
mgp->csum_flag = MXGEFW_FLAGS_CKSUM;
- else
+ else {
+ u32 flags = ethtool_op_get_flags(netdev);
+ err = ethtool_op_set_flags(netdev, (flags & ~ETH_FLAG_LRO));
mgp->csum_flag = 0;
- return 0;
+
+ }
+ return err;
}
static int myri10ge_set_tso(struct net_device *netdev, u32 tso_enabled)
@@ -1904,7 +1909,9 @@
.get_sset_count = myri10ge_get_sset_count,
.get_ethtool_stats = myri10ge_get_ethtool_stats,
.set_msglevel = myri10ge_set_msglevel,
- .get_msglevel = myri10ge_get_msglevel
+ .get_msglevel = myri10ge_get_msglevel,
+ .get_flags = ethtool_op_get_flags,
+ .set_flags = ethtool_op_set_flags
};
static int myri10ge_allocate_rings(struct myri10ge_slice_state *ss)
@@ -3910,6 +3917,8 @@
if (dac_enabled)
netdev->features |= NETIF_F_HIGHDMA;
+ if (myri10ge_lro)
+ netdev->features |= NETIF_F_LRO;
/* make sure we can get an irq, and that MSI can be
* setup (if available). Also ensure netdev->irq
next reply other threads:[~2009-05-19 20:15 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-05-19 20:15 Brice Goglin [this message]
2009-05-19 21:28 ` [PATCH 1/2] myri10ge: allow LRO to be enabled via ethtool David Miller
2009-05-19 22:26 ` David Miller
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=4A131364.5050402@myri.com \
--to=brice@myri.com \
--cc=davem@davemloft.net \
--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 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).