<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Aaron&#039;s Worthless Words &#187; etherchannel</title>
	<atom:link href="http://aconaway.com/tag/etherchannel/feed/" rel="self" type="application/rss+xml" />
	<link>http://aconaway.com</link>
	<description>It&#039;s possible that someone somewhere needs to see this.</description>
	<lastBuildDate>Fri, 10 Feb 2012 02:36:56 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.4</generator>
		<item>
		<title>Stubby Post &#8211; Cabling and EtherChannel</title>
		<link>http://aconaway.com/2010/09/13/stubby-post-cabling-and-etherchannel/</link>
		<comments>http://aconaway.com/2010/09/13/stubby-post-cabling-and-etherchannel/#comments</comments>
		<pubDate>Mon, 13 Sep 2010 17:46:38 +0000</pubDate>
		<dc:creator>Aaron Conaway</dc:creator>
				<category><![CDATA[cisco]]></category>
		<category><![CDATA[bundle]]></category>
		<category><![CDATA[cdp]]></category>
		<category><![CDATA[etherchannel]]></category>

		<guid isPermaLink="false">http://aconaway.com/?p=1031</guid>
		<description><![CDATA[Make sure your cables are where you think they are before turning up a new EtherChannel bundle.]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve done it.  You&#8217;ve done it.  We&#8217;ve all done it.  You turn up another EtherChannel bundle and realize the hard way that your interface descriptions aren&#8217;t accurate.  Or you&#8217;ve swapped out a <a href="http://aconaway.com/2010/08/30/catalyst-3750s-bad-luck-with-a-cisco-logo/">piece-of-crap 3750</a> and didn&#8217;t notice that the labels on the cables were wrong.  In either case, we all know that EtherChannel bundles don&#8217;t really work if the links aren&#8217;t plugged into the right switches.</p>
<p>So, what do you to make sure that your links are cabled the way you think they are?  Personally, I don&#8217;t trust any label at all &#8211; no matter if I did it or not.  At some point, someone has changed something on a switch, and that just might have been a change to where the port is question is cabled.  If I was onsite, I would hand-trace the cabling from one end to the other then do it again to make sure I didn&#8217;t hose it up the first time.  The big problem with this technique is that I&#8217;m not everywhere at the same time, and the travel budget isn&#8217;t very big these days.  If I can&#8217;t get my hands on the cables, I relegate myself to using CDP to see what&#8217;s on the other end of links when putting ports into EtherChannel bundles.</p>
<p>For the cases of adding a new bundle, I will configure the individual ports, cable them up, make sure they go to the same switch, then configure the channel group.  In cases where you do a swap, you already have the config applied, so it&#8217;s a matter of verifying everything was cabled correctly.  A quick <em>show cdp neighbor</em> will show you where the other ends of cables are and let you know if there&#8217;s a problem before users start complaining.  A problem already exists, mind you, but you can fix it quickly if you look at CDP.  Let&#8217;s hope the misconfigured bundle isn&#8217;t between you and the switch, though, or you may be SOL.</p>
<p>Send any <span style="text-decoration: line-through;">mislabled ports</span> questions my way.</p>
<div class="wp-about-author-containter-around" style="background-color:#ffffff;"><div class="wp-about-author-pic"><img alt='' src='http://1.gravatar.com/avatar/14352aa939196349e4b9f2a272ca5112?s=100&amp;d=&amp;r=G' class='avatar avatar-100 photo' height='100' width='100' /></div><div class="wp-about-author-text"><h3><a href='http://aconaway.com/author/jac/' title='Aaron Conaway'>Aaron Conaway</a></h3><p>I like to lean my head to the left, hit it with the palm of my right hand, and document what knowledge falls out.</p><p><a href='http://aconaway.com' title='Aaron Conaway'>Website</a> - <a href='http://aconaway.com/author/jac/' title='More posts by Aaron Conaway'>More Posts</a> </p></div></div>]]></content:encoded>
			<wfw:commentRss>http://aconaway.com/2010/09/13/stubby-post-cabling-and-etherchannel/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Stubby Post &#8211; Path Cost of EtherChannels</title>
		<link>http://aconaway.com/2010/04/26/stubby-post-path-cost-of-etherchannels/</link>
		<comments>http://aconaway.com/2010/04/26/stubby-post-path-cost-of-etherchannels/#comments</comments>
		<pubDate>Tue, 27 Apr 2010 02:08:11 +0000</pubDate>
		<dc:creator>Aaron Conaway</dc:creator>
				<category><![CDATA[ccnp]]></category>
		<category><![CDATA[switch]]></category>
		<category><![CDATA[645-813]]></category>
		<category><![CDATA[cost]]></category>
		<category><![CDATA[etherchannel]]></category>
		<category><![CDATA[path]]></category>
		<category><![CDATA[spanning tree]]></category>
		<category><![CDATA[stp]]></category>

		<guid isPermaLink="false">http://aconaway.com/?p=702</guid>
		<description><![CDATA[A quick observation the STP path costs and EtherChannels]]></description>
			<content:encoded><![CDATA[<p>I was doing some STP labs tonight and found something that caught me off guard a bit.  I had been meddling with some EtherChannels between a pair of 3750s earlier today, and I forgot to reset the configs before starting on the STP stuff.  One my secondary root switch, I ran a <em>show spanning-tree vlan 1</em> to see what status the ports were in, and I noticed the root path cost.</p>
<blockquote>
<pre>VLAN0001
  Spanning tree enabled protocol ieee
  Root ID    Priority    24577
             Address     001b.d4fa.bb00
             Cost        12</pre>
</blockquote>
<p>This switch is directly connected to the root bridge via a pair of EtherChanneled FastEthernets, so I just assumed I&#8217;d get a cost of 19.  I surely didn&#8217;t expect a cost of 12.  I added a third interface to the channel-group and wound up with this.</p>
<blockquote>
<pre>VLAN0001
  Spanning tree enabled protocol ieee
  Root ID    Priority    24577
             Address     001b.d4fa.bb00
             Cost        9</pre>
</blockquote>
<p>Obviously there&#8217;s some internal math going on with the EtherChannel and STP.  Guess what happens when I add a fourth link?</p>
<blockquote>
<pre>VLAN0001
  Spanning tree enabled protocol ieee
  Root ID    Priority    24577
             Address     001b.d4fa.bb00
             Cost        8</pre>
</blockquote>
<p>It&#8217;s interesting to see how the path cost changes in a way to seems disproportionate to the bandwidth.</p>
<p>Send any new math formulae comments this way.</p>
<div class="wp-about-author-containter-around" style="background-color:#ffffff;"><div class="wp-about-author-pic"><img alt='' src='http://1.gravatar.com/avatar/14352aa939196349e4b9f2a272ca5112?s=100&amp;d=&amp;r=G' class='avatar avatar-100 photo' height='100' width='100' /></div><div class="wp-about-author-text"><h3><a href='http://aconaway.com/author/jac/' title='Aaron Conaway'>Aaron Conaway</a></h3><p>I like to lean my head to the left, hit it with the palm of my right hand, and document what knowledge falls out.</p><p><a href='http://aconaway.com' title='Aaron Conaway'>Website</a> - <a href='http://aconaway.com/author/jac/' title='More posts by Aaron Conaway'>More Posts</a> </p></div></div>]]></content:encoded>
			<wfw:commentRss>http://aconaway.com/2010/04/26/stubby-post-path-cost-of-etherchannels/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>BCMSN Notes &#8211; EtherChannel Distribution</title>
		<link>http://aconaway.com/2009/06/23/bcmsn-notes-etherchannel-distribution/</link>
		<comments>http://aconaway.com/2009/06/23/bcmsn-notes-etherchannel-distribution/#comments</comments>
		<pubDate>Tue, 23 Jun 2009 17:51:22 +0000</pubDate>
		<dc:creator>Aaron Conaway</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[bcmsn]]></category>
		<category><![CDATA[calculation]]></category>
		<category><![CDATA[ccnp]]></category>
		<category><![CDATA[cisco]]></category>
		<category><![CDATA[distribution]]></category>
		<category><![CDATA[etherchannel]]></category>
		<category><![CDATA[xor]]></category>

		<guid isPermaLink="false">http://aconaway.com/?p=349</guid>
		<description><![CDATA[EtherChannel lets you aggregate links into one logical connection, but the distribution of traffic is not uniform.  It does not use per-packet load-balancing or the like to determine what interface in the bundle to use.  Instead, it uses a XOR function on packet information to generate a hash that is used to determine what interface to use. By default, the switch will use both the source and destination IP addresses to generate the hash, but there are lots of others. src-ip:  Just the source IP dst-ip:  Just the destination IP src-dst-ip:  Both the source and destination IPs src-mac:  Just the source MAC dst-mac:  Just the destination MAC src-dst-mac:  The source and destination MACs src-port:  Just the source TCP/UDP port dst-port:  Just the destination TCP/UPD port src-dst-port:  The source and destination TCP/UDP ports You change the method by giving the port-channel load-balance method directive in global config mode.  Notice that this is a system command, so any change affects all channel groups. To generate the hash, the switch takes the binary representation of the address(es) and does a XOR (that is, are they different? yes/no) on the last few bits of each to get a value.  If you have 8 interfaces, [...]]]></description>
			<content:encoded><![CDATA[<p>EtherChannel lets you aggregate links into one logical connection, but the distribution of traffic is not uniform.  It does not use per-packet load-balancing or the like to determine what interface in the bundle to use.  Instead, it uses a XOR function on packet information to generate a hash that is used to determine what interface to use.</p>
<p>By default, the switch will use both the source and destination IP addresses to generate the hash, but there are lots of others.</p>
<ul>
<li><strong>src-ip</strong>:  Just the source IP</li>
<li><strong>dst-ip</strong>:  Just the destination IP</li>
<li><strong>src-dst-ip</strong>:  Both the source and destination IPs</li>
<li><strong>src-mac</strong>:  Just the source MAC</li>
<li><strong>dst-mac</strong>:  Just the destination MAC</li>
<li><strong>src-dst-mac</strong>:  The source and destination MACs</li>
<li><strong>src-port</strong>:  Just the source TCP/UDP port</li>
<li><strong>dst-port</strong>:  Just the destination TCP/UPD port</li>
<li><strong>src-dst-port</strong>:  The source and destination TCP/UDP ports</li>
</ul>
<p>You change the method by giving the <em>port-channel load-balance method</em> directive in global config mode.  Notice that this is a system command, so any change affects all channel groups.</p>
<p>To generate the hash, the switch takes the binary representation of the address(es) and does a XOR  (that is, are they different? yes/no) on the last few bits of each to get a value.  If you have 8 interfaces, it uses the last 3 bits (2^3 = 8).  If you have 4 interfaces, it uses 2 bits.  Two interfaces means a single bit.</p>
<p>What we wind up with is an index of the interface to use.  If you do a <em>show etherchannel detail</em> on your switch, you&#8217;ll see each interface is assigned an index that starts with 0.</p>
<p>Let&#8217;s go through an example.  You have a switch that has F0/1(index 0) and F0/2 (index 1) in Po10.  You also have left the load-balancing method to the default of <strong>src-dst-ip</strong>.  The switch needs to forward a packet that is sourced from 10.0.0.1 and destined to 10.0.0.2 over Po10.  Let&#8217;s step through it.</p>
<blockquote><p>10.0.0.1 = 00001010 00000000 00000000 00000001<br />
10.0.0.2 = 00001010 00000000 00000000 00000010</p></blockquote>
<p>Since we have two interfaces in the channel group, we look at the last bit of each address and XOR them to get an index of 1 (1 XOR 0 = 1).  That&#8217;s F0/2, so that interface will be used to send the frame over.</p>
<p>If we add f0/3 and f0/4 to the channel group, we would calculate a XOR on the last 2 bits of each address, which would give us 11, which is 3 in binary.  The interface with an index of 3 (probably f0/4) would get the traffic.</p>
<p>What if I&#8217;m switching IPX packets?  Any non-IP packet will default to using the MAC address.  Can someone answer exactly what method it will be used?</p>
<p>What if we then add f0/5?  That&#8217;s a good question, but I&#8217;m not exactly sure how the switch handles a number of interfaces not a power of 2.  Can someone help on this, too?</p>
<p>Send any obvious corrections and questions my way.</p>
<div class="wp-about-author-containter-around" style="background-color:#ffffff;"><div class="wp-about-author-pic"><img alt='' src='http://1.gravatar.com/avatar/14352aa939196349e4b9f2a272ca5112?s=100&amp;d=&amp;r=G' class='avatar avatar-100 photo' height='100' width='100' /></div><div class="wp-about-author-text"><h3><a href='http://aconaway.com/author/jac/' title='Aaron Conaway'>Aaron Conaway</a></h3><p>I like to lean my head to the left, hit it with the palm of my right hand, and document what knowledge falls out.</p><p><a href='http://aconaway.com' title='Aaron Conaway'>Website</a> - <a href='http://aconaway.com/author/jac/' title='More posts by Aaron Conaway'>More Posts</a> </p></div></div>]]></content:encoded>
			<wfw:commentRss>http://aconaway.com/2009/06/23/bcmsn-notes-etherchannel-distribution/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Server NIC Aggregation to a Cisco Switch</title>
		<link>http://aconaway.com/2009/04/14/server-nic-aggregation-to-a-cisco-switch/</link>
		<comments>http://aconaway.com/2009/04/14/server-nic-aggregation-to-a-cisco-switch/#comments</comments>
		<pubDate>Tue, 14 Apr 2009 13:44:55 +0000</pubDate>
		<dc:creator>Aaron Conaway</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[bonding]]></category>
		<category><![CDATA[cisco]]></category>
		<category><![CDATA[etherchannel]]></category>
		<category><![CDATA[ethernet]]></category>
		<category><![CDATA[switch]]></category>
		<category><![CDATA[teaming]]></category>

		<guid isPermaLink="false">http://aconaway.com/?p=305</guid>
		<description><![CDATA[Have you even noticed that your new servers all have 2 NICs on the board?  At least all of them that I&#8217;ve seen in the last 3 years have.  A lot of server admin actually use them in a NIC teaming scenario where both NICs are used as one logical device &#8212; much the same as Etherchannel on a switch.  This provides some fault tolerance and availability in case of failure, which is good idea in most cases. There are a few different ways to configure teaming on the box (usually called bonding in Linux), and each has its own advantages and disadvantages.  The network dude(tte) may have to do some things on the switch side for some of them to work, though.  If you&#8217;re want to run in link aggregation mode (mode 4), for example, the switch ports need to be in the same channel group to work appropriately. Let&#8217;s look at mode 4 a little closer to see what we need to do.  The scenario is that you have eth0 plugged into F0/15 of a 2950 and eth1 is in F0/16.  You&#8217;ve seen the configuration for channelling between switches before, so you know the basics.  Put the ports [...]]]></description>
			<content:encoded><![CDATA[<p>Have you even noticed that your new servers all have 2 NICs on the board?  At least all of them that I&#8217;ve seen in the last 3 years have.  A lot of server admin actually use them in a NIC teaming scenario where both NICs are used as one logical device &#8212; much the same as Etherchannel on a switch.  This provides some fault tolerance and availability in case of failure, which is good idea in most cases.</p>
<p>There are a few different ways to configure teaming on the box (usually called <a title="Linux-ip.net -- Link Aggregation and High Availability with Bonding" href="http://linux-ip.net/html/ether-bonding.html">bonding</a> in Linux), and each has its own advantages and disadvantages.  The network dude(tte) may have to do some things on the switch side for some of them to work, though.  If you&#8217;re want to run in <a title="LinuxHorizon.ro -- Bonding (Port Trunking)" href="http://www.linuxhorizon.ro/bonding.html">link aggregation mode (mode 4)</a>, for example, the switch ports need to be in the same channel group to work appropriately.</p>
<p>Let&#8217;s look at mode 4 a little closer to see what we need to do.  The scenario is that you have <em>eth0</em> plugged into F0/15 of a 2950 and <em>eth1</em> is in F0/16.  You&#8217;ve seen the <a title="AConaway.com -- Getting Started with EtherChannel" href="http://aconaway.com/2008/04/18/getting-started-with-etherchannel/">configuration for channelling between switches</a> before, so you know the basics.  Put the ports in the same <em>channel-group</em> and configure the proper <em>Port-channel</em> interface to do the work.  In this case, we&#8217;re just configuring the ports to house a host instead of being trunks.</p>
<blockquote>
<pre>int F0/15
 channel-group 1

int F0/16
 channel-group 1

int Port-channel 1
 speed 100
 duplex full
 switchport
 switchport mode access</pre>
</blockquote>
<p>I detect at least one problem with our setup, though.  Both NICs are plugged into the same switch; what happens when the switch goes down?  The server goes away.  Logic should tell you, then, to put the NICs in different switches to fix that, but you can&#8217;t do Ethernchannel on two different switches.   The ports have to be in the same device for the aggregation to work.  What&#8217;s the fix?</p>
<p>You can look at getting a nice chassis switch and putting each NIC in different modules.  Modern IOS versions allow etherchanneling across modules, so, if one module fails, you still have that other.  That would do it, but I&#8217;m sure you don&#8217;t have the money for a 4500 in the budget, right?</p>
<p>Another solution is to use a couple <a title="Cisco.com -- Cisco Catalyst 3750 Series Switches - Products &amp; Services - Cisco Systems" href="http://www.cisco.com/en/US/products/hw/switches/ps5023/">3760s</a> which, when connected using the <a title="Wikipedia.com -- Cisco StackWise" href="http://en.wikipedia.org/wiki/Cisco_StackWise">StackWise</a> cable, are one logical device.  That gives you two separate switches that you can configure with the same channel group.  An upgrade to this solution is to use a pair of <a title="Cisco.com -- Cisco Catalyst 6500 Virtual Switching System 1440 - Products &amp; Services - Cisco Systems" href="http://www.cisco.com/en/US/products/ps9336/">6500s with VSS 1440 modules</a> in them so that you have a stack of 6500s!  I&#8217;m sure that&#8217;s not expensive at all, though.</p>
<p>Send any <span style="text-decoration: line-through;">white shoes</span> questions my way.</p>
<div class="wp-about-author-containter-around" style="background-color:#ffffff;"><div class="wp-about-author-pic"><img alt='' src='http://1.gravatar.com/avatar/14352aa939196349e4b9f2a272ca5112?s=100&amp;d=&amp;r=G' class='avatar avatar-100 photo' height='100' width='100' /></div><div class="wp-about-author-text"><h3><a href='http://aconaway.com/author/jac/' title='Aaron Conaway'>Aaron Conaway</a></h3><p>I like to lean my head to the left, hit it with the palm of my right hand, and document what knowledge falls out.</p><p><a href='http://aconaway.com' title='Aaron Conaway'>Website</a> - <a href='http://aconaway.com/author/jac/' title='More posts by Aaron Conaway'>More Posts</a> </p></div></div>]]></content:encoded>
			<wfw:commentRss>http://aconaway.com/2009/04/14/server-nic-aggregation-to-a-cisco-switch/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
	</channel>
</rss>

