MLAG Spine Leaf mesh port channels example


Dear all,

I am currently trying to re-create the MLAG Spine-leaf example shown in the net expample cmd:

=====
cumulus@spine1:~$ net example clag l2-with-server-vlan-trunks

Scenario
========

We want to create a L2-MLAG leaf-spine network with VLAN trunks to the hosts;
these networks are traditionally used in virtualization use cases.

In this example We create an MLAG peering relationships between spine1/spine2 as
well as leaf01/leaf02 on their swp49 and swp50 interfaces. We'll distribute vlans
100-500 through the whole network, trunking VLANs 100-120 to host-11 (with vlan
100 untagged).

You will need to configure spine1/spine2 and leaf01/leaf02, the steps for each
pair are very similar.

- create the peering; select one switch to be primary and the other secondary
- backup-ip is an optional (recommened) IP address that is separately reachable

- create VLANs 100-500

- create the mlag downlinks on the spines
- spine1 and spine2 MUST use the same clag-id for the downlink to the leaf-pair

- create the mlag uplinks on the leafs
- leaf01 and leaf02 MUST use the same clag-id for the uplink to the spine-pair

- configure a host facing interface for clag
- leaf01 and leaf02 MUST use the same clag-id for host-11

- connect the clag to host-11 to vlans 100-120, with vlan 100 untagged

- review and commit

==============


Using GNS and the sample configs, I am able to managed to set up the 2 mlag pairs
1 - Mlag spine pair - mlag id 1
2 - Mlag leaf pair - mlag id 100

I could see the mlag pairs are set up properly.

sample configs
spine2# net add clag peer sys-mac 44:38:39:FF:00:00 interface swp3-4 secondary backup-ip 10.0.0.1
spine2# net add vlan 100-500
spine2# net add bridge stp treeprio 16384
spine2# net add clag port bond bond-leaf-01-02 interface swp1,swp2 clag-id 1
spine2# net pending
spine2# net commit

leaf01# net add clag peer sys-mac 44:38:39:FF:00:01 interface swp3-4 primary backup-ip 10.0.1.2
leaf01# net add vlan 100-500
leaf01# net add clag port bond bond-to-spines interface swp1-2 clag-id 100
leaf01# net add clag port bond bond-to-host-11 interface swp5 clag-id 1
leaf01# net add bond bond-to-host-11 bridge trunk vlans 100-120
leaf01# net add bond bond-to-host-11 bridge pvid 100
leaf01# net pending
leaf01# net commit

However, what I am puzzled is, on the leaf switch, there is no need to configure a LACP bond as the dual connected ends of the spine mlag (id 1) pair. Also at each leaf switch, the bond only cover the 2 local uplinks.



In theory, shouldnt that be a port channel of the 4 links across the 2 leaf switches (logically)?

Vice versa, on the spine(s) ends, shouldnt that be a need LACP bond for the leaf mlag pair (id 100)?

Any guidance is much appreciated. Tks

4 replies

Userlevel 1
Hi Alex,

If I am understanding your question correctly, your point is that on the leaf's there should be a port-channel of the 4 links (to the spines) that spans across the 2 leaf switches.

Which is exactly what is done by the following configurations:
#leaf01
leaf01# net add clag port bond bond-to-spines interface swp1-2 clag-id 100
#leaf02
leaf02# net add clag port bond bond-to-spines interface swp1-2 clag-id 100

So both leafs have a 2-port bond with the same clag-id 100.
So as far as clag is concerned, this is a dual connected bond, with total 4 links, as both bonds have the same clag-id.

Now looking at the spine configurations:
#spine1
spine1# net add clag port bond bond-leaf-01-02 interface swp1,swp2 clag-id 1
#spine2
spine2# net add clag port bond bond-leaf-01-02 interface swp1,swp2 clag-id 1

Again, each spine has a 2-port bond. And since the clag-id on both bonds is the same, clag will consider this to be a dual-connected bond.

The clag-id is significant only between the clag pairs. So same clag-id is used for spine1-2 clag , and same clag-id is used for leaf01-02 pair.

Does that help clarify?
Nipul Shah wrote:

Hi Alex,

If I am understanding your question correctly, your point is that on the leaf's there s...

Hi Nipul,

Thanks for the clarification. It helps...so if my understanding is correct, in this case in order to create the 4 links port channel across the 2 leaf switches,thus we create the mlag 100 clag pair @ the leafs to bond them all logically together...

So in a way.....if we do not create this mlag 100 (leaf -> spine) pair, we would then configure the normal LACP bond interface on each leaf switch for their respective local 2 uplink ports, and essentially having a total of 2 but separate port channels back to spine..
Userlevel 1
Nipul Shah wrote:

Hi Alex,

If I am understanding your question correctly, your point is that on the leaf's there s...

So in a way.....if we do not create this mlag 100 (leaf -> spine) pair, we would then configure the normal LACP bond interface on each leaf switch for their respective local 2 uplink ports, and essentially having a total of 2 but separate port channels back to spine..

yes that's correct. By using a clag-id on the bonds between leaf and spines, in essence what we achieve is a single logical spine switch, connected via a bond to a single logical leaf switch.
If a clag-id is not attached to the "bond-to-spines" bond on the leaf, then this would be a non-clag bond, or orphan bond from each leaf that goes to it's own uplink device.

Nipul Shah wrote:

Hi Alex,

If I am understanding your question correctly, your point is that on the leaf's there s...

Hi Nipul,

Thanks very much for the info. It clears up my mind a lot. Tks for the help!

Reply