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"