<?xml version="1.0" encoding="utf-8" ?>

<rss version="2.0" 
   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
   xmlns:admin="http://webns.net/mvcb/"
   xmlns:dc="http://purl.org/dc/elements/1.1/"
   xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
   xmlns:wfw="http://wellformedweb.org/CommentAPI/"
   xmlns:content="http://purl.org/rss/1.0/modules/content/"
   >
<channel>
    
    <title>Raymond P. Burkholder - Things I Do - BGP</title>
    <link>https://blog.raymond.burkholder.net/</link>
    <description>In And Around Technology and The Arts</description>
    <dc:language>en</dc:language>
    <generator>Serendipity 1.7.2 - http://www.s9y.org/</generator>
    <pubDate>Fri, 01 Apr 2022 03:59:20 GMT</pubDate>

    <image>
        <url>https://blog.raymond.burkholder.net/templates/bulletproof/img/s9y_banner_small.png</url>
        <title>RSS: Raymond P. Burkholder - Things I Do - BGP - In And Around Technology and The Arts</title>
        <link>https://blog.raymond.burkholder.net/</link>
        <width>100</width>
        <height>21</height>
    </image>

<item>
    <title>BGP Local Preference vs MED</title>
    <link>https://blog.raymond.burkholder.net/index.php?/archives/1186-BGP-Local-Preference-vs-MED.html</link>
            <category>BGP</category>
    
    <comments>https://blog.raymond.burkholder.net/index.php?/archives/1186-BGP-Local-Preference-vs-MED.html#comments</comments>
    <wfw:comment>https://blog.raymond.burkholder.net/wfwcomment.php?cid=1186</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>https://blog.raymond.burkholder.net/rss.php?version=2.0&amp;type=comments&amp;cid=1186</wfw:commentRss>
    

    <author>nospam@example.com (Raymond P. Burkholder)</author>
    <content:encoded>
    &lt;p&gt;Seen on a mailing list, some comments regarding local preference vs MED.

&lt;blockquote&gt;
&lt;p&gt;Unfortunately, the reason crazy-long prepends actually propagate so 
widely in the internet core is because most of those decisions to prefer 
your peer&#039;s customers are done using a relatively big and heavy hammer.

&lt;p&gt;&amp;gt; 
IOW if your peer or customer has prepended 5 times or more, dont LOCAL_PREF or maybe even de-LOCAL_PREF it 

&lt;p&gt;LOCAL_PREF is, in my opinion, the wrong tool to use, but it&#039;s what most 
of the networks out there seem to have settled on, to the point of having
published BGP communities to use for controlling the LOCAL_PREF setting 
on received routes: https://onestep.net/communities/

&lt;p&gt;I&#039;ve long practiced, and advocated for, the use of MEDs or tweaking origin 
codes as a better way to nudge traffic towards customers, peers, customers 
of peers, etc., because it still allows as-path to be a factor in nudging traffic 
away.   Prepend inbound 3 times on routes learned from your transit provider, 
but not on your peers, listen to MEDs from your peers, and enable always-compare-med
and deterministic-med to allow values to be compared across different pathways.

&lt;p&gt;That way, someone trying to say &quot;don&#039;t use this path&quot; can do a simple triple-prepend, 
and see their traffic shift.  In our current world of using LOCAL_PREF, however, the 
poor customer keeps prepending more and more, and never sees their traffic shift. 
In desperation, they prepend the maximum number of times allowed, hoping that 
maybe this will somehow do the trick...not understanding that no matter what they 
do in the prepend realm, so long as their upstreams are using the LOCAL_PREF 
hammer, their prepends will fall on deaf ears.

&lt;p&gt;For the most part--if you think LOCAL_PREF is the right knob to use for moving 
traffic, it probably means you need to go back and rethink your traffic engineering 
approach.
&lt;/blockquote&gt; 
    </content:encoded>

    <pubDate>Fri, 01 Apr 2022 03:52:48 +0000</pubDate>
    <guid isPermaLink="false">https://blog.raymond.burkholder.net/index.php?/archives/1186-guid.html</guid>
    
