![Patch OpenBGPd pour ipv6 Patch OpenBGPd pour ipv6](http://media.paperblog.fr/i/162/1629747/patch-openbgpd-ipv6-L-1.jpeg)
Le but était de mettre en place une sessions BGP entre deux peers en IPv6 avec
notre ami et super compétent, j'ai nommé
Johan.
Un peer en Cisco, l'autre sur un OpenBSD :
# uname -a OpenBSD malloc.titux.org 4.1 GENERIC#1099 sparc64 #Ok, je sais il est pas en 4.4. Cela ne saurait tardé.
Néanmoins, si vous utilisez la version fournis vous vous retrouverez avec ce genre d'erreur :
Feb 24 02:44:47 malloc bgpd[9556]: neighbor 2001:470:1f12:238::1: \ session_setup_socket setsockopt hoplimit : Protocol not availablePour régler ce problème, je vous recommande ce patch :
--- session.c~orig Tue Feb 24 11:32:27 2009 +++ session.c Tue Feb 24 08:41:19 2009 @@ -1142,7 +1142,7 @@ } } - if (p->conf.ebgp & p->conf.remote_addr.af == AF_INET6) + if (0 & p->conf.ebgp & p->conf.remote_addr.af == AF_INET6) /* set hoplimit to foreign router's distance */ if (setsockopt(p->fd, IPPROTO_IPV6, IPV6_UNICAST_HOPS, &ttl;, sizeof(ttl)) == -1) {Et là au magie :
neighbor X: state change Active -> OpenSent, reason: Connection opened neighbor X: state change OpenSent -> OpenConfirm, reason: OPEN message received neighbor X: state change OpenConfirm -> Established, reason: KEEPALIVE message received neighbor X: state change Established -> Idle, reason: Connection closed neighbor X: state change Idle -> Active, reason: Start neighbor X: state change Active -> OpenSent, reason: Connection opened neighbor X: state change OpenSent -> OpenConfirm, reason: OPEN message received neighbor X: state change OpenConfirm -> Established, reason: KEEPALIVE message received