oller OpenFlow OpenFlow switch OpenFlow OpenFlow channel channel Control channel Group Meter table table table table table Pipeline Figure 1.11 Main components of an OpenFlow switch [49]. configure the network devices in order to find the best path for application traffic. OpenFlow controllers create a central control point to manage OpenFlow-enabled network components. An OpenFlow logical switch (see Fig. 1.11) consists of one or more flow tables and a group table, which perform packet lookups and forwarding, and one or more OpenFlow channels to an external controller. The switch communicates with the controller and the controller manages the switch via the OpenFlow switch protocol. Using the OpenFlow switch protocol, the controller can add, update, and delete flow entries in flow tables, both reactively (in response to packets) and proactively. As shown in Fig. 1.10, each flow table in the switch contains a set of flow entries; each flow entry consists of match fields, counters, and a set of instructions to apply to matching packets. Matching starts at the first 5G Network Architecture flow table and may continue to additional flow tables of the pipeline. Flow entries match packets in priority order, with the first matching entry in each table being used. If a matching entry is found, the instructions associated with the specific flow entry are exe- cuted. If no match is found in a flow table, the outcome depends on configuration of the table-miss flow entry, for example, the packet may be forwarded to the controllers over the OpenFlow channel, dropped, or may continue to the next flow table. Instructions asso- ciated with each flow entry either contain actions or modify pipeline processing. Actions included in instructions describe packet forwarding, packet modification, and group table processing. Pipeline processing instructions allow packets to be sent to subsequent tables for further processing and allow information, in the form of meta-data, to be com- municated between tables. Table pipeline processing s