l2tp: use nla_put_u64_64bit()
Signed-off-by: Nicolas Dichtel <nicolas.dichtel@6wind.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Родитель
12a0faa3bd
Коммит
1c714a9283
|
@ -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,
|
||||
};
|
||||
|
||||
|
|
|
@ -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);
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче