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 */