Go to main content

man pages section 5: File Formats

Exit Print View

Updated: Wednesday, July 27, 2022
 
 

libsdp.conf (5)

Name

libsdp.conf - configuration file for libsdp(3LIB)

Synopsis

/etc/libsdp.conf

Description

libsdp.conf(5)                File Formats Manual               libsdp.conf(5)



NAME
       libsdp.conf - configuration file for libsdp(3LIB)

SYNOPSIS
       /etc/libsdp.conf


DESCRIPTION
       The  /etc/libsdp.conf  file is the configuration file for libsdp(3LIB),
       and is used to select which sockets will be using SDP  and  which  will
       not.  There are 2 main types of statements supported by this configura-
       tion file:

        "use")
              which defines the address family to be used for the sockets that
              match the line

        "log")
              for  setting  logging related configuration. As the log settings
              takes immediate effect we define these at the beginning  of  the
              file.


DEFAULT SETTINGS:
       Get   errors   printed   into   the   files   /tmp/libsdp.log.<uid>  or
       /var/log/<filename> for root:


         log min-level 9 destination file libsdp.log

       By default we let all servers and client try SDP first.  to exclude SDP
       add "use tcp" rules before these defaults.

         use both server * *:*
         use both client * *:*


   LOG CONFIGURATION:
       The  log directive allows the user to specify which and where debug and
       error messages get sent. The log statement format is:

         log [destination stderr|syslog|file <filename>] [min-level <1-9>]


       The fields are defined as follows:

       destination

           defines the destination of the log messages:

            "stderr")
                messages will be forwarded to the stderr


            "syslog")
                messages sent to the  syslog  service


            "file <filename>")
                messages will be written to the file  /var/log/<filename>  for
                root.   for  regular user, if full path is requested <filename
                with  path>.<uid>  or  /tmp/<filename>.<uid>  if  no  path  is
                requested
       min-level

           defines the verbosity of the log:

           9)   only errors are printed

           8)   warnings

           7)   connect and listen summary (useful for tracking SDP usage)

           4)   positive match summary (useful for config file debug)

           3)   negative match summary (useful for config file debug)

           2)   function calls and return values

           1)   debug messages


SOCKET ADDRESS FAMILY CONTROL
       The  socket  control  statements allows the user to specify when libsdp
       will replace AF_INET_SDP/SOCK_STREAM  sockets  with  AF_SDP/SOCK_STREAM
       sockets.  Each control statement specifies a matching rule that all its
       subexpressions must evaluate as true (logical and) to apply.

       The statements that control which type of sockets to open are  made  of
       the following:


         use <address-family> <role> <program name> <address|*>:<port range|*>

       where

       <address-family>

           can be one of:

            "sdp")
                for specifying when an SDP should be used

            "tcp")
                for specifying when SDP socket should not be matched

            "both")
                for  specifying  when  both  SDP and AF_INET sockets should be
                used.

           Note: that "both"  semantics  is  different  between  "server"  and
           "client"  roles:  For  a  "server" is means that the server will be
           listening on both sdp and tcp For a "client" the connect will  pre-
           fer using sdp but will silently fall back to tcp if the sdp connec-
           tion failed.

       <role>

           can be one of:

            "server" or "listen")
                for defining the listening port address family

            "client" or "connect")
                for defining the connected port address family


       <program-name|*>

           Defines the program name (not including the path) the rule  applies
           to.  Wildcards with same semantics as "ls" are supported (* and ?).
           So db2* would match on any program with a name starting  with  db2.
           t?cp  would  match  on  ttcp,  etc.   If not provided (default) the
           statement matches all programs.

       <address|*>

           Either the local address the server  is  bound  to  or  the  remote
           server  address the client connects to. Syntax for address matching
           is:

           <IPv4 address>[/<prefix_length>]|*

           IPv4 address = [0-9]+.[0-9]+.[0-9]+.[0-9]+ each sub number < 255

           prefix_length = [0-9]+ and with value <= 32. A prefix_length of  24
           matches  the  subnet  mask  255.255.255.0  .  A prefix_length of 32
           requires matching of the exact IP.

       <port range>

           start-port[-end-port] where port numbers are >0 and < 65536

       Rules are evaluated in order of definition. So the  first  match  wins.
       If no match is made libsdp will default to "both".

