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

Reply via email to