From: Ian Kent <ikent-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
To: Chuck Lever <chucklever-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
Cc: Steve Dickson <SteveD-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>,
autofs mailing list
<autofs-CPWUtch7KCBzeIdxy0IIJw@public.gmane.org>,
Linux NFS Mailing List
<linux-nfs-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
Libtirpc Devel List
<libtirpc-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org>
Subject: Re: [Libtirpc-devel] [PATCH] Autofs configure fails to detect IPv6 when libtirpc is enabled
Date: Wed, 27 Jul 2011 11:13:12 +0800 [thread overview]
Message-ID: <1311736392.3473.22.camel@perseus.themaw.net> (raw)
In-Reply-To: <1311734445.3473.19.camel-jgopVnDzZD88qxobedHYj6xOck334EZe@public.gmane.org>
On Wed, 2011-07-27 at 10:40 +0800, Ian Kent wrote:
> On Tue, 2011-07-26 at 22:09 -0400, Chuck Lever wrote:
> > On Jul 26, 2011, at 9:23 PM, Ian Kent wrote:
> >
> > > On Wed, 2011-07-27 at 08:57 +0800, Ian Kent wrote:
> > >> On Tue, 2011-07-26 at 17:13 -0400, Steve Dickson wrote:
> > >>>
> > >>> On 07/26/2011 10:50 AM, Chuck Lever wrote:
> > >>>>
> > >>>> On Jul 26, 2011, at 2:29 PM, Steve Dickson wrote:
> > >>>>
> > >>>>> From: Ian Kent <raven-PKsaG3nR2I+sTnJN9+BGXg@public.gmane.org>
> > >>>>>
> > >>>>> The IPv6 client functions clntudp6_bufcreate(), clntudp6_create and
> > >>>>> clnttcp6_create and the server functions svcudp6_bufcreate(),
> > >>>>> svctcp6_create() and svcudp6_create() are not included in the library
> > >>>>> whe libtirpc is built.
> > >>>>
> > >>>> Are these part of the libtirpc standard API? I'm not sure why we would need them if, say, Solaris does not support these.
> > >>> It appears they are not since they are not mentioned the man pages.....
> > >>> But, at least in the autofs code, they are expected
> > >>> https://bugzilla.redhat.com/show_bug.cgi?id=711956#c0
> > >>>
> > >>> Ian, where else are these routines defined?
> > >>
> > >> Now that I look I can't find the original source tar that was used for
> > >> libtirpc, thought I had it.
> > >
> > > Found what I had.
> > >
> > > AFAICT what I think was the original source doesn't have any IPv6 code
> > > that I can see.
> > >
> > > Worse, these functions were excluded with the "#ifdef INET6_NOT_USED"
> > > macro as far back as libtirpc version 0.1.5 so, my bad, sorry.
> > >
> > >>
> > >> The story is that long ago when I changed autofs to use libtirpc (to
> > >> make it ready for IPv6) I found these functions in the source and they
> > >> were (obviously) the IPv6 counterparts for the corresponding IPv4
> > >> functions which I was already using, so I used them. It took me quite a
> > >> while to realize my code wasn't working and then I found that somewhere
> > >> along the line they have been excluded, oops!
> > >>
> > >> If there are to be no IPv6 counterparts for the corresponding IPv4
> > >> functions which functions should I use then?
> > >
> > > So what can I use?
> > >
> > > It seems to me that these functions would be useful for people porting
> > > code that uses the corresponding IPv4 functions so could we define them
> > > please. At some point someone must have had that same idea ....
> >
> > It looks to me like these functions were part of an original attempt
> > at IPv6 support that was abandoned long ago. They are not part of
> > TI-RPC, but as you observed, they are merely IPv6 versions of the
> > legacy RPC API. I don't see these implemented in glibc, for example.
> >
> > For IPv6 support, use functions that are part of the modern libtirpc
> > API. This is described in Sun doc 816-1435. You probably will be
> > most successful with the "simplified interface" which is described in
> > Chapter 4. You might need somewhat more extensive surgery since I'm
> > guessing you have separate code paths to invoke the IPv4 and IPv6
> > legacy RPC functions; generally speaking that should not be needed
> > when using the libtirpc API.
>
> I doubt the simplified interface will be adequate since this code was
> written because of a need for greater control over timeouts. Perhaps
> that won't be the case, I don't know yet.
>
> Your suggestion amounts to saying I need to re-write all my RPC code.
That comment is a bit dramatic, sorry.
Actually I should be able to replace these calls with the contents of
the functions as they are in libtirpc without too much trouble.
>
> >
> >
> >
> > >
> > >>
> > >>>
> > >>> steved
> > >>>
> > >>>>
> > >>>>> Signed-off-by: Steve Dickson <steved-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
> > >>>>> ---
> > >>>>> src/rpc_soc.c | 4 ++--
> > >>>>> 1 files changed, 2 insertions(+), 2 deletions(-)
> > >>>>>
> > >>>>> diff --git a/src/rpc_soc.c b/src/rpc_soc.c
> > >>>>> index c678429..584ac71 100644
> > >>>>> --- a/src/rpc_soc.c
> > >>>>> +++ b/src/rpc_soc.c
> > >>>>> @@ -236,7 +236,7 @@ clnttcp_create(raddr, prog, vers, sockp, sendsz, recvsz)
> > >>>>>
> > >>>>> /* IPv6 version of clnt*_*create */
> > >>>>>
> > >>>>> -#ifdef INET6_NOT_USED
> > >>>>> +#ifdef INET6
> > >>>>>
> > >>>>> CLIENT *
> > >>>>> clntudp6_bufcreate(raddr, prog, vers, wait, sockp, sendsz, recvsz)
> > >>>>> @@ -392,7 +392,7 @@ svcraw_create()
> > >>>>>
> > >>>>>
> > >>>>> /* IPV6 version */
> > >>>>> -#ifdef INET6_NOT_USED
> > >>>>> +#ifdef INET6
> > >>>>> SVCXPRT *
> > >>>>> svcudp6_bufcreate(fd, sendsz, recvsz)
> > >>>>> int fd;
> > >>>>> --
> > >>>>> 1.7.6
> > >>>>>
> > >>>>>
> > >>>>> ------------------------------------------------------------------------------
> > >>>>> Magic Quadrant for Content-Aware Data Loss Prevention
> > >>>>> Research study explores the data loss prevention market. Includes in-depth
> > >>>>> analysis on the changes within the DLP market, and the criteria used to
> > >>>>> evaluate the strengths and weaknesses of these DLP solutions.
> > >>>>> http://www.accelacomm.com/jaw/sfnl/114/51385063/
> > >>>>> _______________________________________________
> > >>>>> Libtirpc-devel mailing list
> > >>>>> Libtirpc-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org
> > >>>>> https://lists.sourceforge.net/lists/listinfo/libtirpc-devel
> > >>>>
> > >>>
> > >>> ------------------------------------------------------------------------------
> > >>> Got Input? Slashdot Needs You.
> > >>> Take our quick survey online. Come on, we don't ask for help often.
> > >>> Plus, you'll get a chance to win $100 to spend on ThinkGeek.
> > >>> http://p.sf.net/sfu/slashdot-survey
> > >>> _______________________________________________
> > >>> Libtirpc-devel mailing list
> > >>> Libtirpc-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org
> > >>> https://lists.sourceforge.net/lists/listinfo/libtirpc-devel
> > >>
> > >
> > >
> > > --
> > > To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
> > > the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
> > > More majordomo info at http://vger.kernel.org/majordomo-info.html
> >
>
--
To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
WARNING: multiple messages have this Message-ID (diff)
From: Ian Kent <ikent@redhat.com>
To: Chuck Lever <chucklever@gmail.com>
Cc: Steve Dickson <SteveD@redhat.com>,
autofs mailing list <autofs@linux.kernel.org>,
Linux NFS Mailing List <linux-nfs@vger.kernel.org>,
Libtirpc Devel List <libtirpc-devel@lists.sourceforge.net>
Subject: Re: [Libtirpc-devel] [PATCH] Autofs configure fails to detect IPv6 when libtirpc is enabled
Date: Wed, 27 Jul 2011 11:13:12 +0800 [thread overview]
Message-ID: <1311736392.3473.22.camel@perseus.themaw.net> (raw)
In-Reply-To: <1311734445.3473.19.camel@perseus.themaw.net>
On Wed, 2011-07-27 at 10:40 +0800, Ian Kent wrote:
> On Tue, 2011-07-26 at 22:09 -0400, Chuck Lever wrote:
> > On Jul 26, 2011, at 9:23 PM, Ian Kent wrote:
> >
> > > On Wed, 2011-07-27 at 08:57 +0800, Ian Kent wrote:
> > >> On Tue, 2011-07-26 at 17:13 -0400, Steve Dickson wrote:
> > >>>
> > >>> On 07/26/2011 10:50 AM, Chuck Lever wrote:
> > >>>>
> > >>>> On Jul 26, 2011, at 2:29 PM, Steve Dickson wrote:
> > >>>>
> > >>>>> From: Ian Kent <raven@themaw.net>
> > >>>>>
> > >>>>> The IPv6 client functions clntudp6_bufcreate(), clntudp6_create and
> > >>>>> clnttcp6_create and the server functions svcudp6_bufcreate(),
> > >>>>> svctcp6_create() and svcudp6_create() are not included in the library
> > >>>>> whe libtirpc is built.
> > >>>>
> > >>>> Are these part of the libtirpc standard API? I'm not sure why we would need them if, say, Solaris does not support these.
> > >>> It appears they are not since they are not mentioned the man pages.....
> > >>> But, at least in the autofs code, they are expected
> > >>> https://bugzilla.redhat.com/show_bug.cgi?id=711956#c0
> > >>>
> > >>> Ian, where else are these routines defined?
> > >>
> > >> Now that I look I can't find the original source tar that was used for
> > >> libtirpc, thought I had it.
> > >
> > > Found what I had.
> > >
> > > AFAICT what I think was the original source doesn't have any IPv6 code
> > > that I can see.
> > >
> > > Worse, these functions were excluded with the "#ifdef INET6_NOT_USED"
> > > macro as far back as libtirpc version 0.1.5 so, my bad, sorry.
> > >
> > >>
> > >> The story is that long ago when I changed autofs to use libtirpc (to
> > >> make it ready for IPv6) I found these functions in the source and they
> > >> were (obviously) the IPv6 counterparts for the corresponding IPv4
> > >> functions which I was already using, so I used them. It took me quite a
> > >> while to realize my code wasn't working and then I found that somewhere
> > >> along the line they have been excluded, oops!
> > >>
> > >> If there are to be no IPv6 counterparts for the corresponding IPv4
> > >> functions which functions should I use then?
> > >
> > > So what can I use?
> > >
> > > It seems to me that these functions would be useful for people porting
> > > code that uses the corresponding IPv4 functions so could we define them
> > > please. At some point someone must have had that same idea ....
> >
> > It looks to me like these functions were part of an original attempt
> > at IPv6 support that was abandoned long ago. They are not part of
> > TI-RPC, but as you observed, they are merely IPv6 versions of the
> > legacy RPC API. I don't see these implemented in glibc, for example.
> >
> > For IPv6 support, use functions that are part of the modern libtirpc
> > API. This is described in Sun doc 816-1435. You probably will be
> > most successful with the "simplified interface" which is described in
> > Chapter 4. You might need somewhat more extensive surgery since I'm
> > guessing you have separate code paths to invoke the IPv4 and IPv6
> > legacy RPC functions; generally speaking that should not be needed
> > when using the libtirpc API.
>
> I doubt the simplified interface will be adequate since this code was
> written because of a need for greater control over timeouts. Perhaps
> that won't be the case, I don't know yet.
>
> Your suggestion amounts to saying I need to re-write all my RPC code.
That comment is a bit dramatic, sorry.
Actually I should be able to replace these calls with the contents of
the functions as they are in libtirpc without too much trouble.
>
> >
> >
> >
> > >
> > >>
> > >>>
> > >>> steved
> > >>>
> > >>>>
> > >>>>> Signed-off-by: Steve Dickson <steved@redhat.com>
> > >>>>> ---
> > >>>>> src/rpc_soc.c | 4 ++--
> > >>>>> 1 files changed, 2 insertions(+), 2 deletions(-)
> > >>>>>
> > >>>>> diff --git a/src/rpc_soc.c b/src/rpc_soc.c
> > >>>>> index c678429..584ac71 100644
> > >>>>> --- a/src/rpc_soc.c
> > >>>>> +++ b/src/rpc_soc.c
> > >>>>> @@ -236,7 +236,7 @@ clnttcp_create(raddr, prog, vers, sockp, sendsz, recvsz)
> > >>>>>
> > >>>>> /* IPv6 version of clnt*_*create */
> > >>>>>
> > >>>>> -#ifdef INET6_NOT_USED
> > >>>>> +#ifdef INET6
> > >>>>>
> > >>>>> CLIENT *
> > >>>>> clntudp6_bufcreate(raddr, prog, vers, wait, sockp, sendsz, recvsz)
> > >>>>> @@ -392,7 +392,7 @@ svcraw_create()
> > >>>>>
> > >>>>>
> > >>>>> /* IPV6 version */
> > >>>>> -#ifdef INET6_NOT_USED
> > >>>>> +#ifdef INET6
> > >>>>> SVCXPRT *
> > >>>>> svcudp6_bufcreate(fd, sendsz, recvsz)
> > >>>>> int fd;
> > >>>>> --
> > >>>>> 1.7.6
> > >>>>>
> > >>>>>
> > >>>>> ------------------------------------------------------------------------------
> > >>>>> Magic Quadrant for Content-Aware Data Loss Prevention
> > >>>>> Research study explores the data loss prevention market. Includes in-depth
> > >>>>> analysis on the changes within the DLP market, and the criteria used to
> > >>>>> evaluate the strengths and weaknesses of these DLP solutions.
> > >>>>> http://www.accelacomm.com/jaw/sfnl/114/51385063/
> > >>>>> _______________________________________________
> > >>>>> Libtirpc-devel mailing list
> > >>>>> Libtirpc-devel@lists.sourceforge.net
> > >>>>> https://lists.sourceforge.net/lists/listinfo/libtirpc-devel
> > >>>>
> > >>>
> > >>> ------------------------------------------------------------------------------
> > >>> Got Input? Slashdot Needs You.
> > >>> Take our quick survey online. Come on, we don't ask for help often.
> > >>> Plus, you'll get a chance to win $100 to spend on ThinkGeek.
> > >>> http://p.sf.net/sfu/slashdot-survey
> > >>> _______________________________________________
> > >>> Libtirpc-devel mailing list
> > >>> Libtirpc-devel@lists.sourceforge.net
> > >>> https://lists.sourceforge.net/lists/listinfo/libtirpc-devel
> > >>
> > >
> > >
> > > --
> > > To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
> > > the body of a message to majordomo@vger.kernel.org
> > > More majordomo info at http://vger.kernel.org/majordomo-info.html
> >
>
next prev parent reply other threads:[~2011-07-27 3:13 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-07-26 12:29 [PATCH] Autofs configure fails to detect IPv6 when libtirpc is enabled Steve Dickson
2011-07-26 14:50 ` [Libtirpc-devel] " Chuck Lever
[not found] ` <8A84CF7D-9579-4645-AE5D-FE8358F466C0-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2011-07-26 21:13 ` Steve Dickson
2011-07-26 21:13 ` Steve Dickson
[not found] ` <4E2F2DE6.5030500-AfCzQyP5zfLQT0dZR+AlfA@public.gmane.org>
2011-07-27 0:57 ` Ian Kent
2011-07-27 0:57 ` Ian Kent
[not found] ` <1311728231.3473.7.camel-jgopVnDzZD88qxobedHYj6xOck334EZe@public.gmane.org>
2011-07-27 1:23 ` Ian Kent
2011-07-27 1:23 ` Ian Kent
[not found] ` <1311729784.3473.14.camel-jgopVnDzZD88qxobedHYj6xOck334EZe@public.gmane.org>
2011-07-27 2:02 ` Ian Kent
2011-07-27 2:02 ` Ian Kent
[not found] ` <1311732168.3473.16.camel-jgopVnDzZD88qxobedHYj6xOck334EZe@public.gmane.org>
2011-07-27 2:10 ` Chuck Lever
2011-07-27 2:10 ` Chuck Lever
2011-07-27 2:09 ` Chuck Lever
2011-07-27 2:09 ` Chuck Lever
[not found] ` <A8F3853A-9C75-4F65-8EEB-88DD13C3FF9B-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2011-07-27 2:40 ` Ian Kent
2011-07-27 2:40 ` Ian Kent
[not found] ` <1311734445.3473.19.camel-jgopVnDzZD88qxobedHYj6xOck334EZe@public.gmane.org>
2011-07-27 3:13 ` Ian Kent [this message]
2011-07-27 3:13 ` Ian Kent
2011-07-27 3:30 ` Chuck Lever
2011-07-27 3:30 ` Chuck Lever
[not found] ` <8A86A2AE-A1C7-473E-931A-CF03BD690CE6-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2011-07-27 3:39 ` Ian Kent
2011-07-27 3:39 ` Ian Kent
[not found] ` <1311737951.3473.28.camel-jgopVnDzZD88qxobedHYj6xOck334EZe@public.gmane.org>
2011-07-27 6:37 ` Ian Kent
2011-07-27 6:37 ` Ian Kent
2011-07-28 2:26 ` Ian Kent
2011-07-28 2:26 ` Ian Kent
[not found] ` <1311819970.3332.3.camel-jgopVnDzZD88qxobedHYj6xOck334EZe@public.gmane.org>
2011-07-28 11:20 ` Chuck Lever
2011-07-28 11:20 ` Chuck Lever
[not found] ` <E21E3A76-96FD-4F44-8187-70532FD3D6AD-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2011-07-28 14:33 ` Ian Kent
2011-07-28 14:33 ` Ian Kent
[not found] ` <1311863605.3332.17.camel-jgopVnDzZD88qxobedHYj6xOck334EZe@public.gmane.org>
2011-07-28 14:45 ` Chuck Lever
2011-07-28 14:45 ` Chuck Lever
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1311736392.3473.22.camel@perseus.themaw.net \
--to=ikent-h+wxahxf7alqt0dzr+alfa@public.gmane.org \
--cc=SteveD-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \
--cc=autofs-CPWUtch7KCBzeIdxy0IIJw@public.gmane.org \
--cc=chucklever-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
--cc=libtirpc-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org \
--cc=linux-nfs-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.