connmgr_run(struct connmgr *mgr,
bool (*handle_openflow)(struct ofconn *,
const struct ofpbuf *ofp_msg))
+ OVS_EXCLUDED(ofproto_mutex)
{
struct ofconn *ofconn, *next_ofconn;
struct ofservice *ofservice;
* In-band control has more sophisticated code that manages flows itself. */
void
connmgr_flushed(struct connmgr *mgr)
+ OVS_EXCLUDED(ofproto_mutex)
{
if (mgr->fail_open) {
fail_open_flushed(mgr->fail_open);
enum nx_flow_update_event event,
enum ofp_flow_removed_reason reason,
const struct ofconn *abbrev_ofconn, ovs_be32 abbrev_xid)
+ OVS_REQUIRES(ofproto_mutex)
{
enum nx_flow_monitor_flags update;
struct ofconn *ofconn;
fu.match = &match;
fu.priority = rule->cr.priority;
- ovs_mutex_lock(&rule->timeout_mutex);
+ ovs_mutex_lock(&rule->mutex);
fu.idle_timeout = rule->idle_timeout;
fu.hard_timeout = rule->hard_timeout;
- ovs_mutex_unlock(&rule->timeout_mutex);
+ ovs_mutex_unlock(&rule->mutex);
if (flags & NXFMF_ACTIONS) {
fu.ofpacts = rule->actions->ofpacts;