Lines Matching refs:addr

94 int ipv6_chk_addr(struct net *net, const struct in6_addr *addr,
96 int ipv6_chk_addr_and_flags(struct net *net, const struct in6_addr *addr,
101 int ipv6_chk_home_addr(struct net *net, const struct in6_addr *addr);
107 bool ipv6_chk_custom_prefix(const struct in6_addr *addr,
111 int ipv6_chk_prefix(const struct in6_addr *addr, struct net_device *dev);
113 struct net_device *ipv6_dev_find(struct net *net, const struct in6_addr *addr,
117 const struct in6_addr *addr,
123 int ipv6_get_lladdr(struct net_device *dev, struct in6_addr *addr,
128 void addrconf_join_solict(struct net_device *dev, const struct in6_addr *addr);
129 void addrconf_leave_solict(struct inet6_dev *idev, const struct in6_addr *addr);
132 const struct in6_addr *addr, u32 flags);
137 const struct in6_addr *addr, int addr_type,
141 static inline void addrconf_addr_eui48_base(u8 *eui, const char *const addr)
143 memcpy(eui, addr, 3);
146 memcpy(eui + 5, addr + 3, 3);
149 static inline void addrconf_addr_eui48(u8 *eui, const char *const addr)
151 addrconf_addr_eui48_base(eui, addr);
214 u32 ipv6_addr_label(struct net *net, const struct in6_addr *addr,
230 const struct in6_addr *addr);
232 const struct in6_addr *addr);
238 int ipv6_dev_mc_inc(struct net_device *dev, const struct in6_addr *addr);
239 int __ipv6_dev_mc_dec(struct inet6_dev *idev, const struct in6_addr *addr);
240 int ipv6_dev_mc_dec(struct net_device *dev, const struct in6_addr *addr);
287 const struct in6_addr *addr);
289 const struct in6_addr *addr);
293 int __ipv6_dev_ac_inc(struct inet6_dev *idev, const struct in6_addr *addr);
294 int __ipv6_dev_ac_dec(struct inet6_dev *idev, const struct in6_addr *addr);
297 const struct in6_addr *addr);
299 const struct in6_addr *addr);
450 static inline void addrconf_addr_solict_mult(const struct in6_addr *addr,
456 htonl(0xFF000000) | addr->s6_addr32[3]);
459 static inline bool ipv6_addr_is_ll_all_nodes(const struct in6_addr *addr)
462 __be64 *p = (__force __be64 *)addr;
465 return ((addr->s6_addr32[0] ^ htonl(0xff020000)) |
466 addr->s6_addr32[1] | addr->s6_addr32[2] |
467 (addr->s6_addr32[3] ^ htonl(0x00000001))) == 0;
471 static inline bool ipv6_addr_is_ll_all_routers(const struct in6_addr *addr)
474 __be64 *p = (__force __be64 *)addr;
477 return ((addr->s6_addr32[0] ^ htonl(0xff020000)) |
478 addr->s6_addr32[1] | addr->s6_addr32[2] |
479 (addr->s6_addr32[3] ^ htonl(0x00000002))) == 0;
483 static inline bool ipv6_addr_is_isatap(const struct in6_addr *addr)
485 return (addr->s6_addr32[2] | htonl(0x02000000)) == htonl(0x02005EFE);
488 static inline bool ipv6_addr_is_solict_mult(const struct in6_addr *addr)
491 __be64 *p = (__force __be64 *)addr;
496 return ((addr->s6_addr32[0] ^ htonl(0xff020000)) |
497 addr->s6_addr32[1] |
498 (addr->s6_addr32[2] ^ htonl(0x00000001)) |
499 (addr->s6_addr[12] ^ 0xff)) == 0;
503 static inline bool ipv6_addr_is_all_snoopers(const struct in6_addr *addr)
506 __be64 *p = (__force __be64 *)addr;
511 return ((addr->s6_addr32[0] ^ htonl(0xff020000)) |
512 addr->s6_addr32[1] | addr->s6_addr32[2] |
513 (addr->s6_addr32[3] ^ htonl(0x0000006a))) == 0;