<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Kim Li</title>
    <description>The latest articles on DEV Community by Kim Li (@junkang_li_3aeb0977d65314).</description>
    <link>https://dev.to/junkang_li_3aeb0977d65314</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3652876%2F385026ff-fb99-4bc5-9976-2fa176955189.jpg</url>
      <title>DEV Community: Kim Li</title>
      <link>https://dev.to/junkang_li_3aeb0977d65314</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/junkang_li_3aeb0977d65314"/>
    <language>en</language>
    <item>
      <title>(Part 2) iBGP vs. eBGP: Split Horizon Explained by a Confused Engineer</title>
      <dc:creator>Kim Li</dc:creator>
      <pubDate>Tue, 06 Jan 2026 09:50:37 +0000</pubDate>
      <link>https://dev.to/junkang_li_3aeb0977d65314/part-2-ibgp-vs-ebgp-split-horizon-explained-by-a-confused-engineer-3403</link>
      <guid>https://dev.to/junkang_li_3aeb0977d65314/part-2-ibgp-vs-ebgp-split-horizon-explained-by-a-confused-engineer-3403</guid>
      <description>&lt;p&gt;Welcome back to &lt;strong&gt;Route/Switch &amp;amp; Sleep Deprivation&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;In &lt;strong&gt;Part 1&lt;/strong&gt;, we got two routers to shake hands. It was beautiful. It was "Established."&lt;br&gt;
But a handshake is not a conversation. Just because your routers are friends doesn't mean they are gossiping about routes correctly.&lt;/p&gt;

&lt;p&gt;Today, we tackle the split personality of BGP: &lt;strong&gt;Internal BGP (iBGP)&lt;/strong&gt; versus &lt;strong&gt;External BGP (eBGP)&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;If you think they work the same way, prepare for your packets to disappear into the void.&lt;/p&gt;
&lt;h2&gt;
  
  
  The Tale of Two Protocols
&lt;/h2&gt;

&lt;p&gt;Despite sharing the same name, iBGP and eBGP are like two different employees at a company:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;eBGP (External):&lt;/strong&gt; The Salesman. He talks to people outside the company. He is loud, assumes everyone is far away (TTL=1), and changes the "Next Hop" address to himself because he knows the outside world doesn't know about our internal mess.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;iBGP (Internal):&lt;/strong&gt; The Introverted Engineer. He talks to colleagues. He trusts them (TTL=255). But he has a very strict code of silence called &lt;strong&gt;Split Horizon&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Let's break the network to see how this works.&lt;/p&gt;
&lt;h2&gt;
  
  
  Trap #1: The "Next Hop" Lie
&lt;/h2&gt;

