aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEric Dumazet <edumazet@google.com>2014-10-05 05:35:21 -0400
committerDavid S. Miller <davem@davemloft.net>2014-10-06 01:04:16 -0400
commit1255a5055449781a92076fc5429952f2b33cf309 (patch)
tree02cee8c3b834100cd740ef80a0cda1672784bf0f
parentacea73d671b25bfbbe6b8ceef949f4ac62c260c0 (diff)
ethtool: Ethtool parameter to dynamically change tx_copybreak
Use new ethtool [sg]et_tunable() to set tx_copybread (inline threshold) Signed-off-by: Eric Dumazet <edumazet@google.com> Signed-off-by: Amir Vadai <amirv@mellanox.com> Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r--include/uapi/linux/ethtool.h1
-rw-r--r--net/core/ethtool.c1
2 files changed, 2 insertions, 0 deletions
diff --git a/include/uapi/linux/ethtool.h b/include/uapi/linux/ethtool.h
index 7a364f2f3d3f..99b43056a6fe 100644
--- a/include/uapi/linux/ethtool.h
+++ b/include/uapi/linux/ethtool.h
@@ -212,6 +212,7 @@ struct ethtool_value {
212enum tunable_id { 212enum tunable_id {
213 ETHTOOL_ID_UNSPEC, 213 ETHTOOL_ID_UNSPEC,
214 ETHTOOL_RX_COPYBREAK, 214 ETHTOOL_RX_COPYBREAK,
215 ETHTOOL_TX_COPYBREAK,
215}; 216};
216 217
217enum tunable_type_id { 218enum tunable_type_id {
diff --git a/net/core/ethtool.c b/net/core/ethtool.c
index 27e61b886520..1600aa24d36b 100644
--- a/net/core/ethtool.c
+++ b/net/core/ethtool.c
@@ -1625,6 +1625,7 @@ static int ethtool_tunable_valid(const struct ethtool_tunable *tuna)
1625{ 1625{
1626 switch (tuna->id) { 1626 switch (tuna->id) {
1627 case ETHTOOL_RX_COPYBREAK: 1627 case ETHTOOL_RX_COPYBREAK:
1628 case ETHTOOL_TX_COPYBREAK:
1628 if (tuna->len != sizeof(u32) || 1629 if (tuna->len != sizeof(u32) ||
1629 tuna->type_id != ETHTOOL_TUNABLE_U32) 1630 tuna->type_id != ETHTOOL_TUNABLE_U32)
1630 return -EINVAL; 1631 return -EINVAL;