From: Gilad Naaman > Sent: 28 October 2024 12:49 ... > the list `net->sctp.local_addr_list` gets obscenely long. > > This list contains both IPv4 and IPv6 addresses, of all scopes, and it is > a single long list, instead of a hashtable. > > In our case we had 12K interfaces, each with an IPv4 and 2 IPv6 addresses > (GUA+LLA), which made deletion of a single address pretty expensive, since > it requires a linear search through 36K addresses. ... Is that the list that SCTP uses in order to pass all of its local addresses to the remote system during connection establishment? In which case it really makes no sense to have the list at all if it contains more than a handful of addresses. Indeed the whole notion of 'send ALL my addresses' is just plain broken. What happens in practise is that applications pretty much always have to bind to all (typically both) the relevant addresses to stop the system sending IP addresses that are unroutable from the remote system - and may even refer to an entirely different local network. Passing this buck to the application isn't really right either. It ought to be a property of the network topology. But that is hard to describe. The two systems 10.1.1.1 and 10.1.1.2 could both have private 192.168.1.x networks (without IP forwarding) and other 10.1.1.x hosts could be randomly connected to either network. David - Registered Address Lakeside, Bramley Road, Mount Farm, Milton Keynes, MK1 1PT, UK Registration No: 1397386 (Wales)