<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>A New Paradigm in an Old Dog&#039;s World</title>
	<atom:link href="http://iproute.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://iproute.wordpress.com</link>
	<description>Networking and Other General Geekery</description>
	<lastBuildDate>Wed, 04 Jan 2012 22:40:24 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='iproute.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>A New Paradigm in an Old Dog&#039;s World</title>
		<link>http://iproute.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://iproute.wordpress.com/osd.xml" title="A New Paradigm in an Old Dog&#039;s World" />
	<atom:link rel='hub' href='http://iproute.wordpress.com/?pushpress=hub'/>
		<item>
		<title>IRSSI + Mac OSX + Growl Notifications</title>
		<link>http://iproute.wordpress.com/2011/12/05/irssi-mac-osx-growl-notifications/</link>
		<comments>http://iproute.wordpress.com/2011/12/05/irssi-mac-osx-growl-notifications/#comments</comments>
		<pubDate>Mon, 05 Dec 2011 23:31:16 +0000</pubDate>
		<dc:creator>iproute</dc:creator>
				<category><![CDATA[Off-Topic]]></category>
		<category><![CDATA[Growl]]></category>
		<category><![CDATA[irssi]]></category>
		<category><![CDATA[OSX]]></category>

		<guid isPermaLink="false">http://iproute.wordpress.com/?p=36</guid>
		<description><![CDATA[use growl to get notified of new irssi messages<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=iproute.wordpress.com&amp;blog=4554607&amp;post=36&amp;subd=iproute&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>OK, this may be a little off topic, but I thought it was kind of neat. I recently started using <a title="bitlbee" href="http://www.bitlbee.org/" target="_blank">bitlbee</a> again (I stopped due to missing features/support when I last looked at it, but it has come a long way it seems, plus there are public IPv6 servers now!)  So, the primary thing I found missing from this, if I was to stop using ichat, was good notification of new messages.  So&#8230; after a little searching, I found <a href="http://matthewhutchinson.net/2010/8/21/irssi-screen-fnotify-and-growl-on-osx" target="_blank">this post</a> at Matt Hutchinson&#8217;s blog.  He&#8217;s doing this on a remote server, which is fine, but I run irssi locally, and don&#8217;t really care to leave it idling when I&#8217;m not on the computer, since I&#8217;m never going to go through backlog, so&#8230;  I did a few things differently:</p>
<p>1.Installed fnotify irssi script:</p>
<pre>cd ~/.irssi/scripts

wget --no-check-certificate -O- "https://gist.github.com/gists/542141/download" | tar -zxvf -

mv */fnotify.pl .

ln -s ~/.irssi/scripts/fnotify.pl autorun</pre>
<p>2. Installed <a href="http://growl.info/" target="_blank">Growl</a> and <a href="http://growl.info/extras.php" target="_blank">growlnotifiy</a>.</p>
<p>3. Update ~/.irssi/config with bitlbee server info:</p>
<pre>servers = (

{ address = "2001:470:dc2e:5::1"; chatnet = "bitlbee"; port = "6667"; }

{ address = "godzilla.everdot.org"; chatnet = "bitlbee"; port = "6667"; }

}

chatnets = {

bitlbee = {

type = "IRC";

### the next line acts as an autoconnect function to the IM gateway bitlbee

autosendcmd = "/^msg -bitlbee &amp;bitlbee identify PASSWORD; wait -bitlbee 2000";

};

}</pre>
<p>3. Grab a nice irssi png</p>
<pre>wget -O ~/.irssi/irssi-icon.png "http://blog.ufsoft.org/_uploads/irssi.png"</pre>
<p>4. Update ~/.bash_alias file with a new function called &#8216;chat&#8217; which will watch the ~/.irssi/fnotify file and push new messages to growl:</p>
<pre> function chat { if [[ $( ps aux | grep -v grep | grep "tail -f .*fnotify" ) ]]; then echo Growl running; else echo &gt; ~/.irssi/fnotify; tail -f ~/.irssi/fnotify |  while read; do growlnotify --image ~/.irssi/irssi-icon.png -m "$REPLY"; echo $REPLY | cut -f1-10 -d" " | say; done &amp; fi; irssi -c godzilla.everdot.org;  }</pre>
<p>The &#8216;cut -f1-10&#8242; portion limits the amount sent to &#8216;say&#8217; to the first 10 words. Adjust to your personal preference.</p>
<p>5. Open a new terminal (to source the ~/.bash_aliases file) and run the function to launch the watch process and irssi and connect to bitlbee.</p>
<p>I typically run two instances of irssi. One for irc, and the second for bitlbee. Neat thing about this, is once that watcher process is running, it will alert you to any hilights or private messages. Very cool.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/iproute.wordpress.com/36/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/iproute.wordpress.com/36/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/iproute.wordpress.com/36/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/iproute.wordpress.com/36/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/iproute.wordpress.com/36/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/iproute.wordpress.com/36/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/iproute.wordpress.com/36/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/iproute.wordpress.com/36/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/iproute.wordpress.com/36/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/iproute.wordpress.com/36/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/iproute.wordpress.com/36/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/iproute.wordpress.com/36/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/iproute.wordpress.com/36/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/iproute.wordpress.com/36/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=iproute.wordpress.com&amp;blog=4554607&amp;post=36&amp;subd=iproute&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://iproute.wordpress.com/2011/12/05/irssi-mac-osx-growl-notifications/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6dff9f9f0278d8372654cc5ea9098d00?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">iproute</media:title>
		</media:content>
	</item>
		<item>
		<title>Traceroute</title>
		<link>http://iproute.wordpress.com/2011/11/15/traceroute/</link>
		<comments>http://iproute.wordpress.com/2011/11/15/traceroute/#comments</comments>
		<pubDate>Tue, 15 Nov 2011 21:56:17 +0000</pubDate>
		<dc:creator>iproute</dc:creator>
				<category><![CDATA[Service Provider]]></category>
		<category><![CDATA[Troubleshooting]]></category>

		<guid isPermaLink="false">http://iproute.wordpress.com/?p=29</guid>
		<description><![CDATA[OK, I know this is a little rudimentary, but&#8230; it seems to come up a lot.  Simply put, traceroutes that result in the last hop showing low latency and no packet loss, have no latency or packet loss along the way, regardless of what the traceroute shows.  I&#8217;ve seen a lot of escalations trying to troubleshoot [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=iproute.wordpress.com&amp;blog=4554607&amp;post=29&amp;subd=iproute&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>OK, I know this is a little rudimentary, but&#8230; it seems to come up a lot.  Simply put, traceroutes that result in the last hop showing low latency and no packet loss, <strong>have no latency or packet loss along the way</strong>, regardless of what the traceroute shows.  I&#8217;ve seen a lot of escalations trying to troubleshoot why the 3rd router in a 10 hop traceroute is not responding, or has a high ping, but the end to end is low and consistent.  Below is a little powerpoint I put together, to help illustrate how traceroute works, in the interest of getting people to stop chasing wild geese.  I hope it helps you explain this relatively straight forward concept:</p>
<span style="text-align:center; display: block;"><a href="http://iproute.wordpress.com/2011/11/15/traceroute/"><img src="http://img.youtube.com/vi/qZiBwsdh5Bg/2.jpg" alt="" /></a></span>
<p><a href="http://iproute.files.wordpress.com/2011/11/traceroute.pptx">traceroute.pptx</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/iproute.wordpress.com/29/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/iproute.wordpress.com/29/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/iproute.wordpress.com/29/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/iproute.wordpress.com/29/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/iproute.wordpress.com/29/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/iproute.wordpress.com/29/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/iproute.wordpress.com/29/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/iproute.wordpress.com/29/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/iproute.wordpress.com/29/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/iproute.wordpress.com/29/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/iproute.wordpress.com/29/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/iproute.wordpress.com/29/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/iproute.wordpress.com/29/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/iproute.wordpress.com/29/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=iproute.wordpress.com&amp;blog=4554607&amp;post=29&amp;subd=iproute&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://iproute.wordpress.com/2011/11/15/traceroute/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6dff9f9f0278d8372654cc5ea9098d00?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">iproute</media:title>
		</media:content>
	</item>
		<item>
		<title>JUNOScript &#8211; First attempt</title>
		<link>http://iproute.wordpress.com/2009/09/23/junoscript-first-attempt/</link>
		<comments>http://iproute.wordpress.com/2009/09/23/junoscript-first-attempt/#comments</comments>
		<pubDate>Wed, 23 Sep 2009 18:45:28 +0000</pubDate>
		<dc:creator>iproute</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[commit script]]></category>
		<category><![CDATA[interface]]></category>
		<category><![CDATA[Junoscript]]></category>
		<category><![CDATA[slax]]></category>

		<guid isPermaLink="false">http://iproute.wordpress.com/?p=16</guid>
		<description><![CDATA[So, there are many things that make Junos very robust and flexible.  One of the more rarely used, and more powerful is the built in scripting capabilities.  We&#8217;ve found a couple of situations where a script would come in very handy. By default, Juniper routers have all interfaces in an admin up state.  This is [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=iproute.wordpress.com&amp;blog=4554607&amp;post=16&amp;subd=iproute&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>So, there are many things that make Junos very robust and flexible.  One of the more rarely used, and more powerful is the built in scripting capabilities.  We&#8217;ve found a couple of situations where a script would come in very handy.</p>
<ol>
<li>By default, Juniper routers have all interfaces in an admin up state.  This is great, except for the fact that our NMS alarms on any interface that is admin up, but down, so this kicks off all kinds of alarms</li>
<li>Every GigE port in our network has a single vlan that is used for management, and must be &#8216;bridged&#8217; together.  Its really common to forget to add a newly configured interface to the bridge-group.</li>
</ol>
<h2>Interface-disable.slax</h2>
<p>We&#8217;ve got this great script we&#8217;ve been using that transitively disables any unconfigured interface.  While I think its excellent to admin up interfaces by default, most NMS&#8217;s assume there is a problem with an interface in up/down status, so in order to avoid alarms, we&#8217;ve been using this script:</p>
<pre>
/*
 * This script transiently disables all unconfigured ge interfaces.
 */

version 1.0;

ns junos = "http://xml.juniper.net/junos/*/junos";
ns xnm = "http://xml.juniper.net/xnm/1.1/xnm";
ns jcs = "http://xml.juniper.net/junos/commit-scripts/1.0";

import "../import/junos.xsl";

match configuration {

    /* Get the current interface list  */
    var $interfaces = jcs:invoke( "get-interface-information" );

    /* Only ge and xe interfaces */
    var $ge-interfaces = $interfaces/physical-interface[starts-with(name, "ge-") or starts-with(name, "xe-")];

    var $interface-hierarchy = interfaces;

    /* Go through each ge interface, if it isn't within the configuration than transiently disable it */
    for-each( $ge-interfaces ) {

        if( jcs:empty( $interface-hierarchy/interface[name == current()/name ] ) ) {
            &lt;transient-change&gt; {
                &lt;interfaces&gt; {
                    &lt;interface&gt; {
                        &lt;name&gt; name;
                        &lt;disable&gt;;
                    }
                }
            }
        }
    }
}</pre>
<p>This works really well, with one exception.  After a power failure, the transient change is lost, and all unconfigured interfaces are in up/down status until someone logs in and does a commit.  While I enjoy the clean looking config the transitive solution offers, we&#8217;ve had a need to ensure this initial alarming doesn&#8217;t happen, which means we need to change the config non-transitively.</p>
<p>Below is the config I will apply (I use the group so during configuration later, all child units are also disabled, which has more to do with our internal processes than anything technical) to each interface.</p>
<pre>
interfaces {
    &lt;*&gt; {
        disable;
        unit &lt;*&gt; {
            disable;
        }
    }
}

interfaces {

    ge-0/0/0 {

        apply-groups DISABLEIF;

    }

}</pre>
<p>Here is the non-transitive script to use that will apply the DISABLEIF group to each interface:</p>
<pre>
<pre>/*
 * This script disables all unconfigured ge interfaces.
 */

version 1.0;

ns junos = "http://xml.juniper.net/junos/*/junos";
ns xnm = "http://xml.juniper.net/xnm/1.1/xnm";
ns jcs = "http://xml.juniper.net/junos/commit-scripts/1.0";

import "../import/junos.xsl";

match configuration {

    /* Get the current interface list  */
    var $interfaces = jcs:invoke( "get-interface-information" );

    /* Only ge and xe interfaces */
    var $ge-interfaces = $interfaces/physical-interface[starts-with(name, "ge-") or starts-with(name, "xe-")];

    var $interface-hierarchy = interfaces;

    /* Go through each ge interface, if it isn't within the configuration than apply-group DISABLEIF */
    for-each( $ge-interfaces ) {

        if( jcs:empty( $interface-hierarchy/interface[name == current()/name ] ) ) {
	     &lt;xnm:warning&gt; {
		&lt;message&gt; "Disabling unconfigured interface: " _ name;
	     }
	     &lt;change&gt; {
                &lt;interfaces&gt; {
                    &lt;interface&gt; {
                        &lt;name&gt; name;
                        &lt;apply-groups&gt; "DISABLEIF";
                    }
                }
	     }
        }
    }</pre>
</pre>
<p>}</p>
<p>You&#8217;ll have to store this file on the router&#8217;s hard drive in /var/db/scripts/commit/</p>
<p>Of course, you must tell your router to run this script on each commit:</p>
<pre>set system script commit file "interface-disable.slax"</pre>
<p>I&#8217;ll cover the bridge-domain update in another post!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/iproute.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/iproute.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/iproute.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/iproute.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/iproute.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/iproute.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/iproute.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/iproute.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/iproute.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/iproute.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/iproute.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/iproute.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/iproute.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/iproute.wordpress.com/16/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=iproute.wordpress.com&amp;blog=4554607&amp;post=16&amp;subd=iproute&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://iproute.wordpress.com/2009/09/23/junoscript-first-attempt/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6dff9f9f0278d8372654cc5ea9098d00?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">iproute</media:title>
		</media:content>
	</item>
		<item>
		<title>SSH Errors when connecting to a Juniper Netscreen SSG5-GT</title>
		<link>http://iproute.wordpress.com/2009/06/04/ssh-errors-when-connecting-to-a-juniper-netscreen-ssg5-gt/</link>
		<comments>http://iproute.wordpress.com/2009/06/04/ssh-errors-when-connecting-to-a-juniper-netscreen-ssg5-gt/#comments</comments>
		<pubDate>Thu, 04 Jun 2009 17:06:28 +0000</pubDate>
		<dc:creator>iproute</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Juniper]]></category>
		<category><![CDATA[Netscreen]]></category>
		<category><![CDATA[SSH]]></category>

		<guid isPermaLink="false">http://iproute.wordpress.com/2009/06/04/ssh-errors-when-connecting-to-a-juniper-netscreen-ssg5-gt/</guid>
		<description><![CDATA[Recently, I started working with Netscreens, which I haven&#8217;t done for 10 years or so. Things have changed a bit. As I&#8217;m learning ScreenOS, and trying to get around and configure these things, I&#8217;m getting really aggravated because while I&#8217;m RTFM&#8217;ing, the ssh session keeps disconnecting with this error: buffer_get_ret: trying to get more bytes [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=iproute.wordpress.com&amp;blog=4554607&amp;post=13&amp;subd=iproute&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Recently, I started working with Netscreens, which I haven&#8217;t done for 10 years or so. Things have changed a bit. As I&#8217;m learning ScreenOS, and trying to get around and configure these things, I&#8217;m getting really aggravated because while I&#8217;m RTFM&#8217;ing, the ssh session keeps disconnecting with this error:</p>
<blockquote><p>buffer_get_ret: trying to get more bytes 4 than in buffer 0<br />
buffer_get_int: buffer error</p></blockquote>
<p>It only seems to happen after a very short period of inactivity though. Highly reproducible, and seems to happen from all my OSX clients I&#8217;ve tried. So, I try from a ubuntu box, and it doesn&#8217;t happen, which leads me to evaluate what is different between the two. Both are running the same OpenSSH version, but a different OpenSSL version. Oh, and the Ubuntu config is a stock vanilla config, while the OSX boxes all have a custom ~/.ssh/config that is used to set usernames and a few ssh options to make my life easier.</p>
<p>So, I renamed ~/.ssh/ on a OSX box, and the problem vanishes! This tells me it has to do with my ssh config. After a bit of troubleshooting, I isolated the problem in this portion of my ~/.ssh/config file:</p>
<blockquote><p>Host *<br />
ServerAliveInterval 30</p></blockquote>
<p>I use this command to keep from timing out on SSH servers that boot you for inactivity. It works fine for all the servers I&#8217;ve used, until now. Apparently when the SSH client detects 30 seconds of inactivity, it sends some sort of stay alive message, which the Netscreen fails to handle and decides to immediately disconnect.</p>
<p>To work around this, set this value to 0 (to disable) on your Netscreen hosts in the ~/.ssh/config file:</p>
<blockquote><p>Host vpn*<br />
ServerAliveInterval 0</p></blockquote>
<p>All my Netscreens are in my hostfile and begin with vpn-</p>
<p>You need to put the hostname, IP address with or without the asterisk wildcard for your situation.</p>
<p>Hope you found this helpful. I was unable to find ANYTHING on the net that explains this.</p>
<p>EDIT: Michael Newton has had success in adding the following options as well to the Host entry in the ssh config:</p>
<blockquote><p>Host ns5gt<br />
TCPKeepAlive no<br />
ServerAliveInterval 0<br />
HostKeyAlgorithms ssh-dss</p></blockquote>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/iproute.wordpress.com/13/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/iproute.wordpress.com/13/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/iproute.wordpress.com/13/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/iproute.wordpress.com/13/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/iproute.wordpress.com/13/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/iproute.wordpress.com/13/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/iproute.wordpress.com/13/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/iproute.wordpress.com/13/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/iproute.wordpress.com/13/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/iproute.wordpress.com/13/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/iproute.wordpress.com/13/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/iproute.wordpress.com/13/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/iproute.wordpress.com/13/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/iproute.wordpress.com/13/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=iproute.wordpress.com&amp;blog=4554607&amp;post=13&amp;subd=iproute&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://iproute.wordpress.com/2009/06/04/ssh-errors-when-connecting-to-a-juniper-netscreen-ssg5-gt/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6dff9f9f0278d8372654cc5ea9098d00?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">iproute</media:title>
		</media:content>
	</item>
		<item>
		<title>EVPL vs E-TREE</title>
		<link>http://iproute.wordpress.com/2009/04/10/evpl-etree/</link>
		<comments>http://iproute.wordpress.com/2009/04/10/evpl-etree/#comments</comments>
		<pubDate>Fri, 10 Apr 2009 18:00:10 +0000</pubDate>
		<dc:creator>iproute</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[etree]]></category>
		<category><![CDATA[mef]]></category>
		<category><![CDATA[vpls]]></category>

		<guid isPermaLink="false">http://iproute.wordpress.com/?p=6</guid>
		<description><![CDATA[Just finished watching a MEF webcast on ethernet backhaul for mobile wireless. While this is interesting, MEF (as always) doesn’t give you any technical details about how it can be done.  Its refreshing to see that what I&#8217;ve been working on is 100% in line with MEF’s vague standards.  On another note, I noticed that [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=iproute.wordpress.com&amp;blog=4554607&amp;post=6&amp;subd=iproute&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Just finished watching a <a href="http://en.support.wordpress.com/affiliate-links/">MEF webcast on ethernet backhaul for mobile wireless</a>.</p>
<p>While this is interesting, MEF (as always) doesn’t give you any technical details about how it can be done.  Its refreshing to see that what I&#8217;ve been working on is 100% in line with MEF’s vague standards.  <img src='http://s1.wp.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>On another note, I noticed that they are starting to more predominantly use the term ETREE instead of EVPL.  They should pick one and stick to it.  Also, the diagram for EVPL/ETREE uses a ‘Ethernet LAN’ symbol with dotted lines showing the ‘ROOT’ and ‘LEAF’ relationships.  Seems to me they expect EVPL to be a LAN with some mechanism to prevent LEAVES from seeing one another.</p>
<p>This deviates from what I&#8217;ve seen most folks do.  The problem I&#8217;ve seen with the EVPL/ETREE service, is most folks approach the problem by stacking multiple EVC&#8217;s on the same trunk handoff to a customer.  This breaks transparency and requires tag coordination w/the customer, and breaks L2protocol tunneling, and just causes general headaches for everyone involved.</p>
<p>I thought of an illustration of how to accomplish this at L2 that would help the engineers with more L2 experience.</p>
<p>Its essentially the same notion as Private VLAN’s (the community port is the root, and pvlan ports are leaves)</p>
<div id="attachment_7" class="wp-caption aligncenter" style="width: 430px"><img class="size-full wp-image-7" title="Roots and Leaves" src="http://iproute.files.wordpress.com/2009/04/leaves.png?w=500" alt="Roots and Leaves"   /><p class="wp-caption-text">Roots and Leaves</p></div>
<p>So, the idea is if the root sends a unknown unicast frame, the switch will tag it with 20 (incoming/outgoing in the diagram is from the switch port’s perspective).  20 can be accepted at the other root, and each of the leafs, so this frame will be flooded at all ports.</p>
<p>If a leaf sends an unknown unicast frame, the switch will tag it with 10.  The switch is configured to send VLAN 10 ONLY to the root ports, so this frame will be flooded at the two ROOT ports, and NOT the leaf ports.</p>
<p>The same principle applies to how we do this using VPLS on the Junipers.  The difference is we’re using the VRF-target to control what traffic is being sent to.  Using the same ID’s for the diagram above, for VPLS with a single root we’d do:</p>
<p>routing-instances Acme {<br />
// Root<br />
export target:11427:10;<br />
// Leaf<br />
import target:11427:20;<br />
}</p>
<p>With multiple roots, it gets a little more complex if you want roots to speak to one another:</p>
<p>policy-options {<br />
//first we define a policy that will bgp tag traffic leaving the root<br />
policy-statement CUST-Acme_EXPORT {<br />
term 1 {<br />
from protocol bgp;<br />
then {<br />
community add CUST-Acme_Roots;<br />
}<br />
}<br />
term 2 {<br />
then reject;<br />
}<br />
then accept;<br />
}<br />
//next a policy that matches traffic from the other root and leaves (for a leaf site, we&#8217;d remove the &#8216;Leafs&#8217; community here)<br />
policy-statement CUST-Acme_IMPORT {<br />
term 1 {<br />
from {<br />
protocol bgp;<br />
community [ CUST-Acme_Leafs CUST-Acme_Roots ];<br />
}<br />
}</p>
<p>}<br />
community CUST_Acme_Roots members 123:10;<br />
community CUST_Acme_Leafs members 123:20;<br />
}<br />
routing-instances Acme {<br />
instance-type vpls;<br />
interface ge-0/0/0.200<br />
no-local-switching;<br />
vrf-import CUST-Acme_IMPORT;<br />
vrf-export CUST-Acme_EXPORT;<br />
protocols {<br />
vpls {<br />
vpls-id 1234;<br />
}<br />
}<br />
}</p>
<p>All, very fun stuff and very flexible.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/iproute.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/iproute.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/iproute.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/iproute.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/iproute.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/iproute.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/iproute.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/iproute.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/iproute.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/iproute.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/iproute.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/iproute.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/iproute.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/iproute.wordpress.com/6/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=iproute.wordpress.com&amp;blog=4554607&amp;post=6&amp;subd=iproute&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://iproute.wordpress.com/2009/04/10/evpl-etree/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6dff9f9f0278d8372654cc5ea9098d00?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">iproute</media:title>
		</media:content>

		<media:content url="http://iproute.files.wordpress.com/2009/04/leaves.png" medium="image">
			<media:title type="html">Roots and Leaves</media:title>
		</media:content>
	</item>
		<item>
		<title>Philosophy</title>
		<link>http://iproute.wordpress.com/2008/08/19/philosophy/</link>
		<comments>http://iproute.wordpress.com/2008/08/19/philosophy/#comments</comments>
		<pubDate>Tue, 19 Aug 2008 20:18:35 +0000</pubDate>
		<dc:creator>iproute</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Rambling]]></category>

		<guid isPermaLink="false">http://iproute.wordpress.com/?p=3</guid>
		<description><![CDATA[Well, this notion of &#8216;blogging&#8217; isn&#8217;t unfamiliar to me, but I&#8217;m certainly not experienced with it, so hang in there.  It&#8217;ll get better with time.  I intend to focus this primarily on Network Engineering, which is a topic I really love.  Coincidentally, I get paid to think about this stuff, so technically I&#8217;m a professional.  [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=iproute.wordpress.com&amp;blog=4554607&amp;post=3&amp;subd=iproute&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Well, this notion of &#8216;blogging&#8217; isn&#8217;t unfamiliar to me, but I&#8217;m certainly not experienced with it, so hang in there.  It&#8217;ll get better with time.  I intend to focus this primarily on Network Engineering, which is a topic I really love.  Coincidentally, I get paid to think about this stuff, so technically I&#8217;m a professional.  In reality though, I know that I understand a fraction of what is out there.  I hope to share my fraction in an effort to strengthen my own understanding, and I encourage you to reciprocate with ideas and knowledge you have that may compliment.</p>
<p><span id="more-3"></span></p>
<p>The interesting thing about this trade, is there is litterally a hundred approaches to every design.  Everyone has a different approach and its always interesting discussing them to try and aggregate the best features of each approach.  As engineers we seem to adopt certain ideas, that drive us to the approach that we start with.  I often call these ideas matters of &#8216;religion&#8217;, but it is probably more appropriate to refer to them as &#8216;philosphy.&#8217;</p>
<p>Some basic ideas that I tend to base my own engineering philosophy reflect how I want to live my life.</p>
<ul>
<li><strong>Transparency</strong> &#8211; The notion of <a href="http://en.wikipedia.org/wiki/Security_through_obscurity" target="_blank">&#8216;security through obscurity&#8217; </a>is something that doesn&#8217;t set well with me.  I recently tried to explain this to a friend when we went into a hamburger joint that has glass up between the main kitchen and the dining room.  You see them forming patties with fresh ground chuck, and all the veggies fresh and nice and lined up in refridgerators with glass doors.  Transparency fosters accountability and encourages you to &#8216;do the right thing&#8217; constantly.</li>
<li><strong>Integrity &#8211; </strong>Whatever you build, you need to make sure it has a good base.  You don&#8217;t pour a foundation for a house that is just deep enough to make a good patio, then add a house on it later.  Or worse, add a second story.  Plan ahead, and make it strong!</li>
<li><strong>Accountability &#8211; </strong>Create good processes that include audits.  Doublechecking each other&#8217;s work will minimize oversights, and in many cases catch a problem before it becomes one!</li>
</ul>
<p>Hopefully, you&#8217;ll see a post about MEF, VPLS, or something less &#8216;mushy&#8217; in the next few weeks.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/iproute.wordpress.com/3/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/iproute.wordpress.com/3/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/iproute.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/iproute.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/iproute.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/iproute.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/iproute.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/iproute.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/iproute.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/iproute.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/iproute.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/iproute.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/iproute.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/iproute.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/iproute.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/iproute.wordpress.com/3/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=iproute.wordpress.com&amp;blog=4554607&amp;post=3&amp;subd=iproute&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://iproute.wordpress.com/2008/08/19/philosophy/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6dff9f9f0278d8372654cc5ea9098d00?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">iproute</media:title>
		</media:content>
	</item>
	</channel>
</rss>
