diff options
-rw-r--r-- | bgpd/bgp_attr.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/bgpd/bgp_attr.c b/bgpd/bgp_attr.c index a664858c..5e7536ae 100644 --- a/bgpd/bgp_attr.c +++ b/bgpd/bgp_attr.c @@ -1333,6 +1333,9 @@ bgp_mp_reach_parse (struct peer *peer, bgp_size_t length, struct attr *attr, { case 4: stream_get (&attre->mp_nexthop_global_in, s, 4); + /* Probably needed for RFC 2283 */ + if (attr->nexthop.s_addr == 0) + memcpy(&attr->nexthop.s_addr, &attre->mp_nexthop_global_in, 4); break; case 12: { |