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>
This commit is contained in:
@ -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;
|
||||
};
|
||||
|
||||
|
Reference in New Issue
Block a user