From: Han Zhou <hzh...@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 <hzh...@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

_______________________________________________
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to