1. A method for discovery of topology of devices in a network, comprising: discovering devices in the network; discovering connections between the devices; and discovering multi-layer paths between devices in the network along the connections, wherein a multi-layer path is defined as a layer-3 path interleaved with a layer-2 path on each layer-3 hop, wherein discovering a multi-layer path includes identifying the layer-3 path, identifying the layer-2 path for each hop on the layer-3 path, and combining the identified paths.