Lines Matching refs:gid
167 union ib_gid *gid)
169 memcpy(gid, dev_addr->broadcast + 4, sizeof *gid);
188 static inline int rdma_ip2gid(const struct sockaddr *addr, union ib_gid *gid)
194 (struct in6_addr *)gid);
197 memcpy(gid->raw, &((const struct sockaddr_in6 *)addr)->sin6_addr, 16);
199 if (IN6_IS_SCOPE_LINKLOCAL((struct in6_addr *)gid->raw) ||
200 IN6_IS_ADDR_MC_INTFACELOCAL((struct in6_addr *)gid->raw)) {
201 gid->raw[2] = 0;
202 gid->raw[3] = 0;
212 static inline void rdma_gid2ip(struct sockaddr *out, const union ib_gid *gid)
214 if (ipv6_addr_v4mapped((const struct in6_addr *)gid)) {
219 memcpy(&out_in->sin_addr.s_addr, gid->raw + 12, 4);
225 memcpy(&out_in->sin6_addr.s6_addr, gid->raw, 16);
239 union ib_gid *gid)
250 _iboe_addr_get_sgid_ia_cb, gid);
255 static inline void rdma_addr_get_sgid(struct rdma_dev_addr *dev_addr, union ib_gid *gid)
259 iboe_addr_get_sgid(dev_addr, gid);
261 memcpy(gid, dev_addr->src_dev_addr +
262 rdma_addr_gid_offset(dev_addr), sizeof *gid);
265 static inline void rdma_addr_set_sgid(struct rdma_dev_addr *dev_addr, union ib_gid *gid)
267 memcpy(dev_addr->src_dev_addr + rdma_addr_gid_offset(dev_addr), gid, sizeof *gid);
270 static inline void rdma_addr_get_dgid(struct rdma_dev_addr *dev_addr, union ib_gid *gid)
272 memcpy(gid, dev_addr->dst_dev_addr + rdma_addr_gid_offset(dev_addr), sizeof *gid);
275 static inline void rdma_addr_set_dgid(struct rdma_dev_addr *dev_addr, union ib_gid *gid)
277 memcpy(dev_addr->dst_dev_addr + rdma_addr_gid_offset(dev_addr), gid, sizeof *gid);