>     What argument are you passing to rpcinfo?

That info was from tirpc (rpcbind) and a modified nfsd(8) which
was originally ported from NetBSD and adapted to our nfsd(8):

http://home.teleport.ch/freebsd/newnfsd.c

It seems our way doing the registration was wrong (but only for
doing bindhost stuff). If you have specified binding to two
hosts, like 'nfsd -h ip1 -h ip2', pmap_set was called twice or
more times in the for loop:

for (i = 0; udpflag && i < bindhostc; i++) {
}

And that's at least for rpcbind wrong, cause rpcbind registers
it with the ai_udp->ai_addr. It may work in portmapper cause
there's a much more simpler registration there.

As you said, portmapper does only register ports, not ports
binded to a interface or an ip.

I've changed the way nfsd(8) does the registration. I get now
the same results in rpcinfox. If I bind to one or more IP's,
the portmapper registration is the same now:

#nfsd -u -t or
#nfsd -u -t -h localhost
#nfsd -u -t -h host1 -h host2
    100003    2    udp       0.0.0.0.8.1            nfs        superuser
    100003    3    udp       0.0.0.0.8.1            nfs        superuser
    100003    2    udp6      ::.8.1                 nfs        superuser
    100003    3    udp6      ::.8.1                 nfs        superuser
    100003    2    tcp       0.0.0.0.8.1            nfs        superuser
    100003    3    tcp       0.0.0.0.8.1            nfs        superuser
    100003    2    tcp6      ::.8.1                 nfs        superuser
    100003    3    tcp6      ::.8.1                 nfs        superuser

I also added a new option to nfsd, to unregister within rpcbind:

nfsd -d (removes the registration entrys in rpcbind)

Martin


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message

Reply via email to