On Fri, Jul 21, 2017 at 02:45:03PM +0200, Florian Riehm wrote: > On 06/25/17 23:47, Remi Locherer wrote: > > Hi, > > > > ospfd does not react nicely when running "sh /etc/netstart if". > > > > This is because adding the same address again do an interface results > > in RTM_DELADDR and RTM_NEWADDR. ospfd handles the former but the later. > > If this happens ospfd says "interface vether0:192.168.250.1 gone". > > Adjacencies on that interface are down and ospfd can not recover. > > > > The below patch adds IMSG_IFADDRADD to deal with that. With it ospfd > > logs the following after "ifconfig vether0 192.168.250.1/24" (same address > > as active before): > > > > Hi Remi, > > thanks for your report and your patch. > I think it is the right approach, but unfortunately it doesn't work in my > setup. > If I run 'sh /etc/netstart vio1' vio1 goes down and stays down. > Please have a look to my config / logs. What is the differece between your and > my test?
I tested with an interface connected to stub network. Your output shows an interface connected to a transit network. In my test setup I did not get the error message: "if_join_group: error IP_ADD_MEMBERSHIP" I'll look into it and try to fix this. > Beside that: > - I would rename 'struct ifaddrdel' to 'struct ifaddr' and extend it. So we > can use it in if_newaddr() and if_deladdr() and avoid 'struct ifaddrnew'. Makes sense. Regards, Remi