OpenFlow 1.1 and later allow for this.

Signed-off-by: Michio Honda <michio.ho...@neclab.eu>
---
 datapath/flow_netlink.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/datapath/flow_netlink.c b/datapath/flow_netlink.c
index 503cf63..898485a 100644
--- a/datapath/flow_netlink.c
+++ b/datapath/flow_netlink.c
@@ -113,7 +113,7 @@ static void update_range(struct sw_flow_match *match,
 static bool match_validate(const struct sw_flow_match *match,
    u64 key_attrs, u64 mask_attrs, bool log)
 {
- u64 key_expected = 1ULL << OVS_KEY_ATTR_ETHERNET;
+ u64 key_expected = 0;
  u64 mask_allowed = key_attrs;  /* At most allow all key attributes */

  /* The following mask attributes allowed only if they
@@ -132,7 +132,8 @@ static bool match_validate(const struct sw_flow_match 
*match,
  | (1ULL << OVS_KEY_ATTR_MPLS));

  /* Always allowed mask fields. */
- mask_allowed |= ((1ULL << OVS_KEY_ATTR_TUNNEL)
+ mask_allowed |= ((1ULL << OVS_KEY_ATTR_ETHERNET)
+       | (1ULL << OVS_KEY_ATTR_TUNNEL)
        | (1ULL << OVS_KEY_ATTR_IN_PORT)
        | (1ULL << OVS_KEY_ATTR_ETHERTYPE));

--
1.9.3 (Apple Git-50)

_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to