diff options
| author | David Lamparter <equinox@diac24.net> | 2010-02-04 03:40:32 +0100 |
|---|---|---|
| committer | David Lamparter <equinox@diac24.net> | 2010-02-04 03:40:32 +0100 |
| commit | 08e2c2ee9044a14f2cd9d382eec8f96189520160 (patch) | |
| tree | e682f22202430d2b24a0e2d3bd5e2a09252060ef /ospfd/ospf_route.c | |
| parent | 8cb411f192a3d6929d059b96e7750295629226de (diff) | |
| parent | 77f990188b526ea9ad3521980aee1d6faca8bb57 (diff) | |
| download | quagga-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.c | 12 |
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); } |
