From b7a735ea9d14ceb5c31712fbe122b54f0d7ec6e7 Mon Sep 17 00:00:00 2001 From: Ondrej Zajicek Date: Wed, 29 Apr 2009 22:17:40 +0200 Subject: [PATCH] Allow 'third party' BGP updates for originated routes. --- proto/bgp/attrs.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/proto/bgp/attrs.c b/proto/bgp/attrs.c index 585bfd16..8a849e73 100644 --- a/proto/bgp/attrs.c +++ b/proto/bgp/attrs.c @@ -788,8 +788,8 @@ bgp_create_attrs(struct bgp_proto *p, rte *e, ea_list **attrs, struct linpool *p z = bgp_set_attr_wa(ea->attrs+2, pool, BA_NEXT_HOP, NEXT_HOP_LENGTH); if (p->cf->next_hop_self || - !p->is_internal || - rta->dest != RTD_ROUTER) + rta->dest != RTD_ROUTER || + (!p->is_internal && (e->attrs->iface != p->neigh->iface))) set_next_hop(z, p->source_addr); else set_next_hop(z, e->attrs->gw);