diff options
author | Roland Dreier <rolandd@cisco.com> | 2008-08-04 11:02:14 -0700 |
---|---|---|
committer | Roland Dreier <rolandd@cisco.com> | 2008-08-04 11:02:14 -0700 |
commit | 3f44675439b136d51179d31eb5a498383cb38624 (patch) | |
tree | a3c9f6b6c0a2fd5cd948c8482242dc859e1ddfdf /include/rdma/rdma_cm.h | |
parent | 6e86841d05f371b5b9b86ce76c02aaee83352298 (diff) | |
download | blackbird-op-linux-3f44675439b136d51179d31eb5a498383cb38624.tar.gz blackbird-op-linux-3f44675439b136d51179d31eb5a498383cb38624.zip |
RDMA/cma: Remove padding arrays by using struct sockaddr_storage
There are a few places where the RDMA CM code handles IPv6 by doing
struct sockaddr addr;
u8 pad[sizeof(struct sockaddr_in6) -
sizeof(struct sockaddr)];
This is fragile and ugly; handle this in a better way with just
struct sockaddr_storage addr;
[ Also roll in patch from Aleksey Senin <alekseys@voltaire.com> to
switch to struct sockaddr_storage and get rid of padding arrays in
struct rdma_addr. ]
Signed-off-by: Roland Dreier <rolandd@cisco.com>
Diffstat (limited to 'include/rdma/rdma_cm.h')
-rw-r--r-- | include/rdma/rdma_cm.h | 8 |
1 files changed, 2 insertions, 6 deletions
diff --git a/include/rdma/rdma_cm.h b/include/rdma/rdma_cm.h index df7faf09d66f..c6b2962315b3 100644 --- a/include/rdma/rdma_cm.h +++ b/include/rdma/rdma_cm.h @@ -71,12 +71,8 @@ enum rdma_port_space { }; struct rdma_addr { - struct sockaddr src_addr; - u8 src_pad[sizeof(struct sockaddr_in6) - - sizeof(struct sockaddr)]; - struct sockaddr dst_addr; - u8 dst_pad[sizeof(struct sockaddr_in6) - - sizeof(struct sockaddr)]; + struct sockaddr_storage src_addr; + struct sockaddr_storage dst_addr; struct rdma_dev_addr dev_addr; }; |