[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <1377250513-3662-2-git-send-email-bjorn@mork.no>
Date: Fri, 23 Aug 2013 11:35:04 +0200
From: Bjørn Mork <bjorn@...k.no>
To: netdev@...r.kernel.org
Cc: Bjørn Mork <bjorn@...k.no>
Subject: [PATCH net-next 01/10] 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 <bjorn@...k.no>
---
include/linux/etherdevice.h | 19 +++++++++++++++++++
1 file changed, 19 insertions(+)
diff --git a/include/linux/etherdevice.h b/include/linux/etherdevice.h
index c623861..49b6695 100644
--- a/include/linux/etherdevice.h
+++ b/include/linux/etherdevice.h
@@ -199,6 +199,25 @@ 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 addr_assign_type.
+ */
+static inline int eth_hw_addr_inherit(struct net_device *dst,
+ struct net_device *src)
+{
+ if (dst->addr_len != src->addr_len)
+ return -EINVAL;
+
+ dst->addr_assign_type = src->addr_assign_type;
+ memcpy(dst->dev_addr, src->dev_addr, dst->addr_len);
+ return 0;
+}
+
+/**
* 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
--
1.7.10.4
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists