Any modifications that happen to the packet are supposed to be reflected
in the flow context for a resubmitted lookup. Commit 26233b (datapath:
Combine dl_vlan and dl_vlan_pcp.) broke this for OFPAT_SET_VLAN_VID and
OFPAT_SET_VLAN_PCP. This corrects that behavior.
Bug #3808 (2/2)
oa = odp_actions_add(ctx->out, ODPAT_SET_DL_TCI);
oa->dl_tci.tci = ia->vlan_vid.vlan_vid & htons(VLAN_VID_MASK);
oa->dl_tci.mask = htons(VLAN_VID_MASK);
+ ctx->flow.dl_vlan = ia->vlan_vid.vlan_vid;
break;
case OFPAT_SET_VLAN_PCP:
oa->dl_tci.tci = htons((ia->vlan_pcp.vlan_pcp << VLAN_PCP_SHIFT)
& VLAN_PCP_MASK);
oa->dl_tci.mask = htons(VLAN_PCP_MASK);
+ ctx->flow.dl_vlan_pcp = ia->vlan_pcp.vlan_pcp;
break;
case OFPAT_STRIP_VLAN: