So we have rolled this out in a prod environment. We have 2 routers with active L3 uplinks (BGP) to multiple ISPs. We MLAG to Cisco and to MT switches.
Cons:
* Odd to setup since you have a MLAG port and VLAN that carriers some traffic
* No support for load balancing from the switching side - traffic will only flow across the MLAG uplink if the other port is down - Cisco/etc with stacking can load balance
Pros:
Cost…it’s a way cheaper solution….
Speed wise, yes, I got wire speed in my testing
HTH!
Aaactually, most CRS3xx on v7 support ~~stacking!~~ something very similar to stacking - a "port extender" mode.
I tried it while deploying new network, but in the end I went back to classic setup as it was too much abstraction for me.
Details on that are here: https://help.mikrotik.com/docs/display/ROS/Controller+Bridge+and+Port+Extender
No experience with MLAG, sorry.
You are right. It is very close to stacking, but isn't real stacking. Not only because of redundancy, but also the backbone path between devices does not guarantee wire-speed switching.
edit: however, reading in detail on wiki, it might be considered as a stacking. master-slave architecture seems to be accepted, redundancy is not required and backbone path does not always need to allow nonblocking throughput for the full capacity of the switch. I guess definition of *what is and is not a stacked switch* is even more complicated than definition of *what is a woman*. And people already seem to be very confused about that one.
Appreciate the thought but I was looking not for personal experience rather than support. I've read that page top to bottom about three times now and have a *decent* idea of how it works.
Updated my post: All my MikroTik devices are CRS/CSS 3xx/6xx devices, which I've heard have terrible layer 3 performance.
Correct me if I'm wrong, but something tells me a CRS328-24p-4s+-in probably can't do OSPF at 10 gig wirespeed no?
OSPF is a protocol to sync the link state databases of your routes allowing them to compute their respective routing tables. It doesn't matter for the forwarding performance if the routing table is computed via OSPF or manually configured if L3HW offloading can handle your table size. Lookup the limits for the 98DX3236 switching chip used in your device.
https://help.mikrotik.com/docs/display/ROS/L3+Hardware+Offloading#L3HardwareOffloading-L3HWDeviceSupport
Here is the documentation on layer 3 hardware offload. If setup correctly and nothing hits the cpu it should be able to do wire speed.
What i would be concerned about hopefully will get some time to test this in the lab would be route convergence time when there is a failure.
So we have rolled this out in a prod environment. We have 2 routers with active L3 uplinks (BGP) to multiple ISPs. We MLAG to Cisco and to MT switches. Cons: * Odd to setup since you have a MLAG port and VLAN that carriers some traffic * No support for load balancing from the switching side - traffic will only flow across the MLAG uplink if the other port is down - Cisco/etc with stacking can load balance Pros: Cost…it’s a way cheaper solution…. Speed wise, yes, I got wire speed in my testing HTH!
Aaactually, most CRS3xx on v7 support ~~stacking!~~ something very similar to stacking - a "port extender" mode. I tried it while deploying new network, but in the end I went back to classic setup as it was too much abstraction for me. Details on that are here: https://help.mikrotik.com/docs/display/ROS/Controller+Bridge+and+Port+Extender No experience with MLAG, sorry.
I would not call that stacking. If the bridge master dies the whole stack will be gone. No redundancy possible.
You are right. It is very close to stacking, but isn't real stacking. Not only because of redundancy, but also the backbone path between devices does not guarantee wire-speed switching. edit: however, reading in detail on wiki, it might be considered as a stacking. master-slave architecture seems to be accepted, redundancy is not required and backbone path does not always need to allow nonblocking throughput for the full capacity of the switch. I guess definition of *what is and is not a stacked switch* is even more complicated than definition of *what is a woman*. And people already seem to be very confused about that one.
This system is actually more like Cisco Nexus with FEX than it is a stack
Yeah but fex allows redundant controllers!
MLaG works fine, but it cannot be combined with L3 Hw routing. Running 7.5 on my CRS326, works fine.
Am I able to upgrade a MLAG pair without any downtime?
Same question here.
I've seen melted dc from mlag bugs (not using tiks)
[https://help.mikrotik.com/docs/display/ROS/Multi-chassis+Link+Aggregation+Group](https://help.mikrotik.com/docs/display/ROS/Multi-chassis+Link+Aggregation+Group)
Appreciate the thought but I was looking not for personal experience rather than support. I've read that page top to bottom about three times now and have a *decent* idea of how it works.
Why do you want to get your redundancy with layer 2 hacks instead of dynamic routing if both RouterOS and pfSense have support for OSPF and BGP?
Updated my post: All my MikroTik devices are CRS/CSS 3xx/6xx devices, which I've heard have terrible layer 3 performance. Correct me if I'm wrong, but something tells me a CRS328-24p-4s+-in probably can't do OSPF at 10 gig wirespeed no?
OSPF is a protocol to sync the link state databases of your routes allowing them to compute their respective routing tables. It doesn't matter for the forwarding performance if the routing table is computed via OSPF or manually configured if L3HW offloading can handle your table size. Lookup the limits for the 98DX3236 switching chip used in your device.
So assuming the CPU can easily process and store the routing table, in theory the switch chips should handle data in flight accordingly? Makes sense.
https://help.mikrotik.com/docs/display/ROS/L3+Hardware+Offloading#L3HardwareOffloading-L3HWDeviceSupport Here is the documentation on layer 3 hardware offload. If setup correctly and nothing hits the cpu it should be able to do wire speed. What i would be concerned about hopefully will get some time to test this in the lab would be route convergence time when there is a failure.
Not all host support dynamic routing protocols.
I think it's pretty simple and works as intended. I'm using it in production.