ROFL-hal  v0.6.0dev
of1x_cmm.h
Go to the documentation of this file.
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_CMM_H
6 #define OF1X_CMM_H
7 
8 #include <inttypes.h>
9 #include <rofl/datapath/pipeline/common/packet_matches.h>
10 #include <rofl/datapath/pipeline/openflow/openflow1x/of1x_switch.h>
11 #include <rofl/datapath/pipeline/openflow/openflow1x/pipeline/of1x_flow_entry.h>
12 #include "../../hal.h"
13 #include "../../hal_utils.h"
14 
22 //C++ extern C
23 HAL_BEGIN_DECLS
24 
40  uint8_t table_id,
41  uint8_t reason,
42  uint32_t in_port,
43  uint32_t buffer_id,
44  uint64_t cookie,
45  uint8_t* pkt_buffer,
46  uint32_t buf_len,
47  uint16_t total_len,
48  packet_matches_t* matches);
49 
59  uint8_t reason,
60  of1x_flow_entry_t* removed_flow_entry);
61 
62 //C++ extern C
63 HAL_END_DECLS
64 
65 #endif /* OF1X_CMM_H */
66 
67 
HAL_BEGIN_DECLS hal_result_t hal_cmm_process_of1x_packet_in(uint64_t dpid, uint8_t table_id, uint8_t reason, uint32_t in_port, uint32_t buffer_id, uint64_t cookie, uint8_t *pkt_buffer, uint32_t buf_len, uint16_t total_len, packet_matches_t *matches)
Instructs the CMM to process a PACKET_IN event comming from the DP.
hal_result_t hal_cmm_process_of1x_flow_removed(uint64_t dpid, uint8_t reason, of1x_flow_entry_t *removed_flow_entry)
Instructs the CMM to process a FLOW_REMOVED event comming from the DP.
enum hal_result hal_result_t
HAL return values.