Project

General

Profile

Actions

Feature #12330

closed

libtopo: add support for directed graph based topologies

Added by Rob Johnston over 2 years ago. Updated about 2 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Category:
-
Start date:
Due date:
% Done:

100%

Estimated time:
Difficulty:
Medium
Tags:
Gerrit CR:

Description

Libtopo currently only supports building topologies based on a tree structure. The problem is that not all topologies map naturally to a tree structure.

For example. network and fabric topologies are really graph structures. There is currently work underway at Joyent to model SAS-based storage fabrics in software with the eventual goal of enhancing SmartOS' ability to diagnose the underlying cause(s) of SCSI transport problems.

To help enable that effort, this ticket covers the work necessary to extend libtopo to support building topologies that are based on directed graph structures.

Specifically, this ticket will cover adding new APIs to libtopo for the following:
  • building digraphs
  • iterating over graph vertices
  • iterating over vertice edges
  • finding all paths between an arbitrary pair of vertices
  • serializing a graph-based topology to XML
  • deserialzing a graph-based topology from XML
Actions

Also available in: Atom PDF