Phil Oester wrote: >On Mon, Nov 08, 2004 at 08:34:57AM -0800, Phil Oester wrote: > > >>It's a great idea, and will reduce the size of struct ip_conntrack. >>But I think it should be done in a separate cleanup patch - really would >>like to get this one merged up to fix the masq issues. >> >> > >Actually masq_index is still used in connect_unassure, and thus can't >be removed completely. In cases where the interface goes down permanently, >clearing the assured bit makes sense, so guess this behaviour should be >maintained. > > You're right. I have to admit, I'm not too happy about the unpredictable behaviour we get with this patch and multiple ppp devices. So one last attempt to convince people. The old behaviour was to kill conntracks once the device goes down. I think killing conntracks when the IP is deleted makes more sense. Since the IP has to be deleted manually, except when the device goes away, people can simply not delete IP addresses for devices that don't go away, than nothing will get removed. pppd can be taught to keep the device alive. The attached patch adds a program alloc-ppp to pre-allocate ppp-devices and teaches pppd to attach to them. The device never goes away, if ppp doesn't delete the IP address the conntracks won't be killed. It could easily be integrated in a more handy way in pppd. So this could also be done entirely in userspace, without the unpredictable behaviour. Regards Patrick