  We present an architectural design and a reference implementation for
horizontal scaling of virtual network function chains. Our solution does not
require any changes to network functions and is able to handle stateful network
functions for which states may depend on both directions of the traffic. We use
connection-aware traffic load balancers based on hashing function to maintain
mappings between connections and the dynamically changing network function
chains. Our references implementation uses OpenFlow switches to route traffic
to the assigned network function instances according to the load balancer
decisions. We conducted extensive simulations to test the feasibility of the
architecture and evaluate the performance of our implementation.
