]> www.infradead.org Git - users/jedix/linux-maple.git/commit
{IB/{core,ipoib},net/rds}: IPv6 support for ACL
authorKa-Cheong Poon <ka-cheong.poon@oracle.com>
Tue, 24 Oct 2017 14:59:30 +0000 (07:59 -0700)
committerChuck Anderson <chuck.anderson@oracle.com>
Mon, 11 Dec 2017 04:20:22 +0000 (20:20 -0800)
commite95a33b73fc3f8cdbd4edde7126a59b594db0e34
treedb5a30fd7d9d6fd6c2492de38db264d0126c0a6b
parent160bb966577428612461b710095138eedbd8e9be
{IB/{core,ipoib},net/rds}: IPv6 support for ACL

The IB ACL components are extended to support IPv6 address.  Some
of the ACL ioctls use a 32 bit integer to represent an IP address.  To
support IPv6, struct in6_addr needs to be used. To ensure backward
compatibility, a new ioctl will be introduced for each of those ioctls
that take a 32 bit integer as address. The original ioctls are kept
and can still be used. The new ioctls can take IPv4 mapped IPv6
address so new apps only need to use the new ioctls.

The IPOIBACLNGET and IPOIBACLNADD commands re-use the same
ipoib_ioctl_req_data, except that the ips field should actually be a
pointer to a list of struct in6_addr.  Here we assume that the pointer
size to an u32 and in6_addr are the same.

Orabug: 25410192

Signed-off-by: Ka-Cheong Poon <ka-cheong.poon@oracle.com>
Reviewed-by: Yuval Shaia <yuval.shaia@oracle.com>
Reviewed-by: HÃ¥kon Bugge <haakon.bugge@oracle.com>
drivers/infiniband/core/cm.c
drivers/infiniband/ulp/ipoib/ipoib.h
drivers/infiniband/ulp/ipoib/ipoib_ioctl.c
include/rdma/ib_cm.h
net/rds/ib_cm.c