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

OpenFlow v1.0, 1.2 and 1.3.2 timers subsystem. More...

#include <stdlib.h>
#include <inttypes.h>
#include <sys/time.h>
#include "rofl.h"

Go to the source code of this file.

Data Structures

struct  of1x_entry_timer
 
struct  of1x_timers_info
 
struct  of1x_timer_list
 
struct  of1x_timer_group
 

Macros

#define OF1X_TIMER_SLOT_MS   1000
 
#define OF1X_TIMER_STATIC_ALLOCATION_SLOTS   1
 
#define OF1X_TIMER_GROUPS_MAX   65536
 

Typedefs

typedef struct of1x_entry_timer of1x_entry_timer_t
 
typedef struct of1x_timers_info of1x_timers_info_t
 
typedef struct of1x_timer_list of1x_timer_list_t
 
typedef struct of1x_timer_group of1x_timer_group_t
 

Enumerations

enum  of1x_timer_timeout_type_t { HARD_TO =0, IDLE_TO =1 }
 

Functions

ROFL_BEGIN_DECLS rofl_result_t __of1x_add_timer (struct of1x_flow_table *const table, struct of1x_flow_entry *const entry)
 
rofl_result_t __of1x_destroy_timer_entries (struct of1x_flow_entry *entry)
 of1x_destroy_timer_entry When a flow entry is removed from the table this function will be called in order to remove the timer enrties associated as well (this function will only be called from outside of the timers structure and assumes that the mutex is already locked.) More...
 
void __of1x_process_pipeline_tables_timeout_expirations (struct of1x_pipeline *const pipeline)
 
void __of1x_dump_timers_structure (of1x_timer_group_t *timer_group)
 of1x_dump_timers_structure this function is ment to show the timer groups existing and the entries related More...
 
rofl_result_t __of1x_timer_group_static_init (struct of1x_flow_table *table)
 of1x_timer_group_static_init initializes the timeout values initializes the values for the entry lists More...
 
void __of1x_timer_group_static_destroy (struct of1x_flow_table *table)
 of1x_timer_group_static_destroy Destroys the timers table initializes the values for the entry lists More...
 
void __of1x_fill_new_timer_entry_info (struct of1x_flow_entry *entry, uint32_t hard_timeout, uint32_t idle_timeout)
 of1x_fill_new_timer_entry_info initialize the values for a new the timer entry More...
 
uint64_t __of1x_get_expiration_time_slotted (uint32_t timeout, struct timeval *now)
 of1x_get_expiration_time_slotted More...
 
uint64_t __of1x_get_time_ms (struct timeval *time)
 transforms the timeval to a single uint64_t unit time in miliseconds More...
 
static void __of1x_reset_last_packet_count_idle_timeout (of1x_timers_info_t *timer_info)
 

Detailed Description

OpenFlow v1.0, 1.2 and 1.3.2 timers subsystem.

Author
Victor Alvarez<victor.alvarez (at) bisdn.de>
Warning
This is an internal subsystem and should never be used outside the pipeline

Definition in file of1x_timers.h.

Function Documentation

rofl_result_t __of1x_destroy_timer_entries ( struct of1x_flow_entry entry)

of1x_destroy_timer_entry When a flow entry is removed from the table this function will be called in order to remove the timer enrties associated as well (this function will only be called from outside of the timers structure and assumes that the mutex is already locked.)

Definition at line 335 of file of1x_timers.c.

void __of1x_dump_timers_structure ( of1x_timer_group_t timer_group)

of1x_dump_timers_structure this function is ment to show the timer groups existing and the entries related

Definition at line 52 of file of1x_timers.c.

void __of1x_fill_new_timer_entry_info ( struct of1x_flow_entry entry,
uint32_t  hard_timeout,
uint32_t  idle_timeout 
)

of1x_fill_new_timer_entry_info initialize the values for a new the timer entry

Definition at line 21 of file of1x_timers.c.

uint64_t __of1x_get_expiration_time_slotted ( uint32_t  timeout,
struct timeval *  now 
)

of1x_get_expiration_time_slotted

Definition at line 100 of file of1x_timers.c.

uint64_t __of1x_get_time_ms ( struct timeval *  time)
inline

transforms the timeval to a single uint64_t unit time in miliseconds

Definition at line 89 of file of1x_timers.c.

void __of1x_timer_group_static_destroy ( struct of1x_flow_table table)

of1x_timer_group_static_destroy Destroys the timers table initializes the values for the entry lists

Definition at line 151 of file of1x_timers.c.

rofl_result_t __of1x_timer_group_static_init ( struct of1x_flow_table table)

of1x_timer_group_static_init initializes the timeout values initializes the values for the entry lists

Definition at line 121 of file of1x_timers.c.