Hi, I’m new here to the forum and to MikroTik. I’ve been trying to dive deep into all the specifics, and having a hard time finding a definitive answer to a specific question regarding L3 HW offloading on CRS devices, so hoping someone here can shed some light (I only have experience with the RB5009 so far).
I am planning to buy a CRS310-8G+2S+IN to use as a core switch for a home office/lab network, however I would like to use it as a L3 core switch. Based on my reading so far, I have seen that L3 HW offloading is available for bridged ports, but I have also seen that 802.3ad bonds can be hardware offloaded, and trying to understand which combination would work with my intended setup.
First off, the target architecture is:
RB5009: Router for the network performing NAT and firewall
2x 3P switches: acting as access layer switches
CRS310: Core switch interconnecting the two access switches and the RB5009
What I would like to do is have LACP bonds between the CRS310 and each of the devices mentioned above. Then each LACP bond would be assigned a /31 PtP IP address pair with the neighbor device. The CRS310 would be used explicitly for L3 forwarding, no rules, no queues, nothing fancy at all, just a routing protocol (e.g. OSPF), and L3 forwarding; i.e.
CRS310 =(bond0)=> RB5009 : 172.16.0.0/31
CRS310 =(bond1)=> Switch1 : 172.16.0.2/31
CRS310 =(bond2)=> Switch2 : 172.16.0.4/31
So my questions come down to:
Would this topology be able to forward traffic using L3 HW offloading?
If so, is there anything specific I need to consider in the configuration?
Would bondX interfaces need to be added to a bridge with independent PVIDs?
If they need to be added to a bridge, do I assign IP addresses to the bondX interfaces or to VLAN interfaces part of the bridge?
If not, then are there any tweaks I can make to my plan to make it more HW offloading friendly?
Replying to this based on information I have found in the docs so far, and how I was potentially approaching this the wrong way. Essentially separating the bonding configuration and the L3 forwarding requirement from one another, I am deducing the following:
Even though forwarding between routed ports and inter-VLAN routing achieves the same end result effectively (forwarding L3 traffic), practically the implementation differs
I found this nugget in the docs (Layer 2 Dependency), which makes a very clear statement about the relation between L3 and L2 hardware processing.
There is a notion that L3 configurations need to be “in sync” with L2 configurations.
Since L2 configuration is pretty much mapping configuration to the switch chip, that is implemented by way of creating a bridge
So to answer my question about how this would need to be configured in order to ensure L3 HW offloading, I would need to implement the following:
Create a (first) bridge (bridge0)
Create three VLAN interfaces on the bridge
Assign an IP address to each of the VLAN interfaces
Create three bond interfaces
Add each bond interface to the bridge giving each one a unique PVID from the VLAN interfaces created above