> On Fri, 16 Jun 2017 17:23:52 +0300 > Serhey Popovych <serhe.popov...@gmail.com> wrote: > >> If network device indexes exhaust in namespace dev_new_index() >> can loop indefinitely since there is no condition to exit >> except case where free index is found. >> >> Since all it's caller hold RTNL mutex this may completely >> lock down network subsystem configuration operations. >> >> Instead of retrying with ifindex == 1 (LOOPBACK_IFINDEX) >> in dev_new_index() we should fail and return invalid >> index value (0). >> >> Adjust callers to correctly handle error case of dev_new_index(). >> >> Signed-off-by: Serhey Popovych <serhe.popov...@gmail.com> > > This breaks existing semantics. > > Today on Linux the ifindex allocator intentionally wraps around back to 1. > This is to handle the case of long running system with things like VPN's > that create and destroy lots of devices. > Ok, got it. Maybe we can change allocation mechanism?
That what actually I did. What do you think? I will show POC patch doing this. -- Thanks, Serhey