+ clib_bihash_kv_16_8_t kv;
+ clib_bihash_16_8_t *h;
+
+ if (owner_thread == UINT32_MAX)
+ {
+ QUIC_DBG (3, "Connection already moving to right thread");
+ return;
+ }
+
+ /* Mark connection as moving in the conn map */
+ h = &quic_main.connection_hash;
+ quic_make_connection_key (&kv, &packet->cid.dest.plaintext);
+ if (clib_bihash_search_16_8 (h, &kv, &kv) != 0)
+ {
+ QUIC_DBG (0, "Bug: conn to move not found");
+ return;
+ }
+ kv.value |= (u64) UINT32_MAX << 32;
+ if (clib_bihash_add_del_16_8
+ (&quic_main.connection_hash, &kv, /* is_add */ 1))
+ {
+ QUIC_DBG (0, "Bug: cannot update conn in lookup hash");
+ return;
+ }
+
+ /* Send rpc to owner thread to move conn */