IRIX 6.5.23f trying to resolve services (aka port numbers by a name,
ex: ftp 21/tcp) by using LDAP as the primary source and then files. It
queries the LDAP server but will not output anything with getservbyname

Description of how I have it set up:

/etc/nsswitch.conf has:
services ldap files
hosts ldap files

/var/ns/ldaf.conf - points correctly to the server and baseDN. Works
fine for host lookups.

On the LDAP server and inside the ou=Services, I have defined a
ipService called "moo" to port 6666 tcp. I did NOT set it up in the
/etc/services file.

If I do a perl -e "print getservbyname('moo', 'tcp')" I get nothing
back, but if I do a perl -e "print getservbyname('ftp', 'tcp')" I get
the proper port 21

I can see "nsd" is running, and have also done:
nsdadmin flush
nsadmin restart
kill -HUP nsd

I have tailed the log file on the LDAP server and can see the request
coming in and a result is returned for "moo" (aka 6666).

Furthermore, on the problem machine, I can even see:
cat /ns/.local/services.byname/moo and it returns "moo" and

Why won't it return from a getservbyname? I have done this through
perl (as noted above) and I also wrote a small C program that uses
getservbyname and it too does not output any value.

Does anyone have ANY ideas? Please help as we are drowning fast
without a fix soon.