Page MenuHomeFreeBSD

add syscall for the nfs-over-tls daemons to use
Needs ReviewPublic

Authored by rmacklem on Thu, May 21, 11:45 PM.



For nfs-over-tls, there are two daemons that handle the parts of
TLS not done by the ktls, such as the handshake.
(One daemon for the server and one for the client.)
These daemons need a system call to set up the upcall
socket so that the kernel rpc code can communicate
with them. The syscall is also used to associate a socket
with a file descriptor for the daemon.

This syscall is private to the krpc and rpctls daemons.

Putting this syscall in head now will allow testers to
install a recent current from a snapshot without having
to buildworld/installworld from sources.

I understand that the syscall.master updates get committed
first and then the generated files in a separate commit.
Is that correct?

Test Plan

The nfs-over-tls code has been tested using the gssd
syscall, but it needs its own syscall so that the gssd
daemon can run concurrently with the rpctls daemons.

Diff Detail

rS FreeBSD src repository
Lint Skipped
Unit Tests Skipped
Build Status
Buildable 31259

Event Timeline

rmacklem created this revision.Thu, May 21, 11:45 PM
rmacklem requested review of this revision.Thu, May 21, 11:45 PM

The key things I watch for in syscalls.master changes look fine.


Given the signature there's no reason not to copy the definition here and it would keep the files closer in sync. It will work fine with compat shims even if the result isn't useful due to a general lack of 32-bit compat in NFS (this is not a complaint). I have an eventual plan to eliminate compat/freebsd32/syscalls.master so keeping differences to a minimum is helpful


No blank line here.

rmacklem updated this revision to Diff 72145.Sat, May 23, 12:14 AM

Removed the blank line from syscalls.master and
added the definition to compat/freebsd32/syscalls.master,
as suggested by brooks@.

rmacklem marked 2 inline comments as done.Sat, May 23, 12:15 AM
rmacklem updated this revision to Diff 72167.Sat, May 23, 2:43 PM

Oops, forgot to "make sysent" before testing the last one.
Since the entry on compat/freebsd32/syscalls.master is NOSTD,
I needed to prepend "freebsd_" to the prototype name to
avoid a conflict.