ROFL-pipeline  v0.6.0dev
of1x_flow_table_pp.h
1 /* This Source Code Form is subject to the terms of the Mozilla Public
2  * License, v. 2.0. If a copy of the MPL was not distributed with this
3  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
4 
5 #ifndef __OF1X_FLOW_TABLE_PPH__
6 #define __OF1X_FLOW_TABLE_PPH__
7 
8 #include <stdlib.h>
9 #include <stdbool.h>
10 #include <inttypes.h>
11 #include <stdint.h>
12 #include "rofl.h"
13 #include "../../../util/pp_guard.h" //Never forget to include the guard
14 #include "../../../common/datapacket.h"
15 #include "matching_algorithms/available_ma_pp.h"
16 #include "of1x_flow_table.h"
17 
18 //C++ extern C
19 ROFL_BEGIN_DECLS
20 
21 /*
22 * Entry lookup. This should never be used directly
23 */
24 /* Main process_packet_through */
25 static inline struct of1x_flow_entry* __of1x_find_best_match_table(unsigned int tid, struct of1x_flow_table *const table, datapacket_t *const pkt){
26  return __of1x_matching_algorithms_find_best_match(tid, table->matching_algorithm, table, pkt);
27 }
28 
29 //C++ extern C
30 ROFL_END_DECLS
31 
32 #endif //OF1X_FLOW_TABLE_PP
OpenFlow v1.0, 1.2 and 1.3.2 flow table abstraction.
OpenFlow v1.0, 1.2 and 1.3.2 flow entry structure.
OpenFlow v1.0, 1.2 and 1.3.2 flow table abstraction.
Data packet abstraction.
Definition: datapacket.h:49