I was reading this paper recently, and saw that we can do a lot of things using software to control our networks. The focus here is split the network in two (or more) sides: control plane and data plane.
Nonetheless, it's possible to use our legacy devices with new firmwares to do that. For example, the old Linksys WRT54G router can use OpenFlow 1.0.