Hi, 2018-07-13 20:02 GMT+09:00 Ka-Cheong Poon <ka-cheong.p...@oracle.com>: > There are many data structures (RDS socket options) used by RDS apps > which use a 32 bit integer to store IP address. To support IPv6, > struct in6_addr needs to be used. To ensure backward compatibility, a > new data structure is introduced for each of those data structures > which use a 32 bit integer to represent an IP address. And new socket > options are introduced to use those new structures. This means that > existing apps should work without a problem with the new RDS module. > For apps which want to use IPv6, those new data structures and socket > options can be used. IPv4 mapped address is used to represent IPv4 > address in the new data structures.
This seems to break old applications compiled with old header, no? > > Signed-off-by: Ka-Cheong Poon <ka-cheong.p...@oracle.com> > --- > include/uapi/linux/rds.h | 71 +++++++++++++++++++++++++++++++-- > net/rds/connection.c | 101 > +++++++++++++++++++++++++++++++++++++++++++---- > net/rds/ib.c | 52 ++++++++++++++++++++++++ > net/rds/ib_mr.h | 2 + > net/rds/ib_rdma.c | 11 +++++- > net/rds/recv.c | 25 ++++++++++++ > net/rds/tcp.c | 44 +++++++++++++++++++++ > 7 files changed, 294 insertions(+), 12 deletions(-) > > diff --git a/include/uapi/linux/rds.h b/include/uapi/linux/rds.h > index 20c6bd0..518d40f 100644 > --- a/include/uapi/linux/rds.h > +++ b/include/uapi/linux/rds.h > @@ -1,6 +1,6 @@ > /* SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR > Linux-OpenIB) */ > /* > - * Copyright (c) 2008 Oracle. All rights reserved. > + * Copyright (c) 2008, 2018 Oracle and/or its affiliates. All rights > reserved. > * > * This software is available to you under a choice of one of two > * licenses. You may choose to be licensed under the terms of the GNU > @@ -52,7 +52,7 @@ > #define RDS_RECVERR 5 > #define RDS_CONG_MONITOR 6 > #define RDS_GET_MR_FOR_DEST 7 > -#define SO_RDS_TRANSPORT 8 > +#define SO_RDS_TRANSPORT 9