static void ofconn_run(struct ofconn *,
bool (*handle_openflow)(struct ofconn *,
- struct ofpbuf *ofp_msg));
+ const struct ofpbuf *ofp_msg));
static void ofconn_wait(struct ofconn *, bool handling_openflow);
static const char *ofconn_get_target(const struct ofconn *);
* fail-open processing) are suppressed too. */
void
connmgr_run(struct connmgr *mgr,
- bool (*handle_openflow)(struct ofconn *, struct ofpbuf *ofp_msg))
+ bool (*handle_openflow)(struct ofconn *,
+ const struct ofpbuf *ofp_msg))
{
struct ofconn *ofconn, *next_ofconn;
struct ofservice *ofservice;
static void
ofconn_run(struct ofconn *ofconn,
- bool (*handle_openflow)(struct ofconn *, struct ofpbuf *ofp_msg))
+ bool (*handle_openflow)(struct ofconn *,
+ const struct ofpbuf *ofp_msg))
{
struct connmgr *mgr = ofconn->connmgr;
size_t i;
void connmgr_run(struct connmgr *,
bool (*handle_openflow)(struct ofconn *,
- struct ofpbuf *ofp_msg));
+ const struct ofpbuf *ofp_msg));
void connmgr_wait(struct connmgr *, bool handling_openflow);
void connmgr_get_memory_usage(const struct connmgr *, struct simap *usage);
const struct ofputil_flow_mod *,
const struct ofp_header *);
static void delete_flow__(struct rule *, struct ofopgroup *);
-static bool handle_openflow(struct ofconn *, struct ofpbuf *);
+static bool handle_openflow(struct ofconn *, const struct ofpbuf *);
static enum ofperr handle_flow_mod__(struct ofproto *, struct ofconn *,
const struct ofputil_flow_mod *,
const struct ofp_header *);
}
static bool
-handle_openflow(struct ofconn *ofconn, struct ofpbuf *ofp_msg)
+handle_openflow(struct ofconn *ofconn, const struct ofpbuf *ofp_msg)
{
int error = handle_openflow__(ofconn, ofp_msg);
if (error && error != OFPROTO_POSTPONE) {