[rds-devel] Detecting RDS version and zero copy RDMA capabilities of RDS transport for a destination

Richard Frank richard.frank at oracle.com
Wed Nov 14 09:19:11 PST 2007


Applications can use the rds_version() interface which returns a version 
constant.

enum {
RDS_V1 = 1,    /* to be deprecated */
RDS_V2 = 2,    /* cancel interface, etc */
RDS_V3 = 3,    /* zero copy "rdma" interfaces, etc */
RDS_V4 = 4     /* rolling upgrades, platform interoperability, etc */
}

RDS version 3 provides zero copy rdma interfaces.

However, whether zero copy rdma operations are available at run time is 
dependent on capabilities of the RDS transport unpinning the destination 
of the zero copy operation.

Currently, zero copy rdma operations are only activated when using the 
RDS IB transport.

We expect  to add support for IWARP transports too.

Applications can test at run time if zero copy rdma operations are 
supported by invoking the zero copy interfaces. If the transport 
underpinning the destination of the zero copy operation does not support 
zero copy  then "not supported" is returned.




More information about the rds-devel mailing list