</item>
<item>
    <title>EVPN Reading Material</title>
    <link>https://blog.raymond.burkholder.net/index.php?/archives/799-EVPN-Reading-Material.html</link>
            <category>BGP</category>
    
    <comments>https://blog.raymond.burkholder.net/index.php?/archives/799-EVPN-Reading-Material.html#comments</comments>
    <wfw:comment>https://blog.raymond.burkholder.net/wfwcomment.php?cid=799</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>https://blog.raymond.burkholder.net/rss.php?version=2.0&amp;type=comments&amp;cid=799</wfw:commentRss>
    

    <author>nospam@example.com (Raymond P. Burkholder)</author>
    <content:encoded>
    &lt;p&gt;With the release of &lt;a href=&quot;https://github.com/FRRouting/frr&quot; target=_blank&gt;FRRouting Protoocol Suite&lt;/a&gt;, a wide range of networking abilities become possible.  Some MPLS/LDP capabilities become available.  But problem FRR&#039;s power comes with it&#039;s implementation of EVPN based upon &lt;a href=&quot;https://tools.ietf.org/html/rfc7432&quot; target=_blank&gt;BGP MPLS-Based Ethernet VPN&lt;/a&gt;.  This RFC refers to &lt;a href=&quot;https://tools.ietf.org/html/rfc7209&quot; target=_blank&gt;Requirements for Ethernet VPN (EVPN)&lt;/a&gt;.

&lt;p&gt;The FRR implementation of EVPN uses VXLAN as the underlying encapsulation mechanism.

&lt;p&gt;The first details I saw of &lt;a href=&quot;https://ripe74.ripe.net/wp-content/uploads/presentations/134-FRR-RIPE74.pdf&quot; target=_blank&gt;EVPN in FRR&lt;/a&gt; was from &lt;a href=&quot;https://ripe74.ripe.net/presentations/presentation-archive/&quot; target=_blank&gt;RIPE 74 Presentations&lt;/a&gt; site.  Slides 15 through 18 discuss some features.  EVPN route types 2, 3 (L2 EVPN overlay), and 5 (segment routing) are supported.

&lt;ul&gt;Other documents:
  &lt;li&gt;&lt;a href=&quot;https://github.com/FRRouting/frr/wiki/Major-Changes&quot; target=_blank&gt;Major Changes&lt;/a&gt; as listed on the FRR github wiki.
  &lt;li&gt;&lt;a href=&quot;http://packetpushers.net/evpn-introduction-next-generation-l2vpn/&quot; target=_blank&gt;EVPN: Intro to next gen L2VPN&lt;/a&gt; has some L2VPN comparisons, provides some terminology, and some high level examples for split horizon, multicast,  and aliasing.
  &lt;li&gt;&lt;a href=&quot;https://cumulusnetworks.com/learn/web-scale-networking-resources/white-papers/bgp-evpn-vxlan/&quot; target=_blank&gt;BGP EVPN VXLAN&lt;/a&gt; from Cumulus, a good high level review with some console examples
  &lt;li&gt;&lt;a href=&quot;http://collab.debian.net/portal/planet-debian/vincent-bernat-vxlan-bgp-evpn-with-cumulus-quagga&quot; target=_blank&gt;Vincent Bernat: VXLAN BGP EVPN with Cumulus&lt;/a&gt; covers some interop examples with Juniper and GoBGP.  The same thing on &lt;a href=&quot;https://vincent.bernat.im/en/blog/2017-vxlan-bgp-evpn&quot; target=_blank&gt;Vincent Bernat&#039;s Website&lt;/a&gt;.
  &lt;li&gt;&lt;a href=&quot;http://forums.juniper.net/t5/Data-Center-Technologists/MC-LAG-is-dead-Long-live-EVPN-Multi-homing/ba-p/298924&quot; target=_blank&gt;MC-LAG is dead, Long Live EVPN Multi-Homing&lt;/a&gt; is an article from Juniper describing how the ESI attribute of EVPN is used to multi-home a CPE to two or more devices.   I wonder if that works in FRR?  Some more related material, with extracts from the RFC can be found at &lt;a href=&quot;https://www.linkedin.com/pulse/20141127005443-71236760-evpn-technologies&quot; target=_blank&gt;EVPN Technologies&lt;/a&gt;.
  &lt;li&gt;&lt;a href=&quot;https://github.com/FRRouting/frr/issues/483&quot; target=_blank&gt;FRR VRF&lt;/a&gt;: in issue 483, a small example for MP-BGP and VRF-lite.  Some mailing list talk on &lt;a href=&quot;https://lists.frrouting.org/pipermail/dev/2017-February/000352.html&quot; target=_blank&gt;BGP VRF processing handling&lt;/a&gt;.
  &lt;li&gt;&lt;a href=&quot;https://www.kernel.org/doc/Documentation/networking/vrf.txt&quot; target=_blank&gt;VRF Docs&lt;/a&gt; in the kernel doc directory.
  &lt;li&gt;&lt;a href=&quot;http://www.samrussell.nz/2015/12/mpls-testbed-on-ubuntu-linux-with.html&quot; target=_blank&gt;Sam Russell MPLS Test Bed on kernel 4.3&lt;/a&gt;
  &lt;li&gt;&lt;a href=&quot;http://rickmur.com/evpn-rfc-7432-explained/&quot; target=_blank&gt;Rick Mur&lt;/a&gt;&#039;s take on RFC 7432 from a Juniper perspective.
  &lt;li&gt;&lt;a href=&quot;https://patchwork.diac24.net/patch/2273/&quot; target=_blank&gt;Patch Work&lt;/a&gt; version of the BGP VRF processing handling discussion.  Patchwork has been replaced by github.
  &lt;li&gt;&lt;a href=&quot;https://blog.ipspace.net/2018/02/using-evpn-in-very-small-data-center.html&quot; target=_blank&gt;Using EVPN in Very Small Data Center Fabrics&lt;/a&gt; - ipspace says not in a yes kinda way
 &lt;/ul&gt;

