ROFL-pipeline  v0.6.0dev
of1x_loop_ma.h
1 #ifndef __OF1X_LOOP_MATCH_H__
2 #define __OF1X_LOOP_MATCH_H__
3 
4 #include "rofl.h"
5 #include "../matching_algorithms.h"
6 #include "../../of1x_flow_table.h"
7 
8 //C++ extern C
9 ROFL_BEGIN_DECLS
10 
11 rofl_of1x_fm_result_t __of1x_add_flow_entry_loop(of1x_flow_table_t *const table, of1x_flow_entry_t *const entry, bool check_overlap, bool reset_counts, void (*ma_hook_ptr)(of1x_flow_entry_t*));
12 
13 rofl_of1x_fm_result_t of1x_add_flow_entry_loop(of1x_flow_table_t *const table, of1x_flow_entry_t *const entry, bool check_overlap, bool reset_counts);
14 
15 rofl_result_t __of1x_modify_flow_entry_loop(of1x_flow_table_t *const table, of1x_flow_entry_t *const entry, const enum of1x_flow_removal_strictness strict, bool reset_counts, void (*ma_add_hook_ptr)(of1x_flow_entry_t*), void (*ma_modify_hook_ptr)(of1x_flow_entry_t*));
16 
17 rofl_result_t of1x_modify_flow_entry_loop(of1x_flow_table_t *const table, of1x_flow_entry_t *const entry, const enum of1x_flow_removal_strictness strict, bool reset_counts);
18 
19 rofl_result_t __of1x_remove_flow_entry_loop(of1x_flow_table_t *const table , of1x_flow_entry_t *const entry, of1x_flow_entry_t *const specific_entry, const enum of1x_flow_removal_strictness strict, uint32_t out_port, uint32_t out_group, of1x_flow_remove_reason_t reason, of1x_mutex_acquisition_required_t mutex_acquired, void (*ma_hook_ptr)(of1x_flow_entry_t*));
20 
21 rofl_result_t of1x_remove_flow_entry_loop(of1x_flow_table_t *const table , of1x_flow_entry_t *const entry, of1x_flow_entry_t *const specific_entry, const enum of1x_flow_removal_strictness strict, uint32_t out_port, uint32_t out_group, of1x_flow_remove_reason_t reason, of1x_mutex_acquisition_required_t mutex_acquired);
22 
23 
24 rofl_result_t of1x_get_flow_stats_loop(struct of1x_flow_table *const table,
25  uint64_t cookie,
26  uint64_t cookie_mask,
27  uint32_t out_port,
28  uint32_t out_group,
29  of1x_match_group_t *const matches,
31 
32 rofl_result_t of1x_get_flow_aggregate_stats_loop(struct of1x_flow_table *const table,
33  uint64_t cookie,
34  uint64_t cookie_mask,
35  uint32_t out_port,
36  uint32_t out_group,
37  of1x_match_group_t *const matches,
39 
40 of1x_flow_entry_t* of1x_find_entry_using_group_loop(of1x_flow_table_t *const table, const unsigned int group_id);
41 
42 rofl_result_t of1x_destroy_loop(struct of1x_flow_table *const table);
43 
44 //C++ extern C
45 ROFL_END_DECLS
46 
47 #endif //LOOP_MATCH
OpenFlow v1.0, 1.2 and 1.3.2 flow entry structure.
enum of1x_flow_remove_reason of1x_flow_remove_reason_t
Flow remove reasons (enum ofp_flow_removed_reason)
OpenFlow v1.0, 1.2 and 1.3.2 flow table abstraction.
of1x_flow_removal_strictness
Flow removal operations strictness.
Linked list containing all the individual flow stats.
enum rofl_of1x_fm_result rofl_of1x_fm_result_t
Extended flowmod return codes.
Aggregated flow stats message.