Right, the number doesn't matter...does the number really matter?
multi-threaded bgp seems to be at the top of the list...I guess you are waiting for some specific feature, not the number or the date.
BGP != Forwarding. BGP is a routing protocol.multi-threaded bgp seems to be at the top of the list...I guess you are waiting for some specific feature, not the number or the date.
number no longer relevant since free lifetime upgradedoes the number really matter?
BGP != Forwarding. BGP is a routing protocol.multi-threaded bgp seems to be at the top of the list...I guess you are waiting for some specific feature, not the number or the date.
Multi-threaded BGP is hard, really hard. Juniper do not do it, Cisco IOS/IOS-XE do not do it. Processing the prefixes against all the filters, accross multiple cores and coming out with a result "in order" is very complex.
This is purely speculation, but it is more likely that Mikrotik will run BGP multi-threaded, with a thread per peer and/or per instance. This means processing of route updates for a peer would happen on a single core to maintain order, and that the post-processed routes would then be sent to another process that handles the RIB/FIB for that instance.
Outside of these improvement, there are likely to be big improvements in processing speed and the way the RIB's/FIB are stored in memory.
Mikrotik already discussed early results of the improvements that are coming, around 10x improvement in processing speed. See https://www.youtube.com/watch?v=ML0tr-9zTw0 at 2:57 mark..
No at all, as much as ROS and SWOS get more improvements and more features thats matter, just a suggestion its a time to add one important feature, let's encrypt, its now necessary for https, ikev2, sstp, ... hope see it in next RC release.does the number really matter?
Juniper to my understanding now has multithreaded quite a bit starting with JUNOS 15. JUNOS 16 and past that are apparently introducing a multithreaded RPD as well. Now I do not know if the BGP portion within RPD is multithreaded but I was under the understanding that on JUNOS 17 that it's basically going to be a complete out and about rewrite of the entire routing stack to be more scalable and threaded. Granted this is what I was told in behind closed doors from Juniper so....not sure of the time frames.BGP != Forwarding. BGP is a routing protocol.
Multi-threaded BGP is hard, really hard. Juniper do not do it, Cisco IOS/IOS-XE do not do it. Processing the prefixes against all the filters, accross multiple cores and coming out with a result "in order" is very complex.
This is purely speculation, but it is more likely that Mikrotik will run BGP multi-threaded, with a thread per peer and/or per instance. This means processing of route updates for a peer would happen on a single core to maintain order, and that the post-processed routes would then be sent to another process that handles the RIB/FIB for that instance.
Outside of these improvement, there are likely to be big improvements in processing speed and the way the RIB's/FIB are stored in memory.
Mikrotik already discussed early results of the improvements that are coming, around 10x improvement in processing speed. See https://www.youtube.com/watch?v=ML0tr-9zTw0 at 2:57 mark..
+1000multi-threaded bgp seems to be at the top of the list...I guess you are waiting for some specific feature, not the number or the date.
Only bugs really matters. Finish and polish existing features - this will be the best way.does the number really matter?
Multi-threaded BGP might be hard, but it's necessary; and, here's the thing: it's already a solved problem. I'm using this in production: https://github.com/osrg/gobgp.Juniper to my understanding now has multithreaded quite a bit starting with JUNOS 15. JUNOS 16 and past that are apparently introducing a multithreaded RPD as well. Now I do not know if the BGP portion within RPD is multithreaded but I was under the understanding that on JUNOS 17 that it's basically going to be a complete out and about rewrite of the entire routing stack to be more scalable and threaded. Granted this is what I was told in behind closed doors from Juniper so....not sure of the time frames.BGP != Forwarding. BGP is a routing protocol.
Multi-threaded BGP is hard, really hard. Juniper do not do it, Cisco IOS/IOS-XE do not do it. Processing the prefixes against all the filters, accross multiple cores and coming out with a result "in order" is very complex.
This is purely speculation, but it is more likely that Mikrotik will run BGP multi-threaded, with a thread per peer and/or per instance. This means processing of route updates for a peer would happen on a single core to maintain order, and that the post-processed routes would then be sent to another process that handles the RIB/FIB for that instance.
Outside of these improvement, there are likely to be big improvements in processing speed and the way the RIB's/FIB are stored in memory.
Mikrotik already discussed early results of the improvements that are coming, around 10x improvement in processing speed. See https://www.youtube.com/watch?v=ML0tr-9zTw0 at 2:57 mark..
That being said, I agree completely with you that it's incredibly difficult and generally not really all that worth it to do it at a super in depth level. Intra-process multithreading is too much in most cases and the benefit is very small most of the time. Unless the work is embarrassingly parallel, it's generally not that worth it.
Here's a link giving an outline:
https://books.google.com/books?id=SVvnD ... gp&f=false
I agree, that is a lot.1GB for just one BGP feedthat's a lot.
Just wait till you see some of the L3VPN/L2VPN NLRI on a service provider on a route reflector. It's far more than that.....1GB for just one BGP feedthat's a lot.
Full table doesn't fit in 1GB anymore.Just wait till you see some of the L3VPN/L2VPN NLRI on a service provider on a route reflector. It's far more than that.....1GB for just one BGP feedthat's a lot.
+1 for GoBGP. How expensive is RAM today? I dont think it matter for a router that must handle full BGP tables.Multi-threaded BGP might be hard, but it's necessary; and, here's the thing: it's already a solved problem. I'm using this in production: https://github.com/osrg/gobgp.Juniper to my understanding now has multithreaded quite a bit starting with JUNOS 15. JUNOS 16 and past that are apparently introducing a multithreaded RPD as well. Now I do not know if the BGP portion within RPD is multithreaded but I was under the understanding that on JUNOS 17 that it's basically going to be a complete out and about rewrite of the entire routing stack to be more scalable and threaded. Granted this is what I was told in behind closed doors from Juniper so....not sure of the time frames.BGP != Forwarding. BGP is a routing protocol.
Multi-threaded BGP is hard, really hard. Juniper do not do it, Cisco IOS/IOS-XE do not do it. Processing the prefixes against all the filters, accross multiple cores and coming out with a result "in order" is very complex.
This is purely speculation, but it is more likely that Mikrotik will run BGP multi-threaded, with a thread per peer and/or per instance. This means processing of route updates for a peer would happen on a single core to maintain order, and that the post-processed routes would then be sent to another process that handles the RIB/FIB for that instance.
Outside of these improvement, there are likely to be big improvements in processing speed and the way the RIB's/FIB are stored in memory.
Mikrotik already discussed early results of the improvements that are coming, around 10x improvement in processing speed. See https://www.youtube.com/watch?v=ML0tr-9zTw0 at 2:57 mark..
That being said, I agree completely with you that it's incredibly difficult and generally not really all that worth it to do it at a super in depth level. Intra-process multithreading is too much in most cases and the benefit is very small most of the time. Unless the work is embarrassingly parallel, it's generally not that worth it.
Here's a link giving an outline:
https://books.google.com/books?id=SVvnD ... gp&f=false
- I've verified it's multi-threaded.
- Takes about 1GB for full Internet BGP table
- Has lots of kick-ass modern features
- Built for SDN from the ground up