net/rtnetlink: add IFLA_GSO_MAX_SEGS and IFLA_GSO_MAX_SIZE attributes
authorEric Dumazet <edumazet@google.com>
Mon, 21 Mar 2016 16:55:10 +0000 (09:55 -0700)
committerDavid S. Miller <davem@davemloft.net>
Mon, 21 Mar 2016 17:35:56 +0000 (13:35 -0400)
It can be useful to report dev->gso_max_segs and dev->gso_max_size
so that "ip -d link" can display them to help debugging.

For the moment, these attributes are read-only.

Signed-off-by: Eric Dumazet <edumazet@google.com>
Cc: Petri Gynther <pgynther@google.com>
Cc: Stephen Hemminger <stephen@networkplumber.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/uapi/linux/if_link.h
net/core/rtnetlink.c

index 8e3f88f..76d315c 100644 (file)
@@ -153,6 +153,8 @@ enum {
        IFLA_LINK_NETNSID,
        IFLA_PHYS_PORT_NAME,
        IFLA_PROTO_DOWN,
+       IFLA_GSO_MAX_SEGS,
+       IFLA_GSO_MAX_SIZE,
        __IFLA_MAX
 };
 
index d2d9e5e..a69cd0c 100644 (file)
@@ -895,6 +895,8 @@ static noinline size_t if_nlmsg_size(const struct net_device *dev,
               + nla_total_size(4) /* IFLA_PROMISCUITY */
               + nla_total_size(4) /* IFLA_NUM_TX_QUEUES */
               + nla_total_size(4) /* IFLA_NUM_RX_QUEUES */
+              + nla_total_size(4) /* IFLA_MAX_GSO_SEGS */
+              + nla_total_size(4) /* IFLA_MAX_GSO_SIZE */
               + nla_total_size(1) /* IFLA_OPERSTATE */
               + nla_total_size(1) /* IFLA_LINKMODE */
               + nla_total_size(4) /* IFLA_CARRIER_CHANGES */
@@ -1223,6 +1225,8 @@ static int rtnl_fill_ifinfo(struct sk_buff *skb, struct net_device *dev,
            nla_put_u32(skb, IFLA_GROUP, dev->group) ||
            nla_put_u32(skb, IFLA_PROMISCUITY, dev->promiscuity) ||
            nla_put_u32(skb, IFLA_NUM_TX_QUEUES, dev->num_tx_queues) ||
+           nla_put_u32(skb, IFLA_GSO_MAX_SEGS, dev->gso_max_segs) ||
+           nla_put_u32(skb, IFLA_GSO_MAX_SIZE, dev->gso_max_size) ||
 #ifdef CONFIG_RPS
            nla_put_u32(skb, IFLA_NUM_RX_QUEUES, dev->num_rx_queues) ||
 #endif