Lines Matching refs:eui
141 static int ipv6_generate_eui64(u8 *eui, struct net_device *dev);
2245 static int addrconf_ifid_6lowpan(u8 *eui, struct net_device *dev)
2249 memcpy(eui, dev->dev_addr, 3);
2250 eui[3] = 0xFF;
2251 eui[4] = 0xFE;
2252 memcpy(eui + 5, dev->dev_addr + 3, 3);
2255 memcpy(eui, dev->dev_addr, EUI64_ADDR_LEN);
2256 eui[0] ^= 2;
2265 static int addrconf_ifid_ieee1394(u8 *eui, struct net_device *dev)
2274 memcpy(eui, &ha->uc.uniq_id, sizeof(ha->uc.uniq_id));
2275 eui[0] ^= 2;
2279 static int addrconf_ifid_arcnet(u8 *eui, struct net_device *dev)
2284 memset(eui, 0, 7);
2285 eui[7] = *(u8 *)dev->dev_addr;
2289 static int addrconf_ifid_infiniband(u8 *eui, struct net_device *dev)
2293 memcpy(eui, dev->dev_addr + 12, 8);
2294 eui[0] |= 2;
2298 static int __ipv6_isatap_ifid(u8 *eui, __be32 addr)
2302 eui[0] = (ipv4_is_zeronet(addr) || ipv4_is_private_10(addr) ||
2308 eui[1] = 0;
2309 eui[2] = 0x5E;
2310 eui[3] = 0xFE;
2311 memcpy(eui + 4, &addr, 4);
2315 static int addrconf_ifid_sit(u8 *eui, struct net_device *dev)
2318 return __ipv6_isatap_ifid(eui, *(__be32 *)dev->dev_addr);
2322 static int addrconf_ifid_gre(u8 *eui, struct net_device *dev)
2324 return __ipv6_isatap_ifid(eui, *(__be32 *)dev->dev_addr);
2327 static int addrconf_ifid_ip6tnl(u8 *eui, struct net_device *dev)
2329 memcpy(eui, dev->perm_addr, 3);
2330 memcpy(eui + 5, dev->perm_addr + 3, 3);
2331 eui[3] = 0xFF;
2332 eui[4] = 0xFE;
2333 eui[0] ^= 2;
2337 static int ipv6_generate_eui64(u8 *eui, struct net_device *dev)
2342 return addrconf_ifid_eui48(eui, dev);
2344 return addrconf_ifid_arcnet(eui, dev);
2346 return addrconf_ifid_infiniband(eui, dev);
2348 return addrconf_ifid_sit(eui, dev);
2351 return addrconf_ifid_gre(eui, dev);
2353 return addrconf_ifid_6lowpan(eui, dev);
2355 return addrconf_ifid_ieee1394(eui, dev);
2359 return addrconf_ifid_ip6tnl(eui, dev);
2364 static int ipv6_inherit_eui64(u8 *eui, struct inet6_dev *idev)
2374 memcpy(eui, ifp->addr.s6_addr+8, 8);