Signed-off-by: Simon Horman <[email protected]>
---
lib/meta-flow.c | 8 +++++---
lib/meta-flow.h | 1 +
2 files changed, 6 insertions(+), 3 deletions(-)
diff --git a/lib/meta-flow.c b/lib/meta-flow.c
index 72ed108..a8b296a 100644
--- a/lib/meta-flow.c
+++ b/lib/meta-flow.c
@@ -149,9 +149,9 @@ static const struct mf_field mf_fields[MFF_N_IDS] = {
NXM_OF_VLAN_TCI, "NXM_OF_VLAN_TCI",
0, NULL,
}, {
- MFF_VLAN_VID, "dl_vlan", NULL,
+ MFF_VLAN_VID, "dl_vlan_vid", NULL,
sizeof(ovs_be16), 12,
- MFM_NONE, 0,
+ MFM_FULLY, 0,
MFS_DECIMAL,
MFP_NONE,
true,
@@ -162,7 +162,7 @@ static const struct mf_field mf_fields[MFF_N_IDS] = {
1, 3,
MFM_NONE, 0,
MFS_DECIMAL,
- MFP_NONE,
+ MFP_VLAN_VID,
true,
0, NULL,
OXM_OF_VLAN_PCP, "OXM_OF_VLAN_PCP",
@@ -878,6 +878,8 @@ mf_are_prereqs_ok(const struct mf_field *mf, const struct
flow *flow)
return flow->dl_type == htons(ETH_TYPE_IP);
case MFP_IPV6:
return flow->dl_type == htons(ETH_TYPE_IPV6);
+ case MFP_VLAN_VID:
+ return (flow->vlan_tci & VLAN_CFI) == htons(VLAN_CFI);
case MFP_VLAN_TPID:
return (flow->vlan_tpid == htons(ETH_TYPE_VLAN) ||
flow->vlan_tpid == htons(ETH_TYPE_VLAN_8021AD));
diff --git a/lib/meta-flow.h b/lib/meta-flow.h
index 27ae989..3582770 100644
--- a/lib/meta-flow.h
+++ b/lib/meta-flow.h
@@ -163,6 +163,7 @@ enum mf_prereqs {
/* L2 requirements. */
MFP_ARP,
+ MFP_VLAN_VID,
MFP_VLAN_TPID,
MFP_MPLS,
MFP_IPV4,
--
1.7.10.2.484.gcd07cc5
_______________________________________________
dev mailing list
[email protected]
http://openvswitch.org/mailman/listinfo/dev