 (or more) networks that are reachable via the VNF. Therefore, routing packets through the middle box VNF is a fundamental attribute of such VNFs. See Section 3.1.3 for examples of middle box VNFs. Resilient design of host VNFs is straightforward. The designer can generally rely on the under- lying cloud platform (server clusters and cloud software) to deliver high availability by relocat- ing the VNF to another server in the event of a server failure. VMWare's Distributed Resource Scheduler (VMWare, Introduction to VMware DRS and VMware HA Clusters, n.d.) and KVM's Live Migration (KVM, n.d.) are examples of cloud platform capabilities that are used by host VNFs in order to achieve high availability. Resilient design of a middle-box VNF is a harder problem. Middle-box VNFs typically imple- ment stateful functions. VNFs need to maintain states needed for one or more of the following features: Routing Static routes, default routes, BGP routes, OSPF routes DHCP reservations Traffic shapers (e.g., Leaky buckets and peak rate shapers for enforcing SLAs) Statistics Counters for tracking usage-based billing or OAM functions Connection state Flow state (User datagram protocol [UDP] or TCP flows) for firewall or network address translation (NAT) IPSEC sessions (credentials, session keys) Compression state (block-level compression) for WAN acceleration 3.4.1 MULTIPATH AND DISTRIBUTED VNF DESIGNS Middle box VNFs may have to support forwarding of packets over multiple network paths that exist between a source and destination. Such parallel paths are called equal-cost paths. The VNF needs to manage control information used for routing packets over multiple equal-cost paths. Clouds enable resiliency and scale out by allowing VFs to be distributed across a cluster of servers SO that the failure of a single instance of a VF does not interrupt service to end users. Managing certain networking states requires a single instantiation of the VNF and therefore may not easily support splitting and distributing the VNF function across m