I am sponsoring the following fast-track for Keyur Desai. The
requested binding is micro, timeout 4/22/2008.
Template Version: @(#)sac_nextcase 1.64 07/13/07 SMI
This information is Copyright 2008 Sun Microsystems
1. Introduction
1.1. Project/Component Working Name:
Introduce nbtd, NetBIOS service daemon
1.2. Name of Document Author/Supplier:
Author: Keyur Desai
1.3 Date of This Document:
15 April, 2008
4. Technical Description:
OVERVIEW
This proposal is to decouple the NetBIOS name, datagram and
browser client services from the SMB daemon and start them in a
separate daemon process called nbtd. This is an existing smbd
component and is simply being split out as a separate daemon in
order to provide the same functionality, currently available
within the CIFS service, to other Solaris services, such as
idmapd (Winchester) and smbfs (CIFS client).
PROPOSED SOLUTION
A new NetBIOS name, datagram and browser client service daemon
(aka nbtd) along with a shared library named libnbt.so would be
added to Solaris.
The nbtd daemon provides NetBIOS-over-TCP (NBT) name, datagram
and CIFS/E browser services including NetBIOS host announcement,
name caching and domain controller location. If a WINS server
has been configured, the local system will be registered with
the WINS server. Only processes with {PRIV_SYS_SMB} can run this
daemon.
The nbtd daemon, is managed as an SMF service with an FMRI of
svc:/network/nbt:default.
A shared library, libnbt.so, provides an API to the nbtd name
service.
The browser client does not request a list of backup browsers or
a server list from the local master browser and does not request
or participate in browser elections.
4.2. Bug/RFE Number(s):
6687726: NetBIOS service daemon
4.5. Interfaces:
The following interfaces, mentioned in CIFS design document
(PSARC/2006/715), are moved from SMB daemon (smbd) to NetBIOS
services daemon (nbtd).
- NetBIOS Browser: CIFS/E Browser Protocol [4]
- NetBIOS message headers: RFC 1001 [1] and RFC 1002 [2]
Exported Interfaces
--------------------
- libnbt.so
Consumed Interfaces
-------------------
- libsmb.so
- libaavl.so
- libnsl.so
- libsocket.so
4.6. Doc Impact:
1). Changes to smb(4) manpage
--------------------------------------------------------------------------
95,111d94
<
< netbios_scope
<
< Specifies the NetBIOS scope identifier, which identifies
< logical NetBIOS networks that are on the same physical
< network. When you specify a NetBIOS scope identifier,
< the server is only able to communicate with other sys-
< tems that have the same scope defined. The value is a
< text string that represents a domain name and is limited
< to 16 characters. By default, no value is set.
<
< Most environments do not require the use of the NetBIOS
< scope feature. If you must use this feature, ensure that
< you track the scope identifier assigned to each node.
<
<
<
133,142d115
< pdc
<
< Specifies the preferred IP address for the domain con-
< troller. This property is sometimes used when there are
< multiple domain controllers to indicate which one is
< preferred. If the specified domain controller responds,
< it is chosen even if the other domain controllers are
< also available. By default, no value is set.
<
<
160,178d132
< wins_exclude
<
< Specifies a comma-separated list of IP addresses that
< are to be excluded from WINS registration when a WINS
< server is configured. By default, no value is set.
<
<
< wins_server_1
<
< Specifies the IP address of the primary WINS server. By
< default, no value is set.
<
<
< wins_server_2
<
< Specifies the IP address of the secondary WINS server.
< By default, no value is set.
<
<
--------------------------------------------------------------------------
2). Changes to smbd(1M) manpage
--------------------------------------------------------------------------
71c71
< nbtd(1M), nbt(4), attributes(5), smf(5)
---
> attributes(5), smf(5)
--------------------------------------------------------------------------
3). New nbtd manpage
--------------------------------------------------------------------------
NAME
nbtd - NetBIOS services daemon.
SYNOPSIS
/usr/lib/smbsrv/nbtd
DESCRIPTION
The nbtd daemon provides NetBIOS-over-TCP (NBT) name, datagram
& CIFS/E browser services including NetBIOS host announcement,
name caching and domain controller location. If a WINS server
has been configured, the local system will be registered with
the WINS server. Only processes with {PRIV_SYS_SMB} can run this
daemon.
When nbtd daemon is started, the following services are
enabled:
o The NetBIOS name service is started on UDP port
137.
o The NetBIOS datagram service is started on UDP port
138.
Only one instance of nbtd may be running at a time.
EXIT STATUS
The following exit values are returned:
0 Daemon exited cleanly.
95 Daemon exited with a fatal error.
96 Daemon exited with a configuration error.
ATTRIBUTES
See the attributes(5) man page for descriptions of the fol-
lowing attributes:
___________________________________________________________
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
|_____________________________|_____________________________|
| Availability | SUNWsmbsu |
|_____________________________|_____________________________|
| Interface Stability | Uncommitted |
|_____________________________|_____________________________|
SEE ALSO
smbd(1M), smbadm(1M), svcs(1), sharectl(1M), sharemgr(1M),
svcadm(1M), smb(4), nbt(4), smbautohome(4), system(4), smf(5),
attributes(5)
NOTES
Use the svcadm command to perform administrative actions on
the nbtd service, such as enabling, disabling, or restarting
the service. Use the svcs command to query the service
status.
The nbtd service is managed by the service management facil-
ity under the service identifier svc:/network/nbt:default.
The nbtd service does not participate in Browser elections.
--------------------------------------------------------------------------
4). New nbt manpage
The following SMF properties will be now part of nbtd manifest
and will be set via sharectl command by authorized users.
- scope
- enable
- exclude
- pdc
- primary_wins
- secondary_wins
--------------------------------------------------------------------------
NAME
nbt - configuration properties for Solaris NetBIOS service
DESCRIPTION
Behavior of the Solaris NetBIOS service daemon(nbtd) is defined
by property values that are stored in the Service Management
facility, smf(5).
An authorized user can use the sharectl(1M) command to set
global values for these properties in SMF.
The following list describes the properties:
scope
Specifies the NetBIOS scope, which is a character string,
in the form of a DNS domain name, that defines the group
of computers across which a registered NetBIOS name is
known. NetBIOS scopes can be used to partition the
computer names a NetBIOS Browser displays when browsing
a network. By default, no value is set.
pdc
Specifies the preferred IP address for the domain con-
troller. When there are multiple domain controllers, the
pdc property can be used to indicate a domain controller
preference. If the specified domain controller responds,
it is chosen even if the other domain controllers are
also available. By default, no value is set.
exclude
Specifies a comma-separated list of IP addresses that
are to be excluded from WINS registration when a WINS
server is configured. By default, no value is set.
primary_wins
Specifies the IP address of the primary WINS server. By
default, no value is set.
secondary_wins
Specifies the IP address of the secondary WINS server.
By default, no value is set.
enable
The enable property allows NetBIOS services to be enabled or
disabled.
When NetBIOS services are enabled:
- nbtd(1M) will generate host announcements and listen for
NetBIOS messages on ports 137 and 138.
- smbd(1M) will accept SMB-over-NetBIOS (port 139) and
SMB-over-TCP (port 445) connections.
- The smbd(1M) redirector will attempt to make connections
using SMB-over-TCP (port 445) and, if that fails, retry
using SMB-over-NetBIOS (port 139).
When NetBIOS services are disabled:
- nbtd(1M) will not generate host announcements and will
not listen on ports 137 or 138.
- smbd(1M) will only accept SMB-over-TCP (port 445)
connections.
- The smbd(1M) redirector will only make connections
using SMB-over-TCP (port 445).
By default, the enable property is set to 'true' and NetBIOS
services are enabled.
ATTRIBUTES
See the attributes(5) man page for descriptions of the fol-
lowing attributes:
___________________________________________________________
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
|_____________________________|_____________________________|
| Availability | SUNWsmbsu |
|_____________________________|____________________________ |
| Interface Stability | Uncommitted |
|_____________________________|_____________________________|
SEE ALSO
sharectl(1M), smbadm(1M), smbd(1M), nbtd(1M), smbstat(1M),
attributes(5), smf(5), smb(4)
--------------------------------------------------------------------------
4.10. Packaging & Delivery:
- SUNWsmbsr and SUNWsmbsu.
5. Reference Documents:
[1] RFC 1001 : NetBIOS over TCP/UDP Concepts.
Protocol Standard For a NetBIOS Service on a
TCP/UDP Transport: Concepts and Methods.
[2] RFC 1002 : NetBIOS over TCP/UDP Specification.
Protocol Standard For a NetBIOS Service on a
TCP/UDP Transport: Detailed Specifications.
[3] PSARC/2006/715
[4] CIFS/E Browser Protocol: Paul Leach and Dilip Naik
6. Resources and Schedule:
6.4. Product Approval Committee requested information:
6.4.1. Consolidation or Component Name: ON
6.5. ARC review type: FastTrack
6.6. ARC Exposure: open