These four patches introduce the ability to mount NFS servers using a raw IPv6
address. This support requires the ability to handle colons in the passed-in
server hostname, and the ability to handle an IPv6 interface identifier in the
passed-in server hostname. This series adds both features.
IPv6 addresses contain colons. A colon is also used to separate the server
name from the export path. By enclosing an IPv6 address inside square
brackets, we effectively escape the colons in the IPv6 address and allow them
to pass unrecognized through the device name parser.
As an added bonus, I have also included the patch that changes
nfs_parse_server_address() to take a name length. This allows the passed-in
address string to have no '\0'-termination, which will help us support IPv6
addresses in NFSv4 referrals.
I posted this version of the second patch to [email protected] last week, but have heard
no objections. Please replace earlier versions of these patches with this set.
Chuck Lever (4):
NFS: handle interface identifiers in incoming IPv6 addresses
NFS: Add string length argument to nfs_parse_server_address
NFS: Support raw IPv6 address hostnames during NFS mount operation
NFS: Use common device name parsing logic for NFSv4 and NFSv2/v3
fs/nfs/super.c | 337 +++++++++++++++++++++++++++++++++++++++-----------
include/linux/inet.h | 7 +
2 files changed, 269 insertions(+), 75 deletions(-)
chu ckl eve rat ora cle dot com