Giving these fields names that are the same as the OpenFlow 1.0 struct
member names should help make it clear what they are for.
Signed-off-by: Ben Pfaff <blp@nicira.com>
Acked-by: Simon Horman <horms@verge.net.au>
NXM_OF_VLAN_TCI, "NXM_OF_VLAN_TCI",
NXM_OF_VLAN_TCI, "NXM_OF_VLAN_TCI",
}, {
NXM_OF_VLAN_TCI, "NXM_OF_VLAN_TCI",
NXM_OF_VLAN_TCI, "NXM_OF_VLAN_TCI",
}, {
- MFF_VLAN_VID, "dl_vlan", NULL,
+ MFF_DL_VLAN, "dl_vlan", NULL,
sizeof(ovs_be16), 12,
MFM_NONE, 0,
MFS_DECIMAL,
sizeof(ovs_be16), 12,
MFM_NONE, 0,
MFS_DECIMAL,
OXM_OF_VLAN_VID, "OXM_OF_VLAN_VID",
OXM_OF_VLAN_VID, "OXM_OF_VLAN_VID",
}, {
OXM_OF_VLAN_VID, "OXM_OF_VLAN_VID",
OXM_OF_VLAN_VID, "OXM_OF_VLAN_VID",
}, {
- MFF_VLAN_PCP, "dl_vlan_pcp", NULL,
+ MFF_DL_VLAN_PCP, "dl_vlan_pcp", NULL,
1, 3,
MFM_NONE, 0,
MFS_DECIMAL,
1, 3,
MFM_NONE, 0,
MFS_DECIMAL,
case MFF_VLAN_TCI:
return !wc->vlan_tci_mask;
case MFF_VLAN_TCI:
return !wc->vlan_tci_mask;
return !(wc->vlan_tci_mask & htons(VLAN_VID_MASK));
return !(wc->vlan_tci_mask & htons(VLAN_VID_MASK));
return !(wc->vlan_tci_mask & htons(VLAN_PCP_MASK));
case MFF_IPV4_SRC:
return !(wc->vlan_tci_mask & htons(VLAN_PCP_MASK));
case MFF_IPV4_SRC:
case MFF_VLAN_TCI:
mask->be16 = wc->vlan_tci_mask;
break;
case MFF_VLAN_TCI:
mask->be16 = wc->vlan_tci_mask;
break;
mask->be16 = wc->vlan_tci_mask & htons(VLAN_VID_MASK);
break;
mask->be16 = wc->vlan_tci_mask & htons(VLAN_VID_MASK);
break;
mask->u8 = vlan_tci_to_pcp(wc->vlan_tci_mask);
break;
mask->u8 = vlan_tci_to_pcp(wc->vlan_tci_mask);
break;
case MFF_ARP_OP:
return !(value->be16 & htons(0xff00));
case MFF_ARP_OP:
return !(value->be16 & htons(0xff00));
return !(value->be16 & htons(VLAN_CFI | VLAN_PCP_MASK));
return !(value->be16 & htons(VLAN_CFI | VLAN_PCP_MASK));
return !(value->u8 & ~(VLAN_PCP_MASK >> VLAN_PCP_SHIFT));
case MFF_IPV6_LABEL:
return !(value->u8 & ~(VLAN_PCP_MASK >> VLAN_PCP_SHIFT));
case MFF_IPV6_LABEL:
value->be16 = flow->vlan_tci;
break;
value->be16 = flow->vlan_tci;
break;
value->be16 = flow->vlan_tci & htons(VLAN_VID_MASK);
break;
value->be16 = flow->vlan_tci & htons(VLAN_VID_MASK);
break;
value->u8 = vlan_tci_to_pcp(flow->vlan_tci);
break;
value->u8 = vlan_tci_to_pcp(flow->vlan_tci);
break;
cls_rule_set_dl_tci(rule, value->be16);
break;
cls_rule_set_dl_tci(rule, value->be16);
break;
cls_rule_set_dl_vlan(rule, value->be16);
break;
cls_rule_set_dl_vlan(rule, value->be16);
break;
cls_rule_set_dl_vlan_pcp(rule, value->u8);
break;
cls_rule_set_dl_vlan_pcp(rule, value->u8);
break;
flow->vlan_tci = value->be16;
break;
flow->vlan_tci = value->be16;
break;
flow_set_vlan_vid(flow, value->be16);
break;
flow_set_vlan_vid(flow, value->be16);
break;
flow_set_vlan_pcp(flow, value->u8);
break;
flow_set_vlan_pcp(flow, value->u8);
break;
cls_rule_set_dl_tci_masked(rule, htons(0), htons(0));
break;
cls_rule_set_dl_tci_masked(rule, htons(0), htons(0));
break;
cls_rule_set_any_vid(rule);
break;
cls_rule_set_any_vid(rule);
break;
cls_rule_set_any_pcp(rule);
break;
cls_rule_set_any_pcp(rule);
break;
switch (mf->id) {
case MFF_IN_PORT:
case MFF_ETH_TYPE:
switch (mf->id) {
case MFF_IN_PORT:
case MFF_ETH_TYPE:
- case MFF_VLAN_VID:
- case MFF_VLAN_PCP:
+ case MFF_DL_VLAN:
+ case MFF_DL_VLAN_PCP:
case MFF_IP_PROTO:
case MFF_IP_TTL:
case MFF_IP_DSCP:
case MFF_IP_PROTO:
case MFF_IP_TTL:
case MFF_IP_DSCP:
value->be16 &= htons(0xff);
break;
value->be16 &= htons(0xff);
break;
value->be16 &= htons(VLAN_VID_MASK);
break;
value->be16 &= htons(VLAN_VID_MASK);
break;
value->u8 &= 0x07;
break;
value->u8 &= 0x07;
break;
MFF_ETH_TYPE, /* be16 */
MFF_VLAN_TCI, /* be16 */
MFF_ETH_TYPE, /* be16 */
MFF_VLAN_TCI, /* be16 */
- MFF_VLAN_VID, /* be16 */
- MFF_VLAN_PCP, /* u8 */
+ MFF_DL_VLAN, /* be16 (OpenFlow 1.0 compatibility) */
+ MFF_DL_VLAN_PCP, /* u8 (OpenFlow 1.0 compatibility) */
/* L3. */
MFF_IPV4_SRC, /* be32 */
/* L3. */
MFF_IPV4_SRC, /* be32 */