diff --git a/iocore/net/QUICNetVConnection.cc b/iocore/net/QUICNetVConnection.cc index 8d458ce0de8..6af1fd6d267 100644 --- a/iocore/net/QUICNetVConnection.cc +++ b/iocore/net/QUICNetVConnection.cc @@ -2288,7 +2288,9 @@ QUICNetVConnection::_state_connection_established_migrate_connection(const QUICP con.setRemote(&(p.from().sa)); this->con.move(con); this->set_remote_addr(); - this->_udp_con = p.udp_con(); + this->_udp_con = p.udp_con(); + this->_packet_handler = static_cast( + static_cast(static_cast(this->_udp_con)->continuation)); QUICPath new_path = {p.to(), p.from()}; this->_validate_new_path(new_path); @@ -2305,11 +2307,13 @@ QUICNetVConnection::_state_connection_established_migrate_connection(const QUICP con.setRemote(&(p.from().sa)); this->con.move(con); this->set_remote_addr(); - this->_udp_con = p.udp_con(); + this->_udp_con = p.udp_con(); + this->_packet_handler = static_cast( + static_cast(static_cast(this->_udp_con)->continuation)); this->_update_peer_cid(this->_alt_con_manager->migrate_to_alt_cid()); - QUICPath new_path = {this->local_addr, con.addr}; + QUICPath new_path = {p.to(), p.from()}; this->_validate_new_path(new_path); } } else {