SDN refers to separating the network control plane from the forwarding plane. There are two main architectural approaches for SDN: overlay models which use tunneling/encapsulation, and underlay models which manipulate flows and use a centralized controller. Open vSwitch is commonly used as the software switch in OpenStack and supports SDN protocols like OpenFlow. OpenStack's Neutron project provides APIs for SDN controllers to integrate with and configure virtual networks. OpenDaylight is an open source SDN controller that can be used with OpenStack for features like L3 routing, LBaaS, and direct integration between Nova and Open vSwitch.