  Network function virtualization is the key to developing elastically scalable
and fault-tolerant network functions (e.g. load balancer, firewall etc.). By
integrating NFV and SDN technologies, it is feasible to dynamically reroute
traffic to new network function (NF) instances in the event of an NF failure or
overload scenario. The fact that the majority of network functions are stateful
makes the task more challenging. State migration and state replication are
common approaches in achieving elasticity and fault tolerance. The majority of
the studies in the literature either emphasize fault tolerance or elastic
scalability while designing a state management system for network functions. In
this paper, we have designed a complete state management system, called DEFT,
that meets both elasticity and fault-tolerance goals. Our system also supports
strong consistency on global state updates. While existing designs rely on a
central controller or remote central storage to achieve strong consistency on
state updates, DEFT utilizes distributed consensus mechanism to achieve the
same. We have done a proof of concept implementation of DEFT and extensively
tested DEFT under several model conditions to evaluate its scalability and
performance. Our experimental results show that DEFT is scalable and maintains
a considerably high throughput throughout. It incurs minimal performance
overhead while achieving strong consistency on state updates.
