<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	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/"
	>

<channel>
	<title>ENSGRP</title>
	<atom:link href="http://ensgrp.com/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://ensgrp.com/blog</link>
	<description></description>
	<lastBuildDate>Tue, 24 Apr 2012 20:55:14 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>MPLS OSPF Loop Prevention</title>
		<link>http://ensgrp.com/blog/mpls-ospf-loop-prevention/</link>
		<comments>http://ensgrp.com/blog/mpls-ospf-loop-prevention/#comments</comments>
		<pubDate>Tue, 24 Apr 2012 16:13:24 +0000</pubDate>
		<dc:creator>breakintheweb</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[down-bit]]></category>
		<category><![CDATA[loop]]></category>
		<category><![CDATA[mpls]]></category>
		<category><![CDATA[ospf]]></category>
		<category><![CDATA[vrf-lite]]></category>

		<guid isPermaLink="false">http://ensgrp.com/blog/?p=241</guid>
		<description><![CDATA[The OSPF utilizes two methods of loop prevention when used as the PE-CE routing protocol. OSPF Down-Bit (DN) The DN bit is the most significant bit of the LSA options field. It&#8217;s use as the DN bit is specified in RFC 4576 The DN bit is set in type 3 LSAs sent from the PE [...]]]></description>
			<content:encoded><![CDATA[<p>The OSPF utilizes two methods of loop prevention when used as the PE-CE routing protocol. </p>
<p>OSPF Down-Bit (DN)<br />
The DN bit is the most significant bit of the LSA options field. It&#8217;s use as the DN bit is specified in RFC 4576<br />
The DN bit is set in type 3 LSAs sent from the PE router. Routers will not accept a Type 3, 5 or 7 LSA with the DN bit set. This effectively stops a Router from advertising a BGP learned route back in to BGP.</p>
<p>An issue can arise if you are using OSPF with a VRF on your CE router. Your CE router will learn prefixes from the PE router with the DN bit set and drop them. You can disable the loop prevention two ways. In newer IOSs, you can enable capability vrf-light under the ospf process on the CE router. This will disable the down bit checking.<br />
<code>router ospf 1 vrf [vrf_name]<br />
capability vrf-lite<br />
</code><br />
<span id="more-241"></span><br />
If your CE device doesn&#8217;t support capability vrf-lite,  you can change the domain-id on a PE router so they don&#8217;t match. This will cause the PE routers to generate type 5 LSA&#8217;s which don&#8217;t have the DN bit set. These LSA&#8217;s will instead have the domain-tag set which is identified below.</p>
<p>OSPF Domain-Tag<br />
When OSPF is used as the PE-CE routing protocol, the OSPF utilizes a domain-tag for OSPF type 5 and 7 LSAs. </p>
<p>This tag is a 32 bit decimal value which is derived from the PE Routers BGP Autonomous System number(ASN). The 4 most significant are set to 1101 (RFC1745). You can read the RFC entry <a href="http://tools.ietf.org/html/rfc1745#page-13" title="Here" target="_blank">Here</a>. The 16 least significant bits are set to the PE Routers ASN. </p>
<p>If a PE router learns a type 5 or 7 LSA with it&#8217;s own domain-tag, the route will be dropped. </p>
<p>The domain-tag can be manually set as follows.</p>
<p><code>router ospf [process_number] vrf [vrf_name]<br />
domain-tag [#] ! 32 bit value<br />
</code></p>
<p>You can see the domain tag by issuing the following:</p>
<p><code>PE2#sh ip ospf database | b External<br />
Type-5 AS External Link States<br />
Link ID         ADV Router      Age         Seq#       Checksum Tag<br />
11.11.11.11     11.11.11.11     624         0x80000007 0x00FC7A 3489660941<br />
11.11.11.11     22.22.22.22     651         0x80000007 0x00B199 3489660941<br />
22.22.22.22     11.11.11.11     624         0x80000007 0x00014A 3489660941<br />
22.22.22.22     22.22.22.22     651         0x80000007 0x00B569 3489660941<br />
</code><br />
You can see the domain tag is set to 3489660941.</p>
<p>If you convert this number to binary you should get 11010000000000000000000000001101</p>
<p>Taking the 16 least significant bits you end up with 0000000000001101 which when converted to decimal gives you our ASN (13).</p>
<p>Note for 4byte asn numbers, the domain-tag will be set to the asn overlapping the 4 most significant bits if needed.</p>
]]></content:encoded>
			<wfw:commentRss>http://ensgrp.com/blog/mpls-ospf-loop-prevention/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>OSPF default route preference lab.</title>
		<link>http://ensgrp.com/blog/ospf-default-route-preference-lab/</link>
		<comments>http://ensgrp.com/blog/ospf-default-route-preference-lab/#comments</comments>
		<pubDate>Mon, 23 Apr 2012 01:10:28 +0000</pubDate>
		<dc:creator>breakintheweb</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://ensgrp.com/blog/?p=194</guid>
		<description><![CDATA[The goal of this lab is for both BR1 and BR2 to both have an OSPF E2 default route learned from a HUB router. BR1 should prefer the default from HUB 1 while BR2 will prefer the route via HUB 2. If either HUB is unreachable, the BR routers should have a OSPF E2 default [...]]]></description>
			<content:encoded><![CDATA[<p>The goal of this lab is for both BR1 and BR2 to both have an OSPF E2 default route learned from a HUB router.</p>
<p>BR1 should prefer the default from HUB 1 while BR2 will prefer the route via HUB 2. If either HUB is unreachable, the BR routers should have a OSPF E2 default route via the other hub.</p>
<p>The diagram is as follows (click to enlarge)<br />
<a href="http://ensgrp.com/blog/wp-content/uploads/2012/04/OSPF_LAB1.png"><img src="http://ensgrp.com/blog/wp-content/uploads/2012/04/OSPF_LAB1-300x94.png" alt="" title="OSPF_LAB1" width="300" height="94" class="alignnone size-medium wp-image-195" /></a></p>
<p>The issue with this design is the requirement for each branch to prefer a different hub default route. By default, they will learn equal cost paths to both hubs. </p>
<p>The base configurations are as follows.<br />
<span id="more-194"></span><br />
BR1<br />
<code>interface FastEthernet0/0<br />
 bandwidth 100000<br />
 ip address 172.16.100.11 255.255.255.0<br />
 no shut<br />
end<br />
router ospf 1<br />
 log-adjacency-changes<br />
 network 172.16.100.0 0.0.0.255 area 100<br />
</code></p>
<p>BR2<br />
<code>interface FastEthernet0/0<br />
 bandwidth 100000<br />
 ip address 172.16.100.12 255.255.255.0<br />
 no shut<br />
end<br />
router ospf 1<br />
 log-adjacency-changes<br />
 network 172.16.100.0 0.0.0.255 area 100<br />
</code></p>
<p>HUB1<br />
<code>interface FastEthernet0/0<br />
 bandwidth 100000<br />
 ip address 172.16.100.1 255.255.255.0<br />
 not shut<br />
end<br />
router ospf 1<br />
 log-adjacency-changes<br />
 network 172.16.100.0 0.0.0.255 area 100<br />
 default-information originate always<br />
</code></p>
<p>HUB2<br />
<code>interface FastEthernet0/0<br />
 bandwidth 100000<br />
 ip address 172.16.100.1 255.255.255.0<br />
 not shut<br />
end<br />
router ospf 1<br />
 log-adjacency-changes<br />
 network 172.16.100.0 0.0.0.255 area 100<br />
 default-information originate always<br />
</code></p>
<p>At this point, you should have ospf neighbor associations between BR1<--->BR2 and HUB1<---->HUB2. If you don&#8217;t there is most likely a layer 2 issue, make sure you can ping Between these hosts.</p>
<p>Now for the layer 2 MPLS. </p>
<p>MPLS1<br />
<code>ip cef ! should already be enabled. This is just to make sure it is since mpls requires it<br />
int fa0/1<br />
 mpls ip<br />
int lo0<br />
 ip address 3.3.3.3 255.255.255.255<br />
router eigrp 100 ! any routing protocol will do<br />
 network 3.3.3.3 0.0.0.0<br />
 network 10.0.0.0 0.0.0.255<br />
 no auto-summary<br />
mpls ip<br />
mpls label protocol ldp ! should be the default. Again just to make sure.<br />
</code></p>
<p>MPLS2<br />
<code>ip cef ! should already be enabled. This is just to make sure it is since mpls requires it<br />
int fa0/1<br />
 mpls ip<br />
int lo0<br />
 ip address 4.4.4.4 255.255.255.255<br />
router eigrp 100 ! any routing protocol will do<br />
 network 3.3.3.3 0.0.0.0<br />
 network 10.0.0.0 0.0.0.255<br />
 no auto-summary<br />
mpls ip<br />
mpls label protocol ldp ! should be the default. Again just to make sure.<br />
</code><br />
You should see see a log message showing ldp is up.</p>
<p><a href="http://ensgrp.com/blog/wp-content/uploads/2012/04/mpls_ldp2.png"><img src="http://ensgrp.com/blog/wp-content/uploads/2012/04/mpls_ldp2-300x74.png" alt="" title="mpls_ldp" width="300" height="74" class="alignnone size-medium wp-image-210" /></a></p>
<p>Now that LDP is up and we are exchanging labels, we need to configure layer 2 MPLS.</p>
<p>We need to first define a pseudo-wire class and then configure the cross connect under the interface using this pseudo-wire class.<br />
MPLS1<br />
<code>pseudowire-class MPLS<br />
 encapsulation mpls<br />
 int fa0/0<br />
  xconnect 4.4.4.4 100 pw-class MPLS<br />
</code></p>
<p>MPLS2<br />
<code>pseudowire-class MPLS<br />
 encapsulation mpls<br />
 int fa0/0<br />
  xconnect 3.3.3.3 100 pw-class MPLS<br />
</code></p>
<p>You should see the xconnect as up/up.<br />
<a href="http://ensgrp.com/blog/wp-content/uploads/2012/04/xconnect_mpls.png"><img src="http://ensgrp.com/blog/wp-content/uploads/2012/04/xconnect_mpls-300x149.png" alt="" title="xconnect_mpls" width="300" height="149" class="alignnone size-medium wp-image-213" /></a></p>
<p>At this point you should have full connectivity between both hubs and both branches.</p>
<p><a href="http://ensgrp.com/blog/wp-content/uploads/2012/04/ping_initial.png"><img src="http://ensgrp.com/blog/wp-content/uploads/2012/04/ping_initial-300x120.png" alt="" title="ping_initial" width="300" height="120" class="alignnone size-medium wp-image-215" /></a></p>
<p>Show the ospf routes for both branches.<br />
<a href="http://ensgrp.com/blog/wp-content/uploads/2012/04/ospf_full_initial.png"><img src="http://ensgrp.com/blog/wp-content/uploads/2012/04/ospf_full_initial-300x153.png" alt="" title="ospf_full_initial" width="300" height="153" class="alignnone size-medium wp-image-216" /></a></p>
<p>So now we have the initial configurations done. Both routers are learning equal cost paths and installing them both in the routing table. The issue is, we want BR1 to only install the HUB1 default and BR2 to install the HUB2 default. We also want to ensure that if either HUB1 or HUB2 fails, the BRANCH routers will be able to install the default from the other HUB.</p>
<p>Think about how you would accomplish this task before scrolling to the solution below.</p>
<p>If we shut down HUB1&#8242;s fa0/0. We should see the default route to HUB2 on both routers.</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br />
</br><br />
</br><br />
</br><br />
</br><br />
</br></br></br></br></br></br></br></br></br></br></br></br></p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;</p>
<p>The solution is to use point-to-multipoint non-broadcast. When using point-to-multipoint, you can configure a neighbor and a cost to each neighbor on the branch routers. We use the Cisco proprietary point-to-multipoint non-broadcast mode to ensure the spokes don&#8217;t connect to each other.</p>
<p>The solution is as follows.</p>
<p>BR1<br />
<code>interface FastEthernet0/0<br />
 ip ospf network point-to-multipoint non-broadcast<br />
 ip ospf hello-interval 1 ! we set the hello interval to speed up convergence<br />
router ospf 1<br />
 neighbor 172.16.100.1 cost 1 ! lower cost is preferred<br />
 neighbor 172.16.100.2 cost 2<br />
</code><br />
BR2<br />
<code>interface FastEthernet0/0<br />
 ip ospf network point-to-multipoint non-broadcast<br />
router ospf 1<br />
 neighbor 172.16.100.1 cost 2<br />
neighbor 172.16.100.2 cost 1<br />
</code><br />
HUB1<br />
<code>interface FastEthernet0/0<br />
 ip ospf network point-to-multipoint non-broadcast<br />
</code><br />
HUB2<br />
<code>interface FastEthernet0/0<br />
 ip ospf network point-to-multipoint non-broadcast<br />
</code><br />
You should see the ospf sessions reset. When they return, you should now only have one route on each branch.</p>
<p><a href="http://ensgrp.com/blog/wp-content/uploads/2012/04/ospf_default_modified1.png"><img src="http://ensgrp.com/blog/wp-content/uploads/2012/04/ospf_default_modified1-300x192.png" alt="" title="ospf_default_modified" width="300" height="192" class="alignnone size-medium wp-image-225" /></a></p>
<p>If we shut down the fa0/0 interface on HUB1, you will see that BR1 now has a default route to HUB2.</p>
<p><a href="http://ensgrp.com/blog/wp-content/uploads/2012/04/br1_hub1shut.png"><img src="http://ensgrp.com/blog/wp-content/uploads/2012/04/br1_hub1shut-300x32.png" alt="" title="br1_hub1shut" width="300" height="32" class="alignnone size-medium wp-image-233" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://ensgrp.com/blog/ospf-default-route-preference-lab/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Windows 7 802.1q Trunking</title>
		<link>http://ensgrp.com/blog/windows-7-802-1q-trunking/</link>
		<comments>http://ensgrp.com/blog/windows-7-802-1q-trunking/#comments</comments>
		<pubDate>Tue, 21 Feb 2012 15:04:34 +0000</pubDate>
		<dc:creator>breakintheweb</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://ensgrp.com/blog/?p=153</guid>
		<description><![CDATA[Before you start reading a disclaimer. This post is network adapter specific. I&#8217;m using a Dell E6420 Running Windows 7 with an Intel 82579LM wired adapter. In lieu of having multiple pc&#8217;s to test, I thought it easier to use one workstation for my CCIE training. My CCIE lab is local which makes this easier. [...]]]></description>
			<content:encoded><![CDATA[<p>Before you start reading a disclaimer.<br />
This post is network adapter specific. I&#8217;m using a Dell E6420  Running Windows 7 with an Intel 82579LM wired adapter.</p>
<p>In lieu of having multiple pc&#8217;s to test, I thought it easier to use one workstation for my CCIE training.</p>
<p>My CCIE lab is local which makes this easier. I&#8217;m using wireless for my internet connection. My wired connection will be a trunk in to one of my lab switch ports. The wired link will be configured as a trunk which will allow multiple Virtual interfaces with different vlans.<br />
<span id="more-153"></span><br />
By default, windows 7 uses an automatic interface metric which will usually prefer wired over wireless connections since wired speeds are higher. I want to set the wireless connection metric lower than the wired so my wireless connection is always preferred. This will ensure i don&#8217;t lose my internet connection if a gateway is received across the wired connection.</p>
<p>The metric is set under Control Panel\Network and Internet\Network Connections. Right click on your wireless adapter and click properties. Select Internet Protocol Version 4 and click properties. Almost there; now click the advanced button. Uncheck the automatic metric button and type 1 in the box. Here is an image showing the dialog windows.<br />
<a href="http://ensgrp.com/blog/wp-content/uploads/2012/02/wireless_metric_change1.png"><img src="http://ensgrp.com/blog/wp-content/uploads/2012/02/wireless_metric_change1-300x119.png" alt="" title="wireless_metric_change" width="300" height="119" class="alignnone size-medium wp-image-163" /></a></p>
<p>The wireless metric can be verfied with the cmd command &#8220;netsh interface ip show interfaces&#8221;<br />
<a href="http://ensgrp.com/blog/wp-content/uploads/2012/02/wireless_metric_verify.png"><img src="http://ensgrp.com/blog/wp-content/uploads/2012/02/wireless_metric_verify-300x81.png" alt="" title="wireless_metric_verify" width="300" height="81" class="alignnone size-medium wp-image-167" /></a></p>
<p>The next step is to set the wired interface to trunking mode. You will need to go under device manager(click start and type &#8220;device manager&#8221;), under network adapters, double click your wired adapter. Under the adavanced tab you will see the following screen, ensure the Vlan setting is enabled. For my device, both Vlan and priority are set which is fine.<br />
<a href="http://ensgrp.com/blog/wp-content/uploads/2012/02/wired_adapter_settings.png"><img src="http://ensgrp.com/blog/wp-content/uploads/2012/02/wired_adapter_settings-241x300.png" alt="" title="wired_adapter_settings" width="241" height="300" class="alignnone size-medium wp-image-172" /></a></p>
<p>Next, click the vlan tab in the same dialog window. I&#8217;m going to enable vlan 6 on this trunk.<br />
<a href="http://ensgrp.com/blog/wp-content/uploads/2012/02/wired_vlan_create.png"><img src="http://ensgrp.com/blog/wp-content/uploads/2012/02/wired_vlan_create-241x300.png" alt="" title="wired_vlan_create" width="241" height="300" class="alignnone size-medium wp-image-174" /></a></p>
<p>Click Okay and you will see a configuring screen. The computer is setting the vlan on the trunk and creating a virtual interface during this configuring screen.<br />
<a href="http://ensgrp.com/blog/wp-content/uploads/2012/02/interface_loading_screen.png"><img src="http://ensgrp.com/blog/wp-content/uploads/2012/02/interface_loading_screen-243x300.png" alt="" title="interface_loading_screen" width="243" height="300" class="alignnone size-medium wp-image-175" /></a> </p>
<p>I&#8217;m only configuring one vlan here for brevity. You can configure additional vlans. A virtual interface will be created for each vlan.</p>
<p>Going back under &#8220;Control Panel\Network and Internet\Network Connections&#8221; you will see a new Local Area Connection. This is the interface which represents our newly created Vlan6.</p>
<p>Right click and go to properties. You can see the name Ends with Vlan6.<br />
<a href="http://ensgrp.com/blog/wp-content/uploads/2012/02/vlan_6_overview.png"><img src="http://ensgrp.com/blog/wp-content/uploads/2012/02/vlan_6_overview-238x300.png" alt="" title="vlan_6_overview" width="238" height="300" class="alignnone size-medium wp-image-184" /></a></p>
<p>Now click on configure which will open a new dialog. Click the settings tab and you can see VLAN6 is set for this virtual interface.<br />
<a href="http://ensgrp.com/blog/wp-content/uploads/2012/02/vlan_6_details.png"><img src="http://ensgrp.com/blog/wp-content/uploads/2012/02/vlan_6_details-251x300.png" alt="" title="vlan_6_details" width="251" height="300" class="alignnone size-medium wp-image-187" /></a></p>
<p>The switchport you plugin to will need to be set to trunking mode on. I&#8217;m using port 1/0/24 of my wired connection</p>
<p>interface GigabitEthernet1/0/24<br />
 switchport trunk encapsulation dot1q<br />
 switchport mode trunk<br />
end</p>
]]></content:encoded>
			<wfw:commentRss>http://ensgrp.com/blog/windows-7-802-1q-trunking/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Embedded Event Manager and TCL</title>
		<link>http://ensgrp.com/blog/embedded-event-manager-and-tcl/</link>
		<comments>http://ensgrp.com/blog/embedded-event-manager-and-tcl/#comments</comments>
		<pubDate>Thu, 26 Jan 2012 13:26:54 +0000</pubDate>
		<dc:creator>breakintheweb</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[ccie]]></category>
		<category><![CDATA[eem]]></category>
		<category><![CDATA[tcl]]></category>

		<guid isPermaLink="false">http://ensgrp.com/blog/?p=143</guid>
		<description><![CDATA[Recently ine ran a challenge for EEM INE BLOG I have yet to here anything from ine so I&#8217;m posting my code below. ############################################################################################ # CISCO TCL EEM syslog config autowrite # Version 0.3 # 1/13/2012 # Justin Guagliata # Copyright 2012 @ ensgrp.com # # Copy the script to Flash and enter the following [...]]]></description>
			<content:encoded><![CDATA[<p>Recently ine ran a challenge for EEM <a href="http://blog.ine.com/2012/01/11/eem-challenge-change-control" title="INE BLOG">INE BLOG</a></p>
<p>I have yet to here anything from ine so I&#8217;m posting my code below.<br />
<span id="more-143"></span><br />
############################################################################################<br />
# CISCO TCL EEM syslog config autowrite<br />
# Version 0.3<br />
# 1/13/2012<br />
# Justin Guagliata<br />
# Copyright 2012 @ ensgrp.com<br />
#<br />
# Copy the script to Flash and enter the following two commands in config mode<br />
# event manager directory user policy &#8220;flash:/&#8221;<br />
# event manager policy SYSLOG_CONFIG.tcl<br />
#<br />
############################################################################################</p>
<p>############################################################################################<br />
# Monitor SYSLOG output for the &#8220;SYS-5-CONFIG.*&#8221; pattern<br />
# run with a low priority and nice<br />
# Set a max execution time of 60 seconds</p>
<p>::cisco::eem::event_register_syslog occurs 1 pattern &#8220;SYS-5-CONFIG.*&#8221; maxrun 60 queue_priority low nice 1</p>
<p>############################################################################################<br />
# Import the EEM Libraries to use in this TCL scipt</p>
<p>namespace import ::cisco::eem::*<br />
namespace import ::cisco::lib::*</p>
<p>############################################################################################<br />
# Set FTP server</p>
<p>set FTP_SERVER &#8220;10.0.0.1&#8243;</p>
<p>############################################################################################<br />
# System variables</p>
<p>set ROUTER_NAME [info hostname]<br />
set CUR_TIME_DATE [clock format [clock seconds] -format &#8220;%Y-%m-%d-%H%M%S&#8221;]</p>
<p>############################################################################################<br />
# EEM &#8211; Opens a connection to the CLI</p>
<p>if [catch {cli_open} result] {<br />
    error $result $errorInfo<br />
} else {<br />
    array set cli1 $result<br />
}</p>
<p>############################################################################################<br />
# EEM &#8211; Run CLI Commands</p>
<p>if [catch {cli_exec $cli1(fd) "enable"} result] {<br />
    error $result $errorInfo<br />
}</p>
<p>############################################################################################<br />
# Get Last user to change config. </p>
<p>if [catch {cli_exec $cli1(fd) "sh configuration id detail | inc Changed by user"} result] {<br />
    error $result $errorInfo<br />
} else {<br />
	set cmd_output $result</p>
<p> set prompt [format "(.*\n)(%s)(\\(config\[^\n\]*\\))?(#|>)&#8221; $ROUTER_NAME]<br />
    if [regexp "[set prompt]&#8221; $result dummy cmd_output] {<br />
       # do nothing, match will be in $cmd_output<br />
    } else {<br />
       # did not match router prompt so use original output<br />
       set cmd_output $result<br />
    }   </p>
<p>	# remove white space from output<br />
	set cmd_output [regexp -inline -all -- {\S+} $cmd_output]<br />
	# Remove the leading description by stripping the first 17 characters<br />
	# this leaves us just the username<br />
	set CURRENT_USER [string replace $cmd_output 0 17 ""]<br />
}</p>
<p>############################################################################################<br />
# If CURRENT_USER returns empty we know that the config was last written by this script<br />
# For tacacs enviroments this will be changed to the eem user</p>
<p>if {$CURRENT_USER != &#8220;&#8221;} {<br />
 if [catch {cli_exec $cli1(fd) "config t"} result] {<br />
     error $result $errorInfo<br />
 }</p>
<p> if [catch {cli_exec $cli1(fd) "file prompt quiet"} result] {<br />
     error $result $errorInfo<br />
 }</p>
<p> if [catch {cli_exec $cli1(fd) "end"} result] {<br />
     error $result $errorInfo<br />
 }</p>
<p> if [catch {cli_exec $cli1(fd) "copy running-config tftp://$FTP_SERVER/$ROUTER_NAME.$CUR_TIME_DATE.$CURRENT_USER.working.cfg"} result] {<br />
	error $result $errorInfo<br />
 }<br />
}<br />
# Close open cli before exit.<br />
if [catch {cli_close $cli1(fd) $cli1(tty_id)} result] {<br />
    error $result $errorInfo<br />
} else {<br />
 exit 1<br />
}</p>
<p>############################################################################################<br />
# CISCO TCL EEM autowrite<br />
# Version 0.4<br />
# 1/13/2012<br />
# Justin Guagliata<br />
# Copyright 2012 @ ensgrp.com<br />
#<br />
# Copy the script to Flash and enter the following two commands in config mode<br />
# event manager directory user policy &#8220;flash:/&#8221;<br />
# event manager policy autowrite.tcl<br />
#<br />
############################################################################################</p>
<p>############################################################################################<br />
# Register EEM for the following patterns &#8220;wr.*|wr.* mem.*|copy ru.* st.*&#8221;<br />
# This policy is run<br />
# Set a max execution time of 60 seconds</p>
<p>::cisco::eem::event_register_cli pattern &#8220;wr.*|wr.* mem.*|copy ru.* st.*&#8221; sync yes maxrun 60</p>
<p>############################################################################################<br />
# Import the EEM Libraries to use in this TCL scipt</p>
<p>namespace import ::cisco::eem::*<br />
namespace import ::cisco::lib::*</p>
<p>############################################################################################<br />
# Set FTP server</p>
<p>set FTP_SERVER &#8220;10.0.0.1&#8243;</p>
<p>############################################################################################<br />
# System variables</p>
<p>set ROUTER_NAME [info hostname]<br />
set CUR_TIME_DATE [clock format [clock seconds] -format &#8220;%Y-%m-%d-%H%M%S&#8221;]</p>
<p>############################################################################################<br />
# EEM &#8211; Opens a connection to the CLI</p>
<p>if [catch {cli_open} result] {<br />
    error $result $errorInfo<br />
} else {<br />
    array set cli1 $result<br />
}</p>
<p>############################################################################################<br />
# EEM &#8211; Run CLI Commands</p>
<p>if [catch {cli_exec $cli1(fd) "enable"} result] {<br />
    error $result $errorInfo<br />
}</p>
<p>############################################################################################<br />
# Get Last user to change config. </p>
<p>if [catch {cli_exec $cli1(fd) "sh configuration id detail | inc Changed by user"} result] {<br />
    error $result $errorInfo<br />
} else {<br />
	set cmd_output $result</p>
<p> set prompt [format "(.*\n)(%s)(\\(config\[^\n\]*\\))?(#|>)&#8221; $ROUTER_NAME]<br />
    if [regexp "[set prompt]&#8221; $result dummy cmd_output] {<br />
       # do nothing, match will be in $cmd_output<br />
    } else {<br />
       # did not match router prompt so use original output<br />
       set cmd_output $result<br />
    }   </p>
<p>	# remove white space from output<br />
	set cmd_output [regexp -inline -all -- {\S+} $cmd_output]<br />
	# Remove the leading description by stripping the first 17 characters<br />
	# this leaves us just the username<br />
	set CURRENT_USER [string replace $cmd_output 0 17 ""]<br />
}</p>
<p>############################################################################################<br />
# If CURRENT_USER returns empty we know that the config was last written by this script<br />
# For tacacs enviroments this will be changed to the eem user</p>
<p>if {$CURRENT_USER != &#8220;&#8221;} {<br />
 if [catch {cli_exec $cli1(fd) "config t"} result] {<br />
     error $result $errorInfo<br />
 }</p>
<p> if [catch {cli_exec $cli1(fd) "file prompt quiet"} result] {<br />
     error $result $errorInfo<br />
 }</p>
<p> if [catch {cli_exec $cli1(fd) "end"} result] {<br />
     error $result $errorInfo<br />
 }<br />
  if [catch {cli_exec $cli1(fd) "wr mem"} result] {<br />
     error $result $errorInfo<br />
 }</p>
<p> if [catch {cli_exec $cli1(fd) "copy startup-config tftp://$FTP_SERVER/$ROUTER_NAME.$CUR_TIME_DATE.$CURRENT_USER.startup.cfg"} result] {<br />
	error $result $errorInfo<br />
 }<br />
}<br />
############################################################################################<br />
# Close open cli before exit. Exit code 0 means don&#8217;t perform the command which was caught by the script (wr mem)<br />
# an exit code of 1 would write the script<br />
if [catch {cli_close $cli1(fd) $cli1(tty_id)} result] {<br />
    error $result $errorInfo<br />
} else {<br />
 exit 0<br />
}</p>
]]></content:encoded>
			<wfw:commentRss>http://ensgrp.com/blog/embedded-event-manager-and-tcl/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>LACP system and port priority</title>
		<link>http://ensgrp.com/blog/lacp-system-and-port-priority/</link>
		<comments>http://ensgrp.com/blog/lacp-system-and-port-priority/#comments</comments>
		<pubDate>Mon, 09 Jan 2012 15:54:20 +0000</pubDate>
		<dc:creator>breakintheweb</dc:creator>
				<category><![CDATA[CCIE]]></category>
		<category><![CDATA[Networking]]></category>
		<category><![CDATA[ccie]]></category>
		<category><![CDATA[etherchannel]]></category>
		<category><![CDATA[lacp]]></category>
		<category><![CDATA[layer 2]]></category>
		<category><![CDATA[port priority]]></category>
		<category><![CDATA[system priority]]></category>

		<guid isPermaLink="false">http://ensgrp.com/blog/?p=109</guid>
		<description><![CDATA[LACP is the IEEE (802.3ad) link aggregation standard. On The 3560 supports 8 active links with 8 standby links. When using LACP, port channels are configured for either active or passive modes. Active will actively attempt to create a lacp link. Passive mode will respond to a LACP attempt from another device but attempt to [...]]]></description>
			<content:encoded><![CDATA[<p>LACP is the IEEE (802.3ad) link aggregation standard. On The 3560 supports 8 active links with 8 standby links. </p>
<p>When using LACP, port channels are configured for either active or passive modes. Active will actively attempt to create a lacp link. Passive mode will respond to a LACP attempt from another device but  attempt to create a LACP.</p>
<p><code>Rack1SW2(config-if)#channel-group 10 mode <active|passive><br />
</code></p>
<p>When using LACP each switch has a <strong>system priority</strong> for the device and a <strong>port priority</strong> for each port. By default, these values are both 32768. </p>
<p>System priority is used to determine which switch makes the decision for adding links to the LACP bundle. Since both switches will by default have a system priority of 32768, the switch with the lowest mac address will make the decision.</p>
<p><code>Rack1SW1(config)#lacp system-priority <1-65535><br />
</code><br />
<span id="more-109"></span></p>
<p>Port priority is used to determine what ports will be put in standby mode if the max active links limit is reached.Links with a LOWER priority are preferred. The port number is used as tiebreaker. This means that by default, interface gi0/1 will be prefered over gi0/2.</p>
<p><code>Rack1SW1(config-if)#lacp port-priority <0-65535><br />
</code></p>
<p>For the following example I have two switches with 10 links between them. The 10 links are cabled as follows.</p>
<p>SW2&#8212;&#8212;SW4<br />
<strong>30&#8212;&#8212;&#8211;40</strong><br />
31&#8212;&#8212;&#8211;31<br />
32&#8212;&#8212;&#8211;32<br />
33&#8212;&#8212;&#8211;33<br />
34&#8212;&#8212;&#8211;34<br />
35&#8212;&#8212;&#8211;35<br />
36&#8212;&#8212;&#8211;36<br />
37&#8212;&#8212;&#8211;37<br />
38&#8212;&#8212;&#8211;38<br />
39&#8212;&#8212;&#8211;39<br />
<strong>40&#8212;&#8212;&#8211;30</strong></p>
<p>We can see that with the default system priorities, SW4 will become the decision maker since it has a lower mac address.</p>
<p><code>Rack1SW4#sh lacp sys-id<br />
32768, 0019.06b1.c180<br />
Rack1SW2#sh lacp sys-id<br />
32768, 001e.f634.e700</code></p>
<p>The 8 lowest priority links on SW4 will join the bundle with the others ( up to 8 ) being set to standby.</p>
<p><code>Rack1SW4#sh lacp internal<br />
Flags:  S - Device is requesting Slow LACPDUs<br />
        F - Device is requesting Fast LACPDUs<br />
        A - Device is in Active mode       P - Device is in Passive mode<br />
Channel group 10<br />
                            LACP port     Admin     Oper    Port        Port<br />
Port      Flags   State     Priority      Key       Key     Number      State<br />
Gi0/30    SA      bndl      32768         0xA       0xA     0x1E        0x3D<br />
Gi0/31    SA      bndl      32768         0xA       0xA     0x1F        0x3D<br />
Gi0/32    SA      bndl      32768         0xA       0xA     0x20        0x3D<br />
Gi0/33    SA      bndl      32768         0xA       0xA     0x21        0x3D<br />
Gi0/34    SA      bndl      32768         0xA       0xA     0x22        0x3D<br />
Gi0/35    SA      bndl      32768         0xA       0xA     0x23        0x3D<br />
Gi0/36    SA      bndl      32768         0xA       0xA     0x24        0x3D<br />
Gi0/37    SA      bndl      32768         0xA       0xA     0x25        0x3D<br />
Gi0/38    SA      hot-sby   32768         0xA       0xA     0x26        0x5<br />
Gi0/39    SA      hot-sby   32768         0xA       0xA     0x27        0x5<br />
Gi0/40    SA      hot-sby   32768         0xA       0xA     0x28        0x5<br />
</code></p>
<p>If we look at SW2, we can see that gi0/30 is shut down because SW4 is the decision maker due to it&#8217;s lower priority and gi0/30 on SW2 is gi0/40 on SW4.</p>
<p><code><br />
Rack1SW2#sh lacp internal<br />
Flags:  S - Device is requesting Slow LACPDUs<br />
        F - Device is requesting Fast LACPDUs<br />
        A - Device is in Active mode       P - Device is in Passive mode<br />
Channel group 10<br />
                            LACP port     Admin     Oper    Port        Port<br />
Port      Flags   State     Priority      Key       Key     Number      State<br />
Gi0/30    SA      hot-sby   32768         0xA       0xA     0x1E        0x5<br />
Gi0/31    SA      bndl      32768         0xA       0xA     0x1F        0x3D<br />
Gi0/32    SA      bndl      32768         0xA       0xA     0x20        0x3D<br />
Gi0/33    SA      bndl      32768         0xA       0xA     0x21        0x3D<br />
Gi0/34    SA      bndl      32768         0xA       0xA     0x22        0x3D<br />
Gi0/35    SA      bndl      32768         0xA       0xA     0x23        0x3D<br />
Gi0/36    SA      bndl      32768         0xA       0xA     0x24        0x3D<br />
Gi0/37    SA      bndl      32768         0xA       0xA     0x25        0x3D<br />
Gi0/38    SA      hot-sby   32768         0xA       0xA     0x26        0x5<br />
Gi0/39    SA      hot-sby   32768         0xA       0xA     0x27        0x5<br />
Gi0/40    SA      bndl      32768         0xA       0xA     0x28        0x3D<br />
</code></p>
<p>Finally, if we make SW2 the decision maker by lowering it&#8217;s system priority, gi0/30 will become active and gi0/40 will go to standby on SW2. </p>
<p><code>Rack1SW2#sh lacp internal<br />
Flags:  S - Device is requesting Slow LACPDUs<br />
        F - Device is requesting Fast LACPDUs<br />
        A - Device is in Active mode       P - Device is in Passive mode<br />
Channel group 10<br />
                            LACP port     Admin     Oper    Port        Port<br />
Port      Flags   State     Priority      Key       Key     Number      State<br />
Gi0/30    SA      bndl      32768         0xA       0xA     0x1E        0x3D<br />
Gi0/31    SA      bndl      32768         0xA       0xA     0x1F        0x3D<br />
Gi0/32    SA      bndl      32768         0xA       0xA     0x20        0x3D<br />
Gi0/33    SA      bndl      32768         0xA       0xA     0x21        0x3D<br />
Gi0/34    SA      bndl      32768         0xA       0xA     0x22        0x3D<br />
Gi0/35    SA      bndl      32768         0xA       0xA     0x23        0x3D<br />
Gi0/36    SA      bndl      32768         0xA       0xA     0x24        0x3D<br />
Gi0/37    SA      bndl      32768         0xA       0xA     0x25        0x3D<br />
Gi0/38    SA      hot-sby   32768         0xA       0xA     0x26        0x5<br />
Gi0/39    SA        -       32768         0xA       0xA     0x27        0x5<br />
Gi0/40    SA        -       32768         0xA       0xA     0x28        0x5<br />
</code></p>
<p>Note: Changing the lacp system priority dropped the entire bundle. Proceed with caution in production enviroments.</p>
]]></content:encoded>
			<wfw:commentRss>http://ensgrp.com/blog/lacp-system-and-port-priority/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Apple IPAD ANYCONNECT VPN</title>
		<link>http://ensgrp.com/blog/apple-ipad-anyconnect-vpn/</link>
		<comments>http://ensgrp.com/blog/apple-ipad-anyconnect-vpn/#comments</comments>
		<pubDate>Fri, 23 Dec 2011 03:19:58 +0000</pubDate>
		<dc:creator>breakintheweb</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[VPN]]></category>
		<category><![CDATA[asa]]></category>
		<category><![CDATA[Cisco]]></category>
		<category><![CDATA[ipad]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[vpn]]></category>

		<guid isPermaLink="false">http://ensgrp.com/blog/?p=70</guid>
		<description><![CDATA[In order to activate the Anyconnect SSL vpn for an iphone/ipad, you will need to obtain/install two licenses on your ASA. These licenses are &#8220;AnyConnect Mobile license&#8221; and &#8220;AnyConnect Essentials&#8221; or &#8220;AnyConnect Premium Clientless SSL VPN Edition&#8221;. The Mobile license and essentials license are licensed per device. The amount of simultaneous users will depend on [...]]]></description>
			<content:encoded><![CDATA[<p>In order to activate the Anyconnect SSL vpn for an iphone/ipad, you will need to obtain/install two licenses on your ASA.</p>
<p>These licenses are &#8220;AnyConnect Mobile license&#8221; and &#8220;AnyConnect Essentials&#8221; or &#8220;AnyConnect Premium Clientless SSL VPN Edition&#8221;.</p>
<p>The Mobile license and essentials license are licensed per device. The amount of simultaneous users will depend on your device type.<br />
<span id="more-70"></span><br />
Model &#8211; Users<br />
5505 &#8211; 25<br />
5510 &#8211; 250<br />
5520 &#8211; 750<br />
5540 &#8211; 2500<br />
5580-x &#8211; 10,000</p>
<p>Instructions for installing the license will accompany the license so this won&#8217;t be covered here.</p>
<p>You can verify the license is installed by issuing a show ver.<code><br />
<strong>AnyConnect for Mobile : Enabled</strong><br />
AnyConnect for Linksys phone : Disabled<br />
<strong>AnyConnect Essentials : Enabled</strong><br />
</code></p>
<p>You will need to download the app @ (http://itunes.apple.com/us/app/cisco-anyconnect/id392790924)</p>
<p>One the app is installed, you create an SSL VPN remote access connection. An example is below.<br />
<code><br />
! enable ssl vpn<br />
webvpn<br />
 enable outside ! interface name<br />
 anyconnect-essentials<br />
 svc image disk0:/anyconnect-dart-win-2.5.1025-k9.pkg 1 ! image for windows client<br />
 svc image disk0:/anyconnect-linux-2.5.1025-k9.pkg 2 ! image for linux clients<br />
 svc enable<br />
 tunnel-group-list enable<br />
! acl for split tunnel<br />
access-list SPLIT-ACL standard permit 10.0.0.0 255.0.0.0<br />
! dns pool for vpn<br />
ip local pool VPN-POOL 192.168.1.1-192.168.1.254 mask 255.255.255.0<br />
! acs is configured for authentication<br />
aaa-server TACACS protocol tacacs+<br />
aaa-server TACACS (inside) host 10.100.100.100<br />
! tunnel groups<br />
tunnel-group VPN type remote-access<br />
tunnel-group VPN general-attributes<br />
 address-pool VPN-POOL<br />
 authentication-server-group TACACS<br />
 default-group-policy VPN<br />
group-policy VPN attributes<br />
 dns-server value 10.10.10.10 10.11.11.11<br />
 vpn-tunnel-protocol svc webvpn<br />
 split-tunnel-policy tunnelspecified<br />
 split-tunnel-network-list value SPLIT-ACL<br />
 default-domain value yourdomain.com ! default domain to append to queries from vpn host<br />
 split-dns value yourdomain.com ! vpn host will only send dns queries across the vpn for these configured domains<br />
</code><br />
Note: Split-dns was required to allow dns to resolve on the IPAD when using split tunnels. This appears to be a bug or limitation of the IPAD annyconnect app.</p>
]]></content:encoded>
			<wfw:commentRss>http://ensgrp.com/blog/apple-ipad-anyconnect-vpn/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>OSPF NSSA Default Routes</title>
		<link>http://ensgrp.com/blog/ospf-nssa-default-routes/</link>
		<comments>http://ensgrp.com/blog/ospf-nssa-default-routes/#comments</comments>
		<pubDate>Mon, 12 Sep 2011 01:07:11 +0000</pubDate>
		<dc:creator>breakintheweb</dc:creator>
				<category><![CDATA[Networking]]></category>
		<category><![CDATA[ccie]]></category>
		<category><![CDATA[networking]]></category>
		<category><![CDATA[ospf]]></category>

		<guid isPermaLink="false">http://ensgrp.com/blog/?p=48</guid>
		<description><![CDATA[When dealing with stub areas in OSPF, the ABR will suppress type 4 and 5 LSA&#8217;s. To maintain connectivity the ABR will advertise a default route as a summary LSA (TYPE-3). For NSSA, a default route is not propagated by default. You must explicitly  tell the ABR to send the default route into the NSSA [...]]]></description>
			<content:encoded><![CDATA[<p>When dealing with stub areas in OSPF, the ABR will suppress type 4 and 5 LSA&#8217;s. To maintain connectivity the ABR will advertise a default route as a summary LSA (TYPE-3).</p>
<p>For NSSA, a default route is not propagated by default. You must explicitly  tell the ABR to send the default route into the NSSA area. This default route will be a NSSA external route ( Type-7).</p>
<p><code>router ospf &lt;process_id&gt;<br />
area &lt;area_id&gt; nssa default-information-originate</code></p>
<p>The above output will generate NSSA Type-2 external default route (LSA type-7).</p>
<p>The metric type for the default route above can be changed to a Type 1 with the metric-type command.</p>
<p><code>router ospf &lt;process_id&gt;<br />
area nssa &lt;area_id&gt; default-information-originate metric-type 1</code></p>
<p>If the area is set to NSSA totally stuby area. An Inter-area default route will be created on the ABR and sent to the NSSA totally stubby area.<br />
<code>router ospf 1 area<br />
nssa &lt;area_id&gt; default-information-originate no-summary</code></p>
<p>The cost of the default route can be manually set as follows.</p>
<p><code>router ospf &lt;process_id&gt;<br />
area &lt;area_id&gt; default-cost &lt;cost&gt;</code></p>
]]></content:encoded>
			<wfw:commentRss>http://ensgrp.com/blog/ospf-nssa-default-routes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>tclsh</title>
		<link>http://ensgrp.com/blog/tclsh/</link>
		<comments>http://ensgrp.com/blog/tclsh/#comments</comments>
		<pubDate>Sun, 11 Sep 2011 19:13:51 +0000</pubDate>
		<dc:creator>breakintheweb</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[ccie.tcl]]></category>
		<category><![CDATA[tclsh]]></category>

		<guid isPermaLink="false">http://ensgrp.com/blog/?p=43</guid>
		<description><![CDATA[I was using a tcl script with the IEWB to test connectivity. The extra data included with the pings made it difficult to check the connectivity. I found the below code that will ping multiple devices and output the results in a clean format with either (OK, FAILED) tclsh proc ping { IP } { [...]]]></description>
			<content:encoded><![CDATA[<p>I was using a tcl script with the IEWB to test connectivity. The extra data included with the pings made it difficult to check the connectivity. I found the below code that will ping multiple devices and output the results in a clean format with either (OK, FAILED)</p>
<p><span id="more-43"></span><br />
<code><br />
tclsh<br />
proc ping { IP } {<br />
set PING [ exec "ping $IP repeat 3" ]<br />
set PING [ regexp -inline -all {[\.!]{3}} $PING ]<br />
if { [ string first "!" $PING ] == -1 } {<br />
puts "[format "%-40s %s" "ping $IP" "\[FAILED\]" ]"<br />
} else {<br />
puts "[format "%-40s %s" "ping $IP" "\[ OK \]" ]"<br />
}<br />
}<br />
foreach address {<br />
155.1.146.1<br />
155.1.146.4<br />
155.1.146.6<br />
155.1.67.6<br />
155.1.67.7<br />
155.1.79.7<br />
155.1.79.9<br />
155.1.9.9<br />
155.1.37.7<br />
155.1.37.3<br />
155.1.13.1<br />
155.1.13.3<br />
155.1.23.3<br />
155.1.23.2<br />
155.1.10.10<br />
155.1.108.10<br />
155.1.108.8<br />
155.1.8.8<br />
155.1.58.8<br />
155.1.58.5<br />
155.1.5.5<br />
155.1.45.5<br />
155.45.1.4<br />
155.1.0.1<br />
155.1.0.2<br />
155.1.0.3<br />
155.1.0.4<br />
155.1.0.5<br />
} { ping $address}</code></p>
<p><strong>And here are my results.</strong></p>
<p>ping 155.1.146.1                         [ OK ]<br />
ping 155.1.146.4                         [FAILED]<br />
ping 155.1.146.6                         [ OK ]<br />
ping 155.1.67.6                          [ OK ]<br />
ping 155.1.67.7                          [ OK ]<br />
ping 155.1.79.7                          [ OK ]<br />
ping 155.1.79.9                          [FAILED]<br />
ping 155.1.9.9                           [FAILED]<br />
ping 155.1.37.7                          [ OK ]<br />
ping 155.1.37.3                          [ OK ]<br />
ping 155.1.13.1                          [ OK ]<br />
ping 155.1.13.3                          [ OK ]<br />
ping 155.1.23.3                          [ OK ]<br />
ping 155.1.23.2                          [ OK ]<br />
ping 155.1.10.10                         [FAILED]<br />
ping 155.1.108.10                        [FAILED]<br />
ping 155.1.108.8                         [ OK ]<br />
ping 155.1.8.8                           [ OK ]<br />
ping 155.1.58.8                          [ OK ]<br />
ping 155.1.58.5                          [ OK ]<br />
ping 155.1.5.5                           [ OK ]<br />
ping 155.1.45.5                          [ OK ]<br />
ping 155.45.1.4                          [FAILED]<br />
ping 155.1.0.1                           [ OK ]<br />
ping 155.1.0.2                           [ OK ]<br />
ping 155.1.0.3                           [ OK ]<br />
ping 155.1.0.4                           [ OK ]<br />
ping 155.1.0.5                           [ OK ]</p>
]]></content:encoded>
			<wfw:commentRss>http://ensgrp.com/blog/tclsh/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>IP sla history</title>
		<link>http://ensgrp.com/blog/ip-sla-history/</link>
		<comments>http://ensgrp.com/blog/ip-sla-history/#comments</comments>
		<pubDate>Sun, 11 Sep 2011 19:13:26 +0000</pubDate>
		<dc:creator>breakintheweb</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://ensgrp.com/blog/?p=40</guid>
		<description><![CDATA[I ran in to an issue where connectivity would drop randomly for around 1 minute. Sometimes this would happen multiple times a day. Other days would have no issues. To help facilitate troubleshooting of the issue, i created an ip sla session to span the path that tracks the last 25 failures. ip sla 1 [...]]]></description>
			<content:encoded><![CDATA[<p>I ran in to an issue where connectivity would drop randomly for around 1 minute. Sometimes this would happen multiple times a day. Other days would have no issues. To help facilitate troubleshooting of the issue, i created an ip sla session to span the path that tracks the last 25 failures.</p>
<p><code>ip sla 1<br />
icmp-echo 10.1.1.1 source-ip 10.1.1.2<br />
threshold 500<br />
frequency 10<br />
history filter failures<br />
history buckets-kept 25<br />
history lives-kept 1<br />
ip sla schedule 1 life forever start-time now</code></p>
]]></content:encoded>
			<wfw:commentRss>http://ensgrp.com/blog/ip-sla-history/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CCIE studies</title>
		<link>http://ensgrp.com/blog/ccie-studies/</link>
		<comments>http://ensgrp.com/blog/ccie-studies/#comments</comments>
		<pubDate>Sun, 11 Sep 2011 19:12:42 +0000</pubDate>
		<dc:creator>breakintheweb</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://ensgrp.com/blog/?p=37</guid>
		<description><![CDATA[I&#8217;ve been working on my CCIE for a few months. I utilize a Cisco 2511 to connect to my lab remotely. I&#8217;ve found the following to be useful when going through mockup labs. Exit a command (ping, traceroute, etc) press &#8220;ctrl+shift+6&#8243; twice consecutively Remove all routing configuration (config)# no ip routing (config)# ip routing Erase [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been working on my CCIE for a few months. I utilize a Cisco 2511 to connect to my lab remotely. I&#8217;ve found the following to be useful when going through mockup labs.</p>
<p><strong>Exit a command (ping, traceroute, etc)</strong><br />
press &#8220;ctrl+shift+6&#8243; twice consecutively</p>
<p><strong>Remove all routing configuration<br />
</strong>(config)# no ip routing<strong><br />
</strong>(config)# ip routing</p>
<p><strong>Erase and reload all routers<br />
</strong>You must have an active session from the 2511 (use # &#8220;show session&#8221; to verify )</p>
<p>send *<br />
{enter}<br />
wr erase<br />
no<br />
reload<br />
{enter}</p>
<p><strong>I&#8217;ll add more things as i think of them.<br />
</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://ensgrp.com/blog/ccie-studies/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

