OSDN Git Service

l2tp: use nla_put_u64_64bit()
authorNicolas Dichtel <nicolas.dichtel@6wind.com>
Mon, 25 Apr 2016 08:25:19 +0000 (10:25 +0200)
committerDavid S. Miller <davem@davemloft.net>
Mon, 25 Apr 2016 19:09:10 +0000 (15:09 -0400)
Signed-off-by: Nicolas Dichtel <nicolas.dichtel@6wind.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/uapi/linux/l2tp.h
net/l2tp/l2tp_netlink.c

index 3386a99..4bd27d0 100644 (file)
@@ -143,6 +143,7 @@ enum {
        L2TP_ATTR_RX_SEQ_DISCARDS,      /* u64 */
        L2TP_ATTR_RX_OOS_PACKETS,       /* u64 */
        L2TP_ATTR_RX_ERRORS,            /* u64 */
+       L2TP_ATTR_STATS_PAD,
        __L2TP_ATTR_STATS_MAX,
 };
 
index 24ed2e8..1d02e8d 100644 (file)
@@ -346,22 +346,30 @@ static int l2tp_nl_tunnel_send(struct sk_buff *skb, u32 portid, u32 seq, int fla
        if (nest == NULL)
                goto nla_put_failure;
 
-       if (nla_put_u64(skb, L2TP_ATTR_TX_PACKETS,
-                   atomic_long_read(&tunnel->stats.tx_packets)) ||
-           nla_put_u64(skb, L2TP_ATTR_TX_BYTES,
-                   atomic_long_read(&tunnel->stats.tx_bytes)) ||
-           nla_put_u64(skb, L2TP_ATTR_TX_ERRORS,
-                   atomic_long_read(&tunnel->stats.tx_errors)) ||
-           nla_put_u64(skb, L2TP_ATTR_RX_PACKETS,
-                   atomic_long_read(&tunnel->stats.rx_packets)) ||
-           nla_put_u64(skb, L2TP_ATTR_RX_BYTES,
-                   atomic_long_read(&tunnel->stats.rx_bytes)) ||
-           nla_put_u64(skb, L2TP_ATTR_RX_SEQ_DISCARDS,
-                   atomic_long_read(&tunnel->stats.rx_seq_discards)) ||
-           nla_put_u64(skb, L2TP_ATTR_RX_OOS_PACKETS,
-                   atomic_long_read(&tunnel->stats.rx_oos_packets)) ||
-           nla_put_u64(skb, L2TP_ATTR_RX_ERRORS,
-                   atomic_long_read(&tunnel->stats.rx_errors)))
+       if (nla_put_u64_64bit(skb, L2TP_ATTR_TX_PACKETS,
+                             atomic_long_read(&tunnel->stats.tx_packets),
+                             L2TP_ATTR_STATS_PAD) ||
+           nla_put_u64_64bit(skb, L2TP_ATTR_TX_BYTES,
+                             atomic_long_read(&tunnel->stats.tx_bytes),
+                             L2TP_ATTR_STATS_PAD) ||
+           nla_put_u64_64bit(skb, L2TP_ATTR_TX_ERRORS,
+                             atomic_long_read(&tunnel->stats.tx_errors),
+                             L2TP_ATTR_STATS_PAD) ||
+           nla_put_u64_64bit(skb, L2TP_ATTR_RX_PACKETS,
+                             atomic_long_read(&tunnel->stats.rx_packets),
+                             L2TP_ATTR_STATS_PAD) ||
+           nla_put_u64_64bit(skb, L2TP_ATTR_RX_BYTES,
+                             atomic_long_read(&tunnel->stats.rx_bytes),
+                             L2TP_ATTR_STATS_PAD) ||
+           nla_put_u64_64bit(skb, L2TP_ATTR_RX_SEQ_DISCARDS,
+                             atomic_long_read(&tunnel->stats.rx_seq_discards),
+                             L2TP_ATTR_STATS_PAD) ||
+           nla_put_u64_64bit(skb, L2TP_ATTR_RX_OOS_PACKETS,
+                             atomic_long_read(&tunnel->stats.rx_oos_packets),
+                             L2TP_ATTR_STATS_PAD) ||
+           nla_put_u64_64bit(skb, L2TP_ATTR_RX_ERRORS,
+                             atomic_long_read(&tunnel->stats.rx_errors),
+                             L2TP_ATTR_STATS_PAD))
                goto nla_put_failure;
        nla_nest_end(skb, nest);
 
@@ -754,22 +762,30 @@ static int l2tp_nl_session_send(struct sk_buff *skb, u32 portid, u32 seq, int fl
        if (nest == NULL)
                goto nla_put_failure;
 
-       if (nla_put_u64(skb, L2TP_ATTR_TX_PACKETS,
-               atomic_long_read(&session->stats.tx_packets)) ||
-           nla_put_u64(skb, L2TP_ATTR_TX_BYTES,
-               atomic_long_read(&session->stats.tx_bytes)) ||
-           nla_put_u64(skb, L2TP_ATTR_TX_ERRORS,
-               atomic_long_read(&session->stats.tx_errors)) ||
-           nla_put_u64(skb, L2TP_ATTR_RX_PACKETS,
-               atomic_long_read(&session->stats.rx_packets)) ||
-           nla_put_u64(skb, L2TP_ATTR_RX_BYTES,
-               atomic_long_read(&session->stats.rx_bytes)) ||
-           nla_put_u64(skb, L2TP_ATTR_RX_SEQ_DISCARDS,
-               atomic_long_read(&session->stats.rx_seq_discards)) ||
-           nla_put_u64(skb, L2TP_ATTR_RX_OOS_PACKETS,
-               atomic_long_read(&session->stats.rx_oos_packets)) ||
-           nla_put_u64(skb, L2TP_ATTR_RX_ERRORS,
-               atomic_long_read(&session->stats.rx_errors)))
+       if (nla_put_u64_64bit(skb, L2TP_ATTR_TX_PACKETS,
+                             atomic_long_read(&session->stats.tx_packets),
+                             L2TP_ATTR_STATS_PAD) ||
+           nla_put_u64_64bit(skb, L2TP_ATTR_TX_BYTES,
+                             atomic_long_read(&session->stats.tx_bytes),
+                             L2TP_ATTR_STATS_PAD) ||
+           nla_put_u64_64bit(skb, L2TP_ATTR_TX_ERRORS,
+                             atomic_long_read(&session->stats.tx_errors),
+                             L2TP_ATTR_STATS_PAD) ||
+           nla_put_u64_64bit(skb, L2TP_ATTR_RX_PACKETS,
+                             atomic_long_read(&session->stats.rx_packets),
+                             L2TP_ATTR_STATS_PAD) ||
+           nla_put_u64_64bit(skb, L2TP_ATTR_RX_BYTES,
+                             atomic_long_read(&session->stats.rx_bytes),
+                             L2TP_ATTR_STATS_PAD) ||
+           nla_put_u64_64bit(skb, L2TP_ATTR_RX_SEQ_DISCARDS,
+                             atomic_long_read(&session->stats.rx_seq_discards),
+                             L2TP_ATTR_STATS_PAD) ||
+           nla_put_u64_64bit(skb, L2TP_ATTR_RX_OOS_PACKETS,
+                             atomic_long_read(&session->stats.rx_oos_packets),
+                             L2TP_ATTR_STATS_PAD) ||
+           nla_put_u64_64bit(skb, L2TP_ATTR_RX_ERRORS,
+                             atomic_long_read(&session->stats.rx_errors),
+                             L2TP_ATTR_STATS_PAD))
                goto nla_put_failure;
        nla_nest_end(skb, nest);