From owner-freebsd-net@freebsd.org Thu Sep 26 15:55:21 2019 Return-Path: Delivered-To: freebsd-net@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 6854A12B2E8 for ; Thu, 26 Sep 2019 15:55:21 +0000 (UTC) (envelope-from bz@FreeBSD.org) Received: from smtp.freebsd.org (smtp.freebsd.org [96.47.72.83]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 46fKJT0BnPz4RLw; Thu, 26 Sep 2019 15:55:21 +0000 (UTC) (envelope-from bz@FreeBSD.org) Received: from mx1.sbone.de (cross.sbone.de [195.201.62.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mx1.sbone.de", Issuer "SBone.DE" (not verified)) (Authenticated sender: bz/mail) by smtp.freebsd.org (Postfix) with ESMTPSA id 9475115504; Thu, 26 Sep 2019 15:55:20 +0000 (UTC) (envelope-from bz@FreeBSD.org) Received: from mail.sbone.de (mail.sbone.de [IPv6:fde9:577b:c1a9:31::2013:587]) (using TLSv1 with cipher ADH-CAMELLIA256-SHA (256/256 bits)) (No client certificate requested) by mx1.sbone.de (Postfix) with ESMTPS id 612758D4A171; Thu, 26 Sep 2019 15:55:18 +0000 (UTC) Received: from content-filter.sbone.de (content-filter.sbone.de [IPv6:fde9:577b:c1a9:31::2013:2742]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mail.sbone.de (Postfix) with ESMTPS id 091EDE70875; Thu, 26 Sep 2019 15:55:18 +0000 (UTC) X-Virus-Scanned: amavisd-new at sbone.de Received: from mail.sbone.de ([IPv6:fde9:577b:c1a9:31::2013:587]) by content-filter.sbone.de (content-filter.sbone.de [fde9:577b:c1a9:31::2013:2742]) (amavisd-new, port 10024) with ESMTP id NtM4hN3OUduv; Thu, 26 Sep 2019 15:55:15 +0000 (UTC) Received: from [192.168.2.110] (unknown [IPv6:fde9:577b:c1a9:31:55c5:32d7:5d40:945b]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by mail.sbone.de (Postfix) with ESMTPSA id 17B5EE707E6; Thu, 26 Sep 2019 15:55:15 +0000 (UTC) From: "Bjoern A. Zeeb" To: "Rick Macklem" Cc: "Mihir Luthra" , "Hiroki Sato" , freebsd-net , hrs@freebsd.org Subject: Re: rpc.statd already ipv6 clean? Date: Thu, 26 Sep 2019 15:55:13 +0000 X-Mailer: MailMate (2.0BETAr6137) Message-ID: <4D750DC4-B2D6-4561-8335-99413F419762@FreeBSD.org> In-Reply-To: References: <20190925.085753.1800759957383540219.hrs@allbsd.org> <20190926.054603.242590258844901628.hrs@allbsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 26 Sep 2019 15:55:21 -0000 On 26 Sep 2019, at 15:25, Rick Macklem wrote: > Mihir Luthra wrote: >> Hiroki Sato wrote: >>> >>> >>> I think you should learn TI-RPC API first. The nettype specifies a >>> class of transport protocol, not address family. >>> >>> Thanks, I did some more research on TI-RPC today. >> In `statd.c` what I see is in >> `create_service()`/`complete_service()`, >> transport info is being fetched through getnetconfig(), which makes >> it >> listen on all transports. I guess its clean in `statd.c` but same can >> also >> be done in `procs.c`/`file.c`. Maybe trying all transports until it >> finds >> one which is connectionless? Apologies if I got something wrong, new >> to >> this topic. >> >> Also, while looking at the code, I think it always assumes ipv4 is >> always >> present. Like `127.0.0.1` is added to host list always. On ipv6 only >> machine this may fail. > Although I'll admit it isn't something I am particularily fond of, > FreeBSD likes > utilities to build/work with only one of ipv4/ipv6. > To do this, "#ifdef INET" and "#ifdef INET6" is applied to the code > and the > Makefile is tweaked to define one or both of these. > (You can look at usr.sbin/nfsuserd for an example of this.) I am not sure if this is entirely on-topic but here’s a diff from a work-tree of mine from sometime earlier this year: https://people.freebsd.org/~bz/20190926-01-golegacy.diff This is a lot of resolver and rpc (libc) code. I think this did compile but I am almost certain that a few changes are not doing the right thing and need review and testing. I might have upstreamed 2 or 3 lines of this already in case the patch doesn’t apply cleanly anymore. I’ll be more than happy to work with someone going through this as well and reviewing/updating it. I can also put it into Phabricator; at the moment it only collects dust as I didn’t have time to work on this hobby project lately. /bz > > Btw, these protocols are old Sun Microsystems ones without any > published > RFC, so what is "correct" is difficult to determine. I suppose the > Open > Solaris sources is the best protocol specification. (Interop. testing > with Linux > would be nice, since Linux is the "defacto standard" now.) > > Good luck with it, rick > > Kind Regards, > Mihir > _______________________________________________ > freebsd-net@freebsd.org mailing list > https://lists.freebsd.org/mailman/listinfo/freebsd-net > To unsubscribe, send any mail to "freebsd-net-unsubscribe@freebsd.org" > _______________________________________________ > freebsd-net@freebsd.org mailing list > https://lists.freebsd.org/mailman/listinfo/freebsd-net > To unsubscribe, send any mail to "freebsd-net-unsubscribe@freebsd.org"