ROFL-pipeline  v0.6.0dev
Data Structures | Macros | Typedefs | Enumerations | Functions | Variables
of_switch.h File Reference

OpenFlow logical switch meta-abstraction. More...

#include <inttypes.h>
#include "rofl.h"
#include "../switch_port.h"

Go to the source code of this file.

Data Structures

struct  of_switch
 OpenFlow-enabled switch abstraction (version-indepedent part). More...
 

Macros

#define __OF_VERSION_MAX   (OF_VERSION_13+1)
 
#define LOGICAL_SWITCH_MAX_LOG_PORTS   512
 
#define LOGICAL_SWITCH_MAX_LEN_NAME   32
 

Typedefs

typedef void of_switch_platform_state_t
 
typedef struct of_switch of_switch_t
 OpenFlow-enabled switch abstraction (version-indepedent part). More...
 
typedef of_switch_t of_switch_snapshot_t
 Switch snapshot. More...
 
typedef int of_packet_in_reason_t
 

Enumerations

enum  of_version_t { OF_VERSION_10 = 0x01, OF_VERSION_11 = 0x02, OF_VERSION_12 = 0x03, OF_VERSION_13 = 0x04 }
 

Functions

ROFL_BEGIN_DECLS rofl_result_t of_destroy_switch (const of_switch_t *sw)
 Destroys an OpenFlow logical switch. More...
 
rofl_result_t of_reconfigure_switch (of_switch_t *sw, of_version_t version)
 Reconfigures the pipeline to behave as an OF specific version pipeline. More...
 
void of_process_pipeline_tables_timeout_expirations (const of_switch_t *sw)
 Processes flow entry expirations in all the pipeline tables of the switch. More...
 
rofl_result_t __of_attach_port_to_switch_at_port_num (of_switch_t *sw, unsigned int port_num, switch_port_t *port)
 
rofl_result_t __of_attach_port_to_switch (of_switch_t *sw, switch_port_t *port, unsigned int *port_num)
 
rofl_result_t __of_detach_port_from_switch_by_port_num (of_switch_t *sw, unsigned int port_num)
 
rofl_result_t __of_detach_port_from_switch (of_switch_t *sw, switch_port_t *port)
 
rofl_result_t __of_detach_all_ports_from_switch (of_switch_t *sw)
 
rofl_result_t of_get_switch_matching_algorithms (of_version_t of_version, const char *const **name_list, int *count)
 Retrieves the list of available matching algorithms available for OF version of_version. More...
 
of_switch_snapshot_t__of_switch_get_snapshot (of_switch_t *sw)
 
void of_switch_destroy_snapshot (of_switch_snapshot_t *snapshot)
 Destroy a previously generated snapshot. More...
 

Variables

const char * of_version_str [__OF_VERSION_MAX]
 

Detailed Description

OpenFlow logical switch meta-abstraction.

Author
Marc Sune<marc.sune (at) bisdn.de>

The of_switch type contains the commonalities of an OpenFlow-enabled switch. of_switch structure is the version agnostic of any ofXX_switch type. Any version specific of_switch struct MUST share the same initial memory layout.

Definition in file of_switch.h.

Typedef Documentation

Switch snapshot.

Definition at line 84 of file of_switch.h.