In vxlan mode with more than 2047 lrp in router, build_ports() prints "all port tunnel ids exhausted", and frees the lrp port.
However, lsp of type "router" connected to the lrp still holds the pointer in port->peer. This leads to northd crash in build_lflows(). CallTrace: build_lswitch_rport_arp_req_flows build_lswitch_ip_unicast_lookup build_lswitch_and_lrouter_iterate_by_op build_lflows en_lflow_run engine_recompute engine_run inc_proc_northd_run main Fixes: 3044132261d3 ("northd: Enhance implementation of port tunnel key requests.") Signed-off-by: Tao Liu <taoliu...@163.com> --- northd/northd.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/northd/northd.c b/northd/northd.c index c10e5c20c..fe36a0362 100644 --- a/northd/northd.c +++ b/northd/northd.c @@ -4598,6 +4598,9 @@ ovn_port_allocate_key(const struct sbrec_chassis_table *sbrec_chassis_table, if (op->sb) { sbrec_port_binding_delete(op->sb); } + if (op->peer) { + op->peer->peer = NULL; + } ovs_list_remove(&op->list); ovn_port_destroy(ports, op); } -- 2.31.1 _______________________________________________ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev