Whamcloud - gitweb
* Cleaned up ptl_hdr_t definition; removed unused fields and moved the
authoreeb <eeb>
Wed, 29 Oct 2003 20:15:37 +0000 (20:15 +0000)
committereeb <eeb>
Wed, 29 Oct 2003 20:15:37 +0000 (20:15 +0000)
commit6ab8555d13c77d86c1b5c37b964a500116497aba
tree6eb2346fa98ee9eae3dfe4b77c24f43000687424
parentf8846fcc2addc91f7db85bbbc942cafbac3e0651
*   Cleaned up ptl_hdr_t definition; removed unused fields and moved the
    common length field into the common part of the header.

*   Socknal connection handshake no longer optional (it was --nid_exchange
    in lconf, the 'x' option to lclt::[auto_]connect, the -x option in
    acceptor etc).

*   Added 'uname -a' output and gcc version info in a comment to the output
    of portals wirecheck.

*   Bumped up the portals protocol version number.

*   Added "typed" socknal connections to establish either a single
    connection...

 'A'    bidirectional control + bulk

    ...or 3 connections...

         'C'    bidirection control
         'I'    bulk in
         'O'    bulk out

    Individual connections can be created using the relevent flag in
    lctl::connect.

    Autoconnect defaults to creating three CIO connections, but can create
    a single A connection if /proc/sys/socknal/typed is zero when the
    connection is established (CAVEAT EMPTOR this also causes ALL existing
    connections to be driven bi-directionally).

    Note that connections types are determined by the initiator.  The
    connection handshake tells the acceptor what type of connection she has
    just accepted, and she tells her socknal.

*   /proc/sys/socknal/eager_ack is now a bitmap of socket types to do eager
    ack on....

          1    enable on 'A' connections
          2    enable on 'C' connections
          4    enable on 'I' connections
          8    enable on 'O' connections (if any messages are ever received)

    Default: 0

    I doubt this facility will be of much use...

*   /proc/sys/socknal/min_bulk controls the size at which messages are
    considered 'bulk' and preferrential sent on 'C' rather than 'O'
    connections.

*   Changed error handling on connections so that when an error is detected
    on a connection...

       (a) ALL connections to the same NID at the same IP are removed.

       (b) The autoconnect route that generated the connection becomes the
           least favourite so that the next autoconnect attempt will use a
           different IP if redundant autoconnect routes have been
           specified.
28 files changed:
lnet/include/lnet/lib-types.h
lnet/include/lnet/socklnd.h [new file with mode: 0644]
lnet/klnds/qswlnd/qswlnd.c
lnet/klnds/qswlnd/qswlnd_cb.c
lnet/klnds/socklnd/socklnd.c
lnet/klnds/socklnd/socklnd.h
lnet/klnds/socklnd/socklnd_cb.c
lnet/klnds/toelnd/toenal_cb.c
lnet/lnet/lib-move.c
lnet/lnet/lib-msg.c
lnet/utils/acceptor.c
lnet/utils/portals.c
lnet/utils/ptlctl.c
lnet/utils/wirecheck.c
lustre/portals/include/portals/lib-types.h
lustre/portals/include/portals/socknal.h [new file with mode: 0644]
lustre/portals/knals/qswnal/qswnal.c
lustre/portals/knals/qswnal/qswnal_cb.c
lustre/portals/knals/socknal/socknal.c
lustre/portals/knals/socknal/socknal.h
lustre/portals/knals/socknal/socknal_cb.c
lustre/portals/knals/toenal/toenal_cb.c
lustre/portals/portals/lib-move.c
lustre/portals/portals/lib-msg.c
lustre/portals/utils/acceptor.c
lustre/portals/utils/portals.c
lustre/portals/utils/ptlctl.c
lustre/portals/utils/wirecheck.c