uint16_t vlan;
uint16_t vid;
- ctx->xout->has_normal = true;
-
memset(&wc->masks.dl_src, 0xff, sizeof wc->masks.dl_src);
memset(&wc->masks.dl_dst, 0xff, sizeof wc->masks.dl_dst);
wc->masks.vlan_tci |= htons(VLAN_VID_MASK | VLAN_CFI);
static void
xlate_learn_action(struct xlate_ctx *ctx, const struct ofpact_learn *learn)
{
- ctx->xout->has_learn = true;
learn_mask(learn, ctx->wc);
if (ctx->xin->xcache) {
case OFPACT_FIN_TIMEOUT:
CHECK_MPLS_RECIRCULATION();
memset(&wc->masks.nw_proto, 0xff, sizeof wc->masks.nw_proto);
- ctx->xout->has_fin_timeout = true;
xlate_fin_timeout(ctx, ofpact_get_FIN_TIMEOUT(a));
break;
*xout = (struct xlate_out) {
.slow = 0,
.fail_open = false,
- .has_learn = false,
- .has_normal = false,
- .has_fin_timeout = false,
.nf_output_iface = NF_OUT_DROP,
.n_recircs = 0,
};
struct xlate_out {
enum slow_path_reason slow; /* 0 if fast path may be used. */
bool fail_open; /* Initial rule is fail open? */
- bool has_learn; /* Actions include NXAST_LEARN? */
- bool has_normal; /* Actions output to OFPP_NORMAL? */
- bool has_fin_timeout; /* Actions include NXAST_FIN_TIMEOUT? */
ofp_port_t nf_output_iface; /* Output interface index for NetFlow. */
/* Recirculation IDs on which references are held. */