I have been experimenting with IPv6 addressing and routing under different Linux flavors. Addressing in LANs is quite easy with Auto/Zero-Conf, however for Auto/Zero-Conf you need to use /64 network, which could lead to memory exhaustion due to a Neighbor Discovery attack (I will write more on this later, so check below for related articles). Routing is equally simple to setup with Router Advertisements.
So I wanted to go a step further and loaded a full IPv6 routing table via BGP into a linux box. Mine unfortunately had a limit in the kernel, actually net.ipv6.route.max_size was set to 4096. The BGP feed I used delivered 6419 prefixes and only 4068 were loaded into the kernel table.
I added the following line to sysctl.conf
net.ipv6.route.max_size = 32768
and then cleared the BGP session, the kernel routing table now contained 6401 lines. So in case you are running into IPv6 routing issues on your linux box, check for this limit. Also keep an eye on the BGP IPv6 table size, in the future the table might outgrow the limit you have set.