Though I have very minimal knowledge in this area I'll write here what I know. Please correct me wherever I am wrong.
SDN stands for software defined network and it is mainly used for L2 switch whose jobs is to forward the received packets from one port to another port based on the flow table rules.
SDN switches work based on match and actions. Flow tables contain various match criteria such as "source ip address", "destination ip address", "protocol" and action would be either drop the packet, forward the packet, change the few fields and then forward the packet" or send the packet to the controller if there is no match found.