Node-type curiosity.
Christopher R. Hertel
crh at NTS.Umn.EDU
Tue May 26 17:03:14 GMT 1998
I'm working in nmbd at the moment, the name lists in particular. This
has me reading nameserv.h and nmbd_namelistdb.c closely.
In nameserv.h I notice that there are flag values defined for all four
NetBIOS name resolution node types:
#define NB_BFLAG 0x00 /* Broadcast node type. */
#define NB_PFLAG 0x20 /* Point-to-point node type. */
#define NB_MFLAG 0x40 /* Mixed bcast & p-p node type. */
#define NB_HFLAG 0x60 /* Microsoft 'hybrid' node type. */
In nmbd_namelistdb.c, the node type is set as follows:
void set_samba_nb_type( void )
{
if( lp_wins_support() || (*lp_wins_server()) )
samba_nb_type = NB_MFLAG; /* samba is a 'hybrid' node type */
else
samba_nb_type = NB_BFLAG; /* samba is broadcast-only node type */
}
I'm confused by this. NB_MFLAG isn't the 'hybrid' type. As I understand
it, an M node will use broadcast for registration, and only switches to
point-to-point for name resolution when broadcasts fail to resolve the
name. The MS WindowsNT Server Networking Guide says:
"m-node -- uses broadcasts for name registration; for name resolution,
tries broadcasts first, but switches to p-node if no anser is received."
So, what is really going on in the code, here? Is the above statement,
er, incomplete? Are we doing something more?
Just curious.
Chris -)-----
--
Christopher R. Hertel -)----- University of Minnesota
crh at nts.umn.edu Networking and Telecommunications Services
More information about the samba-technical
mailing list