The virtualization and softwarization of modern computer networks introduces interesting new opportunities for a more flexible placement of network functions and middleboxes (firewalls, proxies, traffic optimizers, virtual switches, etc.). This paper studies approximation algorithms for the incremental deployment of a minimum number of middleboxes at optimal locations, such that capacity constraints at the middleboxes and length constraints on the communication routes are respected. Our main contribution is a new, purely combinatorial and rigorous proof for the submodularity of the function maximizing the number of communication requests that can be served by a given set of middleboxes. Our proof allows us to devise a deterministic approximation algorithm which uses an augmenting path approach to compute the submodular function. This algorithm does not require any changes to the locations of existing middleboxes or the preemption of previously served communication pairs when additional middleboxes are deployed, previously accepted communication pairs just can be handed over to another middlebox. It is hence particularly attractive for incremental deployments.We prove that the achieved polynomial-time approximation bound is optimal, unless P = NP. This paper also initiates the study of a weighted problem variant, in which entire groups of nodes need to communicate via a middlebox (e.g., a multiplexer or a shared object), possibly at different rates. We present an LP relaxation and randomized rounding algorithm for this problem, leveraging an interesting connection to scheduling.