On Fri, Dec 04, 2009 at 12:11:14PM +0100, Laurent CARON wrote:
> Hi,
> 
> I'm experiencing a strange behavior since latest OpenBSD 4.6 current
> update (yesterday).
> 
> My prefixes are not announced anymore.
> 
> OpenBGPd config:
> 
> AS 49463
> router-id 213.215.49.242
> holdtime 90
> holdtime min 3
> fib-update yes
> log updates
> network 213.215.28.0/23
> network 2001:7a8:820::/44
> 
> 
> neighbor 2001:7a8:1:9ff2::1 {
>         remote-as       13193
>         # remote-as       35830
>         descr           nerim-ipv6-bgp-peer
>         local-address       2001:7a8:1:9ff2::2
>         holdtime        30
>         holdtime min        3
>         announce        self
>         announce IPv6       unicast
>         announce IPv4       none
>         set localpref       200
> 
> }
> 
> 
> I get those messages in /var/log/messages
> 
> Dec  4 12:00:21 bgpgw-001 bgpd[20852]: generation of bgp path attributes 
> failed
> Dec  4 12:01:22 bgpgw-001 bgpd[20852]: generation of bgp path attributes 
> failed
> Dec  4 12:03:26 bgpgw-001 last message repeated 2078 times
> 
> 
> Do anyone have a clue about it ?
> 

Seems to be an error on my side.  I guess the following diff fixes your
issue.  Please test.

-- 
:wq Claudio

Index: rde_update.c
===================================================================
RCS file: /cvs/src/usr.sbin/bgpd/rde_update.c,v
retrieving revision 1.71
diff -u -p -r1.71 rde_update.c
--- rde_update.c        1 Dec 2009 14:28:05 -0000       1.71
+++ rde_update.c        4 Dec 2009 12:26:39 -0000
@@ -796,7 +796,7 @@ up_generate_attr(struct rde_peer *peer, 
 
        /* write mp attribute to different buffer */
        if (ismp)
-               if (up_generate_mp_reach(peer, upa, a, AF_INET6) == -1)
+               if (up_generate_mp_reach(peer, upa, a, aid) == -1)
                        return (-1);
 
        /* the bgp path attributes are now stored in the global buf */

Reply via email to