  Given a directed graph $G$ and a list $(s_1,t_1),\dots,(s_d,t_d)$ of terminal
pairs, the Directed Steiner Network problem asks for a minimum-cost subgraph of
$G$ that contains a directed $s_i\to t_i$ path for every $1\le i \le k$. The
special case Directed Steiner Tree (when we ask for paths from a root $r$ to
terminals $t_1,\dots,t_d$) is known to be fixed-parameter tractable
parameterized by the number of terminals, while the special case Strongly
Connected Steiner Subgraph (when we ask for a path from every $t_i$ to every
other $t_j$) is known to be W[1]-hard. We systematically explore the complexity
landscape of directed Steiner problems to fully understand which other special
cases are FPT or W[1]-hard. Formally, if $\mathcal{H}$ is a class of directed
graphs, then we look at the special case of Directed Steiner Network where the
list $(s_1,t_1),\dots,(s_d,t_d)$ of requests form a directed graph that is a
member of $\mathcal{H}$. Our main result is a complete characterization of the
classes $\mathcal{H}$ resulting in fixed-parameter tractable special cases: we
show that if every pattern in $\mathcal{H}$ has the combinatorial property of
being "transitively equivalent to a bounded-length caterpillar with a bounded
number of extra edges," then the problem is FPT, and it is W[1]-hard for every
recursively enumerable $\mathcal{H}$ not having this property. This complete
dichotomy unifies and generalizes the known results showing that Directed
Steiner Tree is FPT [Dreyfus and Wagner, Networks 1971], $q$-Root Steiner Tree
is FPT for constant $q$ [Such\'y, WG 2016], Strongly Connected Steiner Subgraph
is W[1]-hard [Guo et al., SIAM J. Discrete Math. 2011], and Directed Steiner
Network is solvable in polynomial-time for constant number of terminals
[Feldman and Ruhl, SIAM J. Comput. 2006], and moreover reveals a large
continent of tractable cases that were not known before.
