Message ID | 1244642412-24435-1-git-send-email-jlayton@redhat.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
diff --git a/client/mount.cifs.c b/client/mount.cifs.c index 97144a0..840e4ae 100644 --- a/client/mount.cifs.c +++ b/client/mount.cifs.c @@ -1562,6 +1562,14 @@ mount_retry: } } + if (addr->ai_addr->sa_family == AF_INET6 && addr6->sin6_scope_id) { + strlcat(options, ",v6scope=", options_size); + current_len = strnlen(options, options_size); + optionstail = options + current_len; + snprintf(optionstail, options_size - current_len, "%u", + addr6->sin6_scope_id); + } + if (!fakemnt && mount(dev_name, mountpoint, "cifs", flags, options)) { switch (errno) { case ECONNREFUSED:
When getaddrinfo returns an IPv6 address with a non-zero scope_id, send that to the kernel in the new ip6scope mount option. This allows people to mount servers via their link-local IPv6 addresses (assuming the kernel supports this option, of course). Signed-off-by: Jeff Layton <jlayton@redhat.com> --- client/mount.cifs.c | 8 ++++++++ 1 files changed, 8 insertions(+), 0 deletions(-)