I have been exploring the code to find a place to send with a lower MTU than the MRU for a socket. That is probably more efficient than learning about Path MTU on every sending attempt. Feedback welcomed!

I think an extension to struct socket_info with socket as default socket and a new field socket_mtu as an outbound override could help. It could be setup when udp_mtu is set (or maybe when listen has an extra mtu 1234 parameter). Cleanup would recognise socket != socket_mtu as a special case in which the secondary needed cleanup. The extra field could be setup in udp_init() and trivially copied in the other core/xxx_server.c variants, so sending can always use socket_mtu instead of the receiving side, socket itself, with its unbounded MTU.

My work now is to construct dual sockets, set different MTUs and see this idea work. I will do that in the MTU games repo.

Notes:


Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.Message ID: <kamailio/kamailio/issues/3119/1140227414@github.com>