<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-2418082835537995017</id><updated>2012-02-01T12:32:36.641-08:00</updated><category term='telnet prohibited'/><category term='aggregate-address'/><category term='QOS - FRTS fair queue'/><category term='rmon'/><category term='ping'/><category term='ip pim rp-candidate'/><category term='Multicast rate limiting'/><category term='spanning-tree'/><category term='vtp pruning'/><category term='glbp'/><category term='BGP preferred path'/><category term='ip pim multicast boundary'/><category term='ip tcp syn-timeout'/><category term='radius-server'/><category term='director response protocol'/><category term='srr-queue bandwith shape'/><category term='QOS - FRTS'/><category term='ip pim bsr-candidate'/><category term='ACLs and locally generated traffic'/><category term='switchport mode dot1q-tunnel'/><category term='mls qos srr-queue dscp-map'/><category term='ip igmp query-max-response-time'/><category term='mls qos queue-set output'/><category term='ip igmp last-member-query-interval'/><category term='QOS - hardware queue'/><category term='PGM'/><category term='uplinkfast'/><category term='dot1x'/><category term='pbr'/><category term='QOS - FRTS adapative shaping'/><category term='PIM RP Load Balancing and Redundancy'/><category term='ppp chap'/><category term='QOS - CAR'/><category term='area range'/><category term='SNMP version 3'/><category term='default-information originate route-map'/><category term='unsuppress-map'/><category term='BGP no-prepend and local-as'/><category term='Regular Expression Special Characters'/><category term='ip alias'/><category term='ip pim rp-announce-filter'/><category term='cbac'/><category term='QOS - MQC Policer'/><category term='multicast shared tree'/><category term='bpduguard'/><category term='Controlling access to RP'/><category term='vrrp preempt delay'/><category term='bgp orf'/><category term='Frame Relay Bridging'/><category term='Rate Limiting vs Policing'/><category term='load-interval'/><category term='forward-time'/><category term='discard-route'/><category term='backup interface'/><category term='QOS - FRTS PVC Priority Queue'/><category term='ip igmp query-interval'/><category term='QOS - FRTS custom queue'/><category term='frame-relay traffic shaping'/><category term='QOS - GTS'/><category term='OSPF Authentication'/><category term='rip versions'/><category term='bgp'/><category term='traffic filtering without an acl'/><category term='switchport voice vlan dot1p'/><category term='MPLS - BGP L3 VPN'/><category term='bgp dampening'/><category term='ntp broadcast'/><category term='frame-relay broadcast-queue'/><category term='random-detect prec-based'/><category term='irb'/><category term='BSR Load balancing'/><category term='ospf'/><category term='reliable static routing'/><category term='PIM/IGMP Elections'/><category term='switchport port-security'/><category term='ip igmp querier-timeout'/><category term='spanning-tree guard loop'/><category term='reflexive acl'/><category term='ip igmp static-group'/><category term='drp'/><category term='designated port'/><category term='OSPF load balancing'/><category term='3550 and 3560 Macros'/><category term='mrm'/><category term='Cisco IOS privilege levels'/><category term='ip pim spt-threshold'/><category term='ip pim dr-priority'/><category term='max-age'/><category term='cisco menu command'/><category term='dhcp snooping'/><category term='bpdufilter'/><category term='hsrp tracking'/><category term='ip multicast ttl-threshold'/><category term='lacp'/><category term='BGP snippets'/><category term='Lock and Key ACL'/><category term='ip igmp last-member-query-count'/><category term='multicast-routing'/><category term='SSM - Source Specific Multicast'/><category term='banner tokens'/><category term='srr-queue bandwidth limit'/><category term='telnet access via the rotary command'/><category term='PIM - Source Specific Multicast'/><category term='root port'/><category term='policy based routing'/><category term='OSPF  RFC1583 vs RFC2328'/><category term='bridge group'/><category term='bgp community'/><category term='ospf filter-list'/><category term='ppp pap'/><category term='QOS - MQC shape average vs shape peak'/><category term='PIM Assert'/><category term='PIM - BIDIR'/><category term='ppp reliable-link'/><category term='storm-control'/><category term='portfast'/><category term='NAT Load Balancing'/><category term='md5'/><category term='srr-queue bandwidth share'/><category term='msdp'/><category term='ip multicast rate-limit'/><title type='text'>router ric</title><subtitle type='html'>Learnings on my way to CCIE</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://routerric.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://routerric.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default?start-index=101&amp;max-results=100'/><author><name>richsd1</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/--YOija8WuTM/TsAonUOe5wI/AAAAAAAAAPg/hT87gnDHaJg/s220/DSCN0197.JPG'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>157</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-2418082835537995017.post-3844125451793181291</id><published>2012-02-01T12:32:00.000-08:00</published><updated>2012-02-01T12:32:36.661-08:00</updated><title type='text'>Optimised Edge Routing / Performance Routing</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-7etxcGpzKHU/TymgS8RhE4I/AAAAAAAAAQM/MMpQkanGi8Y/s1600/OER.jpeg.jpeg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="317" src="http://2.bp.blogspot.com/-7etxcGpzKHU/TymgS8RhE4I/AAAAAAAAAQM/MMpQkanGi8Y/s320/OER.jpeg.jpeg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;Here is a simple OER/PFR configuration example. R1 is the master controller with R4 and R5 the border routers.&amp;nbsp; &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNoSpacing" style="margin: 0cm 0cm 0pt;"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;strong&gt;Border router 1&lt;o:p&gt;&lt;/o:p&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNoSpacing" style="margin: 0cm 0cm 0pt;"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&lt;/span&gt;key chain OER&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNoSpacing" style="margin: 0cm 0cm 0pt;"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&lt;/span&gt;key 1&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNoSpacing" style="margin: 0cm 0cm 0pt;"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;key-string CISCO&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNoSpacing" style="margin: 0cm 0cm 0pt;"&gt;&lt;span style="font-family: Calibri;"&gt;oer border&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&lt;/span&gt;local Loopback0&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&lt;/span&gt;master 1.1.1.1key-chain OER&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNoSpacing" style="margin: 0cm 0cm 0pt;"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;strong&gt;Border router 2&lt;o:p&gt;&lt;/o:p&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNoSpacing" style="margin: 0cm 0cm 0pt;"&gt;&lt;o:p&gt;&lt;span style="font-family: Calibri;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/o:p&gt;&lt;span style="font-family: Calibri;"&gt;key chain OER&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNoSpacing" style="margin: 0cm 0cm 0pt;"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&lt;/span&gt;key 1&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNoSpacing" style="margin: 0cm 0cm 0pt;"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;key-string CISCO&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNoSpacing" style="margin: 0cm 0cm 0pt;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNoSpacing" style="margin: 0cm 0cm 0pt;"&gt;&lt;span style="font-family: Calibri;"&gt;oer border&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="font-family: Calibri;"&gt;local Loopback0&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Calibri;"&gt;master 1.1.1.1key-chain OER&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNoSpacing" style="margin: 0cm 0cm 0pt;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;span style="font-family: Calibri;"&gt;&lt;strong&gt;Master router&lt;/strong&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNoSpacing" style="margin: 0cm 0cm 0pt;"&gt;&lt;o:p&gt;&lt;span style="font-family: Calibri;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/o:p&gt;&lt;span style="font-family: Calibri;"&gt;oer master&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNoSpacing" style="margin: 0cm 0cm 0pt;"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Calibri;"&gt;border 4.4.4.4key-chain OER&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;interfaceFastEthernet0/1 external&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;interfaceFastEthernet0/0 internal&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNoSpacing" style="margin: 0cm 0cm 0pt;"&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Calibri;"&gt;border 5.5.5.5key-chain OER&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;interfaceFastEthernet0/1 external&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="font-family: Times New Roman;"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;interfaceFastEthernet0/0 internal&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNoSpacing" style="margin: 0cm 0cm 0pt;"&gt;&lt;o:p&gt;&lt;span style="font-family: Calibri;"&gt;&lt;strong&gt;&amp;nbsp;&lt;/strong&gt;&lt;/span&gt;&lt;/o:p&gt;&lt;span style="font-family: Calibri;"&gt;&lt;strong&gt;Verification Commands&lt;/strong&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNoSpacing" style="margin: 0cm 0cm 0pt;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;span style="font-family: Calibri;"&gt;R1#s oer master border&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Calibri;"&gt;Border&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;Status&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;UP/DOWN&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;AuthFail&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;Version&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Calibri;"&gt;5.5.5.5&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;ACTIVE&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;UP&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;00:13:00&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;0&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&lt;/span&gt;2.1&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Calibri;"&gt;4.4.4.4&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;ACTIVE&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;UP&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;00:13:32&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;0&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&lt;/span&gt;2.1&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNoSpacing" style="margin: 0cm 0cm 0pt;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;span style="font-family: Calibri;"&gt;R1#show oer border&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Calibri;"&gt;OER BR 5.5.5.5 ACTIVE, MC 1.1.1.1 UP/DOWN: UP 00:22:18,&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;Auth Failures: 0&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Calibri;"&gt;&amp;nbsp; Conn Status:SUCCESS, PORT: 3949&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Calibri;"&gt;&lt;span style="font-family: Times New Roman;"&gt;&amp;nbsp; &lt;/span&gt;Version: 2.1&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;MC Version: 2.1&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Calibri;"&gt;&amp;nbsp; Fa0/0&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;INTERNAL&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Calibri;"&gt;&amp;nbsp; Fa0/1&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;EXTERNAL&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2418082835537995017-3844125451793181291?l=routerric.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://routerric.blogspot.com/feeds/3844125451793181291/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2418082835537995017&amp;postID=3844125451793181291' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/3844125451793181291'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/3844125451793181291'/><link rel='alternate' type='text/html' href='http://routerric.blogspot.com/2012/02/optimised-edge-routing-performance.html' title='Optimised Edge Routing / Performance Routing'/><author><name>richsd1</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/--YOija8WuTM/TsAonUOe5wI/AAAAAAAAAPg/hT87gnDHaJg/s220/DSCN0197.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-7etxcGpzKHU/TymgS8RhE4I/AAAAAAAAAQM/MMpQkanGi8Y/s72-c/OER.jpeg.jpeg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2418082835537995017.post-8577187612116075457</id><published>2011-10-02T12:38:00.000-07:00</published><updated>2011-10-02T12:40:52.453-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='bgp community'/><title type='text'>Deleting BGP Communities</title><content type='html'>BGP communities are passed between bgp peers when the 'send community' attribute is set with the neighbor. However what if there is a requirement to delete one of the communities from a list associated with a route!?&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-mK13n_PLm5g/Toi50TRl5XI/AAAAAAAAAPQ/HOb_K_UQvDQ/s1600/untitled.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/-mK13n_PLm5g/Toi50TRl5XI/AAAAAAAAAPQ/HOb_K_UQvDQ/s1600/untitled.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Consider the topology below. The route 1.1.1.0/24 is advertised by R1 to R2 and the route has community attributes 'no-advertise' and 'internet'.&amp;nbsp;&amp;nbsp;&amp;nbsp; R2 has an iBGP peering with R3 and the send-community attribute is set.&amp;nbsp;&amp;nbsp; Initially by default R3 does not receive the route as a direct result of the no-advertise community.&amp;nbsp; The requirement is for R3 to have the BGP route 1.1.1.0/24 with only the internet attribute.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-fNpxYNcHXpo/Toi76o708vI/AAAAAAAAAPU/tAvY8WIjWig/s1600/Drawing1.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="102" src="http://2.bp.blogspot.com/-fNpxYNcHXpo/Toi76o708vI/AAAAAAAAAPU/tAvY8WIjWig/s400/Drawing1.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The solution relies on the 'set comm-list' command. This enables communities matched by the community-list to be removed.&amp;nbsp; Below i attach the working config from R2.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;R2&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;ip community-list standard RIC permit no-advertise&lt;br /&gt;&lt;br /&gt;route-map RIC permit 10&lt;br /&gt;&amp;nbsp;set comm-list RIC delete&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt; router bgp 1&lt;br /&gt;&amp;nbsp;neighbor 192.168.12.1 remote-as 2&lt;br /&gt;&amp;nbsp;neighbor 192.168.12.1 route-map RIC in&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2418082835537995017-8577187612116075457?l=routerric.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://routerric.blogspot.com/feeds/8577187612116075457/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2418082835537995017&amp;postID=8577187612116075457' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/8577187612116075457'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/8577187612116075457'/><link rel='alternate' type='text/html' href='http://routerric.blogspot.com/2011/10/deleting-bgp-communities.html' title='Deleting BGP Communities'/><author><name>richsd1</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/--YOija8WuTM/TsAonUOe5wI/AAAAAAAAAPg/hT87gnDHaJg/s220/DSCN0197.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-mK13n_PLm5g/Toi50TRl5XI/AAAAAAAAAPQ/HOb_K_UQvDQ/s72-c/untitled.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2418082835537995017.post-5114699164334176867</id><published>2011-09-27T13:23:00.000-07:00</published><updated>2011-09-27T13:26:22.504-07:00</updated><title type='text'>OSPF Distance command</title><content type='html'>The&amp;nbsp;OSPF distance command can be used in a number of different ways.&amp;nbsp;&amp;nbsp;&amp;nbsp;I found the first one is well documented on the doc cd&amp;nbsp;in the ospf routing section. However&amp;nbsp; the next three are&amp;nbsp;strangely absent&amp;nbsp;therein.&amp;nbsp; There is some info under the general distance command but&amp;nbsp;this does not&amp;nbsp;detail&amp;nbsp;its use in OSPF. &lt;br /&gt;&lt;br /&gt;I) distance ospf {external/inter-area/intra-area} AD&lt;br /&gt;&lt;div style="height: 8pt; min-height: 8pt; padding: 0px;"&gt;&lt;/div&gt;II)&amp;nbsp;distance&amp;nbsp;AD - this sets the distance for all routes &lt;br /&gt;&lt;br /&gt;III)&amp;nbsp;distance&amp;nbsp;AD {ip-address wild-card-mask} - this sets the distance for all routes learned from a specific source-router. The source router is the RID of the link-state router that origininated the route!!! &lt;br /&gt;&lt;br /&gt;IV) distance&amp;nbsp;AD&amp;nbsp;(ip-address wild-card0mask}&amp;nbsp;ACL&amp;nbsp; identical to the previous command but it is applied to only a subset of routes that match the ACL.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="height: 8pt; min-height: 8pt; padding: 0px;"&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2418082835537995017-5114699164334176867?l=routerric.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://routerric.blogspot.com/feeds/5114699164334176867/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2418082835537995017&amp;postID=5114699164334176867' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/5114699164334176867'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/5114699164334176867'/><link rel='alternate' type='text/html' href='http://routerric.blogspot.com/2011/09/ospf-distance-command.html' title='OSPF Distance command'/><author><name>richsd1</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/--YOija8WuTM/TsAonUOe5wI/AAAAAAAAAPg/hT87gnDHaJg/s220/DSCN0197.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2418082835537995017.post-2850678205905513418</id><published>2011-09-08T22:51:00.000-07:00</published><updated>2011-09-12T05:23:49.026-07:00</updated><title type='text'>IPV6 Multicast</title><content type='html'>&lt;a href="http://4.bp.blogspot.com/-0EAtWWyISB8/Tmmn0uKZUjI/AAAAAAAAAPM/SOiqhPA8M84/s1600/Capture4.PNG" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;br /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-fX-WSqh4HV4/TmmkXWeTXII/AAAAAAAAAPA/SrsdDieSbU4/s1600/imagesCANTDN5T.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320px" src="http://4.bp.blogspot.com/-fX-WSqh4HV4/TmmkXWeTXII/AAAAAAAAAPA/SrsdDieSbU4/s320/imagesCANTDN5T.jpg" width="320px" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;IPv6 multicast rears its head on V4 of the CCIE blueprint.&amp;nbsp; If you know the basics of IPv4 multicast then the basics of IPv6 multicast should be pretty straightforward.&amp;nbsp;&amp;nbsp; In fact with IPv6 its not even&amp;nbsp; necessary to define interfaces as multicast capable! Once ipv6 multicast routing is enabled on the router the interfaces become multicast enabled as well.&lt;br /&gt;&lt;br /&gt;Here is a config example between just 2 routers connected via an ethernet interface: R1---R2. The basic steps are&lt;br /&gt;i) enable ipv6 multicast routing&lt;br /&gt;ii) define the rp&lt;br /&gt;iii) join an interface with a multicast group &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="MsoNoSpacing"&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;&lt;span style="font-size: 14pt;"&gt;R1&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class="MsoNoSpacing"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNoSpacing"&gt;Ipv6 multicast-routing&lt;/div&gt;&lt;div class="MsoNoSpacing"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNoSpacing"&gt;ipv6 pim rp-address 2002::2&lt;/div&gt;&lt;div class="MsoNoSpacing"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNoSpacing"&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;&lt;span style="font-size: 14pt;"&gt;R2&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class="MsoNoSpacing"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNoSpacing"&gt;Ipv6 multicast-routing&lt;/div&gt;&lt;div class="MsoNoSpacing"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNoSpacing"&gt;Int lo0&lt;/div&gt;&lt;div class="MsoNoSpacing"&gt;&amp;nbsp;&amp;nbsp; ipv6 mld join-group FF04::2&lt;/div&gt;&lt;div class="MsoNoSpacing"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNoSpacing"&gt;ipv6 pim rp-address 2002::2&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;With the above configuration an IPV6 PIM neighbourship forms between R1 and R2&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-_-Lf65g4A6s/Tmmm6iIrnbI/AAAAAAAAAPE/Pplkgc7HblM/s1600/Capture1.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="131px" src="http://3.bp.blogspot.com/-_-Lf65g4A6s/Tmmm6iIrnbI/AAAAAAAAAPE/Pplkgc7HblM/s640/Capture1.PNG" width="640px" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;The show ipv6 pim group-map command can be used to see a that a multicast address is associated with the RP.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-s0tlzKK1gz4/TmmnpgF621I/AAAAAAAAAPI/DYuVwSilMcQ/s1600/Capture3.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="124px" src="http://1.bp.blogspot.com/-s0tlzKK1gz4/TmmnpgF621I/AAAAAAAAAPI/DYuVwSilMcQ/s640/Capture3.PNG" width="640px" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-0EAtWWyISB8/Tmmn0uKZUjI/AAAAAAAAAPM/SOiqhPA8M84/s1600/Capture4.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;br /&gt;&lt;/a&gt;&lt;/div&gt;Finally i test the multicast group with a ping&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-0EAtWWyISB8/Tmmn0uKZUjI/AAAAAAAAAPM/SOiqhPA8M84/s1600/Capture4.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="196px" src="http://4.bp.blogspot.com/-0EAtWWyISB8/Tmmn0uKZUjI/AAAAAAAAAPM/SOiqhPA8M84/s640/Capture4.PNG" width="640px" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2418082835537995017-2850678205905513418?l=routerric.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://routerric.blogspot.com/feeds/2850678205905513418/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2418082835537995017&amp;postID=2850678205905513418' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/2850678205905513418'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/2850678205905513418'/><link rel='alternate' type='text/html' href='http://routerric.blogspot.com/2011/09/ipv6-multicast.html' title='IPV6 Multicast'/><author><name>richsd1</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/--YOija8WuTM/TsAonUOe5wI/AAAAAAAAAPg/hT87gnDHaJg/s220/DSCN0197.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-fX-WSqh4HV4/TmmkXWeTXII/AAAAAAAAAPA/SrsdDieSbU4/s72-c/imagesCANTDN5T.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2418082835537995017.post-1034271985271317774</id><published>2011-09-04T11:10:00.000-07:00</published><updated>2011-09-04T11:15:00.453-07:00</updated><title type='text'>BGP adjacency problem</title><content type='html'>In this post i detail a recent problem encountered with a flapping BGP adjacency and a number of ways to resolve.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-FSlRZLvRgHE/TmO0s6zC9sI/AAAAAAAAAOo/KWeJ5nxtNYM/s1600/capture1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="160" src="http://3.bp.blogspot.com/-FSlRZLvRgHE/TmO0s6zC9sI/AAAAAAAAAOo/KWeJ5nxtNYM/s320/capture1.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-jDeE-0VSIzw/TmOzq6m3fzI/AAAAAAAAAOg/vf5HJBcCGak/s1600/capture1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;br /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;R1 has a BGP adjacency with R2. However this is continually flapping (see below). &lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-0eclgz9_Wx0/TmO4bbyEBYI/AAAAAAAAAO0/yOhykNWfi0E/s1600/Capture1.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="139" src="http://1.bp.blogspot.com/-0eclgz9_Wx0/TmO4bbyEBYI/AAAAAAAAAO0/yOhykNWfi0E/s640/Capture1.PNG" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;br /&gt;The routers are peering using Loopback 0s that are reachable via OSPF. &amp;nbsp; &amp;nbsp; The issue arises because as the BGP peering comes up the Loopback prefixes are advertised over the BGP adjacency.&amp;nbsp; OSPF AD is 110 whereas the eBGP route AD is 20. Hence the Loopback routes becomes preferred over the BGP adjacency. This is a type of recursive loop and not allowed (Just as learning the destination of the tunnel over the tunnel itself). &amp;nbsp; &amp;nbsp; The adjacency is dropped and the whole process starts again.&lt;br /&gt;&lt;br /&gt;I have detailed three solutions to the problem here&lt;br /&gt;&lt;br /&gt;1) Block the Loopback prefixes from being received&lt;br /&gt;&lt;br /&gt;On R2&lt;br /&gt;&lt;br /&gt;ip prefix-list ric seq 5 deny 1.1.1.1/32&lt;br /&gt;ip prefix-list ric seq 10 permit 0.0.0.0/0 le 32&lt;br /&gt;&lt;br /&gt;router bgp 2&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; neighbor 1.1.1.1 prefix-list ric in&lt;br /&gt;&lt;br /&gt;2) Modify the distance of OSPF to be preferred over an eBGP route&lt;br /&gt;&lt;br /&gt;router ospf 1&lt;br /&gt;distance&amp;nbsp; ospf intra-area 19&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-c_2sx4YYtuE/TmO6SfTSveI/AAAAAAAAAO4/iMuaG7UZUKg/s1600/Capture2.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="128" src="http://2.bp.blogspot.com/-c_2sx4YYtuE/TmO6SfTSveI/AAAAAAAAAO4/iMuaG7UZUKg/s640/Capture2.PNG" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;3) Make use of the BGP backdoor command to raise the AD of the BGP route to 200.&lt;br /&gt;&lt;br /&gt;router bgp 1&lt;br /&gt;net 2.2.2.2 mask 255.255.255.255 backdoor&lt;br /&gt;&lt;br /&gt;Once the command is used the route to 2.2.2.2 shows up in the BGP table as a RIB failure.&amp;nbsp; Use of the show ip bgp rib command completes the verification.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-1LchvucJSMc/TmO_A4cc-bI/AAAAAAAAAO8/CApY8zSEVAs/s1600/Capture2.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="60" src="http://1.bp.blogspot.com/-1LchvucJSMc/TmO_A4cc-bI/AAAAAAAAAO8/CApY8zSEVAs/s640/Capture2.PNG" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2418082835537995017-1034271985271317774?l=routerric.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://routerric.blogspot.com/feeds/1034271985271317774/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2418082835537995017&amp;postID=1034271985271317774' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/1034271985271317774'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/1034271985271317774'/><link rel='alternate' type='text/html' href='http://routerric.blogspot.com/2011/09/bgp-adjacency-problem.html' title='BGP adjacency problem'/><author><name>richsd1</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/--YOija8WuTM/TsAonUOe5wI/AAAAAAAAAPg/hT87gnDHaJg/s220/DSCN0197.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-FSlRZLvRgHE/TmO0s6zC9sI/AAAAAAAAAOo/KWeJ5nxtNYM/s72-c/capture1.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2418082835537995017.post-8256017571633059467</id><published>2011-08-29T23:17:00.000-07:00</published><updated>2011-08-29T23:31:16.608-07:00</updated><title type='text'>PPPOE</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/-MynM7rfDRLU/TlyDIi6FP-I/AAAAAAAAAOc/UeYqL5xp95E/s1600/pppoe1.PNG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 63px;" src="http://2.bp.blogspot.com/-MynM7rfDRLU/TlyDIi6FP-I/AAAAAAAAAOc/UeYqL5xp95E/s320/pppoe1.PNG" alt="" id="BLOGGER_PHOTO_ID_5646532215648370658" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Point To Point Protocol Over Ethernet.  Enables use of PPP over an ethernet connection. Here i lay out a working solution between client and server.&lt;br /&gt;&lt;br /&gt;The many configuration options are under the 'Cisco IOS Broadband Access Aggregation and DSL Configuration Guide' under the Configuration Guide section of the Cisco Doc.&lt;br /&gt;http://www.cisco.com/en/US/products/ps6441/products_installation_and_configuration_guides_list.html&lt;br /&gt;&lt;br /&gt;In this example i have R2 and R3 connected via an ethernet connection. R2 is the client and R3 is the server.&lt;br /&gt;&lt;br /&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;o:officedocumentsettings&gt;   &lt;o:relyonvml/&gt;   &lt;o:allowpng/&gt;  &lt;/o:OfficeDocumentSettings&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:worddocument&gt;   &lt;w:view&gt;Normal&lt;/w:View&gt;   &lt;w:zoom&gt;0&lt;/w:Zoom&gt;   &lt;w:trackmoves/&gt;   &lt;w:trackformatting/&gt;   &lt;w:punctuationkerning/&gt;   &lt;w:validateagainstschemas/&gt;   &lt;w:saveifxmlinvalid&gt;false&lt;/w:SaveIfXMLInvalid&gt;   &lt;w:ignoremixedcontent&gt;false&lt;/w:IgnoreMixedContent&gt;   &lt;w:alwaysshowplaceholdertext&gt;false&lt;/w:AlwaysShowPlaceholderText&gt;   &lt;w:donotpromoteqf/&gt;   &lt;w:lidthemeother&gt;EN-GB&lt;/w:LidThemeOther&gt;   &lt;w:lidthemeasian&gt;X-NONE&lt;/w:LidThemeAsian&gt;   &lt;w:lidthemecomplexscript&gt;X-NONE&lt;/w:LidThemeComplexScript&gt;   &lt;w:compatibility&gt;    &lt;w:breakwrappedtables/&gt;    &lt;w:snaptogridincell/&gt;    &lt;w:wraptextwithpunct/&gt;    &lt;w:useasianbreakrules/&gt;    &lt;w:dontgrowautofit/&gt;    &lt;w:splitpgbreakandparamark/&gt;    &lt;w:enableopentypekerning/&gt;    &lt;w:dontflipmirrorindents/&gt;    &lt;w:overridetablestylehps/&gt;   &lt;/w:Compatibility&gt;   &lt;m:mathpr&gt;    &lt;m:mathfont val="Cambria Math"&gt;    &lt;m:brkbin val="before"&gt;    &lt;m:brkbinsub val="&amp;#45;-"&gt;    &lt;m:smallfrac val="off"&gt;    &lt;m:dispdef/&gt;    &lt;m:lmargin val="0"&gt;    &lt;m:rmargin val="0"&gt;    &lt;m:defjc val="centerGroup"&gt;    &lt;m:wrapindent val="1440"&gt;    &lt;m:intlim val="subSup"&gt;    &lt;m:narylim val="undOvr"&gt;   &lt;/m:mathPr&gt;&lt;/w:WordDocument&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:latentstyles deflockedstate="false" defunhidewhenused="true" defsemihidden="true" defqformat="false" defpriority="99" latentstylecount="267"&gt;   &lt;w:lsdexception locked="false" priority="0" semihidden="false" unhidewhenused="false" qformat="true" name="Normal"&gt;   &lt;w:lsdexception locked="false" priority="9" semihidden="false" unhidewhenused="false" qformat="true" name="heading 1"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 2"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 3"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 4"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 5"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 6"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 7"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 8"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 9"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 1"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 2"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 3"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 4"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 5"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 6"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 7"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 8"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 9"&gt;   &lt;w:lsdexception locked="false" priority="35" qformat="true" name="caption"&gt;   &lt;w:lsdexception locked="false" priority="10" semihidden="false" unhidewhenused="false" qformat="true" name="Title"&gt;   &lt;w:lsdexception locked="false" priority="1" name="Default Paragraph Font"&gt;   &lt;w:lsdexception locked="false" priority="11" semihidden="false" unhidewhenused="false" qformat="true" name="Subtitle"&gt;   &lt;w:lsdexception locked="false" priority="22" semihidden="false" unhidewhenused="false" qformat="true" name="Strong"&gt;   &lt;w:lsdexception locked="false" priority="20" semihidden="false" unhidewhenused="false" qformat="true" name="Emphasis"&gt;   &lt;w:lsdexception locked="false" priority="59" semihidden="false" unhidewhenused="false" name="Table Grid"&gt;   &lt;w:lsdexception locked="false" unhidewhenused="false" name="Placeholder Text"&gt;   &lt;w:lsdexception locked="false" priority="1" semihidden="false" unhidewhenused="false" qformat="true" name="No Spacing"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" unhidewhenused="false" name="Revision"&gt;   &lt;w:lsdexception locked="false" priority="34" semihidden="false" unhidewhenused="false" qformat="true" name="List Paragraph"&gt;   &lt;w:lsdexception locked="false" priority="29" semihidden="false" unhidewhenused="false" qformat="true" name="Quote"&gt;   &lt;w:lsdexception locked="false" priority="30" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Quote"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="19" semihidden="false" unhidewhenused="false" qformat="true" name="Subtle Emphasis"&gt;   &lt;w:lsdexception locked="false" priority="21" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Emphasis"&gt;   &lt;w:lsdexception locked="false" priority="31" semihidden="false" unhidewhenused="false" qformat="true" name="Subtle Reference"&gt;   &lt;w:lsdexception locked="false" priority="32" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Reference"&gt;   &lt;w:lsdexception locked="false" priority="33" semihidden="false" unhidewhenused="false" qformat="true" name="Book Title"&gt;   &lt;w:lsdexception locked="false" priority="37" name="Bibliography"&gt;   &lt;w:lsdexception locked="false" priority="39" qformat="true" name="TOC Heading"&gt;  &lt;/w:LatentStyles&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 10]&gt; &lt;style&gt;  /* Style Definitions */  table.MsoNormalTable 	{mso-style-name:"Table Normal"; 	mso-tstyle-rowband-size:0; 	mso-tstyle-colband-size:0; 	mso-style-noshow:yes; 	mso-style-priority:99; 	mso-style-parent:""; 	mso-padding-alt:0cm 5.4pt 0cm 5.4pt; 	mso-para-margin-top:0cm; 	mso-para-margin-right:0cm; 	mso-para-margin-bottom:10.0pt; 	mso-para-margin-left:0cm; 	line-height:115%; 	mso-pagination:widow-orphan; 	font-size:11.0pt; 	font-family:"Calibri","sans-serif"; 	mso-ascii-font-family:Calibri; 	mso-ascii-theme-font:minor-latin; 	mso-hansi-font-family:Calibri; 	mso-hansi-theme-font:minor-latin; 	mso-bidi-font-family:"Times New Roman"; 	mso-bidi-theme-font:minor-bidi; 	mso-fareast-language:EN-US;} &lt;/style&gt; &lt;![endif]--&gt;  &lt;p style="font-weight: bold;" class="MsoNoSpacing"&gt;R2&lt;/p&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;o:officedocumentsettings&gt;   &lt;o:relyonvml/&gt;   &lt;o:allowpng/&gt;  &lt;/o:OfficeDocumentSettings&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:worddocument&gt;   &lt;w:view&gt;Normal&lt;/w:View&gt;   &lt;w:zoom&gt;0&lt;/w:Zoom&gt;   &lt;w:trackmoves/&gt;   &lt;w:trackformatting/&gt;   &lt;w:punctuationkerning/&gt;   &lt;w:validateagainstschemas/&gt;   &lt;w:saveifxmlinvalid&gt;false&lt;/w:SaveIfXMLInvalid&gt;   &lt;w:ignoremixedcontent&gt;false&lt;/w:IgnoreMixedContent&gt;   &lt;w:alwaysshowplaceholdertext&gt;false&lt;/w:AlwaysShowPlaceholderText&gt;   &lt;w:donotpromoteqf/&gt;   &lt;w:lidthemeother&gt;EN-GB&lt;/w:LidThemeOther&gt;   &lt;w:lidthemeasian&gt;X-NONE&lt;/w:LidThemeAsian&gt;   &lt;w:lidthemecomplexscript&gt;X-NONE&lt;/w:LidThemeComplexScript&gt;   &lt;w:compatibility&gt;    &lt;w:breakwrappedtables/&gt;    &lt;w:snaptogridincell/&gt;    &lt;w:wraptextwithpunct/&gt;    &lt;w:useasianbreakrules/&gt;    &lt;w:dontgrowautofit/&gt;    &lt;w:splitpgbreakandparamark/&gt;    &lt;w:enableopentypekerning/&gt;    &lt;w:dontflipmirrorindents/&gt;    &lt;w:overridetablestylehps/&gt;   &lt;/w:Compatibility&gt;   &lt;m:mathpr&gt;    &lt;m:mathfont val="Cambria Math"&gt;    &lt;m:brkbin val="before"&gt;    &lt;m:brkbinsub val="&amp;#45;-"&gt;    &lt;m:smallfrac val="off"&gt;    &lt;m:dispdef/&gt;    &lt;m:lmargin val="0"&gt;    &lt;m:rmargin val="0"&gt;    &lt;m:defjc val="centerGroup"&gt;    &lt;m:wrapindent val="1440"&gt;    &lt;m:intlim val="subSup"&gt;    &lt;m:narylim val="undOvr"&gt;   &lt;/m:mathPr&gt;&lt;/w:WordDocument&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:latentstyles deflockedstate="false" defunhidewhenused="true" defsemihidden="true" defqformat="false" defpriority="99" latentstylecount="267"&gt;   &lt;w:lsdexception locked="false" priority="0" semihidden="false" unhidewhenused="false" qformat="true" name="Normal"&gt;   &lt;w:lsdexception locked="false" priority="9" semihidden="false" unhidewhenused="false" qformat="true" name="heading 1"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 2"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 3"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 4"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 5"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 6"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 7"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 8"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 9"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 1"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 2"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 3"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 4"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 5"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 6"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 7"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 8"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 9"&gt;   &lt;w:lsdexception locked="false" priority="35" qformat="true" name="caption"&gt;   &lt;w:lsdexception locked="false" priority="10" semihidden="false" unhidewhenused="false" qformat="true" name="Title"&gt;   &lt;w:lsdexception locked="false" priority="1" name="Default Paragraph Font"&gt;   &lt;w:lsdexception locked="false" priority="11" semihidden="false" unhidewhenused="false" qformat="true" name="Subtitle"&gt;   &lt;w:lsdexception locked="false" priority="22" semihidden="false" unhidewhenused="false" qformat="true" name="Strong"&gt;   &lt;w:lsdexception locked="false" priority="20" semihidden="false" unhidewhenused="false" qformat="true" name="Emphasis"&gt;   &lt;w:lsdexception locked="false" priority="59" semihidden="false" unhidewhenused="false" name="Table Grid"&gt;   &lt;w:lsdexception locked="false" unhidewhenused="false" name="Placeholder Text"&gt;   &lt;w:lsdexception locked="false" priority="1" semihidden="false" unhidewhenused="false" qformat="true" name="No Spacing"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" unhidewhenused="false" name="Revision"&gt;   &lt;w:lsdexception locked="false" priority="34" semihidden="false" unhidewhenused="false" qformat="true" name="List Paragraph"&gt;   &lt;w:lsdexception locked="false" priority="29" semihidden="false" unhidewhenused="false" qformat="true" name="Quote"&gt;   &lt;w:lsdexception locked="false" priority="30" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Quote"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="19" semihidden="false" unhidewhenused="false" qformat="true" name="Subtle Emphasis"&gt;   &lt;w:lsdexception locked="false" priority="21" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Emphasis"&gt;   &lt;w:lsdexception locked="false" priority="31" semihidden="false" unhidewhenused="false" qformat="true" name="Subtle Reference"&gt;   &lt;w:lsdexception locked="false" priority="32" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Reference"&gt;   &lt;w:lsdexception locked="false" priority="33" semihidden="false" unhidewhenused="false" qformat="true" name="Book Title"&gt;   &lt;w:lsdexception locked="false" priority="37" name="Bibliography"&gt;   &lt;w:lsdexception locked="false" priority="39" qformat="true" name="TOC Heading"&gt;  &lt;/w:LatentStyles&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 10]&gt; &lt;style&gt;  /* Style Definitions */  table.MsoNormalTable 	{mso-style-name:"Table Normal"; 	mso-tstyle-rowband-size:0; 	mso-tstyle-colband-size:0; 	mso-style-noshow:yes; 	mso-style-priority:99; 	mso-style-parent:""; 	mso-padding-alt:0cm 5.4pt 0cm 5.4pt; 	mso-para-margin-top:0cm; 	mso-para-margin-right:0cm; 	mso-para-margin-bottom:10.0pt; 	mso-para-margin-left:0cm; 	line-height:115%; 	mso-pagination:widow-orphan; 	font-size:11.0pt; 	font-family:"Calibri","sans-serif"; 	mso-ascii-font-family:Calibri; 	mso-ascii-theme-font:minor-latin; 	mso-hansi-font-family:Calibri; 	mso-hansi-theme-font:minor-latin; 	mso-bidi-font-family:"Times New Roman"; 	mso-bidi-theme-font:minor-bidi; 	mso-fareast-language:EN-US;} &lt;/style&gt; &lt;![endif]--&gt;  &lt;p class="MsoNoSpacing"&gt;username R3 password 0 RICH&lt;/p&gt;&lt;p class="MsoNoSpacing"&gt;&lt;br /&gt;&lt;/p&gt;  &lt;p class="MsoNoSpacing"&gt; &lt;/p&gt;  &lt;p class="MsoNoSpacing"&gt;interface Ethernet0/1&lt;/p&gt;  &lt;p class="MsoNoSpacing"&gt;&lt;span style="mso-spacerun:yes"&gt; &lt;/span&gt;ip address 2.2.2.2 255.255.255.248&lt;/p&gt;  &lt;p class="MsoNoSpacing"&gt;&lt;span style="mso-spacerun:yes"&gt; &lt;/span&gt;half-duplex&lt;/p&gt;  &lt;p class="MsoNoSpacing"&gt;&lt;span style="mso-spacerun:yes"&gt; &lt;/span&gt;pppoe enable group global&lt;/p&gt;  &lt;p class="MsoNoSpacing"&gt;&lt;span style="mso-spacerun:yes"&gt; &lt;/span&gt;pppoe-client dial-pool-number 1&lt;/p&gt;&lt;p class="MsoNoSpacing"&gt;&lt;br /&gt;&lt;/p&gt;  &lt;p class="MsoNoSpacing"&gt; &lt;/p&gt;  &lt;p class="MsoNoSpacing"&gt;interface Dialer1&lt;/p&gt;  &lt;p class="MsoNoSpacing"&gt;&lt;span style="mso-spacerun:yes"&gt; &lt;/span&gt;mtu 1492&lt;/p&gt;  &lt;p class="MsoNoSpacing"&gt;&lt;span style="mso-spacerun:yes"&gt; &lt;/span&gt;ip address 10.10.10.2 255.255.255.0&lt;/p&gt;  &lt;p class="MsoNoSpacing"&gt;&lt;span style="mso-spacerun:yes"&gt; &lt;/span&gt;encapsulation ppp&lt;/p&gt;  &lt;p class="MsoNoSpacing"&gt;&lt;span style="mso-spacerun:yes"&gt; &lt;/span&gt;dialer pool 1&lt;/p&gt;  &lt;p class="MsoNoSpacing"&gt;&lt;span style="mso-spacerun:yes"&gt; &lt;/span&gt;dialer idle-timeout 0&lt;/p&gt;  &lt;p class="MsoNoSpacing"&gt;&lt;span style="mso-spacerun:yes"&gt; &lt;/span&gt;dialer persistent&lt;/p&gt;  &lt;p class="MsoNoSpacing"&gt;&lt;span style="mso-spacerun:yes"&gt; &lt;/span&gt;ppp authentication chap&lt;/p&gt;&lt;p class="MsoNoSpacing"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNoSpacing"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNoSpacing"&gt;R3 &lt;/p&gt;&lt;p class="MsoNoSpacing"&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;o:officedocumentsettings&gt;   &lt;o:relyonvml/&gt;   &lt;o:allowpng/&gt;  &lt;/o:OfficeDocumentSettings&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:worddocument&gt;   &lt;w:view&gt;Normal&lt;/w:View&gt;   &lt;w:zoom&gt;0&lt;/w:Zoom&gt;   &lt;w:trackmoves/&gt;   &lt;w:trackformatting/&gt;   &lt;w:punctuationkerning/&gt;   &lt;w:validateagainstschemas/&gt;   &lt;w:saveifxmlinvalid&gt;false&lt;/w:SaveIfXMLInvalid&gt;   &lt;w:ignoremixedcontent&gt;false&lt;/w:IgnoreMixedContent&gt;   &lt;w:alwaysshowplaceholdertext&gt;false&lt;/w:AlwaysShowPlaceholderText&gt;   &lt;w:donotpromoteqf/&gt;   &lt;w:lidthemeother&gt;EN-GB&lt;/w:LidThemeOther&gt;   &lt;w:lidthemeasian&gt;X-NONE&lt;/w:LidThemeAsian&gt;   &lt;w:lidthemecomplexscript&gt;X-NONE&lt;/w:LidThemeComplexScript&gt;   &lt;w:compatibility&gt;    &lt;w:breakwrappedtables/&gt;    &lt;w:snaptogridincell/&gt;    &lt;w:wraptextwithpunct/&gt;    &lt;w:useasianbreakrules/&gt;    &lt;w:dontgrowautofit/&gt;    &lt;w:splitpgbreakandparamark/&gt;    &lt;w:enableopentypekerning/&gt;    &lt;w:dontflipmirrorindents/&gt;    &lt;w:overridetablestylehps/&gt;   &lt;/w:Compatibility&gt;   &lt;m:mathpr&gt;    &lt;m:mathfont val="Cambria Math"&gt;    &lt;m:brkbin val="before"&gt;    &lt;m:brkbinsub val="&amp;#45;-"&gt;    &lt;m:smallfrac val="off"&gt;    &lt;m:dispdef/&gt;    &lt;m:lmargin val="0"&gt;    &lt;m:rmargin val="0"&gt;    &lt;m:defjc val="centerGroup"&gt;    &lt;m:wrapindent val="1440"&gt;    &lt;m:intlim val="subSup"&gt;    &lt;m:narylim val="undOvr"&gt;   &lt;/m:mathPr&gt;&lt;/w:WordDocument&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:latentstyles deflockedstate="false" defunhidewhenused="true" defsemihidden="true" defqformat="false" defpriority="99" latentstylecount="267"&gt;   &lt;w:lsdexception locked="false" priority="0" semihidden="false" unhidewhenused="false" qformat="true" name="Normal"&gt;   &lt;w:lsdexception locked="false" priority="9" semihidden="false" unhidewhenused="false" qformat="true" name="heading 1"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 2"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 3"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 4"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 5"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 6"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 7"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 8"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 9"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 1"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 2"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 3"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 4"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 5"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 6"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 7"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 8"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 9"&gt;   &lt;w:lsdexception locked="false" priority="35" qformat="true" name="caption"&gt;   &lt;w:lsdexception locked="false" priority="10" semihidden="false" unhidewhenused="false" qformat="true" name="Title"&gt;   &lt;w:lsdexception locked="false" priority="1" name="Default Paragraph Font"&gt;   &lt;w:lsdexception locked="false" priority="11" semihidden="false" unhidewhenused="false" qformat="true" name="Subtitle"&gt;   &lt;w:lsdexception locked="false" priority="22" semihidden="false" unhidewhenused="false" qformat="true" name="Strong"&gt;   &lt;w:lsdexception locked="false" priority="20" semihidden="false" unhidewhenused="false" qformat="true" name="Emphasis"&gt;   &lt;w:lsdexception locked="false" priority="59" semihidden="false" unhidewhenused="false" name="Table Grid"&gt;   &lt;w:lsdexception locked="false" unhidewhenused="false" name="Placeholder Text"&gt;   &lt;w:lsdexception locked="false" priority="1" semihidden="false" unhidewhenused="false" qformat="true" name="No Spacing"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" unhidewhenused="false" name="Revision"&gt;   &lt;w:lsdexception locked="false" priority="34" semihidden="false" unhidewhenused="false" qformat="true" name="List Paragraph"&gt;   &lt;w:lsdexception locked="false" priority="29" semihidden="false" unhidewhenused="false" qformat="true" name="Quote"&gt;   &lt;w:lsdexception locked="false" priority="30" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Quote"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="19" semihidden="false" unhidewhenused="false" qformat="true" name="Subtle Emphasis"&gt;   &lt;w:lsdexception locked="false" priority="21" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Emphasis"&gt;   &lt;w:lsdexception locked="false" priority="31" semihidden="false" unhidewhenused="false" qformat="true" name="Subtle Reference"&gt;   &lt;w:lsdexception locked="false" priority="32" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Reference"&gt;   &lt;w:lsdexception locked="false" priority="33" semihidden="false" unhidewhenused="false" qformat="true" name="Book Title"&gt;   &lt;w:lsdexception locked="false" priority="37" name="Bibliography"&gt;   &lt;w:lsdexception locked="false" priority="39" qformat="true" name="TOC Heading"&gt;  &lt;/w:LatentStyles&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 10]&gt; &lt;style&gt;  /* Style Definitions */  table.MsoNormalTable 	{mso-style-name:"Table Normal"; 	mso-tstyle-rowband-size:0; 	mso-tstyle-colband-size:0; 	mso-style-noshow:yes; 	mso-style-priority:99; 	mso-style-parent:""; 	mso-padding-alt:0cm 5.4pt 0cm 5.4pt; 	mso-para-margin-top:0cm; 	mso-para-margin-right:0cm; 	mso-para-margin-bottom:10.0pt; 	mso-para-margin-left:0cm; 	line-height:115%; 	mso-pagination:widow-orphan; 	font-size:11.0pt; 	font-family:"Calibri","sans-serif"; 	mso-ascii-font-family:Calibri; 	mso-ascii-theme-font:minor-latin; 	mso-hansi-font-family:Calibri; 	mso-hansi-theme-font:minor-latin; 	mso-bidi-font-family:"Times New Roman"; 	mso-bidi-theme-font:minor-bidi; 	mso-fareast-language:EN-US;} &lt;/style&gt; &lt;![endif]--&gt;  &lt;/p&gt;&lt;p class="MsoNoSpacing"&gt;username R2 password 0 RICH&lt;/p&gt;&lt;p class="MsoNoSpacing"&gt;&lt;br /&gt;&lt;/p&gt;    &lt;p class="MsoNoSpacing"&gt;bba-group pppoe global&lt;/p&gt;  &lt;p class="MsoNoSpacing"&gt;&lt;span style="mso-spacerun:yes"&gt; &lt;/span&gt;virtual-template 1&lt;/p&gt;  &lt;p class="MsoNoSpacing"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNoSpacing"&gt;interface Ethernet0/0&lt;/p&gt;  &lt;p class="MsoNoSpacing"&gt;&lt;span style="mso-spacerun:yes"&gt; &lt;/span&gt;ip address 2.2.2.3 255.255.255.248&lt;/p&gt;  &lt;p class="MsoNoSpacing"&gt;&lt;span style="mso-spacerun:yes"&gt; &lt;/span&gt;half-duplex&lt;/p&gt;  &lt;p class="MsoNoSpacing"&gt;&lt;span style="mso-spacerun:yes"&gt; &lt;/span&gt;pppoe enable group global&lt;/p&gt;&lt;p class="MsoNoSpacing"&gt;&lt;br /&gt;&lt;/p&gt;  &lt;p class="MsoNoSpacing"&gt; &lt;/p&gt;  &lt;p class="MsoNoSpacing"&gt;interface Virtual-Template1&lt;/p&gt;  &lt;p class="MsoNoSpacing"&gt;&lt;span style="mso-spacerun:yes"&gt; &lt;/span&gt;ip address 10.10.10.3 255.255.255.0&lt;/p&gt;  &lt;p class="MsoNoSpacing"&gt;&lt;span style="mso-spacerun:yes"&gt; &lt;/span&gt;ppp authentication chap&lt;/p&gt;  &lt;p class="MsoNoSpacing"&gt; &lt;/p&gt;  &lt;p class="MsoNoSpacing"&gt; &lt;/p&gt;    &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2418082835537995017-8256017571633059467?l=routerric.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://routerric.blogspot.com/feeds/8256017571633059467/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2418082835537995017&amp;postID=8256017571633059467' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/8256017571633059467'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/8256017571633059467'/><link rel='alternate' type='text/html' href='http://routerric.blogspot.com/2011/08/pppoe.html' title='PPPOE'/><author><name>richsd1</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/--YOija8WuTM/TsAonUOe5wI/AAAAAAAAAPg/hT87gnDHaJg/s220/DSCN0197.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-MynM7rfDRLU/TlyDIi6FP-I/AAAAAAAAAOc/UeYqL5xp95E/s72-c/pppoe1.PNG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2418082835537995017.post-2533659117667254793</id><published>2011-08-24T07:10:00.000-07:00</published><updated>2011-08-27T04:36:09.200-07:00</updated><title type='text'>Netflow</title><content type='html'>Netflow is a Cisco developed network protocol that has become an industry standard for monitoring traffic (RFC 3954). Once configured, on a per interface basis, the router builds a NetFlow record for each unique traffic stream. Amongst other details the record includes the number of bytes and packets.  The record is output once the flow has finished or at preconfigured time interval via a UDP or STCP flow.&lt;br /&gt;&lt;br /&gt;CEF is a prerequisite for Netflow to work. To configure on an interface&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Config-if#ip flow {ingress|egress}&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Verification&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Show ip flow interface&lt;br /&gt;Show ip cache flow&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;To configure data export&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Ip flow-export destination {ip address} {udp port}&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Verification&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Show ip flow export&lt;/strong&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2418082835537995017-2533659117667254793?l=routerric.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://routerric.blogspot.com/feeds/2533659117667254793/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2418082835537995017&amp;postID=2533659117667254793' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/2533659117667254793'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/2533659117667254793'/><link rel='alternate' type='text/html' href='http://routerric.blogspot.com/2011/08/netflow.html' title='Netflow'/><author><name>richsd1</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/--YOija8WuTM/TsAonUOe5wI/AAAAAAAAAPg/hT87gnDHaJg/s220/DSCN0197.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2418082835537995017.post-9198620840013063872</id><published>2011-08-23T02:59:00.000-07:00</published><updated>2011-08-27T04:39:09.301-07:00</updated><title type='text'>OER</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/-uMDAmPi1d0k/TlOAkrKDMCI/AAAAAAAAAOU/_AKQEO2LDUk/s1600/Drawing1.jpg"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 320px; height: 121px;" src="http://3.bp.blogspot.com/-uMDAmPi1d0k/TlOAkrKDMCI/AAAAAAAAAOU/_AKQEO2LDUk/s320/Drawing1.jpg" alt="" id="BLOGGER_PHOTO_ID_5643996125573885986" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;OER or Optimised Edge Routing.   Also known as PFR or Performance Routing is now part of the v4 blueprint.  In summary it is a feature that enables selection of a route based on its dynamic performance metrics.   Something  lacking with traditional routing protocols that  assign a metric to a route. This assigned metric is in effect the static  expected performance of the route that can be used when comparing with any route alternates. &lt;br /&gt;&lt;br /&gt;OER is a step towards route selection based on true dynamic  performance e.g. in terms of real round trip times of packets.  There’s quite a bit of configuring required. CISCO lays out five phases&lt;br /&gt;&lt;br /&gt;•	Profiling&lt;br /&gt;•	Measuring&lt;br /&gt;•	Policy Application&lt;br /&gt;•	Control&lt;br /&gt;•	Verification&lt;br /&gt;&lt;br /&gt;The components of OER include a Master Controller (MC) and the Border Routers (BR). The BR’s send performance statistics to the MC.  The MC sends routing policy decisions to the BR’s. It’s the BRs that sit on the edge of the network and implement the policies to control the traffic leaving on the external links.&lt;br /&gt;&lt;br /&gt;Here i lay out the basic config between MC and Borders. Authentication via a key chain between MC and BR is not optional.   &lt;br /&gt;&lt;br /&gt;Master Configuration&lt;br /&gt;&lt;br /&gt;R1&lt;br /&gt;key chain RIC&lt;br /&gt;key 1&lt;br /&gt; key-string ROUTERRIC&lt;br /&gt;&lt;br /&gt;oer master&lt;br /&gt;keepalive 10&lt;br /&gt;logging&lt;br /&gt;!&lt;br /&gt;border 2.2.2.2 key-chain RIC&lt;br /&gt;interface Serial1/0 external&lt;br /&gt;interface Ethernet0/0 internal&lt;br /&gt;!&lt;br /&gt;border 3.3.3.3 key-chain RIC&lt;br /&gt;interface Serial1/0 external&lt;br /&gt;interface Ethernet0/0 internal&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Border Config on R2 and R3&lt;br /&gt;&lt;br /&gt;key chain RIC&lt;br /&gt;key 1&lt;br /&gt; key-string ROUTERRIC&lt;br /&gt;!&lt;br /&gt;oer border&lt;br /&gt;local Loopback0&lt;br /&gt;master 1.1.1.1 key-chain RIC&lt;br /&gt;&lt;br /&gt;Verification On R1&lt;br /&gt;&lt;br /&gt;R1#show oer master&lt;br /&gt;OER state: ENABLED and ACTIVE&lt;br /&gt;Conn Status: SUCCESS, PORT: 3949&lt;br /&gt;Number of Border routers: 2&lt;br /&gt;Number of Exits: 2&lt;br /&gt;Number of monitored prefixes: 0 (max 5000)&lt;br /&gt;Max prefixes: total 5000 learn 2500&lt;br /&gt;Prefix count: total 0, learn 0, cfg 0&lt;br /&gt;&lt;br /&gt;Border           Status   UP/DOWN             AuthFail&lt;br /&gt;3.3.3.3          ACTIVE   UP       00:01:57          0&lt;br /&gt;2.2.2.2          ACTIVE   UP       00:02:14          0&lt;br /&gt;&lt;br /&gt;Verification on R2 and R3&lt;br /&gt;R2#show oer border&lt;br /&gt;OER BR 2.2.2.2 ACTIVE, MC 1.1.1.1 UP/DOWN: UP 00:45:16,&lt;br /&gt; Auth Failures: 0&lt;br /&gt; Conn Status: SUCCESS, PORT: 3949&lt;br /&gt; Exits&lt;br /&gt; Et0/0           INTERNAL&lt;br /&gt; Se1/0           EXTERNAL&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2418082835537995017-9198620840013063872?l=routerric.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://routerric.blogspot.com/feeds/9198620840013063872/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2418082835537995017&amp;postID=9198620840013063872' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/9198620840013063872'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/9198620840013063872'/><link rel='alternate' type='text/html' href='http://routerric.blogspot.com/2011/08/oer.html' title='OER'/><author><name>richsd1</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/--YOija8WuTM/TsAonUOe5wI/AAAAAAAAAPg/hT87gnDHaJg/s220/DSCN0197.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-uMDAmPi1d0k/TlOAkrKDMCI/AAAAAAAAAOU/_AKQEO2LDUk/s72-c/Drawing1.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2418082835537995017.post-2383594972821889225</id><published>2011-08-22T03:24:00.000-07:00</published><updated>2011-08-27T04:34:29.833-07:00</updated><title type='text'>EIGRP V6</title><content type='html'>New in V4 CCIE R and S. EIGRP V6 is found in the configuration guide under the IPV6 EIGRP section and not under EIGRP.&lt;br /&gt;&lt;br /&gt;Below is a sample config&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;ipv6 unicast-routing&lt;br /&gt;ipv6 router eigrp 1&lt;br /&gt;no shut&lt;br /&gt;&lt;br /&gt;int e0/0&lt;br /&gt;ipv6 enable&lt;br /&gt;ipv6 eigrp 1&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Of note is the fact that the EIGRPV6 router process is shutdown until it is manually enabled with ‘no shut’.&lt;br /&gt;R4(config-rtr)#do show ipv6 eigrp ne&lt;br /&gt;IPv6-EIGRP neighbors for process 1&lt;br /&gt;% EIGRP 1 is in SHUTDOWN&lt;br /&gt;&lt;br /&gt;Once the ipv6 router eigrp process is started then the neighbour relationship comes up!&lt;br /&gt;&lt;br /&gt;R4(config-rtr)#ipv6 router eigrp 1&lt;br /&gt;R4(config-rtr)#no shut&lt;br /&gt;*Mar  1 00:05:32.727: %DUAL-5-NBRCHANGE: IPv6-EIGRP(0) 1: Neighbor FE80::C003:13FF:FE7C:0 (FastEthernet0/0) is up: new adjacency&lt;br /&gt;&lt;br /&gt;R4#s ipv6 eigrp ne&lt;br /&gt;IPv6-EIGRP neighbors for process 1&lt;br /&gt;H   Address                 Interface       Hold Uptime   SRTT   RTO    Q   Seq    (sec)         (ms)       Cnt Num&lt;br /&gt;0   Link-local address:     Fa0/0       013   00:01:38 1980  5000   0   1 &lt;br /&gt;  FE80::C003:13FF:FE7C:0&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2418082835537995017-2383594972821889225?l=routerric.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://routerric.blogspot.com/feeds/2383594972821889225/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2418082835537995017&amp;postID=2383594972821889225' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/2383594972821889225'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/2383594972821889225'/><link rel='alternate' type='text/html' href='http://routerric.blogspot.com/2011/08/eigrp-v6.html' title='EIGRP V6'/><author><name>richsd1</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/--YOija8WuTM/TsAonUOe5wI/AAAAAAAAAPg/hT87gnDHaJg/s220/DSCN0197.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2418082835537995017.post-7435232724430610899</id><published>2011-08-22T02:20:00.000-07:00</published><updated>2011-08-27T04:33:35.485-07:00</updated><title type='text'>Reviewing the V4 Blueprint</title><content type='html'>I have listed the CCIE Lab v4 R and S blueprint below.  The following topics look like additions over and above the V3 lab content.  So far I have reviewed and blogged on RITE and MPLS, so hope to cover the other topics over the coming weeks and months.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;New V4 topics&lt;/strong&gt;&lt;br /&gt;PPPoE&lt;br /&gt;OER (Optimised Edge Routing)&lt;br /&gt;MPLS&lt;br /&gt;EIGRP v6&lt;br /&gt;Ipv6 Multicast&lt;br /&gt;AUTOQOS&lt;br /&gt;NETFLOW&lt;br /&gt;RITE (Router IP Traffic-Export)&lt;br /&gt;EEM (Embedded Event Manager)&lt;br /&gt;Zone Based Firewall&lt;br /&gt;IPS (intrusion Prevention System)&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Complete V4 blueprint&lt;/strong&gt;&lt;br /&gt;1.10 Implement Spanning Tree Protocol (STP)&lt;br /&gt;(a) 802.1d&lt;br /&gt;(b) 802.1w&lt;br /&gt;(c) 801.1s&lt;br /&gt;(d) Loop guard&lt;br /&gt;(e) Root guard&lt;br /&gt;(f) Bridge protocol data unit (BPDU) guard&lt;br /&gt;(g) Storm control&lt;br /&gt;(h) Unicast flooding&lt;br /&gt;(i) Port roles, failure propagation, and loop guard operation&lt;br /&gt;1.20 Implement VLAN and VLAN Trunking Protocol (VTP)&lt;br /&gt;1.30 Implement trunk and trunk protocols, EtherChannel, and load-balance&lt;br /&gt;1.40 Implement Ethernet technologies&lt;br /&gt;(a) Speed and duplex&lt;br /&gt;(b) Ethernet, Fast Ethernet, and Gigabit Ethernet&lt;br /&gt;(c) PPP over Ethernet   (PPPoE)&lt;br /&gt;1.50 Implement Switched Port Analyzer (SPAN), Remote Switched Port Analyzer (RSPAN), and flow control&lt;br /&gt;1.60 Implement Frame Relay&lt;br /&gt;(a) Local Management Interface (LMI)&lt;br /&gt;(b) Traffic shaping&lt;br /&gt;(c) Full mesh&lt;br /&gt;(d) Hub and spoke&lt;br /&gt;(e) Discard eligible (DE)&lt;br /&gt;1.70 Implement High-Level Data Link Control (HDLC) and PPP&lt;br /&gt;&lt;br /&gt;2.00 Implement IPv4&lt;br /&gt;2.10 Implement IP version  4 (IPv4) addressing, subnetting, and variable-length subnet masking (VLSM)&lt;br /&gt;2.20 Implement IPv4  tunneling and Generic Routing Encapsulation (GRE)&lt;br /&gt;2.30 Implement IPv4 RIP version 2 (RIPv2)&lt;br /&gt;2.40 Implement IPv4 Open Shortest Path First (OSPF)&lt;br /&gt;(a) Standard OSPF areas&lt;br /&gt;(b) Stub area&lt;br /&gt;(c) Totally stubby area&lt;br /&gt;(d)   Not-so-stubby-area (NSSA)&lt;br /&gt;(e) Totally NSSA&lt;br /&gt;(f) Link-state advertisement (LSA) types&lt;br /&gt;(g) Adjacency on a point-to-point and on a multi-access network&lt;br /&gt;(h) OSPF graceful restart &lt;br /&gt;2.50 Implement IPv4 Enhanced Interior Gateway Routing Protocol (EIGRP)&lt;br /&gt;(a) Best path&lt;br /&gt;(b) Loop-free paths&lt;br /&gt;(c) EIGRP operations when alternate loop-free paths are available, and when they are not available&lt;br /&gt;(d) EIGRP queries&lt;br /&gt;(e) Manual summarization and autosummarization&lt;br /&gt;(f) EIGRP stubs&lt;br /&gt;2.60 Implement IPv4 Border Gateway Protocol (BGP)&lt;br /&gt;(a) Next hop&lt;br /&gt;(b) Peering&lt;br /&gt;(c) Internal Border Gateway Protocol (IBGP) and External Border Gateway Protocol (EBGP)&lt;br /&gt;2.70 Implement policy   routing&lt;br /&gt;2.80 Implement Performance Routing (PfR) and Cisco Optimized Edge Routing (OER)&lt;br /&gt;2.90 Implement filtering, route redistribution, summarization, synchronization, attributes, and other advanced features&lt;br /&gt;&lt;br /&gt;3.00 Implement IPv6&lt;br /&gt;3.10 Implement IP version 6 (IPv6) addressing and different addressing types&lt;br /&gt;3.20 Implement IPv6 neighbor discovery&lt;br /&gt;3.30 Implement basic IPv6 functionality protocols&lt;br /&gt;3.40 Implement tunneling techniques&lt;br /&gt;3.50 Implement OSPF version 3 (OSPFv3)&lt;br /&gt;3.60 Implement EIGRP version 6 (EIGRPv6)&lt;br /&gt;3.70 Implement filtering and route redistribution&lt;br /&gt;&lt;br /&gt;4.00 Implement MPLS Layer 3 VPNs&lt;br /&gt;4.10 Implement Multiprotocol Label Switching (MPLS)&lt;br /&gt;4.20 Implement Layer 3 virtual private networks (VPNs) on provider edge (PE), provider (P), and customer edge (CE) routers&lt;br /&gt;4.30 Implement virtual routing and forwarding (VRF) and Multi-VRF Customer Edge (VRF-Lite)&lt;br /&gt;&lt;br /&gt;5.00 Implement IP Multicast &lt;br /&gt;5.10 Implement Protocol Independent Multicast (PIM) sparse mode&lt;br /&gt;5.20 Implement Multicast Source Discovery Protocol (MSDP)&lt;br /&gt;5.30 Implement interdomain multicast routing&lt;br /&gt;5.40 Implement PIM Auto-Rendezvous Point (Auto-RP), unicast rendezvous point (RP), and bootstrap router (BSR)&lt;br /&gt;5.50 Implement multicast tools, features, and source-specific multicast&lt;br /&gt;5.60 Implement IPv6 multicast, PIM, and related multicast protocols, such as Multicast Listener Discovery (MLD)&lt;br /&gt;&lt;br /&gt;6.00 Implement Network   Security&lt;br /&gt;6.01 Implement access   lists&lt;br /&gt;6.02 Implement Zone Based   Firewall&lt;br /&gt;6.03 Implement Unicast   Reverse Path Forwarding (uRPF)&lt;br /&gt;6.04 Implement IP Source   Guard&lt;br /&gt;6.05 Implement authentication, authorization, and accounting (AAA) (configuring the AAA server is not required, only the client-side (IOS) is configured)&lt;br /&gt;6.06 Implement Control Plane Policing (CoPP)&lt;br /&gt;6.07 Implement Cisco IOS Firewall&lt;br /&gt;6.08 Implement Cisco IOS Intrusion Prevention System (IPS)&lt;br /&gt;6.09 Implement Secure Shell (SSH)&lt;br /&gt;6.10 Implement 802.1x&lt;br /&gt;6.11 Implement NAT&lt;br /&gt;6.12 Implement routing protocol authentication&lt;br /&gt;6.13 Implement device access control&lt;br /&gt;6.14 Implement security features&lt;br /&gt;&lt;br /&gt;7.00 Implement Network Services&lt;br /&gt;7.10 Implement Hot Standby Router Protocol (HSRP)&lt;br /&gt;7.20 Implement Gateway Load Balancing Protocol (GLBP)&lt;br /&gt;7.30 Implement Virtual Router Redundancy Protocol (VRRP)&lt;br /&gt;7.40 Implement Network Time Protocol (NTP)&lt;br /&gt;7.50 Implement DHCP&lt;br /&gt;7.60 Implement Web Cache Communication Protocol (WCCP)&lt;br /&gt;&lt;br /&gt;8.00 Implement Quality of  Service (QoS)&lt;br /&gt;8.10 Implement Modular QoS CLI (MQC)&lt;br /&gt;(a) Network-Based Application Recognition (NBAR)&lt;br /&gt;(b)   Class-based weighted fair queuing (CBWFQ),  modified deficit round robin (MDRR), and low latency queuing (LLQ)&lt;br /&gt;(c) Classification&lt;br /&gt;(d) Policing&lt;br /&gt;(e) Shaping&lt;br /&gt;(f) Marking&lt;br /&gt;(g) Weighted random early detection (WRED) and random early detection (RED)&lt;br /&gt;(h) Compression&lt;br /&gt;8.20 Implement Layer 2 QoS: weighted round robin (WRR), shaped round robin (SRR), and policies&lt;br /&gt;8.30 Implement link fragmentation and interleaving (LFI) for Frame Relay&lt;br /&gt;8.40 Implement generic traffic shaping&lt;br /&gt;8.50 Implement Resource Reservation Protocol (RSVP)&lt;br /&gt;8.60 Implement Cisco   AutoQoS&lt;br /&gt;&lt;br /&gt;9.00 Troubleshoot a Network&lt;br /&gt;9.10 Troubleshoot complex Layer 2 network issues&lt;br /&gt;9.20 Troubleshoot complex Layer 3 network issues&lt;br /&gt;9.30 Troubleshoot a network in response to application problems&lt;br /&gt;9.40 Troubleshoot network services&lt;br /&gt;9.50 Troubleshoot network security&lt;br /&gt;&lt;br /&gt;10.00 Optimize the Network&lt;br /&gt;10.01 Implement syslog and local logging&lt;br /&gt;10.02 Implement IP Service Level Agreement SLA&lt;br /&gt;10.03 Implement NetFlow&lt;br /&gt;10.04 Implement SPAN, RSPAN, and router IP traffic export (RITE)&lt;br /&gt;10.05 Implement Simple Network Management Protocol (SNMP)&lt;br /&gt;10.06 Implement Cisco IOS Embedded Event Manager (EEM)&lt;br /&gt;10.07 Implement Remote Monitoring (RMON)&lt;br /&gt;10.08 Implement FTP&lt;br /&gt;10.09 Implement TFTP&lt;br /&gt;10.10 Implement TFTP server on router&lt;br /&gt;10.11 Implement Secure Copy Protocol (SCP)&lt;br /&gt;10.12 Implement HTTP and HTTPS&lt;br /&gt;10.13 Implement Telnet&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2418082835537995017-7435232724430610899?l=routerric.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://routerric.blogspot.com/feeds/7435232724430610899/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2418082835537995017&amp;postID=7435232724430610899' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/7435232724430610899'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/7435232724430610899'/><link rel='alternate' type='text/html' href='http://routerric.blogspot.com/2011/08/reviewing-v4-blueprint.html' title='Reviewing the V4 Blueprint'/><author><name>richsd1</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/--YOija8WuTM/TsAonUOe5wI/AAAAAAAAAPg/hT87gnDHaJg/s220/DSCN0197.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2418082835537995017.post-5164789976874181916</id><published>2011-08-20T11:11:00.000-07:00</published><updated>2011-08-21T11:09:29.648-07:00</updated><title type='text'>Router Sniffer Capture</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/-JN_ADCyhN1o/TlFJzUCG8KI/AAAAAAAAAOM/HDhsm99bbEg/s1600/untitled.png"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 262px; height: 192px;" src="http://3.bp.blogspot.com/-JN_ADCyhN1o/TlFJzUCG8KI/AAAAAAAAAOM/HDhsm99bbEg/s320/untitled.png" alt="" id="BLOGGER_PHOTO_ID_5643372953971650722" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/-lN0pdXON-pw/Tk_68214y4I/AAAAAAAAAN8/i5nD5w6PIvY/s1600/sniffer.jpg"&gt;&lt;br /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt;Ever wondered if you can run a sniffer from a router?  I have only ever used monitor sessions on switches so  Router IP Traffic Export or RITE was an interesting discovery for me. This can be used to achieve the same as a monitor session on a switch.  Also this is on the V4 blueprint so a useful command to have come across. Its not that difficult either!&lt;/div&gt;&lt;div&gt;&lt;br /&gt;There are just two configuration steps.  Define the outgoing sniffer port along with the mac address of the device attached and then define the capture traffic flows on the ingress port.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;Heres an example&lt;br /&gt;interface Ethernet0/1&lt;br /&gt;ip traffic-export profile RICH&lt;br /&gt;mac-address 1111.2222.3333&lt;br /&gt;&lt;br /&gt;interface Ethernet0/0&lt;br /&gt;ip traffic-export apply RICH&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;R1#show ip traffic-exp&lt;br /&gt;Router IP Traffic Export Parameters&lt;br /&gt;Monitored Interface             Ethernet0/0&lt;br /&gt;   Export Interface                Ethernet0/1&lt;br /&gt;   Destination MAC address 1111.2222.3333&lt;br /&gt;   bi-directional traffic export is off&lt;br /&gt;Input IP Traffic Export Information     Packets/Bytes Exported    0/0&lt;br /&gt;   Packets Dropped           0&lt;br /&gt;   Sampling Rate             one-in-every 1 packets&lt;br /&gt;   No Access List configured&lt;br /&gt;   Profile RICH is Active&lt;br /&gt;&lt;br /&gt;There are a number of extra options i'venot detailed here. The above shows the basic configuration that’s needed to get the feature operational.&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2418082835537995017-5164789976874181916?l=routerric.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://routerric.blogspot.com/feeds/5164789976874181916/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2418082835537995017&amp;postID=5164789976874181916' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/5164789976874181916'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/5164789976874181916'/><link rel='alternate' type='text/html' href='http://routerric.blogspot.com/2011/08/router-sniffer-capture.html' title='Router Sniffer Capture'/><author><name>richsd1</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/--YOija8WuTM/TsAonUOe5wI/AAAAAAAAAPg/hT87gnDHaJg/s220/DSCN0197.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-JN_ADCyhN1o/TlFJzUCG8KI/AAAAAAAAAOM/HDhsm99bbEg/s72-c/untitled.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2418082835537995017.post-6514958371999887182</id><published>2011-08-20T00:07:00.000-07:00</published><updated>2011-08-20T03:04:28.181-07:00</updated><title type='text'>SHAM LINKS</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/-m2lGmOPd1EA/Tk-Gpmw5ciI/AAAAAAAAAN0/uR5kUREv8ag/s1600/SHAMLINK.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 304px;" src="http://1.bp.blogspot.com/-m2lGmOPd1EA/Tk-Gpmw5ciI/AAAAAAAAAN0/uR5kUREv8ag/s400/SHAMLINK.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5642876907456918050" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;A customer has 2 entry points into an MPLS VPN.  It is a requirement for the customer to traverse the MPLS VPN for intersite traffic.   When the customer is running OSPF between its sites by default the backdoor, slower, serial connection will always be preferred by OSPF. This is because links injected into the OSPF domain by the PE routers will be external routes and hence always less preferred than OSPF internal routes.&lt;br /&gt;&lt;br /&gt;Sham links get around this problem. Effectively they are a vehicle to enable the OSPF links traversing the provider backbone to appear as internal OSPF routes.&lt;br /&gt;&lt;br /&gt;Sham links appear analogous to virtual links. They have tunnel start and end points and traverse a routing domain.  The following are required&lt;br /&gt;&lt;br /&gt;1)	A /32 loopback address on each PE router. This has to be in the customer VRF and NOT be directly advertised into OSPF.&lt;br /&gt;&lt;br /&gt;2)	Advertise these loopbacks into MP-BGP as vpnv4 routes. This is how the PE routers will learn about the endpoints of the sham-link.&lt;br /&gt;&lt;br /&gt;3)	Configure the sham-link under the OSPF process on the PE routers&lt;br /&gt;&lt;br /&gt;1)&lt;br /&gt;PE1&lt;br /&gt;Int lo0&lt;br /&gt;Ip vrf forwarding CUST1&lt;br /&gt;Ip address 192.168.0.1&lt;br /&gt;&lt;br /&gt;PE2&lt;br /&gt;Int lo0&lt;br /&gt;Ip vrf forwarding CUST1&lt;br /&gt;Ip address 192.168.0.2&lt;br /&gt;&lt;br /&gt;2)&lt;br /&gt;PE1&lt;br /&gt;Router bgp 1&lt;br /&gt;Address-family ipv4 vrf CUST1&lt;br /&gt;Network 192.168.0.1 255.255.255.255&lt;br /&gt;&lt;br /&gt;PE2&lt;br /&gt;Router bgp 1&lt;br /&gt;Address-family ipv4 vrf CUST1&lt;br /&gt;Network 192.168.0.1 255.255.255.255&lt;br /&gt;&lt;br /&gt;3)&lt;br /&gt;PE1&lt;br /&gt;Router ospf 1 vrf CUST1&lt;br /&gt;Area 0 sham-link 192.168.0.1 192.168.0.2&lt;br /&gt;&lt;br /&gt;PE1&lt;br /&gt;Router ospf 1 vrf CUST1&lt;br /&gt;Area 0 sham-link 192.168.0.2 192.168.0.1&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2418082835537995017-6514958371999887182?l=routerric.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://routerric.blogspot.com/feeds/6514958371999887182/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2418082835537995017&amp;postID=6514958371999887182' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/6514958371999887182'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/6514958371999887182'/><link rel='alternate' type='text/html' href='http://routerric.blogspot.com/2011/08/sham-links.html' title='SHAM LINKS'/><author><name>richsd1</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/--YOija8WuTM/TsAonUOe5wI/AAAAAAAAAPg/hT87gnDHaJg/s220/DSCN0197.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-m2lGmOPd1EA/Tk-Gpmw5ciI/AAAAAAAAAN0/uR5kUREv8ag/s72-c/SHAMLINK.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2418082835537995017.post-4901817246328062106</id><published>2010-05-14T21:50:00.000-07:00</published><updated>2010-05-14T22:14:15.830-07:00</updated><title type='text'>Using the PING TOS field</title><content type='html'>The extended ping command can be useful when testing MQC policies. The IP header TOS value of packets can be explicitly set, and hence MQC configuration can subsequently be tested.   &lt;br /&gt;&lt;br /&gt;The extended ping command expects the TOS value to be set using a decimal value (see below). &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;R1#ping&lt;br /&gt;Protocol [ip]:&lt;br /&gt;Target IP address: 10.0.0.2&lt;br /&gt;Repeat count [5]:&lt;br /&gt;Datagram size [100]:&lt;br /&gt;Timeout in seconds [2]:&lt;br /&gt;Extended commands [n]: y&lt;br /&gt;Source address or interface:&lt;br /&gt;&lt;strong&gt;Type of service [0]: 184&lt;/strong&gt;&lt;br /&gt;Set DF bit in IP header? [no]:&lt;br /&gt;Validate reply data? [no]:&lt;br /&gt;Data pattern [0xABCD]:&lt;br /&gt;Loose, Strict, Record, Timestamp, Verbose[none]:&lt;br /&gt;Sweep range of sizes [n]:&lt;br /&gt;Type escape sequence to abort.&lt;br /&gt;Sending 5, 100-byte ICMP Echos to 10.0.0.2, timeout is 2 seconds:&lt;br /&gt;!!!!!&lt;br /&gt;Success rate is 100 percent (5/5), round-trip min/avg/max = 4/32/68 ms&lt;br /&gt;&lt;br /&gt;If you only know or are given the DSCP marking the question then arises 'How to i derive the TOS value from the DSCP marking?&lt;br /&gt;&lt;br /&gt;This can easily be calculated when remembering the DSCP marking denotes the decimal value of the first 6 bits of the IP TOS header field. The last 2 bits of the TOS field are not used, so will always be zero.&lt;br /&gt;&lt;br /&gt;As an example DSCP 46 equates to 101110 binary. To convert to a TOS value simply append the last two zero bits and convert back to decimal. Therefore 101110 becomes10111000 and when converted back to decimal this becomes 184. This is the decimal TOS representation of DSCP 46.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2418082835537995017-4901817246328062106?l=routerric.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://routerric.blogspot.com/feeds/4901817246328062106/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2418082835537995017&amp;postID=4901817246328062106' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/4901817246328062106'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/4901817246328062106'/><link rel='alternate' type='text/html' href='http://routerric.blogspot.com/2010/05/dscp-to-tos-conversion.html' title='Using the PING TOS field'/><author><name>richsd1</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/--YOija8WuTM/TsAonUOe5wI/AAAAAAAAAPg/hT87gnDHaJg/s220/DSCN0197.JPG'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2418082835537995017.post-1424057822507372676</id><published>2010-03-18T12:10:00.000-07:00</published><updated>2010-04-24T21:56:25.683-07:00</updated><title type='text'>BGP transit AS's and how to avoid</title><content type='html'>&lt;a href="http://2.bp.blogspot.com/_fmDP85Ew2Ek/S6KADE6RhmI/AAAAAAAAAMY/b3vyKRhsxdA/s1600-h/china_468x312.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 267px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5450059289417844322" border="0" alt="" src="http://2.bp.blogspot.com/_fmDP85Ew2Ek/S6KADE6RhmI/AAAAAAAAAMY/b3vyKRhsxdA/s400/china_468x312.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;How can you prevent your own BGP AS becoming a transit path? This can be achieved by making use of a distribute-list or a prefix-list. However these methods do not scale well as future ip addressing changes or additions require access lists to be revisited.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;BB1 &lt;/strong&gt;------ &lt;strong&gt;R1&lt;/strong&gt; (AS 101) -------&lt;strong&gt; R2&lt;/strong&gt; (AS 101) ------- &lt;strong&gt;BB2 &lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Here are 2 options that scale and do not require revisiting when ip addresses change.&lt;br /&gt;&lt;br /&gt;OPTION 1 - Make use of the no-export community.&lt;br /&gt;-------------------------------------------------------------&lt;br /&gt;&lt;br /&gt;Here i apply the community no-export to ALL incoming bgp routes.&lt;br /&gt;&lt;br /&gt;R1&lt;br /&gt;&lt;strong&gt;route-map NOEXPORT&lt;br /&gt;set community no-export&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;router bgp 101&lt;br /&gt;neigh {ip addr BB1} route-map NOEXPORT in&lt;br /&gt;neigh {ip addr r2} send-community&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;OPTION 2 – Make use of the filter-list command&lt;br /&gt;-----------------------------------------------------------&lt;br /&gt;&lt;br /&gt;Here i create an as-path access list and only allow bgp routes originated in the routers own as (AS 101) to be advertised out.&lt;br /&gt;&lt;br /&gt;R2&lt;br /&gt;&lt;strong&gt;ip as-path access-list 1 permit ^$&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;router bgp 101&lt;br /&gt;neigh {ip addrBB2} filter-list 1 out&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;With both commands i use &lt;em&gt;show ip bgp {ip address} advertise&lt;/em&gt; for verification of advertised routes.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2418082835537995017-1424057822507372676?l=routerric.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://routerric.blogspot.com/feeds/1424057822507372676/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2418082835537995017&amp;postID=1424057822507372676' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/1424057822507372676'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/1424057822507372676'/><link rel='alternate' type='text/html' href='http://routerric.blogspot.com/2010/03/bgp-transit-ass-and-how-to-avoid.html' title='BGP transit AS&apos;s and how to avoid'/><author><name>richsd1</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/--YOija8WuTM/TsAonUOe5wI/AAAAAAAAAPg/hT87gnDHaJg/s220/DSCN0197.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_fmDP85Ew2Ek/S6KADE6RhmI/AAAAAAAAAMY/b3vyKRhsxdA/s72-c/china_468x312.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2418082835537995017.post-5672676864177728875</id><published>2009-07-23T21:43:00.000-07:00</published><updated>2009-07-24T22:20:21.111-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MPLS - BGP L3 VPN'/><title type='text'>MPLS - BGP L3 VPN</title><content type='html'>&lt;a href="http://2.bp.blogspot.com/_fmDP85Ew2Ek/Smk8ZSyBSgI/AAAAAAAAAMQ/_mK6TJYul18/s1600-h/VRF+LOGICAL.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 237px;" src="http://2.bp.blogspot.com/_fmDP85Ew2Ek/Smk8ZSyBSgI/AAAAAAAAAMQ/_mK6TJYul18/s400/VRF+LOGICAL.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5361883236597320194" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_fmDP85Ew2Ek/Smk8UA9wETI/AAAAAAAAAMI/oulse8bAb50/s1600-h/CADE1.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 201px;" src="http://4.bp.blogspot.com/_fmDP85Ew2Ek/Smk8UA9wETI/AAAAAAAAAMI/oulse8bAb50/s400/CADE1.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5361883145915339058" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;With CCIE version 4 coming round the corner in October i thought i would turn my attention to some of the new topics on the syllabus. Here i look at MPLS VPNS and in the post i configure an MPLS L3 VPN.&lt;br /&gt;&lt;br /&gt;There are 3 customers: A, B and C. These are connected across the shared MPLS infrastructure.  The goal is to allow each customer to see their partner sites routes, and their routes only, across the MPLS cloud. &lt;br /&gt;&lt;br /&gt;In this post i do not plan to look at the detailed workings of MPLS VPNS but rather just detail the steps necessary to build and configure.&lt;br /&gt;&lt;br /&gt;In the MPLS cloud, BGP peering to the customer sites is implemented. The IGP routing protocol in the PE network is OSPF. The config i used to achieve this is layed out below. &lt;br /&gt;&lt;br /&gt;First step is to define the customer VRFS and i apply the following config on each of the PE routers.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;ip vrf CUSTA&lt;br /&gt; rd 1:1&lt;br /&gt; route-target export 1:1&lt;br /&gt; route-target import 1:1&lt;br /&gt;!&lt;br /&gt;ip vrf CUSTB&lt;br /&gt; rd 2:2&lt;br /&gt; route-target export 2:2&lt;br /&gt; route-target import 2:2&lt;br /&gt;!&lt;br /&gt;ip vrf CUSTC&lt;br /&gt; rd 3:3&lt;br /&gt; route-target export 3:3&lt;br /&gt; route-target import 3:3&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Second step is to apply the vrf config to the customer facing interfaces on the PE routers. At each step i verify my config with the show ip vrf command.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;PE1(config-if)#DO SIIB&lt;/strong&gt;&lt;br /&gt;Interface                  IP-Address      OK? Method Status                Protocol&lt;br /&gt;FastEthernet0/0            13.0.0.1        YES NVRAM  up                    up&lt;br /&gt;Serial2/0                  10.0.0.2        YES manual up                    up&lt;br /&gt;Serial2/1                  10.0.0.6        YES NVRAM  up                    up&lt;br /&gt;Serial2/2                  10.0.0.10       YES NVRAM  up                    up&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;PE1(CONFIG)#int s2/0&lt;br /&gt;PE1(config-if)#ip vrf forwarding CUSTA&lt;br /&gt;% Interface Serial2/0 IP address 10.0.0.2 removed due to enabling VRF CUSTA&lt;br /&gt;PE1(config-if)#ip address 10.0.0.2 255.255.255.252&lt;br /&gt;PE1(config)#int s2/1&lt;br /&gt;PE1(config-if)#ip vrf forwarding CUSTB&lt;br /&gt;% Interface Serial2/1 IP address 10.0.0.6 removed due to enabling VRF CUSTB&lt;br /&gt;PE1(config-if)#ip address 10.0.0.6 255.255.255.252&lt;br /&gt;PE1(config-if)#int s2/2&lt;br /&gt;PE1(config-if)#ip vrf forwarding CUSTC&lt;br /&gt;% Interface Serial2/2 IP address 10.0.0.10 removed due to enabling VRF CUSTC&lt;br /&gt;PE1(config-if)#ip address 10.0.0.10 255.255.255.252&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;PE1#s ip vrf&lt;/strong&gt;&lt;br /&gt;  Name                             Default RD          Interfaces&lt;br /&gt;  CUSTA                            1:1                 Se2/0&lt;br /&gt;  CUSTB                            2:2                 Se2/1&lt;br /&gt;  CUSTC                            3:3                 Se2/2&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;PE2#siib&lt;/strong&gt;&lt;br /&gt;Interface                  IP-Address      OK? Method Status                Protocol&lt;br /&gt;FastEthernet0/0            13.0.0.2        YES NVRAM  up                    up&lt;br /&gt;Serial2/0                  12.0.0.2        YES NVRAM  up                    up&lt;br /&gt;Serial2/1                  12.0.0.6        YES NVRAM  up                    up&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;br /&gt;PE2(config)#int s2/0&lt;br /&gt;PE2(config-if)#ip vrf for&lt;br /&gt;PE2(config-if)#ip vrf forwarding CUSTA&lt;br /&gt;% Interface Serial2/0 IP address 12.0.0.2 removed due to enabling VRF CUSTA&lt;br /&gt;PE2(config-if)#ip address 12.0.0.2 255.255.255.252&lt;br /&gt;PE2(config-if)#int s2/1&lt;br /&gt;PE2(config-if)#ip vrf forwarding CUSTC&lt;br /&gt;% Interface Serial2/1 IP address 12.0.0.6 removed due to enabling VRF CUSTC&lt;br /&gt;PE2(config-if)#ip address 12.0.0.6 255.255.255.252&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;PE2(config-if)#do s ip vrf&lt;/strong&gt;&lt;br /&gt;  Name                             Default RD          Interfaces&lt;br /&gt;  CUSTA                            1:1                 Se2/0&lt;br /&gt;  CUSTB                            2:2&lt;br /&gt;  CUSTC                            3:3                 Se2/1&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;PE3#siib&lt;/strong&gt;&lt;br /&gt;Interface                  IP-Address      OK? Method Status                Protocol&lt;br /&gt;FastEthernet0/0            13.0.0.3        YES manual up                    up&lt;br /&gt;Serial2/0                  11.0.0.2        YES NVRAM  up                    up&lt;br /&gt;Serial2/1                  11.0.0.6        YES NVRAM  up                    up&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;PE3(config-vrf)#int s2/0&lt;br /&gt;PE3(config-if)#ip vrf forwarding CUSTB&lt;br /&gt;% Interface Serial2/0 IP address 11.0.0.2 removed due to enabling VRF CUSTB&lt;br /&gt;PE3(config-if)#ip address 11.0.0.2 255.255.255.252&lt;br /&gt;PE3(config-if)#int s2/1&lt;br /&gt;PE3(config-if)#ip vrf forwarding CUSTC&lt;br /&gt;% Interface Serial2/1 IP address 11.0.0.6 removed due to enabling VRF CUSTC&lt;br /&gt;PE3(config-if)#ip address 11.0.0.6 255.255.255.252&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;PE3(config-if)#DO S IP VRF&lt;/strong&gt;&lt;br /&gt;  Name                             Default RD          Interfaces&lt;br /&gt;  CUSTA                            1:1&lt;br /&gt;  CUSTB                            2:2                 Se2/0&lt;br /&gt;  CUSTC                            3:3                 Se2/1&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The 3rd step is to configure the PE to CE BGP adjacencies. N.B. The CE to PE adjacencies are standard BGP config and i do not detail here.  To keep the output down i have detailed the config required on PE1 only, as the config on the other PE routers is very similar.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;router bgp 1000&lt;br /&gt; no bgp default ipv4-unicast&lt;br /&gt; bgp log-neighbor-changes&lt;br /&gt; neighbor 10.0.0.1 remote-as 1&lt;br /&gt; neighbor 10.0.0.5 remote-as 2&lt;br /&gt; neighbor 10.0.0.9 remote-as 3&lt;br /&gt; &lt;br /&gt; address-family ipv4 vrf CUSTC&lt;br /&gt; neighbor 10.0.0.9 remote-as 3&lt;br /&gt; neighbor 10.0.0.9 activate&lt;br /&gt; &lt;br /&gt; address-family ipv4 vrf CUSTB&lt;br /&gt; neighbor 10.0.0.5 remote-as 2&lt;br /&gt; neighbor 10.0.0.5 activate&lt;br /&gt;&lt;br /&gt; address-family ipv4 vrf CUSTA&lt;br /&gt; neighbor 10.0.0.1 remote-as 1&lt;br /&gt; neighbor 10.0.0.1 activate&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;The 4th step is to configure the PE to PE adjacencies. Again i have detailed PE1 config only here&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;PE1&lt;br /&gt;router bgp 1000&lt;br /&gt; neighbor 13.0.0.2 remote-as 1000&lt;br /&gt; neighbor 13.0.0.3 remote-as 1000&lt;br /&gt; !&lt;br /&gt; address-family vpnv4&lt;br /&gt; neighbor 13.0.0.2 activate&lt;br /&gt; neighbor 13.0.0.2 send-community extended&lt;br /&gt; neighbor 13.0.0.3 activate&lt;br /&gt; neighbor 13.0.0.3 send-community extended&lt;br /&gt; exit-address-family&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;The 5th step is to enable mpls in the provide network.&lt;br /&gt;On PE1, PE2 and PE3&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;conf t&lt;br /&gt;mpls ip&lt;br /&gt;int fa0/0&lt;br /&gt;mpls ip&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;For verification&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;PE1#s ip bgp vpnv4 all sum | beg Neigh&lt;/strong&gt;&lt;br /&gt;Neighbor        V    AS MsgRcvd MsgSent   TblVer  InQ OutQ Up/Down  State/PfxRcd&lt;br /&gt;10.0.0.1        4     1      46      49       24    0    0 00:17:01        2&lt;br /&gt;10.0.0.5        4     2       6       6       24    0    0 00:01:33        2&lt;br /&gt;10.0.0.9        4     3       5       4       19    0    0 00:00:43        2&lt;br /&gt;101.101.101.101 4  1000      30      32       24    0    0 00:17:31        2&lt;br /&gt;102.102.102.102 4  1000      31      34       24    0    0 00:17:19        2&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;PE1#s ip bgp vpnv4 *&lt;/strong&gt;&lt;br /&gt;BGP table version is 30, local router ID is 100.100.100.100&lt;br /&gt;Status codes: s suppressed, d damped, h history, * valid, &gt; best, i - internal,&lt;br /&gt;              r RIB-failure, S Stale&lt;br /&gt;Origin codes: i - IGP, e - EGP, ? - incomplete&lt;br /&gt;&lt;br /&gt;   Network          Next Hop            Metric LocPrf Weight Path&lt;br /&gt;Route Distinguisher: 1:1 (default for vrf CUSTA)&lt;br /&gt;*&gt; 1.1.1.0/24       10.0.0.1                 0             0 1 ?&lt;br /&gt;r&gt; 10.0.0.0/30      10.0.0.1                 0             0 1 ?&lt;br /&gt;*&gt;i12.0.0.0/30      101.101.101.101          0    100      0 7 ?&lt;br /&gt;*&gt;i102.102.102.0/24 101.101.101.101          0    100      0 7 ?&lt;br /&gt;Route Distinguisher: 2:2 (default for vrf CUSTB)&lt;br /&gt;*&gt; 2.2.2.0/24       10.0.0.5                 0             0 2 ?&lt;br /&gt;*&gt;i4.4.4.0/24       102.102.102.102          0    100      0 4 ?&lt;br /&gt;r&gt; 10.0.0.4/30      10.0.0.5                 0             0 2 ?&lt;br /&gt;*&gt;i11.0.0.0/30      102.102.102.102          0    100      0 4 ?&lt;br /&gt;Route Distinguisher: 3:3 (default for vrf CUSTC)&lt;br /&gt;*&gt; 3.3.3.0/24       10.0.0.9                 0             0 3 ?&lt;br /&gt;*&gt;i5.5.5.0/24       102.102.102.102          0    100      0 5 ?&lt;br /&gt;*&gt;i6.6.6.0/24       101.101.101.101          0    100      0 6 ?&lt;br /&gt;r&gt; 10.0.0.8/30      10.0.0.9                 0             0 3 ?&lt;br /&gt;*&gt;i11.0.0.4/30      102.102.102.102          0    100      0 5 ?&lt;br /&gt;*&gt;i12.0.0.4/30      101.101.101.101          0    100      0 6 ?&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Finally i examine the routing tables on peer customer sites to check routes have been shared. Here i dump the Customer A routing tables&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;CUSTA1&gt;s ip route&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;     1.0.0.0/24 is subnetted, 1 subnets&lt;br /&gt;C       1.1.1.0 is directly connected, Loopback0&lt;br /&gt;     7.0.0.0/24 is subnetted, 1 subnets&lt;br /&gt;B       7.7.7.0 [20/0] via 10.0.0.2, 00:30:23&lt;br /&gt;     10.0.0.0/30 is subnetted, 1 subnets&lt;br /&gt;C       10.0.0.0 is directly connected, Serial2/0&lt;br /&gt;     12.0.0.0/30 is subnetted, 1 subnets&lt;br /&gt;B       12.0.0.0 [20/0] via 10.0.0.2, 00:37:16&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;CUSTA2#sir&lt;/strong&gt;&lt;br /&gt;     1.0.0.0/24 is subnetted, 1 subnets&lt;br /&gt;B       1.1.1.0 [20/0] via 12.0.0.2, 00:37:54&lt;br /&gt;     7.0.0.0/24 is subnetted, 1 subnets&lt;br /&gt;C       7.7.7.0 is directly connected, Loopback0&lt;br /&gt;     10.0.0.0/30 is subnetted, 1 subnets&lt;br /&gt;B       10.0.0.0 [20/0] via 12.0.0.2, 00:37:54&lt;br /&gt;     12.0.0.0/30 is subnetted, 1 subnets&lt;br /&gt;C       12.0.0.0 is directly connected, Serial2/0&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I ping across the cloud&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;For Customer C&lt;/strong&gt;&lt;br /&gt;CUSTC3&gt;ping 3.3.3.3&lt;br /&gt;&lt;br /&gt;Type escape sequence to abort.&lt;br /&gt;Sending 5, 100-byte ICMP Echos to 3.3.3.3, timeout is 2 seconds:&lt;br /&gt;.!!!!&lt;br /&gt;Success rate is 80 percent (4/5), round-trip min/avg/max = 544/1161/1684 ms&lt;br /&gt;CUSTC3&gt;ping 6.6.6.6&lt;br /&gt;&lt;br /&gt;Type escape sequence to abort.&lt;br /&gt;Sending 5, 100-byte ICMP Echos to 6.6.6.6, timeout is 2 seconds:&lt;br /&gt;!!!!!&lt;br /&gt;Success rate is 100 percent (5/5), round-trip min/avg/max = 624/1000/1700 ms&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;For Customer B&lt;/strong&gt;&lt;br /&gt;CUSTB2&gt;p 2.2.2.2&lt;br /&gt;&lt;br /&gt;Type escape sequence to abort.&lt;br /&gt;Sending 5, 100-byte ICMP Echos to 2.2.2.2, timeout is 2 seconds:&lt;br /&gt;.!!!!&lt;br /&gt;Success rate is 80 percent (4/5), round-trip min/avg/max = 692/1121/1388 ms&lt;br /&gt;&lt;br /&gt;CUSTA1#ping 7.7.7.7&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;For customer A&lt;/strong&gt;&lt;br /&gt;Type escape sequence to abort.&lt;br /&gt;Sending 5, 100-byte ICMP Echos to 7.7.7.7, timeout is 2 seconds:&lt;br /&gt;!!!!!&lt;br /&gt;Success rate is 60 percent (5/5), round-trip min/avg/max = 792/1004/1228 ms&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2418082835537995017-5672676864177728875?l=routerric.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://routerric.blogspot.com/feeds/5672676864177728875/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2418082835537995017&amp;postID=5672676864177728875' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/5672676864177728875'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/5672676864177728875'/><link rel='alternate' type='text/html' href='http://routerric.blogspot.com/2009/07/mpls-bgp-l3-vpn.html' title='MPLS - BGP L3 VPN'/><author><name>richsd1</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/--YOija8WuTM/TsAonUOe5wI/AAAAAAAAAPg/hT87gnDHaJg/s220/DSCN0197.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_fmDP85Ew2Ek/Smk8ZSyBSgI/AAAAAAAAAMQ/_mK6TJYul18/s72-c/VRF+LOGICAL.jpg' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2418082835537995017.post-1312626978976591889</id><published>2009-07-16T21:26:00.000-07:00</published><updated>2009-07-16T22:05:26.855-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='QOS - MQC shape average vs shape peak'/><title type='text'>QOS - MQC shape average vs shape peak</title><content type='html'>The operation of shape peak is exactly the same as shape average:it calculates the default bc in the same manner, except, that each interval it gets to fill up the Be bucket as well. With the shape average command the excess burst is only sent if the bc bucket is full i.e. after periods of inactivity.&lt;br /&gt;&lt;br /&gt;If a network has additional bandwidth available (over the provisioned CIR) and the application can tolerate occasional packet loss, the extra bandwidth can be exploited through the use of peak rate shaping. There may be occasional packet drops when network congestion occurs. &lt;br /&gt;&lt;br /&gt;If the traffic being sent to the network must strictly conform to the configured network provisioned CIR, then use average traffic shaping. &lt;br /&gt;&lt;br /&gt;If you had: shape peak 8000&lt;br /&gt;&lt;br /&gt;We get a default tc of 1/8th of a second which gives us a bc of 1000 and a be of the same value. So the sending rate equals bc + be per tc or 16000. The rate equation is as follows&lt;br /&gt;&lt;br /&gt;peak rate = CIR * (1 + Be/Bc)&lt;br /&gt;peak rate = 8000 * (1 + 10/10) = 16000&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;In summary&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;shape average 8000&lt;/strong&gt;    equates to a tcp traffic flow of 8000 bps. &lt;br /&gt;&lt;strong&gt;shape peak 8000 &lt;/strong&gt;    equates to tcp traffic flow of 16000 bps.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;R1&lt;br /&gt;policy-map RICH&lt;br /&gt;class class-default&lt;br /&gt;shape average 8000 1000 1000&lt;br /&gt;&lt;br /&gt;int fa0/0&lt;br /&gt;policy-map output RICH&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;show policy-map int fa0/0&lt;br /&gt;  Service-policy output: RICH&lt;br /&gt;&lt;br /&gt;    Class-map: class-default (match-any)&lt;br /&gt;      86 packets, 7295 bytes&lt;br /&gt;      5 minute offered rate 0 bps, drop rate 0 bps&lt;br /&gt;      Match: any&lt;br /&gt;      Traffic Shaping&lt;br /&gt;           Target/Average   Byte   Sustain   Excess    Interval  Increment&lt;br /&gt;             Rate           Limit  bits/int  bits/int  (ms)      (bytes)&lt;br /&gt;             &lt;strong&gt;8000&lt;/strong&gt;/8000      250    1000      1000      125       125&lt;br /&gt;&lt;br /&gt;        Adapt  Queue     Packets   Bytes     Packets   Bytes     Shaping&lt;br /&gt;        Active Depth                         Delayed   Delayed   Active&lt;br /&gt;        -      0         86        7295      0         0         no&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;R1&lt;br /&gt;policy-map RICH&lt;br /&gt;class class-default&lt;br /&gt;shape peak 8000 1000 1000&lt;br /&gt;&lt;br /&gt;int fa0/0&lt;br /&gt;policy-map output RICH&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;show policy-map int fa0/0&lt;br /&gt; Service-policy output: RICH&lt;br /&gt;&lt;br /&gt;   Class-map: class-default (match-any)&lt;br /&gt;     159 packets, 13622 bytes&lt;br /&gt;     5 minute offered rate 0 bps, drop rate 0 bps&lt;br /&gt;     Match: any&lt;br /&gt;     Traffic Shaping&lt;br /&gt;          Target/Average   Byte   Sustain   Excess    Interval  Increment&lt;br /&gt;            Rate           Limit  bits/int  bits/int  (ms)      (bytes)&lt;br /&gt;           &lt;strong&gt;16000&lt;/strong&gt;/8000      250    1000      1000      125       250&lt;br /&gt;&lt;br /&gt;       Adapt  Queue     Packets   Bytes     Packets   Bytes     Shaping&lt;br /&gt;       Active Depth                         Delayed   Delayed   Active&lt;br /&gt;       -      0         4         298       0         0         no&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2418082835537995017-1312626978976591889?l=routerric.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://routerric.blogspot.com/feeds/1312626978976591889/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2418082835537995017&amp;postID=1312626978976591889' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/1312626978976591889'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/1312626978976591889'/><link rel='alternate' type='text/html' href='http://routerric.blogspot.com/2009/07/qos-mqc-shape-average-vs-shape-peak.html' title='QOS - MQC shape average vs shape peak'/><author><name>richsd1</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/--YOija8WuTM/TsAonUOe5wI/AAAAAAAAAPg/hT87gnDHaJg/s220/DSCN0197.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2418082835537995017.post-8831874745541660162</id><published>2009-07-13T21:41:00.001-07:00</published><updated>2009-07-13T22:37:21.218-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='QOS - MQC Policer'/><title type='text'>QOS - MQC Policer</title><content type='html'>&lt;a href="http://4.bp.blogspot.com/_fmDP85Ew2Ek/SlwShs-_GHI/AAAAAAAAAMA/49LG6aIS5W0/s1600-h/police.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 135px; height: 101px;" src="http://4.bp.blogspot.com/_fmDP85Ew2Ek/SlwShs-_GHI/AAAAAAAAAMA/49LG6aIS5W0/s400/police.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5358178026884372594" /&gt;&lt;/a&gt;&lt;br /&gt;The lab requirement here is to meter incoming HTTP traffic.  When the traffic rate is less than 256kbps packets should be marked with precedence 4, and when the traffic exceeds 256kbps the traffic should be marked with precedence 0. The normal burst duration is 100 ms amd and an excess burst of 100ms should be allowed. Traffic exceeding these parameters should be dropped.&lt;br /&gt;&lt;br /&gt;With the policing config the traffic rate is configured as bps wherease the burst size is configured in bytes.  For a burst duration of 100ms then the burst size is calculated as follows: 256000 / 10 / 8 = 3200&lt;br /&gt;&lt;br /&gt;I apply the configuration on R1 as follows&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;R1&lt;br /&gt;class-map HTTP&lt;br /&gt;match protocol http&lt;br /&gt;&lt;br /&gt;policy-map POLICE&lt;br /&gt;class HTTP&lt;br /&gt;police 256000 bc 3200 be 3200 conform-action set-prec-transmit 4 exceed-action set-prec-transmit 0 violate-action drop&lt;br /&gt;&lt;br /&gt;int fa0/0&lt;br /&gt;service-policy input POLICE&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Verification&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Router_1#show policy-map int fa0/0&lt;br /&gt; FastEthernet0/0&lt;br /&gt;&lt;br /&gt;  Service-policy input: POLICE&lt;br /&gt;&lt;br /&gt;    Class-map: HTTP (match-all)&lt;br /&gt;      0 packets, 0 bytes&lt;br /&gt;      5 minute offered rate 0 bps, drop rate 0 bps&lt;br /&gt;      Match: protocol http&lt;br /&gt;      police:&lt;br /&gt;          cir 256000 bps, bc 3200 bytes, be 3200 bytes&lt;br /&gt;        conformed 0 packets, 0 bytes; actions:&lt;br /&gt;          set-prec-transmit 4&lt;br /&gt;        exceeded 0 packets, 0 bytes; actions:&lt;br /&gt;          set-prec-transmit 0&lt;br /&gt;        violated 0 packets, 0 bytes; actions:&lt;br /&gt;          drop&lt;br /&gt;        conformed 0 bps, exceed 0 bps, violate 0 bps&lt;br /&gt;&lt;br /&gt;    Class-map: class-default (match-any)&lt;br /&gt;      0 packets, 0 bytes&lt;br /&gt;      5 minute offered rate 0 bps, drop rate 0 bps&lt;br /&gt;      Match: any&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;A further addendum to this post is the ability to police individual traffic flows inside an pre-existing policer!&lt;br /&gt;&lt;br /&gt;For example, R1 is on a LAN segment connected to R6 and R4.  A further requirement might be that traffic flows from these routers should only be able to consume half of the available bandwidth i.e. 128kbps each.  This can be achieved by nesting policers as follows.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;ip access-list extended R4&lt;br /&gt;permit ip host 155.1.146.4 any&lt;br /&gt;ip access-list extended R6&lt;br /&gt;permit ip host 155.1.146.6 any&lt;br /&gt;&lt;br /&gt;class-map R4&lt;br /&gt;match access-group name R4&lt;br /&gt;class-map R6&lt;br /&gt;match access-group name R6&lt;br /&gt;&lt;br /&gt;policy-map POLICE2&lt;br /&gt;class R4&lt;br /&gt;POLICE 128000 1600 1600 conform-action set-prec-transmit 4 exceed-action set-prec-transmit 0 violate-action drop&lt;br /&gt;class R6&lt;br /&gt;POLICE 128000 1600 1600 conform-action set-prec-transmit 4 exceed-action set-prec-transmit 0 violate-action drop&lt;br /&gt;&lt;br /&gt;policy-map POLICE&lt;br /&gt;class HTTP&lt;br /&gt;police 256000 bc 3200 be 3200 conform-action transmit exceed-action set-prec-transmit 0 violate-action drop&lt;br /&gt;service-policy POLICE2&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Verification&lt;br /&gt;&lt;br /&gt;Router_1#s policy-map int fa0/0&lt;br /&gt; FastEthernet0/0&lt;br /&gt;&lt;br /&gt;  Service-policy input: POLICE&lt;br /&gt;&lt;br /&gt;    Class-map: HTTP (match-all)&lt;br /&gt;      0 packets, 0 bytes&lt;br /&gt;      5 minute offered rate 0 bps, drop rate 0 bps&lt;br /&gt;      Match: protocol http&lt;br /&gt;      police:&lt;br /&gt;          cir 256000 bps, bc 3200 bytes, be 3200 bytes&lt;br /&gt;        conformed 0 packets, 0 bytes; actions:&lt;br /&gt;          set-prec-transmit 4&lt;br /&gt;          transmit&lt;br /&gt;        exceeded 0 packets, 0 bytes; actions:&lt;br /&gt;          set-prec-transmit 0&lt;br /&gt;        violated 0 packets, 0 bytes; actions:&lt;br /&gt;          drop&lt;br /&gt;        conformed 0 bps, exceed 0 bps, violate 0 bps&lt;br /&gt;&lt;br /&gt;      Service-policy : POLICE2&lt;br /&gt;&lt;br /&gt;        Class-map: R4 (match-all)&lt;br /&gt;          0 packets, 0 bytes&lt;br /&gt;          5 minute offered rate 0 bps, drop rate 0 bps&lt;br /&gt;          Match: access-group name R4&lt;br /&gt;          police:&lt;br /&gt;              cir 128000 bps, bc 1600 bytes, be 1600 bytes&lt;br /&gt;            conformed 0 packets, 0 bytes; actions:&lt;br /&gt;              set-prec-transmit 4&lt;br /&gt;            exceeded 0 packets, 0 bytes; actions:&lt;br /&gt;              set-prec-transmit 0&lt;br /&gt;            violated 0 packets, 0 bytes; actions:&lt;br /&gt;              drop&lt;br /&gt;            conformed 0 bps, exceed 0 bps, violate 0 bps&lt;br /&gt;&lt;br /&gt;        Class-map: R6 (match-all)&lt;br /&gt;          0 packets, 0 bytes&lt;br /&gt;          5 minute offered rate 0 bps, drop rate 0 bps&lt;br /&gt;          Match: access-group name R6&lt;br /&gt;          police:&lt;br /&gt;              cir 128000 bps, bc 1600 bytes, be 1600 bytes&lt;br /&gt;            conformed 0 packets, 0 bytes; actions:&lt;br /&gt;              set-prec-transmit 4&lt;br /&gt;            exceeded 0 packets, 0 bytes; actions:&lt;br /&gt;              set-prec-transmit 0&lt;br /&gt;            violated 0 packets, 0 bytes; actions:&lt;br /&gt;              drop&lt;br /&gt;            conformed 0 bps, exceed 0 bps, violate 0 bps&lt;br /&gt;&lt;br /&gt;        Class-map: class-default (match-any)&lt;br /&gt;          0 packets, 0 bytes&lt;br /&gt;          5 minute offered rate 0 bps, drop rate 0 bps&lt;br /&gt;          Match: any&lt;br /&gt;&lt;br /&gt;    Class-map: class-default (match-any)&lt;br /&gt;      0 packets, 0 bytes&lt;br /&gt;      5 minute offered rate 0 bps, drop rate 0 bps&lt;br /&gt;      Match: any&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2418082835537995017-8831874745541660162?l=routerric.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://routerric.blogspot.com/feeds/8831874745541660162/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2418082835537995017&amp;postID=8831874745541660162' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/8831874745541660162'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/8831874745541660162'/><link rel='alternate' type='text/html' href='http://routerric.blogspot.com/2009/07/qos-mqc-policer.html' title='QOS - MQC Policer'/><author><name>richsd1</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/--YOija8WuTM/TsAonUOe5wI/AAAAAAAAAPg/hT87gnDHaJg/s220/DSCN0197.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_fmDP85Ew2Ek/SlwShs-_GHI/AAAAAAAAAMA/49LG6aIS5W0/s72-c/police.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2418082835537995017.post-5420850778800647554</id><published>2009-07-10T22:09:00.000-07:00</published><updated>2009-07-10T22:10:40.395-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='QOS - FRTS PVC Priority Queue'/><title type='text'>QOS - FRTS PVC Priority Queue</title><content type='html'>Within frame relay it is possible to prioritise one vcs traffic over and above another. &lt;br /&gt;A priority queue for PVCS!!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;map-class frame-relay DLCI_503&lt;br /&gt;frame-relay interface-queue priority high&lt;br /&gt;map-class frame-relay DLCI_502&lt;br /&gt;frame-relay interface-queue priority medium&lt;br /&gt;map-class frame-relay DEFAULT&lt;br /&gt;frame-relay interface-queue priority low&lt;br /&gt;&lt;br /&gt;int s2/0&lt;br /&gt;frame-relay interface-queue priority&lt;br /&gt;frame-relay class DEFAULT&lt;br /&gt;frame-relay interface-dlci 503&lt;br /&gt;class DLCI_503&lt;br /&gt;frame-relay interface-dlci 502&lt;br /&gt;class DLCI_502&lt;/strong&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2418082835537995017-5420850778800647554?l=routerric.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://routerric.blogspot.com/feeds/5420850778800647554/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2418082835537995017&amp;postID=5420850778800647554' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/5420850778800647554'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/5420850778800647554'/><link rel='alternate' type='text/html' href='http://routerric.blogspot.com/2009/07/qos-frts-pvc-priority-queue.html' title='QOS - FRTS PVC Priority Queue'/><author><name>richsd1</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/--YOija8WuTM/TsAonUOe5wI/AAAAAAAAAPg/hT87gnDHaJg/s220/DSCN0197.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2418082835537995017.post-4270494028913630176</id><published>2009-07-09T21:52:00.000-07:00</published><updated>2009-07-09T21:57:07.150-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='QOS - FRTS custom queue'/><title type='text'>QOS - FRTS custom queue</title><content type='html'>Here i define a Frame Relay custom queue on dlci 502 on R5.&lt;br /&gt;&lt;br /&gt;www traffic is defined to use 50% of the bandwidth, telnet traffic 30% and everything else is defined to use the default queue with a  20% share of the bandwitdh.&lt;br /&gt;&lt;br /&gt;Additionally the queue size is set to 40 packets for the queues in use i.e. 1-3.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;queue-list 2 protocol ip 1 tcp www&lt;br /&gt;queue-list 2 protocol ip 2 tcp telnet&lt;br /&gt;queue-list 2 default 3&lt;br /&gt;queue-list 2 queue 1 byte-count 500 limit 40&lt;br /&gt;queue-list 2 queue 2 byte-count 300 limit 40&lt;br /&gt;queue-list 2 queue 3 byte-count 200 limit 40&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;&lt;br /&gt;map-class frame-relay DLCI_502&lt;br /&gt; frame-relay cir 128000&lt;br /&gt; frame-relay bc 1280&lt;br /&gt; frame-relay be 0&lt;br /&gt; frame-relay custom-queue-list 2&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;For verification i use the &lt;span style="font-weight:bold;"&gt;show traffic-shape queue&lt;/span&gt; command and the &lt;span style="font-weight:bold;"&gt;show frame pvc 502&lt;/span&gt; command.&lt;br /&gt;&lt;br /&gt;Router_5#show traffic-shape queue&lt;br /&gt;Traffic queued in shaping queue on Serial2/0 dlci 501&lt;br /&gt;  Queueing strategy: fcfs&lt;br /&gt;Traffic queued in shaping queue on Serial2/0 dlci 504&lt;br /&gt;  Queueing strategy: fcfs&lt;br /&gt;Traffic queued in shaping queue on Serial2/0 dlci 503&lt;br /&gt;  Queueing strategy: fcfs&lt;br /&gt;Traffic queued in shaping queue on Serial2/0 dlci 502&lt;br /&gt;  Queueing strategy: custom-queue list 2&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Router_5#show frame pvc 502&lt;br /&gt;&lt;br /&gt;PVC Statistics for interface Serial2/0 (Frame Relay DTE)&lt;br /&gt;&lt;br /&gt;DLCI = 502, DLCI USAGE = LOCAL, PVC STATUS = ACTIVE, INTERFACE = Serial2/0&lt;br /&gt;&lt;br /&gt;  input pkts 48            output pkts 67           in bytes 1548&lt;br /&gt;  out bytes 2227           dropped pkts 0           in pkts dropped 0&lt;br /&gt;  out pkts dropped 0                out bytes dropped 0&lt;br /&gt;  in FECN pkts 0           in BECN pkts 0           out FECN pkts 0&lt;br /&gt;  out BECN pkts 0          in DE pkts 0             out DE pkts 0&lt;br /&gt;  out bcast pkts 0         out bcast bytes 0&lt;br /&gt;  5 minute input rate 0 bits/sec, 0 packets/sec&lt;br /&gt;  5 minute output rate 0 bits/sec, 0 packets/sec&lt;br /&gt;  pvc create time 00:19:07, last time pvc status changed 00:17:28&lt;br /&gt;  cir 128000    bc 1280      be 0         byte limit 160    interval 10&lt;br /&gt;  mincir 64000     byte increment 160   Adaptive Shaping none&lt;br /&gt;  pkts 79        bytes 2371      pkts delayed 0         bytes delayed 0&lt;br /&gt;  shaping inactive&lt;br /&gt;  traffic shaping drops 0&lt;br /&gt;  Queueing strategy: custom-list 2&lt;br /&gt;&lt;br /&gt;List   Queue  Args&lt;br /&gt;2      3      default&lt;br /&gt;&lt;br /&gt;List   Queue  Args&lt;br /&gt;2      1      protocol ip          tcp port www&lt;br /&gt;2      2      protocol ip          tcp port telnet&lt;br /&gt;2      1      byte-count 500 limit 40&lt;br /&gt;2      2      byte-count 300 limit 40&lt;br /&gt;2      3      byte-count 200 limit 40&lt;br /&gt;  Output queues: (queue #: size/max/drops/dequeued)&lt;br /&gt;     0: 0/20/0/0 1: 0/40/0/0 2: 0/40/0/0 3: 0/40/0/0 4: 0/20/0/0&lt;br /&gt;     5: 0/20/0/0 6: 0/20/0/0 7: 0/20/0/0 8: 0/20/0/0 9: 0/20/0/0&lt;br /&gt;     10: 0/20/0/0 11: 0/20/0/0 12: 0/20/0/0 13: 0/20/0/0 14: 0/20/0/0&lt;br /&gt;     15: 0/20/0/0 16: 0/20/0/0&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2418082835537995017-4270494028913630176?l=routerric.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://routerric.blogspot.com/feeds/4270494028913630176/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2418082835537995017&amp;postID=4270494028913630176' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/4270494028913630176'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/4270494028913630176'/><link rel='alternate' type='text/html' href='http://routerric.blogspot.com/2009/07/qos-frts-custom-queue.html' title='QOS - FRTS custom queue'/><author><name>richsd1</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/--YOija8WuTM/TsAonUOe5wI/AAAAAAAAAPg/hT87gnDHaJg/s220/DSCN0197.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2418082835537995017.post-5242044557155139354</id><published>2009-07-08T22:16:00.000-07:00</published><updated>2009-07-08T22:27:27.694-07:00</updated><title type='text'>QOS - FRTS priority queue</title><content type='html'>Priority queueing can also be applied on a per VC basis. Configuration of the priority queues and flows is done in the standard manner.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;access-list 150 permit tcp any any eq www&lt;br /&gt;access-list 151 permit udp any any eq tftp&lt;br /&gt;access-list 152 permit tcp any any eq cmd&lt;br /&gt;&lt;br /&gt;priority-list 1 protocol ip high list 151&lt;br /&gt;priority-list 1 protocol ip medium list 150&lt;br /&gt;priority-list 1 protocol ip normal list 152&lt;br /&gt;priority-list 1 default low&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;To apply the priority queueing this is NOT done under the interface. Without thinking i tried this and received the following error.&lt;br /&gt;&lt;br /&gt;Router_5(config)#int s2/0&lt;br /&gt;Router_5(config-if)#priority-group 1&lt;br /&gt;Cannot change interface queuing when Frame-Relay traffic-shapi&lt;br /&gt;ng is configured&lt;br /&gt;&lt;br /&gt;For per VC priority queueing the priority queue must be applied to the map class used by the VC.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;map-class DLCI_503&lt;br /&gt;frame-relay priority-group 1&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;This can then be verified using the &lt;strong&gt;show traffic-shape queue &lt;/strong&gt;command and the &lt;strong&gt;show frame pvc 503 &lt;/strong&gt;commands.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Router_5#show traffic-shape queue&lt;br /&gt;Traffic queued in shaping queue on Serial2/0 dlci 501&lt;br /&gt;  Queueing strategy: fcfs&lt;br /&gt;Traffic queued in shaping queue on Serial2/0 dlci 504&lt;br /&gt;  Queueing strategy: fcfs&lt;br /&gt;&lt;strong&gt;Traffic queued in shaping queue on Serial2/0 dlci 503&lt;br /&gt;  Queueing strategy: priority-group 1&lt;/strong&gt;&lt;br /&gt;Traffic queued in shaping queue on Serial2/0 dlci 502&lt;br /&gt;  Queueing strategy: fcfs&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Router_5#show frame-relay pvc 503&lt;br /&gt;&lt;br /&gt;PVC Statistics for interface Serial2/0 (Frame Relay DTE)&lt;br /&gt;&lt;br /&gt;DLCI = 503, DLCI USAGE = LOCAL, PVC STATUS = ACTIVE, INTERFACE = Serial2/&lt;br /&gt;&lt;br /&gt;  input pkts 71            output pkts 68           in bytes 6372&lt;br /&gt;  out bytes 6608           dropped pkts 0           in pkts dropped 0&lt;br /&gt;  out pkts dropped 0                out bytes dropped 0&lt;br /&gt;  in FECN pkts 0           in BECN pkts 0           out FECN pkts 0&lt;br /&gt;  out BECN pkts 0          in DE pkts 0             out DE pkts 0&lt;br /&gt;  out bcast pkts 0         out bcast bytes 0&lt;br /&gt;  5 minute input rate 0 bits/sec, 0 packets/sec&lt;br /&gt;  5 minute output rate 0 bits/sec, 0 packets/sec&lt;br /&gt;  pvc create time 00:30:32, last time pvc status changed 00:28:53&lt;br /&gt;  cir 256000    bc 2560      be 0         byte limit 320    interval 10&lt;br /&gt;  mincir 128000    byte increment 320   Adaptive Shaping none&lt;br /&gt;  pkts 43        bytes 3952      pkts delayed 0         bytes delayed 0&lt;br /&gt;  shaping inactive&lt;br /&gt;  traffic shaping drops 0&lt;br /&gt;  &lt;strong&gt;Queueing strategy: priority-list 1&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;List   Queue  Args&lt;br /&gt;1      low    default&lt;br /&gt;&lt;br /&gt;List   Queue  Args&lt;br /&gt;1      high   protocol ip          list 151&lt;br /&gt;1      medium protocol ip          list 150&lt;br /&gt;1      normal protocol ip          list 152&lt;br /&gt;  Output queue: high 0/20/0, medium 0/40/0, normal 0/60/0, low 0/80/0&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2418082835537995017-5242044557155139354?l=routerric.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://routerric.blogspot.com/feeds/5242044557155139354/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2418082835537995017&amp;postID=5242044557155139354' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/5242044557155139354'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/5242044557155139354'/><link rel='alternate' type='text/html' href='http://routerric.blogspot.com/2009/07/qos-frts-priority-queue.html' title='QOS - FRTS priority queue'/><author><name>richsd1</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/--YOija8WuTM/TsAonUOe5wI/AAAAAAAAAPg/hT87gnDHaJg/s220/DSCN0197.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2418082835537995017.post-4705440858511118556</id><published>2009-07-07T22:19:00.000-07:00</published><updated>2009-07-08T22:28:11.306-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='QOS - FRTS fair queue'/><title type='text'>QOS - FRTS fair queue</title><content type='html'>By default the queue will be FIFO or fcfs (first come first served). This can be seen by executing the show traffic-shape queue command. &lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Router_3#show traffic-shape queue&lt;br /&gt;Traffic queued in shaping queue on Serial2/0 dlci 305&lt;br /&gt;  Queueing strategy: fcfs&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Effectively this queueing mechanism is a 'per interface' queue. Per-VC WFQ can be enabled using the &lt;strong&gt;frame-relay fair-queue&lt;/strong&gt; command.&lt;br /&gt;&lt;br /&gt;map-class frame-relay DLCI_305&lt;br /&gt; frame-relay cir 384000&lt;br /&gt; frame-relay bc 3840&lt;br /&gt; frame-relay be 0&lt;br /&gt; frame-relay mincir 256000&lt;br /&gt; frame-relay adaptive-shaping becn&lt;br /&gt; frame-relay adaptive-shaping interface-congestion&lt;br /&gt; &lt;strong&gt;frame-relay fair-queue 16 32 0 512&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;The change can be verified using the show traffic-shape queue command&lt;br /&gt;&lt;br /&gt;Router_3#show traffic-shape queue&lt;br /&gt;Traffic queued in shaping queue on Serial2/0 dlci 305&lt;br /&gt;  Queueing strategy: weighted fair&lt;br /&gt;  Queueing Stats: 0/512/16/0 (size/max total/threshold/drops)&lt;br /&gt;     Conversations  0/0/32 (active/max active/max total)&lt;br /&gt;     Reserved Conversations 0/0 (allocated/max allocated)&lt;br /&gt;     Available Bandwidth 256 kilobits/sec&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2418082835537995017-4705440858511118556?l=routerric.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://routerric.blogspot.com/feeds/4705440858511118556/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2418082835537995017&amp;postID=4705440858511118556' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/4705440858511118556'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/4705440858511118556'/><link rel='alternate' type='text/html' href='http://routerric.blogspot.com/2009/07/qos-frts-queue.html' title='QOS - FRTS fair queue'/><author><name>richsd1</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/--YOija8WuTM/TsAonUOe5wI/AAAAAAAAAPg/hT87gnDHaJg/s220/DSCN0197.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2418082835537995017.post-766717936034222916</id><published>2009-07-07T21:55:00.000-07:00</published><updated>2009-07-07T21:59:39.692-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='QOS - FRTS adapative shaping'/><title type='text'>QOS - FRTS adaptive shaping</title><content type='html'>&lt;strong&gt;R3 ------- R5&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;The lab requirement is to allow router 3 to 'oversubcribe' the link TO router 5 at 384k. The provider actually guarantees 256k.&lt;br /&gt;In this situation the cir is set to the 'oversubcribed' rate and the mincir is set to the providers guaranteed rate.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Router 3&lt;br /&gt;map-class frame-relay DLCI_305&lt;br /&gt; frame-relay cir 384000&lt;br /&gt; frame-relay mincir 256000&lt;br /&gt; frame-relay bc 3840&lt;br /&gt; frame-relay be 0&lt;br /&gt; frame-relay adaptive-shaping becn&lt;br /&gt; frame-relay adaptive-shaping interface-congestion&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;frame-relay adaptive-shaping becn&lt;/strong&gt; allows the router to adjust its sending rate down to minCIR when BECNs are received from the provider cloud. &lt;br /&gt;&lt;br /&gt;&lt;strong&gt;frame-relay fecn-adapt&lt;/strong&gt; when set on the receiving router enables it to generate BECNs when a FECN is received from the provider cloud.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Router 5&lt;br /&gt;map-class frame-relay DLCI_503&lt;br /&gt;  frame-relay fecn-adapt&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Also in this scenario, the feature &lt;strong&gt;frame-relay adaptive-shaping interface-congestion&lt;/strong&gt; enables the sending router to slow down transmission when the interface queue reaches its threshold.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2418082835537995017-766717936034222916?l=routerric.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://routerric.blogspot.com/feeds/766717936034222916/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2418082835537995017&amp;postID=766717936034222916' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/766717936034222916'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/766717936034222916'/><link rel='alternate' type='text/html' href='http://routerric.blogspot.com/2009/07/qos-frts-adaptive-shaping.html' title='QOS - FRTS adaptive shaping'/><author><name>richsd1</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/--YOija8WuTM/TsAonUOe5wI/AAAAAAAAAPg/hT87gnDHaJg/s220/DSCN0197.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2418082835537995017.post-2654468065799414157</id><published>2009-07-07T02:47:00.000-07:00</published><updated>2009-07-07T02:50:18.097-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='QOS - FRTS'/><title type='text'>QOS - FRTS</title><content type='html'>FRTS or Frame Relay Traffic shaping was intended as a replacement to GTS. It allows a more granular approach to QOS with shaping per VC.&lt;br /&gt;&lt;br /&gt;Once traffic shaping is enabled on a physical interafce a CIR of 56kbps and a tc of 125ms applies.  Configuration parameters are defined using the &lt;strong&gt;map-class frame-relay &lt;/strong&gt;command and are then applied to the interface using &lt;strong&gt;frame-relay interface-dlci xxx&lt;/strong&gt;.&lt;br /&gt;&lt;br /&gt;In this example R3 and R5 and connected via a frame-relay circuit. The CIR is 256k, with bursts up to 384k permitted. R5 must not overwhelm R3 i.e. it must conform to the CIR of R3.&lt;br /&gt;&lt;br /&gt;Router 3&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;map-class frame-relay DLCI_305&lt;br /&gt; frame-relay cir 256000&lt;br /&gt; frame-relay bc 2560&lt;br /&gt; frame-relay be 1280&lt;br /&gt;&lt;br /&gt;interface Serial2/0&lt;br /&gt;frame-relay traffic-shaping&lt;br /&gt;frame-relay interface-dlci 305&lt;br /&gt; class DLCI_305&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Router 5&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;map-class frame-relay DLCI_503&lt;br /&gt; frame-relay cir 256000&lt;br /&gt; frame-relay bc 2560&lt;br /&gt; frame-relay be 0&lt;br /&gt;&lt;br /&gt;interface Serial2/0&lt;br /&gt;frame-relay traffic-shaping&lt;br /&gt;frame-relay interface-dlci 503&lt;br /&gt; class DLCI_503&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Once applied the configuration can be verified with the show traffic-shape command&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Router_3#show traffic-shape&lt;br /&gt;&lt;br /&gt;Interface   Se2/0&lt;br /&gt;       Access Target    Byte   Sustain   Excess    Interval  Increment Adapt&lt;br /&gt;VC     List   Rate      Limit  bits/int  bits/int  (ms)      (bytes)   Active&lt;br /&gt;305           256000    480    2560      1280      10        320       -&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;FRTS employs a three tiered approach to queueing. The per vc queues, then the main interface queue, followed by the physical interface transmit ring. These can all be adjusted as follows&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;per vc FIFO: frame-relay holdq&lt;br /&gt;interface FIFO: hold-queue&lt;br /&gt;transmit-ring: tx-ring-limit&lt;/strong&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2418082835537995017-2654468065799414157?l=routerric.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://routerric.blogspot.com/feeds/2654468065799414157/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2418082835537995017&amp;postID=2654468065799414157' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/2654468065799414157'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/2654468065799414157'/><link rel='alternate' type='text/html' href='http://routerric.blogspot.com/2009/07/qos-frts.html' title='QOS - FRTS'/><author><name>richsd1</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/--YOija8WuTM/TsAonUOe5wI/AAAAAAAAAPg/hT87gnDHaJg/s220/DSCN0197.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2418082835537995017.post-1430029871847250857</id><published>2009-07-06T22:41:00.000-07:00</published><updated>2009-07-06T22:44:21.714-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='QOS - CAR'/><title type='text'>QOS - CAR</title><content type='html'>CAR or Committed Access Rate&lt;br /&gt;&lt;br /&gt;The lab topology and requirement in the post is the same as with the QOS - GTS post.&lt;br /&gt;This time it is achieved using CAR.&lt;br /&gt;&lt;br /&gt;TOPOLOGY: R2 ------ R3 ------ R1 ------ R4&lt;br /&gt;&lt;br /&gt;The LAB requirement is to use CAR to limit the traffic flow to R4. &lt;br /&gt;Packets destined to R4 loopback (150.1.4.4) is allowed 16k and packets destined to R4 fa0/0 (155.1.148.4) is allowed only 8K.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;br /&gt;Router_1&lt;br /&gt;int fa0/0&lt;br /&gt;rate-limit access-group 100 8000 1000 2000 conform-action continue exceed-action drop&lt;br /&gt;rate-limit access-group 101 16000 1000 2000 conform-action continue exceed-action drop&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;I execute pings from R3 and R2&lt;br /&gt;&lt;br /&gt;Router_3#ping 155.1.148.4 size 4000 repeat 1000 timeout 1&lt;br /&gt;Router_2#ping 155.1.148.4 size 4000 repeat 1000 timeout 1&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I now verify the rate limiting on R1&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Router 1&lt;br /&gt;show int fa0/0 rate-limit&lt;/strong&gt;&lt;br /&gt;FastEthernet0/0&lt;br /&gt;  Output&lt;br /&gt;    matches: access-group 100&lt;br /&gt;      params:  8000 bps, 1500 limit, 2000 extended limit&lt;br /&gt;      conformed 59 packets, 65866 bytes; action: transmit&lt;br /&gt;      exceeded 136 packets, 199464 bytes; action: drop&lt;br /&gt;      last packet: 20ms ago, current burst: 1810 bytes&lt;br /&gt;      last cleared 00:01:04 ago, conformed 8000 bps, exceeded 24000 bps&lt;br /&gt;    matches: access-group 101&lt;br /&gt;      params:  16000 bps, 1500 limit, 2000 extended limit&lt;br /&gt;      conformed 95 packets, 130030 bytes; action: transmit&lt;br /&gt;      exceeded 100 packets, 135300 bytes; action: drop&lt;br /&gt;      last packet: 36ms ago, current burst: 1676 bytes&lt;br /&gt;      last cleared 00:01:04 ago, conformed 16000 bps, exceeded 16000 bps&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2418082835537995017-1430029871847250857?l=routerric.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://routerric.blogspot.com/feeds/1430029871847250857/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2418082835537995017&amp;postID=1430029871847250857' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/1430029871847250857'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/1430029871847250857'/><link rel='alternate' type='text/html' href='http://routerric.blogspot.com/2009/07/qos-car.html' title='QOS - CAR'/><author><name>richsd1</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/--YOija8WuTM/TsAonUOe5wI/AAAAAAAAAPg/hT87gnDHaJg/s220/DSCN0197.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2418082835537995017.post-3070296664596625499</id><published>2009-07-06T22:02:00.000-07:00</published><updated>2009-07-06T22:15:14.082-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='QOS - GTS'/><title type='text'>QOS - GTS</title><content type='html'>TOPOLOGY:           R2 ------ R3 ------ R1 ------ R4&lt;br /&gt;&lt;br /&gt;GTS or generic traffic shaping.  This predates MQC.&lt;br /&gt;The LAB requirement here is to use GTS to limit the traffic flow to R4. Packets destined to R4 loopback (150.1.4.4) is allowed 16k and packets destined to R4 fa0/0 (155.1.148.4) is allowed only 8K.&lt;br /&gt;&lt;br /&gt;I create two acls matching the required traffic flows on R1&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;access-list 100 permit ip any 155.1.148.0 0.0.0.255&lt;br /&gt;access-list 101 permit ip any 150.1.4.0 0.0.0.255&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I apply 2 traffic-shape commands to the fa0/0 interface on R1.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;interface FastEthernet0/0&lt;br /&gt; ip address 155.1.148.1 255.255.255.0&lt;br /&gt; duplex half&lt;br /&gt; traffic-shape group 100 8000 1000 2000 10&lt;br /&gt; traffic-shape group 101 16000 1000 2000 10&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;I execute 2 pings: One from R3 to fa0/0 on R4, and one from R2 to lo0 on R4.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Router_3#ping 155.1.148.4 size 2000 repeat 1000 timeout 1&lt;br /&gt;Router_2#ping 150.1.4.4 size 2000 repeat 1000 timeout 1&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;I then examine the traffic shaping with the following three commands on R1.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;show traffic-shape&lt;br /&gt;show traffic-shape statistics&lt;br /&gt;show traffic-shape queue fa0/0&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Router_1#show traffic-shape&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Interface   Fa0/0&lt;br /&gt;       Access Target    Byte   Sustain   Excess    Interval  Increment Adapt&lt;br /&gt;VC     List   Rate      Limit  bits/int  bits/int  (ms)      (bytes)   Active&lt;br /&gt;-      100    8000      375    1000      2000      125       125       -&lt;br /&gt;-      101    16000     375    1000      2000      62        125       -&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Router_1#show traffic-shape queue fa0/0&lt;/strong&gt;&lt;br /&gt;Traffic queued in shaping queue on FastEthernet0/0&lt;br /&gt; Traffic shape group: 100&lt;br /&gt;  Queueing strategy: weighted fair&lt;br /&gt;  Queueing Stats: 10/10/64/46 (size/max total/threshold/drops)&lt;br /&gt;     Conversations  1/1/16 (active/max active/max total)&lt;br /&gt;     Reserved Conversations 0/0 (allocated/max allocated)&lt;br /&gt;     Available Bandwidth 8 kilobits/sec&lt;br /&gt;&lt;br /&gt;  (depth/weight/total drops/no-buffer drops/interleaves) 10/4048/46/0/0&lt;br /&gt;  Conversation 1, linktype: ip, length: 1514&lt;br /&gt;  source: 155.1.13.3, destination: 155.1.148.4, id: 0x002B, ttl: 254, prot: 1&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; Traffic shape group: 101&lt;br /&gt;  Queueing strategy: weighted fair&lt;br /&gt;  Queueing Stats: 9/10/64/61 (size/max total/threshold/drops)&lt;br /&gt;     Conversations  1/1/16 (active/max active/max total)&lt;br /&gt;     Reserved Conversations 0/0 (allocated/max allocated)&lt;br /&gt;     Available Bandwidth 16 kilobits/sec&lt;br /&gt;&lt;br /&gt;  (depth/weight/total drops/no-buffer drops/interleaves) 9/4048/61/0/0&lt;br /&gt;  Conversation 5, linktype: ip, length: 1514&lt;br /&gt;  source: 155.1.23.2, destination: 150.1.4.4, id: 0x004E, ttl: 253, prot: 1&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Lastly the show &lt;strong&gt;traffic-shape statistics&lt;/strong&gt; command indicates the ping to R4 loopback is transmitting twice the amount of data in comparison to the ping to R4 fa0/0 interface.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Router_1#show traffic-shape stat&lt;/strong&gt;&lt;br /&gt;                  Acc. Queue Packets   Bytes     Packets   Bytes     Shaping&lt;br /&gt;I/F               List Depth                     Delayed   Delayed   Active&lt;br /&gt;Fa0/0               100 10    98        130592    92        128508    yes&lt;br /&gt;Fa0/0               101 10    277       329510    254       309188    yes&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;GTS can also be applied to the interface as a whole with the &lt;strong&gt;traffic-shape rate&lt;/strong&gt; command. For example.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;int fa0/0&lt;br /&gt;traffic-shape rate 128000 8000 8000 100&lt;/strong&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2418082835537995017-3070296664596625499?l=routerric.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://routerric.blogspot.com/feeds/3070296664596625499/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2418082835537995017&amp;postID=3070296664596625499' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/3070296664596625499'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/3070296664596625499'/><link rel='alternate' type='text/html' href='http://routerric.blogspot.com/2009/07/qos-gts.html' title='QOS - GTS'/><author><name>richsd1</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/--YOija8WuTM/TsAonUOe5wI/AAAAAAAAAPg/hT87gnDHaJg/s220/DSCN0197.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2418082835537995017.post-8524186512855039369</id><published>2009-06-27T22:08:00.000-07:00</published><updated>2009-07-03T22:23:31.250-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='QOS - hardware queue'/><title type='text'>QOS - Hardware Queue</title><content type='html'>&lt;a href="http://2.bp.blogspot.com/_fmDP85Ew2Ek/Skb_OwlyvAI/AAAAAAAAAL4/sKy2SaQGXEc/s1600-h/qos+hardware+queues.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 180px;" src="http://2.bp.blogspot.com/_fmDP85Ew2Ek/Skb_OwlyvAI/AAAAAAAAAL4/sKy2SaQGXEc/s400/qos+hardware+queues.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5352245836203080706" /&gt;&lt;/a&gt;&lt;br /&gt;Here i look at QOS starting from the ground up. &lt;br /&gt;&lt;br /&gt;First for traffic in the outbound direction. Each interface has a hardware queue also known as the tx-ring or transmit ring. This is always serviced FIFO.&lt;br /&gt;&lt;br /&gt;The size of this queue can be viewed&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Router_1#show controllers fa0/0 | inc tx_lim&lt;br /&gt; tx_limited=0(256)&lt;/strong&gt;&lt;br /&gt;In this example the default size is 256 packets. This can be adjusted. In this example i reduce the size to 50 packets.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;config-if=tx-ring-limit 50&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;If the hardware queue becomes full then the output software queue is used for buffering traffic.  When adjusting queueing mechanisms it is this logic for emptying this queue that is adjusted e.g. PQ,CBWFQ, CQ etc&lt;br /&gt;&lt;br /&gt;The size of this queue can be seen using the standard show interface command. by default it has a size of 40 packets.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Router_1#show int fa0/0 | inc Output queue&lt;br /&gt;  Output queue: 0/40 (size/max)&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;The size of the queue can be adjusted using the following command&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;conf-if# hold-queue 20 out&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;N.B. The hold-queue size applies when default FIFO queueing is in use on the interface. When other queuing methods are in use this command does not apply and the software queue sizes are set by the relevant queuing commands. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Now Input queueing....&lt;br /&gt;&lt;br /&gt;Packets in an inbound direction are immediately handled by the interface drivers, router cpu etc. If buffering is needed due to high throughput or router load then the input queue is used.&lt;br /&gt;&lt;br /&gt;The size of this queue is 75 packets by default and this can be viewed using the show interface command.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Router_1#show int fa0/0 | inc Input queue&lt;br /&gt;  Input queue: 0/75/0/0 (size/max/drops/flushes); Total output drops: 0&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;This can be adjusted as follows&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;config-if#hold-queue 20 in&lt;/strong&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2418082835537995017-8524186512855039369?l=routerric.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://routerric.blogspot.com/feeds/8524186512855039369/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2418082835537995017&amp;postID=8524186512855039369' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/8524186512855039369'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/8524186512855039369'/><link rel='alternate' type='text/html' href='http://routerric.blogspot.com/2009/06/qos-hardware-queue.html' title='QOS - Hardware Queue'/><author><name>richsd1</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/--YOija8WuTM/TsAonUOe5wI/AAAAAAAAAPg/hT87gnDHaJg/s220/DSCN0197.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_fmDP85Ew2Ek/Skb_OwlyvAI/AAAAAAAAAL4/sKy2SaQGXEc/s72-c/qos+hardware+queues.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2418082835537995017.post-4250924899011351421</id><published>2009-06-20T22:23:00.000-07:00</published><updated>2009-06-20T22:26:02.247-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PIM - Source Specific Multicast'/><title type='text'>PIM - SSM</title><content type='html'>PIM SSM or Source Specific Multicast, contrary to PIM BiDir, does NOT require the PIM shared tree, and does not use it. No RPS are required and RP protocols such as Auto RP or BSR are not needed. With SSM the SPT is always used.&lt;br /&gt;&lt;br /&gt;Like BiDir PIM configuration is pretty straightforward.&lt;br /&gt;&lt;br /&gt;The range of multicast groups that are using ssm signaling must be specified on all routers in the mcast domain&lt;br /&gt;&lt;br /&gt;To enable pim ssm on the default range of 232.0.0.0/8&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;#conf t&lt;br /&gt;config#ip pim ssm range default&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Note for groups in the ssm range no shared trees are allowed and any (*,G) joins will be dropped. &lt;br /&gt;&lt;br /&gt;The final step is to enable IGMP version 3 needs on the receiver facing interfaces.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;for SW1 TO JOIN 232.8.8.8 for source 150.1.5.5 &lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;config-if#ip igmp version 3&lt;br /&gt;config-if#ip igmp join 232.8.8.8 source 150.1.5.5&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2418082835537995017-4250924899011351421?l=routerric.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://routerric.blogspot.com/feeds/4250924899011351421/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2418082835537995017&amp;postID=4250924899011351421' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/4250924899011351421'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/4250924899011351421'/><link rel='alternate' type='text/html' href='http://routerric.blogspot.com/2009/06/pim-ssm.html' title='PIM - SSM'/><author><name>richsd1</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/--YOija8WuTM/TsAonUOe5wI/AAAAAAAAAPg/hT87gnDHaJg/s220/DSCN0197.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2418082835537995017.post-3683355125625898878</id><published>2009-06-20T21:36:00.000-07:00</published><updated>2009-06-20T21:54:38.083-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PIM - BIDIR'/><title type='text'>PIM - BIDIR</title><content type='html'>&lt;a href="http://1.bp.blogspot.com/_fmDP85Ew2Ek/Sj28seTIirI/AAAAAAAAALw/MSUwa_ee204/s1600-h/2+way.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 94px; height: 114px;" src="http://1.bp.blogspot.com/_fmDP85Ew2Ek/Sj28seTIirI/AAAAAAAAALw/MSUwa_ee204/s400/2+way.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5349639404619598514" /&gt;&lt;/a&gt;&lt;br /&gt;Bidirectional PIM can be used when most receivers of mcast traffic are also senders at the same time. It is an extension to PIM sparse mode that only uses the shared tree for multicast distribution.  Packets flow to and from the RP only.&lt;br /&gt;&lt;br /&gt;It is relatively easy to configure, although  the BIDIR configuration example on the CISCO web site doesn't quite give the full picture, as it only shows configuration on as single router.&lt;br /&gt;&lt;br /&gt;BiDir PIM must be enabled on all multicast routers and specified multicast groups need to be configured as BiDir.  This can be done using static rp, autop rp or BSR.&lt;br /&gt;&lt;br /&gt;I use the simple router topology SW1 ----- R3 ------ R5&lt;br /&gt;&lt;br /&gt;On each router i enable BiDir PIM.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;conf t&lt;br /&gt;ip pim bidir-enable&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;The RP (R5 in this case) must specify which bidir groups it services.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;ip access-list st 45&lt;br /&gt;permit 238.0.0.0 0.255.255.255&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;For BSR&lt;br /&gt;&lt;strong&gt;ip pim rp-candidate lo0 group-list 45 bidir&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;For AUTO-RP&lt;br /&gt;&lt;strong&gt;ip pim send-rp-announce lo0 scope 16 group-list 45 bidir&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;For static RP&lt;br /&gt;&lt;strong&gt;ip pim rp-address 150.1.5.5 45 bidir&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;On SW1 i join the bidir mcast group 238.0.0.1&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;conf t&lt;br /&gt;int fa0/0&lt;br /&gt;ip igmp join-group 238.0.0.1&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;On R3 i examine the mroute table&lt;br /&gt;&lt;br /&gt;Router_3#s ip mroute 238.0.0.1&lt;br /&gt;IP Multicast Routing Table&lt;br /&gt;Flags: D - Dense, S - Sparse, B - Bidir Group, s - SSM Group, C - Connected,&lt;br /&gt;       L - Local, P - Pruned, R - RP-bit set, F - Register flag,&lt;br /&gt;       T - SPT-bit set, J - Join SPT, M - MSDP created entry,&lt;br /&gt;       X - Proxy Join Timer Running, A - Candidate for MSDP Advertisement,&lt;br /&gt;       U - URD, I - Received Source Specific Host Report,&lt;br /&gt;       Z - Multicast Tunnel, z - MDT-data group sender,&lt;br /&gt;       Y - Joined MDT-data group, y - Sending to MDT-data group&lt;br /&gt;Outgoing interface flags: H - Hardware switched, A - Assert winner&lt;br /&gt; Timers: Uptime/Expires&lt;br /&gt; Interface state: Interface, Next-Hop or VCD, State/Mode&lt;br /&gt;&lt;br /&gt;(*, 238.0.0.1), 00:16:10/00:02:22, RP 150.1.5.5, flags: BC&lt;br /&gt;  &lt;strong&gt;Bidir-Upstream: Serial2/0, RPF nbr 155.1.0.5&lt;/strong&gt;&lt;br /&gt;  Outgoing interface list:&lt;br /&gt;    FastEthernet0/0, Forward/Sparse, 00:15:52/00:02:34&lt;br /&gt;    Serial2/0, Bidir-Upstream/Sparse, 00:16:10/00:00:00&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;From R5 i verify solution with a ping to multicast group 238.0.0.1&lt;br /&gt;&lt;br /&gt;Router_5#ping 238.0.0.1&lt;br /&gt;&lt;br /&gt;Type escape sequence to abort.&lt;br /&gt;Sending 1, 100-byte ICMP Echos to 238.0.0.1, timeout is 2 seconds:&lt;br /&gt;&lt;br /&gt;Reply to request 0 from 155.1.0.3, 88 ms&lt;br /&gt;Reply to request 0 from 155.1.37.7, 228 ms&lt;br /&gt;Reply to request 0 from 155.1.0.3, 88 ms&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2418082835537995017-3683355125625898878?l=routerric.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://routerric.blogspot.com/feeds/3683355125625898878/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2418082835537995017&amp;postID=3683355125625898878' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/3683355125625898878'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/3683355125625898878'/><link rel='alternate' type='text/html' href='http://routerric.blogspot.com/2009/06/pim-bidir.html' title='PIM - BIDIR'/><author><name>richsd1</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/--YOija8WuTM/TsAonUOe5wI/AAAAAAAAAPg/hT87gnDHaJg/s220/DSCN0197.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_fmDP85Ew2Ek/Sj28seTIirI/AAAAAAAAALw/MSUwa_ee204/s72-c/2+way.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2418082835537995017.post-7270149349405901967</id><published>2009-06-15T22:25:00.000-07:00</published><updated>2009-06-17T21:59:55.758-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Multicast rate limiting'/><title type='text'>Multicast - Rate Limiting</title><content type='html'>SW1  --------  R3 ---------- R5&lt;br /&gt;&lt;br /&gt;Here i make use of the multicast rate limiting function on R3 to control the amount of multicast traffic allowed to reach SW1.&lt;br /&gt;&lt;br /&gt;First SW1 joins multicast groups 225.0.0.1 and 225.0.0.3&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;SW1&lt;br /&gt;conf t&lt;br /&gt;int fa0/0&lt;br /&gt;ip igmp join-group 225.0.0.1&lt;br /&gt;ip igmp join-group 225.0.0.3&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;On R3 the requirement is to limit the mcast traffic to 225.0.0.1 to 1k and 225.0.0.3 to 3k. The aggregate multicast traffic rate must not exceeed 5k.&lt;br /&gt;&lt;br /&gt;This requirement can be achieved via the multicast rate limit function. Multiple rate limit statements can be applied to an interface and they are processed in a linear top down fashion. Hence careful consideration must be given to the order of the statements as applied.&lt;br /&gt;&lt;br /&gt;First i use ACLS to define the mcast groups&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;R3&lt;br /&gt;ip access-list standard GROUP_1&lt;br /&gt; permit 225.0.0.1&lt;br /&gt;ip access-list standard GROUP_3&lt;br /&gt; permit 225.0.0.3&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Then i apply the rate limit function.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;interface FastEthernet0/0&lt;br /&gt; ip multicast rate-limit out group-list GROUP_1 1&lt;br /&gt; ip multicast rate-limit out group-list GROUP_3 3&lt;br /&gt; ip multicast rate-limit out 5&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;After applying the mcast routes can be viewed and the bandwidth limits are shown&lt;br /&gt;&lt;br /&gt;Router_3#s ip mroute 225.0.0.1&lt;br /&gt;(*, 225.0.0.1), 00:13:28/00:02:33, RP 150.1.5.5, flags: SJC&lt;br /&gt;  Incoming interface: Serial2/0, RPF nbr 155.1.0.5&lt;br /&gt;  Outgoing interface list:&lt;br /&gt;    FastEthernet0/0, Forward/Sparse, 00:13:28/00:02:51, &lt;strong&gt;limit 1 kbps&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Router_3#s ip mroute 225.0.0.3&lt;br /&gt;(*, 225.0.0.3), 00:07:34/00:02:51, RP 150.1.5.5, flags: SJC&lt;br /&gt;  Incoming interface: Serial2/0, RPF nbr 155.1.0.5&lt;br /&gt;  Outgoing interface list:&lt;br /&gt;    FastEthernet0/0, Forward/Sparse, 00:07:34/00:02:51,&lt;strong&gt; limit 3 kbps&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I then test the rate limiting via ping tests from R5. First i try a ping rate that conforms to the bandwidth limit.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Router_5#pin 225.0.0.1 size 100 repeat 2&lt;br /&gt;&lt;br /&gt;Type escape sequence to abort.&lt;br /&gt;Sending 2, 100-byte ICMP Echos to 225.0.0.1, timeout is 2 seconds:&lt;br /&gt;&lt;br /&gt;Reply to request 0 from 155.1.37.7, 184 ms&lt;br /&gt;Reply to request 0 from 155.1.37.7, 184 ms&lt;br /&gt;Reply to request 1 from 155.1.37.7, 212 ms&lt;br /&gt;Reply to request 1 from 155.1.37.7, 212 ms&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Now i try a ping with an increased data size that exceeds the 1 kbps limit and, as expected, the traffic is dropped.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Router_5#pin 225.0.0.1 size 200 repeat 2&lt;br /&gt;&lt;br /&gt;Type escape sequence to abort.&lt;br /&gt;Sending 2, 200-byte ICMP Echos to 225.0.0.1, timeout is 2 seconds:&lt;br /&gt;..&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I repeat the above test on the mcast group 225.0.0.3 that has a higher bandwidth limit of 3k.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Router_5#pin 225.0.0.3 size 360 repeat 2&lt;br /&gt;&lt;br /&gt;Type escape sequence to abort.&lt;br /&gt;Sending 2, 360-byte ICMP Echos to 225.0.0.3, timeout is 2 seconds:&lt;br /&gt;&lt;br /&gt;Reply to request 0 from 155.1.37.7, 208 ms&lt;br /&gt;Reply to request 0 from 155.1.37.7, 212 ms&lt;br /&gt;Reply to request 1 from 155.1.37.7, 268 ms&lt;br /&gt;Reply to request 1 from 155.1.37.7, 268 ms&lt;br /&gt;Router_5#pin 225.0.0.3 size 400 repeat 2&lt;br /&gt;&lt;br /&gt;Type escape sequence to abort.&lt;br /&gt;Sending 2, 400-byte ICMP Echos to 225.0.0.3, timeout is 2 seconds:&lt;br /&gt;..&lt;br /&gt;Router_5#&lt;/strong&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2418082835537995017-7270149349405901967?l=routerric.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://routerric.blogspot.com/feeds/7270149349405901967/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2418082835537995017&amp;postID=7270149349405901967' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/7270149349405901967'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/7270149349405901967'/><link rel='alternate' type='text/html' href='http://routerric.blogspot.com/2009/06/multicast-rate-limiting.html' title='Multicast - Rate Limiting'/><author><name>richsd1</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/--YOija8WuTM/TsAonUOe5wI/AAAAAAAAAPg/hT87gnDHaJg/s220/DSCN0197.JPG'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2418082835537995017.post-6792399223314006319</id><published>2009-06-14T22:12:00.000-07:00</published><updated>2009-06-14T22:20:03.297-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ip igmp last-member-query-interval'/><category scheme='http://www.blogger.com/atom/ns#' term='ip igmp last-member-query-count'/><title type='text'>PIM - IGMP GROUP LEAVE TIMERS</title><content type='html'>&lt;a href="http://2.bp.blogspot.com/_fmDP85Ew2Ek/SjXZvC2OfWI/AAAAAAAAALo/r9cv5eZC5EA/s1600-h/igmp+last+member+group+query.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 174px;" src="http://2.bp.blogspot.com/_fmDP85Ew2Ek/SjXZvC2OfWI/AAAAAAAAALo/r9cv5eZC5EA/s400/igmp+last+member+group+query.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5347419534813724002" /&gt;&lt;/a&gt;&lt;br /&gt;If a host on the LAN leaves a group it sends an IGMP leave message (assuming PIM version 2). Upon receipt the elected IGMP querier will send out an IGMP last member group query to ascertain if there are still other hosts on the LAN segment who are members of the group.   If no hosts reply, after the message has been repeated, then the IGMP querier router removes the (*,G) mroute.&lt;br /&gt;&lt;br /&gt;The timers/counters involved in this exchange are&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;ip igmp last-member-query-count (default 2)&lt;br /&gt;&lt;br /&gt;ip igmp last-member-query-interval (default 1000ms)&lt;/strong&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2418082835537995017-6792399223314006319?l=routerric.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://routerric.blogspot.com/feeds/6792399223314006319/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2418082835537995017&amp;postID=6792399223314006319' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/6792399223314006319'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/6792399223314006319'/><link rel='alternate' type='text/html' href='http://routerric.blogspot.com/2009/06/pim-igmp-group-leave-timers.html' title='PIM - IGMP GROUP LEAVE TIMERS'/><author><name>richsd1</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/--YOija8WuTM/TsAonUOe5wI/AAAAAAAAAPg/hT87gnDHaJg/s220/DSCN0197.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_fmDP85Ew2Ek/SjXZvC2OfWI/AAAAAAAAALo/r9cv5eZC5EA/s72-c/igmp+last+member+group+query.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2418082835537995017.post-314263713547598110</id><published>2009-06-14T22:07:00.000-07:00</published><updated>2009-06-14T22:20:32.108-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ip igmp query-interval'/><category scheme='http://www.blogger.com/atom/ns#' term='ip igmp querier-timeout'/><title type='text'>PIM - IGMP QUERIER TIMEOUT</title><content type='html'>&lt;a href="http://2.bp.blogspot.com/_fmDP85Ew2Ek/SjXYGKjmF3I/AAAAAAAAALg/vf6uNAd8up0/s1600-h/igmp+querier.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 244px;" src="http://2.bp.blogspot.com/_fmDP85Ew2Ek/SjXYGKjmF3I/AAAAAAAAALg/vf6uNAd8up0/s400/igmp+querier.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5347417732996798322" /&gt;&lt;/a&gt;&lt;br /&gt;The router elected as IGMP querier will send out an IGMP query each configured interval. If non IGMP querier routers on the same LAN segment do not hear any IGMP queries for a period of time they will try and assume the IGMP querier role.&lt;br /&gt;&lt;br /&gt;The timers used in this exchange are as follows&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;ip igmp query-interval (default 60 seconds)&lt;br /&gt;&lt;br /&gt;ip igmp querier-timeout (default 120 seconds - 2 * ip igmp query interval)&lt;/strong&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2418082835537995017-314263713547598110?l=routerric.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://routerric.blogspot.com/feeds/314263713547598110/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2418082835537995017&amp;postID=314263713547598110' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/314263713547598110'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/314263713547598110'/><link rel='alternate' type='text/html' href='http://routerric.blogspot.com/2009/06/pim-igmp-querier-timeout.html' title='PIM - IGMP QUERIER TIMEOUT'/><author><name>richsd1</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/--YOija8WuTM/TsAonUOe5wI/AAAAAAAAAPg/hT87gnDHaJg/s220/DSCN0197.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_fmDP85Ew2Ek/SjXYGKjmF3I/AAAAAAAAALg/vf6uNAd8up0/s72-c/igmp+querier.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2418082835537995017.post-3908801182604710790</id><published>2009-06-14T21:53:00.000-07:00</published><updated>2009-06-14T22:20:59.955-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ip igmp query-interval'/><category scheme='http://www.blogger.com/atom/ns#' term='ip igmp query-max-response-time'/><title type='text'>PIM - IGMP GROUP QUERY TIMERS</title><content type='html'>&lt;a href="http://4.bp.blogspot.com/_fmDP85Ew2Ek/SjXW4Wn_DzI/AAAAAAAAALY/eie2c9j9nfo/s1600-h/igmp+group+query.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 204px;" src="http://4.bp.blogspot.com/_fmDP85Ew2Ek/SjXW4Wn_DzI/AAAAAAAAALY/eie2c9j9nfo/s400/igmp+group+query.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5347416396206640946" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_fmDP85Ew2Ek/SjXVNBApDgI/AAAAAAAAALQ/K_W23PZzOBc/s1600-h/igmp+group+query.jpg"&gt;&lt;/a&gt;&lt;br /&gt;The IGMP querier will send out an igmp group query to check group memmbership on the connected LAN segment. Normallly an IGMP group report response will be received. If no group report is received then the (*,G) mroute is removed.&lt;br /&gt;&lt;br /&gt;In this message exchange the following timers can be influenced.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;ip igmp query-interval (default 60 seconds)&lt;br /&gt;&lt;br /&gt;ip igmp query-max-response-time (default 10 seconds).&lt;/strong&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2418082835537995017-3908801182604710790?l=routerric.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://routerric.blogspot.com/feeds/3908801182604710790/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2418082835537995017&amp;postID=3908801182604710790' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/3908801182604710790'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/3908801182604710790'/><link rel='alternate' type='text/html' href='http://routerric.blogspot.com/2009/06/pim-igmp-group-query-timers.html' title='PIM - IGMP GROUP QUERY TIMERS'/><author><name>richsd1</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/--YOija8WuTM/TsAonUOe5wI/AAAAAAAAAPg/hT87gnDHaJg/s220/DSCN0197.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_fmDP85Ew2Ek/SjXW4Wn_DzI/AAAAAAAAALY/eie2c9j9nfo/s72-c/igmp+group+query.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2418082835537995017.post-8702444777230633246</id><published>2009-06-13T22:38:00.000-07:00</published><updated>2009-06-17T22:00:17.135-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PIM/IGMP Elections'/><title type='text'>PIM/IGMP  Elections</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_fmDP85Ew2Ek/SjSTgC06vjI/AAAAAAAAALI/1iY1CDd_tuY/s1600-h/election.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 110px; height: 110px;" src="http://1.bp.blogspot.com/_fmDP85Ew2Ek/SjSTgC06vjI/AAAAAAAAALI/1iY1CDd_tuY/s400/election.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5347060836319542834" /&gt;&lt;/a&gt;&lt;br /&gt;On a shared LAN segment, amongst the PIM enabled routers, a selected router must assume the responsibilty for i) sending any PIM register/prune messages to the RP and for ii) sending IGMP query messages.&lt;br /&gt;&lt;br /&gt;I was until recently under the misunderstanding that the PIM DR router performed both of these functions - wrong!! These functions are completely decoupled and in fact they have a different election process and selection criteria.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;First the Querier Election Process.&lt;/span&gt;&lt;br /&gt;At start up each router sends a query message to the all systems group 224.0.0.1 from its own interface address. The router with the lowest ip address is elected IGMP querier.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Second the PIM DR Election Process&lt;/span&gt;&lt;br /&gt;The router with the highest ip address is elected as PIM DR. This selection process can also be influenced by configuring a pim DR priority. By default all routers have priority 1, hence highest ip address wins by default. However if DR priority is used then highest DR priority wins. &lt;br /&gt;&lt;br /&gt;The show igmp interface command can be used to show elected DR and querier. Here 155.1.148.1 is elected querier (lowest ip address on LAN segment) and 155.1.148.6 is elected DR (highest ip address on LAN segment).&lt;br /&gt;&lt;br /&gt;Router_1(config)#do s ip igmp int fa0/0&lt;br /&gt;FastEthernet0/0 is up, line protocol is up&lt;br /&gt;  Internet address is 155.1.148.1/24&lt;br /&gt;  IGMP is enabled on interface&lt;br /&gt;  Current IGMP host version is 2&lt;br /&gt;  Current IGMP router version is 2&lt;br /&gt;  IGMP query interval is 20 seconds&lt;br /&gt;  IGMP querier timeout is 40 seconds&lt;br /&gt;  IGMP max query response time is 4 seconds&lt;br /&gt;  Last member query count is 2&lt;br /&gt;  Last member query response interval is 1000 ms&lt;br /&gt;  Inbound IGMP access group is not set&lt;br /&gt;  IGMP activity: 0 joins, 0 leaves&lt;br /&gt;  Multicast routing is enabled on interface&lt;br /&gt;  Multicast TTL threshold is 0&lt;br /&gt;  &lt;span style="font-weight:bold;"&gt;Multicast designated router (DR) is 155.1.148.6&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;  IGMP querying router is 155.1.148.1 (this system)&lt;/span&gt;&lt;br /&gt;  No multicast groups joined by this system&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2418082835537995017-8702444777230633246?l=routerric.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://routerric.blogspot.com/feeds/8702444777230633246/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2418082835537995017&amp;postID=8702444777230633246' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/8702444777230633246'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/8702444777230633246'/><link rel='alternate' type='text/html' href='http://routerric.blogspot.com/2009/06/pim-elections.html' title='PIM/IGMP  Elections'/><author><name>richsd1</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/--YOija8WuTM/TsAonUOe5wI/AAAAAAAAAPg/hT87gnDHaJg/s220/DSCN0197.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_fmDP85Ew2Ek/SjSTgC06vjI/AAAAAAAAALI/1iY1CDd_tuY/s72-c/election.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2418082835537995017.post-550414504877245423</id><published>2009-06-12T22:10:00.000-07:00</published><updated>2009-06-17T22:00:34.498-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='BSR Load balancing'/><title type='text'>PIM - BSR load balancing</title><content type='html'>With BSR if multiple RPs are defined to service the same multicast groups then the BSR candidate router will distribute the load amongst these RPS. This is done using an algorithm based on the HASH length defined. The longer the hash length the more random the assignment.&lt;br /&gt;&lt;br /&gt;Based on the following config, the RP assignment can be examined on the routers.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;R1&lt;br /&gt;ip pim rp-candidate Lo0&lt;br /&gt;&lt;br /&gt;R3&lt;br /&gt;ip pim rp-candidate Lo0&lt;br /&gt;&lt;br /&gt;R5&lt;br /&gt;ip pim bsr-candidate Lo0 32&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Here i examine the RP for group 238.1.1.1 and 237.1.1.1. The BSR has assigned R3 as the R3 (150.1.9.9) as the RP for 238.1.1.1 and R1 (150.1.7.7) AS THE rp FOR 237.1.1.1. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;R1#show ip pim rp-hash 238.1.1.1&lt;br /&gt;  RP 150.1.9.9 (?), v2&lt;br /&gt;    Info source: 150.1.5.5 (?), via bootstrap, priority 0, holdtime 150&lt;br /&gt;         Uptime: 00:00:48, expires: 00:01:46&lt;br /&gt;  PIMv2 Hash Value (mask 255.255.255.255)&lt;br /&gt;    RP 150.1.7.7, via bootstrap, priority 0, hash value 377749190&lt;br /&gt;    RP 150.1.9.9, via bootstrap, priority 0, hash value 1884030652&lt;br /&gt;R1#show ip pim rp-hash 237.1.1.1&lt;br /&gt;  RP 150.1.7.7 (?), v2&lt;br /&gt;    Info source: 150.1.5.5 (?), via bootstrap, priority 0, holdtime 150&lt;br /&gt;         Uptime: 00:01:12, expires: 00:01:39&lt;br /&gt;  PIMv2 Hash Value (mask 255.255.255.255)&lt;br /&gt;    RP 150.1.7.7, via bootstrap, priority 0, hash value 1501822662&lt;br /&gt;    RP 150.1.9.9, via bootstrap, priority 0, hash value 860620476&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2418082835537995017-550414504877245423?l=routerric.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://routerric.blogspot.com/feeds/550414504877245423/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2418082835537995017&amp;postID=550414504877245423' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/550414504877245423'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/550414504877245423'/><link rel='alternate' type='text/html' href='http://routerric.blogspot.com/2009/06/pim-bsr-load-balancing.html' title='PIM - BSR load balancing'/><author><name>richsd1</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/--YOija8WuTM/TsAonUOe5wI/AAAAAAAAAPg/hT87gnDHaJg/s220/DSCN0197.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2418082835537995017.post-9194507466734168634</id><published>2009-06-12T12:22:00.000-07:00</published><updated>2009-06-12T22:10:34.925-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ip pim rp-candidate'/><category scheme='http://www.blogger.com/atom/ns#' term='ip pim bsr-candidate'/><title type='text'>PIM - BSR</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_fmDP85Ew2Ek/SjMykAA8_tI/AAAAAAAAALA/U4fybwtzL2c/s1600-h/bootstrap.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 120px; height: 120px;" src="http://2.bp.blogspot.com/_fmDP85Ew2Ek/SjMykAA8_tI/AAAAAAAAALA/U4fybwtzL2c/s400/bootstrap.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5346672776679587538" /&gt;&lt;/a&gt;&lt;br /&gt;PIM BSR (Bootstrap Routing) - the basics&lt;br /&gt;&lt;br /&gt;The BSR mechanism is a nonproprietary method of defining RPs that can be used with third-party routers. There is no configuration necessary on every router separately (except on candidate-BSRs and candidate-RPs). The canidate-RPs are analagous with Auto-RP candidate RPs and the candidate-BSRs are analagous with the Auto RP mapping agent.&lt;br /&gt;&lt;br /&gt;Thes can be defined as follows.&lt;br /&gt;&lt;br /&gt;R1&lt;br /&gt;ip pim rp-candidate Loopback0&lt;br /&gt;&lt;br /&gt;R3&lt;br /&gt;ip pim rp-candidate Loopback0&lt;br /&gt;&lt;br /&gt;R5&lt;br /&gt;ip pim bsr-candidate Loopback0 31&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Router_5#show ip pim rp-hash 224.1.1.1&lt;br /&gt;  RP 150.1.7.7 (?), v2&lt;br /&gt;    Info source: 155.1.37.7 (?), via bootstrap, priority 0, holdtime 150&lt;br /&gt;         Uptime: 00:15:07, expires: 00:02:21&lt;br /&gt;  PIMv2 Hash Value (mask 255.255.255.254)&lt;br /&gt;    RP 150.1.7.7, via bootstrap, priority 0, hash value 1852227743&lt;br /&gt;    RP 150.1.9.9, via bootstrap, priority 0, hash value 800581801&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2418082835537995017-9194507466734168634?l=routerric.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://routerric.blogspot.com/feeds/9194507466734168634/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2418082835537995017&amp;postID=9194507466734168634' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/9194507466734168634'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/9194507466734168634'/><link rel='alternate' type='text/html' href='http://routerric.blogspot.com/2009/06/pim-bsr.html' title='PIM - BSR'/><author><name>richsd1</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/--YOija8WuTM/TsAonUOe5wI/AAAAAAAAAPg/hT87gnDHaJg/s220/DSCN0197.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_fmDP85Ew2Ek/SjMykAA8_tI/AAAAAAAAALA/U4fybwtzL2c/s72-c/bootstrap.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2418082835537995017.post-4411107567012962118</id><published>2009-06-11T22:16:00.000-07:00</published><updated>2009-06-11T22:33:38.035-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ip pim multicast boundary'/><title type='text'>PIM - Multicast Boundary</title><content type='html'>The multicast boundary feature, when used with a standard acl, can be used to filter (S,G) and (*,G) join messages to the RP as well as filter mcast traffic destined to a multicast group. Note it does not filter PIM register messages as these are sent as unicast messages from the PIM DR to the PIM RP.&lt;br /&gt;&lt;br /&gt;Consider the following configuration&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;access-list 5 deny   232.0.0.0 7.255.255.255&lt;br /&gt;access-list 5 permit 224.0.0.0 15.255.255.255&lt;br /&gt;&lt;br /&gt;int fa0/0&lt;br /&gt; ip multicast boundary 5 filter-autorp&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;This command will filter multicast traffic for the range 232.0.0.0/5. This includes any traffic in this range plus any ranges that overlap with this range.&lt;br /&gt;&lt;br /&gt;The addition of the filter-autorp messages ensures the filtering is applied to rp announcements as well as multicast traffic.&lt;br /&gt;&lt;br /&gt;For example the downstream switch SW2 was receiving announcements for the following groups.&lt;br /&gt;&lt;br /&gt;SW2#s ip pim rp map&lt;br /&gt;PIM Group-to-RP Mappings&lt;br /&gt;&lt;br /&gt;Group(s) 224.0.0.0/5&lt;br /&gt;  RP 150.1.7.7 (?), v2v1&lt;br /&gt;    Info source: 150.1.1.1 (?), elected via Auto-RP&lt;br /&gt;         Uptime: 00:19:45, expires: 00:02:33&lt;br /&gt;Group(s) 224.0.0.0/4&lt;br /&gt;  RP 150.1.9.9 (?), v2v1&lt;br /&gt;    Info source: 150.1.1.1 (?), elected via Auto-RP&lt;br /&gt;         Uptime: 00:19:15, expires: 00:01:34&lt;br /&gt;Group(s) (-)224.50.50.50/32&lt;br /&gt;  RP 150.1.9.9 (?), v2v1&lt;br /&gt;    Info source: 150.1.1.1 (?), elected via Auto-RP&lt;br /&gt;         Uptime: 00:19:15, expires: 00:02:36&lt;br /&gt;Group(s) 232.0.0.0/5&lt;br /&gt;  RP 150.1.9.9 (?), v2v1&lt;br /&gt;    Info source: 150.1.1.1 (?), elected via Auto-RP&lt;br /&gt;         Uptime: 00:19:15, expires: 00:01:37&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;After the multicast boundary statement wis applied to the upstream neighbor rp announcements for 232.0.0./5 and 224.0.0.0/4 are both removed.&lt;br /&gt;&lt;br /&gt;SW2#s ip pim rp map&lt;br /&gt;PIM Group-to-RP Mappings&lt;br /&gt;&lt;br /&gt;Group(s) 224.0.0.0/5&lt;br /&gt;  RP 150.1.7.7 (?), v2v1&lt;br /&gt;    Info source: 150.1.1.1 (?), elected via Auto-RP&lt;br /&gt;         Uptime: 00:23:58, expires: 00:02:20&lt;br /&gt;Group(s) (-)224.50.50.50/32&lt;br /&gt;  RP 150.1.9.9 (?), v2v1&lt;br /&gt;    Info source: 150.1.1.1 (?), elected via Auto-RP&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2418082835537995017-4411107567012962118?l=routerric.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://routerric.blogspot.com/feeds/4411107567012962118/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2418082835537995017&amp;postID=4411107567012962118' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/4411107567012962118'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/4411107567012962118'/><link rel='alternate' type='text/html' href='http://routerric.blogspot.com/2009/06/pim-multicast-boundary.html' title='PIM - Multicast Boundary'/><author><name>richsd1</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/--YOija8WuTM/TsAonUOe5wI/AAAAAAAAAPg/hT87gnDHaJg/s220/DSCN0197.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2418082835537995017.post-5635572086157482650</id><published>2009-06-10T23:07:00.000-07:00</published><updated>2009-06-10T23:10:09.374-07:00</updated><title type='text'>PIM - MA Placement in a Frame Relay network</title><content type='html'>&lt;a href="http://1.bp.blogspot.com/_fmDP85Ew2Ek/SjCfjzFPE7I/AAAAAAAAAK4/tF5lbd56eGw/s1600-h/mcast+fr+tunnel.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 221px;" src="http://1.bp.blogspot.com/_fmDP85Ew2Ek/SjCfjzFPE7I/AAAAAAAAAK4/tF5lbd56eGw/s400/mcast+fr+tunnel.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5345948195045184434" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;When placing the Mapping Agent in a frame relay hub and spoke environment always aim to locate it at the hub or behind it. &lt;br /&gt;&lt;br /&gt;PIM by default will assume NBMA interfaces are broadcast capable. However, by default, when a spoke sends a multicast message the hub will not replicate this to other spokes, obeying the split horizon rule. This can in part be solved by the placement of the ‘ip pim nbma-mode’ command on the hub.  It is worth noting however that this only fixes sparse-mode traffic. Dense mode traffic will NOT be replicated. &lt;br /&gt;&lt;br /&gt;Hence this poses a problem for auto-rp information which uses dense mode to mcast groups 224.0.1.39 and 224.0.1.40.  &lt;br /&gt;&lt;br /&gt;If the RP and mapping agent are placed on a spoke then auto-rp messages will only reach the hub node. If the mapping agent is on the hub then RPs could be located on the spokes as long as the announces reach the hub.&lt;br /&gt;&lt;br /&gt;There are a couple of resolutions to this problem. First use sub-interfaces on the hub, or secondly create multicast enabled tunnels between the spokes.&lt;br /&gt;&lt;br /&gt;The tunnel config for the spokes is shown here.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Router_1#&lt;br /&gt;interface Tunnel0&lt;br /&gt; ip address 155.1.20.20 255.255.255.0&lt;br /&gt; ip pim sparse-mode&lt;br /&gt; tunnel source Loopback1&lt;br /&gt; tunnel destination 150.1.3.3&lt;br /&gt; tunnel mode ipip&lt;br /&gt;&lt;br /&gt;Router_3#&lt;br /&gt;interface Tunnel0&lt;br /&gt; ip address 155.1.20.21 255.255.255.0&lt;br /&gt; ip pim sparse-mode&lt;br /&gt; tunnel source Loopback0&lt;br /&gt; tunnel destination 150.1.1.1&lt;br /&gt; tunnel mode ipip&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Another caveat is that if the tunnel is not included in the IGP routing then static multicast routes will be required pointing at the tunnel to ensure RPF checks don’t fail.&lt;br /&gt;&lt;br /&gt;R1&lt;br /&gt;Ip mroute 150.1.1.1 255.255.255.255 tu0&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Note. The problem with the disssemination of traffic to mcast group 224.1.0.40 can be seen on the hub (R5) as the frame relay serial interface S2/0 is missing in the OIL interface list.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;(150.1.1.1, 224.0.1.40), 01:14:19/00:02:34, flags: LT&lt;br /&gt;  Incoming interface: Serial2/0, RPF nbr 155.1.0.1&lt;br /&gt;  Outgoing interface list:&lt;br /&gt;    Loopback0, Forward/Sparse, 01:14:19/00:00:00&lt;br /&gt;    Serial2/1, Forward/Sparse, 01:14:19/00:00:00&lt;br /&gt;    FastEthernet0/0, Forward/Sparse, 01:14:19/00:00:00&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2418082835537995017-5635572086157482650?l=routerric.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://routerric.blogspot.com/feeds/5635572086157482650/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2418082835537995017&amp;postID=5635572086157482650' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/5635572086157482650'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/5635572086157482650'/><link rel='alternate' type='text/html' href='http://routerric.blogspot.com/2009/06/pim-ma-placement-in-frame-relay-network.html' title='PIM - MA Placement in a Frame Relay network'/><author><name>richsd1</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/--YOija8WuTM/TsAonUOe5wI/AAAAAAAAAPg/hT87gnDHaJg/s220/DSCN0197.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_fmDP85Ew2Ek/SjCfjzFPE7I/AAAAAAAAAK4/tF5lbd56eGw/s72-c/mcast+fr+tunnel.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2418082835537995017.post-1090682158199433564</id><published>2009-06-10T12:46:00.000-07:00</published><updated>2009-06-10T12:52:58.002-07:00</updated><title type='text'>PIM misc - dense mode reqd in sparse-dense region</title><content type='html'>Suppose the lab required one Mcast range ONLY operate in dense mode, whereas the rest of the domain should operate in sparse mode???&lt;br /&gt;&lt;br /&gt;This can be achieved by making use of the 'deny' statement in the ACL used to denote the mcast groups serviced by the candidate RP.&lt;br /&gt;&lt;br /&gt;SW3#s access-list 11&lt;br /&gt;Standard IP access list 11&lt;br /&gt;    40 deny   224.50.50.50&lt;br /&gt;    20 permit 232.0.0.0, wildcard bits 7.255.255.255&lt;br /&gt;    30 permit 224.0.0.0, wildcard bits 15.255.255.255&lt;br /&gt;&lt;br /&gt;When examining the rp mapping then the 'denied' range will be shown with a minus&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Group(s) (-)224.50.50.50/32&lt;/strong&gt;&lt;br /&gt;  RP 150.1.9.9 (?), v2v1&lt;br /&gt;    Info source: 150.1.9.9 (?), elected via Auto-RP&lt;br /&gt;         Uptime: 00:01:31, expires: 00:02:27&lt;br /&gt;  RP 150.1.7.7 (?), v2v1&lt;br /&gt;    Info source: 150.1.7.7 (?), via Auto-RP&lt;br /&gt;         Uptime: 00:01:07, expires: 00:02:50&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2418082835537995017-1090682158199433564?l=routerric.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://routerric.blogspot.com/feeds/1090682158199433564/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2418082835537995017&amp;postID=1090682158199433564' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/1090682158199433564'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/1090682158199433564'/><link rel='alternate' type='text/html' href='http://routerric.blogspot.com/2009/06/pim-misc-dense-mode-reqd-in-sparse.html' title='PIM misc - dense mode reqd in sparse-dense region'/><author><name>richsd1</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/--YOija8WuTM/TsAonUOe5wI/AAAAAAAAAPg/hT87gnDHaJg/s220/DSCN0197.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2418082835537995017.post-2620959043449551369</id><published>2009-06-10T12:11:00.000-07:00</published><updated>2009-06-17T22:01:00.446-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PIM RP Load Balancing and Redundancy'/><title type='text'>PIM RP Load Balancing and Redundancy</title><content type='html'>Here look at achieving load-balancing and redundancy of multicast traffic between RPS.&lt;br /&gt;&lt;br /&gt;First load-balancing&lt;br /&gt;&lt;br /&gt;Auto-RP is being used. SW1 is configured as RP for 224.0.0.0 - 231.255.255.255 and&lt;br /&gt;SW3 is RP for 232.0.0.0 239.255.255.255.&lt;br /&gt;&lt;br /&gt;SW1&lt;br /&gt;ip pim send-rp-announce Loopback0 scope 16 group-list 11&lt;br /&gt;ip access-list st 11&lt;br /&gt;permit 224.0.0.0 7.255.255.255&lt;br /&gt;&lt;br /&gt;SW3&lt;br /&gt;ip pim send-rp-announce Loopback0 scope 16 group-list 11&lt;br /&gt;ip access-list st 11&lt;br /&gt;permit 232.0.0.0 7.255.255.255&lt;br /&gt;&lt;br /&gt;Now examining the rp mapping on the RP we can see the load is balanced between SW1 (150.1.7.7) and SW3 (150.1.9.9).&lt;br /&gt;&lt;br /&gt;Router_5&gt;s ip pim rp map&lt;br /&gt;PIM Group-to-RP Mappings&lt;br /&gt;This system is an RP (Auto-RP)&lt;br /&gt;This system is an RP-mapping agent (Loopback0)&lt;br /&gt;&lt;br /&gt;Group(s) 224.0.0.0/5&lt;br /&gt;  RP 150.1.7.7 (?), v2v1&lt;br /&gt;    Info source: 150.1.7.7 (?), elected via Auto-RP&lt;br /&gt;         Uptime: 00:00:06, expires: 00:02:53&lt;br /&gt;Group(s) 224.0.0.0/4&lt;br /&gt;  RP 150.1.5.5 (?), v2v1&lt;br /&gt;    Info source: 150.1.5.5 (?), elected via Auto-RP&lt;br /&gt;         Uptime: 00:13:55, expires: 00:02:11&lt;br /&gt;Group(s) 232.0.0.0/5&lt;br /&gt;  RP 150.1.9.9 (?), v2v1&lt;br /&gt;    Info source: 150.1.9.9 (?), elected via Auto-RP&lt;br /&gt;         Uptime: 00:00:31, expires: 00:02:24&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Next step is to achieve redundancy.  Make SW1 backup SW3 should it fail and vice versa.&lt;br /&gt;&lt;br /&gt;This can be achieved by defining each candidate RP with the same duplicate range. The mapping agent will select the RP with the highest ip address.&lt;br /&gt;&lt;br /&gt;So on SW1 and SW3 i update access list 11 as follows:-&lt;br /&gt;&lt;br /&gt;ip access-list st 11&lt;br /&gt;permit 224.0.0.0 15.255.255.255&lt;br /&gt;&lt;br /&gt;Router_5&gt;show ip pim rp map 224.0.0.0&lt;br /&gt;PIM Group-to-RP Mappings&lt;br /&gt;This system is an RP (Auto-RP)&lt;br /&gt;This system is an RP-mapping agent (Loopback0)&lt;br /&gt;&lt;br /&gt;Group(s) 224.0.0.0/5&lt;br /&gt;  RP 150.1.7.7 (?), v2v1&lt;br /&gt;    Info source: 150.1.7.7 (?), elected via Auto-RP&lt;br /&gt;         Uptime: 00:07:38, expires: 00:02:21&lt;br /&gt;Group(s) 224.0.0.0/4&lt;br /&gt;&lt;strong&gt;  RP 150.1.9.9 (?), v2v1&lt;br /&gt;    Info source: 150.1.9.9 (?), elected via Auto-RP&lt;/strong&gt;&lt;br /&gt;         Uptime: 00:02:01, expires: 00:01:56&lt;br /&gt;  RP 150.1.7.7 (?), v2v1&lt;br /&gt;    Info source: 150.1.7.7 (?), via Auto-RP&lt;br /&gt;         Uptime: 00:01:38, expires: 00:02:18&lt;br /&gt;  RP 150.1.5.5 (?), v2v1&lt;br /&gt;    Info source: 150.1.5.5 (?), via Auto-RP&lt;br /&gt;         Uptime: 00:21:27, expires: 00:02:46&lt;br /&gt;&lt;br /&gt;The mapping agent shows SW3 as the winning candidate RP for the 224.0.0.0/4 range. On other routers only the winning RP will be shown in the rp map table.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Router_6&gt;s ip pim rp map&lt;br /&gt;&lt;br /&gt;PIM Group-to-RP Mappings&lt;br /&gt;Group(s) 224.0.0.0/4&lt;br /&gt;  RP 150.1.9.9 (?), v2v1&lt;br /&gt;    Info source: 150.1.5.5 (?), elected via Auto-RP&lt;br /&gt;         Uptime: 00:04:10, expires: 00:02:42&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Note. When selecting ranges to advertise the mapping agent will always advertise the longest match mcast range.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2418082835537995017-2620959043449551369?l=routerric.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://routerric.blogspot.com/feeds/2620959043449551369/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2418082835537995017&amp;postID=2620959043449551369' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/2620959043449551369'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/2620959043449551369'/><link rel='alternate' type='text/html' href='http://routerric.blogspot.com/2009/06/pim-rp-load-balancing-and-redundancy.html' title='PIM RP Load Balancing and Redundancy'/><author><name>richsd1</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/--YOija8WuTM/TsAonUOe5wI/AAAAAAAAAPg/hT87gnDHaJg/s220/DSCN0197.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2418082835537995017.post-7478817615641560207</id><published>2009-06-08T21:28:00.000-07:00</published><updated>2009-06-08T21:40:27.360-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ip pim dr-priority'/><title type='text'>PIM DR</title><content type='html'>&lt;a href="http://4.bp.blogspot.com/_fmDP85Ew2Ek/Si3l_-FZm8I/AAAAAAAAAKw/YpmXZGxO1O0/s1600-h/PIM+ASSERT.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 188px;" src="http://4.bp.blogspot.com/_fmDP85Ew2Ek/Si3l_-FZm8I/AAAAAAAAAKw/YpmXZGxO1O0/s400/PIM+ASSERT.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5345181219918814146" /&gt;&lt;/a&gt;&lt;br /&gt;On a multiaccess network there may be multiple IGMP enabled routers. It is the responsibility of one of these IGMP routers to send any PIM join messages towards the RP.&lt;br /&gt;&lt;br /&gt;If no PIM DR priority is expilicitly configured the IGMP/PIM router with the highest ip address is elected as the DR and will send the join. The PIM DR priority can be used to influence which router is elected to forward the PIM join messages. &lt;br /&gt;&lt;br /&gt;In the above scenario, without any DR priorities configured, R6 is elected DR as it has the highest ip address.&lt;br /&gt;&lt;br /&gt;Router_1&gt;S IP PIM NE&lt;br /&gt;PIM Neighbor Table&lt;br /&gt;Mode: B - Bidir Capable, DR - Designated Router, N - Default DR Priority,&lt;br /&gt;      S - State Refresh Capable&lt;br /&gt;Neighbor          Interface                Uptime/Expires    Ver   DR&lt;br /&gt;Address                                                            Prio/Mode&lt;br /&gt;&lt;strong&gt;155.1.148.6       FastEthernet0/0          00:01:26/00:01:17 v2    1 / DR S&lt;/strong&gt;&lt;br /&gt;155.1.148.4       FastEthernet0/0          00:02:16/00:01:18 v2    1 / S&lt;br /&gt;155.1.0.5         Serial2/0                00:00:21/00:01:24 v2    1 / DR S&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;If the lab requirement states R1 should be the DR for this segment this can be achieved with the use of the 'ip pim dr-priority' message.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;config#int fa0/0&lt;br /&gt;config-if#ip pim dr-priority 100&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;With the above config applied i re-examine the PIM neighbors and R1 has pre-empted the DR position.&lt;br /&gt;&lt;br /&gt;Router_4#s ip pim ne&lt;br /&gt;PIM Neighbor Table&lt;br /&gt;Mode: B - Bidir Capable, DR - Designated Router, N - Default DR Priority,&lt;br /&gt;      S - State Refresh Capable&lt;br /&gt;Neighbor          Interface                Uptime/Expires    Ver   DR&lt;br /&gt;Address                                                            Prio/Mode&lt;br /&gt;155.1.148.6       FastEthernet0/0          00:02:14/00:01:28 v2    1 / S&lt;br /&gt;155.1.148.1       FastEthernet0/0          00:02:35/00:01:28 v2    100/ DR S&lt;br /&gt;155.1.46.5        Serial2/1                00:02:49/00:01:22 v2    1 / S&lt;br /&gt;&lt;br /&gt;From R1 this can be seen as well using the 'show ip pim interface fa0/0' command.&lt;br /&gt;&lt;br /&gt;Router_1#s ip pim interface fa0/0&lt;br /&gt;Address          Interface                Ver/   Nbr    Query  DR     &lt;strong&gt;DR&lt;/strong&gt;&lt;br /&gt;                                          Mode   Count  Intvl  Prior&lt;br /&gt;155.1.148.1      FastEthernet0/0          v2/SD  2      30     100    &lt;strong&gt;155.1.148.1&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;In summary the PIM DR controls upstream PIM joins, and from my previous post the PIM assert mechanism controls downstream routing of multicast traffic.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2418082835537995017-7478817615641560207?l=routerric.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://routerric.blogspot.com/feeds/7478817615641560207/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2418082835537995017&amp;postID=7478817615641560207' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/7478817615641560207'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/7478817615641560207'/><link rel='alternate' type='text/html' href='http://routerric.blogspot.com/2009/06/pim-dr.html' title='PIM DR'/><author><name>richsd1</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/--YOija8WuTM/TsAonUOe5wI/AAAAAAAAAPg/hT87gnDHaJg/s220/DSCN0197.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_fmDP85Ew2Ek/Si3l_-FZm8I/AAAAAAAAAKw/YpmXZGxO1O0/s72-c/PIM+ASSERT.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2418082835537995017.post-6138398292308734532</id><published>2009-06-07T23:04:00.000-07:00</published><updated>2009-06-17T22:01:20.062-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Controlling access to RP'/><title type='text'>Controlling access to RP</title><content type='html'>PIM has the functionality to specify the multicast groups that an RP will allow joins from.&lt;br /&gt;&lt;br /&gt;This allows central control over the mcast groups serviced by the RP.&lt;br /&gt;&lt;br /&gt;The following config will only allow joins to mcast groups 224.11.11.11 and 224.111.111.111 for the RP 150.1.5.5.  This can be enabled on the RP itself, or altenatively on routers on the path to the RP.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;ip access-list st 5&lt;br /&gt;permit 224.11.11.11&lt;br /&gt;permit 224.111.111.111&lt;br /&gt;&lt;br /&gt;ip pim accept-rp 150.1.5.5 5&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;With 'debug ip pim' enabled failed attempts to the join RP are logged&lt;br /&gt;&lt;br /&gt;*Jun  8 07:03:13.039: PIM(0): Join-list: (*, 224.20.20.20),, ignored, invalid RP&lt;br /&gt; 150.1.5.5 from 155.1.58.2&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2418082835537995017-6138398292308734532?l=routerric.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://routerric.blogspot.com/feeds/6138398292308734532/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2418082835537995017&amp;postID=6138398292308734532' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/6138398292308734532'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/6138398292308734532'/><link rel='alternate' type='text/html' href='http://routerric.blogspot.com/2009/06/controlling-access-to-rp.html' title='Controlling access to RP'/><author><name>richsd1</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/--YOija8WuTM/TsAonUOe5wI/AAAAAAAAAPg/hT87gnDHaJg/s220/DSCN0197.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2418082835537995017.post-4329443302556927201</id><published>2009-06-07T22:37:00.000-07:00</published><updated>2009-06-17T22:01:35.710-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PIM Assert'/><title type='text'>PIM Assert</title><content type='html'>&lt;a href="http://4.bp.blogspot.com/_fmDP85Ew2Ek/Siyj8nn_3II/AAAAAAAAAKo/m4b01jd8wm4/s1600-h/PIM+ASSERT.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 188px;" src="http://4.bp.blogspot.com/_fmDP85Ew2Ek/Siyj8nn_3II/AAAAAAAAAKo/m4b01jd8wm4/s400/PIM+ASSERT.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5344827119606160514" /&gt;&lt;/a&gt;&lt;br /&gt;The PIM Assert mechanism is used to shutoff duplicate flows onto the same multiaccess network.  Routers detect this condition when they receive an (S,G) packet via a multi-access interface that is already in the (S,G) OIL. This causes the routers to send Assert Messages.&lt;br /&gt;&lt;br /&gt;In this scenario the workstation attached to R6 has joined group 239.6.6.6. A multicast feed is started and both R1 and R4 begin sending the mcast.&lt;br /&gt;&lt;br /&gt;With 'debug ip pim' enabled on R1 and R4, it can be seen that a PIM assert exhange is initiated between them.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;ON R1&lt;/strong&gt;&lt;br /&gt;*Jun  8 06:18:49.419: PIM(0): Send v2 Assert on FastEthernet0/0 for 239.6.6.6, source 155.1.58.2, metric [80/65]&lt;br /&gt;*Jun  8 06:18:49.423: PIM(0): Assert metric to source 155.1.58.2 is [80/65]&lt;br /&gt;*Jun  8 06:18:49.423: PIM(0): We win, our metric [80/65]&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;ON R4&lt;/strong&gt;&lt;br /&gt;*Jun  8 06:18:49.359: PIM(0): Received v2 Assert on FastEthernet0/0 from 155.1.1&lt;br /&gt;48.1&lt;br /&gt;*Jun  8 06:18:49.367: PIM(0): Assert metric to source 155.1.58.2 is [80/65]&lt;br /&gt;Router_4#&lt;br /&gt;*Jun  8 06:18:49.371: PIM(0): We lose, our metric [90/2172416]&lt;br /&gt;&lt;br /&gt;The winner of the assert exchange is the router with best (AD,Metric). In the above case, R1 has an AD of 80 and R4 has an AD of 90.  R1 wins!&lt;br /&gt;&lt;br /&gt;As a result R4 prunes the S,G entries in its routing table&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Router_4#s ip mroute 239.6.6.6&lt;br /&gt;IP Multicast Routing Table&lt;br /&gt;Flags: D - Dense, S - Sparse, B - Bidir Group, s - SSM Group, C - Connected,&lt;br /&gt;       L - Local, P - Pruned, R - RP-bit set, F - Register flag,&lt;br /&gt;       T - SPT-bit set, J - Join SPT, M - MSDP created entry,&lt;br /&gt;       X - Proxy Join Timer Running, A - Candidate for MSDP Advertisement,&lt;br /&gt;       U - URD, I - Received Source Specific Host Report,&lt;br /&gt;       Z - Multicast Tunnel, z - MDT-data group sender,&lt;br /&gt;       Y - Joined MDT-data group, y - Sending to MDT-data group&lt;br /&gt;Outgoing interface flags: H - Hardware switched, A - Assert winner&lt;br /&gt; Timers: Uptime/Expires&lt;br /&gt; Interface state: Interface, Next-Hop or VCD, State/Mode&lt;br /&gt;&lt;br /&gt;(*, 239.6.6.6), 00:04:43/stopped, RP 0.0.0.0, flags: D&lt;br /&gt;  Incoming interface: Null, RPF nbr 0.0.0.0&lt;br /&gt;  Outgoing interface list:&lt;br /&gt;    Serial2/1, Forward/Sparse-Dense, 00:04:43/00:00:00&lt;br /&gt;    FastEthernet0/0, Forward/Sparse-Dense, 00:04:43/00:00:00&lt;br /&gt;&lt;br /&gt;(150.1.8.8, 239.6.6.6), 00:00:56/00:02:05, flags: PT&lt;br /&gt;  Incoming interface: Serial2/1, RPF nbr 155.1.46.5&lt;br /&gt;  Outgoing interface list:&lt;br /&gt;    FastEthernet0/0, &lt;strong&gt;Prune/Sparse-Dense&lt;/strong&gt;, 00:00:56/00:02:03&lt;br /&gt;&lt;br /&gt;(155.1.58.2, 239.6.6.6), 00:00:56/00:02:05, flags: PT&lt;br /&gt;  Incoming interface: Serial2/1, RPF nbr 155.1.46.5&lt;br /&gt;  Outgoing interface list:&lt;br /&gt;    FastEthernet0/0, &lt;strong&gt;Prune/Sparse-Dense&lt;/strong&gt;, 00:00:56/00:02:03&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;On R1 the S,G entries remain with an 'A' by them denoting Assert winner!&lt;br /&gt;&lt;br /&gt;Router_1#s ip mroute 239.6.6.6&lt;br /&gt;IP Multicast Routing Table&lt;br /&gt;Flags: D - Dense, S - Sparse, B - Bidir Group, s - SSM Group, C - Connected,&lt;br /&gt;       L - Local, P - Pruned, R - RP-bit set, F - Register flag,&lt;br /&gt;       T - SPT-bit set, J - Join SPT, M - MSDP created entry,&lt;br /&gt;       X - Proxy Join Timer Running, A - Candidate for MSDP Advertisement,&lt;br /&gt;       U - URD, I - Received Source Specific Host Report,&lt;br /&gt;       Z - Multicast Tunnel, z - MDT-data group sender,&lt;br /&gt;       Y - Joined MDT-data group, y - Sending to MDT-data group&lt;br /&gt;Outgoing interface flags: H - Hardware switched, A - Assert winner&lt;br /&gt; Timers: Uptime/Expires&lt;br /&gt; Interface state: Interface, Next-Hop or VCD, State/Mode&lt;br /&gt;&lt;br /&gt;(*, 239.6.6.6), 00:05:01/stopped, RP 0.0.0.0, flags: D&lt;br /&gt;  Incoming interface: Null, RPF nbr 0.0.0.0&lt;br /&gt;  Outgoing interface list:&lt;br /&gt;    Serial2/0, Forward/Sparse-Dense, 00:05:01/00:00:00&lt;br /&gt;    FastEthernet0/0, Forward/Sparse-Dense, 00:05:01/00:00:00&lt;br /&gt;&lt;br /&gt;(150.1.8.8, 239.6.6.6), 00:01:14/00:01:46, flags: T&lt;br /&gt;  Incoming interface: Serial2/0, RPF nbr 155.1.0.5&lt;br /&gt;  Outgoing interface list:&lt;br /&gt;    FastEthernet0/0, Forward/Sparse-Dense, 00:01:14/00:00:00, &lt;strong&gt;A&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;(155.1.58.2, 239.6.6.6), 00:01:14/00:01:46, flags: T&lt;br /&gt;  Incoming interface: Serial2/0, RPF nbr 155.1.0.5&lt;br /&gt;  Outgoing interface list:&lt;br /&gt;    FastEthernet0/0, Forward/Sparse-Dense, 00:01:14/00:00:00, &lt;strong&gt;A&lt;/strong&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2418082835537995017-4329443302556927201?l=routerric.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://routerric.blogspot.com/feeds/4329443302556927201/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2418082835537995017&amp;postID=4329443302556927201' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/4329443302556927201'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/4329443302556927201'/><link rel='alternate' type='text/html' href='http://routerric.blogspot.com/2009/06/pim-assert.html' title='PIM Assert'/><author><name>richsd1</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/--YOija8WuTM/TsAonUOe5wI/AAAAAAAAAPg/hT87gnDHaJg/s220/DSCN0197.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_fmDP85Ew2Ek/Siyj8nn_3II/AAAAAAAAAKo/m4b01jd8wm4/s72-c/PIM+ASSERT.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2418082835537995017.post-872006814569619643</id><published>2009-05-31T22:54:00.000-07:00</published><updated>2009-06-17T22:01:55.421-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SNMP version 3'/><title type='text'>SNMP version 3</title><content type='html'>SNMP version 3 incorporates security enhancements into the SNMP protocol.&lt;br /&gt;&lt;br /&gt;To utilise this new functionality SNMP groups with associated user names and passwords must be created.&lt;br /&gt;&lt;br /&gt;The 1st step is to specify an acl of users allowed to access the group&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;config#ip access-list st 1&lt;br /&gt;config-std-acl#permit 130.1.1.1&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;config#snmp-server group IELAB v3 auth access 1&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;The 2nd step is to specify the user names and passwords&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;config#snmp-server user rich IELAB v3 auth md5 CISCO&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Verification can be done with the command&lt;br /&gt;&lt;br /&gt;R4#s snmp user&lt;br /&gt;User name: rich&lt;br /&gt;Engine ID: 800000090300CA0309800000&lt;br /&gt;storage-type: nonvolatile        active&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;When defining the snmp host the authentication method can then be specified.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;config#snmp-server host 154.1.3.100 version 3 auth IELAB&lt;/strong&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2418082835537995017-872006814569619643?l=routerric.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://routerric.blogspot.com/feeds/872006814569619643/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2418082835537995017&amp;postID=872006814569619643' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/872006814569619643'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/872006814569619643'/><link rel='alternate' type='text/html' href='http://routerric.blogspot.com/2009/05/snmp-version-3.html' title='SNMP version 3'/><author><name>richsd1</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/--YOija8WuTM/TsAonUOe5wI/AAAAAAAAAPg/hT87gnDHaJg/s220/DSCN0197.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2418082835537995017.post-454207810520544705</id><published>2009-05-21T22:20:00.000-07:00</published><updated>2009-05-21T22:59:46.758-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='multicast shared tree'/><title type='text'>Multicast - Shared Trees</title><content type='html'>&lt;a href="http://4.bp.blogspot.com/_fmDP85Ew2Ek/ShY-2UKKRsI/AAAAAAAAAKg/zFDv3kwJ3E4/s1600-h/MCAST.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 311px;" src="http://4.bp.blogspot.com/_fmDP85Ew2Ek/ShY-2UKKRsI/AAAAAAAAAKg/zFDv3kwJ3E4/s400/MCAST.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5338523511139485378" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_fmDP85Ew2Ek/ShY7f_IO51I/AAAAAAAAAKY/Dl1icDEFD64/s1600-h/MCAST.jpg"&gt;&lt;/a&gt;&lt;br /&gt;I thought i would write about the multicast 'shared tree' and how it is built. Once understood, I feel this has certainly helped me with multicast and troubleshooting along the way.&lt;br /&gt;&lt;br /&gt;This is a two stage process: the server 'registers' to the RP and the client 'joins' the RP. These 2 processes are independent of each other and is the same regardless of the underlying PIM RP selection protocol e.g. Auto rp, static rp, or BSR.&lt;br /&gt;&lt;br /&gt;In this example i use multicast servers attached to R6 and clients attached to R4.&lt;br /&gt;The RP is 150.1.5.5 on R5&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;First the registration process.&lt;/strong&gt;&lt;br /&gt;A server at 204.12.1.254 starts to send to a multicast address multicast address 224.4.4.4. The PIM interface on the local LAN segment receives the multicast packet and sends a PIM 'register' to the RP, 150.1.5.5 in this example. This message is actually encapsulated as a unicast message to 150.1.5.5.&lt;br /&gt;&lt;br /&gt;When the RP receives this register message it acknowledges receipt&lt;br /&gt;&lt;br /&gt;The output of the debug ip pim on R6 (local PIM interface) and R5 (the RP) shows this...&lt;br /&gt;&lt;br /&gt;R6#&lt;br /&gt;*May 21 06:35:16.647: PIM(0): Check RP 150.1.5.5 into the (*, 224.4.4.4) entry&lt;br /&gt;*May 21 06:35:16.655: PIM(0): Send v2 Register to 150.1.5.5 for 204.12.1.254, gr&lt;br /&gt;oup 224.4.4.4&lt;br /&gt;*May 21 06:35:17.143: PIM(0): Received v2 Register-Stop on FastEthernet0/0 from&lt;br /&gt;150.1.5.5&lt;br /&gt;*May 21 06:35:17.147: PIM(0): for source 204.12.1.254, group 224.4.4.4&lt;br /&gt;*May 21 06:35:17.147: PIM(0): Clear Registering flag to 150.1.5.5 for (204.12.1.&lt;br /&gt;254/32, 224.4.4.4)&lt;br /&gt;&lt;br /&gt;R5#&lt;br /&gt;*May 21 06:35:16.483: PIM(0): Received v2 Register on Serial2/0 from 192.10.1.6&lt;br /&gt;*May 21 06:35:16.487: for 204.12.1.254, group 224.4.4.4&lt;br /&gt;*May 21 06:35:16.491: PIM(0): Check RP 150.1.5.5 into the (*, 224.4.4.4) entry&lt;br /&gt;*May 21 06:35:16.495: PIM(0): Send v2 Register-Stop to 192.10.1.6 for 204.12.1.2&lt;br /&gt;54, group 224.4.4.4&lt;br /&gt;&lt;br /&gt;Following this registration process entries are placed in the mroute table on R6 and R5, but not any intervening routers in the unicast path between R6 and R5.&lt;br /&gt;&lt;br /&gt;On R6 2 mroute entries are created: the (*,G) entry and the (S,G) entry. Both entries at this stage have a null output interface as no client has yet registered for this multicast feed. The (S,G) entry denotes that a server is sending to the multicast group.&lt;br /&gt;&lt;br /&gt;R6#s ip mroute 224.4.4.4&lt;br /&gt;IP Multicast Routing Table&lt;br /&gt;Flags: D - Dense, S - Sparse, B - Bidir Group, s - SSM Group, C - Connected,&lt;br /&gt;L - Local, P - Pruned, R - RP-bit set, F - Register flag,&lt;br /&gt;T - SPT-bit set, J - Join SPT, M - MSDP created entry,&lt;br /&gt;X - Proxy Join Timer Running, A - Candidate for MSDP Advertisement,&lt;br /&gt;U - URD, I - Received Source Specific Host Report,&lt;br /&gt;Z - Multicast Tunnel, z - MDT-data group sender,&lt;br /&gt;Y - Joined MDT-data group, y - Sending to MDT-data group&lt;br /&gt;Outgoing interface flags: H - Hardware switched, A - Assert winner&lt;br /&gt;Timers: Uptime/Expires&lt;br /&gt;Interface state: Interface, Next-Hop or VCD, State/Mode&lt;br /&gt;&lt;br /&gt;(*, 224.4.4.4), 00:11:12/stopped, RP 150.1.5.5, flags: SPF&lt;br /&gt;Incoming interface: FastEthernet0/0, RPF nbr 192.10.1.1&lt;br /&gt;Outgoing interface list: Null&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;(204.12.1.254, 224.4.4.4), 00:11:12/00:02:51, flags: PFT&lt;br /&gt;Incoming interface: FastEthernet1/0, RPF nbr 0.0.0.0&lt;br /&gt;Outgoing interface list: Null&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;On R5, the RP, a similar 2 entries are created.&lt;br /&gt;&lt;br /&gt;R5#s ip mroute 224.4.4.4&lt;br /&gt;IP Multicast Routing Table&lt;br /&gt;Flags: D - Dense, S - Sparse, B - Bidir Group, s - SSM Group, C - Connected,&lt;br /&gt;L - Local, P - Pruned, R - RP-bit set, F - Register flag,&lt;br /&gt;T - SPT-bit set, J - Join SPT, M - MSDP created entry,&lt;br /&gt;X - Proxy Join Timer Running, A - Candidate for MSDP Advertisement,&lt;br /&gt;U - URD, I - Received Source Specific Host Report,&lt;br /&gt;Z - Multicast Tunnel, z - MDT-data group sender,&lt;br /&gt;Y - Joined MDT-data group, y - Sending to MDT-data group&lt;br /&gt;Outgoing interface flags: H - Hardware switched, A - Assert winner&lt;br /&gt;Timers: Uptime/Expires&lt;br /&gt;Interface state: Interface, Next-Hop or VCD, State/Mode&lt;br /&gt;&lt;br /&gt;(*, 224.4.4.4), 00:10:16/stopped, RP 150.1.5.5, flags: SP&lt;br /&gt;Incoming interface: Null, RPF nbr 0.0.0.0&lt;br /&gt;Outgoing interface list: Null&lt;br /&gt;&lt;br /&gt;(204.12.1.254, 224.4.4.4), 00:10:16/00:02:47, flags: P&lt;br /&gt;Incoming interface: Tunnel53, RPF nbr 154.1.0.3, Mroute&lt;br /&gt;Outgoing interface list: Null&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;This completes the register process.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Second the client 'join' process.&lt;/strong&gt;&lt;br /&gt;A mcast client is connected to R4 and sends an IGMP join for the multicast group 224.4.5.6. Upon receipt of the IGMP join R4 sends a PIM join message towards the RP (R5).&lt;br /&gt;&lt;br /&gt;Debug output on R5 shows receipt of the join message.&lt;br /&gt;&lt;br /&gt;R5#&lt;br /&gt;*May 21 06:59:48.519: PIM(0): Received v2 Join/Prune on Tunnel53 from 154.1.0.3,&lt;br /&gt;to us&lt;br /&gt;*May 21 06:59:48.523: PIM(0): Join-list: (*, 224.4.5.6), RPT-bit set, WC-bit set&lt;br /&gt;, S-bit set&lt;br /&gt;*May 21 06:59:48.527: PIM(0): Add Tunnel53/154.1.0.3 to (*, 224.4.5.6), Forward&lt;br /&gt;state, by PIM *G Join&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;On the RP (R5) a (*,G) entry is created in the mroute table&lt;br /&gt;&lt;br /&gt;R5#s ip mroute 224.4.5.6&lt;br /&gt;IP Multicast Routing Table&lt;br /&gt;Flags: D - Dense, S - Sparse, B - Bidir Group, s - SSM Group, C - Connected,&lt;br /&gt;L - Local, P - Pruned, R - RP-bit set, F - Register flag,&lt;br /&gt;T - SPT-bit set, J - Join SPT, M - MSDP created entry,&lt;br /&gt;X - Proxy Join Timer Running, A - Candidate for MSDP Advertisement,&lt;br /&gt;U - URD, I - Received Source Specific Host Report,&lt;br /&gt;Z - Multicast Tunnel, z - MDT-data group sender,&lt;br /&gt;Y - Joined MDT-data group, y - Sending to MDT-data group&lt;br /&gt;Outgoing interface flags: H - Hardware switched, A - Assert winner&lt;br /&gt;Timers: Uptime/Expires&lt;br /&gt;Interface state: Interface, Next-Hop or VCD, State/Mode&lt;br /&gt;&lt;br /&gt;(*, 224.4.5.6), 00:02:47/00:02:58, RP 150.1.5.5, flags: SJC&lt;br /&gt;Incoming interface: Null, RPF nbr 0.0.0.0&lt;br /&gt;Outgoing interface list:&lt;br /&gt;Tunnel53, Forward/Sparse-Dense, 00:01:48/00:02:40&lt;br /&gt;FastEthernet1/0, Forward/Sparse-Dense, 00:02:47/00:02:58&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Notice this time the entry has a populated outgoing interface. With the join process all PIM enabled routers in the path to the RP also build such an entry in their mroute table.&lt;br /&gt;&lt;br /&gt;This completes the join process.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Tying 'register' and 'join' together&lt;/strong&gt;&lt;br /&gt;The RP ties the join and register processes together. I initiate a server multicast feed to the multicast address 224.4.5.6.&lt;br /&gt;&lt;br /&gt;I start a ping to 224.4.5.6&lt;br /&gt;&lt;br /&gt;ping 224.4.5.6 repeat 10000&lt;br /&gt;Reply to request 23 from 154.1.0.4, 552 ms&lt;br /&gt;Reply to request 24 from 154.1.0.4, 676 ms&lt;br /&gt;Reply to request 25 from 154.1.0.4, 788 ms&lt;br /&gt;Reply to request 26 from 154.1.0.4, 964 ms&lt;br /&gt;Reply to request 27 from 154.1.0.4, 824 ms&lt;br /&gt;&lt;br /&gt;This will again initiate a new register from the local PIM interface to the RP for this multicast group.&lt;br /&gt;&lt;br /&gt;I examine the mroute table on the RP with this multicast ping in process.&lt;br /&gt;&lt;br /&gt;R5#s ip mroute 224.4.5.6&lt;br /&gt;IP Multicast Routing Table&lt;br /&gt;Flags: D - Dense, S - Sparse, B - Bidir Group, s - SSM Group, C - Connected,&lt;br /&gt;L - Local, P - Pruned, R - RP-bit set, F - Register flag,&lt;br /&gt;T - SPT-bit set, J - Join SPT, M - MSDP created entry,&lt;br /&gt;X - Proxy Join Timer Running, A - Candidate for MSDP Advertisement,&lt;br /&gt;U - URD, I - Received Source Specific Host Report,&lt;br /&gt;Z - Multicast Tunnel, z - MDT-data group sender,&lt;br /&gt;Y - Joined MDT-data group, y - Sending to MDT-data group&lt;br /&gt;Outgoing interface flags: H - Hardware switched, A - Assert winner&lt;br /&gt;Timers: Uptime/Expires&lt;br /&gt;Interface state: Interface, Next-Hop or VCD, State/Mode&lt;br /&gt;&lt;br /&gt;(*, 224.4.5.6), 00:03:55/00:03:29, RP 150.1.5.5, flags: SJC&lt;br /&gt;Incoming interface: Null, RPF nbr 0.0.0.0&lt;br /&gt;Outgoing interface list:&lt;br /&gt;Tunnel53, Forward/Sparse-Dense, 00:02:56/00:03:29&lt;br /&gt;FastEthernet1/0, Forward/Sparse-Dense, 00:03:55/00:02:50&lt;br /&gt;&lt;br /&gt;(204.12.1.254, 224.4.5.6), 00:00:22/00:02:59, flags: T&lt;br /&gt;Incoming interface: Tunnel53, RPF nbr 154.1.0.3, Mroute&lt;br /&gt;Outgoing interface list:&lt;br /&gt;FastEthernet1/0, Forward/Sparse-Dense, 00:00:22/00:02:50&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;As before the RP contains both the (*,G) and (S,G) entries. Since a client has registered for this feed both entries also contain an interface in the outgoing interface list (OIL).&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I examine the mroute table on R6 (the PIM router connected to the multicast server). Similarly there are 2 entries for the multicats group 224.4.5.6. Note the (S,G) entry has an OIL entry, however the (*,G) entry does not.&lt;br /&gt;&lt;br /&gt;Only those routers in the path between the multicast client an the RP will have a populated OIL for this entry.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;R6#s ip mroute 224.4.5.6&lt;br /&gt;IP Multicast Routing Table&lt;br /&gt;Flags: D - Dense, S - Sparse, B - Bidir Group, s - SSM Group, C - Connected,&lt;br /&gt;L - Local, P - Pruned, R - RP-bit set, F - Register flag,&lt;br /&gt;T - SPT-bit set, J - Join SPT, M - MSDP created entry,&lt;br /&gt;X - Proxy Join Timer Running, A - Candidate for MSDP Advertisement,&lt;br /&gt;U - URD, I - Received Source Specific Host Report,&lt;br /&gt;Z - Multicast Tunnel, z - MDT-data group sender,&lt;br /&gt;Y - Joined MDT-data group, y - Sending to MDT-data group&lt;br /&gt;Outgoing interface flags: H - Hardware switched, A - Assert winner&lt;br /&gt;Timers: Uptime/Expires&lt;br /&gt;Interface state: Interface, Next-Hop or VCD, State/Mode&lt;br /&gt;&lt;br /&gt;(*, 224.4.5.6), 00:03:13/stopped, RP 150.1.5.5, flags: SPF&lt;br /&gt;Incoming interface: FastEthernet0/0, RPF nbr 192.10.1.1&lt;br /&gt;Outgoing interface list: Null&lt;br /&gt;&lt;br /&gt;(204.12.1.254, 224.4.5.6), 00:03:13/00:03:25, flags: FT&lt;br /&gt;Incoming interface: FastEthernet1/0, RPF nbr 0.0.0.0&lt;br /&gt;Outgoing interface list:&lt;br /&gt;FastEthernet0/0, Forward/Sparse-Dense, 00:03:12/00:03:16&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2418082835537995017-454207810520544705?l=routerric.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://routerric.blogspot.com/feeds/454207810520544705/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2418082835537995017&amp;postID=454207810520544705' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/454207810520544705'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/454207810520544705'/><link rel='alternate' type='text/html' href='http://routerric.blogspot.com/2009/05/multicast-shared-trees.html' title='Multicast - Shared Trees'/><author><name>richsd1</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/--YOija8WuTM/TsAonUOe5wI/AAAAAAAAAPg/hT87gnDHaJg/s220/DSCN0197.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_fmDP85Ew2Ek/ShY-2UKKRsI/AAAAAAAAAKg/zFDv3kwJ3E4/s72-c/MCAST.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2418082835537995017.post-2457822225302023521</id><published>2009-05-17T21:43:00.000-07:00</published><updated>2009-06-17T22:02:11.641-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='BGP preferred path'/><title type='text'>BGP preferred path</title><content type='html'>&lt;a href="http://4.bp.blogspot.com/_fmDP85Ew2Ek/ShDyEe9Az7I/AAAAAAAAAKQ/xUso9RAu508/s1600-h/BGP+PREFERRED+PATH.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5337031717276405682" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 348px; CURSOR: hand; HEIGHT: 264px; TEXT-ALIGN: center" alt="" src="http://4.bp.blogspot.com/_fmDP85Ew2Ek/ShDyEe9Az7I/AAAAAAAAAKQ/xUso9RAu508/s400/BGP+PREFERRED+PATH.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;&lt;a href="http://2.bp.blogspot.com/_fmDP85Ew2Ek/ShDwLnNB03I/AAAAAAAAAKI/9h75R_PmsBc/s1600-h/BGP+PREFERRED+PATH.jpg"&gt;&lt;/a&gt;&lt;br /&gt;In this scenario R3 is advertising network 154.1.5.0/24 to bgp peers R1 and R2. The lab requirement is for AS 300 to be configured so that the link R1 to R3 is the preferred path to reach this network.&lt;br /&gt;&lt;br /&gt;In such a scenario there are 2 usual candidates to meet this requirement: as-path prepending and MED. In this scenario as-path pre-pending is not allowed.&lt;br /&gt;&lt;br /&gt;So the configuration for MED on R3 is as follows&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;ip prefix-list VLAN10 permit 154.1.5.0/24&lt;br /&gt;route-map R1 permit 10&lt;br /&gt;match ip address prefix-list VLAN10&lt;br /&gt;set metric 100&lt;br /&gt;route-map R1 permit 20&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;route-map R2 permit 10&lt;br /&gt;match ip address prefix-list VLAN10&lt;br /&gt;set metric 200&lt;br /&gt;route-map R2 permit 20&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;router bgp 300&lt;br /&gt;neighbor 154.1.13.1 route-map R1 out&lt;br /&gt;neighbor 154.1.23.2 route-map R2 out&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;The above was my first configured solution. I examined the bgp routing table on R2 to verify my results:-&lt;br /&gt;&lt;br /&gt;R2#s ip bgp&lt;br /&gt;Network Next Hop Metric LocPrf Weight Path&lt;br /&gt;*&gt;i154.1.5.0/24 154.1.13.3 100 100 0 300 400 i&lt;br /&gt;*                            154.1.23.3 200 0 300 400 i&lt;br /&gt;&lt;br /&gt;As expected R2 had 2 paths to network 154.1.5.0/24. However R2s next hop for both learned routes was R3! I had missed one vital configuration element in terms of meeting the lab requirement. R1s advertisement of 154.1.5.0/24 to R2 was NOT adjusting the next hop. This is the correct beahviour since R1 has an EBGP peer relationship with R3.&lt;br /&gt;&lt;br /&gt;To ensure traffic from R2 destined to R3 goes via R1 it is necessary for R1 to adjust the next hop of EBGP learned routes to itself.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;R1&lt;br /&gt;router bgp 200&lt;br /&gt;neighbor 192.10.1.2 next-hop-self&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Once applied i examined the bgp table on R2 again..&lt;br /&gt;&lt;br /&gt;Rack1R2#s ip bgp&lt;br /&gt;Network Next Hop Metric LocPrf Weight Path&lt;br /&gt;&lt;strong&gt;*&gt;i154.1.5.0/24 192.10.1.1 100 100 0 300 400 i&lt;/strong&gt;&lt;br /&gt;*                                154.1.23.3 200 0 300 400 i&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Now R2s preferred route to reach R3 is via R1. Job done! &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2418082835537995017-2457822225302023521?l=routerric.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://routerric.blogspot.com/feeds/2457822225302023521/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2418082835537995017&amp;postID=2457822225302023521' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/2457822225302023521'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/2457822225302023521'/><link rel='alternate' type='text/html' href='http://routerric.blogspot.com/2009/05/bgp-preferred-path.html' title='BGP preferred path'/><author><name>richsd1</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/--YOija8WuTM/TsAonUOe5wI/AAAAAAAAAPg/hT87gnDHaJg/s220/DSCN0197.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_fmDP85Ew2Ek/ShDyEe9Az7I/AAAAAAAAAKQ/xUso9RAu508/s72-c/BGP+PREFERRED+PATH.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2418082835537995017.post-2943881167061851396</id><published>2009-05-16T21:55:00.000-07:00</published><updated>2009-05-16T22:04:12.150-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mls qos srr-queue dscp-map'/><title type='text'>srr-queue commands - part IV</title><content type='html'>The final part in my look at the srr queues is how DSCP or COS marked packets are assigned to the srr queues.&lt;br /&gt;&lt;br /&gt;First the default settings&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;&lt;br /&gt;dscp default values 0-63&lt;/span&gt;&lt;br /&gt;0-15 queue 2&lt;br /&gt;16-31 queue 3&lt;br /&gt;32-39, 48-63 queue 4&lt;br /&gt;40-47 queue 1&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;cos default values 0-7&lt;/span&gt;&lt;br /&gt;0,1 queue 2&lt;br /&gt;2,3 queue 3&lt;br /&gt;4,6,7 queue 4&lt;br /&gt;5 queue 1&lt;br /&gt;&lt;br /&gt;Within each queue marked packets can be placed in one of three threshold queues. By default all packets are placed in threshold 1. By default threshold 1 has the lowest tolerance to WTD. &lt;br /&gt;&lt;br /&gt;The above default settings can all be adjusted depending on the requirements to be met with the following commands&lt;br /&gt;&lt;br /&gt;mls qos srr-queue output dscp-map queue {queue-id} threshold {threshold id} {dscp1} ....{dscp8}&lt;br /&gt;mls qos srr-queue output cos-map queue {queue-id} threshold {threshold id} {cos1} ....{cos8}&lt;br /&gt;&lt;br /&gt;To ensure higher priority dscp or cos values are not dropped first they can be assigned to a threshold id with a higher value {2 or 3}. By default the higher threshold id values will have a higher tolerance to WTD.&lt;br /&gt;&lt;br /&gt;Finally to review assignments use the &lt;span style="font-weight:bold;"&gt;show mls qos maps&lt;/span&gt; command.&lt;br /&gt;&lt;br /&gt;Thats it for srr-queues. In my opinion, an absolute beast of a subject.  Good to have an understanding of the configurable parameters, but the doc cd will be my friend should this come up.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2418082835537995017-2943881167061851396?l=routerric.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://routerric.blogspot.com/feeds/2943881167061851396/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2418082835537995017&amp;postID=2943881167061851396' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/2943881167061851396'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/2943881167061851396'/><link rel='alternate' type='text/html' href='http://routerric.blogspot.com/2009/05/srr-queue-commands-part-iv.html' title='srr-queue commands - part IV'/><author><name>richsd1</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/--YOija8WuTM/TsAonUOe5wI/AAAAAAAAAPg/hT87gnDHaJg/s220/DSCN0197.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2418082835537995017.post-7068174542782350816</id><published>2009-05-15T22:12:00.000-07:00</published><updated>2009-05-15T22:41:50.566-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mls qos queue-set output'/><title type='text'>srr-queue commands - part III</title><content type='html'>Before i write about how traffic is allocated to queues, i realised there is another important piece to the srr queue puzzle. Namely how buffers are allocated and managed on the 4 srr queues.&lt;br /&gt;&lt;br /&gt;This in itself appears to be a science best approached in a dark room!:-)&lt;br /&gt;&lt;br /&gt;Buffers can be set up in advance and mapped to queue set in advance. 2 queue sets are available. An interface is then assigned to a queue set, thus applying the required buffers accordingly.  By default an interface uses queue set 2.&lt;br /&gt;&lt;br /&gt;An interface is assigned a queue-set as follows&lt;br /&gt;&lt;strong&gt;config-if#queue-set 2&lt;br /&gt;or&lt;br /&gt;config-if#queue-set 1&lt;/strong&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;As we know already there are 4 srr queues. A number of values can be set for each of these queues.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;1) Buffer allocation&lt;/strong&gt;&lt;br /&gt;In percentage terms how much of the available interface buffer space is mapped to this queue. Allocation for the 4 srr queues must total 100%.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;2) Buffer thresholds &lt;/strong&gt;- of which there are 4&lt;br /&gt;2 drop WTD (weighted tail drop) thresholds&lt;br /&gt;1 reserved threshold&lt;br /&gt;1 maximum threshold&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;First buffer allocation&lt;/strong&gt;&lt;br /&gt;mls qos queue-set {1-2} buffers {%1,%2,%3,%4}&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;e.g. mls qos queue-set 1 buffers 30 30 30 10&lt;/strong&gt;&lt;br /&gt;This sets the buffer allocation for srr queue 1 to 30%, queue 2 30%, queue 3 30% and queue 4 10%. N.B. if this command is not used the default allocation is 25% for each queue.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Second buffer thresholds&lt;/strong&gt;&lt;br /&gt;As mentioned there are 4 thresholds. If none are explicitly set then the following percentage defaults apply to the available buffer space:&lt;br /&gt;&lt;br /&gt;queue 1 100 100 50 400&lt;br /&gt;queue 2 200 200 50 400&lt;br /&gt;queue 3 100 100 50 400&lt;br /&gt;queue 4 100 100 50 400&lt;br /&gt;&lt;br /&gt;e.g. for queue 1&lt;br /&gt;100 wtd threshold 1&lt;br /&gt;100 wtd threshold 2&lt;br /&gt;50 reserved threshold&lt;br /&gt;400 maximum threshold&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;So bringing the above alltogether in one example&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;mls qos queue-set output 1 buffers 30 20 30 20&lt;br /&gt;mls qos queue-set output 1 threshold 1 40 60 100 200&lt;br /&gt;mls qos queue-set output 1 threshold 2 40 60 100 200&lt;br /&gt;mls qos queue-set output 1 threshold 3 40 60 100 200&lt;br /&gt;mls qos queue-set output 1 threshold 4 40 60 100 200&lt;br /&gt;int gi1/1&lt;br /&gt;queue-set 1&lt;/strong&gt;&lt;br /&gt;i)srr buffer allocation for queues 1-4 is 30%,20%,30% and 20% respectively&lt;br /&gt;ii)the srr queue thresholds are set identically for all 4 queues to 40%,60%,100% and 200%&lt;br /&gt;iii) all the above config is applied to queue set 1, which is then applied to interface gi1/1&lt;br /&gt;&lt;br /&gt;As mentioned at the start, when i first looked at this, it appears to be a another science in itself. I know i had to read the cisco doc at least a couple of times to get it straight - or maybe thats just me:-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2418082835537995017-7068174542782350816?l=routerric.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://routerric.blogspot.com/feeds/7068174542782350816/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2418082835537995017&amp;postID=7068174542782350816' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/7068174542782350816'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/7068174542782350816'/><link rel='alternate' type='text/html' href='http://routerric.blogspot.com/2009/05/srr-queue-commands-part-iii.html' title='srr-queue commands - part III'/><author><name>richsd1</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/--YOija8WuTM/TsAonUOe5wI/AAAAAAAAAPg/hT87gnDHaJg/s220/DSCN0197.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2418082835537995017.post-559325938005597909</id><published>2009-05-11T21:58:00.000-07:00</published><updated>2009-05-11T22:34:46.448-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='srr-queue bandwith shape'/><category scheme='http://www.blogger.com/atom/ns#' term='srr-queue bandwidth share'/><title type='text'>srr-queue commands - part II</title><content type='html'>In this post i look at the srr-queue shape and share commands, what they do and how they interact.&lt;br /&gt;&lt;br /&gt;There are 4 interface queues serviced by SRR. Each queue can be configured for either shaping or sharing, but not both. If shaping is configured then this takes precedence. &lt;br /&gt;( The way i remember this is that shaping comes alphabetically before sharing )&lt;br /&gt;&lt;br /&gt;Shaping guarantees a percentage of the bandwidth and limits the traffic to the configured amount. Conversely sharing allocates the bandwidth amongst the sharing queues according to the ratios configured, but does NOT limit it to this level.&lt;br /&gt;&lt;br /&gt;Shaped and shared settings are configured using&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;&lt;br /&gt;config-if#srr-queue bandwidth shape {n} {n} {n} {n}&lt;br /&gt;config-if#srr-queue bandwidth share {n} {n} {n} {n}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;If the values are not set then the following default values apply&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;config-if#srr-queue bandwitdh shape 25 0 0 0&lt;br /&gt;config-if#srr-queue bandwitdh share 25 25 25 25&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Bandwidth allocation for a 10 mb link can be calculated as follows:-&lt;br /&gt;&lt;br /&gt;SHAPED Q&lt;br /&gt;Bandwidth allocated = 1/25 * BW&lt;br /&gt;Hence for a 10 mb interface BW for queue 1 would be 400kbps&lt;br /&gt;&lt;br /&gt;SHARED Qs&lt;br /&gt;10mb - 400kps = 9.6 mb&lt;br /&gt;Hence for queue 2,3 and 4 BW = 25/(25+25+25) * 9.6 = 3.2 mb&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Supposing a lab requirement was to guarantee queue 1 2 mb, queue 2 2 mb and queue 3 and 4 to share the remainder this could be achieved with the following configuration&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;config-if#srr-queue bandwitdh shape 5 5 0 0&lt;br /&gt;config-if#srr-queue bandwitdh share 0 0 25 25&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;In the next post i look at how traffic is mapped to the srr queues.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2418082835537995017-559325938005597909?l=routerric.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://routerric.blogspot.com/feeds/559325938005597909/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2418082835537995017&amp;postID=559325938005597909' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/559325938005597909'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/559325938005597909'/><link rel='alternate' type='text/html' href='http://routerric.blogspot.com/2009/05/srr-queue-commands-part-ii.html' title='srr-queue commands - part II'/><author><name>richsd1</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/--YOija8WuTM/TsAonUOe5wI/AAAAAAAAAPg/hT87gnDHaJg/s220/DSCN0197.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2418082835537995017.post-1819350727093920798</id><published>2009-05-09T21:38:00.000-07:00</published><updated>2009-05-09T22:10:55.176-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='srr-queue bandwidth limit'/><title type='text'>srr -queue commands - part I</title><content type='html'>The lab requirement states that the maximum output usage on fa0/1 should not exceed 75 percent of the maximum line rate.&lt;br /&gt;&lt;br /&gt;This can be achieved by making use of the &lt;strong&gt;srr-queue bandwidth limit&lt;/strong&gt; command. For the above requirement to be met configure the following:-&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;config#interface fa0/1&lt;br /&gt;config-if#srr-queue bandwitdh limit 75&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;For verification use the&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;show mls qos int fa0/1 queueing&lt;/strong&gt; command&lt;br /&gt;&lt;br /&gt;N.B. A pre-requisite command is the global config command &lt;strong&gt;mls qos&lt;/strong&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2418082835537995017-1819350727093920798?l=routerric.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://routerric.blogspot.com/feeds/1819350727093920798/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2418082835537995017&amp;postID=1819350727093920798' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/1819350727093920798'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/1819350727093920798'/><link rel='alternate' type='text/html' href='http://routerric.blogspot.com/2009/05/srr-queue-commands-part-i.html' title='srr -queue commands - part I'/><author><name>richsd1</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/--YOija8WuTM/TsAonUOe5wI/AAAAAAAAAPg/hT87gnDHaJg/s220/DSCN0197.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2418082835537995017.post-4367553712157356749</id><published>2009-05-07T22:28:00.000-07:00</published><updated>2009-05-07T22:40:14.984-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ospf filter-list'/><title type='text'>OSPF routing part XII - filter-list</title><content type='html'>&lt;a href="http://3.bp.blogspot.com/_fmDP85Ew2Ek/SgPFWlYDJ1I/AAAAAAAAAKA/zSGSP-5Qt1E/s1600-h/abr+filter+list.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 242px;" src="http://3.bp.blogspot.com/_fmDP85Ew2Ek/SgPFWlYDJ1I/AAAAAAAAAKA/zSGSP-5Qt1E/s400/abr+filter+list.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5333323375517574994" /&gt;&lt;/a&gt;&lt;br /&gt;Consider the above scenraio where router 2 is an ABR between areas 0,1 and 2.  All adjacencies are up and full exchange of routes has taken place.&lt;br /&gt;&lt;br /&gt;A new requirement is that area 2 is deemed confidential.  Area 1 must not have access to any routes originating from Area 2. &lt;br /&gt;&lt;br /&gt;This can be achieved by making using of the ospf filter-list functionality.  First a prefix-list must be defined that indicates routes that must be filtered (and allowed!).&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;br /&gt;R2&lt;br /&gt;ip prefix-list AREA2 deny 150.1.24.0/24&lt;br /&gt;ip prefix-list AREA2 deny 150.1.40.40/32&lt;br /&gt;ip prefix-list AREA2 permit 0.0.0.0/0 le 32&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;N.B. the last entry in the prefix list is essential to ensure all routes other than the previously denoted denied routes are allowed through.&lt;br /&gt;&lt;br /&gt;On router 2 the filter-list can then be applied&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;br /&gt;R2&lt;br /&gt;router ospf 1&lt;br /&gt;area 1 filter-list prefix AREA2 in&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;When the routing table on R1 is subsequently examined the 150.1.24.0/24 and 150.1.40.40/32 routes are no longer present. Nice.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2418082835537995017-4367553712157356749?l=routerric.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://routerric.blogspot.com/feeds/4367553712157356749/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2418082835537995017&amp;postID=4367553712157356749' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/4367553712157356749'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/4367553712157356749'/><link rel='alternate' type='text/html' href='http://routerric.blogspot.com/2009/05/ospf-routing-part-xii-filter-list.html' title='OSPF routing part XII - filter-list'/><author><name>richsd1</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/--YOija8WuTM/TsAonUOe5wI/AAAAAAAAAPg/hT87gnDHaJg/s220/DSCN0197.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_fmDP85Ew2Ek/SgPFWlYDJ1I/AAAAAAAAAKA/zSGSP-5Qt1E/s72-c/abr+filter+list.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2418082835537995017.post-119056551288448570</id><published>2009-05-05T22:19:00.000-07:00</published><updated>2009-05-05T22:28:47.371-07:00</updated><title type='text'>OSPF routing part XI - preferred neighbor</title><content type='html'>A hub router in an OSPF topology has two neighbors connected over a single serial interface. The hub router is learning the same routes from both neighbors. How can the hub router be configured to prefer routers from a particular neighbor?&lt;br /&gt;&lt;br /&gt;The solution to this problem brought to light a configuration parameter that had previously missed my attention.  When using the ospf 'neighbor' command a cost can also be applied to routes learned from that neighbor.&lt;br /&gt;&lt;br /&gt;Hence to achieve the requirement laid out simply required this parameter to be set accordingly&lt;br /&gt;&lt;br /&gt;i.e. below i set a lower cost for neighbor 2. This could be usefull in the scenario where neighbor 2 has a connection with greater bandwidth or reliability.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;router ospf 1&lt;br /&gt;neighbor {ip address 1} cost 200&lt;br /&gt;neighbir (ip address 2} cost 100&lt;/strong&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2418082835537995017-119056551288448570?l=routerric.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://routerric.blogspot.com/feeds/119056551288448570/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2418082835537995017&amp;postID=119056551288448570' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/119056551288448570'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/119056551288448570'/><link rel='alternate' type='text/html' href='http://routerric.blogspot.com/2009/05/ospf-routing-part-xi-preferred-neighbor.html' title='OSPF routing part XI - preferred neighbor'/><author><name>richsd1</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/--YOija8WuTM/TsAonUOe5wI/AAAAAAAAAPg/hT87gnDHaJg/s220/DSCN0197.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2418082835537995017.post-2580591832025096502</id><published>2009-05-05T22:05:00.000-07:00</published><updated>2009-05-05T22:19:23.214-07:00</updated><title type='text'>OSPF routing part X - non broadcast FR</title><content type='html'>I recently came across a scenario where the requirement was to run OSPF over a frame-relay network. Normally this would represent a straightforward routing configuration.  As ever with the CCIE the interesting part was that no broadcast keywords had been placed on the frame-relay map statements, and none were allowed.&lt;br /&gt;&lt;br /&gt;If there are no broadcast capabilities on the underlying network this is not necessarily a problem for OSPF as long as a suitable OSPF non-broadcast network type is chosen.&lt;br /&gt;&lt;br /&gt;I set the ospf network type to 'non-broadcast' and then 'point-to-multipoint non-broadcast' and these worked fine as long as the required neighbor statement was configured on the hub router.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2418082835537995017-2580591832025096502?l=routerric.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://routerric.blogspot.com/feeds/2580591832025096502/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2418082835537995017&amp;postID=2580591832025096502' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/2580591832025096502'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/2580591832025096502'/><link rel='alternate' type='text/html' href='http://routerric.blogspot.com/2009/05/ospf-routing-part-x-non-broadcast-fr.html' title='OSPF routing part X - non broadcast FR'/><author><name>richsd1</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/--YOija8WuTM/TsAonUOe5wI/AAAAAAAAAPg/hT87gnDHaJg/s220/DSCN0197.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2418082835537995017.post-4139320520834764376</id><published>2009-04-27T21:37:00.000-07:00</published><updated>2009-06-17T22:09:58.019-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Frame Relay Bridging'/><title type='text'>Frame Relay Bridging</title><content type='html'>&lt;a href="http://3.bp.blogspot.com/_fmDP85Ew2Ek/SfaIcgNApUI/AAAAAAAAAJ4/0yvUf6x6YPE/s1600-h/FR+Bridge.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 129px;" src="http://3.bp.blogspot.com/_fmDP85Ew2Ek/SfaIcgNApUI/AAAAAAAAAJ4/0yvUf6x6YPE/s400/FR+Bridge.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5329597232301778242" /&gt;&lt;/a&gt;&lt;br /&gt;VLAN 16 and 22 are broadcast capable segments only. The requirement here is that these two networks are bridged together.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;R1&lt;br /&gt;int fa0/0&lt;br /&gt;bridge-group 1&lt;br /&gt;&lt;br /&gt;int s2/0&lt;br /&gt;bridge-group 1&lt;br /&gt;&lt;br /&gt;int BVI1&lt;br /&gt;ip address 192.10.1.1 255.255.255.0&lt;br /&gt;&lt;br /&gt;bridge irb&lt;br /&gt;bridge 1 protocol ieee&lt;br /&gt;bridge 1 route ip&lt;br /&gt;&lt;br /&gt;int s2/0&lt;br /&gt;frame-relay map bridge 102 br&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;R2&lt;br /&gt;int fa0/0&lt;br /&gt;bridge-group 1&lt;br /&gt;&lt;br /&gt;int s2/0&lt;br /&gt;bridge-group 1&lt;br /&gt;&lt;br /&gt;int BVI1&lt;br /&gt;ip address 192.10.1.2 255.255.255.0&lt;br /&gt;&lt;br /&gt;bridge irb&lt;br /&gt;bridge 1 protocol ieee&lt;br /&gt;bridge 1 route ip&lt;br /&gt;&lt;br /&gt;int s2/0&lt;br /&gt;frame-relay map bridge 201 br&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;R1#s frame map&lt;br /&gt;Serial2/0 (up): bridge dlci 102(0x66,0x1860), static,&lt;br /&gt;              broadcast,&lt;br /&gt;              CISCO, status defined, active&lt;br /&gt;&lt;br /&gt;R1#p 192.10.1.1&lt;br /&gt;&lt;br /&gt;Type escape sequence to abort.&lt;br /&gt;Sending 5, 100-byte ICMP Echos to 192.10.1.1, timeout is 2 seconds:&lt;br /&gt;!!!!!&lt;br /&gt;Success rate is 100 percent (5/5), round-trip min/avg/max = 4/4/8 ms&lt;br /&gt;R1#p 192.10.1.2&lt;br /&gt;&lt;br /&gt;Type escape sequence to abort.&lt;br /&gt;Sending 5, 100-byte ICMP Echos to 192.10.1.2, timeout is 2 seconds:&lt;br /&gt;.!!!!&lt;br /&gt;Success rate is 80 percent (4/5), round-trip min/avg/max = 32/44/68 ms&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;In the above config i also connect the bridge group to the router via the BVI router interface. Since the bridged segment is logically one segment i put the routable protocol information on the BVI, and its ip address applies to all interfaces in the bridge group. The IOS treats the BVI as any other interface and so enables routing between the bridge group and the routed interfaces in the router. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;cisco doc &lt;br /&gt;http://www.cisco.com/en/US/docs/ios/bridging/configuration/guide/br_transprnt_brdg_ps6350_TSD_Products_Configuration_Guide_Chapter.html#wp1004971&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2418082835537995017-4139320520834764376?l=routerric.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://routerric.blogspot.com/feeds/4139320520834764376/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2418082835537995017&amp;postID=4139320520834764376' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/4139320520834764376'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/4139320520834764376'/><link rel='alternate' type='text/html' href='http://routerric.blogspot.com/2009/04/frame-relay-bridging.html' title='Frame Relay Bridging'/><author><name>richsd1</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/--YOija8WuTM/TsAonUOe5wI/AAAAAAAAAPg/hT87gnDHaJg/s220/DSCN0197.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_fmDP85Ew2Ek/SfaIcgNApUI/AAAAAAAAAJ4/0yvUf6x6YPE/s72-c/FR+Bridge.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2418082835537995017.post-4171513653088289897</id><published>2009-04-25T21:24:00.000-07:00</published><updated>2009-04-26T08:22:45.257-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='portfast'/><category scheme='http://www.blogger.com/atom/ns#' term='bpduguard'/><category scheme='http://www.blogger.com/atom/ns#' term='bpdufilter'/><title type='text'>Spanning Tree - portfast, bpduguard, bpdufilter</title><content type='html'>&lt;a href="http://1.bp.blogspot.com/_fmDP85Ew2Ek/SfPnWGvPHgI/AAAAAAAAAJw/tUDqZPoKoj0/s1600-h/PORTFAST.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 354px; height: 212px;" src="http://1.bp.blogspot.com/_fmDP85Ew2Ek/SfPnWGvPHgI/AAAAAAAAAJw/tUDqZPoKoj0/s400/PORTFAST.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5328857151061302786" /&gt;&lt;/a&gt;&lt;br /&gt;I use the above diagram to illustrate the interaction between the spanning tree features: portfast, bpdufilter and bpduguard.&lt;br /&gt;&lt;br /&gt;For a long time whilst i understood the purpose of these features i did not understand how in particular bpdufilter and bpduguard interacted with each other.&lt;br /&gt;I have at last resolved this confusion by running a wire capture to see for myself exactly what is going on.&lt;br /&gt;&lt;br /&gt;First the basics&lt;br /&gt;&lt;strong&gt;portfast&lt;/strong&gt;    - moves a port immediately to the forwarding state&lt;br /&gt;&lt;strong&gt;bpdufilter&lt;/strong&gt;  - stops a port sending bpdus&lt;br /&gt;&lt;strong&gt;bpduguard&lt;/strong&gt;   - error disables a port if bpdus are received&lt;br /&gt;&lt;br /&gt;1) &lt;br /&gt;&lt;strong&gt;config-if#spanning-tree portfast&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Enabling portfast the port moves to forwarding state and from the capture i can see BPDUs still being sent.  &lt;br /&gt;&lt;br /&gt;2) &lt;br /&gt;&lt;strong&gt;config-if#spanning-tree portfast&lt;br /&gt;config-if#spanning-tree bpdufilter&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;I enable bpdufilter and BPDUS are no longer sent.&lt;br /&gt;&lt;br /&gt;3)&lt;br /&gt;&lt;strong&gt;config-if#spanning-tree portfast&lt;br /&gt;config-if#spanning-tree bpduguard&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;I enable bpduguard and can see bpdus being sent. I was somewhat surprised by this as i had always treated bpduguard as a more severe version of bpdufilter. i.e. no bpdus sent with the guard feature set - Wrong!!&lt;br /&gt;&lt;br /&gt;The enlightening moment for me was the realisation that to enforce no bpdus are sent and bpduguard is on perhaps requires bpdufilter to be enabled alongside bpduguard. &lt;br /&gt;&lt;br /&gt;4)&lt;br /&gt;&lt;strong&gt;config-if#spanning-tree portfast&lt;br /&gt;config-if#spanning-tree bpduguard&lt;br /&gt;config-if#spanning-tree bpdufilter&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;With the above commands i observed no bpdus being sent. I had previously assumed these features were mutually exclusive. They are not, they perform different functions and can be used alongside each other.&lt;br /&gt;&lt;br /&gt;To observe bpdu guard in action i connected the port to another switchport that was sending bpdus.&lt;br /&gt;&lt;br /&gt;I then observed the following...&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;01:03:26: %SPANTREE-2-BLOCK_BPDUGUARD: Received BPDU on port FastEthernet0/24 with BPDU Guard enabled. Disabling port.&lt;br /&gt;01:03:26: %PM-4-ERR_DISABLE: bpduguard error detected on Fa0/24, putting Fa0/24in err-disable state&lt;br /&gt;01:03:27: %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/24, changed state to down&lt;br /&gt;01:03:28: %LINK-3-UPDOWN: Interface FastEthernet0/24, changed state to down&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Examining the port status&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;show int status err-disabled&lt;/strong&gt;&lt;br /&gt;Port      Name               Status       Reason&lt;br /&gt;Fa0/24                       err-disabled bpduguard&lt;br /&gt;&lt;br /&gt;To ensure auto recovery i entered the following commands&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;config#errdisable recovery cause bpduguard&lt;br /&gt;config#errdisable recovery interval 30&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;I then applied bpdufilter to the neighboring switch port sending bpdus and the local port was automatically restored to normal service.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2418082835537995017-4171513653088289897?l=routerric.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://routerric.blogspot.com/feeds/4171513653088289897/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2418082835537995017&amp;postID=4171513653088289897' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/4171513653088289897'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/4171513653088289897'/><link rel='alternate' type='text/html' href='http://routerric.blogspot.com/2009/04/spanning-tree-portfast-bpduguard.html' title='Spanning Tree - portfast, bpduguard, bpdufilter'/><author><name>richsd1</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/--YOija8WuTM/TsAonUOe5wI/AAAAAAAAAPg/hT87gnDHaJg/s220/DSCN0197.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_fmDP85Ew2Ek/SfPnWGvPHgI/AAAAAAAAAJw/tUDqZPoKoj0/s72-c/PORTFAST.jpg' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2418082835537995017.post-5506446327069318336</id><published>2009-04-24T04:54:00.000-07:00</published><updated>2009-05-31T21:22:25.465-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='dhcp snooping'/><title type='text'>DHCP Snooping</title><content type='html'>&lt;a href="http://3.bp.blogspot.com/_fmDP85Ew2Ek/SfGrNaD-zoI/AAAAAAAAAJo/LdvIdURNcio/s1600-h/snooping.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5328228080978677378" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 96px; CURSOR: hand; HEIGHT: 124px; TEXT-ALIGN: center" alt="" src="http://3.bp.blogspot.com/_fmDP85Ew2Ek/SfGrNaD-zoI/AAAAAAAAAJo/LdvIdURNcio/s400/snooping.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;DHCP snooping acts like a firewall between untrusted hosts and DHCP servers. It differentiates between untrusted interfaces connected to the end user and trusted interfaces connected to the DHCP server or another switch.&lt;br /&gt;&lt;br /&gt;To enable on a switch.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;config#ip dhcp snooping&lt;br /&gt;config#ip dhcp snooping vlan {n}&lt;/strong&gt;&lt;br /&gt;All DHCP servers must be connected to the switch through trusted interfaces. Hence the above config goes hand and hand with&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;config-if#ip dhcp snooping trust&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Once dhcp snooping is enabled on a vlan enabled all ports are treated as untrusted by default.&lt;br /&gt;During the process where a user port acquires an ip address via DHCP the switch builds a database of mac addresses and associated IP. Henceforth when a switch receives a packet on an untrusted interface the switch compares the source MAC address and the address in the DHCP binding database. Normally the addresses match and the switch forwards the packet. Conversely if they dont the switch drops the packet.&lt;br /&gt;&lt;br /&gt;N.B. By default a switch inserts and removes DHCP relay information (option-82 field) in forwarded DHCP request messages to the DHCP server. Consequently it is necessary to enter the following command on the router&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;config-if#ip dhcp relay information trusted&lt;/strong&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2418082835537995017-5506446327069318336?l=routerric.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://routerric.blogspot.com/feeds/5506446327069318336/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2418082835537995017&amp;postID=5506446327069318336' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/5506446327069318336'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/5506446327069318336'/><link rel='alternate' type='text/html' href='http://routerric.blogspot.com/2009/04/dhcp-snooping-acts-like-firewall.html' title='DHCP Snooping'/><author><name>richsd1</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/--YOija8WuTM/TsAonUOe5wI/AAAAAAAAAPg/hT87gnDHaJg/s220/DSCN0197.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_fmDP85Ew2Ek/SfGrNaD-zoI/AAAAAAAAAJo/LdvIdURNcio/s72-c/snooping.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2418082835537995017.post-2253756645762977856</id><published>2009-04-19T22:22:00.000-07:00</published><updated>2009-04-19T22:50:51.417-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vrrp preempt delay'/><title type='text'>default gateway timing</title><content type='html'>&lt;a href="http://4.bp.blogspot.com/_fmDP85Ew2Ek/SewM9XaY03I/AAAAAAAAAJg/5CXL98uEdVk/s1600-h/stopwatch.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 96px; height: 123px;" src="http://4.bp.blogspot.com/_fmDP85Ew2Ek/SewM9XaY03I/AAAAAAAAAJg/5CXL98uEdVk/s400/stopwatch.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5326646707668702066" /&gt;&lt;/a&gt;&lt;br /&gt;I came across a default gateway lab scenario that initially had me stumped.  The requirement could be achieved via standard HSRP or VRRP configuration.&lt;br /&gt;&lt;br /&gt;So the basic solution making R2 the active default gateway is as follows:&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;R1:&lt;br /&gt;interface FastEthernet0/0&lt;br /&gt;vrrp 1 ip 130.1.26.1&lt;br /&gt;vrrp 1 preempt&lt;br /&gt;&lt;br /&gt;R2:&lt;br /&gt;interface GigabitEthernet0/1&lt;br /&gt;vrrp 1 ip 130.1.26.1&lt;br /&gt;vrrp 1 preempt&lt;br /&gt;vrrp 1 priority 105&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The sting in the requirement (and in my experience with CCIE there usually is one) is to ensure that if R2 has relinquished the active default gateway role, is to not allow resumption of the role, until gi0/1 has been up for a minimum of 5 minutes.&lt;br /&gt;&lt;br /&gt;My first thought was to adjust the VRRP timers. INCORRECT since the max timer is 255 seconds - not eneough.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;R2(config-if)#vrrp 1 timers advertise ?&lt;br /&gt;  &lt;1-255&gt;  Advertisement interval in seconds&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;My second thought was introduce a delay on the interface tracking. INCORRECT since the max timer is 180 seconds - not enough&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;R2(config)#track 1 interface Fastethernet0/0 line-prot&lt;br /&gt;R2(config-track)#delay up ?&lt;br /&gt;  &lt;0-180&gt;  Seconds to delay&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;I thought about combining the two features together but this felt a little too convoluted.   &lt;br /&gt;&lt;br /&gt;After some further investigation i discovered there is a delay parameter on the preempt. This features has a parameter allowing up to 3600 seconds or 1 hour delay. &lt;br /&gt;&lt;br /&gt;&lt;strong&gt;R2(config-if)#vrrp 1 preempt delay min ?&lt;br /&gt;  &lt;0-3600&gt;  Seconds to delay&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Hence i added the following line to my lab solution&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;R2(config-if)#vrrp 1 preempt delay min 300&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;As ever, it was easy, once i knew how:-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2418082835537995017-2253756645762977856?l=routerric.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://routerric.blogspot.com/feeds/2253756645762977856/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2418082835537995017&amp;postID=2253756645762977856' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/2253756645762977856'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/2253756645762977856'/><link rel='alternate' type='text/html' href='http://routerric.blogspot.com/2009/04/default-gateway-timing.html' title='default gateway timing'/><author><name>richsd1</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/--YOija8WuTM/TsAonUOe5wI/AAAAAAAAAPg/hT87gnDHaJg/s220/DSCN0197.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_fmDP85Ew2Ek/SewM9XaY03I/AAAAAAAAAJg/5CXL98uEdVk/s72-c/stopwatch.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2418082835537995017.post-1092502477802397655</id><published>2009-04-19T21:58:00.000-07:00</published><updated>2009-06-17T22:09:34.138-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='telnet prohibited'/><title type='text'>telnet prohibited</title><content type='html'>How can you prevent a telnetted user telnetting out to another a router??&lt;br /&gt;&lt;br /&gt;Simply:&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;R1&lt;br /&gt;conf t&lt;br /&gt;line vty 0 4&lt;br /&gt;transport output none&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;I telnet to router 1 and attempt to open a further telnet session&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;R1&gt;telnet 160.1.1.2&lt;br /&gt;% telnet connections not permitted from this terminal&lt;/strong&gt;&lt;br /&gt;Job done!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2418082835537995017-1092502477802397655?l=routerric.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://routerric.blogspot.com/feeds/1092502477802397655/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2418082835537995017&amp;postID=1092502477802397655' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/1092502477802397655'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/1092502477802397655'/><link rel='alternate' type='text/html' href='http://routerric.blogspot.com/2009/04/telnet-prohibited.html' title='telnet prohibited'/><author><name>richsd1</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/--YOija8WuTM/TsAonUOe5wI/AAAAAAAAAPg/hT87gnDHaJg/s220/DSCN0197.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2418082835537995017.post-6226456653938813541</id><published>2009-04-18T21:49:00.000-07:00</published><updated>2009-04-18T22:33:28.364-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='rmon'/><title type='text'>RMON - Remote Monitoring</title><content type='html'>Before i detail the lab scenario a brief overview of RMON:&lt;br /&gt;&lt;br /&gt;RMON is an IETF standard developed to enable network management stats to be gathered from remote sites without the overhead of SNMP constantly polling. When RMON is configured it gathers info and passes it back to management nodes.  RMON is designed to work in conjunction with SNMP. Typically SNMP is enabled alongside RMON for an effective solution.&lt;br /&gt;&lt;br /&gt;Lab scenario:&lt;br /&gt;i) configure R1 to generate an SNMP trap whenever the output queue length (ifEntry.21.2) of its Serial0/0 interface exceeds 250 packets.&lt;br /&gt;ii) This MIB value should be sampled every 30 seconds.&lt;br /&gt;iii) When there are more than 250 packets in the output queue R1 should generate the message “WARNING: S1/0 Congested”.&lt;br /&gt;iv) When the value falls back to 50 R1 should generate the message “INFO: S1/0returned to normal utilization”.&lt;br /&gt;v) R1 should send SNMP traps to is 10.1.1.100 with the community string to be RICHTRAP&lt;br /&gt;&lt;br /&gt;With RMON first configure the events and then configure the associated alarms&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;rmon alarm 1 ifEntry.21.2 60 absolute rising-threshold 250 1 falling-threshold 50 2&lt;br /&gt;rmon event 1 trap IETRAP description "WARNING: S1/0 Congested"&lt;br /&gt;rmon event 2 trap IETRAP description "INFO S1/0 returned to normal utilization"&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Then configure the SNMP traps.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;snmp-server host 10.1.1.100 IETRAP&lt;br /&gt;snmp-server enable traps&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;As taken from the cisco doc:&lt;br /&gt;For a host to receive notifications, at least one &lt;strong&gt;snmp-server enable &lt;/strong&gt;command and the &lt;strong&gt;snmp-server host &lt;/strong&gt;command for that host must be enabled.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2418082835537995017-6226456653938813541?l=routerric.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://routerric.blogspot.com/feeds/6226456653938813541/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2418082835537995017&amp;postID=6226456653938813541' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/6226456653938813541'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/6226456653938813541'/><link rel='alternate' type='text/html' href='http://routerric.blogspot.com/2009/04/rmon-remote-monitoring.html' title='RMON - Remote Monitoring'/><author><name>richsd1</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/--YOija8WuTM/TsAonUOe5wI/AAAAAAAAAPg/hT87gnDHaJg/s220/DSCN0197.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2418082835537995017.post-3160601200188011709</id><published>2009-04-17T22:19:00.000-07:00</published><updated>2009-04-17T22:48:31.952-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='cbac'/><title type='text'>CBAC - Context Based Access Control</title><content type='html'>CBAC performs a similar function to refelexive acls.  With CBAC however there’s much more granular control on the type of sessions monitored, along with the allowed session thresholds and timers (see ip inspect ? For types of control allowed).&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;R1 (trusted) --------- FA0/0 R2 S1/0 ---------- R3 (untrusted)&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;In this example no inbound tcp sessions are allowed into the protected network however R1 is allowed tcp access out to the untrusted network (R3).  A standard blocking acl is applied to the outside interface on R2&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;access-list 100 deny tcp any any&lt;br /&gt;access-list 100 deny udp any any&lt;br /&gt;access-list 100 permit icmp any any echo-reply&lt;br /&gt;access-list 100 permit eigrp any any&lt;br /&gt;access-list 100 deny ip any any&lt;br /&gt;&lt;br /&gt;interface S1/0&lt;br /&gt;ip access-group 100 in&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;With this config R1 can ping R3 but cannot telnet to it.&lt;br /&gt;&lt;br /&gt;I create an inpsection rule to examine all tcp traffic.  I apply the inspection rule to interface Ethernet0/0 to inspect traffic from users on the protected network. When CBAC detects tcp traffic from the protected network, CBAC will create a dynamic entry in access list 100 to allow return traffic.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Router_2(config)#ip inspect name RICH tcp&lt;br /&gt;Router_2(config)#int fa0/0&lt;br /&gt;Router_2(config-if)#ip inspect RICH in&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Unlike reflexive acls there is no explicit reference required in the acl on the untrusted interface - initially a source of some confusion for me!!! CBAC will add dynamic entries and open up access without it.&lt;br /&gt;&lt;br /&gt;With the above config R1 can now initiate a telnet connection to R3&lt;br /&gt;&lt;br /&gt;Verification commands on R2&lt;br /&gt;&lt;br /&gt;#show ip inspect all&lt;br /&gt;#show access-list 100&lt;br /&gt;&lt;br /&gt;Alternatively the inpsect rule can be applied on the untrusted interface in the out direction achieving the same net result.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Router_2(config)#int s1/0&lt;br /&gt;Router_2(config-if)#ip inspect RICH out&lt;/strong&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2418082835537995017-3160601200188011709?l=routerric.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://routerric.blogspot.com/feeds/3160601200188011709/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2418082835537995017&amp;postID=3160601200188011709' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/3160601200188011709'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/3160601200188011709'/><link rel='alternate' type='text/html' href='http://routerric.blogspot.com/2009/04/cbac-performs-similar-function-to.html' title='CBAC - Context Based Access Control'/><author><name>richsd1</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/--YOija8WuTM/TsAonUOe5wI/AAAAAAAAAPg/hT87gnDHaJg/s220/DSCN0197.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2418082835537995017.post-6417899222201978322</id><published>2009-04-14T22:42:00.000-07:00</published><updated>2009-04-14T22:50:47.139-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='telnet access via the rotary command'/><title type='text'>Restricting telnet access</title><content type='html'>A lab requirement stated 'Allow telnet access to R6 on port 3005 and ensure standard telnet access on port 23 is not allowed'??&lt;br /&gt;&lt;br /&gt;To fulfill this requirement requires use of the 'rotary' command on the vty ports.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;line vty 0 4&lt;br /&gt;rotary 5&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;The above enables telnet access on port 3005. &lt;br /&gt;&lt;br /&gt;To fulfill the second requirement to restrict access on port 23 can be done via an ACL and access-class command...&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;ip access-list ext 101&lt;br /&gt;deny tcp any any eq telnet&lt;br /&gt;permit ip any any&lt;br /&gt;&lt;br /&gt;line vty 0 4&lt;br /&gt;access-list 101 in&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;To add an extra twist, a further requirement is added to ensure users entering via vty are prompted for local username and password. No login credentials are required for console access.  This can be achieved with the following....&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;aaa new-model&lt;br /&gt;aaa authentication login default none&lt;br /&gt;aaa authentication login VTY local&lt;br /&gt;&lt;br /&gt;line vty 0 4&lt;br /&gt;login authentication VTY&lt;/strong&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2418082835537995017-6417899222201978322?l=routerric.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://routerric.blogspot.com/feeds/6417899222201978322/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2418082835537995017&amp;postID=6417899222201978322' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/6417899222201978322'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/6417899222201978322'/><link rel='alternate' type='text/html' href='http://routerric.blogspot.com/2009/04/restricting-telnet-access.html' title='Restricting telnet access'/><author><name>richsd1</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/--YOija8WuTM/TsAonUOe5wI/AAAAAAAAAPg/hT87gnDHaJg/s220/DSCN0197.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2418082835537995017.post-6465177696805670168</id><published>2009-04-13T22:55:00.000-07:00</published><updated>2009-04-14T21:15:23.833-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='load-interval'/><title type='text'>Frame Relay - Load Interval</title><content type='html'>Whenever the show interface command is used by default the 5 minute input and output rate is displayed along with the load over this interval&lt;br /&gt;&lt;br /&gt;Show interface s2/0&lt;br /&gt; …. output omitted ….&lt;br /&gt;     reliability 255/255, txload 2/255, rxload 2/255&lt;br /&gt; …. output omitted ….&lt;br /&gt;  5 minute input rate 16000 bits/sec, 18 packets/sec&lt;br /&gt;  5 minute output rate 16000 bits/sec, 18 packets/sec&lt;br /&gt; …..output omitted …..&lt;br /&gt;&lt;br /&gt;This default behaviour can be changed using the interface command load-interval.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;int se2/0&lt;br /&gt;load-interval 30&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;N.B. The minimum is 30 seconds and can be any multiple of 30 up to 10 mins.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2418082835537995017-6465177696805670168?l=routerric.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://routerric.blogspot.com/feeds/6465177696805670168/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2418082835537995017&amp;postID=6465177696805670168' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/6465177696805670168'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/6465177696805670168'/><link rel='alternate' type='text/html' href='http://routerric.blogspot.com/2009/04/frame-relay-load-interval.html' title='Frame Relay - Load Interval'/><author><name>richsd1</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/--YOija8WuTM/TsAonUOe5wI/AAAAAAAAAPg/hT87gnDHaJg/s220/DSCN0197.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2418082835537995017.post-3719702890195637489</id><published>2009-04-13T22:26:00.000-07:00</published><updated>2009-04-14T21:15:53.229-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='frame-relay broadcast-queue'/><title type='text'>Frame Relay - Broadcast Queue</title><content type='html'>The Cisco IOS creates a broadcast queue for interfaces running frame-relay. This queue performs 2 functions: it ensures routing traffic is dealt with as a priority but it also limits the bandwidth that can be consumed by such traffic.&lt;br /&gt;&lt;br /&gt;When an interface has many DLCIs the overhead of replicating routing traffic can be significant.&lt;br /&gt;&lt;br /&gt;The interface has the following default settings&lt;br /&gt;&lt;br /&gt;size: 64 packets &lt;br /&gt;byte-rate: 256000 bytes per second&lt;br /&gt;packet-rate: 36 packets per second &lt;br /&gt;&lt;br /&gt;To change the settings the following interface command can be used&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;frame-relay broadcast-queue {x} {y} {z}&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;The following example specifies a broadcast queue to hold 80 packets, to have a maximum byte transmission rate of 240000 bytes per second, and to have a maximum packet transmission rate of 160 packets per second: &lt;br /&gt;&lt;br /&gt;&lt;strong&gt;frame-relay broadcast-queue 80 240000 160&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;The actual limit in any second is the first rate limit that is reached I.e. byte or packet.&lt;br /&gt;&lt;br /&gt;To examine how the broadcast queue is performing simply use the show interface command:-&lt;br /&gt;&lt;br /&gt;Rack1R1#show int s2/0&lt;br /&gt;Serial2/0 is up, line protocol is up&lt;br /&gt;  {… output omitted …..}  &lt;br /&gt;  &lt;strong&gt;Broadcast queue 0/64, broadcasts sent/dropped 83/0, interface broadcasts 86&lt;/strong&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2418082835537995017-3719702890195637489?l=routerric.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://routerric.blogspot.com/feeds/3719702890195637489/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2418082835537995017&amp;postID=3719702890195637489' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/3719702890195637489'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/3719702890195637489'/><link rel='alternate' type='text/html' href='http://routerric.blogspot.com/2009/04/frame-relay-broadcast-queue.html' title='Frame Relay - Broadcast Queue'/><author><name>richsd1</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/--YOija8WuTM/TsAonUOe5wI/AAAAAAAAAPg/hT87gnDHaJg/s220/DSCN0197.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2418082835537995017.post-4877281167206714850</id><published>2009-04-09T22:35:00.001-07:00</published><updated>2009-04-14T21:16:05.651-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='bgp orf'/><title type='text'>BGP - ORF (Outbound Route Filtering)</title><content type='html'>The standard method for BGP to filter routes entering the BGP table is to apply prefix-list filtering on incoming updates. For example&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;R1&lt;/span&gt;&lt;br /&gt;ip prefix-list rich permit 10.1.1.0/24&lt;br /&gt;neighbor 1.2.3.4 prefix-list rich in&lt;br /&gt;&lt;br /&gt;In the above example R1 will only allow the 10.1.1.0/24 route into its BGP table.&lt;br /&gt;&lt;br /&gt;The flaw with the above is that R1 must receive ALL routes from the 1.2.3.4 neighbor. Upon receipt R1 then allows only the required routes to enter the local BGP table. The problem here is that R1 must first receive the whole BGP table advertised by its neighbor.&lt;br /&gt;&lt;br /&gt;It is exactly this BGP characteristic that ORF was designed to improve. With ORF enabled on neighboring routers, only the required routes are sent in the first place. Hence link bandwidth and the local routers memory are then spared unnecessary overhead.&lt;br /&gt;&lt;br /&gt;An important note i made to myself is that the above config still applies i.e. route filtering is set up exactly as when ORF is not enabled. The required ORF functionality is then simply configured on top of this configuration.&lt;br /&gt;&lt;br /&gt;N.B. Running Version 12.3(23) i noticed the config would only take hold if i applied under the address-family ipv4 sub command prompt.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;R1&lt;/span&gt;&lt;br /&gt;router bgp 200&lt;br /&gt;address-family ipv4&lt;br /&gt;neighbor 1.2.3.4 capability orf prefix-list send&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;R2&lt;/span&gt;&lt;br /&gt;router bgp 100&lt;br /&gt;address-family ipv4&lt;br /&gt;neighbor 4.3.2.1 capability orf prefix-list receive&lt;br /&gt;&lt;br /&gt;Once applied i ran &lt;span style="font-weight: bold;"&gt;debug ip bgp updates&lt;/span&gt; and was able to see the router only received the required routes.  Before applying the ORF capability i was able to see all routes arriving and then the router denying those not allowed in the prefix-list.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2418082835537995017-4877281167206714850?l=routerric.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://routerric.blogspot.com/feeds/4877281167206714850/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2418082835537995017&amp;postID=4877281167206714850' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/4877281167206714850'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/4877281167206714850'/><link rel='alternate' type='text/html' href='http://routerric.blogspot.com/2009/04/bgp-orf-outbound-route-filtering.html' title='BGP - ORF (Outbound Route Filtering)'/><author><name>richsd1</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/--YOija8WuTM/TsAonUOe5wI/AAAAAAAAAPg/hT87gnDHaJg/s220/DSCN0197.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2418082835537995017.post-5014134727128201866</id><published>2009-03-21T23:50:00.000-07:00</published><updated>2009-06-17T22:11:34.899-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='BGP no-prepend and local-as'/><title type='text'>BGP no-prepend and local-as</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_fmDP85Ew2Ek/ScXnzZwzAKI/AAAAAAAAAJY/d09dTXqQpIs/s1600-h/NO+PREPEND.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 122px;" src="http://4.bp.blogspot.com/_fmDP85Ew2Ek/ScXnzZwzAKI/AAAAAAAAAJY/d09dTXqQpIs/s400/NO+PREPEND.jpg" alt="" id="BLOGGER_PHOTO_ID_5315909805455638690" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;The no-prepend and local-as options have been made available to support the 'neighbor a.b.c.d local-as' feature.&lt;br /&gt;&lt;br /&gt;Put into my own words the 'local-as' feature allows internal as numbers to be changed, but still allowing partner BGP routers to peer with an old AS number. Hence this enables BGP AS to be changed without affecting partner BGP configuration.&lt;br /&gt;&lt;br /&gt;One downstream affect of this is that the by default partnering AS systems still see both old and new as numbers in the path.&lt;br /&gt;&lt;br /&gt;With the no-prepend option the 'local-as' number is NOT prepended to downstream BGP neighbors (except for the partner who is peering with the 'local-as' number).&lt;br /&gt;&lt;br /&gt;With the 'replace-as' option the real bgp as number is not sent to the BGP partner that peers with the 'local-as'.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I found an excellent article on this at&lt;br /&gt;http://wiki.nil.com/Network_migration_or_merger_with_BGP_Local-AS_feature&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2418082835537995017-5014134727128201866?l=routerric.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://routerric.blogspot.com/feeds/5014134727128201866/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2418082835537995017&amp;postID=5014134727128201866' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/5014134727128201866'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/5014134727128201866'/><link rel='alternate' type='text/html' href='http://routerric.blogspot.com/2009/03/bgp-no-prepend-and-local-as.html' title='BGP no-prepend and local-as'/><author><name>richsd1</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/--YOija8WuTM/TsAonUOe5wI/AAAAAAAAAPg/hT87gnDHaJg/s220/DSCN0197.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_fmDP85Ew2Ek/ScXnzZwzAKI/AAAAAAAAAJY/d09dTXqQpIs/s72-c/NO+PREPEND.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2418082835537995017.post-2588598758251656700</id><published>2009-01-23T23:53:00.000-08:00</published><updated>2009-04-14T21:16:25.421-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='reliable static routing'/><title type='text'>Reliable static routing</title><content type='html'>Static routing is just that static. If an interface goes down the route remains in the table and potentially black holes traffic.&lt;br /&gt;&lt;br /&gt;Reliable static routing gets around this problem by only installing a static route based on the the state of a tracked object. By using this feature static routes in effect become dynamic!&lt;br /&gt;&lt;br /&gt;                      &lt;br /&gt;R1  ---------------   R3&lt;br /&gt;&lt;br /&gt;On R1 I reate an sla monitor to track the reachability of the loopback on R3 &lt;br /&gt;&lt;br /&gt;&lt;strong&gt;ip sla monitor 1&lt;br /&gt; type echo protocol ipIcmpEcho 3.3.3.3&lt;br /&gt; timeout 900&lt;br /&gt; frequency 1&lt;br /&gt;ip sla monitor schedule 1 life forever start-time now&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;I then create a tacking object &lt;br /&gt;&lt;br /&gt;&lt;strong&gt;track 1 rtr 1&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Router_1#s track&lt;br /&gt;Track 1&lt;br /&gt;  Response Time Reporter 1 state&lt;br /&gt;  State is Up&lt;br /&gt;    5 changes, last change 00:00:02&lt;br /&gt;  Latest operation return code: OK&lt;br /&gt;  Latest RTT (millisecs) 1&lt;br /&gt;  Tracked by:&lt;br /&gt;    STATIC-IP-ROUTING 0&lt;br /&gt;&lt;br /&gt;I then create a reliable static route based on the status of the tracked object 1&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;ip route 5.5.5.5 255.255.255.255 10.0.0.3 55 track 1&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;The route only remains in the routing table as long as the loopback on R3 remains reachable.&lt;br /&gt;&lt;br /&gt;Nice.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2418082835537995017-2588598758251656700?l=routerric.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://routerric.blogspot.com/feeds/2588598758251656700/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2418082835537995017&amp;postID=2588598758251656700' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/2588598758251656700'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/2588598758251656700'/><link rel='alternate' type='text/html' href='http://routerric.blogspot.com/2009/01/reliable-static-routing.html' title='Reliable static routing'/><author><name>richsd1</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/--YOija8WuTM/TsAonUOe5wI/AAAAAAAAAPg/hT87gnDHaJg/s220/DSCN0197.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2418082835537995017.post-6443437610663840092</id><published>2009-01-21T22:36:00.000-08:00</published><updated>2009-01-21T22:49:25.422-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='switchport voice vlan dot1p'/><title type='text'>Configuring Voice VLAN</title><content type='html'>Before enabling a voice VLAN, CISCO recommand that QoS is enabled (by entering the mls qos command) and the port trust state is set on the interface(by entering the mls qos trust cos command). &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;You can configure a port to carry voice traffic in one of 2 ways: &lt;br /&gt;&lt;br /&gt;•Configure the port to carry Voice Traffic in IEEE 802.1Q Frames &lt;br /&gt;or&lt;br /&gt;•Configure the port to carry Voice Traffic in IEEE 802.1p Priority-Tagged Frames &lt;br /&gt;&lt;br /&gt;DOT1Q&lt;br /&gt;To configure a port to carry voice traffic in IEEE 802.1Q frames for a specific VLAN.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;mls qos&lt;br /&gt;Interface Fa0/X&lt;br /&gt; mls qos trust cos&lt;br /&gt; switchport access vlan X&lt;br /&gt; switchport voice vlan Y &lt;/strong&gt;(Tells the phone to use a dot1q header for VLAN Y)&lt;br /&gt;&lt;br /&gt;n.b. The voice VLAN should be present and active on the switch when using its own vlan.&lt;br /&gt;&lt;br /&gt;DOT1P&lt;br /&gt;To configure a port to instruct the IP phone to carry traffic through the native data vlan.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;mls qos&lt;br /&gt;interface Fa0/X&lt;br /&gt; mls qos trust cos&lt;br /&gt; switchport access vlan X&lt;br /&gt; switchport voice vlan dot1p&lt;/strong&gt; (Tells the phone to use native data vlan)&lt;br /&gt;&lt;br /&gt;By default voice traffic is sent with a cos value of 5 and data traffic with a cos value of 0. &lt;br /&gt;&lt;br /&gt;Use the following commands to instruct the phone to change the cos value of data packets.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;mls qos trust device cisco-phone&lt;br /&gt;switchport priority extended cos 1 &lt;/strong&gt;(Tells phone to set data traffic with cos 1)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2418082835537995017-6443437610663840092?l=routerric.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://routerric.blogspot.com/feeds/6443437610663840092/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2418082835537995017&amp;postID=6443437610663840092' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/6443437610663840092'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/6443437610663840092'/><link rel='alternate' type='text/html' href='http://routerric.blogspot.com/2009/01/configuring-voice-vlan.html' title='Configuring Voice VLAN'/><author><name>richsd1</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/--YOija8WuTM/TsAonUOe5wI/AAAAAAAAAPg/hT87gnDHaJg/s220/DSCN0197.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2418082835537995017.post-5964673336919664183</id><published>2009-01-18T22:54:00.000-08:00</published><updated>2009-04-14T21:16:39.421-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='hsrp tracking'/><title type='text'>HSRP - Tracking</title><content type='html'>&lt;a href="http://3.bp.blogspot.com/_fmDP85Ew2Ek/SXQnJhrSdjI/AAAAAAAAAJI/e_gmqKIVoqQ/s1600-h/CADE1.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 212px;" src="http://3.bp.blogspot.com/_fmDP85Ew2Ek/SXQnJhrSdjI/AAAAAAAAAJI/e_gmqKIVoqQ/s400/CADE1.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5292898506679416370" /&gt;&lt;/a&gt;&lt;br /&gt;In my experience it would be useful to track an end to end connection, rather than the local serial connection (which may not go down when e2e connectivity is lost).&lt;br /&gt;&lt;br /&gt;In the above diagram R1 should be the active HSRP router as long as it maintains its frame relay connection to R3.  The trouble here is that the serial connection on R1 will remain 'up' even if the serial connection on R3 goes down.&lt;br /&gt;&lt;br /&gt;One way around this is to configure a tunnel connection between R1 and R3 and run IP keepalives over this. Then with the HSRP configuration track the status of the tunnel connection.  In this instance the tunnel connection goes down when the end to end connection over the frame relay cloud goes down.&lt;br /&gt;&lt;br /&gt;R3&lt;br /&gt;&lt;strong&gt;int tu0&lt;br /&gt;ip unnumber lo0&lt;br /&gt;tunnel source 149.1.123.3&lt;br /&gt;tunnel dest 148.1.123.1&lt;br /&gt;keepalives 10 3&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;R1&lt;br /&gt;&lt;strong&gt;int tu0&lt;br /&gt;ip unnumber lo0&lt;br /&gt;tunnel source 149.1.123.1&lt;br /&gt;tunnel dest 148.1.123.3&lt;br /&gt;keepalives 10 3&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;int fa0/0&lt;br /&gt;standby ip 149.1.127.254&lt;br /&gt;standby priority 110&lt;br /&gt;standby preempt&lt;br /&gt;standby track tu0 11&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;R2&lt;br /&gt;&lt;strong&gt;int fa0/0&lt;br /&gt;standby ip 149.1.127.254&lt;br /&gt;standby priority 100&lt;br /&gt;standby preempt&lt;/strong&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2418082835537995017-5964673336919664183?l=routerric.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://routerric.blogspot.com/feeds/5964673336919664183/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2418082835537995017&amp;postID=5964673336919664183' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/5964673336919664183'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/5964673336919664183'/><link rel='alternate' type='text/html' href='http://routerric.blogspot.com/2009/01/hsrp-tracking.html' title='HSRP - Tracking'/><author><name>richsd1</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/--YOija8WuTM/TsAonUOe5wI/AAAAAAAAAPg/hT87gnDHaJg/s220/DSCN0197.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_fmDP85Ew2Ek/SXQnJhrSdjI/AAAAAAAAAJI/e_gmqKIVoqQ/s72-c/CADE1.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2418082835537995017.post-7756926066811292860</id><published>2009-01-18T12:08:00.000-08:00</published><updated>2009-04-14T21:17:23.576-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='banner tokens'/><title type='text'>banner tokens</title><content type='html'>There are the 3 banner commands: motd, login and exec. motd is displayed upon arriving at the router, login when prompted for login, and exec when arriving at the exec prompt. Pretty self explanatory.&lt;br /&gt;&lt;br /&gt;Commands to enter the banners are&lt;br /&gt;i) banner motd&lt;br /&gt;ii) banner login&lt;br /&gt;iii) banner exec&lt;br /&gt;&lt;br /&gt;The message is then delimited by the control character of your choice.&lt;br /&gt;&lt;br /&gt;However did you know there are a few dynamic messages or 'tokens' that can be added to the message! &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;$(hostname)    Displays the host name for the router.&lt;br /&gt;&lt;/strong&gt;&lt;a name="wp1014225"&gt;&lt;/a&gt;&lt;br /&gt;&lt;strong&gt;$(domain)         Displays the domain name for the router.&lt;br /&gt;&lt;/strong&gt;&lt;a name="wp1014229"&gt;&lt;/a&gt;&lt;br /&gt;&lt;strong&gt;$(line)                Displays the vty or tty (asynchronous) line number.&lt;br /&gt;&lt;/strong&gt;&lt;a name="wp1014233"&gt;&lt;/a&gt;&lt;br /&gt;&lt;strong&gt;$(line-desc)       Displays the description attached to the line.&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;By way of an example&lt;br /&gt;&lt;strong&gt;Router_1(config)#banner login @&lt;br /&gt;Enter TEXT message.  End with the character '@'.&lt;br /&gt;you are on router $(hostname)&lt;br /&gt;@&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;So telnetting onto the router, the output is as follows :&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Router_1&gt;1.1.1.1&lt;br /&gt;Trying 1.1.1.1 ... Open&lt;br /&gt;&lt;br /&gt;you are on router Router_1&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;User Access Verification&lt;br /&gt;&lt;br /&gt;Password:&lt;/strong&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2418082835537995017-7756926066811292860?l=routerric.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://routerric.blogspot.com/feeds/7756926066811292860/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2418082835537995017&amp;postID=7756926066811292860' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/7756926066811292860'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/7756926066811292860'/><link rel='alternate' type='text/html' href='http://routerric.blogspot.com/2009/01/banner-tokens.html' title='banner tokens'/><author><name>richsd1</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/--YOija8WuTM/TsAonUOe5wI/AAAAAAAAAPg/hT87gnDHaJg/s220/DSCN0197.JPG'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2418082835537995017.post-1987256648607242529</id><published>2009-01-17T21:50:00.000-08:00</published><updated>2009-01-17T22:16:09.942-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ip pim rp-announce-filter'/><title type='text'>Multicast - Auto RP Filtering</title><content type='html'>In this post i detail auto rp filtering. This can be done by the mapping agent in the auto rp domain.&lt;br /&gt;&lt;br /&gt;I had some difficulty getting this feature to work as required. In essence the concept is simple: the mapping agent denotes which RPs are allowed to advertise which multicast groups. However i discovered there are some limitations around how this works.&lt;br /&gt;&lt;br /&gt;Consider the following&lt;br /&gt;&lt;br /&gt;R1 -------- R2 -------- R3&lt;br /&gt;&lt;br /&gt;R1 is the rp for groups 230.0.0.0/8 and 231.0.0.0/8&lt;br /&gt;&lt;br /&gt;R2 is the mapping agent&lt;br /&gt;&lt;br /&gt;R3 is the router initiating pings to the multicast groups.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;In the above situation the requirement is for the mapping agent to allow R1 to be the RP for 231.0.0.0/8 and NOT 230.0.0.0/8. The config might be applied as follows&lt;br /&gt;&lt;br /&gt;R1&lt;br /&gt;&lt;strong&gt;int lo0&lt;br /&gt;ip address 1.1.1.1 255.255.255.0&lt;br /&gt;access-list 1 permit 230.0.0.0 1.255.255.255&lt;br /&gt;ip pim autorp listener&lt;br /&gt;ip pim send-rp-announce lo0 scope 16 group-list 1&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;R2&lt;br /&gt;&lt;strong&gt;access-list 1 permit 1.1.1.1&lt;br /&gt;access-list 2 permit 231.0.0.0 0.255.255.255&lt;br /&gt;ip pim autorp listener&lt;br /&gt;ip pim send-rp-discovery lo0 scope 16&lt;br /&gt;ip pim rp-announce-filter rp-list 1 group-list 2&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;R3&lt;br /&gt;&lt;strong&gt;ip pim autorp listener&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I applied the above config and tried a ping from R3 to both multicast groups. To my surprise i was not able to ping either group!&lt;br /&gt;&lt;br /&gt;Some research and head scratching later i realised that R2 was filtering both multicast groups from R1. The reason for this is that R1 is advertising itself as the RP for these groups in 1 ACL statement. If the mapping agent blocks any group within this advertised ACL ALL groups within this advertised space are denied.&lt;br /&gt;&lt;br /&gt;In summary the mapping agent can only filter based on the same granularity as the multicast groups are advertised by the RP.&lt;br /&gt;&lt;br /&gt;Hence to achieve the requirement in the above scenario R1 must first advertise itself as the RP for these multicast groups seperately.&lt;br /&gt;&lt;br /&gt;If i change the config on R1 to the following then all is well.&lt;br /&gt;&lt;br /&gt;R1&lt;br /&gt;&lt;strong&gt;access-list 1 permit 230.0.0.0 0.255.255.255&lt;br /&gt;access-list 1 permit 231.0.0.0 0.255.255.255&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Router_3#p 231.31.31.31 repeat 3&lt;br /&gt;&lt;br /&gt;Type escape sequence to abort.&lt;br /&gt;Sending 3, 100-byte ICMP Echos to 231.31.31.31, timeout is 2 seconds:&lt;br /&gt;&lt;br /&gt;Reply to request 0 from 142.1.13.1, 96 ms&lt;br /&gt;Reply to request 1 from 142.1.13.1, 156 ms&lt;br /&gt;Reply to request 2 from 142.1.13.1, 168 ms&lt;br /&gt;Router_3#p 230.30.30.30 repeat 3&lt;br /&gt;&lt;br /&gt;Type escape sequence to abort.&lt;br /&gt;Sending 3, 100-byte ICMP Echos to 230.30.30.30, timeout is 2 seconds:&lt;br /&gt;...&lt;br /&gt;&lt;br /&gt;Note to myself: Watch out for this feature/anomoly:-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2418082835537995017-1987256648607242529?l=routerric.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://routerric.blogspot.com/feeds/1987256648607242529/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2418082835537995017&amp;postID=1987256648607242529' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/1987256648607242529'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/1987256648607242529'/><link rel='alternate' type='text/html' href='http://routerric.blogspot.com/2009/01/multicast-auto-rp-filtering.html' title='Multicast - Auto RP Filtering'/><author><name>richsd1</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/--YOija8WuTM/TsAonUOe5wI/AAAAAAAAAPg/hT87gnDHaJg/s220/DSCN0197.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2418082835537995017.post-1813419971712974259</id><published>2009-01-17T11:16:00.000-08:00</published><updated>2009-01-17T11:23:46.085-08:00</updated><title type='text'>Narrowing an acl</title><content type='html'>By narrowing an acl i mean delimit traffic in the mimimal number of acl lines.&lt;br /&gt;&lt;br /&gt;As an example consider the following addresses, and express as a 1 line acl!! &lt;br /&gt;&lt;br /&gt;200.0.1.2     &lt;br /&gt;200.0.3.2     &lt;br /&gt;200.0.3.10    &lt;br /&gt;200.0.1.18    &lt;br /&gt;200.0.3.26   &lt;br /&gt;200.0.1.10   &lt;br /&gt;200.0.3.18   &lt;br /&gt;200.0.1.26 &lt;br /&gt;&lt;br /&gt;To break down consider the varibale portions of the acl in bit notation.&lt;br /&gt;Then decide which bits can be either a zero or one without allowing any further traffic address combinations through the filter.&lt;br /&gt;&lt;br /&gt;                 3rd Oct   4th Oct&lt;br /&gt;200.0.1.2        0000 0001 0000 0010&lt;br /&gt;200.0.3.2        0000 0011 0000 0010&lt;br /&gt;200.0.3.10       0000 0011 0000 1010&lt;br /&gt;200.0.1.18       0000 0001 0001 0010&lt;br /&gt;200.0.3.26       0000 0011 0001 1010&lt;br /&gt;200.0.1.10       0000 0001 0000 1010&lt;br /&gt;200.0.3.18       0000 0011 0001 0010&lt;br /&gt;200.0.1.26       0000 0001 0001 1010&lt;br /&gt;&lt;br /&gt;                 0000 00*1 000* *010&lt;br /&gt;&lt;br /&gt;Hence the one line acl can be represented as follows....&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;permit 200.0.1.2 0.0.2.24&lt;/strong&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2418082835537995017-1813419971712974259?l=routerric.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://routerric.blogspot.com/feeds/1813419971712974259/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2418082835537995017&amp;postID=1813419971712974259' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/1813419971712974259'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/1813419971712974259'/><link rel='alternate' type='text/html' href='http://routerric.blogspot.com/2009/01/narrowing-acl.html' title='Narrowing an acl'/><author><name>richsd1</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/--YOija8WuTM/TsAonUOe5wI/AAAAAAAAAPg/hT87gnDHaJg/s220/DSCN0197.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2418082835537995017.post-6496858625801790342</id><published>2009-01-15T22:54:00.000-08:00</published><updated>2009-04-11T23:20:07.722-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ip pim rp-candidate'/><category scheme='http://www.blogger.com/atom/ns#' term='ip pim bsr-candidate'/><title type='text'>Multicast - BSR</title><content type='html'>&lt;a href="http://1.bp.blogspot.com/_fmDP85Ew2Ek/SXFqiEqVMUI/AAAAAAAAAI4/4hd_l1FEV2U/s1600-h/CADE1.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5292128170736431426" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 400px; CURSOR: hand; HEIGHT: 118px; TEXT-ALIGN: center" alt="" src="http://1.bp.blogspot.com/_fmDP85Ew2Ek/SXFqiEqVMUI/AAAAAAAAAI4/4hd_l1FEV2U/s400/CADE1.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;I recently came across a lab scenario where 3 routers were operating in PIM Sparse mode. The question stated that an interface on one router should join a multicast group and all other routers should be able to ping this address.&lt;br /&gt;&lt;br /&gt;The sting in the tail was that the configuration must be achieved on only 1 router and the 'ip pim autorp listener' command could NOT be used.&lt;br /&gt;&lt;br /&gt;The obvious answer would have been to have configured auto rp. However a pre-requisite for this to work in a PIM sparse mode environment would be for the 'ip pim autorp listener' command to be configured on all routers in the domain.&lt;br /&gt;&lt;br /&gt;The way around this problem is to configure BSR (bootstrap routing). This can operate in sparse mode without the 'autorp listener' prerequisite.&lt;br /&gt;&lt;br /&gt;Therefore on one of the routers the place the following configuration&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;ip pim rp-candidate lo0&lt;br /&gt;ip pim bsr-candidate lo0&lt;/strong&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2418082835537995017-6496858625801790342?l=routerric.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://routerric.blogspot.com/feeds/6496858625801790342/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2418082835537995017&amp;postID=6496858625801790342' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/6496858625801790342'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/6496858625801790342'/><link rel='alternate' type='text/html' href='http://routerric.blogspot.com/2009/01/multicast-bsr.html' title='Multicast - BSR'/><author><name>richsd1</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/--YOija8WuTM/TsAonUOe5wI/AAAAAAAAAPg/hT87gnDHaJg/s220/DSCN0197.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_fmDP85Ew2Ek/SXFqiEqVMUI/AAAAAAAAAI4/4hd_l1FEV2U/s72-c/CADE1.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2418082835537995017.post-2678068433910767767</id><published>2009-01-11T03:49:00.000-08:00</published><updated>2009-04-14T21:17:38.905-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mrm'/><title type='text'>MRM - Multicast Routing Monitor</title><content type='html'>A tool designed to notify network admin of any multicast routing problems.&lt;br /&gt;&lt;br /&gt;There are 3 components to MRM&lt;br /&gt;-Manager&lt;br /&gt;-Sender &lt;br /&gt;-Receiver&lt;br /&gt;&lt;br /&gt;The configuration is laid out on the doc cd under 'Using IP Multicast Tools'(well apart from the fact it neglects to inform you how to start the test!)&lt;br /&gt;&lt;br /&gt;I implement MRM on the same topology used in the previous MSDP post.&lt;br /&gt;&lt;br /&gt;The test sender is on R1&lt;br /&gt;&lt;br /&gt;R1&lt;br /&gt;&lt;strong&gt;int s1/0&lt;br /&gt;ip mrm test-sender&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;R2&lt;br /&gt;&lt;strong&gt;access-list 1 permit 10.0.0.1&lt;br /&gt;access-list 2 permit 150.50.5.69&lt;br /&gt;ip mrm manager test1&lt;br /&gt;manager fa0/0 group 239.1.1.1&lt;br /&gt;senders 1&lt;br /&gt;receivers 2 sender-list 1&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;R4&lt;br /&gt;&lt;strong&gt;int s1/0&lt;br /&gt;ip mrm test-receiver&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;And so to the crucial piece of config NOT on the doc cd.&lt;br /&gt;On R2 the manager&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;mrm test1 start&lt;/strong&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2418082835537995017-2678068433910767767?l=routerric.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://routerric.blogspot.com/feeds/2678068433910767767/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2418082835537995017&amp;postID=2678068433910767767' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/2678068433910767767'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/2678068433910767767'/><link rel='alternate' type='text/html' href='http://routerric.blogspot.com/2009/01/mrm-multicast-routing-monitor.html' title='MRM - Multicast Routing Monitor'/><author><name>richsd1</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/--YOija8WuTM/TsAonUOe5wI/AAAAAAAAAPg/hT87gnDHaJg/s220/DSCN0197.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2418082835537995017.post-8422597966007434608</id><published>2009-01-11T03:43:00.000-08:00</published><updated>2009-06-17T22:09:07.626-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PGM'/><title type='text'>PGM - Pragmatic General Multicast.</title><content type='html'>PGM is a reliable multicast transport protocol. It guarantees that a receiver in a multicast group receives all data packets (in comparison to normal multicast which is a best effort protocol).&lt;br /&gt;&lt;br /&gt;Configuration is very straightforward.&lt;br /&gt;&lt;br /&gt;config-if#ip pgm router&lt;br /&gt;&lt;br /&gt;Thats it!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2418082835537995017-8422597966007434608?l=routerric.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://routerric.blogspot.com/feeds/8422597966007434608/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2418082835537995017&amp;postID=8422597966007434608' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/8422597966007434608'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/8422597966007434608'/><link rel='alternate' type='text/html' href='http://routerric.blogspot.com/2009/01/pgm-pragmatic-general-multicast.html' title='PGM - Pragmatic General Multicast.'/><author><name>richsd1</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/--YOija8WuTM/TsAonUOe5wI/AAAAAAAAAPg/hT87gnDHaJg/s220/DSCN0197.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2418082835537995017.post-1828886533495952409</id><published>2009-01-10T23:58:00.000-08:00</published><updated>2009-01-11T00:09:49.920-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='msdp'/><title type='text'>MSDP - Multicast Source Discovery Protocol</title><content type='html'>&lt;a href="http://1.bp.blogspot.com/_fmDP85Ew2Ek/SWmnNAOp9AI/AAAAAAAAAIg/rFn35OcyxOo/s1600-h/seperate+PIM+domains.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5289943079164965890" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 400px; CURSOR: hand; HEIGHT: 222px; TEXT-ALIGN: center" alt="" src="http://1.bp.blogspot.com/_fmDP85Ew2Ek/SWmnNAOp9AI/AAAAAAAAAIg/rFn35OcyxOo/s400/seperate+PIM+domains.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Consider the above scenario where there are two separate Multicast domains.  In the left hand side domain the RP is statically configured as 22.22.22.22.  On the right hand side domain the RP is statically configured as 33.33.33.33&lt;br /&gt;&lt;br /&gt;On the left the workstation has joined multicast group 224.99.99.99&lt;br /&gt;From R2&lt;br /&gt;Router_2#p 224.99.99.99&lt;br /&gt;&lt;br /&gt;Type escape sequence to abort.&lt;br /&gt;Sending 1, 100-byte ICMP Echos to 224.99.99.99, timeout is 2 seconds:&lt;br /&gt;&lt;br /&gt;Reply to request 0 from 10.0.0.1, 120 ms&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;On the right the workstation has joined multicast group 225.0.0.1&lt;br /&gt; Router_3#p 225.0.0.1&lt;br /&gt;&lt;br /&gt;Type escape sequence to abort.&lt;br /&gt;Sending 1, 100-byte ICMP Echos to 225.0.0.1, timeout is 2 seconds:&lt;br /&gt;&lt;br /&gt;Reply to request 0 from 150.50.5.69, 80 ms&lt;br /&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_fmDP85Ew2Ek/SWmnh28j2iI/AAAAAAAAAIo/5qzh-ycGGgc/s1600-h/seperate+PIM+domains2.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 222px;" src="http://2.bp.blogspot.com/_fmDP85Ew2Ek/SWmnh28j2iI/AAAAAAAAAIo/5qzh-ycGGgc/s400/seperate+PIM+domains2.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5289943437450402338" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Now I join the two multicast domains using MSDP.  The MSDP configuration reminds me of BGP neighbor configuration.&lt;br /&gt;&lt;br /&gt;R2&lt;br /&gt;&lt;strong&gt;ip msdp peer 3.3.3.3 connect-source Loopback0&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;R3&lt;br /&gt;&lt;strong&gt;ip msdp peer 2.2.2.2 connect-source Loopback0&lt;/strong&gt;&lt;br /&gt;Router_2#s ip msdp summary&lt;br /&gt;MSDP Peer Status Summary&lt;br /&gt;Peer Address     AS    State    Uptime/  Reset SA    Peer Name&lt;br /&gt;                                Downtime Count Count&lt;br /&gt;3.3.3.3          ?     Up       00:00:17 2     0     ?&lt;br /&gt;&lt;br /&gt;Router_3#show ip msdp summary&lt;br /&gt;MSDP Peer Status Summary&lt;br /&gt;Peer Address     AS    State    Uptime/  Reset SA    Peer Name&lt;br /&gt;                                Downtime Count Count&lt;br /&gt;2.2.2.2          ?     Up       00:00:08 2     0     ?&lt;br /&gt;Router_3#&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Now to test the power of MSDP!! From R3 on the right hand side of the multicast domain I try and ping the host on the left hand side of the multicast domain that is a member of 224.99.99.99&lt;br /&gt;&lt;br /&gt;Router_3#p 224.99.99.99&lt;br /&gt;&lt;br /&gt;Type escape sequence to abort.&lt;br /&gt;Sending 1, 100-byte ICMP Echos to 224.99.99.99, timeout is 2 seconds:&lt;br /&gt;&lt;br /&gt;Reply to request 0 from 10.0.0.1, 232 ms&lt;br /&gt;&lt;br /&gt;Success!!!!&lt;br /&gt;&lt;br /&gt;From R2 on the left hand side of the multicast domain I try and ping the host on the left hand side of the multicast domain that is a member of 225.0.0.1&lt;br /&gt;&lt;br /&gt;Router_2#p 225.0.0.1&lt;br /&gt;&lt;br /&gt;Type escape sequence to abort.&lt;br /&gt;Sending 1, 100-byte ICMP Echos to 225.0.0.1, timeout is 2 seconds:&lt;br /&gt;&lt;br /&gt;Reply to request 0 from 150.50.5.69, 208 ms&lt;br /&gt;&lt;br /&gt;Success!!!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_fmDP85Ew2Ek/SWmoI_hkqOI/AAAAAAAAAIw/PHbikRbfPT0/s1600-h/seperate+PIM+domains3.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 222px;" src="http://3.bp.blogspot.com/_fmDP85Ew2Ek/SWmoI_hkqOI/AAAAAAAAAIw/PHbikRbfPT0/s400/seperate+PIM+domains3.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5289944109768026338" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Now to take things one step further and introduce MSDP Anycast.  MSDP Anycast in the words of CISCO is ‘an intradomain feature that provides redundancy and load-sharing capabilities’.   In my own words this features allows two separate Multicast domains to be configured with RPs sharing the same ip address.  Should the RP in one domain become unavailable then the RP in the other domain transparently takes over.&lt;br /&gt;&lt;br /&gt;In the given scenario I change the RP on the right hand side to share the same ip address (22.22.22.22) as the left hand side domain.&lt;br /&gt;&lt;br /&gt;From R3 I can still ping both multicast hosts.  To test the redundancy I take down the loopback interface on R3 that has the RP address.&lt;br /&gt;&lt;br /&gt;Router_3(config)#int lo1&lt;br /&gt;Router_3(config-if)#shut&lt;br /&gt;&lt;br /&gt;I now check I can still ping the muticast host on the left hand side (even though there is actually no active RP in the original right hand side multicast domain).&lt;br /&gt;&lt;br /&gt;Router_3#p 224.99.99.99&lt;br /&gt;&lt;br /&gt;Type escape sequence to abort.&lt;br /&gt;Sending 1, 100-byte ICMP Echos to 224.99.99.99, timeout is 2 seconds:&lt;br /&gt;&lt;br /&gt;Reply to request 0 from 10.0.0.1, 276 ms&lt;br /&gt;&lt;br /&gt;Success!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2418082835537995017-1828886533495952409?l=routerric.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://routerric.blogspot.com/feeds/1828886533495952409/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2418082835537995017&amp;postID=1828886533495952409' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/1828886533495952409'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/1828886533495952409'/><link rel='alternate' type='text/html' href='http://routerric.blogspot.com/2009/01/msdp-multicast-source-discovery.html' title='MSDP - Multicast Source Discovery Protocol'/><author><name>richsd1</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/--YOija8WuTM/TsAonUOe5wI/AAAAAAAAAPg/hT87gnDHaJg/s220/DSCN0197.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_fmDP85Ew2Ek/SWmnNAOp9AI/AAAAAAAAAIg/rFn35OcyxOo/s72-c/seperate+PIM+domains.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2418082835537995017.post-4350746356350659051</id><published>2009-01-09T23:38:00.000-08:00</published><updated>2009-01-09T23:42:57.087-08:00</updated><title type='text'>Multicast - Bidirectional</title><content type='html'>Bidir PIM is designed for multicast apps that have a many to many architecture (as opposed to the typical one to many architecture of traditional multicast).&lt;br /&gt;&lt;br /&gt;Configuring Bidir PIM is very similar to traditional PIM. To enable bidir-PIM on a router&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Config#ip pim bidir-enable &lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;And for the RPS just use the normal rp selection commands with the addition of the bidir option&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;STATIC RP:&lt;/strong&gt; Ip pim rp-address {address} bidir&lt;br /&gt;&lt;strong&gt;AUTO RP:&lt;/strong&gt; Ip pim send-rp-announce (interface} scope {ttl} bidir&lt;br /&gt;&lt;strong&gt;BOOTSTRAP RP:&lt;/strong&gt; Ip pim rp-candidate {interface} bidiR&lt;br /&gt;&lt;br /&gt;Use the same pim verification commands used for standard pim.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2418082835537995017-4350746356350659051?l=routerric.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://routerric.blogspot.com/feeds/4350746356350659051/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2418082835537995017&amp;postID=4350746356350659051' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/4350746356350659051'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/4350746356350659051'/><link rel='alternate' type='text/html' href='http://routerric.blogspot.com/2009/01/multicast-bidirectional.html' title='Multicast - Bidirectional'/><author><name>richsd1</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/--YOija8WuTM/TsAonUOe5wI/AAAAAAAAAPg/hT87gnDHaJg/s220/DSCN0197.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2418082835537995017.post-7923048675727404807</id><published>2009-01-09T22:57:00.000-08:00</published><updated>2009-04-11T23:46:53.797-07:00</updated><title type='text'>Multicast Routing - Misc</title><content type='html'>In this post i detail some of the plethora of multicast commands that may be of use...&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;config-if#ip igmp access-group {acl}&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;interface command that delimits the multicast groups that the hosts are allowed to join.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;config-if#ip igmp limit {n}&lt;/strong&gt;&lt;br /&gt;interface command that limits the number of groups that users on an interface may join&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;config-if#ip igmp join-group &lt;/strong&gt;&lt;br /&gt;joins multicast group with process switching&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;config-if#ip igmp static-group&lt;/strong&gt;&lt;br /&gt;joins multicast group with fast switching&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;ip pim spt-threshold {n} &lt;/strong&gt;&lt;br /&gt;specifies the threshold that must be reached before moving to the spt&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;ip multicast rate-limit in  out group-list {x} {y}&lt;/strong&gt;&lt;br /&gt;Controls transmission rate TO a multicast group&lt;br /&gt;where x is the acl matches the multicast groups&lt;br /&gt;where y is the bandwidth statement&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;ip multicast-boundary&lt;/strong&gt;&lt;br /&gt;Implements a bidirectional boundary for multicast traffic&lt;br /&gt;The following example shows how to set up a boundary for all administratively scoped addresses:&lt;br /&gt;&lt;br /&gt;access-list 1 deny 239.0.0.0 0.255.255.255&lt;br /&gt;access-list 1 permit 224.0.0.0 15.255.255.255&lt;br /&gt;interface ethernet 0&lt;br /&gt;ip multicast boundary 1&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;ip multicast cache-headers&lt;/strong&gt;&lt;br /&gt;Enables history of multicast traffic through the router.&lt;br /&gt;Can be viewed with show ip mpacket&lt;br /&gt;&lt;br /&gt;Router_2#s ip mpacket&lt;br /&gt;IP Multicast Header Cache&lt;br /&gt;11 packets received over 00:00:24, cache size: 1024 entries&lt;br /&gt;Key: id/ttl timestamp (name) source group&lt;br /&gt;&lt;br /&gt;0015/254 180.476 (?) 1.1.1.1 225.0.0.1&lt;br /&gt;0071/15 181.336 (?) 5.5.5.5 224.0.1.39&lt;br /&gt;0016/254 182.472 (?) 1.1.1.1 225.0.0.1&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2418082835537995017-7923048675727404807?l=routerric.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://routerric.blogspot.com/feeds/7923048675727404807/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2418082835537995017&amp;postID=7923048675727404807' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/7923048675727404807'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/7923048675727404807'/><link rel='alternate' type='text/html' href='http://routerric.blogspot.com/2009/01/multicast-routing-misc.html' title='Multicast Routing - Misc'/><author><name>richsd1</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/--YOija8WuTM/TsAonUOe5wI/AAAAAAAAAPg/hT87gnDHaJg/s220/DSCN0197.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2418082835537995017.post-261314454437586829</id><published>2009-01-09T22:48:00.000-08:00</published><updated>2009-06-17T22:03:02.655-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SSM - Source Specific Multicast'/><title type='text'>SSM - Source Specific Multicast</title><content type='html'>A few key notes after reviewing the cisco doc cd...&lt;br /&gt;&lt;br /&gt;Requires IGMP version 3&lt;br /&gt;&lt;br /&gt;Reserved IANA range 232.0.0.0 232.255.255.255&lt;br /&gt;&lt;br /&gt;Operates in PIM sparse mode or sparse dense mode&lt;br /&gt;&lt;br /&gt;Enabled by &lt;strong&gt;ip pim ssm&lt;/strong&gt; global command&lt;br /&gt;&lt;br /&gt;When enabled PIM operations in the SSM address range are treated as PIM SSM.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Ip pim ssm&lt;br /&gt;Int x&lt;br /&gt;Ip pim sparse-mode | ip pim sparse-dense-mode&lt;br /&gt;Ip igmp version 3&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Enabling PIM SSM may cause problems for legacy PIM operations in the reserved SSM address range. The following config enables RP to restrict sources in the SSM range from registering &lt;br /&gt;&lt;br /&gt;&lt;strong&gt;ip pim accept-register list no-ssm-range&lt;br /&gt;ip access-list extended no-ssm-range&lt;br /&gt; deny ip any 232.0.0.0 0.255.255.255&lt;br /&gt; permit ip any any&lt;/strong&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2418082835537995017-261314454437586829?l=routerric.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://routerric.blogspot.com/feeds/261314454437586829/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2418082835537995017&amp;postID=261314454437586829' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/261314454437586829'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/261314454437586829'/><link rel='alternate' type='text/html' href='http://routerric.blogspot.com/2009/01/ssm-source-specific-multicast.html' title='SSM - Source Specific Multicast'/><author><name>richsd1</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/--YOija8WuTM/TsAonUOe5wI/AAAAAAAAAPg/hT87gnDHaJg/s220/DSCN0197.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2418082835537995017.post-5312831100904379932</id><published>2009-01-08T22:52:00.000-08:00</published><updated>2009-01-08T23:19:41.340-08:00</updated><title type='text'>Multicast Routing - Part V Tunnel</title><content type='html'>&lt;a href="http://3.bp.blogspot.com/_fmDP85Ew2Ek/SWb6huYU6gI/AAAAAAAAAIY/NywAiktRnMk/s1600-h/CADE1.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 133px;" src="http://3.bp.blogspot.com/_fmDP85Ew2Ek/SWb6huYU6gI/AAAAAAAAAIY/NywAiktRnMk/s400/CADE1.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5289190269685918210" /&gt;&lt;/a&gt;&lt;br /&gt;The Multicast tunnel is a feature that can be used to join two multicast routers seperated by a 'non multicast' region. &lt;br /&gt;&lt;br /&gt;In the above scenario i create a tunnel between the 2 multicast routers as follows...&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;R2 &lt;br /&gt;interface Tunnel0&lt;br /&gt; ip address 20.20.20.2 255.255.255.252&lt;br /&gt; ip pim sparse-dense-mode&lt;br /&gt; tunnel source Loopback0&lt;br /&gt; tunnel destination 5.5.5.5&lt;br /&gt;ip pim send-rp-announce Loopback0 scope 16&lt;br /&gt;ip pim send-rp-discovery scope 16&lt;br /&gt;&lt;br /&gt;R5&lt;br /&gt;interface Tunnel0&lt;br /&gt; ip address 20.20.20.1 255.255.255.252&lt;br /&gt; ip pim sparse-dense-mode&lt;br /&gt; tunnel source Loopback0&lt;br /&gt; tunnel destination 2.2.2.2&lt;br /&gt;end&lt;br /&gt;ip pim send-rp-announce Loopback0 scope 16&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The dest pc joins mcast group 225.0.0.1&lt;br /&gt;&lt;br /&gt;I then try pinging across the tunnel from the source PC. &lt;br /&gt;&lt;br /&gt;Router_2#p 225.0.0.1 repeat 3&lt;br /&gt;&lt;br /&gt;Type escape sequence to abort.&lt;br /&gt;Sending 3, 100-byte ICMP Echos to 225.0.0.1, timeout is 2 seconds:&lt;br /&gt;...&lt;br /&gt;&lt;br /&gt;Failure!!!  &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;If i enable multicast debugging on R5 the reason becomes clear&lt;br /&gt;&lt;br /&gt;debug ip mapcket&lt;br /&gt;Router_5#&lt;br /&gt;*Jan  9 07:03:40.263: IP(0): s=2.2.2.2 (Tunnel0) d=225.0.0.1 id=19, ttl=254, pro&lt;br /&gt;t=1, len=100(100), RPF lookup failed for source or RP&lt;br /&gt;*Jan  9 07:03:40.275: IP(0): s=2.2.2.2 (Tunnel0) d=225.0.0.1 id=19, ttl=253, pro&lt;br /&gt;t=1, len=100(100), RPF lookup failed for source or RP&lt;br /&gt;&lt;br /&gt;Whilst the multicast regions are now successfully joined the multicast route now differs from the unicast route.  As indicated in the debug the reverse path check is now failing i.e. the path back to the multicast source does NOT match the unicast path to the source.&lt;br /&gt;&lt;br /&gt;To resolve this issue i configure a static multicast route on R5 so that all multicast traffic is directed through the tunnel&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Router_5(config)#ip mroute 0.0.0.0 0.0.0.0 tu0&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;I now ping again from R2 and success!!&lt;br /&gt;&lt;br /&gt;Router_2#p 225.0.0.1 repeat 3&lt;br /&gt;&lt;br /&gt;Type escape sequence to abort.&lt;br /&gt;Sending 3, 100-byte ICMP Echos to 225.0.0.1, timeout is 2 seconds:&lt;br /&gt;&lt;br /&gt;Reply to request 0 from 14.0.0.6, 484 ms&lt;br /&gt;Reply to request 0 from 14.0.0.6, 484 ms&lt;br /&gt;Reply to request 1 from 14.0.0.6, 180 ms&lt;br /&gt;Reply to request 1 from 14.0.0.6, 180 ms&lt;br /&gt;Reply to request 2 from 14.0.0.6, 296 ms&lt;br /&gt;Reply to request 2 from 14.0.0.6, 308 ms&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2418082835537995017-5312831100904379932?l=routerric.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://routerric.blogspot.com/feeds/5312831100904379932/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2418082835537995017&amp;postID=5312831100904379932' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/5312831100904379932'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/5312831100904379932'/><link rel='alternate' type='text/html' href='http://routerric.blogspot.com/2009/01/multicast-routing-part-v-tunnel.html' title='Multicast Routing - Part V Tunnel'/><author><name>richsd1</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/--YOija8WuTM/TsAonUOe5wI/AAAAAAAAAPg/hT87gnDHaJg/s220/DSCN0197.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_fmDP85Ew2Ek/SWb6huYU6gI/AAAAAAAAAIY/NywAiktRnMk/s72-c/CADE1.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2418082835537995017.post-5373414966717555697</id><published>2009-01-08T21:24:00.000-08:00</published><updated>2009-01-08T21:31:42.599-08:00</updated><title type='text'>OSPF routing part IX - distance</title><content type='html'>Suppose R1 has two ospf neighbors R2 and R3 and the lab requires all routes to be preferred from R2. This can be achieved by marking all routes from ospf neighbor R3 with an admin distance of 109 (compared to the default of 110).&lt;br /&gt;&lt;br /&gt;If the ospf router id of r3 was 3.3.3.3 this can simply be achieved as follows...&lt;br /&gt;&lt;br /&gt;ip access-list st 1&lt;br /&gt;permit any&lt;br /&gt;&lt;br /&gt;router ospf 1&lt;br /&gt;distance 109 3.3.3.3 0.0.0.0 1&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2418082835537995017-5373414966717555697?l=routerric.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://routerric.blogspot.com/feeds/5373414966717555697/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2418082835537995017&amp;postID=5373414966717555697' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/5373414966717555697'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/5373414966717555697'/><link rel='alternate' type='text/html' href='http://routerric.blogspot.com/2009/01/ospf-routing-part-ix-distance.html' title='OSPF routing part IX - distance'/><author><name>richsd1</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/--YOija8WuTM/TsAonUOe5wI/AAAAAAAAAPg/hT87gnDHaJg/s220/DSCN0197.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2418082835537995017.post-4480731070022693297</id><published>2009-01-05T22:50:00.000-08:00</published><updated>2009-04-14T21:18:12.494-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='director response protocol'/><category scheme='http://www.blogger.com/atom/ns#' term='drp'/><title type='text'>Director Response Protocol</title><content type='html'>As far as i can tell this is one of those oddball subjects that just may rear its head on the CCIE Lab. &lt;br /&gt;&lt;br /&gt;In this post i just denote&lt;br /&gt; i) what is it&lt;br /&gt; ii) where to find it on the doc cd &lt;br /&gt; iii) provide a basic config.&lt;br /&gt;&lt;br /&gt;Director Response Protocol. &lt;br /&gt;This is a CISCO proprietary product. The DRP server agent is used to communicate with the Distributed Director platform.  As a requirement in a lab i guess configuration of the server agent is a possibility.&lt;br /&gt;&lt;br /&gt;On the doc cd look in 12.2 IP Configuration Guide. Then under Configuring IP Services. There is a reasonable description on configuring the server agent there.&lt;br /&gt;&lt;br /&gt;The only configuration that is required to enable DRP is the global configuration&lt;br /&gt;command 'ip drp server'. Over and above that the DRP server agent can then be configured to only allow certain Directors to communicate with it. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;access-list 10 permit 185.28.8.1&lt;br /&gt;access-list 10 permit 104.12.8.1&lt;br /&gt;&lt;br /&gt;ip drp access-group 10&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Additionally some authentication can be included between server agent and directors&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;key chain RICH&lt;br /&gt;key 1&lt;br /&gt;key-string CISCO&lt;br /&gt;!&lt;br /&gt;ip drp authentication key-chain RICH&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I must confess the DRP still reamins a bit of a 'black box' subject to me, but i figure the above will be enough to cover off the basics.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2418082835537995017-4480731070022693297?l=routerric.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://routerric.blogspot.com/feeds/4480731070022693297/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2418082835537995017&amp;postID=4480731070022693297' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/4480731070022693297'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/4480731070022693297'/><link rel='alternate' type='text/html' href='http://routerric.blogspot.com/2009/01/director-response-protocol.html' title='Director Response Protocol'/><author><name>richsd1</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/--YOija8WuTM/TsAonUOe5wI/AAAAAAAAAPg/hT87gnDHaJg/s220/DSCN0197.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2418082835537995017.post-5523357234239280672</id><published>2009-01-05T11:57:00.000-08:00</published><updated>2009-04-14T21:17:10.913-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ntp broadcast'/><title type='text'>NTP Broadcast Setup</title><content type='html'>Most of the scenarios i have encountered with NTP involve setting up NTP relationships with the 'ntp server' or 'ntp peer' commands.  In this post i am not going to detail this setup.&lt;br /&gt;&lt;br /&gt;An interesting scenario i came across was when the lab requirement was to establish NTP in an environment but WITHOUT using the 'ntp peer' or 'ntp server' commands.&lt;br /&gt;&lt;br /&gt;To enable this requires use of NTP in a broadcast mode. The config for this is straightforward (as always if you know the answer:&lt;em&gt;-}&lt;/em&gt;)&lt;br /&gt;&lt;br /&gt;R1&lt;br /&gt;&lt;strong&gt;config-if#ntp broadcast client&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;R2&lt;br /&gt;&lt;strong&gt;config-if#ntp broadcast&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Thats it!&lt;br /&gt;&lt;br /&gt;As with standard udp NTP the setup can be verified via 'show ntp associations'.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2418082835537995017-5523357234239280672?l=routerric.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://routerric.blogspot.com/feeds/5523357234239280672/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2418082835537995017&amp;postID=5523357234239280672' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/5523357234239280672'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/5523357234239280672'/><link rel='alternate' type='text/html' href='http://routerric.blogspot.com/2009/01/ntp-broadcast-setup.html' title='NTP Broadcast Setup'/><author><name>richsd1</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/--YOija8WuTM/TsAonUOe5wI/AAAAAAAAAPg/hT87gnDHaJg/s220/DSCN0197.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2418082835537995017.post-1817738450869996046</id><published>2009-01-04T07:43:00.000-08:00</published><updated>2009-04-14T21:18:45.000-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='frame-relay traffic shaping'/><title type='text'>Frame Relay Traffic Shaping - Part III</title><content type='html'>A short post just to clarify a couple of frame relay traffic shaping features...&lt;br /&gt;&lt;br /&gt;The minimum time slice on a Frame Relay interface is 10ms or 1/100 of a second. Hence to set the time slice on the interface to be the minimum, simply divide the CIR by 100.  &lt;br /&gt;&lt;br /&gt;As a further note....If there is a requirement to ensure that a single packet cannot take more than one interval to be transmitted, divide the bc by 8 to get the number of bytes and then set the fragment size to this. For example&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;map-class frame-relay DLCI_304&lt;br /&gt;frame-relay cir 256000&lt;br /&gt;frame-relay bc 2560&lt;br /&gt;frame-relay fragment 320&lt;/strong&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2418082835537995017-1817738450869996046?l=routerric.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://routerric.blogspot.com/feeds/1817738450869996046/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2418082835537995017&amp;postID=1817738450869996046' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/1817738450869996046'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/1817738450869996046'/><link rel='alternate' type='text/html' href='http://routerric.blogspot.com/2009/01/frame-relay-traffic-shaping-part-iii.html' title='Frame Relay Traffic Shaping - Part III'/><author><name>richsd1</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/--YOija8WuTM/TsAonUOe5wI/AAAAAAAAAPg/hT87gnDHaJg/s220/DSCN0197.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2418082835537995017.post-705840599350667291</id><published>2009-01-03T23:47:00.000-08:00</published><updated>2009-01-04T00:14:26.713-08:00</updated><title type='text'>Multicast Routing - Part III Controlling Access Part 2</title><content type='html'>In my fist post on controlling multicast access i described the 'ip igmp access-group' command.&lt;br /&gt;&lt;br /&gt;As denoted this can be usefull controlling access to specified multicast address spaces.   On a further lab i encountered a multicast access scenario that required multicast traffic to be restricted in both directions i.e. not only prevent multicast feeds being accepted from an interface, but also prevent multicast feeds being sent out an interface.&lt;br /&gt;&lt;br /&gt;In such a situation where multicast access control is required in both directions then the 'multicast boundary' functionality can be used.  This creates more stringent access control.&lt;br /&gt;&lt;br /&gt;Access can be controlled in a granular fashion by utilising the access-list parameter.&lt;br /&gt;&lt;br /&gt;For example...use this to prevent access to the administratively scoped address space&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Router(config-if)# ip multicast boundary 1&lt;br /&gt;Router(config)# access-list 1 deny 239.0.0.0 0.255.255.255&lt;br /&gt;Router(config)# access-list 1 permit 224.0.0.0 15.255.255.255&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Whilst researching on multicast boudaries i then realised there was a 3rd option to control multicast access:-)...&lt;br /&gt;&lt;br /&gt;The 'ip igmp access-group' command works perfectly for L3 interfaces. However if required to restrict access on a L2 interface this command will NOT cut the mustard.&lt;br /&gt;&lt;br /&gt;This is where 'igmp profiles' can be used on an L2 access port. &lt;br /&gt;&lt;br /&gt;&lt;strong&gt;int f0/01&lt;br /&gt; switchport mode access&lt;br /&gt; switchport access vlan 7&lt;br /&gt; ip igmp filter 1&lt;br /&gt;!&lt;br /&gt;ip igmp profile 1&lt;br /&gt; deny&lt;br /&gt; range 239.0.0.0 239.255.255.255&lt;/strong&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2418082835537995017-705840599350667291?l=routerric.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://routerric.blogspot.com/feeds/705840599350667291/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2418082835537995017&amp;postID=705840599350667291' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/705840599350667291'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/705840599350667291'/><link rel='alternate' type='text/html' href='http://routerric.blogspot.com/2009/01/multicast-routing-part-iii-controlling.html' title='Multicast Routing - Part III Controlling Access Part 2'/><author><name>richsd1</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/--YOija8WuTM/TsAonUOe5wI/AAAAAAAAAPg/hT87gnDHaJg/s220/DSCN0197.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2418082835537995017.post-2566128719808183904</id><published>2009-01-02T23:33:00.000-08:00</published><updated>2009-06-17T22:10:45.904-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='BGP snippets'/><title type='text'>BGP snippets</title><content type='html'>&lt;strong&gt;BGP Default Router&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;R1 -------- R2&lt;br /&gt;&lt;br /&gt;In this scenario R1 must advertise a BGP default route to R2. NO other BGP routes are allowed.&lt;br /&gt;&lt;br /&gt;R1&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;router bgp 1&lt;br /&gt;neighbor {a.b.c.d} default-originate&lt;br /&gt;neighbor {a.b.c.d} prefix-list DEFAULT out&lt;br /&gt;&lt;br /&gt;ip prefix-list DEFAULT permit 0.0.0.0/0&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;BGP - NON transit area&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;How do you ensure a BGP area is not used as a tranit area?  One answer is to ensure it only advertises routes originated in it own area.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;ip as-path access-list 1 permit ^$&lt;br /&gt;router bgp 1&lt;br /&gt;neighbor {a.b.c.d} filter-list 1 out&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Redistribution from BGP&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;router ospf 1&lt;br /&gt;redistribute bgp 1&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;With the statement above all BGP EXTERNAL routes will be propogatedinto OSPF. If there is a requirement for BGP internal routes to be propogated into OSPF then the following command is required under at BGP router prompt.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;router bgp 1&lt;br /&gt;bgp redistribute-internal&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Redistribution of a single BGP area&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;If redistribution from BGP is required but only from a single BGP area this can be achieved via a route-map in conjunction with an as-path access-list.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;router ospf 1&lt;br /&gt;redistribute bgp 1 route-map BGP2OSPF&lt;br /&gt;!&lt;br /&gt;ip as-path access-list 1 permit _54_&lt;br /&gt;!&lt;br /&gt;route-map BGP2OSPF permit 10&lt;br /&gt;match as-path 1&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;thats it:-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2418082835537995017-2566128719808183904?l=routerric.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://routerric.blogspot.com/feeds/2566128719808183904/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2418082835537995017&amp;postID=2566128719808183904' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/2566128719808183904'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/2566128719808183904'/><link rel='alternate' type='text/html' href='http://routerric.blogspot.com/2009/01/bgp-default-route.html' title='BGP snippets'/><author><name>richsd1</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/--YOija8WuTM/TsAonUOe5wI/AAAAAAAAAPg/hT87gnDHaJg/s220/DSCN0197.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2418082835537995017.post-5931658651774308628</id><published>2009-01-02T06:31:00.000-08:00</published><updated>2009-01-02T06:45:38.478-08:00</updated><title type='text'>OSPF Routing Problem</title><content type='html'>&lt;a href="http://3.bp.blogspot.com/_fmDP85Ew2Ek/SV4nKT91djI/AAAAAAAAAH4/WCf7DH736fI/s1600-h/ospf.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 260px;" src="http://3.bp.blogspot.com/_fmDP85Ew2Ek/SV4nKT91djI/AAAAAAAAAH4/WCf7DH736fI/s400/ospf.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5286706070691345970" /&gt;&lt;/a&gt;&lt;br /&gt;Consider the following scenario.&lt;br /&gt;&lt;br /&gt;Router 1 is sending a lot of traffic to the 164.1.5.0 subnet on Router 2.  The preferred route (by default) is via R3 as this is an Intra-Area Route. The route between R1 and R2 is an Inter Area route so will NOT be considered for the traffic flow - this is regardless of the metric cost value.  &lt;br /&gt;&lt;br /&gt;The question is how to get R1 to prefer the direct, faster route to R2!  As mentioned altering the route cost will have NO bearing, as Intra vs Inter are considered above such comparisons. Intra Area routes always win regardless of costs.&lt;br /&gt;&lt;br /&gt;The way around this problem is to build a virtual link between R1 and R2. This way once up, the route to 164.1.5.0 will beomce preferrable.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Router 4&lt;br /&gt;router ospf 100&lt;br /&gt;area 1 virtual-link 5 150.1.5.5&lt;br /&gt;&lt;br /&gt;Router 5&lt;br /&gt;router ospf 100&lt;br /&gt;area 1 vitual-link 150.1.4.4&lt;/strong&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2418082835537995017-5931658651774308628?l=routerric.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://routerric.blogspot.com/feeds/5931658651774308628/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2418082835537995017&amp;postID=5931658651774308628' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/5931658651774308628'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/5931658651774308628'/><link rel='alternate' type='text/html' href='http://routerric.blogspot.com/2009/01/ospf-routing-problem.html' title='OSPF Routing Problem'/><author><name>richsd1</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/--YOija8WuTM/TsAonUOe5wI/AAAAAAAAAPg/hT87gnDHaJg/s220/DSCN0197.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_fmDP85Ew2Ek/SV4nKT91djI/AAAAAAAAAH4/WCf7DH736fI/s72-c/ospf.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2418082835537995017.post-525159974914855602</id><published>2009-01-01T23:21:00.000-08:00</published><updated>2009-01-01T23:33:32.163-08:00</updated><title type='text'>EIGRP metric calculation</title><content type='html'>If the standard bandwidth and delay parameters are used within EIGRP the formula for calculating the metric is as follows...&lt;br /&gt;&lt;br /&gt;(10,000,000/bw(kbit) + delay/10) * 256&lt;br /&gt;&lt;br /&gt;As an example examine the following entry from the eigrp topology table.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Router_1#s ip eigrp top 164.1.26.0 255.255.255.0&lt;br /&gt;IP-EIGRP (AS 100): Topology entry for 164.1.26.0/24&lt;br /&gt;  State is Passive, Query origin flag is 1, 1 Successor(s), FD is 2684416&lt;br /&gt;  Routing Descriptor Blocks:&lt;br /&gt;  164.1.13.3 (Serial2/1), from 164.1.13.3, Send flag is 0x0&lt;br /&gt;      Composite metric is (3026432/2514432), Route is Internal&lt;br /&gt;      Vector metric:&lt;br /&gt;        Minimum bandwidth is &lt;strong&gt;1280 Kbit&lt;/strong&gt;&lt;br /&gt;        Total delay is &lt;strong&gt;40100 microseconds&lt;/strong&gt;&lt;br /&gt;        Reliability is 255/255&lt;br /&gt;        Load is 1/255&lt;br /&gt;        Minimum MTU is 1500&lt;br /&gt;        Hop count is 2&lt;br /&gt;&lt;br /&gt;Using the formula....&lt;br /&gt;&lt;br /&gt;(10,000,000/1280 + 40100/10) * 256  = (7812.5 + 4010) * 256&lt;br /&gt;                                    = 11822 * 256&lt;br /&gt;                                    = 3026432!!&lt;br /&gt;&lt;br /&gt;N.B. Before moving figures outside of brackets truncate (not round) the figure to 0 decimal places.&lt;br /&gt;&lt;br /&gt;Understanding this metric calculation may seem a bit like overkill - it did to me! However it could feasibly come into play if a question asked for EIGRP load balancing to be performed according to a certain ratio. In this instance it may be necessary to adjust the EIGRP metric to achieve the desired balancing.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2418082835537995017-525159974914855602?l=routerric.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://routerric.blogspot.com/feeds/525159974914855602/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2418082835537995017&amp;postID=525159974914855602' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/525159974914855602'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/525159974914855602'/><link rel='alternate' type='text/html' href='http://routerric.blogspot.com/2009/01/eigrp-metric-calculation.html' title='EIGRP metric calculation'/><author><name>richsd1</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/--YOija8WuTM/TsAonUOe5wI/AAAAAAAAAPg/hT87gnDHaJg/s220/DSCN0197.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2418082835537995017.post-4455922122971992986</id><published>2008-12-31T02:57:00.000-08:00</published><updated>2009-06-17T22:11:13.848-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='NAT Load Balancing'/><title type='text'>NAT Load Balancing</title><content type='html'>&lt;a href="http://2.bp.blogspot.com/_fmDP85Ew2Ek/SVtQYUNbF4I/AAAAAAAAAHw/rZdoFyrJyBk/s1600-h/natload.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5285906966321502082" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 400px; CURSOR: hand; HEIGHT: 322px; TEXT-ALIGN: center" alt="" src="http://2.bp.blogspot.com/_fmDP85Ew2Ek/SVtQYUNbF4I/AAAAAAAAAHw/rZdoFyrJyBk/s400/natload.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;As an added feature of NAT it can be used to load balance a ‘serverfarm’. The router performing the natting can round robin connection requests to the real servers.&lt;br /&gt;&lt;br /&gt;A virtual server address is required. The natting router takes tcp requests received on this address, and the specified ports, and passes them on in a rotary fashion to the servers.&lt;br /&gt;&lt;br /&gt;This can be achieved with the following configuration on R2…..&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;interface FastEthernet0/0&lt;br /&gt;ip address 10.0.0.2 255.255.255.0&lt;br /&gt;ip nat outside&lt;br /&gt;!&lt;br /&gt;interface FastEthernet1/0&lt;br /&gt;ip address 11.0.0.2 255.255.255.0&lt;br /&gt;ip nat inside&lt;br /&gt;&lt;br /&gt;ip nat pool REALS 11.0.0.3 11.0.0.4 prefix-length 24 type rotary&lt;br /&gt;ip nat inside destination list VIPACCESS pool REALS&lt;br /&gt;!&lt;br /&gt;ip access-list extended VIPACCESS&lt;br /&gt;permit tcp any host 11.0.0.254 eq telnet&lt;/strong&gt; &lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;Now when telnetting to 11.0.0.254 from R1, R2 redirects the request to one of the 3 real server addresses&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt;Router_1#telnet 11.0.0.254Trying 11.0.0.254 ... Open&lt;br /&gt;Router_4&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt;On R2 i examine the nat translation table&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;&lt;strong&gt;&lt;/strong&gt; &lt;/div&gt;&lt;div&gt;&lt;strong&gt;Router_2#s ip nat trans&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;&lt;strong&gt;Pro Inside global Inside local Outside local Outside globaltcp 11.0.0.254:23 11.0.0.4:23 10.0.0.1:16630 10.0.0.1:16630&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2418082835537995017-4455922122971992986?l=routerric.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://routerric.blogspot.com/feeds/4455922122971992986/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2418082835537995017&amp;postID=4455922122971992986' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/4455922122971992986'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/4455922122971992986'/><link rel='alternate' type='text/html' href='http://routerric.blogspot.com/2008/12/nat-load-balancing.html' title='NAT Load Balancing'/><author><name>richsd1</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/--YOija8WuTM/TsAonUOe5wI/AAAAAAAAAPg/hT87gnDHaJg/s220/DSCN0197.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_fmDP85Ew2Ek/SVtQYUNbF4I/AAAAAAAAAHw/rZdoFyrJyBk/s72-c/natload.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2418082835537995017.post-6957121962958266122</id><published>2008-12-29T08:18:00.001-08:00</published><updated>2008-12-29T08:47:54.962-08:00</updated><title type='text'>Multicast Gotchas</title><content type='html'>&lt;a href="http://1.bp.blogspot.com/_fmDP85Ew2Ek/SVj_HSodlsI/AAAAAAAAAHo/3aK1nNtMXCo/s1600-h/multicast+gotchas.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5285254663444993730" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 400px; CURSOR: hand; HEIGHT: 279px; TEXT-ALIGN: center" alt="" src="http://1.bp.blogspot.com/_fmDP85Ew2Ek/SVj_HSodlsI/AAAAAAAAAHo/3aK1nNtMXCo/s400/multicast+gotchas.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;&lt;a href="http://4.bp.blogspot.com/_fmDP85Ew2Ek/SVj-64BGDDI/AAAAAAAAAHg/KYVHU13Of_0/s1600-h/multicast+gotchas.jpg"&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;a href="http://1.bp.blogspot.com/_fmDP85Ew2Ek/SVj4w_4niPI/AAAAAAAAAHY/kD-zUZTOv3A/s1600-h/multicast+gotchas.jpg"&gt;&lt;/a&gt;&lt;br /&gt;I have listed a few gotchas that i have come across when configuring IP multicast.....&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Multicast on a hub-and-spoke frame-relay network.&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;A multipoint interface won't, by default, send multicast received from one spoke out to another spoke. This doesn't apply to a 'hub-and-spoke' where the hub is using separate physical or virtual interfaces, just multipoint interfaces. For sparse traffic this can be fixed by applying 'ip pim nbma-mode' to the multipoint interface. For dense traffic, you can use a PIM-enabled tunnel between the spokes to fix this. To use the tunnel an mroute pointing to the tunnel is required, to ensure the RPF check does not fail.&lt;br /&gt;&lt;br /&gt;Consider the above topology where R1, R2 and R3 are all enabled with ip pim dense-mode on the serial interfaces. R1 has joined multicast group 226.1.1.1. R2 is able to successfully ping this address but from R3 this fails.&lt;br /&gt;&lt;br /&gt;To circumvent this problem the following tunnel configuration can be applied...&lt;br /&gt;&lt;br /&gt;R1&lt;br /&gt;interface Tunnel1&lt;br /&gt;ip address 148.1.1.1 255.255.255.252&lt;br /&gt;ip pim dense-mode&lt;br /&gt;tunnel source Loopback0&lt;br /&gt;tunnel destination 150.1.3.3&lt;br /&gt;&lt;br /&gt;ip mroute 0.0.0.0 0.0.0.0 Tunnel1&lt;br /&gt;&lt;br /&gt;R3&lt;br /&gt;interface Tunnel1&lt;br /&gt;ip address 148.1.1.2 255.255.255.252&lt;br /&gt;ip pim dense-mode&lt;br /&gt;tunnel source Loopback0&lt;br /&gt;tunnel destination 150.1.1.1&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;strong&gt;RPF Checks&lt;/strong&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;If multicast traffic is required to take a path which unicast wouldn't, then the recieving router will likely drop the traffic because it fails the RPF check. This is typically fixed by applying an mroute.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Using Auto-RP in Sparse Mode&lt;br /&gt;&lt;/strong&gt;It was my misconception until recently that Auto RP operates in sparse-dense mode only. In fact in can operate in sparse mode as long as routers are configured with &lt;strong&gt;ip pim autorp listener&lt;/strong&gt; command.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2418082835537995017-6957121962958266122?l=routerric.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://routerric.blogspot.com/feeds/6957121962958266122/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2418082835537995017&amp;postID=6957121962958266122' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/6957121962958266122'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/6957121962958266122'/><link rel='alternate' type='text/html' href='http://routerric.blogspot.com/2008/12/multicast-gotchas.html' title='Multicast Gotchas'/><author><name>richsd1</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/--YOija8WuTM/TsAonUOe5wI/AAAAAAAAAPg/hT87gnDHaJg/s220/DSCN0197.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_fmDP85Ew2Ek/SVj_HSodlsI/AAAAAAAAAHo/3aK1nNtMXCo/s72-c/multicast+gotchas.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2418082835537995017.post-6219482164942897035</id><published>2008-12-28T05:58:00.000-08:00</published><updated>2008-12-28T06:13:16.523-08:00</updated><title type='text'>IPV6 6to4 tunnels</title><content type='html'>&lt;a href="http://2.bp.blogspot.com/_fmDP85Ew2Ek/SVeGbSE_wUI/AAAAAAAAAHQ/jyS9beHQNVI/s1600-h/6to4.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5284840491009950018" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 400px; CURSOR: hand; HEIGHT: 261px; TEXT-ALIGN: center" alt="" src="http://2.bp.blogspot.com/_fmDP85Ew2Ek/SVeGbSE_wUI/AAAAAAAAAHQ/jyS9beHQNVI/s400/6to4.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt; &lt;/div&gt;&lt;br /&gt;&lt;br /&gt;A IPV6 tunnelling method that can be used in a one to many environment (as opposed to point to point tunnelling).  To configure it all that's required is&lt;br /&gt;1) a tunnel interface given a special IPV6 address with an embedded IPV4 interface address.&lt;br /&gt;2002:{first 2 octects ipv4 address}:{second 2 octects of ipv4 address}:...&lt;br /&gt;2) an ipv6 static route  '2002::/16 tu0'&lt;br /&gt;&lt;br /&gt;The CISCO IOS works its magic to nail up connectivity to the other tunnel end points.&lt;br /&gt;&lt;br /&gt;interface Tunnel0&lt;br /&gt; no ip address&lt;br /&gt; no ip redirects&lt;br /&gt; ipv6 address 2002:&lt;strong&gt;101:101&lt;/strong&gt;:134::1/64&lt;br /&gt; tunnel source Loopback0&lt;br /&gt; tunnel mode ipv6ip 6to4&lt;br /&gt;&lt;br /&gt;interface Loopback0&lt;br /&gt; ip address &lt;strong&gt;1.1.1.1&lt;/strong&gt; 255.255.255.0&lt;br /&gt;!&lt;br /&gt;ipv6 route 2002::/16 Tunnel0&lt;br /&gt;&lt;br /&gt;interface Loopback1&lt;br /&gt; no ip address&lt;br /&gt; ipv6 address 2002:1::1/64&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;All thats required to connect IPV6 address spaces over the tunnel is to implement IPV6 routing over the tunnel&lt;br /&gt;&lt;br /&gt;e.g. &lt;br /&gt;&lt;br /&gt;&lt;strong&gt;R1&lt;br /&gt;ipv6 route 2002:3::/64 2002:303:303:134::3&lt;br /&gt;&lt;br /&gt;Router_1#PING 2002:3::3&lt;br /&gt;&lt;br /&gt;Type escape sequence to abort.&lt;br /&gt;Sending 5, 100-byte ICMP Echos to 2002:3::3, timeout is 2 seconds:&lt;br /&gt;!!!!!&lt;br /&gt;Success rate is 100 percent (5/5), round-trip min/avg/max = 44/97/152 ms&lt;br /&gt;Router_1#&lt;/strong&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2418082835537995017-6219482164942897035?l=routerric.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://routerric.blogspot.com/feeds/6219482164942897035/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2418082835537995017&amp;postID=6219482164942897035' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/6219482164942897035'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/6219482164942897035'/><link rel='alternate' type='text/html' href='http://routerric.blogspot.com/2008/12/ipv6-6to4-tunnels.html' title='IPV6 6to4 tunnels'/><author><name>richsd1</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/--YOija8WuTM/TsAonUOe5wI/AAAAAAAAAPg/hT87gnDHaJg/s220/DSCN0197.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_fmDP85Ew2Ek/SVeGbSE_wUI/AAAAAAAAAHQ/jyS9beHQNVI/s72-c/6to4.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2418082835537995017.post-6404646724414657179</id><published>2008-12-26T23:05:00.000-08:00</published><updated>2009-06-17T22:03:43.524-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Regular Expression Special Characters'/><title type='text'>Regular Expression Special Characters</title><content type='html'>As a reminder to my self, the regular expression special characters.&lt;br /&gt;&lt;br /&gt;Character Meaning&lt;br /&gt;&lt;strong&gt;^&lt;/strong&gt;        Start of string&lt;br /&gt;&lt;strong&gt;$&lt;/strong&gt;        End of string&lt;br /&gt;&lt;strong&gt;[]&lt;/strong&gt;       Range of characters&lt;br /&gt;&lt;strong&gt;-&lt;/strong&gt;        Used to specify range ( i.e. [0-9] )&lt;br /&gt;&lt;strong&gt;( )&lt;/strong&gt;      Logical grouping&lt;br /&gt;&lt;strong&gt;.&lt;/strong&gt;         Any single character&lt;br /&gt;&lt;strong&gt;*&lt;/strong&gt;        Zero or more instances&lt;br /&gt;&lt;strong&gt;+&lt;/strong&gt;       One or more instance&lt;br /&gt;&lt;strong&gt;?&lt;/strong&gt;        Zero or one instance&lt;br /&gt;&lt;strong&gt;_&lt;/strong&gt;       start or end of string, or space&lt;br /&gt;&lt;br /&gt;Examples (ive only scratched the surface here!)&lt;br /&gt;&lt;br /&gt;Only allow routes originated by as 54&lt;br /&gt;ip as-path access-list 1 permit _54$&lt;br /&gt;ip as-path access-list 1 deny .*&lt;br /&gt;&lt;br /&gt;Only allow routes from as 54 and directly connected peer AS,s&lt;br /&gt;ip as-path access-list 1 permit ^54_([0-9]+)?$&lt;br /&gt;ip as-path access-list deny .*&lt;br /&gt;&lt;br /&gt;A great way to test regular expression is via the command&lt;br /&gt;&lt;strong&gt;show ip bgp regexp {expression}&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;br /&gt;N.B. to enable a ? to be entered in a command line precede with ctrl-V.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2418082835537995017-6404646724414657179?l=routerric.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://routerric.blogspot.com/feeds/6404646724414657179/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2418082835537995017&amp;postID=6404646724414657179' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/6404646724414657179'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/6404646724414657179'/><link rel='alternate' type='text/html' href='http://routerric.blogspot.com/2008/12/regular-expression-special-characters.html' title='Regular Expression Special Characters'/><author><name>richsd1</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/--YOija8WuTM/TsAonUOe5wI/AAAAAAAAAPg/hT87gnDHaJg/s220/DSCN0197.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2418082835537995017.post-325621509535097379</id><published>2008-12-24T03:38:00.000-08:00</published><updated>2008-12-24T22:15:36.911-08:00</updated><title type='text'>Mark and Police</title><content type='html'>&lt;a href="http://3.bp.blogspot.com/_fmDP85Ew2Ek/SVIgFNeabcI/AAAAAAAAAHI/DVjfAVNsloQ/s1600-h/qos+set+up.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5283320586747669954" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 400px; CURSOR: hand; HEIGHT: 297px; TEXT-ALIGN: center" alt="" src="http://3.bp.blogspot.com/_fmDP85Ew2Ek/SVIgFNeabcI/AAAAAAAAAHI/DVjfAVNsloQ/s400/qos+set+up.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;In this post i bring together a number of QOS features to implement an end to end QOS marking and policing scenario.&lt;br /&gt;&lt;br /&gt;On R2 i mark all traffic destined to UDP port 3333 with an IP precednce of 3. On R3 i ensure all traffic with an IP precednce of 3 utilises no more than 100,000 bps of the bandwidth between R3 and R4.&lt;br /&gt;&lt;br /&gt;In order to test this scenario i make use of the IP SLA feature. R1 generates the traffic to the loopback 0 on R4 with a UDP dest port of 3333. On R4 i configure an IP SLA responder to ensure these packets are answered.&lt;br /&gt;&lt;br /&gt;Here is the config i used....&lt;br /&gt;&lt;br /&gt;R1&lt;br /&gt;&lt;strong&gt;ip sla monitor 1&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;type udpEcho dest-ipaddr 99.99.99.99 dest-port 3333&lt;br /&gt;request-data-size 1500&lt;br /&gt;timeout 2000&lt;br /&gt;frequency 15&lt;br /&gt;ip sla monitor schedule 1 life forever start-time now&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;R2&lt;br /&gt;&lt;strong&gt;&lt;br /&gt;access-list 100 permit udp any any eq 3333&lt;br /&gt;&lt;br /&gt;class-map match-all SLA&lt;br /&gt;match access-group 100&lt;br /&gt;&lt;br /&gt;policy-map MARK&lt;br /&gt;class SLA&lt;br /&gt;set precedence 3&lt;br /&gt;&lt;br /&gt;interface FastEthernet1/0&lt;br /&gt;service-policy output MARK&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;R3&lt;br /&gt;&lt;strong&gt;access-list rate-limit 1 mask 08&lt;br /&gt;&lt;br /&gt;interface FastEthernet1/0&lt;br /&gt;rate-limit output access-group rate-limit 1 100000 18750 37500 conform-action transmit exceed-action drop&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;R4&lt;br /&gt;&lt;strong&gt;ip sla monitor responder type udpEcho ipaddress 99.99.99.99 port 3333&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;For verification i used the following commands on each of the routers&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;R1&lt;/strong&gt;&lt;br /&gt;s ip sla monitor stat&lt;br /&gt;Round trip time (RTT) Index 1&lt;br /&gt;Latest RTT: 160 ms&lt;br /&gt;Latest operation start time: *06:04:24.763 UTC Thu Dec 25 2008&lt;br /&gt;Latest operation return code: OK&lt;br /&gt;Number of successes: 152&lt;br /&gt;Number of failures: 24&lt;br /&gt;Operation time to live: Forever&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;R2&lt;/strong&gt;&lt;br /&gt;s policy-map int fa1/0&lt;br /&gt;FastEthernet1/0&lt;br /&gt;&lt;br /&gt;Service-policy output: MARK&lt;br /&gt;&lt;br /&gt;Class-map: SLA (match-all)&lt;br /&gt;296 packets, 233248 bytes&lt;br /&gt;5 minute offered rate 1000 bps, drop rate 0 bps&lt;br /&gt;Match: access-group 100&lt;br /&gt;QoS Set&lt;br /&gt;precedence 3&lt;br /&gt;Packets marked 296&lt;br /&gt;&lt;br /&gt;Class-map: class-default (match-any)&lt;br /&gt;451 packets, 38519 bytes&lt;br /&gt;5 minute offered rate 0 bps, drop rate 0 bps&lt;br /&gt;Match: any&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;R3&lt;/strong&gt;&lt;br /&gt;#s int fa1/0 rate-limit&lt;br /&gt;FastEthernet1/0&lt;br /&gt;Output&lt;br /&gt;matches: access-group rate-limit 1&lt;br /&gt;params: 96000 bps, 18750 limit, 37500 extended limit&lt;br /&gt;conformed 100 packets, 78800 bytes; action: transmit&lt;br /&gt;exceeded 0 packets, 0 bytes; action: drop&lt;br /&gt;last packet: 7788ms ago, current burst: 14 bytes&lt;br /&gt;last cleared 00:12:48 ago, conformed 0 bps, exceeded 0 bps&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;R4&lt;/strong&gt;&lt;br /&gt;show ip sla monitor responder&lt;br /&gt;IP SLA Monitor Responder is: Enabled&lt;br /&gt;Number of control message received: 4 Number of errors: 0&lt;br /&gt;Recent sources:&lt;br /&gt;10.0.0.1 [06:10:24.379 UTC Thu Dec 25 2008]&lt;br /&gt;10.0.0.1 [06:10:09.391 UTC Thu Dec 25 2008]&lt;br /&gt;10.0.0.1 [06:09:54.395 UTC Thu Dec 25 2008]&lt;br /&gt;10.0.0.1 [06:09:39.371 UTC Thu Dec 25 2008]&lt;br /&gt;Recent error sources:&lt;br /&gt;&lt;br /&gt;udpEcho Responder:&lt;br /&gt;IP Address Port&lt;br /&gt;99.99.99.99 3333&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;It works! :-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2418082835537995017-325621509535097379?l=routerric.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://routerric.blogspot.com/feeds/325621509535097379/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2418082835537995017&amp;postID=325621509535097379' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/325621509535097379'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/325621509535097379'/><link rel='alternate' type='text/html' href='http://routerric.blogspot.com/2008/12/mark-and-police.html' title='Mark and Police'/><author><name>richsd1</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/--YOija8WuTM/TsAonUOe5wI/AAAAAAAAAPg/hT87gnDHaJg/s220/DSCN0197.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_fmDP85Ew2Ek/SVIgFNeabcI/AAAAAAAAAHI/DVjfAVNsloQ/s72-c/qos+set+up.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2418082835537995017.post-5146788864394293267</id><published>2008-12-23T21:56:00.000-08:00</published><updated>2008-12-23T22:41:03.595-08:00</updated><title type='text'>Policing: MQC vs Rate Limiting</title><content type='html'>Suppose the lab requirement is to restrict traffic with IP precedence 3,4 and 5 to a max throughput of 500,000 mps. As ever with the CCIE there is more than one method to crack this nut. I guess it depends on your preferred method versus what the actual requirements and restrictions of the task are.&lt;br /&gt;&lt;br /&gt;My personal preference would be to use MQC. The above requirement could be achieved as follows.....&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;ip access-list extended 101&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;permit ip any any prec 3&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;permit ip any any prec 4&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;permit ip any any prec 5&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;class-map PREC345&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;match access-group 101&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;policy-map POLICE&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;class PREC345&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;police 500000 93750 187500 conform-action transmit exceed-action drop&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;int fa0/0&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;service-policy output POLICE&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;For verification use the 'show policy-map int fa0/0' command.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Another method of achieving the same result is to use the older rate-limit command.....&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;rate-limit output access-group 101 496000 93750 187500 conform-action transmit exceed- action drop&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;br /&gt;There is a 3rd method of achieving the above. This is another variation on the rate-limit command.   If the lab requirement specified the solution must be achieved using an ACL with only 1 line this may be one scenario where such a solution would come to the rescue.&lt;br /&gt;&lt;br /&gt;There is a special access-list type named 'rate-limit'. This allows traffic to be selected based on MAC address, precedence or MPLS markings.&lt;br /&gt;&lt;br /&gt;Router_2(config)#access-list rate-limit ? &lt;br /&gt;&lt;0-99&gt;     Precedence ACL index &lt;br /&gt;&lt;100-199&gt;  MAC address ACL index &lt;br /&gt;&lt;200-299&gt;  mpls exp ACL index&lt;br /&gt;&lt;br /&gt;The requirement here is to use IP precedence 3,4 and 5.&lt;br /&gt;&lt;br /&gt;access-list rate-limit 0 ?&lt;br /&gt;Router_2(config)#access-list rate-limit 0 ?&lt;br /&gt;  &lt;0-7&gt;  Precedence&lt;br /&gt;  mask   Use precedence bitmask&lt;br /&gt;&lt;br /&gt;As with an ACL only 1 precedence value can be configured per line.  To allow multiple precedence values to be configured with one 'hit' requires the use of the mask option.&lt;br /&gt;&lt;br /&gt;To make use of this the coding of the precedence values needs to first be recalled...&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;IP Precedence 0 = 00000001&lt;br /&gt;IP Precedence 1 = 00000010&lt;br /&gt;IP Precedence 2 = 00000100&lt;br /&gt;IP Precedence 3 = 00001000&lt;br /&gt;IP Precedence 4 = 00010000&lt;br /&gt;IP Precedence 5 = 00100000&lt;br /&gt;IP Precedence 6 = 01000000&lt;br /&gt;IP Precedence 7 = 10000000&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;A packet with ip precedence of either 3,4 or 5 can be matched with bit pattern 00111000. The mask parameter expects this bit pattern in 2 HEX digits, so this has the equivalent value 38. (Note.. this is the 2 byte HEX equivalent and not the HEX value of the full byte which would be 56!!).&lt;br /&gt;&lt;br /&gt;So bringing this all together the 1 line solution to the question would be&lt;br /&gt;&lt;br /&gt; &lt;strong&gt;rate-limit output access-group rate-limit 0 1000000 93750 187500 conform-action&lt;br /&gt; transmit exceed-action drop&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Verification with rate-limiting can be done with 'show int fa0/0 rate-limit'&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2418082835537995017-5146788864394293267?l=routerric.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://routerric.blogspot.com/feeds/5146788864394293267/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2418082835537995017&amp;postID=5146788864394293267' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/5146788864394293267'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/5146788864394293267'/><link rel='alternate' type='text/html' href='http://routerric.blogspot.com/2008/12/policing-mqc-vs-rate-limiting.html' title='Policing: MQC vs Rate Limiting'/><author><name>richsd1</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/--YOija8WuTM/TsAonUOe5wI/AAAAAAAAAPg/hT87gnDHaJg/s220/DSCN0197.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2418082835537995017.post-1519174656806813072</id><published>2008-12-23T00:11:00.001-08:00</published><updated>2008-12-23T11:52:00.801-08:00</updated><title type='text'>vlan filter</title><content type='html'>&lt;a href="http://1.bp.blogspot.com/_fmDP85Ew2Ek/SVFApky75gI/AAAAAAAAAHA/tMMfH65anl4/s1600-h/RIP+3+routers.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5283074920878433794" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 396px; CURSOR: hand; HEIGHT: 266px; TEXT-ALIGN: center" alt="" src="http://1.bp.blogspot.com/_fmDP85Ew2Ek/SVFApky75gI/AAAAAAAAAHA/tMMfH65anl4/s400/RIP+3+routers.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;&lt;a href="http://4.bp.blogspot.com/_fmDP85Ew2Ek/SVFAItEOGbI/AAAAAAAAAG4/rv-EhOObdNo/s1600-h/RIP+3+routers.jpg"&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;br /&gt;Consider the following scenario where routers 1,2 and 3 are connected on a common LAN segment. All routers are in a common RIP domain.&lt;br /&gt;&lt;br /&gt;The requirement is for Routers 2 and 3 to not accept ANY routes from R1 WITHOUT changing the config on R2 and R3!&lt;br /&gt;&lt;br /&gt;A solution here is to use a vlan filter on the intermediate switch.&lt;br /&gt;My first attempt was to apply the following (incorrect) configuration.&lt;br /&gt;&lt;br /&gt;access-list 1 permit 224.0.0.9&lt;br /&gt;&lt;br /&gt;vlan access-map DROP_RIP permit 10&lt;br /&gt;match ip address 1&lt;br /&gt;action drop&lt;br /&gt;vlan access-map DROP_RIP permit 20&lt;br /&gt;&lt;br /&gt;vlan filter DROP_RIP vlan 232&lt;br /&gt;&lt;br /&gt;With the above config ALL RIP neighbor adjacencies were lost!!! The problem was the access list i had used. A more targetted ACL is required to only drop RIP traffic from Router 1.&lt;br /&gt;&lt;br /&gt;The following ACL achieves the requirement.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;access-list 100 permit udp host 192.10.1.254 any eq rip&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;This question also got me thinking on how it would be possible to block other routing protocols of the switch.&lt;br /&gt;&lt;br /&gt;The equivalent access list entries for EIGRP, OSPF and BGP are as follows......&lt;br /&gt;&lt;br /&gt;Extended IP access list 100&lt;br /&gt;20 permit eigrp host 50.0.0.254 any&lt;br /&gt;30 permit ospf host 50.0.0.254 any&lt;br /&gt;40 permit tcp host 50.0.0.254 any eq bgp&lt;/div&gt;&lt;div&gt;50 permit tcp host 50.0.0.254 eq bgp any&lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2418082835537995017-1519174656806813072?l=routerric.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://routerric.blogspot.com/feeds/1519174656806813072/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2418082835537995017&amp;postID=1519174656806813072' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/1519174656806813072'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/1519174656806813072'/><link rel='alternate' type='text/html' href='http://routerric.blogspot.com/2008/12/vlan-filter.html' title='vlan filter'/><author><name>richsd1</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/--YOija8WuTM/TsAonUOe5wI/AAAAAAAAAPg/hT87gnDHaJg/s220/DSCN0197.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_fmDP85Ew2Ek/SVFApky75gI/AAAAAAAAAHA/tMMfH65anl4/s72-c/RIP+3+routers.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2418082835537995017.post-8577667737251530644</id><published>2008-12-22T22:20:00.000-08:00</published><updated>2008-12-22T22:35:58.038-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='rip versions'/><title type='text'>RIP - Versions 1 and 2</title><content type='html'>Most RIP scenarios these days are based on version 2. That is RIP updates are multicast to ip address 224.0.0.9.  In RIP version 1 updates are broadcast to 255.255.255.255.&lt;br /&gt;&lt;br /&gt;By default RIP sends updates in version 1 but is capable of receiving up dates in version 1 and 2. &lt;br /&gt;&lt;br /&gt;When the 'version 2' command is entered at the router config prompt RIP only then sends and receives in version 2.&lt;br /&gt;&lt;br /&gt;If a requirement arises where another router requires version 1 updates, whilst not changing the version 2 operation of the router, this poses a problem. This can be overcome by manipulating the sent and received RIP version on an interface level. This overrides the config router commands.&lt;br /&gt;&lt;br /&gt;Here i enable the router to send rip version 1 and 2 updates out of interface fa1/0.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;int fa1/0&lt;br /&gt;ip rip send version 1 2&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Use the show ip protocol command for verification.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2418082835537995017-8577667737251530644?l=routerric.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://routerric.blogspot.com/feeds/8577667737251530644/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2418082835537995017&amp;postID=8577667737251530644' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/8577667737251530644'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/8577667737251530644'/><link rel='alternate' type='text/html' href='http://routerric.blogspot.com/2008/12/rip-versions-1-and-2.html' title='RIP - Versions 1 and 2'/><author><name>richsd1</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/--YOija8WuTM/TsAonUOe5wI/AAAAAAAAAPg/hT87gnDHaJg/s220/DSCN0197.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2418082835537995017.post-234671012898022060</id><published>2008-12-18T22:41:00.000-08:00</published><updated>2008-12-18T23:06:37.107-08:00</updated><title type='text'>FRTS versus MQC FRTS - Part II</title><content type='html'>Following on from part I i know introduce a further requirement to set the frame-relay discard eligibility bit on all non critical frames (non DSCP 5).&lt;br /&gt;&lt;br /&gt;For consistency i apply this on R4 using traditional FRTS on R4 and then using MQC FRTS on R5.&lt;br /&gt;&lt;br /&gt;R4&lt;br /&gt;&lt;br /&gt;1) i create a new class DSCP5 matching the critical traffic&lt;br /&gt;2) I create a policy-map FR_405 that only sets the de bit for the non-critical frames&lt;br /&gt;3) Finally within the pre-existing frame-relay map-class RICH i reference the new policy-map.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;class-map match-all DSCP5&lt;br /&gt;  match  dscp cs5&lt;br /&gt;&lt;br /&gt;policy-map FR_405&lt;br /&gt;  class DSCP5&lt;br /&gt;  class class-default&lt;br /&gt;   set fr-de&lt;br /&gt;&lt;br /&gt;map-class frame-relay RICH&lt;br /&gt; frame-relay cir 768000&lt;br /&gt; frame-relay bc 7680&lt;br /&gt; service-policy output FR_405&lt;br /&gt; frame-relay fragment 960&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;For verification is use the 'show frame-relay pvc 405' command&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;R4#s frame-relay pvc 405&lt;br /&gt;&lt;br /&gt;PVC Statistics for interface Serial2/0 (Frame Relay DTE)&lt;br /&gt;&lt;br /&gt;DLCI = 405, DLCI USAGE = LOCAL, PVC STATUS = ACTIVE, INTERFACE = Serial2/0&lt;br /&gt;&lt;br /&gt;  input pkts 169           output pkts 175          in bytes 21260&lt;br /&gt;  out bytes 18308          dropped pkts 6           in pkts dropped 6&lt;br /&gt;  out pkts dropped 0                out bytes dropped 0&lt;br /&gt;  in FECN pkts 0           in BECN pkts 0           out FECN pkts 0&lt;br /&gt;  out BECN pkts 0          in DE pkts 0             out DE pkts 30&lt;br /&gt;  out bcast pkts 112       out bcast bytes 13140&lt;br /&gt;  5 minute input rate 0 bits/sec, 0 packets/sec&lt;br /&gt;  5 minute output rate 0 bits/sec, 0 packets/sec&lt;br /&gt;  pvc create time 00:17:45, last time pvc status changed 00:16:05&lt;br /&gt;  service policy FR_405&lt;br /&gt; Serial2/0: DLCI 405 -&lt;br /&gt;&lt;br /&gt;  Service-policy output: FR_405&lt;br /&gt;&lt;br /&gt;    Class-map: DSCP5 (match-all)&lt;br /&gt;      0 packets, 0 bytes&lt;br /&gt;      5 minute offered rate 0 bps&lt;br /&gt;      Match: access-group 100&lt;br /&gt;        0 packets, 0 bytes&lt;br /&gt;        5 minute rate 0 bps&lt;br /&gt;      Match:  dscp cs5 (40)&lt;br /&gt;        0 packets, 0 bytes&lt;br /&gt;        5 minute rate 0 bps&lt;br /&gt;&lt;br /&gt;    Class-map: class-default (match-any)&lt;br /&gt;      30 packets, 3169 bytes&lt;br /&gt;      5 minute offered rate 0 bps, drop rate 0 bps&lt;br /&gt;      Match: any&lt;br /&gt;      QoS Set&lt;br /&gt;        fr-de&lt;br /&gt;          Packets marked 30&lt;br /&gt;  Output queue size 0/max total 600/drops 0&lt;br /&gt;  fragment type end-to-end fragment size 960&lt;br /&gt;  cir 768000    bc   7680      be 0         limit 960    interval 10&lt;br /&gt;  mincir 384000    byte increment 960   BECN response no  IF_CONG no&lt;br /&gt;  frags 175       bytes 18308     frags delayed 0         bytes delayed 0&lt;br /&gt;&lt;br /&gt;  shaping inactive&lt;br /&gt;  traffic shaping drops 0&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;On R5 &lt;br /&gt;&lt;br /&gt;As on R4 the first 2 steps are identical: i create a new class and policy map.  I then reference the new policy map from within the pre-existing service-policy RICH. Nested service policies!!!&lt;em&gt;:-)&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;class-map match-all DSCP5&lt;br /&gt;  match  dscp cs5&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;policy-map FR_405&lt;br /&gt;  class DSCP5&lt;br /&gt;  class class-default&lt;br /&gt;   set fr-de&lt;br /&gt;&lt;br /&gt;policy-map RICH&lt;br /&gt;  class class-default&lt;br /&gt;   shape average 768000 7680&lt;br /&gt;   service-policy FR_405&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;For verification i use the 'show policy-map int s2/0.54' command. &lt;br /&gt;&lt;br /&gt;&lt;strong&gt;R5#s policy-map int s2/0.54&lt;br /&gt;&lt;br /&gt; Serial2/0.54&lt;br /&gt;&lt;br /&gt;  Service-policy output: RICH&lt;br /&gt;&lt;br /&gt;    Class-map: class-default (match-any)&lt;br /&gt;      1 packets, 84 bytes&lt;br /&gt;      5 minute offered rate 0 bps, drop rate 0 bps&lt;br /&gt;      Match: any&lt;br /&gt;      Traffic Shaping&lt;br /&gt;           Target/Average   Byte   Sustain   Excess    Interval  Increment&lt;br /&gt;             Rate           Limit  bits/int  bits/int  (ms)      (bytes)&lt;br /&gt;           768000/768000    1920   7680      7680      10        960&lt;br /&gt;&lt;br /&gt;        Adapt  Queue     Packets   Bytes     Packets   Bytes     Shaping&lt;br /&gt;        Active Depth                         Delayed   Delayed   Active&lt;br /&gt;        -      0         1         84        0         0         no&lt;br /&gt;&lt;br /&gt;      Service-policy : FR_405&lt;br /&gt;&lt;br /&gt;        Class-map: DSCP5 (match-all)&lt;br /&gt;          0 packets, 0 bytes&lt;br /&gt;          5 minute offered rate 0 bps&lt;br /&gt;          Match:  dscp cs5 (40)&lt;br /&gt;&lt;br /&gt;        Class-map: class-default (match-any)&lt;br /&gt;          1 packets, 84 bytes&lt;br /&gt;          5 minute offered rate 0 bps, drop rate 0 bps&lt;br /&gt;          Match: any&lt;br /&gt;          QoS Set&lt;br /&gt;            fr-de&lt;br /&gt;              Packets marked 3&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Both methods achieve the same result!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2418082835537995017-234671012898022060?l=routerric.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://routerric.blogspot.com/feeds/234671012898022060/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2418082835537995017&amp;postID=234671012898022060' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/234671012898022060'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/234671012898022060'/><link rel='alternate' type='text/html' href='http://routerric.blogspot.com/2008/12/frts-versus-mqc-frts-part-ii.html' title='FRTS versus MQC FRTS - Part II'/><author><name>richsd1</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/--YOija8WuTM/TsAonUOe5wI/AAAAAAAAAPg/hT87gnDHaJg/s220/DSCN0197.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2418082835537995017.post-8309566030422737240</id><published>2008-12-18T08:40:00.000-08:00</published><updated>2008-12-18T22:41:29.252-08:00</updated><title type='text'>FRTS versus MQC FRTS - Part I</title><content type='html'>&lt;a href="http://3.bp.blogspot.com/_fmDP85Ew2Ek/SUp_vNEui6I/AAAAAAAAAGw/CPXpU_KF_kA/s1600-h/MQC+FRTS.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 261px;" src="http://3.bp.blogspot.com/_fmDP85Ew2Ek/SUp_vNEui6I/AAAAAAAAAGw/CPXpU_KF_kA/s400/MQC+FRTS.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5281173961985395618" /&gt;&lt;/a&gt;&lt;br /&gt;MQC FRTS (Modular Quallity Of Service Command Line Interface Frame Relay Traffic Shaping!) has become mainstream in IOS 12.4.  This enables FRTS to conform to the same MQC standard method of configuration.&lt;br /&gt;&lt;br /&gt;In the following example i use FRTS on the spoke routers with the equivalent MQC FRTS configuration on the hub router.&lt;br /&gt;&lt;br /&gt;Spoke Router Config&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;map-class frame-relay RICH&lt;br /&gt; frame-relay cir 768000&lt;br /&gt; frame-relay bc 7680&lt;br /&gt; frame-relay fair-queue&lt;br /&gt; frame-relay fragment 960&lt;br /&gt;&lt;br /&gt;interface Serial2/0&lt;br /&gt; frame-relay traffic-shaping&lt;br /&gt; frame-relay interface-dlci 405&lt;br /&gt;  class RICH&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Hub Router Config&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;policy-map SHAPE&lt;br /&gt;  class class-default&lt;br /&gt;   shape average 768000 7680 0&lt;br /&gt;&lt;br /&gt;interface Serial2/0.35 multipoint&lt;br /&gt; service-policy output SHAPE&lt;br /&gt;interface Serial2/0.54 multipoint&lt;br /&gt; service-policy output SHAPE&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Points of note&lt;br /&gt;1) For the shaping within MQC this requires the configuration to be done under the class class-default.   &lt;br /&gt;2) If required the class-default can reference another policy map, via the service-policy command. In this way CBWFQ or LLQ can also be introduced.&lt;br /&gt;3) the 'shape average 768000 7680' command equates to the 'frame-relay cir 768000' plus the 'frame-relay bc 7680' command.&lt;br /&gt;&lt;br /&gt;For verification use 'show traffic-shape' for FRTS and 'show policy-map' for MQC FRTS&lt;br /&gt;&lt;br /&gt;e.g.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;s traffic-shape&lt;br /&gt;&lt;br /&gt;Interface   Se2/0.35&lt;br /&gt;       Access Target    Byte   Sustain   Excess    Interval  Increment Adapt&lt;br /&gt;VC     List   Rate      Limit  bits/int  bits/int  (ms)      (bytes)   Active&lt;br /&gt;503           768000    6048   768000    0         63        6048      -&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;s policy-map int s2/0.54&lt;br /&gt;&lt;br /&gt; Serial2/0.54&lt;br /&gt;&lt;br /&gt;  Service-policy output: SHAPE&lt;br /&gt;&lt;br /&gt;    Class-map: class-default (match-any)&lt;br /&gt;      22 packets, 242 bytes&lt;br /&gt;      5 minute offered rate 0 bps, drop rate 0 bps&lt;br /&gt;      Match: any&lt;br /&gt;      Traffic Shaping&lt;br /&gt;           Target/Average   Byte   Sustain   Excess    Interval  Increment&lt;br /&gt;             Rate           Limit  bits/int  bits/int  (ms)      (bytes)&lt;br /&gt;           768000/768000    960    7680      0         10        960&lt;br /&gt;&lt;br /&gt;        Adapt  Queue     Packets   Bytes     Packets   Bytes     Shaping&lt;br /&gt;        Active Depth                         Delayed   Delayed   Active&lt;br /&gt;        -      0         22        242       0         0         no&lt;/strong&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2418082835537995017-8309566030422737240?l=routerric.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://routerric.blogspot.com/feeds/8309566030422737240/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2418082835537995017&amp;postID=8309566030422737240' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/8309566030422737240'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/8309566030422737240'/><link rel='alternate' type='text/html' href='http://routerric.blogspot.com/2008/12/frts-versus-mqc-frts.html' title='FRTS versus MQC FRTS - Part I'/><author><name>richsd1</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/--YOija8WuTM/TsAonUOe5wI/AAAAAAAAAPg/hT87gnDHaJg/s220/DSCN0197.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_fmDP85Ew2Ek/SUp_vNEui6I/AAAAAAAAAGw/CPXpU_KF_kA/s72-c/MQC+FRTS.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2418082835537995017.post-2725238836726581235</id><published>2008-12-12T21:53:00.000-08:00</published><updated>2008-12-12T22:04:47.973-08:00</updated><title type='text'>rip - neighbor filtering options</title><content type='html'>&lt;a href="http://1.bp.blogspot.com/_fmDP85Ew2Ek/SUNQL_KcezI/AAAAAAAAAGo/71YGt6HBID0/s1600-h/RIP.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 295px;" src="http://1.bp.blogspot.com/_fmDP85Ew2Ek/SUNQL_KcezI/AAAAAAAAAGo/71YGt6HBID0/s400/RIP.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5279151355072379698" /&gt;&lt;/a&gt;&lt;br /&gt;In the above topology i want R6 to only allow routes from R2. Similarly i want R2 to only allow routes from R6.&lt;br /&gt;&lt;br /&gt;To meet this requirement i use different methods on each router to achieve the same net result. Both methods require use of the distribute-list command.  &lt;br /&gt;&lt;br /&gt;On R6 i use and extended acl to first deny the RIP neighbors i do not require and allow the rest. On R2 i make use of the distribute-list gateway command in conjunction with a prefix-list to only allow the neighbors i require.   &lt;br /&gt;&lt;br /&gt;R6&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;router rip&lt;br /&gt; version 2&lt;br /&gt; network 54.0.0.0&lt;br /&gt; network 150.1.0.0&lt;br /&gt; network 204.12.1.0&lt;br /&gt; distribute-list 100 in&lt;br /&gt; no auto-summary&lt;br /&gt;!&lt;br /&gt;&lt;br /&gt;access-list 100 deny   ip host 54.1.7.254 any&lt;br /&gt;access-list 100 deny   ip host 204.12.1.254 any&lt;br /&gt;access-list 100 permit ip any any&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;R2&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;router rip&lt;br /&gt; version 2&lt;br /&gt; network 204.12.1.0&lt;br /&gt; distribute-list gateway RICH in&lt;br /&gt; no auto-summary&lt;br /&gt;!&lt;br /&gt;ip prefix-list RICH seq 5 permit 204.12.1.6/32&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;The IP prefix-list in the distribute-list gateway statement allows prefixes to be filtered as they are received based on the source of the update. This allows updates learned from BB3 to be denied, but still allows updates to be received from R6.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2418082835537995017-2725238836726581235?l=routerric.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://routerric.blogspot.com/feeds/2725238836726581235/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2418082835537995017&amp;postID=2725238836726581235' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/2725238836726581235'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/2725238836726581235'/><link rel='alternate' type='text/html' href='http://routerric.blogspot.com/2008/12/rip-neighbor-filtering-options.html' title='rip - neighbor filtering options'/><author><name>richsd1</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/--YOija8WuTM/TsAonUOe5wI/AAAAAAAAAPg/hT87gnDHaJg/s220/DSCN0197.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_fmDP85Ew2Ek/SUNQL_KcezI/AAAAAAAAAGo/71YGt6HBID0/s72-c/RIP.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2418082835537995017.post-8456700126848128646</id><published>2008-12-11T11:53:00.000-08:00</published><updated>2008-12-11T12:02:23.314-08:00</updated><title type='text'>Frame Relay - End to End Keepalives</title><content type='html'>&lt;a href="http://3.bp.blogspot.com/_fmDP85Ew2Ek/SUFxx_3Qt6I/AAAAAAAAAGg/xekWZzzhSaA/s1600-h/heartbeat.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 104px; height: 102px;" src="http://3.bp.blogspot.com/_fmDP85Ew2Ek/SUFxx_3Qt6I/AAAAAAAAAGg/xekWZzzhSaA/s400/heartbeat.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5278625342025676706" /&gt;&lt;/a&gt;&lt;br /&gt;Frame Relay keepalives allow end to end monitoring of a frame-relay circuit.   This enables the local DLCI status to represent the status of the end to end ciruit.&lt;br /&gt;&lt;br /&gt;To enable it has to be configured within a frame relay map-class - so its no good looking under the frame-relay sub interface!!&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;map-class frame-relay DLCI504&lt;br /&gt;frame-relay end-to-end keepalive request&lt;br /&gt;&lt;br /&gt;interface s2/0.54&lt;br /&gt;frame-relay class DLCI504&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;To verify use the command 'show frame-relay end-to-end keepalive'&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;End-to-end Keepalive Statistics for Interface Serial2/0 (Frame Relay DTE)&lt;br /&gt;&lt;br /&gt;DLCI = 504, DLCI USAGE = LOCAL, VC STATUS = ACTIVE (EEK UP)&lt;br /&gt;&lt;br /&gt;SEND SIDE STATISTICS&lt;br /&gt;&lt;br /&gt;Send Sequence Number: 91,       Receive Sequence Number: 255&lt;br /&gt;Configured Event Window: 3,     Configured Error Threshold: 2&lt;br /&gt;Total Observed Events: 111,     Total Observed Errors: 38&lt;br /&gt;Monitored Events: 0,            Monitored Errors: 0&lt;br /&gt;Successive Successes: 0,        End-to-end VC Status: UP&lt;/strong&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2418082835537995017-8456700126848128646?l=routerric.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://routerric.blogspot.com/feeds/8456700126848128646/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2418082835537995017&amp;postID=8456700126848128646' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/8456700126848128646'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/8456700126848128646'/><link rel='alternate' type='text/html' href='http://routerric.blogspot.com/2008/12/frame-relay-end-to-end-keepalives.html' title='Frame Relay - End to End Keepalives'/><author><name>richsd1</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/--YOija8WuTM/TsAonUOe5wI/AAAAAAAAAPg/hT87gnDHaJg/s220/DSCN0197.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_fmDP85Ew2Ek/SUFxx_3Qt6I/AAAAAAAAAGg/xekWZzzhSaA/s72-c/heartbeat.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2418082835537995017.post-4175444316573567408</id><published>2008-12-10T22:27:00.000-08:00</published><updated>2008-12-10T22:37:00.903-08:00</updated><title type='text'>IP Telephony</title><content type='html'>In this post an ip phone is attached to fa0/5 on a switch. The requirement is for the switch to mark the voice vlan as 10 and data as 100. The COS value from the phone should be trusted and the switch needs to instruct the phone to assign cos value of  1 to data.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;mls qos&lt;br /&gt;vlan 10&lt;br /&gt;&lt;br /&gt;int fa0/5&lt;br /&gt;switchport voice vlan 10&lt;br /&gt;switchport access vlan 100&lt;br /&gt;mls qos trust cos&lt;br /&gt;switchport priority extend cos 1&lt;/strong&gt;N.B. unlike data, when a voice vlan is assigned on an interface the vlan is NOT automatically created on the switch.&lt;br /&gt;N.B.B without any instruction, the cisco phone will mark all data packets with a COS value of 0.&lt;br /&gt;&lt;br /&gt;The necessary config for voice on a 3560 can be cribbed from the 'VOICE Vlan' section under the 3560 configuration guide.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2418082835537995017-4175444316573567408?l=routerric.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://routerric.blogspot.com/feeds/4175444316573567408/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2418082835537995017&amp;postID=4175444316573567408' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/4175444316573567408'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/4175444316573567408'/><link rel='alternate' type='text/html' href='http://routerric.blogspot.com/2008/12/ip-telephony.html' title='IP Telephony'/><author><name>richsd1</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/--YOija8WuTM/TsAonUOe5wI/AAAAAAAAAPg/hT87gnDHaJg/s220/DSCN0197.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2418082835537995017.post-5590156677872791329</id><published>2008-12-07T22:57:00.000-08:00</published><updated>2009-04-14T21:24:02.651-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='traffic filtering without an acl'/><title type='text'>Traffic Filtering - Without an ACL</title><content type='html'>There is a requirement for R2 to filter traffic to and from neighboring routers R1 and R3.  The catch however is that an ACL cannot be used.  An unlikely scenario in the real world, but there again something that may be thrown up in a CCIE lab.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;R1  ---------------(fa1/0) R2 (fa1/1)--------------- R3&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;To acheive this a service-policy can be used.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;class FROM_R1&lt;br /&gt;match input-interface fa1/0&lt;br /&gt;&lt;br /&gt;class FROM_R3&lt;br /&gt;match input-interface fa1/1&lt;br /&gt;&lt;br /&gt;policy-map TO_R1&lt;br /&gt;class FROM_R3&lt;br /&gt;drop&lt;br /&gt;&lt;br /&gt;policy-map TO_R3&lt;br /&gt;class FROM_R1&lt;br /&gt;drop&lt;br /&gt;&lt;br /&gt;int fa1/0&lt;br /&gt;service-policy output TO_R1&lt;br /&gt;&lt;br /&gt;int fa1/1&lt;br /&gt;service-policy output TO_R3&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Another scenario that might lead to use of a service policy to filter traffic is when an acl cannot be used in isolation to achieve the required filtering results.&lt;br /&gt;For example the requirement may be drop icmp echo and echo replies with a packet length between 300 and 350.&lt;br /&gt;&lt;br /&gt;This functionality cannot be achieved using an ACL alone: there is no way of matching on packet length in an acl.&lt;br /&gt;However packet length can be matched in a class map.&lt;br /&gt;&lt;br /&gt;Hence&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;ip access-list ext 101&lt;br /&gt;permit icmp any any echo&lt;br /&gt;permit icmp any any echo-reply&lt;br /&gt;&lt;br /&gt;class-map match-all ICMP&lt;br /&gt;match access-group 101&lt;br /&gt;match packet length min 300 max 250&lt;br /&gt;&lt;br /&gt;policy-map ICMP&lt;br /&gt;class ICMP&lt;br /&gt;drop&lt;br /&gt;&lt;br /&gt;int fa0/0&lt;br /&gt;service-policy input ICMP&lt;br /&gt;service-policy output ICMP&lt;/strong&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2418082835537995017-5590156677872791329?l=routerric.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://routerric.blogspot.com/feeds/5590156677872791329/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2418082835537995017&amp;postID=5590156677872791329' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/5590156677872791329'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2418082835537995017/posts/default/5590156677872791329'/><link rel='alternate' type='text/html' href='http://routerric.blogspot.com/2008/12/traffic-filtering-without-acl.html' title='Traffic Filtering - Without an ACL'/><author><name>richsd1</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/--YOija8WuTM/TsAonUOe5wI/AAAAAAAAAPg/hT87gnDHaJg/s220/DSCN0197.JPG'/></author><thr:total>0</thr:total></entry></feed>
