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@xxxxxxxxxx> >>>>> >>>>> 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. > >> >>> >>> steved >>> >>>> >>>>> Signed-off-by: Steve Dickson <steved@xxxxxxxxxx> >>>>> --- >>>>> 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@xxxxxxxxxxxxxxxxxxxxx >>>>> 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@xxxxxxxxxxxxxxxxxxxxx >>> 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@xxxxxxxxxxxxxxx > 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@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html