EXAMPLES
       LOG CONFIGURATION:

        Example 1:
        Get SDP usage per connect and listen into stderr

             log min-level 7 destination stderr


        Example 2:
        Send errors only into syslog

             log min-level 9 destination syslog


       SOCKET ADDRESS FAMILY CONTROL


        Example 1:

        Use SDP by clients connecting to machines that belongs to subnet 192.168.1.*

             #   family role    program   address:port[-range]
             use sdp    connect *         192.168.1.0/24:*


        Example 2:
        Use SDP by ttcp when it connects to port 5001 of any machine

             #   family role    program   address:port[-range]
             use sdp    listen  ttcp      *:5001


        Example 3:
        Use TCP for any program with name starting with ttcp* serving ports 22 to
        25

             #   family role    program   address:port[-range]
             use tcp    server  ttcp*     *:22-25


        Example 4:
        Listen on both TCP and SDP by any server that listen on port 8080

             #   family role    program   address:port[-range]
             use both   server  *         *:8080


        Example 5:
        Connect ssh through SDP and fallback to TCP to hosts on 11.4.8.* port 22

             #   family role    program   address:port[-range]
             use both   connect *         11.4.8.0/24:22


       NOTE: If all "use" rules are commented SDP will take "simple SDP"
       mode and use SDP for all connections





ATTRIBUTES
       See attributes(7) for descriptions of the following attributes:


       +---------------+-----------------------+
       |ATTRIBUTE TYPE |   ATTRIBUTE VALUE     |
       +---------------+-----------------------+
       |Availability   | network/open-fabrics  |
       +---------------+-----------------------+
       |Stability      | Pass-through volatile |
       +---------------+-----------------------+

SEE ALSO
       libsdp(3LIB), attributes(7)





NOTES
       Source  code  for open source software components in Oracle Solaris can
       be found at https://www.oracle.com/downloads/opensource/solaris-source-
       code-downloads.html.

       This     software     was    built    from    source    available    at
       https://github.com/oracle/solaris-userland.   The  original   community
       source   was   downloaded   from    ['https://www.openfabrics.org/down-
       loads/ibutils/ibutils-1.5.7-0.2.gbd7e502.tar.gz', 'https://www.openfab-
       rics.org/downloads/libibverbs/libibverbs-1.1.8.tar.gz',
       'https://www.openfabrics.org/downloads/libmlx4/libmlx4-1.0.6.tar.gz',
       'https://www.openfabrics.org/downloads/libsdp/lib-
       sdp-1.1.108-0.15.gd7fdb72.tar.gz',   'https://www.openfabrics.org/down-
       loads/management/infiniband-diags-1.6.5.tar.gz',  'https://www.openfab-
       rics.org/downloads/management/libibmad-1.3.12.tar.gz',
       'https://www.openfabrics.org/downloads/management/libibu-
       mad-1.3.10.2.tar.gz',    'https://www.openfabrics.org/downloads/manage-
       ment/opensm-3.3.19.tar.gz',          'https://www.openfabrics.org/down-
       loads/perftest/perftest-1.3.0-0.42.gf350d3d.tar.gz', 'https://www.open-
       fabrics.org/downloads/qperf/qperf-0.4.9.tar.gz',  'https://www.openfab-
       rics.org/downloads/rdmacm/librdmacm-1.0.21.tar.gz',  'https://www.open-
       fabrics.org/downloads/rds-tools/rds-tools-2.0.4.tar.gz'].

       Further information about this software can be found on the open source
       community website at http://www.openfabrics.org/.



                                  22 Dec 2020                   libsdp.conf(5)