<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>evilrouters.net</title>
	
	<link>http://evilrouters.net</link>
	<description>im in ur datacentrz configurin' ur routerz</description>
	<lastBuildDate>Tue, 03 Nov 2009 22:31:20 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/evilrouters" type="application/rss+xml" /><feedburner:emailServiceId>evilrouters</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><item>
		<title>Email to Internetwork Expert regarding CCNP CoD</title>
		<link>http://feedproxy.google.com/~r/evilrouters/~3/6AaK64r0ct8/</link>
		<comments>http://evilrouters.net/2009/11/03/email-to-internetwork-expert-regarding-ccnp-cod/#comments</comments>
		<pubDate>Tue, 03 Nov 2009 22:31:20 +0000</pubDate>
		<dc:creator>jlgaddis</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[ccnp]]></category>
		<category><![CDATA[cisco]]></category>
		<category><![CDATA[education]]></category>
		<category><![CDATA[vendors]]></category>

		<guid isPermaLink="false">http://evilrouters.net/2009/11/03/email-to-internetwork-expert-regarding-ccnp-cod/</guid>
		<description><![CDATA[After a month of waiting for materials that should have already been available in a product that has already been bought and paid for, I just sent the following to Internetwork Expert&#8217;s sales team.  I am NOT happy, and I&#8217;m sure I&#8217;m not the only one.  If only ipexpert would have released a [...]]]></description>
			<content:encoded><![CDATA[<p>After a month of waiting for materials that should have already been available in a product that has already been bought and paid for, I just sent the following to <a href="http://ine.com/">Internetwork Expert</a>&#8217;s sales team.  I am <em>NOT</em> happy, and I&#8217;m sure I&#8217;m not the only one.  If only <a href="http://www.ipexpert.com/">ipexpert</a> would have released a CCNP course, this wouldn&#8217;t be an issue!</p>

<pre>Date: Tue, 3 Nov 2009 17:24:15 -0500
Subject: CCNP Class-on-Demand
From: "Jeremy L. Gaddis"
To: sales@internetworkexpert.com

Hello,

On September 18th, 2009, Brian McGahan posted an message to the CCNP
forum on ieoc.com stating that "...our CCNP Class-on-Demand is now
completed and available ..." [0]

On September 29th, 2009, I placed an online order (#186806) for your
CCNP Class-on-Demand (SKU #IENP-BC-CoD).  I received login details
shortly thereafter and was found that the course was *NOT* complete
and not all parts of the course were available.

On September 30th, 2009, after inquiries were posted to the same
thread [0] regarding the missing videos stating that "they will all be
available by the end of next week."  In addition, he stated that he
"should have a beta release of the CCNP Lab Workbook available by
Monday at the latest."  This is the lab workbook that would be,
according to the CCNP CoD product page [1], "available early October
2009".

On October 7th, 2009, I posted to the ongoing thread [0],
demonstrating that 1) the lab workbook was not available, and 2) the
remaining ONT videos were still missing.  Shortly thereafter, Brian
McGahan posted the BCMSN portions of the lab workbook.

After responding to Tony Mattke ("tonhe") on the thread [0] on October
8th, nothing has been heard from Brian McGahan.

On October 22nd, 2009, the EIGRP segment of the BSCI portion of the
workbook was posted, however.

Between October 8th and today, many others have inquired about the
availability of the remaining portions of the class, WHICH WE HAVE
ALREADY PAID FOR.

I understand that things happen.  Other things come up that have to
take priority.  However, it is now November, long past when I would
have expected the materials that I HAVE ALREADY PAID FOR to be
available.

A few moments ago, I attempted to reach Internetwork Expert's sales
division to inquire about this product.  The call, which was made
during INE's business hours [2], went unanswered and I was sent to
voicemail.

Unfortunately, the time has now come when I must demand that either:

1.  the COMPLETED product be made available in my account, or
2.  a full and complete refund be made to the credit card I used to
pay for the product.

Either option will be acceptable, and I expect that a resolution to
this issue will be made within 24 hours.

Thank you,
Jeremy L. Gaddis

[0]: <a href="http://ieoc.com/forums/t/8291.aspx">http://ieoc.com/forums/t/8291.aspx</a>
[1]: <a href="http://www.internetworkexpert.com/ccnp.htm">http://www.internetworkexpert.com/ccnp.htm</a>
[2]: <a href="http://www.internetworkexpert.com/contact.htm">http://www.internetworkexpert.com/contact.htm</a></pre>
<img src="http://feeds.feedburner.com/~r/evilrouters/~4/6AaK64r0ct8" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://evilrouters.net/2009/11/03/email-to-internetwork-expert-regarding-ccnp-cod/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		<feedburner:origLink>http://evilrouters.net/2009/11/03/email-to-internetwork-expert-regarding-ccnp-cod/</feedburner:origLink></item>
		<item>
		<title>New Cisco ISR G2 routers (slides)</title>
		<link>http://feedproxy.google.com/~r/evilrouters/~3/iRn0odV7oM0/</link>
		<comments>http://evilrouters.net/2009/10/14/new-cisco-isr-g2-routers-slides/#comments</comments>
		<pubDate>Wed, 14 Oct 2009 04:23:30 +0000</pubDate>
		<dc:creator>jlgaddis</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[cisco]]></category>
		<category><![CDATA[networking]]></category>
		<category><![CDATA[vendors]]></category>

		<guid isPermaLink="false">http://evilrouters.net/2009/10/14/new-cisco-isr-g2-routers-slides/</guid>
		<description><![CDATA[Someone found these online but they apparently disappeared.  He found them in his cache, though.  =)

I&#8217;m not sure what order they were originally in, so they&#8217;re in no particular order here.






















]]></description>
			<content:encoded><![CDATA[<p>Someone found these online but they apparently disappeared.  He found them in his cache, though.  =)</p>

<p>I&#8217;m not sure what order they were originally in, so they&#8217;re in no particular order here.</p>

<p><img src="http://evilrouters.net/wp-content/uploads/2009/10/67E9B8E6d01.jpg" alt="" border="0"></p>

<p><img src="http://evilrouters.net/wp-content/uploads/2009/10/A910F91Cd01.jpg" width="516" height="255" alt="" border="0"></p>

<p><img src="http://evilrouters.net/wp-content/uploads/2009/10/F0CBF18Dd01.jpg" alt="" border="0"></p>

<p><img src="http://evilrouters.net/wp-content/uploads/2009/10/F1CBF18Fd01.jpg" alt="" border="0"></p>

<p><img src="http://evilrouters.net/wp-content/uploads/2009/10/F3CBF1D8d01.jpg" alt="" border="0"></p>

<p><img src="http://evilrouters.net/wp-content/uploads/2009/10/F5CBF1FDd01.jpg" alt="" border="0"></p>

<p><img src="http://evilrouters.net/wp-content/uploads/2009/10/F6CBF1FFd01.jpg" alt="" border="0"></p>

<p><img src="http://evilrouters.net/wp-content/uploads/2009/10/F7CBF1ECd01.jpg" alt="" border="0"></p>

<p><img src="http://evilrouters.net/wp-content/uploads/2009/10/F86BFAC3d01.jpg" alt="" border="0"></p>

<p><img src="http://evilrouters.net/wp-content/uploads/2009/10/FACBF1EBd01.jpg" alt="" border="0"></p>

<p><img src="http://evilrouters.net/wp-content/uploads/2009/10/FBCBF1ECd01.jpg" alt="" border="0"></p>
<img src="http://feeds.feedburner.com/~r/evilrouters/~4/iRn0odV7oM0" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://evilrouters.net/2009/10/14/new-cisco-isr-g2-routers-slides/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		<feedburner:origLink>http://evilrouters.net/2009/10/14/new-cisco-isr-g2-routers-slides/</feedburner:origLink></item>
		<item>
		<title>Fine Example of ProCurve Engineering</title>
		<link>http://feedproxy.google.com/~r/evilrouters/~3/7r5triFO5wQ/</link>
		<comments>http://evilrouters.net/2009/10/05/fine-example-of-procurve-engineering/#comments</comments>
		<pubDate>Mon, 05 Oct 2009 18:40:57 +0000</pubDate>
		<dc:creator>jlgaddis</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[hp]]></category>
		<category><![CDATA[networking]]></category>
		<category><![CDATA[ospf]]></category>
		<category><![CDATA[stupid]]></category>
		<category><![CDATA[vendors]]></category>

		<guid isPermaLink="false">http://evilrouters.net/2009/10/05/fine-example-of-procurve-engineering/</guid>
		<description><![CDATA[Here&#8217;s a fine example of that wonderful HP ProCurve engineering and quality control I&#8217;ve grown intimately familiar with:

The following problems were resolved in release K.13.71.

&#8230;

IP Communication (PR_0000044004) &#8211; Switches running software versions K.13.65 -
K.13.68 may experience a resource leak in ICMP that eventually causes loss of IP
communication with the following symptoms.

The switch will stop routing [...]]]></description>
			<content:encoded><![CDATA[<p>Here&#8217;s a fine example of that wonderful HP ProCurve engineering and quality control I&#8217;ve grown intimately familiar with:</p>

<blockquote><p>The following problems were resolved in release K.13.71.</p>

<p>&#8230;</p>

<p><b>IP Communication (PR_0000044004) &#8211;</b> Switches running software versions K.13.65 -
K.13.68 may experience a resource leak in ICMP that eventually causes loss of IP
communication with the following symptoms.</p>

<p><ul><li>The switch will stop routing traffic for hosts for which it provides gateway services.</li>
<li>All dynamic routing protocols stop functioning.  The switch will stop sending routing protocol packets, and will not process incoming routing protocol packets sent from its neighbors.</li>
<li>In-band network management stops functioning.  The switch will become inaccessible via Telnet, SSH, WEB, and TFTP.</li>
<li>Console management may become very sluggish and may appear to be non-responsive.</li>
<li>Output from the CLI command <b>show ip route</b> will be corrupted.</li>
<li>A reboot is required to clear up the symptoms.</li></ul></p></blockquote>

<p>BUT AT LEAST WE SAVED SOME MONEY!</p>

<p>(Note:  Yes, I have been bit by this bug.)</p>
<img src="http://feeds.feedburner.com/~r/evilrouters/~4/7r5triFO5wQ" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://evilrouters.net/2009/10/05/fine-example-of-procurve-engineering/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://evilrouters.net/2009/10/05/fine-example-of-procurve-engineering/</feedburner:origLink></item>
		<item>
		<title>Cisco 1941, 2900sm, 2901, and 3900 routers!?</title>
		<link>http://feedproxy.google.com/~r/evilrouters/~3/-kiKZlMhdeE/</link>
		<comments>http://evilrouters.net/2009/10/05/cisco-1941-2900sm-2901-and-3900-routers/#comments</comments>
		<pubDate>Mon, 05 Oct 2009 04:12:01 +0000</pubDate>
		<dc:creator>jlgaddis</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[cisco]]></category>
		<category><![CDATA[networking]]></category>
		<category><![CDATA[news]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[vendors]]></category>

		<guid isPermaLink="false">http://evilrouters.net/2009/10/05/cisco-1941-2900sm-2901-and-3900-routers/</guid>
		<description><![CDATA[UPDATE:  Be sure to see the (more recent) post, &#8220;New Cisco ISR G2 routers (slides)&#8221;, as well.

Hmm&#8230;

&#8220;In Cisco IOS Release 15.0(1)M, this feature was introduced on the Cisco 1941, 2900sm, 2901, and 3900 routers.&#8221;

Well now, this certainly looks interesting:

Router# show version

Cisco IOS Software, C3900 Software (C3900-UNIVERSALK9-M), Experimental Version 
12.4(20090904:044027) [guraman-revpi12 577]
Copyright (c) 1986-2009 by [...]]]></description>
			<content:encoded><![CDATA[<p><b>UPDATE:  Be sure to see the (more recent) post, <a href="http://evilrouters.net/2009/10/14/new-cisco-isr-g2-routers-slides/">&#8220;New Cisco ISR G2 routers (slides)&#8221;</a>, as well.</b></p>

<p>Hmm&#8230;</p>

<blockquote><p>&#8220;In Cisco IOS Release 15.0(1)M, this feature was introduced on the Cisco 1941, 2900sm, 2901, and 3900 routers.&#8221;</p></blockquote>

<p>Well now, this certainly looks interesting:</p>

<pre>Router# show version

Cisco IOS Software, C3900 Software (C3900-UNIVERSALK9-M), Experimental Version 
12.4(20090904:044027) [guraman-revpi12 577]
Copyright (c) 1986-2009 by Cisco Systems, Inc.
Compiled Fri 04-Sep-09 09:22 by guraman

ROM: System Bootstrap, Version 12.4(20090303:092436) 
[BLD-xformers_dev.XFR_20090303-20090303_0101-53 102], DEVELOPMENT SOFTWARE

C3900-2 uptime is 8 hours, 41 minutes
System returned to ROM by reload at 08:40:40 UTC Tue May 21 1901! 
System image file is "flash0:c3900-universalk9-mz.SPA"
Last reload reason: Reload Command



This product contains cryptographic features and is subject to United
States and local country laws governing import, export, transfer and
use. Delivery of Cisco cryptographic products does not imply
third-party authority to import, export, distribute or use encryption.
Importers, exporters, distributors and users are responsible for
compliance with U.S. and local country laws. By using this product you
agree to comply with applicable laws and regulations. If you are unable
to comply with U.S. and local laws, return this product immediately.
A summary of U.S. laws governing Cisco cryptographic products may be found at:
http://www.cisco.com/wwl/export/crypto/tool/stqrg.html

If you require further assistance please contact us by sending email to
export@cisco.com.

Cisco CICSCO3945-MIDPLN (revision 1.0) with CISCO3900-MPE140 with 987136K/61440K bytes of 
memory.
Processor board ID FHH1231P02Y
3 Gigabit Ethernet interfaces
1 terminal line
1 Virtual Private Network (VPN) Module
1 cisco Integrated Service Engine(s)
DRAM configuration is 72 bits wide with parity enabled.
255K bytes of non-volatile configuration memory.
1020584K bytes of USB Flash usbflash0 (Read/Write)
1020584K bytes of USB Flash usbflash1 (Read/Write)
500472K bytes of ATA System CompactFlash 0 (Read/Write)

License Info:

License UDI:

-------------------------------------------------
Device#   PID                   SN
-------------------------------------------------
*0        CISCO3900-MPE140      FHH1215008L     



Technology Package License Information for Module:'c3900' 

----------------------------------------------------------------
Technology    Technology-package          Technology-package
              Current       Type          Next reboot  
-----------------------------------------------------------------
ipbase        ipbasek9      Permanent     ipbasek9
security      securityk9    Evaluation    securityk9
uc            None          None          None
data          None          None          None

Configuration register is 0x0</pre>

<p>Taken from <a href="http://www.cisco.com/en/US/docs/ios/fundamentals/configuration/guide/cf_dgtly_sgnd_sw.html">&#8220;Digitally Signed Cisco Software&#8221;</a> (cisco.com).</p>

<p>Thoughts?</p>
<img src="http://feeds.feedburner.com/~r/evilrouters/~4/-kiKZlMhdeE" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://evilrouters.net/2009/10/05/cisco-1941-2900sm-2901-and-3900-routers/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		<feedburner:origLink>http://evilrouters.net/2009/10/05/cisco-1941-2900sm-2901-and-3900-routers/</feedburner:origLink></item>
		<item>
		<title>Configuring Basic HSRP (Video)</title>
		<link>http://feedproxy.google.com/~r/evilrouters/~3/CLtz29oTfYQ/</link>
		<comments>http://evilrouters.net/2009/09/19/configuring-basic-hsrp-video/#comments</comments>
		<pubDate>Sat, 19 Sep 2009 13:33:50 +0000</pubDate>
		<dc:creator>jlgaddis</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[ccnp]]></category>
		<category><![CDATA[cisco]]></category>
		<category><![CDATA[labs]]></category>
		<category><![CDATA[networking]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://evilrouters.net/2009/09/19/configuring-basic-hsrp-video/</guid>
		<description><![CDATA[Quick video demonstration of a basic HSRP configuration on a pair of routers:




            
                
               [...]]]></description>
			<content:encoded><![CDATA[<p>Quick video demonstration of a basic HSRP configuration on a pair of routers:</p>

<p><img src="http://evilrouters.net/wp-content/uploads/2009/09/basic-hsrp.png" alt="" border="0"></p>

<div id="media">
            <object id="csSWF" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="644" height="402" codebase="http://active.macromedia.com/flash7/cabs/ swflash.cab#version=9,0,28,0">
                <param name="src" value="http://evilrouters.net/wp-content/uploads/2009/09/configuring-basic-hsrp.swf"/>
                <param name="bgcolor" value="#1a1a1a"/>
                <param name="quality" value="best"/>
                <param name="allowScriptAccess" value="always"/>
                <param name="allowFullScreen" value="true"/>
                <param name="scale" value="showall"/>
                <param name="flashVars" value="autostart=false"/>
                <embed name="csSWF" src="http://evilrouters.net/wp-content/uploads/2009/09/configuring-basic-hsrp.swf" width="644" height="402" bgcolor="#1a1a1a" quality="best" allowScriptAccess="always" allowFullScreen="true" scale="showall" flashVars="autostart=false" pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash"></embed>
            </object>
</div>
<img src="http://feeds.feedburner.com/~r/evilrouters/~4/CLtz29oTfYQ" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://evilrouters.net/2009/09/19/configuring-basic-hsrp-video/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://evilrouters.net/2009/09/19/configuring-basic-hsrp-video/</feedburner:origLink></item>
		<item>
		<title>Yet another reason to hate HP</title>
		<link>http://feedproxy.google.com/~r/evilrouters/~3/UX5hzCHA6eM/</link>
		<comments>http://evilrouters.net/2009/09/17/yet-another-reason-to-hate-hp/#comments</comments>
		<pubDate>Thu, 17 Sep 2009 23:38:58 +0000</pubDate>
		<dc:creator>jlgaddis</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[hp]]></category>
		<category><![CDATA[networking]]></category>
		<category><![CDATA[politics]]></category>
		<category><![CDATA[stupid]]></category>
		<category><![CDATA[switching]]></category>
		<category><![CDATA[vendors]]></category>

		<guid isPermaLink="false">http://evilrouters.net/2009/09/17/yet-another-reason-to-hate-hp/</guid>
		<description><![CDATA[Apparently I need to stop &#8220;following&#8221; a couple folks on Twitter, namely @procurve.  Because of my past experiences, I tend to not care much for HP ProCurve equipment and so sometimes the things posted by @procurve irk me, just a little.

One example was on August 28th, when @procurve &#8220;re-tweeted&#8221; this:



Now, in terms of functionality, [...]]]></description>
			<content:encoded><![CDATA[<p>Apparently I need to stop &#8220;following&#8221; a couple folks on Twitter, namely <a href="http://twitter.com/procurve">@procurve</a>.  Because of my past experiences, I tend to not care much for <a href="http://www.hp.com">HP</a> <a href="http://www.procurve.com">ProCurve</a> equipment and so sometimes the things posted by <a href="http://twitter.com/procurve">@procurve</a> irk me, just a little.</p>

<p>One example was on August 28th, when <a href="http://twitter.com/procurve/status/3608691179">@procurve &#8220;re-tweeted&#8221; this</a>:</p>

<p><img src="http://evilrouters.net/wp-content/uploads/2009/09/replaced-7206vxr.png" alt="" border="0"></p>

<p>Now, in terms of functionality, the <a href="http://www.procurve.com">ProCurve</a> 5406zl switch does not even come anywhere near a <a href="http://www.cisco.com/">Cisco</a> 7206VXR.  They are in two completely different categories, as far as I am concerned.  I made the remark that &#8220;they couldn&#8217;t have been doing much with that 7206vxr if they were able to replace it w/ a 5406zl&#8221;.  Anyone who is familiar with both devices would, I&#8217;m positive, agree with me.  Nonetheless, nice try at patting yourself on the back, HP.</p>

<p>So it&#8217;s little instances like this that annoy the shit out of me, considering the not-so-great experiences I&#8217;ve had with ProCurve in the last year or so.  Today, <a href="http://twitter.com/procurve/status/4057257500">@procurve posted this</a>:</p>

<p><img src="http://evilrouters.net/wp-content/uploads/2009/09/the-choice-is-yours.png" alt="" border="0"></p>

<p>I, of course, wanted to hear what they had to say, so I clicked.  Read the blog post, <a href="http://www.communities.hp.com/online/blogs/procurve/archive/2009/09/17/cost-effective-networking-the-choice-is-your.aspx">&#8220;Cost effective networking &#8212; The choice is yours&#8221;</a>, if you&#8217;d like.  I won&#8217;t post the whole thing here, but reading it will help you to understand my response.</p>

<p>If you did click that link, you won&#8217;t see my comments posted.  As far as I can tell, my posted was never allowed to be displayed on that page.  I&#8217;m glad I kept a copy before I submitted it.  Here&#8217;s what I wrote:</p>

<blockquote><p>Actually, the choice isn&#8217;t mine, unfortunately.  I&#8217;m a &#8220;technical&#8221; guy, i.e. one who has to implement, configure, and maintain ProCurve equipment.  You guys do well at catering to the beancounters, though, I&#8217;ll give you that.</p>

<p>If the choice were mine, I wouldn&#8217;t have had a couple truckloads of 5400s come through the loading dock.  It would have been Cisco or Juniper gear instead &#8212; you know, equipment that actually has some of the features I need.</p>

<p>Your switches are okay at layer 2, they work great there.  But for those of us who need some of these advanced features, you&#8217;re just not there.  First chance I get, I&#8217;m ripping out every piece of ProCurve gear I have that&#8217;s running at layer 3 and they&#8217;ll be replaced with an &#8220;incredibly inflexible and limiting solution&#8221;.</p></blockquote>

<p>I don&#8217;t think I said anything that was untrue.  I got a bunch of new 5400zl switches (22 of them, if memory serves) and, to be quite honest, I&#8217;m not impressed.  I did think it was ironic that a nearly eight-year-old &#8220;HP&#8221; ProCurve 9300 switch (which wasn&#8217;t actually an &#8220;HP&#8221; at all) had features I needed that the brand spankin&#8217; new 5400s don&#8217;t have (route maps and policy based routing, for example).  When a 9300 was yanked and replaced with a 5406zl, it was then necessary to move that functionality off to &#8212; you guessed it &#8212; a Cisco device.</p>

<p>To HP&#8217;s credit, as I mentioned above, their switches are fine &#8212; as long as you stick to layer 2.  Unfortunately, I&#8217;m using them at layer 3 as well, and am amazed by some of the issues that this gear has.  There have been numerous, repeated, and documented issues with OSPF ECMP.  There was a bug where scp&#8217;ing a config file over (roughly) 4200 bytes in size would cause the switch to reset itself to factory defaults and, of course, a case I myself opened last December that still hasn&#8217;t been resolved (more on that in a minute).</p>

<p>Anyway, my comments never got to see the light of day on HP&#8217;s blog.  Even so, &#8220;imtechchris&#8221; was nice enough to reply to me.  He chose not to argue my points, though, and instead decided to attack my technical skills.  Here&#8217;s his reply, in its entirety (just in case it disappears from the blog):</p>

<p><img src="http://evilrouters.net/wp-content/uploads/2009/09/imtechchris.png" alt="" border="0"></p>

<p>Now with regard to this statement I made:</p>

<blockquote><p>First chance I get, I&#8217;m ripping out every piece of ProCurve gear I have that&#8217;s running at layer 3 and they&#8217;ll be replaced with an &#8220;incredibly inflexible and limiting solution&#8221;.</p></blockquote>

<p>I was actually quoting their article and pointing to the fact that, if or when I have the chance, I&#8217;ll yank out that ProCurve gear and replace it with either Cisco or Juniper, which their original article alluded to as &#8220;incredibly inflexible and limiting solutions&#8221;.  Apparently Chris couldn&#8217;t grok that.  He chose to end his reply with &#8220;If anything is clear it&#8217;s that you don&#8217;t really know how to configure these switches and you don&#8217;t want to bother learning because it&#8217;s not Cisco or Juniper.&#8221;</p>

<p>I&#8217;ll argue each of those points with you.  After about six years of dealing with this garbage (I&#8217;m referring to the ProCurves, Chris), I think I&#8217;ve got a little bit of an understanding of how they work.  I&#8217;ve managed to keep a multi-site network with hundreds and hundreds of nodes running for the last several years.  I took one HP certification test, the &#8220;Accredited Integration Specialist&#8221; exam (without studing, of course), which was a complete joke (it took all of 20 minutes to complete, and I scored 100% on it &#8212; I have the score report somewhere around here if anyone thinks I&#8217;m bullshitting).  I never bothered to pursue any further HP certifications.  Regardless, I&#8217;d argue that I do, in fact, &#8220;know how to configure these switches&#8221;.</p>

<p>Now, as far as me not wanting to bother learning because it&#8217;s Cisco or Juniper, well, you&#8217;re almost right.  More specifically, I &#8220;don&#8217;t want to bother&#8221; because I&#8217;ve had repeated bad experiences.  It is my job to manage this gear, however, and regardless of vendor, I will, to the best of my ability, keep our network up and running &#8212; that&#8217;s what I&#8217;m paid to do.  Would I be a helluva lot happier about it if it were Cisco or Juniper gear?  FUCK YES.</p>

<p>Last point:  I was going to mention and provide details (with a screenshot, of course) of the case I opened w/ ProCurve support last December (22-Dec-2008, if memory serves), but the &#8220;Support Case Manager &#8211; Enterprise edition&#8221; is apparently having some issues.  When I enter in the case ID to view the details, it takes forever and finally gives me a &#8220;Could not access case&#8221; error message.  The issue in this case, by the way, was replicated by at least two others who read this web site and e-mailed me privately.  Apparently HP told them two different things, including telling one that the issue he was experiencing (CPU utilization at 99%) was &#8220;by design&#8221;.  I still have not heard of a fix, even after an HP guy came and spent the day with me documenting everything we could find related to the issue (thanks for lunch, Richard).</p>

<p>So, HP, fix my issues, quit shipping stupid bugs in what is supposed to be production-level code, and get some support and maybe then my opinion of you might improve.</p>

<p>Oh, and please, no calls or e-mails from my sales guys this time.</p>

<p><b>UPDATE:  I finally got to the case details:</b></p>

<p><img src="http://evilrouters.net/wp-content/uploads/2009/09/case-details.png" alt="" border="0"></p>

<p><b>Looks like they closed the case on me on August 7th, even though the last message I got from an HP engineer reads:</b></p>

<blockquote><p>Just a quick status update on this issue.  Our lab has been very busy with some hot issues recently and hasn&#8217;t yet got around to reproduction testing yet.  I hope to have a more definitive answer for you by the end of next week.</p></blockquote>

<p><b>That was on July 10th, and was the last thing I heard about this issue.  There is no &#8220;solution&#8221; or &#8220;fix&#8221; mentioned in the case details, either.  Thanks again, HP, way to suck.</b></p>

<p><a href="http://evilrouters.net/2009/05/27/and-people-wonder-why-i-hate-hp/">And people wonder why I hate HP&#8230;</a></p>
<img src="http://feeds.feedburner.com/~r/evilrouters/~4/UX5hzCHA6eM" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://evilrouters.net/2009/09/17/yet-another-reason-to-hate-hp/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		<feedburner:origLink>http://evilrouters.net/2009/09/17/yet-another-reason-to-hate-hp/</feedburner:origLink></item>
		<item>
		<title>Configuring HDLC over MPLS (Video)</title>
		<link>http://feedproxy.google.com/~r/evilrouters/~3/evYi1ipMZec/</link>
		<comments>http://evilrouters.net/2009/09/15/configuring-hdlc-over-mpls-video/#comments</comments>
		<pubDate>Tue, 15 Sep 2009 23:38:02 +0000</pubDate>
		<dc:creator>jlgaddis</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[cisco]]></category>
		<category><![CDATA[labs]]></category>
		<category><![CDATA[networking]]></category>
		<category><![CDATA[ospf]]></category>

		<guid isPermaLink="false">http://evilrouters.net/2009/09/15/configuring-hdlc-over-mpls-video/</guid>
		<description><![CDATA[Lately I&#8217;ve become interested in MPLS and, unfortunately, have stopped studying what I should be studying and started playing around with MPLS instead.  One thing that just fascinates me is AToM, or Any Transport over MPLS.  From Cisco:

&#8220;Any Transport over MPLS (AToM) is Cisco&#8217;s solution for transporting Layer 2 packets over an IP/MPLS [...]]]></description>
			<content:encoded><![CDATA[<p>Lately I&#8217;ve become interested in <a href="http://en.wikipedia.org/wiki/Multiprotocol_Label_Switching">MPLS</a> and, unfortunately, have stopped studying what I should be studying and started playing around with MPLS instead.  One thing that just fascinates me is AToM, or <a href="http://www.cisco-ct.com/en/US/docs/ios/12_2s/feature/guide/fsatoma2.html">Any Transport over MPLS</a>.  From Cisco:</p>

<blockquote><p>&#8220;Any Transport over MPLS (AToM) is Cisco&#8217;s solution for transporting Layer 2 packets over an IP/MPLS backbone.&#8221;</p></blockquote>

<p>In a nutshell, AToM allows us to transport a wide variety of layer 2 traffic (<a href="http://en.wikipedia.org/wiki/High-Level_Data_Link_Control">HDLC</a>, <a href="http://en.wikipedia.org/wiki/Point-to-Point_Protocol">PPP</a>, <a href="http://en.wikipedia.org/wiki/Frame_relay">Frame Relay</a>, <a href="http://en.wikipedia.org/wiki/Asynchronous_Transfer_Mode">ATM</a>, <a href="http://en.wikipedia.org/wiki/Ethernet">Ethernet</a>, &#8230;) over an existing IP/MPLS backbone.</p>

<p>To demonstrate, consider the following topology:</p>

<p><img src="http://evilrouters.net/wp-content/uploads/2009/09/hdlc-over-mpls.png" alt="" border="0"></p>

<p>In the topology, the P, PE1, and PE2 routers make up the service provider&#8217;s IP/MPLS backbone.  P, PE1, and PE2 belong to us, the service provider, and CE1 and CE2 belong to a customer of ours.  The video will show how we can provide the customer with a 256k serial (HDLC) connection over our IP/MPLS backbone.  The raw HDLC frames received on the serial 1/0 interfaces of PE1 and PE2 are encapsulated in MPLS and sent over the backbone to the remote PE router, where they are decapsulated and sent back out the customer-facing serial connection.</p>

<p>Here&#8217;s a video demonstration so you can see just how cool this is:</p>

<div id="media">
            <object id="csSWF" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="680" height="530" codebase="http://active.macromedia.com/flash7/cabs/ swflash.cab#version=9,0,28,0">
                <param name="src" value="http://evilrouters.net/wp-content/uploads/2009/09/configuring-hdlc-over-mpls.swf"/>
                <param name="bgcolor" value="#1a1a1a"/>
                <param name="quality" value="best"/>
                <param name="allowScriptAccess" value="always"/>
                <param name="allowFullScreen" value="true"/>
                <param name="scale" value="showall"/>
                <param name="flashVars" value="autostart=false"/>
                <embed name="csSWF" src="http://evilrouters.net/wp-content/uploads/2009/09/configuring-hdlc-over-mpls.swf" width="680" height="530" bgcolor="#1a1a1a" quality="best" allowScriptAccess="always" allowFullScreen="true" scale="showall" flashVars="autostart=false" pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash"></embed>
            </object>
</div>
<img src="http://feeds.feedburner.com/~r/evilrouters/~4/evYi1ipMZec" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://evilrouters.net/2009/09/15/configuring-hdlc-over-mpls-video/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://evilrouters.net/2009/09/15/configuring-hdlc-over-mpls-video/</feedburner:origLink></item>
		<item>
		<title>Getting BGP routes into dynamips (with video)</title>
		<link>http://feedproxy.google.com/~r/evilrouters/~3/pYXwNIgVMMc/</link>
		<comments>http://evilrouters.net/2009/08/21/getting-bgp-routes-into-dynamips-with-video/#comments</comments>
		<pubDate>Fri, 21 Aug 2009 13:24:39 +0000</pubDate>
		<dc:creator>jlgaddis</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[bgp]]></category>
		<category><![CDATA[ccnp]]></category>
		<category><![CDATA[cisco]]></category>
		<category><![CDATA[internet]]></category>
		<category><![CDATA[labs]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[networking]]></category>
		<category><![CDATA[open-source]]></category>
		<category><![CDATA[osx]]></category>
		<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://evilrouters.net/?p=1031</guid>
		<description><![CDATA[UPDATE: If you&#8217;re not interesting in doing this yourself and just want to see it in action, check out the video, &#8220;Dumping 265k BGP routes into dynamips&#8221;.  When I went through these steps to document, I ended up with 298,870 prefixes in my dynamips router.  When I did it the second time, to [...]]]></description>
			<content:encoded><![CDATA[<p><b>UPDATE:</b> If you&#8217;re not interesting in doing this yourself and just want to see it in action, check out the video, <a href="http://evilrouters.net/dumping-265k-bgp-routes-into-dynamips" target="_blank">&#8220;Dumping 265k BGP routes into dynamips&#8221;</a>.  When I went through these steps to document, I ended up with 298,870 prefixes in my <a href="http://www.ipflow.utc.fr/index.php/Cisco_7200_Simulator">dynamips</a> router.  When I did it the second time, to record the video, I only ended up with 265,857 prefixes.  Not sure why the discrepancy, but at least you can see it works!  <a href="http://www.urbandictionary.com/define.php?term=YMMV">YMMV</a>!</p>

<p>After I posted <a href="http://evilrouters.net/2009/08/07/dynamips-a-7200-and-a-full-bgp-table/">&#8220;Dynamips, a 7200, and a full BGP table&#8221;</a>, a number of you left comments asking how I got the <a href="http://en.wikipedia.org/wiki/Border_Gateway_Protocol">BGP</a> routes into dynamips&#8230; the answer is einval&#8217;s <a href="http://code.google.com/p/bgpsimple/wiki/README">&#8220;bgpsimple&#8221;</a>.</p>

<blockquote><p>&#8220;This perl script allows to setup an BGP adjacency with a BGP peer, monitor the messages and updates received from that peer, and to send out updates from a predefined set of NLRIs/attributes. BGP session and message handling is done by Net::BGP.&#8221;</p></blockquote>

<p><b>0.  Pre-requisites</b></p>

<p>On <a href="http://www.ubuntu.com/">Ubuntu</a>, at least, you&#8217;re going to need to install some packages that likely aren&#8217;t already installed.  We&#8217;re going to need these to be able to build bgpdump in step 2.  Fortunately, the following command will install everything you need (well, except for Net::BGP and bgpsimple):</p>

<pre>[root@stewie ~]# <b>apt-get install build-essential zlib1g-dev libbz2-dev</b></pre>

<p><b>1.  Install Net::BGP</b></p>

<p>Before we can even think about doing this, we&#8217;re going to need to install the <a href="http://search.cpan.org/dist/Net-BGP/">Net::BGP</a> perl modules, most likely from <a href="http://www.cpan.org/">CPAN</a> (your distribution may provide it in a handy installable package, but I wouldn&#8217;t count on it).  I&#8217;m using an Ubuntu 8.04 LTS Server installation &#8212; you can use whichever distribution (or BSD) that you like, but this is what I&#8217;m using.</p>

<p>Fire up the <a href="http://www.perl.com/doc/manual/html/lib/CPAN.html">CPAN shell</a>:</p>

<pre>[root@stewie ~]# <b>perl -MCPAN -e shell</b>

cpan shell -- CPAN exploration and modules installation (v1.9402)
Enter 'h' for help.

cpan[1]></pre>

<p>If this is the first time you&#8217;ve done this, you&#8217;ll have to go through some configuration.  That configuration is out of scope of this document.  <a href="http://www.google.com/">Google</a> it.</p>

<p>Next, install Net::BGP and exit the CPAN shell:</p>

<pre>cpan[1]> <b>install Net::BGP</b>
CPAN: Storable loaded ok (v2.15)
Going to read '/home/jlgaddis/.cpan/Metadata'
  Database was generated on Thu, 20 Aug 2009 22:27:00 GMT
Running install for module 'Net::BGP'
Running make for K/KB/KBRINT/Net-BGP-0.13.tar.gz

[snip]

Appending installation info to /usr/lib/perl/5.8/perllocal.pod
  KBRINT/Net-BGP-0.13.tar.gz
  /usr/bin/make install  -- OK

cpan[2]> <b>exit</b>
Lockfile removed.
[root@stewie ~]#</pre>

<p><b>2. Install bgpdump</b></p>

<p>As mentioned in <a href="http://code.google.com/p/bgpsimple/wiki/README">bgpsimple&#8217;s README</a>, we&#8217;re going to use a RIB dump from a router in the <a href="http://en.wikipedia.org/wiki/Default-free_zone" target="_blank">default-free zone</a>.  Fortunately, <a href="http://www.ripe.net/">RIPE</a> makes this data available for download.  Before we can use it, however, we need to convert it to a format that bgpsimple can use.  We&#8217;re going to download and compile <a href="http://www.ris.ripe.net/source/">bgpdump</a> which can do the conversion for us.</p>

<pre>[root@stewie ~]# <b>wget http://www.ris.ripe.net/source/libbgpdump-1.4.99.9.tar.gz</b>
--22:00:48--  http://www.ris.ripe.net/source/libbgpdump-1.4.99.9.tar.gz
           => `libbgpdump-1.4.99.9.tar.gz'
Resolving www.ris.ripe.net... 193.0.19.19
Connecting to www.ris.ripe.net|193.0.19.19|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 82,909 (81K) [application/x-gzip]

100%[=====================================================>] 82,909       130.32K/s

22:00:49 (129.85 KB/s) - `libbgpdump-1.4.99.9.tar.gz' saved [82909/82909]

[root@stewie ~]#</pre>

<p>Uncompress the tarball and change to the newly created directory:</p>

<pre>[root@stewie ~]# <b>tar zxf libbgpdump-1.4.99.9.tar.gz</b>
[root@stewie ~]# <b>cd libbgpdump-1.4.99.9/</b></pre>

<p>Be sure to skim through the README file in this directory.</p>

<p>Now, we can begin to build bgpdump.  I don&#8217;t need IPv6 support, so I&#8217;m going to leave it out.</p>

<pre>[root@stewie ~/libbgpdump-1.4.99.9]# <b>./configure --disable-ipv6</b>
checking for gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes

[snip]

checking for inet_ntoa... yes
checking for inet_ntop... yes
checking for IPv6 support... disabled
configure: creating ./config.status
config.status: creating Makefile
config.status: creating bgpdump-config.h
[root@stewie ~/libbgpdump-1.4.99.9]#</pre>

<p>Once the configure script has completed (successfully!), we can build bgpdump:</p>

<pre>[root@stewie ~/libbgpdump-1.4.99.9]# <b>make</b>

[snip]

[root@stewie ~/libbgpdump-1.4.99.9]# <b>ls -l bgpdump</b>
-rwxr-xr-x 1 root root 46540 2009-08-20 22:14 bgpdump</pre>

<p>As you see, we end up with a binary named &#8220;bgpdump&#8221;, which I&#8217;m going to copy over to /usr/local/bin.  I&#8217;m also going to create a directory named &#8220;bgp&#8221;, where I&#8217;ll store the files we&#8217;ll be working with:</p>

<pre>[root@stewie ~/libbgpdump-1.4.99.9]# <b>cp bgpdump /usr/local/bin</b>
[root@stewie ~/libbgpdump-1.4.99.9]# <b>mkdir ../bgp</b>
[root@stewie ~/libbgpdump-1.4.99.9]# <b>cd ../bgp</b></pre>

<p><b>3.  Get some route data</b></p>

<p>Before we can inject any routes into our router, we need some routes to inject!  As mentioned, RIPE makes these available to us.  Go to the <a href="http://www.ripe.net/projects/ris/rawdata.html">&#8220;RIS Raw Data&#8221;</a> page, pick a collector, then download a file containing the raw data:</p>

<pre>[root@stewie ~/bgp]# <b>wget http://data.ris.ripe.net/rrc16/2009.08/bview.20090820.2359.gz</b>
--22:59:26--  http://data.ris.ripe.net/rrc16/2009.08/bview.20090820.2359.gz
           => `bview.20090820.2359.gz'
Resolving data.ris.ripe.net... 193.0.19.19
Connecting to data.ris.ripe.net|193.0.19.19|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 3,108,638 (3.0M) [application/x-gzip]

100%[=====================================================>] 3,108,638    234.33K/s    ETA 00:00

22:59:40 (214.70 KB/s) - `bview.20090820.2359.gz' saved [3108638/3108638]

[root@stewie ~/bgp]#</pre>

<p>Now that we have some routing data, we need to get it into a format that bgpsimple can work with.  This is where bgpdump comes into play.  Copying from bgpsimple&#8217;s README:</p>

<pre>[root@stewie ~/bgp]# <b>zcat bview.20090820.2359.gz | bgpdump -m - > myroutes</b>
[root@stewie ~/bgp]#</pre>

<p><b>4.  Download bgpsimple</b></p>

<p>Download the code for bgpsimple:</p>

<pre>[root@stewie ~/bgp]# <b>wget http://bgpsimple.googlecode.com/files/bgp_simple.tgz</b>
--23:11:17--  http://bgpsimple.googlecode.com/files/bgp_simple.tgz
           => `bgp_simple.tgz'
Resolving bgpsimple.googlecode.com... 209.85.225.82
Connecting to bgpsimple.googlecode.com|209.85.225.82|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 9,324 (9.1K) [application/x-gzip]

100%[=====================================================>] 9,324         --.--K/s

23:11:17 (114.18 KB/s) - `bgp_simple.tgz' saved [9324/9324]

[root@stewie ~/bgp]#</pre>

<p>Uncompress the tarball:</p>

<pre>[root@stewie ~/bgp]# <b>tar zxf bgp_simple.tgz</b></pre>

<p>You should end up with a Perl script named &#8220;bgp_simple.pl&#8221;:</p>

<pre>[root@stewie ~/bgp]# <b>ls -l bgp_simple.pl</b>
-rwxr-xr-x 1 jlgaddis jlgaddis 20388 2009-01-07 10:31 bgp_simple.pl</pre>

<p><b>5.  Start up your dynamips router</b></p>

<p>Now it&#8217;s time to fire up our virtual 7200 router.  <a href="http://evilrouters.net/wp-content/uploads/2009/08/bgp-7200.net" target="_blank">Here&#8217;s the .net file for dynagen that I used</a> (don&#8217;t forget to change the filenames and paths, as appropriate).</p>

<p>Start up <a href="http://www.ipflow.utc.fr/index.php/Cisco_7200_Simulator">dynamips</a>, start up <a href="http://dynagen.org/">dynagen</a>, connect to the console, and do some initial configuration:</p>

<pre>[jlgaddis@stewie ~]$ <b>telnet 192.168.1.109 2000</b>
Trying 192.168.1.109...
Connected to 192.168.1.109.
Escape character is '^]'.
Connected to Dynamips VM "R1" (ID 0, type c7200) - Console port


              Restricted Rights Legend

Use, duplication, or disclosure by the Government is
subject to restrictions as set forth in subparagraph
(c) of the Commercial Computer Software - Restricted
Rights clause at FAR sec. 52.227-19 and subparagraph
(c) (1) (ii) of the Rights in Technical Data and Computer
Software clause at DFARS sec. 252.227-7013.

[snip]

Router> <b>enable</b>
Router# <b>configure terminal</b>
Router(config)# <b>no ip domain lookup</b>
Router(config)# <b>no ip http server</b>
Router(config)# <b>hostname c7200</b>
c7200(config)# <b>line con 0</b>
c7200(config-line)# <b>exec-timeout 0 0</b>
c7200(config-line)# <b>logging synchronous</b></pre>

<p><b>6.  Configure dynamips router&#8217;s network interface</b></p>

<p>We need to put an IP address on the router&#8217;s fastethernet 2/0 interface, then verify that we can ping the host that we&#8217;re going to run bgpsimple on:</p>

<pre>c7200(config-line)# <b>interface fastethernet 2/0</b>
c7200(config-if)# <b>ip address 192.168.1.99 255.255.255.0</b>
c7200(config-if)# <b>no shutdown</b>
c7200(config-if)#
*Aug 20 23:23:26.167: %LINK-3-UPDOWN: Interface FastEthernet2/0, changed state to up
*Aug 20 23:23:27.167: %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet2/0,
changed state to up
c7200(config-if)# <b>do ping 192.168.1.104</b>

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.1.104, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 4/8/12 ms</pre>

<p><b>7.  Configure the BGP session on your dynamips router</b></p>

<p>Next, we need to configure our dynamips router for a BGP session with bgpsimple.  You will need to change IP address below (192.168.1.104) to the IP address of the box you are running bgpsimple on:</p>

<pre>c7200(config-if)# <b>router bgp 65000</b>
c7200(config-router)# <b>no synchronization</b>
c7200(config-router)# <b>no auto-summary</b>
c7200(config-router)# <b>neighbor 192.168.1.104 remote-as 65000</b></pre>

<p><b>8.  Test with a limited number of prefixes</b></p>

<p>Now that our dynamips router is configured for BGP, we&#8217;re ready for a quick test with a small number of prefixes (10, for now).  Look at the README for what all these command-line options mean (I wrapped this for readability, you don&#8217;t have to):</p>

<pre>[root@stewie ~/bgp]# <b>./bgp_simple.pl -myas 65000 -myip 192.168.1.104 \</b>
> <b>-peerip 192.168.1.99 -peeras 65000 -p myroutes -m 10 -n</b>
---------------------------------------- CONFIG SUMMARY --------------------------------------------------
Configured for an iBGP session between me (ASN65000, 192.168.1.104) and peer (ASN65000, 192.168.1.99).
Will use prefixes from file myroutes.
Maximum number of prefixes to be advertised: 10.
Will spoof next hop address to 192.168.1.104.
----------------------------------------------------------------------------------------------------------
Sending full update.

[snip]</pre>

<p>Looks like that worked, let&#8217;s take a look at the BGP table on our dynamips router:</p>

<pre>*Aug 20 23:31:49.715: %BGP-5-ADJCHANGE: neighbor 192.168.1.104 Up
c7200# <b>show ip bgp</b>
BGP table version is 31, local router ID is 192.168.1.99
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
              r RIB-failure, S Stale
Origin codes: i - IGP, e - EGP, ? - incomplete

   Network          Next Hop            Metric LocPrf Weight Path
*>i1.1.1.0/24       192.168.1.104                   0      0 25152 6939 3303 8300 i
*>i3.0.0.0          192.168.1.104                   0      0 25152 6939 15412 9304 80 i
*>i3.51.92.0/23     192.168.1.104                   0      0 25152 23148 7018 ?
*>i4.0.0.0/9        192.168.1.104                   0      0 25152 1273 3356 i
*>i4.0.0.0          192.168.1.104                   0      0 25152 1273 3356 i
*>i4.21.103.0/24    192.168.1.104                   0      0 25152 6939 3549 46133 i
*>i4.23.88.0/24     192.168.1.104                   0      0 25152 23148 7018 46164 i
*>i4.23.88.0/23     192.168.1.104                   0      0 25152 23148 7018 46164 i
*>i4.23.89.0/24     192.168.1.104                   0      0 25152 23148 7018 46164 i
*>i4.23.92.0/22     192.168.1.104                   0      0 25152 23148 7018 46164 i
c7200#</pre>

<p>And there&#8217;s our 10 routes!  w00t!</p>

<p><b>9.  Advertise all the routes!</b></p>

<p>Now that we now we can get an adjacency up and exchange routes, let&#8217;s go for the gusto!</p>

<p>Kill bgp_simple.pl (CTRL-C works) and let&#8217;s take a quick look at how many routes are in the &#8220;myroutes&#8221; file.</p>

<pre>[root@stewie ~/bgp]# <b>wc -l myroutes</b>
300035 myroutes</pre>

<p>In my case, we have just over 300k.  Your numbers may vary slightly &#8212; and there very well may be duplicate prefixes &#8212; depending on which dump you download from RIPE.  In order to inject all the routes, we just run bgp_simple.pl as before, but without the &#8220;-m 10&#8243; (maximum of 10 prefixes to advertise) option (again, wrapped for readability):</p>

<pre>[root@stewie ~/bgp]# <b>./bgp_simple.pl -myas 65000 -myip 192.168.1.104 \</b>
> <b>-peerip 192.168.1.99 -peeras 65000 -p myroutes -n</b>
---------------------------------------- CONFIG SUMMARY --------------------------------------------------
Configured for an iBGP session between me (ASN65000, 192.168.1.104) and peer (ASN65000, 192.168.1.99).
Will use prefixes from file myroutes.
Maximum number of prefixes to be advertised: 10.
Will spoof next hop address to 192.168.1.104.
----------------------------------------------------------------------------------------------------------
Sending full update.

[snip]</pre>

<p>And now we just watch the number of prefixes received continually go up on our dynamips router:</p>

<pre>c7200# <b>show ip bgp summary | begin Neighbor</b>
Neighbor        V    AS MsgRcvd MsgSent   TblVer  InQ OutQ Up/Down  State/PfxRcd
192.168.1.104   4 65000   98425      21    98413    0    0 00:01:24    98237</pre>

<pre>c7200# <b>show ip bgp summary | begin Neighbor</b>
Neighbor        V    AS MsgRcvd MsgSent   TblVer  InQ OutQ Up/Down  State/PfxRcd
192.168.1.104   4 65000  141060      23   141069    0    0 00:02:04   140849</pre>

<pre>c7200# <b>show ip bgp summary | begin Neighbor</b>
Neighbor        V    AS MsgRcvd MsgSent   TblVer  InQ OutQ Up/Down  State/PfxRcd
192.168.1.104   4 65000  238966      25   238975    0    0 00:03:16   238739</pre>

<p>We can take a quick look at a few of the prefixes in our BGP table:</p>

<pre>c7200# <b>show ip bgp 12.0.0.0/8 longer-prefixes | begin Network</b>
   Network          Next Hop            Metric LocPrf Weight Path
*>i12.0.0.0/9       192.168.1.104                   0      0 25152 23148 7018 i
*>i12.0.0.0         192.168.1.104                   0      0 25152 23148 7018 i
*>i12.0.18.0/24     192.168.1.104                   0      0 25152 23148 7018 27585 i
*>i12.0.19.0/24     192.168.1.104                   0      0 25152 1273 3561 27487 i
*>i12.0.28.0/24     192.168.1.104                   0      0 25152 1273 4323 30050 i
*>i12.0.29.0/24     192.168.1.104                   0      0 25152 1273 174 30538 i
*>i12.0.33.0/24     192.168.1.104                   0      0 25152 1273 174 40544 i
*>i12.0.43.0/24     192.168.1.104                   0      0 25152 23148 7018 2386 i
*>i12.0.48.0/20     192.168.1.104                   0      0 25152 1273 174 1742 i
*>i12.0.153.0/24    192.168.1.104                   0      0 25152 23148 7018 6519 i
*>i12.0.170.0/24    192.168.1.104                   0      0 25152 23148 7018 22528 i
*>i12.0.239.0/24    192.168.1.104                   0      0 25152 19151 1239 33628 i
[snip]</pre>

<p>That&#8217;s all there is to it!</p>

<p><b>10.  All your routes are belong to us!</b></p>

<pre>c7200# <b>show ip bgp summary</b>
BGP router identifier 192.168.1.99, local AS number 65000
BGP table version is 1038362, main routing table version 1038362
298870 network entries using 34967790 bytes of memory
298870 path entries using 15541240 bytes of memory
51910/51909 BGP path/bestpath attribute entries using 6436840 bytes of memory
47723 BGP AS-PATH entries using 1265376 bytes of memory
1 BGP community entries using 24 bytes of memory
0 BGP route-map cache entries using 0 bytes of memory
0 BGP filter-list cache entries using 0 bytes of memory
BGP using 58211270 total bytes of memory
BGP activity 668359/369489 prefixes, 668359/369489 paths, scan interval 60 secs

Neighbor        V    AS MsgRcvd MsgSent   TblVer  InQ OutQ Up/Down  State/PfxRcd
192.168.1.104   4 65000  669061      20  1038362    0    0 00:04:16   298870
c7200#</pre>

<p><b>OPTIONAL:</b>  If the BGP connection between bgpsimple and your dynamips router dies due to a hold timer expiring, you can get around this by doing two things:</p>

<ol>
<li>Editing bgp_simple.pl.  At line 220, I added two lines:</li>
</ol>

<pre>        KeepAliveTime           => 600,
        HoldTime                => 1800,</pre>

<p>That &#8220;section&#8221; of code (setting up the peer connection using Net::BGP::Peer) now reads like this:</p>

<pre>my $bgp  = Net::BGP::Process->new();
my $peer = Net::BGP::Peer->new(
        Start                   => 0,
        ThisID                  => $myip,
        ThisAS                  => $myas,
        PeerID                  => $peerip,
        PeerAS                  => $peeras,
        KeepaliveCallback       => \&#038;sub_keepalive_callback,
        UpdateCallback          => \&#038;sub_update_callback,
        NotificationCallback    => \&#038;sub_notification_callback,
        ErrorCallback           => \&#038;sub_error_callback,
        OpenCallback            => \&#038;sub_open_callback,
        ResetCallback           => \&#038;sub_reset_callback,
        KeepAliveTime           => 600,
        HoldTime                => 1800,
);</pre>

<ol>
<li>Adjusting the BGP timers on the dynamips router, like so:</li>
</ol>

<pre>c7200# <b>configure terminal</b>
c7200(config)# <b>router bgp 65000</b>
c7200(config-router)# <b>timers bgp 600 1800</b>
c7200(config-router)# <b>end</b></pre>

<p>We can then see those values reflected here:</p>

<pre>c7200# <b>show ip bgp neighbor 192.168.1.104 | in Last</b>
  Last read 00:00:00, last write 00:00:56, hold time is 1800, keepalive interval is 600 seconds
c7200#</pre>

<p>Note that it&#8217;s probably best to change both sides (bgp_simple.pl and your router&#8217;s config), since BGP will use the lowest of the values configured between peers.</p>
<img src="http://feeds.feedburner.com/~r/evilrouters/~4/pYXwNIgVMMc" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://evilrouters.net/2009/08/21/getting-bgp-routes-into-dynamips-with-video/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		<feedburner:origLink>http://evilrouters.net/2009/08/21/getting-bgp-routes-into-dynamips-with-video/</feedburner:origLink></item>
		<item>
		<title>Configuring SNTP on ProCurve Switches</title>
		<link>http://feedproxy.google.com/~r/evilrouters/~3/VAgTqS2ntqc/</link>
		<comments>http://evilrouters.net/2009/08/18/configuring-sntp-on-procurve-switches/#comments</comments>
		<pubDate>Tue, 18 Aug 2009 12:16:36 +0000</pubDate>
		<dc:creator>jlgaddis</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[hp]]></category>
		<category><![CDATA[labs]]></category>
		<category><![CDATA[networking]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[switching]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://evilrouters.net/2009/08/18/configuring-sntp-on-procurve-switches/</guid>
		<description><![CDATA[This is probably the shortest video I&#8217;ve ever made, but the task is really simple &#8212; configuring the Simple Network Time Protocol (SNTP) on an HP ProCurve switch.

For reference, here&#8217;s the &#8220;sntp&#8221; commands available in the software:

ProCurve Switch 2610-48(config)# sntp ?
 broadcast             Operate [...]]]></description>
			<content:encoded><![CDATA[<p>This is probably the shortest video I&#8217;ve ever made, but the task is really simple &#8212; configuring the <a href="http://www.faqs.org/rfcs/rfc2030.html">Simple Network Time Protocol</a> (SNTP) on an <a href="http://www.hp.com/">HP</a> <a href="http://www.procurve.com/">ProCurve</a> switch.</p>

<p>For reference, here&#8217;s the &#8220;sntp&#8221; commands available in the software:</p>

<pre>ProCurve Switch 2610-48(config)# <b>sntp ?</b>
 broadcast             Operate in broadcast mode
 <30-720>              The amount of time between updates of the system clock 
                       via SNTP
 server                Configure SNTP servers to poll time from.
 unicast               Operate in unicast mode
 &lt;cr&gt;</pre>

<p>&#8230;and, of course, &#8220;timesync&#8221; takes an argument too&#8230;</p>

<pre>ProCurve Switch 2610-48(config)# <b>timesync ?</b>
 sntp                  Set the time protocol to SNTP
 timep                 Set the time protocol to the TIME protocol</pre>

<p>Pretty simple, huh?  Here&#8217;s the video:</p>

<div id="media">
            <object id="csSWF" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="680" height="514" codebase="http://active.macromedia.com/flash7/cabs/ swflash.cab#version=9,0,28,0">
                <param name="src" value="http://evilrouters.net/wp-content/uploads/2009/08/configuring-sntp-on-procurve-switches.swf"/>
                <param name="bgcolor" value="#1a1a1a"/>
                <param name="quality" value="best"/>
                <param name="allowScriptAccess" value="always"/>
                <param name="allowFullScreen" value="true"/>
                <param name="scale" value="showall"/>
                <param name="flashVars" value="autostart=false"/>
                <embed name="csSWF" src="http://evilrouters.net/wp-content/uploads/2009/08/configuring-sntp-on-procurve-switches.swf" width="680" height="514" bgcolor="#1a1a1a" quality="best" allowScriptAccess="always" allowFullScreen="true" scale="showall" flashVars="autostart=false" pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash"></embed>
            </object>
        </div>
<img src="http://feeds.feedburner.com/~r/evilrouters/~4/VAgTqS2ntqc" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://evilrouters.net/2009/08/18/configuring-sntp-on-procurve-switches/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://evilrouters.net/2009/08/18/configuring-sntp-on-procurve-switches/</feedburner:origLink></item>
		<item>
		<title>Video: Update ProCurve software via TFTP</title>
		<link>http://feedproxy.google.com/~r/evilrouters/~3/TYAlQkuAQh8/</link>
		<comments>http://evilrouters.net/2009/08/17/video-update-procurve-software-via-tftp/#comments</comments>
		<pubDate>Mon, 17 Aug 2009 17:02:19 +0000</pubDate>
		<dc:creator>jlgaddis</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[hp]]></category>
		<category><![CDATA[labs]]></category>
		<category><![CDATA[networking]]></category>
		<category><![CDATA[switching]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://evilrouters.net/2009/08/17/video-update-procurve-software-via-tftp/</guid>
		<description><![CDATA[Nothing earth-shattering here, but back in February, I posted &#8220;Upgrading ProCurve firmware via TFTP&#8221;.  Since that time, I&#8217;ve started posting video demos of some of the things I write about, so I thought I&#8217;d make up a quick one for this task as well.  I happen to have a 5412zl switch sitting here [...]]]></description>
			<content:encoded><![CDATA[<p>Nothing earth-shattering here, but back in February, I posted <a href="http://evilrouters.net/2009/02/02/upgrading-procurve-firmware-via-tftp/">&#8220;Upgrading ProCurve firmware via TFTP&#8221;</a>.  Since that time, I&#8217;ve started posting video demos of some of the things I write about, so I thought I&#8217;d make up a quick one for this task as well.  I happen to have a 5412zl switch sitting here next to me that I just powered up for the first time, and I know from the search terms people use to reach my site that this is one of the most popular HP-related posts, so perhaps seeing this in action will help understand it as well.</p>

<p>The first thing you&#8217;ll want to do is head over to ProCurve&#8217;s <a href="http://www.hp.com/rnd/software/switches.htm">&#8220;Software for switches&#8221;</a> page and grab the appropriate software for your switch.  At the time of this writing, K.13.63 is the latest available on the web site, however I grabbed K.13.68 from <a href="ftp://ftp.hp.com/pub/networking/software/">HP&#8217;s FTP server</a>.  Unzip the file that you download, <u>read the release notes</u>, and copy the software over to your TFTP server.</p>

<p>After that, it&#8217;s just a matter of following the steps in <a href="http://evilrouters.net/2009/02/02/upgrading-procurve-firmware-via-tftp/">the previous post</a>.</p>

<p>Here&#8217;s an update in action (note that this switch shipped with K.12.57 and all software versions after K.13.61 include a BootROM update, so we&#8217;ll our switch reboot automatically in the middle of the update.  Also, by default, the switch use DHCP will acquire an IP address on VLAN 1, so we don&#8217;t <u>have</u> to configure one (though it&#8217;s always a good idea, of course).</p>

<div id="media">
            <object id="csSWF" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="640" height="378" codebase="http://active.macromedia.com/flash7/cabs/ swflash.cab#version=9,0,28,0">
                <param name="src" value="http://evilrouters.net/wp-content/uploads/2009/08/update-procurve-software-via-tftp.swf"/>
                <param name="bgcolor" value="#1a1a1a"/>
                <param name="quality" value="best"/>
                <param name="allowScriptAccess" value="always"/>
                <param name="allowFullScreen" value="true"/>
                <param name="scale" value="showall"/>
                <param name="flashVars" value="autostart=false"/>
                <embed name="csSWF" src="http://evilrouters.net/wp-content/uploads/2009/08/update-procurve-software-via-tftp.swf" width="640" height="378" bgcolor="#1a1a1a" quality="best" allowScriptAccess="always" allowFullScreen="true" scale="showall" flashVars="autostart=false" pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash"></embed>
            </object>
        </div>

<p><b>Note that this whole process takes quite a bit longer than shown in the video.  When I was done recording, the video came in at 08:19 long.  By removing a lot of the &#8220;waiting&#8221;, I was able to get it down to the 02:42 that you see here.</b></p>
<img src="http://feeds.feedburner.com/~r/evilrouters/~4/TYAlQkuAQh8" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://evilrouters.net/2009/08/17/video-update-procurve-software-via-tftp/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://evilrouters.net/2009/08/17/video-update-procurve-software-via-tftp/</feedburner:origLink></item>
	</channel>
</rss>
