It's smaller and faster for some architectures.
Signed-off-by: Joe Perches <joe@perches.com>
Reviewed-by: Ding Tianhong <dingtianhong@huawei.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
                ad_info->ports = aggregator->num_of_ports;
                ad_info->actor_key = aggregator->actor_oper_aggregator_key;
                ad_info->partner_key = aggregator->partner_oper_aggregator_key;
-               memcpy(ad_info->partner_system,
-                      aggregator->partner_system.mac_addr_value, ETH_ALEN);
+               ether_addr_copy(ad_info->partner_system,
+                               aggregator->partner_system.mac_addr_value);
                return 0;
        }
 
 
 
        if (tx_slave && SLAVE_IS_OK(tx_slave)) {
                if (tx_slave != rcu_dereference(bond->curr_active_slave)) {
-                       memcpy(eth_data->h_source,
-                              tx_slave->dev->dev_addr,
-                              ETH_ALEN);
+                       ether_addr_copy(eth_data->h_source,
+                                       tx_slave->dev->dev_addr);
                }
 
                bond_dev_queue_xmit(bond, skb, tx_slave->dev);
 
 
                if (old_active) {
                        ether_addr_copy(tmp_mac, new_active->dev->dev_addr);
-                       memcpy(saddr.sa_data, old_active->dev->dev_addr,
-                              ETH_ALEN);
+                       ether_addr_copy(saddr.sa_data,
+                                       old_active->dev->dev_addr);
                        saddr.sa_family = new_active->dev->type;
                } else {
                        ether_addr_copy(saddr.sa_data, bond->dev->dev_addr);
                        kfree_skb(skb);
                        return RX_HANDLER_CONSUMED;
                }
-               memcpy(eth_hdr(skb)->h_dest, bond->dev->dev_addr, ETH_ALEN);
+               ether_addr_copy(eth_hdr(skb)->h_dest, bond->dev->dev_addr);
        }
 
        return ret;