8021q: Use ether_addr_copy
authorJoe Perches <joe@perches.com>
Mon, 20 Jan 2014 17:52:14 +0000 (09:52 -0800)
committerDavid S. Miller <davem@davemloft.net>
Wed, 22 Jan 2014 02:13:04 +0000 (18:13 -0800)
Use ether_addr_copy instead of memcpy(a, b, ETH_ALEN) to
save some cycles on arm and powerpc.

Signed-off-by: Joe Perches <joe@perches.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/8021q/vlan.c
net/8021q/vlan_dev.c

index b3d17d1..ec99099 100644 (file)
@@ -301,7 +301,7 @@ static void vlan_sync_address(struct net_device *dev,
            !ether_addr_equal(vlandev->dev_addr, dev->dev_addr))
                dev_uc_add(dev, vlandev->dev_addr);
 
-       memcpy(vlan->real_dev_addr, dev->dev_addr, ETH_ALEN);
+       ether_addr_copy(vlan->real_dev_addr, dev->dev_addr);
 }
 
 static void vlan_transfer_features(struct net_device *dev,
index 47c908f..de51c48 100644 (file)
@@ -61,7 +61,7 @@ static int vlan_dev_rebuild_header(struct sk_buff *skb)
                pr_debug("%s: unable to resolve type %X addresses\n",
                         dev->name, ntohs(veth->h_vlan_encapsulated_proto));
 
-               memcpy(veth->h_source, dev->dev_addr, ETH_ALEN);
+               ether_addr_copy(veth->h_source, dev->dev_addr);
                break;
        }
 
@@ -303,7 +303,7 @@ static int vlan_dev_open(struct net_device *dev)
                        goto clear_allmulti;
        }
 
-       memcpy(vlan->real_dev_addr, real_dev->dev_addr, ETH_ALEN);
+       ether_addr_copy(vlan->real_dev_addr, real_dev->dev_addr);
 
        if (vlan->flags & VLAN_FLAG_GVRP)
                vlan_gvrp_request_join(dev);
@@ -367,7 +367,7 @@ static int vlan_dev_set_mac_address(struct net_device *dev, void *p)
                dev_uc_del(real_dev, dev->dev_addr);
 
 out:
-       memcpy(dev->dev_addr, addr->sa_data, ETH_ALEN);
+       ether_addr_copy(dev->dev_addr, addr->sa_data);
        return 0;
 }