Good question.
First, as I indicated in What Exactly is SDN?What Exactly is SDN?, if it ain't running the trademarked OpenFlow® protocol, it ain't SDN, it's SDN Fashioned. OpenFlow®'s owner, the ONF, spells out a Software-Defined Networking (SDN) Definition which specifies that the OpenFlow® protocol is a foundational element for building SDN solutions.
Cisco, for example, owns and markets an SDN fashioned solution called Cisco Application Centric Infrastructure (ACI) which they say is better and more feature rich than plain old SDN w/ OpenFlow®. Cisco also markets a pre-packaged plug&play SDN fashioned product called Cisco Meraki.
VMWare offers an SDN fashioned product called NSX. With their solution, the SDN functionality is an overlay. They basically tunnel/encapsulate another network on top of the existing underlying IP network and Ethernet switches.
Finally, to answer your question, in order for an Ethernet switch to be controlled by an SDN controller it must speak OpenFlow® or some vendor specific flavor of something similar such as Cisco's OpFlex.