<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Cumulus on Council of Elrond</title><link>https://songkou.github.io/tags/cumulus/</link><description>Recent content in Cumulus on Council of Elrond</description><generator>Hugo</generator><language>en</language><lastBuildDate>Sun, 19 Jul 2026 02:00:00 +0800</lastBuildDate><atom:link href="https://songkou.github.io/tags/cumulus/index.xml" rel="self" type="application/rss+xml"/><item><title>VXLAN_EVPN_Cumulus_Lab_Test</title><link>https://songkou.github.io/posts/vxlan-evpn-cumulus-5.4-lab-guide/</link><pubDate>Sun, 19 Jul 2026 02:00:00 +0800</pubDate><guid>https://songkou.github.io/posts/vxlan-evpn-cumulus-5.4-lab-guide/</guid><description>&lt;p&gt;This lab builds a VXLAN EVPN fabric on Cumulus Linux 5.4: one BGP spine, an MLAG leaf pair (leaf1/leaf2) acting as a single logical VTEP, and a standalone leaf (leaf3). Linux1 is dual-homed to the MLAG pair over an LACP bond, while Linux21 and Linux22 share a stretched VLAN with a distributed anycast gateway.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Lab requirements&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;VLAN 100: Linux1 &lt;code&gt;192.168.100.10/24&lt;/code&gt;, gateway &lt;code&gt;192.168.100.1&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;VLAN 121: Linux21 &lt;code&gt;192.168.121.21/24&lt;/code&gt;, Linux22 &lt;code&gt;192.168.121.22/24&lt;/code&gt;, anycast gateway &lt;code&gt;192.168.121.1&lt;/code&gt; on all leaves&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="lab-environment"&gt;Lab environment&lt;/h2&gt;
&lt;p&gt;This lab runs in EVE-NG. The four switches (&lt;code&gt;spine&lt;/code&gt;, &lt;code&gt;leaf1&lt;/code&gt;, &lt;code&gt;leaf2&lt;/code&gt;, &lt;code&gt;leaf3&lt;/code&gt;) are Cumulus VX 5.4 nodes, and the three hosts (&lt;code&gt;Linux1&lt;/code&gt;, &lt;code&gt;Linux21&lt;/code&gt;, &lt;code&gt;Linux22&lt;/code&gt;) are lightweight Alpine-style Linux nodes configured through &lt;code&gt;/etc/network/interfaces&lt;/code&gt; and OpenRC&amp;rsquo;s &lt;code&gt;rc-service&lt;/code&gt;. Any emulator that boots Cumulus VX 5.4 with the port mapping in section 2 will work; adjust the host commands if your Linux image uses a different init system or network configuration method.&lt;/p&gt;</description></item><item><title>RoCE_Cumulus_Linux</title><link>https://songkou.github.io/posts/roce_cumulus_linux/</link><pubDate>Fri, 17 Jul 2026 20:00:00 +0800</pubDate><guid>https://songkou.github.io/posts/roce_cumulus_linux/</guid><description>&lt;h2 id="part-1-roce-and-rdma-fundamentals"&gt;Part 1: RoCE and RDMA fundamentals&lt;/h2&gt;
&lt;p&gt;In the context of &lt;strong&gt;NVIDIA/Cumulus Linux and HPC networking&lt;/strong&gt;, &lt;strong&gt;RoCE&lt;/strong&gt; stands for:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;RoCE = RDMA over Converged Ethernet&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;It is widely used in &lt;strong&gt;AI clusters, HPC, GPU clusters, storage networks, and low-latency data centers&lt;/strong&gt;.&lt;/p&gt;
&lt;h3 id="what-is-roce"&gt;What is RoCE?&lt;/h3&gt;
&lt;p&gt;RoCE allows &lt;strong&gt;RDMA (Remote Direct Memory Access)&lt;/strong&gt; to run over an Ethernet network.&lt;/p&gt;
&lt;p&gt;Normally, when one server sends data to another:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Application
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; |
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; v
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;TCP/IP Stack
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; |
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; v
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Kernel
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; |
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; v
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;NIC
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; |
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; v
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Ethernet
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The CPU has to copy memory, handle interrupts, process TCP/IP, and switch between user and kernel space. This consumes CPU cycles and adds latency.&lt;/p&gt;</description></item></channel></rss>