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

Han Zhou hzhou at ovn.org
Mon Oct 21 00:51:01 UTC 2019


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 <hzhou at ovn.org>
---
 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 ea8ad7c..18f6e76 100644
--- a/northd/ovn-northd.c
+++ b/northd/ovn-northd.c
@@ -1049,7 +1049,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