Software-defined networking (SDN) separates network control from packet forwarding. SDN is great for experimenters, as we get to tinker with how the network runs, without having to worry about moving packets.
To play with SDN in your home network you’ll need a device to do the packet forwarding, under control of your software.
I’ve added instructions on how to build a home SDN lab that leverages a common consumer-grade TP-Link home router repurposed as an OpenFlow switch, including Wi-Fi.
Instructions for the build are at:
https://nmeta.readthedocs.io/en/master/userguide/build_a_lab.html
There are also pre-compiled router images if you don’t want to have to compile it yourself at:
https://github.com/mattjhayes/TP-Link-TL-1043ND-OpenvSwitch
I run this lab as my home network (excluding Internet router), using it for parental controls through the nmeta app (see: https://nmeta.readthedocs.io/en/master/userguide/recipes.html#parental-control-recipe ).
The performance for small set of devices on my home network is fine, indistinguishable to users, including watching HD Netflix over it. The visibility down to flow and identity level is also very interesting.
Have fun experimenting.