From: Bjørn Mork Date: Fri, 30 Aug 2013 16:08:44 +0000 (+0200) Subject: net: etherdevice: add address inherit helper X-Git-Tag: v3.12-rc1~132^2~88^2~8 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=83a093b486ecfd25e7b04b82f6a388f24bd274b2;p=platform%2Fkernel%2Flinux-exynos.git net: etherdevice: add address inherit helper Some etherdevices inherit their address from a parent or master device. The addr_assign_type should be updated along with the address in these cases. Adding a helper function to simplify this. Signed-off-by: Bjørn Mork Signed-off-by: David S. Miller --- diff --git a/include/linux/etherdevice.h b/include/linux/etherdevice.h index c623861..d8b5124 100644 --- a/include/linux/etherdevice.h +++ b/include/linux/etherdevice.h @@ -199,6 +199,21 @@ static inline void eth_hw_addr_random(struct net_device *dev) } /** + * eth_hw_addr_inherit - Copy dev_addr from another net_device + * @dst: pointer to net_device to copy dev_addr to + * @src: pointer to net_device to copy dev_addr from + * + * Copy the Ethernet address from one net_device to another along with + * the address attributes (addr_assign_type). + */ +static inline void eth_hw_addr_inherit(struct net_device *dst, + struct net_device *src) +{ + dst->addr_assign_type = src->addr_assign_type; + memcpy(dst->dev_addr, src->dev_addr, ETH_ALEN); +} + +/** * compare_ether_addr - Compare two Ethernet addresses * @addr1: Pointer to a six-byte array containing the Ethernet address * @addr2: Pointer other six-byte array containing the Ethernet address