{"id":1937,"date":"2014-10-24T06:02:53","date_gmt":"2014-10-24T04:02:53","guid":{"rendered":"http:\/\/possiblelossofprecision.net\/?p=1937"},"modified":"2021-05-15T11:46:37","modified_gmt":"2021-05-15T09:46:37","slug":"configuring-lacp-between-openindiana-and-a-dell-force10-switch","status":"publish","type":"post","link":"https:\/\/possiblelossofprecision.net\/?p=1937","title":{"rendered":"Configuring LACP between OpenIndiana and a Dell Force10 switch"},"content":{"rendered":"<p>Link aggregation is a method of bundling interfaces together to act as one for increased bandwith and\/or failover. One of most used protocols, next to a couple of proprietary ones, for controlling such a channel bond is <strong>LACP<\/strong>, the <a href=\"http:\/\/en.wikipedia.org\/wiki\/Link_aggregation#Link_Aggregation_Control_Protocol\">Link Aggregation Control Protocol<\/a>. <\/p>\n<h2>1. Configuring LACP on Dell S4810<\/h2>\n<p>Let&#8217;s assume, we want to bond two 10G Ethernet ports together, namely <strong>TenGigabitEthernet 0\/32<\/strong> and <strong>TenGigabitEthernet 0\/33<\/strong><\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">\r\nS4810(conf)#interface range tengigabitethernet 0\/32 , tengigabitethernet 0\/33\r\nS4810(conf-if-range-te-0\/32,te-0\/33)#port-channel-protocol LACP                                       \r\nS4810(conf-if-range-te-0\/32,te-0\/33-lacp)#  port-channel 9 mode active                                     \r\nS4810(conf-if-range-te-0\/32,te-0\/33-lacp)#show conf\r\n!\r\ninterface TenGigabitEthernet 0\/32\r\n description po9 uplink to Server47\r\n no ip address\r\n flowcontrol rx on tx off \r\n!  \r\n port-channel-protocol LACP \r\n  port-channel 9 mode active \r\n no shutdown\r\n!\r\ninterface TenGigabitEthernet 0\/33\r\n description po9 uplink to Server47\r\n no ip address\r\n flowcontrol rx on tx off \r\n!  \r\n port-channel-protocol LACP \r\n  port-channel 9 mode active \r\n no shutdown\r\n<\/pre>\n<p>Next, the port-channel interface needs to be configured as <strong>layer 2 port<\/strong> and <strong>activated afterwards<\/strong>:<\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">\r\nS4810(conf)#interface port-channel 9\r\nS4810(conf-if-po-9)#description Uplink to Server47\r\nS4810(conf-if-po-9)#switchport \r\nS4810(conf-if-po-9)#no shutdown \r\nS4810(conf-if-po-9)#show config \r\n!\r\ninterface Port-channel 9\r\n description Uplink to Server47\r\n no ip address\r\n switchport\r\n no shutdown\r\n<\/pre>\n<p>It&#8217;s always good practice to also change the description. Depending on your configuration, you might want to change the <strong>vlan settings<\/strong> for this newly created port-channel as well:<\/p>\n<pre class=\"brush: bash; highlight: [11]; title: ; notranslate\" title=\"\">\r\nS4810(conf)#interface vlan 11\r\nS4810(conf-if-vl-11)#untagged port-channel 9\r\nS4810(conf-if-vl-11)#show config            \r\n!\r\ninterface Vlan 11\r\n description VLAN11-LAN\r\n ip address 10.11.1.10\/16\r\n tagged TenGigabitEthernet 0\/8-13\r\n tagged Port-channel 1-5,11,13-14\r\n untagged TenGigabitEthernet 0\/14,19-20,23,38,46\r\n untagged Port-channel 9\r\n ip helper-address 10.10.10.1\r\n no shutdown\r\n<\/pre>\n<p>Of course, depending on the actual network topology, your mileage might vary here.<\/p>\n<p>Note that the port-channel will stay in a &#8216;down&#8217; state until it can exchange LACPDUs with the remote end:<\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">\r\nS4810(conf)#do show interfaces port-channel 9 brief\r\nCodes: L - LACP Port-channel\r\n\r\n    LAG  Mode  Status       Uptime      Ports          \r\nL   9    L2L3  down         00:00:00    \r\n<\/pre>\n<h2> 2. Configuring LACP on OpenIndiana <\/h2>\n<p>First, disable the <strong>NWAM<\/strong> (Network Auto Magic) service:<\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">\r\n# svcadm disable svc:\/network\/physical:nwam\r\n# svcadm enable svc:\/network\/physical:default\r\n<\/pre>\n<p>To <strong>list the available physical ports<\/strong>, use <code>dladm<\/code><\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">\r\nroot@Server47:~# dladm show-phys\r\nLINK         MEDIA                STATE      SPEED  DUPLEX    DEVICE\r\nmyri10ge1    Ethernet             down       10000  full      myri10ge1\r\nmyri10ge0    Ethernet             down       10000  full      myri10ge0\r\nbnx2         Ethernet             down       0      unknown   bnx2\r\nbnx0         Ethernet             up         1000   full      bnx0\r\nbnx1         Ethernet             down       0      unknown   bnx1\r\nbnx3         Ethernet             down       0      unknown   bnx3\r\n<\/pre>\n<p>To create an aggregate device with <strong>two links<\/strong> (<code>myri10ge0<\/code> and <code>myri10ge1<\/code>) in <strong>LACP mode<\/strong> (<code>-L active<\/code>) with and <a href=\"http:\/\/docs.oracle.com\/cd\/E19253-01\/816-4554\/fpjvl\/index.html\">L2 failover policy<\/a> (Determines the outgoing link by hashing the MAC (L2) header of each packet), run:<\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">\r\ndladm create-aggr -l myri10ge0 -l myri10ge1 -L active -P L2 aggr1\r\n<\/pre>\n<p>You can use <code>dladm show-aggr<\/code> to see the <strong>current state<\/strong>:<\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">\r\nroot@Server47:~# dladm show-aggr\r\nLINK            POLICY   ADDRPOLICY           LACPACTIVITY  LACPTIMER   FLAGS\r\naggr1           L2       auto                 active        short       -----\r\n<\/pre>\n<p>Next, <strong>create an interface<\/strong> <code>aggr1<\/code>:<\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">\r\nroot@Server47:~# ipadm create-if aggr1\r\nroot@Server47:~# ipadm show-if\r\nIFNAME     STATE    CURRENT      PERSISTENT\r\nlo0        ok       -m-v------46 ---\r\nbnx0       ok       bm--------46 -46\r\naggr1      down     bm--------46 -46\r\n<\/pre>\n<p>You should now see that the LACP link is established on the layer 2 switch:<\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">\r\nS4810(conf)#do show interfaces port-channel 9 brief\r\nCodes: L - LACP Port-channel\r\n\r\n    LAG  Mode  Status       Uptime      Ports          \r\nL   9    L2L3  up           00:00:00    Te 0\/32    (Up)\r\n                                        Te 0\/33    (Up)\r\n<\/pre>\n<p>The last thing left to do is to <strong>create an IP address<\/strong> on top of the <code>aggr1<\/code> interface:<\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">\r\nroot@Server47:~# ipadm create-addr -T static -a 10.11.20.6\/16 aggr1\/v4\r\n<\/pre>\n<p>Again, depending on your topology, you might want to <strong>add\/edit you default route<\/strong> to go over the aggragate interface.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Link aggregation is a method of bundling interfaces together to act as one for increased bandwith and\/or failover. One of most used protocols, next to a couple of proprietary ones, for controlling such a channel bond is LACP, the Link Aggregation Control Protocol. 1. Configuring LACP on Dell S4810 Let&#8217;s assume, we want to bond two 10G Ethernet ports together,&#8230; <a href=\"https:\/\/possiblelossofprecision.net\/?p=1937\">Read more &raquo;<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[68,58,69,73,70],"class_list":["post-1937","post","type-post","status-publish","format-standard","hentry","category-uncategorized","tag-force10","tag-hardware","tag-layer2","tag-openindiana","tag-solaris"],"_links":{"self":[{"href":"https:\/\/possiblelossofprecision.net\/index.php?rest_route=\/wp\/v2\/posts\/1937","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/possiblelossofprecision.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/possiblelossofprecision.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/possiblelossofprecision.net\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/possiblelossofprecision.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1937"}],"version-history":[{"count":15,"href":"https:\/\/possiblelossofprecision.net\/index.php?rest_route=\/wp\/v2\/posts\/1937\/revisions"}],"predecessor-version":[{"id":1952,"href":"https:\/\/possiblelossofprecision.net\/index.php?rest_route=\/wp\/v2\/posts\/1937\/revisions\/1952"}],"wp:attachment":[{"href":"https:\/\/possiblelossofprecision.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1937"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/possiblelossofprecision.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1937"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/possiblelossofprecision.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1937"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}