&lt;ul&gt;Side Tracks:
  &lt;li&gt;&lt;a href=&quot;http://www.segment-routing.net/open-software/linux/&quot; target=_blank&gt;Segment Routing ipv6&lt;/a&gt; introduced in kernel v4.10.
  &lt;li&gt;&lt;a href=&quot;https://inl.info.ucl.ac.be/system/files/paper_10.pdf&quot; target=_blank&gt;Implementing IPv6 Segment Routing in the Linux Kernel&lt;/a&gt;: linked from
&lt;a href=&quot;https://inl.info.ucl.ac.be/publications/implementing-ipv6-segment-routing-linux-kernel&quot; target=_blank&gt;IP Networking Lab&lt;/a&gt;.
  &lt;li&gt;&lt;a href=&quot;http://www.segment-routing.org&quot; target=_blank&gt;Kernel Implementation&lt;/a&gt;: more info
  &lt;/ul&gt; 
    </content:encoded>

    <pubDate>Mon, 21 Aug 2017 14:03:00 +0000</pubDate>
    <guid isPermaLink="false">https://blog.raymond.burkholder.net/index.php?/archives/799-guid.html</guid>
    
</item>
<item>
    <title>BGP Default-Information Originate</title>
    <link>https://blog.raymond.burkholder.net/index.php?/archives/6-BGP-Default-Information-Originate.html</link>
            <category>BGP</category>
    
    <comments>https://blog.raymond.burkholder.net/index.php?/archives/6-BGP-Default-Information-Originate.html#comments</comments>
    <wfw:comment>https://blog.raymond.burkholder.net/wfwcomment.php?cid=6</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>https://blog.raymond.burkholder.net/rss.php?version=2.0&amp;type=comments&amp;cid=6</wfw:commentRss>
    

    <author>nospam@example.com (Raymond P. Burkholder)</author>
    <content:encoded>
    &lt;p&gt;A brief note on the rules for originating a default route into BGP (copied from a posting  made by Mohammed Mahmoud):

&lt;ul&gt;
  &lt;li&gt;default-information originate + redistribute static (or any dynamic routing protocol having the default route - you may filter only the default route)
  &lt;li&gt;network command but must make sure the default route is present in the routing table
  &lt;li&gt;issuing the neighbor default-originate command. This method does not require the presence of the 0.0.0.0/0 network in the routing table of the advertising router
  &lt;/ul&gt;

&lt;p&gt;Additional notes:  The configuration of the default-information originate command in 
BGP is similar to the configuration of the network (BGP) command. 
The default-information originate command, however, requires explicit 
redistribution of the route 0.0.0.0. The network command requires only 
that the route 0.0.0.0 is present in the Interior Gateway Protocol (IGP) 
routing table. For this reason, the network command is preferred. 
    </content:encoded>

    <pubDate>Fri, 07 Dec 2012 20:37:49 +0000</pubDate>
    <guid isPermaLink="false">https://blog.raymond.burkholder.net/index.php?/archives/6-guid.html</guid>
    
