nfsd: populate sin6_scope_id on callback address with scopeid from rq_addr on SETCLIE...
authorJeff Layton <jlayton@redhat.com>
Fri, 14 Aug 2009 16:57:59 +0000 (12:57 -0400)
committerJ. Bruce Fields <bfields@citi.umich.edu>
Fri, 21 Aug 2009 15:27:44 +0000 (11:27 -0400)
commitfbf4665f41b02e757ab9d9198df65e319388e728
treeec0b8b4f3809ee38088504bf51440ee12f501085
parent7077ecbabd626cce1fcf5cc9766c83ec04d919f9
nfsd: populate sin6_scope_id on callback address with scopeid from rq_addr on SETCLIENTID call

When a SETCLIENTID call comes in, one of the args given is the svc_rqst.
This struct contains an rq_addr field which holds the address that sent
the call. If this is an IPv6 address, then we can use the sin6_scope_id
field in this address to populate the sin6_scope_id field in the
callback address.

AFAICT, the rq_addr.sin6_scope_id is non-zero if and only if the client
mounted the server's link-local address.

Signed-off-by: Jeff Layton <jlayton@redhat.com>
Acked-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
fs/nfsd/nfs4state.c
include/linux/sunrpc/clnt.h