&lt;p&gt;Imagine a classic topology:&lt;br&gt;
&lt;strong&gt;R1 (ISP)&lt;/strong&gt; -&amp;gt; &lt;strong&gt;R2 (Edge)&lt;/strong&gt; -&amp;gt; &lt;strong&gt;R3 (Internal Core)&lt;/strong&gt;.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;R1 is in AS 100.&lt;/li&gt;
&lt;li&gt;R2 and R3 are in AS 200.&lt;/li&gt;
&lt;li&gt;R1 sends a route (e.g., &lt;code&gt;8.8.8.8/32&lt;/code&gt;) to R2 via eBGP.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;R2 learns it. R2 is happy. R2 installs it in the routing table.&lt;br&gt;
Now, R2 sends this route to R3 via &lt;strong&gt;iBGP&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;R3 receives the update. You check &lt;code&gt;show ip bgp&lt;/code&gt; on R3. The route is there!&lt;br&gt;
But R3 &lt;strong&gt;cannot ping&lt;/strong&gt; &lt;code&gt;8.8.8.8&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why?&lt;/strong&gt;&lt;br&gt;
Look closely at the BGP table on R3:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;R3# show ip bgp 8.8.8.8
BGP routing table entry &lt;span class="k"&gt;for &lt;/span&gt;8.8.8.8/32, version 2
Paths: &lt;span class="o"&gt;(&lt;/span&gt;1 available, best &lt;span class="c"&gt;#1, table default)&lt;/span&gt;
  Not advertised to any peer
  100
    192.168.12.1 &lt;span class="o"&gt;(&lt;/span&gt;inaccessible&lt;span class="o"&gt;)&lt;/span&gt; from 192.168.23.2 &lt;span class="o"&gt;(&lt;/span&gt;2.2.2.2&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;See that? &lt;strong&gt;&lt;code&gt;192.168.12.1 (inaccessible)&lt;/code&gt;&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Rule:&lt;/strong&gt; When eBGP passes a route to iBGP, &lt;strong&gt;it does NOT change the Next Hop address&lt;/strong&gt;.&lt;br&gt;
R2 told R3: "Hey, to get to Google, go to R1 (192.168.12.1)."&lt;br&gt;
R3 said: "Who is R1? I don't have a route to that external link. I only know you, R2."&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Fix:&lt;/strong&gt;&lt;br&gt;
You must force R2 to be the middleman.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="o"&gt;!&lt;/span&gt; On R2 &lt;span class="o"&gt;(&lt;/span&gt;The Edge Router&lt;span class="o"&gt;)&lt;/span&gt;
router bgp 200
 neighbor 3.3.3.3 next-hop-self
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Now R2 says: "To get to Google, come to &lt;strong&gt;ME&lt;/strong&gt;." R3 knows how to reach R2. Traffic flows.&lt;/p&gt;

&lt;h2&gt;
  
  
  Trap #2: The Split Horizon Silence
&lt;/h2&gt;

&lt;p&gt;Now let's add &lt;strong&gt;R4&lt;/strong&gt; behind R3.&lt;br&gt;
&lt;strong&gt;R1 -&amp;gt; R2 -&amp;gt; R3 -&amp;gt; R4&lt;/strong&gt;.&lt;br&gt;
R2, R3, R4 are all in AS 200.&lt;/p&gt;

&lt;p&gt;R2 tells R3 about the route.&lt;br&gt;
R3 knows the route.&lt;br&gt;
&lt;strong&gt;R3 will NOT tell R4.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3lhmc9gadfxn97p65xjs.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3lhmc9gadfxn97p65xjs.png" alt=" " width="800" height="436"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why?&lt;/strong&gt;&lt;br&gt;
This is the &lt;strong&gt;iBGP Split Horizon Rule&lt;/strong&gt;:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;"A router cannot advertise a route to an iBGP neighbor if it learned that route from another iBGP neighbor."&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;In eBGP, we use the AS-Path to prevent loops. In iBGP, the AS-Path doesn't change, so we have no loop prevention mechanism in the packet. So BGP just bans re-advertising entirely to be safe.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Result:&lt;/strong&gt; R4 is an island. It knows nothing.&lt;/p&gt;
&lt;h2&gt;
  
  
  How to Fix It (The "Full Mesh" Pain)
&lt;/h2&gt;

&lt;p&gt;To make this work, &lt;strong&gt;R2 must peer directly with R4&lt;/strong&gt;.&lt;br&gt;
In fact, in a standard iBGP network, &lt;strong&gt;EVERY router must peer with EVERY other router&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;If you have 5 routers, you need 10 connections.&lt;br&gt;
If you have 20 routers, you need 190 connections.&lt;br&gt;
If you have 100 routers... you quit your job.&lt;/p&gt;
&lt;h2&gt;
  
  
  The Real World Solution: Route Reflectors
&lt;/h2&gt;

&lt;p&gt;Since we don't want to configure 190 neighbors, we use a &lt;strong&gt;Route Reflector (RR)&lt;/strong&gt;.&lt;br&gt;
We make R3 the "Boss".&lt;br&gt;
We tell R3: "It's okay to break the rules. You are special."&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="o"&gt;!&lt;/span&gt; On R3
router bgp 200
 neighbor 2.2.2.2 route-reflector-client
 neighbor 4.4.4.4 route-reflector-client
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Now, when R2 tells R3 a secret, R3 &lt;strong&gt;reflects&lt;/strong&gt; it to R4. The Full Mesh requirement is gone.&lt;/p&gt;

&lt;h2&gt;
  
  
  Summary for the Lab
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt; &lt;strong&gt;Missing Routes in the Table?&lt;/strong&gt; Check &lt;strong&gt;Split Horizon&lt;/strong&gt;. Do you need a Route Reflector?&lt;/li&gt;
&lt;li&gt; &lt;strong&gt;Route is there but "Inaccessible"?&lt;/strong&gt; Check &lt;strong&gt;Next-Hop&lt;/strong&gt;. Did you forget &lt;code&gt;next-hop-self&lt;/code&gt; on the edge router?&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;BGP is a protocol that assumes you know exactly what you are doing. If you don't, it simply drops your traffic and stays silent.&lt;/p&gt;

&lt;p&gt;In &lt;strong&gt;Part 3&lt;/strong&gt; (which creates a loop instead of a black hole), we will discuss &lt;strong&gt;Redistribution&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;See you in the CLI.&lt;/p&gt;

</description>
      <category>networking</category>
      <category>ccie</category>
      <category>bgp</category>
      <category>cisco</category>
    </item>
    <item>
      <title>Why "Active" State Actually Means You Failed</title>
      <dc:creator>Kim Li</dc:creator>
      <pubDate>Tue, 09 Dec 2025 03:59:01 +0000</pubDate>
      <link>https://dev.to/junkang_li_3aeb0977d65314/why-active-state-actually-means-you-failed-19i3</link>
      <guid>https://dev.to/junkang_li_3aeb0977d65314/why-active-state-actually-means-you-failed-19i3</guid>
      <description>&lt;p&gt;Welcome to &lt;strong&gt;Route/Switch &amp;amp; Sleep Deprivation: A CCIE Diary&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;If you are reading this, you probably enjoy pain. Or, like me, you decided that knowing "a little bit about networking" wasn't enough, and you wanted to chase the holy grail of network certifications: the &lt;strong&gt;CCIE&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;I am currently in the trenches of studying for the CCIE Enterprise Infrastructure. My coffee consumption has tripled, and my dreams are now exclusively about packet headers.&lt;/p&gt;

&lt;p&gt;Today, we are starting with the protocol that runs the world (and occasionally breaks Facebook): &lt;strong&gt;BGP (Border Gateway Protocol)&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Specifically, I want to talk about that magical, frustrating moment when you try to get two routers to talk to each other.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Protocol of "Trust No One"
&lt;/h2&gt;

&lt;p&gt;Unlike OSPF or EIGRP, which are like friendly neighbors shouting "Here I am! Let's be friends!" over the fence (Multicast), BGP is a grumpy old man.&lt;/p&gt;

&lt;p&gt;BGP doesn't discover neighbors automatically. You have to explicitly introduce them. You have to manually type in the IP address of the peer and say, "Trust this guy." It’s a TCP-based protocol (Port 179), which means before any routing information is exchanged, we need a solid TCP handshake.&lt;/p&gt;

&lt;p&gt;It sounds simple. But in the lab, "simple" is a trap.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Topology: Keep It Simple (For Now)
&lt;/h2&gt;

&lt;p&gt;Let's look at the setup I’m running in GNS3 today. It’s the "Hello World" of BGP.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmwhginbzr8gu7mivrsmm.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmwhginbzr8gu7mivrsmm.png" alt="1" width="800" height="436"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;R1:&lt;/strong&gt; AS 65001 (Interface Gi0/0: 192.168.12.1)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;R2:&lt;/strong&gt; AS 65002 (Interface Gi0/0: 192.168.12.2)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This is &lt;strong&gt;eBGP&lt;/strong&gt; (External BGP) because the Autonomous System (AS) numbers are different.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Config: Where Typos Go to Die
&lt;/h2&gt;

&lt;p&gt;Here is the config on R1. It looks innocent enough:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;R1&lt;span class="o"&gt;(&lt;/span&gt;config&lt;span class="o"&gt;)&lt;/span&gt;&lt;span class="c"&gt;# router bgp 65001&lt;/span&gt;
R1&lt;span class="o"&gt;(&lt;/span&gt;config-router&lt;span class="o"&gt;)&lt;/span&gt;&lt;span class="c"&gt;# bgp router-id 1.1.1.1&lt;/span&gt;
R1&lt;span class="o"&gt;(&lt;/span&gt;config-router&lt;span class="o"&gt;)&lt;/span&gt;&lt;span class="c"&gt;# neighbor 192.168.12.2 remote-as 65002&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;And on R2:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;R2&lt;span class="o"&gt;(&lt;/span&gt;config&lt;span class="o"&gt;)&lt;/span&gt;&lt;span class="c"&gt;# router bgp 65002&lt;/span&gt;
R2&lt;span class="o"&gt;(&lt;/span&gt;config-router&lt;span class="o"&gt;)&lt;/span&gt;&lt;span class="c"&gt;# bgp router-id 2.2.2.2&lt;/span&gt;
R2&lt;span class="o"&gt;(&lt;/span&gt;config-router&lt;span class="o"&gt;)&lt;/span&gt;&lt;span class="c"&gt;# neighbor 192.168.12.1 remote-as 65001&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;I hit enter. I wait.&lt;/p&gt;

&lt;p&gt;In the world of OSPF, I’d see a console message immediately. &lt;em&gt;FULL adjacency! Success!&lt;/em&gt;&lt;br&gt;
In BGP, silence is common. BGP is slow by design. It doesn't want to flap (connect/disconnect) constantly.&lt;/p&gt;
&lt;h2&gt;
  
  
  The "Active" Trap
&lt;/h2&gt;

&lt;p&gt;I ran the verification command that every network engineer types 500 times a day:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;R1# show ip bgp summary
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The output showed the state as &lt;strong&gt;Active&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Now, if you are new to networking, "Active" sounds good, right? Active means working! Active means energetic!&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Wrong.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;In BGP land, &lt;strong&gt;Active means "I am actively trying to find my friend, but he is ignoring me."&lt;/strong&gt; It means failure. It means you are screaming into the void.&lt;/p&gt;

&lt;p&gt;What we want is &lt;strong&gt;Established&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdg3an4g2ofptmv3b3v0h.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdg3an4g2ofptmv3b3v0h.png" alt="2" width="800" height="436"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Troubleshooting My Own Stupidity
&lt;/h2&gt;

&lt;p&gt;Why was it stuck in Active?&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; &lt;strong&gt;Layer 1/2 Issue?&lt;/strong&gt; Can I ping 192.168.12.2?

&lt;ul&gt;
&lt;li&gt;
&lt;em&gt;Result:&lt;/em&gt; Yes. Ping works. So the cable isn't broken.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt; &lt;strong&gt;TCP Port 179?&lt;/strong&gt; Is an Access Control List (ACL) blocking port 179?

&lt;ul&gt;
&lt;li&gt;
&lt;em&gt;Result:&lt;/em&gt; No ACLs on these raw routers.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt; &lt;strong&gt;The Typos.&lt;/strong&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;I looked closer at R2's config.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;R2&lt;span class="o"&gt;(&lt;/span&gt;config-router&lt;span class="o"&gt;)&lt;/span&gt;&lt;span class="c"&gt;# neighbor 192.168.21.1 remote-as 65001&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Do you see it?&lt;br&gt;
I typed &lt;code&gt;21.1&lt;/code&gt; instead of &lt;code&gt;12.1&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;BGP didn't warn me. It didn't say "Hey, that IP doesn't exist on this subnet." It just accepted the command and sat there, waiting for a ghost neighbor at &lt;code&gt;192.168.21.1&lt;/code&gt; to say hello. Meanwhile, R1 was knocking on the door of &lt;code&gt;192.168.12.2&lt;/code&gt;, but R2 didn't recognize R1's IP as a configured friend, so it slammed the door (sent a TCP RST).&lt;/p&gt;
&lt;h2&gt;
  
  
  The Fix and The Lesson
&lt;/h2&gt;

&lt;p&gt;I corrected the IP on R2.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;R1# show ip bgp summary
BGP router identifier 1.1.1.1, &lt;span class="nb"&gt;local &lt;/span&gt;AS number 65001
Neighbor        V           AS MsgRcvd MsgSent   TblVer  InQ OutQ Up/Down  State/PfxRcd
192.168.12.2    4        65002       5       6        1    0    0 00:00:03        0
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;State/PfxRcd&lt;/strong&gt; shows a number (0). This implies the state is &lt;strong&gt;Established&lt;/strong&gt;. The "0" just means we haven't learned any routes yet, which is fine—we haven't advertised any networks.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Takeaway for the CCIE Lab:&lt;/strong&gt;&lt;br&gt;
Fast typing is great, but precise typing saves you 20 minutes of troubleshooting. When BGP is stuck in "Idle" or "Active," check Layer 3 connectivity first, then check your neighbor statements for dyslexia-induced typos.&lt;/p&gt;

&lt;h2&gt;
  
  
  Next Time...
&lt;/h2&gt;

&lt;p&gt;We have a connection. But right now, R1 and R2 are just staring at each other. They aren't sharing any juicy routing data.&lt;/p&gt;

&lt;p&gt;In &lt;strong&gt;Part 2&lt;/strong&gt;, we will dive into &lt;strong&gt;advertising networks&lt;/strong&gt;, manipulating the BGP table, and why &lt;code&gt;next-hop-self&lt;/code&gt; is the command you will forget most often.&lt;/p&gt;

&lt;p&gt;Until then, keep your packets flowing.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;(P.S. If you are also studying for the CCIE, connect with me! Let’s suffer together.)&lt;/em&gt;&lt;/p&gt;

</description>
      <category>networking</category>
      <category>ccie</category>
      <category>cisco</category>
      <category>bgp</category>
    </item>
  </channel>
</rss>
