[ovs-dev] [PATCH 2/2] Add experimental support for TUNNEL SRC/DST

Jarno Rajahalme jarno.rajahalme at nsn.com
Tue Dec 11 08:05:50 UTC 2012


Add wildcarding support for tun_src/tun_dst to allow matching.

Signed-off-by: Jarno Rajahalme <jarno.rajahalme at nsn.com>
---
 lib/meta-flow.c |   10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/lib/meta-flow.c b/lib/meta-flow.c
index 909e434..711dd2e 100644
--- a/lib/meta-flow.c
+++ b/lib/meta-flow.c
@@ -618,9 +618,11 @@ bool
 mf_is_all_wild(const struct mf_field *mf, const struct flow_wildcards *wc)
 {
     switch (mf->id) {
-    case MFF_TUN_ID:
     case MFF_TUN_SRC:
+        return !wc->masks.tunnel.ip_src;
     case MFF_TUN_DST:
+        return !wc->masks.tunnel.ip_dst;
+    case MFF_TUN_ID:
     case MFF_TUN_TOS:
     case MFF_TUN_TTL:
     case MFF_TUN_FLAGS:
@@ -720,9 +722,13 @@ mf_get_mask(const struct mf_field *mf, const struct flow_wildcards *wc,
             union mf_value *mask)
 {
     switch (mf->id) {
-    case MFF_TUN_ID:
     case MFF_TUN_SRC:
+        mask->be32 = wc->masks.tunnel.ip_src;
+        break;
     case MFF_TUN_DST:
+        mask->be32 = wc->masks.tunnel.ip_dst;
+        break;
+    case MFF_TUN_ID:
     case MFF_TUN_TOS:
     case MFF_TUN_TTL:
     case MFF_TUN_FLAGS:
-- 
1.7.10.4




More information about the dev mailing list