X-Git-Url: http://git.sameswireless.fr/l2tpns.git/blobdiff_plain/fd021320eca6d370c46de3893c113b4fd72f6f9a..49f8ea66ee9a729eeaadf8d8bc4dcbeb3ca10835:/l2tpns.c diff --git a/l2tpns.c b/l2tpns.c index b745b3f..f2a60c9 100644 --- a/l2tpns.c +++ b/l2tpns.c @@ -159,6 +159,8 @@ config_descriptt config_values[] = { CONFIG("ipv6_prefix", ipv6_prefix, IPv6), 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 }, }; @@ -501,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) { @@ -3762,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) {