Lines Matching refs:gid
154 union ib_gid *gid)
156 memcpy(gid, dev_addr->broadcast + 4, sizeof *gid);
175 static inline int rdma_ip2gid(const struct sockaddr *addr, union ib_gid *gid)
181 (struct in6_addr *)gid);
184 memcpy(gid->raw, &((const struct sockaddr_in6 *)addr)->sin6_addr, 16);
186 if (IN6_IS_SCOPE_LINKLOCAL((struct in6_addr *)gid->raw) ||
187 IN6_IS_ADDR_MC_INTFACELOCAL((struct in6_addr *)gid->raw)) {
188 gid->raw[2] = 0;
189 gid->raw[3] = 0;
199 static inline void rdma_gid2ip(struct sockaddr *out, const union ib_gid *gid)
201 if (ipv6_addr_v4mapped((const struct in6_addr *)gid)) {
206 memcpy(&out_in->sin_addr.s_addr, gid->raw + 12, 4);
212 memcpy(&out_in->sin6_addr.s6_addr, gid->raw, 16);
217 union ib_gid *gid)
234 (struct in6_addr *)gid);
241 static inline void rdma_addr_get_sgid(struct rdma_dev_addr *dev_addr, union ib_gid *gid)
245 iboe_addr_get_sgid(dev_addr, gid);
247 memcpy(gid, dev_addr->src_dev_addr +
248 rdma_addr_gid_offset(dev_addr), sizeof *gid);
251 static inline void rdma_addr_set_sgid(struct rdma_dev_addr *dev_addr, union ib_gid *gid)
253 memcpy(dev_addr->src_dev_addr + rdma_addr_gid_offset(dev_addr), gid, sizeof *gid);
256 static inline void rdma_addr_get_dgid(struct rdma_dev_addr *dev_addr, union ib_gid *gid)
258 memcpy(gid, dev_addr->dst_dev_addr + rdma_addr_gid_offset(dev_addr), sizeof *gid);
261 static inline void rdma_addr_set_dgid(struct rdma_dev_addr *dev_addr, union ib_gid *gid)
263 memcpy(dev_addr->dst_dev_addr + rdma_addr_gid_offset(dev_addr), gid, sizeof *gid);