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-unsubscr...@freebsd.org"
_______________________________________________
freebsd-net@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to "freebsd-net-unsubscr...@freebsd.org"
_______________________________________________
freebsd-net@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to "freebsd-net-unsubscr...@freebsd.org"

Reply via email to