HP3000-L Archives

March 2000, Week 3

HP3000-L@RAVEN.UTC.EDU

Options: Use Monospaced Font
Show Text Part by Default
Show All Mail Headers

Message: [<< First] [< Prev] [Next >] [Last >>]
Topic: [<< First] [< Prev] [Next >] [Last >>]
Author: [<< First] [< Prev] [Next >] [Last >>]

Print Reply
Subject:
From:
James Hofmeister <[log in to unmask]>
Reply To:
Date:
Fri, 17 Mar 2000 09:50:02 -0500
Content-Type:
text/plain
Parts/Attachments:
nsswitch.conf (155 lines)
Hello Friends @ 3000-L,

Re: /etc/nsswitch.conf

I have recently heard a few folks asking about nsswitch on the HP3000
(or the lack of it) and so I am investigating the features of this on
UNIX and the functionality desired on MPE/iX.

I found a sample file from HP-UX:
+----------------------------------------------------------------------+
#
# /etc/nsswitch.hp_defaults:
#
# An example file that could be copied over to /etc/nsswitch.conf; it
# uses NIS (YP) in conjunction with files.
#

passwd:       compat
group:        compat
hosts:        dns [NOTFOUND=return] nis [NOTFOUND=return] files
networks:     nis [NOTFOUND=return] files
protocols:    nis [NOTFOUND=return] files
rpc:          nis [NOTFOUND=return] files
publickey:    nis [NOTFOUND=return] files
netgroup:     nis [NOTFOUND=return] files
automount:    files nis
aliases:      files nis
services:     nis [NOTFOUND=return] files
+----------------------------------------------------------------------+

and documentation from HP-UX:

man nsswitch.conf
...
//cut 6 pages long//
...


From my investigation so far I only see value in the "hosts:" database
entry...

and that we would want to be able to specify "dns" and "files" as the
source entries of "hosts:"...

and that we would want to be able to specify "UNAVAIL" and "NOTFOUND"
and "TRYAGAIN" as status of the "dns" and "files" source entries...

and that we would want to be able to specify "continue" and "return"
as the actions of the "UNAVAIL" and "NOTFOUND" and "TRYAGAIN" status.


From the "man nsswitch.conf" the syntax is documented as:
+----------------------------------------------------------------------+
The complete syntax of an entry is

     <entry>     ::= <database> ":" [<source> [<criteria>]]* <source>
     <criteria>  ::= "[" <criterion>+ "]"
     <criterion> ::= <status> "=" <action>
     <status>    ::= "success" | "notfound" | "unavail" | "tryagain"
     <action>    ::= "return"  | "continue"
+----------------------------------------------------------------------+

From the "man nsswitch.conf" some of the definitions documented are:
+----------------------------------------------------------------------+
      The following databases use the switch:
...
           hosts             gethostbyname()
...

      The following sources may be used:
...
           files           /etc/hosts, /etc/passwd, and so forth
...
           dns             Valid only for hosts; uses the Internet Domain
                           Name Service.
...

           Status          Meaning
           ------          -------
           SUCCESS         Requested database entry was found
           UNAVAIL         Source is not responding or corrupted
           NOTFOUND        Source responded "no such entry"
           TRYAGAIN        Source is busy, might respond to retries

           Action          Meaning
           ------          -------
           continue        Try the next source in the list
           return          Return now
+----------------------------------------------------------------------+

Based on the above definition I would make an educated guess that the
HP300 NS-TRANSPORT - NSR "Node Services Routines" are hard coded for
the following:

hosts: dns [UNAVAIL=continue NOTFOUND=return TRYAGAIN=continue] &
       files [UNAVAIL=return NOTFOUND=return TRYAGAIN=return]

1. Look in DNS first
   a. If DNS does not respond goto 2) HOSTS.NET.SYS
   b. If DNS responds node not found stop search
   c. If DNS does not get a response the first time goto 1) try DNS once more
2. Look in HOSTS.NET.SYS second
   a. If HOSTS.NET.SYS not available stop search
   b. If HOSTS.NET.SYS responds node not found stop search
   c. Do not try HOSTS.NET.SYS again


I could see where users would want to be able to configure this
alternative:

hosts: dns [UNAVAIL=continue NOTFOUND=continue TRYAGAIN=continue] &
       files [UNAVAIL=return NOTFOUND=return TRYAGAIN=return]

1. Look in DNS first
   a. If DNS does not respond goto 2) HOSTS.NET.SYS
   b. If DNS responds node not found goto 2) HOSTS.NET.SYS
   c. If DNS does not get a response the first time goto 1) try DNS once more
2. Look in HOSTS.NET.SYS second
   a. If HOSTS.NET.SYS not available stop search
   b. If HOSTS.NET.SYS responds node not found stop search
   c. Do not try HOSTS.NET.SYS again


and I see another possible alternative users would want to be able to
configure:

hosts: files [UNAVAIL=continue NOTFOUND=continue TRYAGAIN=return] &
       dns [UNAVAIL=return NOTFOUND=return TRYAGAIN=continue] &

1. Look in HOSTS.NET.SYS first
   a. If HOSTS.NET.SYS not available goto 2) DNS
   b. If HOSTS.NET.SYS responds node not found goto 2) DNS
   c. Do not try HOSTS.NET.SYS again
2. Look in DNS second
   a. If DNS does not respond stop search
   b. If DNS responds node not found stop search
   c. If DNS does not get a response the first time goto 2) try DNS once more


As I said, I recently have heard a few folks asking about nsswitch on
the HP3000 (or the lack of it) and so I am investigating the features
of this on UNIX and the functionality desired on MPE/iX.  I whole
heartedly believe we need this functionally on the HP3000 to be able to
meet the definition of "fault tolerant" and "high availability" networked
systems.  Let me know what functionality you believe needs to be present
on MPE/iX or if you are aware of a better/alternate implementation.


Regards,

James Hofmeister
Hewlett Packard
Worldwide Technology Network Expert Center
P.S. My Ideals are my own, not necessarily my employers.

ATOM RSS1 RSS2