RE: [PATCH] sunrpc: copy scope ID in __rpc_copy_addr6

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> -----Original Message-----
> From: Jeff Layton [mailto:jlayton@xxxxxxxxxx]
> Sent: Monday, February 04, 2013 9:42 AM
> To: Myklebust, Trond
> Cc: bfields@xxxxxxxxxxxx; linux-nfs@xxxxxxxxxxxxxxx; chuck.lever@xxxxxxxxxx
> Subject: Re: [PATCH] sunrpc: copy scope ID in __rpc_copy_addr6
> 
> On Mon, 4 Feb 2013 14:22:47 +0000
> "Myklebust, Trond" <Trond.Myklebust@xxxxxxxxxx> wrote:
> 
> > > -----Original Message-----
> > > From: linux-nfs-owner@xxxxxxxxxxxxxxx [mailto:linux-nfs-
> > > owner@xxxxxxxxxxxxxxx] On Behalf Of Jeff Layton
> > > Sent: Monday, February 04, 2013 8:10 AM
> > > To: bfields@xxxxxxxxxxxx
> > > Cc: linux-nfs@xxxxxxxxxxxxxxx; chuck.lever@xxxxxxxxxx
> > > Subject: [PATCH] sunrpc: copy scope ID in __rpc_copy_addr6
> > >
> > > When copying an address, we should also copy the scopeid in the
> > > event that this is a link-local address and the scope matters.
> > >
> > > Signed-off-by: Jeff Layton <jlayton@xxxxxxxxxx>
> > > ---
> > >  include/linux/sunrpc/clnt.h | 1 +
> > >  1 file changed, 1 insertion(+)
> > >
> > > diff --git a/include/linux/sunrpc/clnt.h
> > > b/include/linux/sunrpc/clnt.h index
> > > 47354a2..6a7c261 100644
> > > --- a/include/linux/sunrpc/clnt.h
> > > +++ b/include/linux/sunrpc/clnt.h
> > > @@ -242,6 +242,7 @@ static inline bool __rpc_copy_addr6(struct
> > > sockaddr *dst,
> > >
> > >  	dsin6->sin6_family = ssin6->sin6_family;
> > >  	dsin6->sin6_addr = ssin6->sin6_addr;
> > > +	dsin6->sin6_scope_id = ssin6->sin6_scope_id;
> > >  	return true;
> > >  }
> > >  #else	/* !(IS_ENABLED(CONFIG_IPV6) */
> > > --
> >
> >
> > Can we please move these helpers into a separate header, say
> include/Linux/sunrpc/inet.h?
> >
> 
> Yes, that's long overdue. I'll spin up a patch on top of this one to do that. I'd
> suggest that we call it "addr.h" to keep it in parity with the "addr.c" file that's
> in the sunrpc directory, since we'll need to move the prototypes for those
> functions as well.
> 
> > Oh... Also note that you probably want to apply the above scopeid to the
> NFSv4 callback address that is supplied by the client in the setclientid call.
> >
> 
> I'm not clear on what you mean here. This patch should make it so that the
> server keeps the correct scopeid along with the cb address that it tracks for a
> client (something that I don't think it does properly today).
> 
I mean that the NFSv4 client supplies an address in "universal address" format (i.e. a string) as part of the setclientid call. If that address is a link-local address, then it won't contain a scopeid ('cos the scopeid is an identifier that is local to the _server_). In that case the server should apply the scopeid from the nfs4_clientid in the gen_callback() helper.

Cheers
  Trond

--
To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Filesystem Development]     [Linux USB Development]     [Linux Media Development]     [Video for Linux]     [Linux NILFS]     [Linux Audio Users]     [Yosemite Info]     [Linux SCSI]

  Powered by Linux