</item>
<item>
    <title>Real Time Black Holing (RTBH)</title>
    <link>https://blog.raymond.burkholder.net/index.php?/archives/521-Real-Time-Black-Holing-RTBH.html</link>
            <category>BGP</category>
    
    <comments>https://blog.raymond.burkholder.net/index.php?/archives/521-Real-Time-Black-Holing-RTBH.html#comments</comments>
    <wfw:comment>https://blog.raymond.burkholder.net/wfwcomment.php?cid=521</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>https://blog.raymond.burkholder.net/rss.php?version=2.0&amp;type=comments&amp;cid=521</wfw:commentRss>
    

    <author>nospam@example.com (Raymond P. Burkholder)</author>
    <content:encoded>
    &lt;p&gt;Here are some notes to self regarding real time blackholing configurations for dropping / analyzing packets that &#039;do not belong&#039;.

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;http://www.arbornetworks.com/index.php?option=com_docman&amp;task=doc_download&amp;gid=112&quot; target=_blank&gt;BGP Security Techniques (pdf)&lt;/a&gt;
  &lt;li&gt;&lt;a href=&quot;http://www.caida.org/publications/papers/2001/BackScatter/usenixsecurity01.pdf&quot; target=_blank&gt;Inferring Internet Denial-of-Service Activity (pdf)&lt;/a&gt;
  &lt;li&gt;&lt;a href=&quot;http://www.cisco.com/en/US/prod/collateral/iosswrel/ps6537/ps6586/ps6642/prod_white_paper0900aecd80313fac.pdf&quot; target=_blank&gt;
    Cisco Paper: Remotely Triggered Black Hole Filtering -- Destination Based and Source Based (pdf)&lt;/a&gt;, with a note at 
    &lt;a href=&quot;http://www.gossamer-threads.com/lists/cisco/nsp/79220&quot; target=_blank&gt;NSP ARchives&lt;/a&gt; that 
      disable-connected-check needs to be added to the peer&#039;s bgp configuration.
  &lt;li&gt;&lt;a href=&quot;http://ipv6canada.com/?p=59&quot; target=_blank&gt;IPv6Canada: S/RTBH Example&lt;/a&gt;
  &lt;li&gt;&lt;a href=&quot;http://packetlife.net/blog/2009/jul/6/remotely-triggered-black-hole-rtbh-routing/&quot; target=_blank&gt;PacketLife:  RTBH Routing&lt;/a&gt;
  &lt;/ul&gt;

&lt;p&gt;From the c-nsp list, RTBH commonly used next hops are RFC based Test Networks:

&lt;ul&gt;
  &lt;li&gt;IPv4 RFC3330 192.0.2.0/24
  &lt;li&gt;IPv6 RFC5156 2001:db8::/32 
  &lt;/ul&gt; 
    </content:encoded>

    <pubDate>Sat, 12 Jun 2010 18:44:28 +0000</pubDate>
    <guid isPermaLink="false">https://blog.raymond.burkholder.net/index.php?/archives/521-guid.html</guid>
    
</item>
<item>
    <title>Routing Within An ISP</title>
    <link>https://blog.raymond.burkholder.net/index.php?/archives/5-Routing-Within-An-ISP.html</link>
            <category>BGP</category>
    
    <comments>https://blog.raymond.burkholder.net/index.php?/archives/5-Routing-Within-An-ISP.html#comments</comments>
    <wfw:comment>https://blog.raymond.burkholder.net/wfwcomment.php?cid=5</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>https://blog.raymond.burkholder.net/rss.php?version=2.0&amp;type=comments&amp;cid=5</wfw:commentRss>
    

    <author>nospam@example.com (Raymond P. Burkholder)</author>
    <content:encoded>
    &lt;p&gt;Many ISP&#039;s I&#039;ve seen have had two routing protocols implemented:  BGP to talk to the  &#039;internet&#039; with the external /24 and shorter prefixes, and an internal routing protocol such  as EIGRP or OSPF to handle the internal /24 and longer prefixes.  The internal protocol  would be running on all ISP devices and would handle all infrastructure devices and customer  links.  For a multi-homed ISP, BGP would need to be running on all internal devices that  form internal paths from one external link to another.  This provides an ability to choose  an appropriate exit point for any traffic generated from within an ISP destined for the  external network.  Some ISP&#039;s &#039;cheat&#039; by generating default routes to the nearest  exit and having BGP reside only on edge devices.  Some optimum paths will be missed using  this simplified arrangement, particularily if an ISP is connected to non-transit neighbors.

&lt;p&gt;Current best practices make expanded use of BGP.  BGP, known as IBGP, is used 
extensively within the ISP to carry customer prefixes.  The internal routing protocol such 
as OSPF or EIGRP is used simply for carrying infrastructure routes such as loopback 
addresses and link addresses.

&lt;p&gt;With this arrangement, it is then easy to make use of MP-BGP (Multi-Protocol BGP) to 
handle the various requirements for carrying MPLS links.

&lt;p&gt;One presentation at RIPE shows some basics of 
&lt;a href=&quot;http://www.ripe.net/meetings/regional/manama-2006/presentations/BGP-BCP.pdf&quot; target=_blank&gt;
BGP Best Practices&lt;/a&gt;. 
    </content:encoded>

    <pubDate>Sun, 03 May 2009 21:56:38 +0000</pubDate>
    <guid isPermaLink="false">https://blog.raymond.burkholder.net/index.php?/archives/5-guid.html</guid>
    
</item>

</channel>
</rss>
