summaryrefslogtreecommitdiffstats
path: root/ospfd/ospf_route.c
diff options
context:
space:
mode:
authorDavid Lamparter <equinox@diac24.net>2010-02-04 03:40:32 +0100
committerDavid Lamparter <equinox@diac24.net>2010-02-04 03:40:32 +0100
commit08e2c2ee9044a14f2cd9d382eec8f96189520160 (patch)
treee682f22202430d2b24a0e2d3bd5e2a09252060ef /ospfd/ospf_route.c
parent8cb411f192a3d6929d059b96e7750295629226de (diff)
parent77f990188b526ea9ad3521980aee1d6faca8bb57 (diff)
downloadquagga-08e2c2ee9044a14f2cd9d382eec8f96189520160.tar.bz2
quagga-08e2c2ee9044a14f2cd9d382eec8f96189520160.tar.xz
Merge branch 'merged/ospfd' into dn42
Diffstat (limited to 'ospfd/ospf_route.c')
-rw-r--r--ospfd/ospf_route.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/ospfd/ospf_route.c b/ospfd/ospf_route.c
index 267237b8..2a81e97a 100644
--- a/ospfd/ospf_route.c
+++ b/ospfd/ospf_route.c
@@ -810,12 +810,18 @@ ospf_route_copy_nexthops_from_vertex (struct ospf_route *to,
{
nexthop = vp->nexthop;
- if (nexthop->oi != NULL)
+ if (nexthop->oi != NULL)
{
- if (! ospf_path_exist (to->paths, nexthop->router, nexthop->oi))
+ if (!ospf_path_exist (to->paths, nexthop->router, nexthop->oi))
{
path = ospf_path_new ();
- path->nexthop = nexthop->router;
+
+ /* PtoP I/F's are always directly connected */
+ if (if_is_pointopoint (nexthop->oi->ifp))
+ path->nexthop.s_addr = INADDR_ANY;
+ else
+ path->nexthop = nexthop->router;
+
path->ifindex = nexthop->oi->ifp->ifindex;
listnode_add (to->paths, path);
}