This patch series adds specialized multicast support to torus-2QoS,
a new routing engine designed to handle large fabrics connected with a
2D/3D torus topology.  The original patch series adding torus-2QoS
can be found here: http://www.spinics.net/lists/linux-rdma/msg01438.html

This patch series is intended to be applied on top of the previous series.
Patches 1-7 are cleanup patches that fix issues in the previous series
that were discoverd during development of this series.  Patches 8-9 are
preparation patches that make it possible for a routing engine to 
generate spanning trees for multicast groups.  Patches 10-12 implement
the specialized multicast spanning tree support required by torus-2QoS.

As described for the previous patch series, the torus-2QoS engine can
provide the following functionality on a 2D/3D torus:
- routing that is free of credit loops
- two levels of QoS, assuming switches support 8 data VLs
- ability to route around a single failed switch, and/or multiple failed
    links, without
    - introducing credit loops
    - changing path SL values
- very short run times, with good scaling properties as fabric size
    increases

However, in order to provide this funcionality, torus-2QoS must employ
all 4 available SL bits, and 3 data VL bits.  Thus, there are no available
resources on which to confine multicast routing, and multicast spanning
trees must be constructed to overlay unicast routes in such a way that
no credit loops are possible.  This patch set implements that, and provides
the above functionality for all fabrics for which torus-2QoS can generate
unicast routes which are free of credit loops.

The last patch in the series updates opensm/doc/current-routing.txt with
a description of how torus-2QoS generates spanning trees with the 
desired properties.


Jim Schutt (12):
  opensm: Make error message for torus-2QoS dateline specification
    match code check.
  opensm: torus-2QoS should fail to route if message deadlock is
    possible.
  opensm: Remove unused port specification from torus-2QoS config file
    parsing.
  opensm: Fix up some torus-2QoS comments to match code.
  opensm: Enforce torus-2QoS link ordering convention.
  opensm: Remove redundant function names in torus-2QoS logging.
  opensm: Make torus-2QoS always use OSM_LOG_INFO, never LOG_INFO.
  opensm: Add struct osm_routing_engine callback to build spanning
    trees for multicast.
  opensm: Make mcast_mgr_purge_tree() available outside
    osm_mcast_mgr.c.
  opensm: Implement master spanning tree for torus-2QoS multicast
    support.
  opensm: Implement multicast support for torus-2QoS.
  opensm: Update documentation to describe torus-2QoS multicast
    support.

 opensm/doc/current-routing.txt        |  121 ++++-
 opensm/include/opensm/osm_multicast.h |   33 ++
 opensm/include/opensm/osm_opensm.h    |    6 +
 opensm/opensm/osm_mcast_mgr.c         |   11 +-
 opensm/opensm/osm_ucast_torus.c       | 1001 +++++++++++++++++++++++++--------
 5 files changed, 931 insertions(+), 241 deletions(-)


--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to