8 #ifndef COFASYNCCONFIG_H_
9 #define COFASYNCCONFIG_H_
16 #include "rofl/common/logging.h"
17 #include "rofl/common/croflexception.h"
18 #include "rofl/common/openflow/openflow.h"
19 #include "rofl/common/openflow/openflow_rofl_exceptions.h"
27 std::map<uint8_t, uint32_t> packet_in_mask;
28 std::map<uint8_t, uint32_t> port_status_mask;
29 std::map<uint8_t, uint32_t> flow_removed_mask;
34 uint32_t packet_in_mask[2];
35 uint32_t port_status_mask[2];
36 uint32_t flow_removed_mask[2];
45 uint8_t ofp_version = rofl::openflow::OFP_VERSION_UNKNOWN);
85 pack(uint8_t* buf,
size_t buflen);
91 unpack(uint8_t* buf,
size_t buflen);
99 get_version()
const {
return ofp_version; };
105 set_version(uint8_t ofp_version) { this->ofp_version = ofp_version; };
111 get_packet_in_mask_master()
const;
117 set_packet_in_mask_master(uint32_t packet_in_mask_master);
123 set_packet_in_mask_master();
129 get_packet_in_mask_slave()
const;
135 set_packet_in_mask_slave(uint32_t packet_in_mask_slave);
141 set_packet_in_mask_slave();
148 get_port_status_mask_master()
const;
154 set_port_status_mask_master(uint32_t port_status_mask_master);
160 set_port_status_mask_master();
166 get_port_status_mask_slave()
const;
172 set_port_status_mask_slave(uint32_t port_status_mask_slave);
178 set_port_status_mask_slave();
185 get_flow_removed_mask_master()
const;
191 set_flow_removed_mask_master(uint32_t flow_removed_mask_master);
197 set_flow_removed_mask_master();
203 get_flow_removed_mask_slave()
const;
209 set_flow_removed_mask_slave(uint32_t flow_removed_mask_slave);
215 set_flow_removed_mask_slave();
224 operator<< (std::ostream& os, cofasync_config
const& async_config) {
225 os <<
rofl::indent(0) <<
"<cofasync_config ofp-version:" << (int)async_config.get_version() <<
" >" << std::endl;
227 os <<
rofl::indent(2) <<
"<packet-in-mask[EQUAL|MASTER]: 0x" <<
228 (int)async_config.get_packet_in_mask_master() <<
" >" << std::endl;
229 os <<
rofl::indent(2) <<
"<packet-in-mask[SLAVE]: 0x" <<
230 (int)async_config.get_packet_in_mask_slave() <<
" >" << std::endl;
231 os <<
rofl::indent(2) <<
"<port-status-mask[EQUAL|MASTER]: 0x" <<
232 (int)async_config.get_port_status_mask_master() <<
" >" << std::endl;
233 os <<
rofl::indent(2) <<
"<port-status-mask[SLAVE]: 0x" <<
234 (int)async_config.get_port_status_mask_slave() <<
" >" << std::endl;
235 os <<
rofl::indent(2) <<
"<flow-removed-mask[EQUAL|MASTER]: 0x" <<
236 (int)async_config.get_flow_removed_mask_master() <<
" >" << std::endl;
237 os <<
rofl::indent(2) <<
"<flow-removed-mask[SLAVE]: 0x" <<
238 (int)async_config.get_flow_removed_mask_slave() <<
" >" << std::endl;
Definition: cofasyncconfig.h:24
Definition: cofasyncconfig.h:33