net: copy_rtnl_link_stats64() simplification
authorEric Dumazet <eric.dumazet@gmail.com>
Mon, 23 Aug 2010 07:14:36 +0000 (07:14 +0000)
committerDavid S. Miller <davem@davemloft.net>
Tue, 24 Aug 2010 03:43:16 +0000 (20:43 -0700)
No need to use a temporary struct rtnl_link_stats64 variable,
just copy the source to skb buffer.

Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
Reviewed-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/core/rtnetlink.c

index f78d821bd9357dc3a88feb1259219478268858a3..b2a718dfd720f69c46aca7a7ff2ce50f8b14d907 100644 (file)
@@ -612,36 +612,7 @@ static void copy_rtnl_link_stats(struct rtnl_link_stats *a,
 
 static void copy_rtnl_link_stats64(void *v, const struct rtnl_link_stats64 *b)
 {
-       struct rtnl_link_stats64 a;
-
-       a.rx_packets = b->rx_packets;
-       a.tx_packets = b->tx_packets;
-       a.rx_bytes = b->rx_bytes;
-       a.tx_bytes = b->tx_bytes;
-       a.rx_errors = b->rx_errors;
-       a.tx_errors = b->tx_errors;
-       a.rx_dropped = b->rx_dropped;
-       a.tx_dropped = b->tx_dropped;
-
-       a.multicast = b->multicast;
-       a.collisions = b->collisions;
-
-       a.rx_length_errors = b->rx_length_errors;
-       a.rx_over_errors = b->rx_over_errors;
-       a.rx_crc_errors = b->rx_crc_errors;
-       a.rx_frame_errors = b->rx_frame_errors;
-       a.rx_fifo_errors = b->rx_fifo_errors;
-       a.rx_missed_errors = b->rx_missed_errors;
-
-       a.tx_aborted_errors = b->tx_aborted_errors;
-       a.tx_carrier_errors = b->tx_carrier_errors;
-       a.tx_fifo_errors = b->tx_fifo_errors;
-       a.tx_heartbeat_errors = b->tx_heartbeat_errors;
-       a.tx_window_errors = b->tx_window_errors;
-
-       a.rx_compressed = b->rx_compressed;
-       a.tx_compressed = b->tx_compressed;
-       memcpy(v, &a, sizeof(a));
+       memcpy(v, b, sizeof(*b));
 }
 
 /* All VF info */