/* In-band implementation. */
bool
-connmgr_must_output_local(struct connmgr *mgr, const struct flow *flow,
- odp_port_t local_odp_port,
- const struct nlattr *odp_actions,
- size_t actions_len)
+connmgr_has_in_band(struct connmgr *mgr)
{
- return !mgr->in_band || in_band_rule_check(flow, local_odp_port,
- odp_actions, actions_len);
+ return mgr->in_band != NULL;
}
\f
/* Fail-open and in-band implementation. */
void connmgr_set_in_band_queue(struct connmgr *, int queue_id);
/* In-band implementation. */
-bool connmgr_must_output_local(struct connmgr *, const struct flow *,
- odp_port_t local_odp_port,
- const struct nlattr *odp_actions,
- size_t actions_len);
+bool connmgr_has_in_band(struct connmgr *);
/* Fail-open and in-band implementation. */
void connmgr_flushed(struct connmgr *);
#include "coverage.h"
#include "dpif.h"
#include "dynamic-string.h"
+#include "in-band.h"
#include "lacp.h"
#include "learn.h"
#include "mac-learning.h"
}
local_odp_port = ofp_port_to_odp_port(ctx.ofproto, OFPP_LOCAL);
- if (!connmgr_must_output_local(ctx.ofproto->up.connmgr, flow,
- local_odp_port,
- ctx.xout->odp_actions.data,
- ctx.xout->odp_actions.size)) {
+ if (connmgr_has_in_band(ctx.ofproto->up.connmgr)
+ && !in_band_rule_check(flow, local_odp_port,
+ ctx.xout->odp_actions.data,
+ ctx.xout->odp_actions.size)) {
compose_output_action(&ctx, OFPP_LOCAL);
}
if (ctx.ofproto->has_mirrors) {