]> git.ipfire.org Git - thirdparty/bird.git/commitdiff
The source address configuration in BGP added.
authorOndrej Filip <feela@network.cz>
Sun, 24 Aug 2008 23:20:46 +0000 (23:20 +0000)
committerOndrej Filip <feela@network.cz>
Sun, 24 Aug 2008 23:20:46 +0000 (23:20 +0000)
proto/bgp/attrs.c

index 459335fac04e95944c4b4140a2b7d303da1383a0..30699f84dfe2dcde9f9ae9685c65cd35198b6e44 100644 (file)
@@ -576,7 +576,12 @@ bgp_create_attrs(struct bgp_proto *p, rte *e, ea_list **attrs, struct linpool *p
   if (p->cf->next_hop_self ||
       !p->is_internal ||
       rta->dest != RTD_ROUTER)
-    *(ip_addr *)z = p->local_addr;
+    {
+      if (ipa_nonzero(p->cf->source_addr))
+        *(ip_addr *)z = p->cf->source_addr;
+      else
+        *(ip_addr *)z = p->local_addr;
+    }
   else
     *(ip_addr *)z = e->attrs->gw;