OpenFlow 1.1 and later allow for this.
Signed-off-by: Michio Honda <[email protected]>
---
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
[email protected]
http://openvswitch.org/mailman/listinfo/dev