ospfd doesn't pick up an lo(4) added while it's running unless you manually ifconfig down+up.
this does the same dance as if_gif.c to ensure RTM_IFINFO gets sent. ok? Index: if_loop.c =================================================================== RCS file: /cvs/src/sys/net/if_loop.c,v retrieving revision 1.44 diff -u -p -r1.44 if_loop.c --- if_loop.c 7 May 2008 12:58:54 -0000 1.44 +++ if_loop.c 4 Jul 2011 08:36:50 -0000 @@ -423,12 +423,16 @@ loioctl(ifp, cmd, data) { struct ifaddr *ifa; struct ifreq *ifr; - int error = 0; + int s, error = 0; switch (cmd) { case SIOCSIFADDR: - ifp->if_flags |= IFF_UP | IFF_RUNNING; + s = splnet(); + ifp->if_flags |= IFF_RUNNING; + if_up(ifp); /* send up RTM_IFINFO */ + splx(s); + ifa = (struct ifaddr *)data; if (ifa != 0) ifa->ifa_rtrequest = lortrequest;