This is a package that provides python support for userspace MAD
access.  To install system wide, do

    # python setup.py install

or privately:

    $ python setup.py install --home=<prefix>
    $ export PYTHONPATH=<prefix>/lib/python    # (or lib64/ on some systems)
    $ export PATH=$PATH:<prefix>/bin

Currently, the only use of this package is the 'dmcli' device
management client, which can be used to discover SRP targets as follows:

    # dmcli -t /sys/class/infiniband/mthca1/ports/1 -d /dev/infiniband/umad1 2
    IO Unit Info:
        max controllers:  1
    
        controller[  1]
        GUID:      0005ad00000015dd
        vendor ID: 0005ad
        device ID: 0005ad
        ID:         Topspin SRP/FC TCA
        service entries:  11
            service[  0]: 0000000000000066 / SRP.T10:21000004CF758882
            service[  1]: 0000000000000066 / SRP.T10:21000004CF92BDDA
            service[  2]: 0000000000000066 / SRP.T10:21000004CF92BE07
            service[  3]: 0000000000000066 / SRP.T10:21000004CF92BE12
            service[  4]: 0000000000000066 / SRP.T10:21000004CF92BE15
            service[  5]: 0000000000000066 / SRP.T10:21000004CF92BE24
            service[  6]: 0000000000000066 / SRP.T10:21000004CF92BE33
            service[  7]: 0000000000000066 / SRP.T10:21000004CF92C110
            service[  8]: 0000000000000066 / SRP.T10:21000004CF92C354
            service[  9]: 0000000000000066 / SRP.T10:21000004CF92C360
            service[ 10]: 0000000000000066 / SRP.T10:21000004CFE7A949

This shows a query being sent to LID 2 using the device
/dev/infiniband/umad1.  Since this target is a Topspin SRP gateway,
one has to do a SET of ClassPortInfo before querying, so the -t flag
is used to set the path to get the information to put in ClassPortInfo.

The query discovers one IO Unit, with one controller.  The controller
offers 11 SRP services.

The LID of the target is required before calling dmcli.

This will all be cleaned up in the future.
