The customer need:
In the last decade broadband Internet and FFTH have become a comodity and with it came the need for cheap, bare-metal switches that can handle lots of traffic. In this context the incoming traffic needs also to prioritize certain types of traffic by using a different gateway.
Being bare-metal switches there is little software running on them and any application added there must be very light in order not to take resources from more important processes.
The deployment contains lots of devices that need to be controller from a central location and also each device must be aware of the other devices it is connected to.
OpenDaylight is a successful modular SDN controller that can be used to define flows for the different types of traffic and apply them on all devices through a custom OpenFlow module installed on the switch. This OpenFlow module communicates with the switch kernel driver and translates the abstract flow concept to the hardware settings the switch architecture supports. It is also responsible to discover its neighbor devices and report that information to the controller that uses it to display the network map.
Web traffic, torrents, voice and video are separated from the customer edge device and passed through different gateways, which also apply deep packet inspection per type of traffic.