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

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

#include <inttypes.h>
#include <sys/time.h>
#include <string.h>
#include "rofl.h"
#include "of1x_group_types.h"
#include "../../../platform/lock.h"

Go to the source code of this file.

Data Structures

struct  __of1x_stats_flow_tid
 
struct  of1x_stats_flow
 
union  of1x_stats_flow::__of1x_stats_flow_tids
 
struct  __of1x_stats_table_tid
 
struct  of1x_stats_table
 
union  of1x_stats_table::__of1x_stats_table_tids
 
struct  __of1x_stats_bucket_tid
 
struct  __of1x_stats_bucket
 
union  __of1x_stats_bucket::__of1x_stats_bucket_tids
 
struct  __of1x_stats_group_tid
 
struct  of1x_stats_group
 
union  of1x_stats_group::__of1x_stats_group_tids
 
struct  of1x_stats_single_flow_msg
 Single flow entry stats message. More...
 
struct  of1x_stats_flow_msg
 Linked list containing all the individual flow stats. More...
 
struct  of1x_stats_flow_aggregate_msg
 Aggregated flow stats message. More...
 
struct  of1x_stats_group_msg
 
struct  of1x_stats_bucket_desc_msg
 
struct  of1x_stats_group_desc_msg
 

Macros

#define OF1X_STATS_NS_IN_A_SEC   1000000000
 

Typedefs

typedef struct
__of1x_stats_flow_tid 
__of1x_stats_flow_tid_t
 
typedef struct of1x_stats_flow of1x_stats_flow_t
 
typedef struct
__of1x_stats_table_tid 
__of1x_stats_table_tid_t
 
typedef struct of1x_stats_table of1x_stats_table_t
 
typedef struct
__of1x_stats_bucket_tid 
__of1x_stats_bucket_tid_t
 
typedef __of1x_stats_bucket_tid_t of1x_stats_bucket_t
 
typedef struct __of1x_stats_bucket __of1x_stats_bucket_t
 
typedef struct
__of1x_stats_group_tid 
__of1x_stats_group_tid_t
 
typedef struct of1x_stats_group of1x_stats_group_t
 
typedef struct
of1x_stats_single_flow_msg 
of1x_stats_single_flow_msg_t
 Single flow entry stats message. More...
 
typedef struct of1x_stats_flow_msg of1x_stats_flow_msg_t
 Linked list containing all the individual flow stats. More...
 
typedef struct
of1x_stats_flow_aggregate_msg 
of1x_stats_flow_aggregate_msg_t
 Aggregated flow stats message. More...
 
typedef struct of1x_stats_group_msg of1x_stats_group_msg_t
 
typedef struct
of1x_stats_bucket_desc_msg 
of1x_stats_bucket_desc_msg_t
 
typedef struct
of1x_stats_group_desc_msg 
of1x_stats_group_desc_msg_t
 

Functions

ROFL_BEGIN_DECLS void __of1x_init_flow_stats (struct of1x_flow_entry *entry)
 operations in statistics.c More...
 
void __of1x_destroy_flow_stats (struct of1x_flow_entry *entry)
 of1x_stats_flow_destroy basically destroys the mutex More...
 
void __of1x_push_single_flow_stats_to_msg (of1x_stats_flow_msg_t *msg, of1x_stats_single_flow_msg_t *sfs)
 
of1x_stats_single_flow_msg_t__of1x_init_stats_single_flow_msg (struct of1x_flow_entry *entry)
 
void __of1x_destroy_stats_single_flow_msg (of1x_stats_single_flow_msg_t *msg)
 
of1x_stats_flow_msg_t__of1x_init_stats_flow_msg (void)
 
void of1x_destroy_stats_flow_msg (of1x_stats_flow_msg_t *msg)
 Destroy a flow_stats message. More...
 
of1x_stats_flow_aggregate_msg_t__of1x_init_stats_flow_aggregate_msg (void)
 
void of1x_destroy_stats_flow_aggregate_msg (of1x_stats_flow_aggregate_msg_t *msg)
 Destroy aggreagated flow_stats message. More...
 
void of1x_stats_flow_get_duration (struct of1x_flow_entry *entry, uint32_t *sec, uint32_t *nsec)
 Get the duration of the flow_entry. More...
 
