[ovs-dev] [RFC PATCH ovn 01/10] ovn-northd.c: Fix datapath tunnel key allocation.

Han Zhou zhouhan at gmail.com
Fri Sep 27 22:34:16 UTC 2019


From: Han Zhou <hzhou8 at ebay.com>

The max tunnel key for datapath is defined as (1u << 24) - 1, but
we are using uint16_t variable to hold the value, which will result
in duplicated key when there are enough number of datapath key
allocation and deletions.

Signed-off-by: Han Zhou <hzhou8 at ebay.com>
---
 northd/ovn-northd.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/northd/ovn-northd.c b/northd/ovn-northd.c
index 2df95c1..1bb60ce 100644
--- a/northd/ovn-northd.c
+++ b/northd/ovn-northd.c
@@ -1006,7 +1006,7 @@ build_datapaths(struct northd_context *ctx, struct hmap *datapaths,
 
         /* Add southbound record for each unmatched northbound record. */
         LIST_FOR_EACH (od, list, &nb_only) {
-            uint16_t tunnel_key = ovn_datapath_allocate_key(&dp_tnlids);
+            uint32_t tunnel_key = ovn_datapath_allocate_key(&dp_tnlids);
             if (!tunnel_key) {
                 break;
             }
-- 
2.1.0



More information about the dev mailing list