[ovs-dev] [PATCH 3/4] meta-flow: Add VLAN VID as a prerequsite for VLAN PCP

Ben Pfaff blp at nicira.com
Wed Jul 4 22:06:25 UTC 2012


On Wed, Jul 04, 2012 at 05:50:43PM +0900, Simon Horman wrote:
> Signed-off-by: Simon Horman <horms at verge.net.au>

This seems reasonable.

I believe that we can test the behavior here by adding a few more lines
to the "ovs-ofctl parse-nxm" and "ovs-ofctl parse-oxm" tests in
tests/ovs-ofctl.at.  If you do that to validate it, I'll commit it.

Also, here, VLAN_CFI is just one bit, and vlan_tci is in network byte
order, so you can just write "flow->vlan_tci & htons(VLAN_CFI).  (As-is,
in fact, VLAN_CFI != htons(VLAN_CFI) on x86, so it will never be true,
right?)
> @@ -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));

Thanks,

Ben.



More information about the dev mailing list