void __of1x_stats_flow_reset_counts (struct of1x_flow_entry *entry)
 of1x_stats_flow_reset_counts More...
 
static void __of1x_stats_flow_consolidate (of1x_stats_flow_t *stats, __of1x_stats_flow_tid_t *c)
 
static void __of1x_stats_copy_flow_stats (of1x_stats_flow_t *origin, of1x_stats_flow_t *copy)
 
void __of1x_stats_table_init (struct of1x_flow_table *table)
 Initializes table statistics state. More...
 
void __of1x_stats_table_destroy (struct of1x_flow_table *table)
 Destroys table statistics state. More...
 
static void __of1x_stats_table_consolidate (of1x_stats_table_t *stats, __of1x_stats_table_tid_t *c)
 
void __of1x_init_group_stats (of1x_stats_group_t *group_stats)
 
void __of1x_destroy_group_stats (of1x_stats_group_t *group_stats)
 
static void __of1x_stats_group_consolidate (of1x_stats_group_t *stats, __of1x_stats_group_tid_t *c)
 
static void __of1x_stats_bucket_consolidate (__of1x_stats_bucket_t *stats, __of1x_stats_bucket_tid_t *c)
 
void __of1x_stats_group_inc_reference (of1x_stats_group_t *gr_stats)
 
void __of1x_stats_group_dec_reference (of1x_stats_group_t *gr_stats)
 
of1x_stats_group_msg_tof1x_get_group_stats (struct of1x_pipeline *pipeline, uint32_t id)
 Retrieves the statistics of a groupReturns a structure with the statistics that needs to be freed by the calling element. More...
 
void of1x_destroy_stats_group_msg (of1x_stats_group_msg_t *msg)
 Frees memory of statistics messageNeeds to be called after retrieving the statistics of the groups. More...
 
void __of1x_init_bucket_stats (__of1x_stats_bucket_t *bc_stats)
 
void __of1x_destroy_buckets_stats (__of1x_stats_bucket_t *bc_stats)
 
of1x_stats_flow_msg_tof1x_get_flow_stats (struct of1x_pipeline *pipeline, uint8_t table_id, uint32_t cookie, uint32_t cookie_mask, uint32_t out_port, uint32_t out_group, struct of1x_match_group *matchs)
 Retrieves individual flow stats. More...
 
of1x_stats_flow_aggregate_msg_tof1x_get_flow_aggregate_stats (struct of1x_pipeline *pipeline, uint8_t table_id, uint32_t cookie, uint32_t cookie_mask, uint32_t out_port, uint32_t out_group, struct of1x_match_group *matchs)
 Retrieves aggregated flow stats. More...
 
void of1x_destroy_group_desc_stats (of1x_stats_group_desc_msg_t *msg)
 Frees the memory for a of1x_stats_group_desc_msg_t structure. More...
 
of1x_stats_group_desc_msg_tof1x_get_group_desc_stats (struct of1x_pipeline *pipeline)
 Retrieves a copy of the group and bucket structure. More...
 

Detailed Description

OpenFlow v1.0, 1.2 and 1.3.2 statistics subsystem.

Author
Victor Alvarez<victor.alvarez (at) bisdn.de>, Marc Sune<marc.sune (at) bisdn.de>

Definition in file of1x_statistics.h.

Function Documentation

void __of1x_destroy_flow_stats ( struct of1x_flow_entry entry)

of1x_stats_flow_destroy basically destroys the mutex

Definition at line 46 of file of1x_statistics.c.

ROFL_BEGIN_DECLS void __of1x_init_flow_stats ( of1x_flow_entry_t entry)

operations in statistics.c

operations in statistics.c

Need to see in which are the input parameters that make it easyer and logic of1x_stats_flow_init stores the time when the flow entry was created

Definition at line 29 of file of1x_statistics.c.

void __of1x_stats_flow_reset_counts ( struct of1x_flow_entry entry)

of1x_stats_flow_reset_counts

Definition at line 187 of file of1x_statistics.c.

void __of1x_stats_table_destroy ( struct of1x_flow_table table)

Destroys table statistics state.

Definition at line 221 of file of1x_statistics.c.

void __of1x_stats_table_init ( struct of1x_flow_table table)

Initializes table statistics state.

Definition at line 210 of file of1x_statistics.c.