diff options
Diffstat (limited to 'bgpd/bgp_nexthop.c')
-rw-r--r-- | bgpd/bgp_nexthop.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/bgpd/bgp_nexthop.c b/bgpd/bgp_nexthop.c index 4100e3df..c50eeedd 100644 --- a/bgpd/bgp_nexthop.c +++ b/bgpd/bgp_nexthop.c @@ -666,7 +666,7 @@ bgp_connected_add (struct connected *ifc) p.family = AF_INET; p.prefixlen = addr->prefixlen; - if (if_is_pointopoint (ifp)) + if (CONNECTED_POINTOPOINT_HOST(ifc)) p.u.prefix4 = dest->u.prefix4; else p.u.prefix4 = addr->u.prefix4; @@ -697,7 +697,7 @@ bgp_connected_add (struct connected *ifc) p.family = AF_INET6; p.prefixlen = addr->prefixlen; - if (if_is_pointopoint (ifp)) + if (if_is_pointopoint (ifp) && dest) p.u.prefix6 = dest->u.prefix6; else p.u.prefix6 = addr->u.prefix6; @@ -751,7 +751,7 @@ bgp_connected_delete (struct connected *ifc) p.family = AF_INET; p.prefixlen = addr->prefixlen; - if (if_is_pointopoint (ifp)) + if (CONNECTED_POINTOPOINT_HOST(ifc)) p.u.prefix4 = dest->u.prefix4; else p.u.prefix4 = addr->u.prefix4; @@ -782,7 +782,7 @@ bgp_connected_delete (struct connected *ifc) p.family = AF_INET6; p.prefixlen = addr->prefixlen; - if (if_is_pointopoint (ifp)) + if (if_is_pointopoint (ifp) && dest) p.u.prefix6 = dest->u.prefix6; else p.u.prefix6 = addr->u.prefix6; |