Lines Matching refs:eui
140 static int ipv6_generate_eui64(u8 *eui, struct net_device *dev);
2217 static int addrconf_ifid_6lowpan(u8 *eui, struct net_device *dev)
2221 memcpy(eui, dev->dev_addr, 3);
2222 eui[3] = 0xFF;
2223 eui[4] = 0xFE;
2224 memcpy(eui + 5, dev->dev_addr + 3, 3);
2227 memcpy(eui, dev->dev_addr, EUI64_ADDR_LEN);
2228 eui[0] ^= 2;
2237 static int addrconf_ifid_ieee1394(u8 *eui, struct net_device *dev)
2246 memcpy(eui, &ha->uc.uniq_id, sizeof(ha->uc.uniq_id));
2247 eui[0] ^= 2;
2251 static int addrconf_ifid_arcnet(u8 *eui, struct net_device *dev)
2256 memset(eui, 0, 7);
2257 eui[7] = *(u8 *)dev->dev_addr;
2261 static int addrconf_ifid_infiniband(u8 *eui, struct net_device *dev)
2265 memcpy(eui, dev->dev_addr + 12, 8);
2266 eui[0] |= 2;
2270 static int __ipv6_isatap_ifid(u8 *eui, __be32 addr)
2274 eui[0] = (ipv4_is_zeronet(addr) || ipv4_is_private_10(addr) ||
2280 eui[1] = 0;
2281 eui[2] = 0x5E;
2282 eui[3] = 0xFE;
2283 memcpy(eui + 4, &addr, 4);
2287 static int addrconf_ifid_sit(u8 *eui, struct net_device *dev)
2290 return __ipv6_isatap_ifid(eui, *(__be32 *)dev->dev_addr);
2294 static int addrconf_ifid_gre(u8 *eui, struct net_device *dev)
2296 return __ipv6_isatap_ifid(eui, *(__be32 *)dev->dev_addr);
2299 static int addrconf_ifid_ip6tnl(u8 *eui, struct net_device *dev)
2301 memcpy(eui, dev->perm_addr, 3);
2302 memcpy(eui + 5, dev->perm_addr + 3, 3);
2303 eui[3] = 0xFF;
2304 eui[4] = 0xFE;
2305 eui[0] ^= 2;
2309 static int ipv6_generate_eui64(u8 *eui, struct net_device *dev)
2314 return addrconf_ifid_eui48(eui, dev);
2316 return addrconf_ifid_arcnet(eui, dev);
2318 return addrconf_ifid_infiniband(eui, dev);
2320 return addrconf_ifid_sit(eui, dev);
2323 return addrconf_ifid_gre(eui, dev);
2325 return addrconf_ifid_6lowpan(eui, dev);
2327 return addrconf_ifid_ieee1394(eui, dev);
2331 return addrconf_ifid_ip6tnl(eui, dev);
2336 static int ipv6_inherit_eui64(u8 *eui, struct inet6_dev *idev)
2346 memcpy(eui, ifp->addr.s6_addr+8, 8);