A method implemented in a network element coupled to a software-defined networking, SDN, system, wherein the SDN system contains a set of network elements processing traffic flows and a SDN controller managing the set of network elements, the method comprising: creating a set of virtual tables for processing packets of traffic flows at the network element based on a set of flow tables of the network element, wherein the set of flow tables is ordered in a sequence; mapping each of the set of virtual tables to a single flow table of the set of flow tables, wherein the mapping causes at least one flow table being mapped to a plurality of the set of virtual tables; wherein at least one of the plurality of virtual tables includes an entry for match miss; including, in at least one flow table of the set of flow tables, a match field, a priority field, and an instructions field, in each entry; forwarding packets of traffic flows to the set of virtual tables for processing, wherein the processing comprises: upon receiving a packet of a traffic flow at a first virtual table, searching the match fields of the flow table mapped to the first virtual table to identify at least one flow entry matching the packet, upon finding the matching flow entry in the flow table mapped to the first virtual table, determining a corresponding set of actions of the matching flow entry in the first virtual table, performing the corresponding set of actions, and sending the packet to a second virtual table for further processing; and in case multiple matching entries for the packet from one of the at least one flow tables is identified, selecting the entry from among the multiple matching entries with the priority field indicating higher priority as the entry from which the network element determines, from the instructions field, the action. creating a set of virtual tables for processing packets of traffic flows at the network element based on a set of flow tables of the network element, wherein the set of flow tables is ordered in a sequence; mapping each of the set of virtual tables to a single flow table of the set of flow tables, wherein the mapping causes at least one flow table being mapped to a plurality of the set of virtual tables; wherein at least one of the plurality of virtual tables includes an entry for match miss; including, in at least one flow table of the set of flow tables, a match field, a priority field, and an instructions field, in each entry; forwarding packets of traffic flows to the set of virtual tables for processing, wherein the processing comprises: upon receiving a packet of a traffic flow at a first virtual table, searching the match fields of the flow table mapped to the first virtual table to identify at least one flow entry matching the packet, upon finding the matching flow entry in the flow table mapped to the first virtual table, determining a corresponding set of actions of the matching flow entry in the first virtual table, performing the corresponding set of actions, and sending the packet to a second virtual table for further processing; and upon receiving a packet of a traffic flow at a first virtual table, searching the match fields of the flow table mapped to the first virtual table to identify at least one flow entry matching the packet, upon finding the matching flow entry in the flow table mapped to the first virtual table, determining a corresponding set of actions of the matching flow entry in the first virtual table, performing the corresponding set of actions, and sending the packet to a second virtual table for further processing; and in case multiple matching entries for the packet from one of the at least one flow tables is identified, selecting the entry from among the multiple matching entries with the priority field indicating higher priority as the entry from which the network element determines, from the instructions field, the action.