5 #ifndef __OF1X_PIPELINE_H__
6 #define __OF1X_PIPELINE_H__
12 #include "../../../common/bitmap.h"
13 #include "../../../common/datapacket.h"
14 #include "../../of_switch.h"
16 #define OF1X_MAX_FLOWTABLES 255 //As per 1.2 spec
17 #define OF1X_FLOW_TABLE_ALL 0xFF //As per 1.2 spec
18 #define OF1X_DEFAULT_MISS_SEND_LEN 128 //As per 1.2 spec
31 OF1X_CAP_FLOW_STATS = 1 << 0,
32 OF1X_CAP_TABLE_STATS = 1 << 1,
33 OF1X_CAP_PORT_STATS = 1 << 2,
34 OF1X_CAP_GROUP_STATS = 1 << 3,
35 OF1X_CAP_IP_REASM = 1 << 5,
36 OF1X_CAP_QUEUE_STATS = 1 << 6,
37 OF1X_CAP_ARP_MATCH_IP = 1 << 7,
38 OF1X_CAP_PORT_BLOCKED = 1 << 8,
41 OF1X_CAP_STP = 1 << 31
53 unsigned int num_of_tables;
56 unsigned int num_of_buffers;
59 bitmap32_t capabilities;
62 uint16_t miss_send_len;
81 rofl_result_t __of1x_init_pipeline(
struct of1x_switch* sw,
const unsigned int num_of_tables,
enum of1x_matching_algorithm_available* list);
88 rofl_result_t __of1x_set_pipeline_tables_defaults(
of1x_pipeline_t* pipeline, of_version_t version);
104 #endif //OF1X_PIPELINE
struct of1x_pipeline of1x_pipeline_t
OpenFlow v1.0, 1.2 and 1.3.2 pipeline abstraction data structure.
OpenFlow v1.0, 1.2 and 1.3.2 flow table abstraction.
OpenFlow-enabled v1.0, 1.2 and 1.3.2 switch abstraction.
OpenFlow v1.0, 1.2 and 1.3.2 flow table abstraction.
of1x_capabilities
Capabilities supported by the datapath pipeline.
OpenFlow v1.0, 1.2 and 1.3.2 pipeline abstraction data structure.
OpenFlow v1.0, 1.2 and 1.3.2 group table subsystem.