X-Git-Url: http://git.sameswireless.fr/l2tpns.git/blobdiff_plain/8c4f3bfe794e4ff92662d9be5903e5b203f5d41e..49f8ea66ee9a729eeaadf8d8bc4dcbeb3ca10835:/l2tpns.c diff --git a/l2tpns.c b/l2tpns.c index 39b09b5..f2a60c9 100644 --- a/l2tpns.c +++ b/l2tpns.c @@ -160,6 +160,7 @@ config_descriptt config_values[] = { CONFIG("cli_bind_address", cli_bind_address, IPv4), CONFIG("hostname", hostname, STRING), CONFIG("nexthop_address", nexthop_address, IPv4), + CONFIG("nexthop6_address", nexthop6_address, IPv6), { NULL, 0, 0, 0 }, }; @@ -502,7 +503,12 @@ void route6set(sessionidt s, struct in6_addr ip, int prefixlen, int add) LOG(0, 0, 0, "route6set() error in ioctl: %s\n", strerror(errno)); - // FIXME: need to add BGP routing (RFC2858) +#ifdef BGP + if (add) + bgp_add_route6(ip, prefixlen); + else + bgp_del_route6(ip, prefixlen); +#endif /* BGP */ if (s) { @@ -3763,6 +3769,11 @@ static void mainloop(void) more++; } } +#ifdef BGP + else + /* no event received, but timers could still have expired */ + bgp_process_peers_timers(); +#endif /* BGP */ if (time_changed) {