Making the data plane of a SDN flexible enough to satisfy the various requirements of heterogeneous IoT applications is very desirable for Software Defined IoT (SD-IoT) networking. The network device having programmable data plane provides an ability to add new packet and data processing procedures dynamically to the IoT applications. Previously proposed solutions for adding programmability to the SDN data plane provide extensibility for packet forwarding operations for new protocols, but IoT applications need more flexible programmability for in-network data processing operations e.g. data aggregation of sensing data from thousands of sensor nodes. Moreover, some IoT models such as OMG DDS, oneM2M, and Eclipse SCADA use publish-subscribe model, which is difficult to represent with the operations of existing message-centric data plane models. We introduce a new in-network data processing scheme for SD-IoT data plane. It defines an event-driven data processing model that can express various in-network data processing cases in the SD-IoT environment. It also proposes a language to program the data processing procedures using the model, and presents a flexible data plane structure that can install and execute the programs at runtime. We demonstrated flexibility of the proposing scheme with sample programs for some example SD-IoT cases.