It is not difficult to implement the circuit-switching algorithm just described on a multi-Benes network. The main difference between routing through a multi-Benes network and a multibutterfly network is that in the first half of the multi-Benes network, a path at a merger input is free to extend to any of the 2d neighboring outputs. As the following definition and lemma show, the mergers have an unshared-neighbor property analogous to that of the splitters.
In order to route around existing paths in a multi-Benes network, we combine the circuit-switching algorithm with the kind of analysis used in Section 3. To do so, we need to modify the definition of being blocked. A splitter input on level l, , is blocked if more than of its d up (or down) neighbors on level l+1 are busy or blocked. A merger input on level l, , is blocked if more than of its 2d neighbors on level l+1 are either busy of blocked. Any node that is not blocked is considered to be working.