compat: Added headers and macros to support RHEL7.0
[compat-rdma/compat.git] / include / linux / etherdevice.h
1 #ifndef LINUX_ETHERDEVICE_H
2 #define LINUX_ETHERDEVICE_H
3
4 #include "../../compat/config.h"
5
6 #include_next <linux/etherdevice.h>
7
8 #ifndef HAVE_ETHER_ADDR_COPY
9 /**
10  * ether_addr_copy - Copy an Ethernet address
11  * @dst: Pointer to a six-byte array Ethernet address destination
12  * @src: Pointer to a six-byte array Ethernet address source
13  *
14  * Please note: dst & src must both be aligned to u16.
15  */
16 static inline void ether_addr_copy(u8 *dst, const u8 *src)
17 {
18 #if defined(CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS)
19         *(u32 *)dst = *(const u32 *)src;
20         *(u16 *)(dst + 4) = *(const u16 *)(src + 4);
21 #else
22         u16 *a = (u16 *)dst;
23         const u16 *b = (const u16 *)src;
24
25         a[0] = b[0];
26         a[1] = b[1];
27         a[2] = b[2];
28 #endif
29 }
30 #endif /* HAVE_ETHER_ADDR_COPY*/
31
32 #endif /* LINUX_ETHERDEVICE_H */