We consider the DIRECTED STEINER NETWORK problem, also called the POINT-TO-POINT CONNECTION problem, where given a directed graph G and p pairs {(s1,t1),...,(sp,tp)} of nodes in the graph, one has to find the smallest subgraph H of G that contains paths from si to ti for all i. The problem is NP-hard for general p, since the DIRECTED STEINER TREE problem is a special case. Until now, the complexity was unknown for constant p 3. We prove that the problem is polynomially solvable if p is any constant number, even if nodes and edges in G are weighted and the goal is to minimize the total weight of the subgraph H. In addition, we give an efficient algorithm for the STRONGLY CONNECTED STEINER SUBGRAPH problem for any constant p, where given a directed graph and p nodes in the graph, one has to compute the smallest strongly connected subgraph containing the p nodes.