[c-nsp] etherchannel load balancing

Andras Toth diosbejgli at gmail.com
Sun Oct 25 06:52:37 EDT 2015


Cisco switches don't just look at the last x bits, they use a proprietary
algorithm to do the hashing. I don't have the liberty to provide details,
however I can confirm that it's an actual algorithm and not just "last x
bits". The following document confirms too:
http://www.cisco.com/c/en/us/support/docs/lan-switching/etherchannel/12023-4.html

Best regards,
Andras


On Fri, Oct 23, 2015 at 8:02 AM, Aaron <aaron1 at gvtc.com> wrote:

>
>
> Does anyone know how etherchannel hashing works when selecting which port
> to
> use ?  When using src-mac load-balancing and iterating straight through 16
> mac addresses sequentially by only changing the last hex character one
> binary iteration at a time, I see port selections of
> 2,1,1,2,1,2,2,1,1,2,2,1,2,1,1,2
>
>
>
> I do see a pattern here..
>
>
>
> 2112
>
> 1221
>
> 1221
>
> 2112
>
>
>
> But how does this work exactly ?  I mean how does etherchannel go about
> deciding that sequence ?
>
>
>
> Thanks
>
> Aaron
>
>
>
> Details.
>
>
>
> Switch#test etherchannel load-balance interface port-channel 1 mac
> 1010.2222.3330 1111.2222.3334
>
> Would select Gi1/0/2 of Po1
>
>
>
> Switch#test etherchannel load-balance interface port-channel 1 mac
> 1010.2222.3331 1111.2222.3334
>
> Would select Gi1/0/1 of Po1
>
>
>
> Switch#test etherchannel load-balance interface port-channel 1 mac
> 1010.2222.3332 1111.2222.3334
>
> Would select Gi1/0/1 of Po1
>
>
>
> Switch#test etherchannel load-balance interface port-channel 1 mac
> 1010.2222.3333 1111.2222.3334
>
> Would select Gi1/0/2 of Po1
>
>
>
> Switch#test etherchannel load-balance interface port-channel 1 mac
> 1010.2222.3334 1111.2222.3334
>
> Would select Gi1/0/1 of Po1
>
>
>
> Switch#test etherchannel load-balance interface port-channel 1 mac
> 1010.2222.3335 1111.2222.3334
>
> Would select Gi1/0/2 of Po1
>
>
>
> Switch#test etherchannel load-balance interface port-channel 1 mac
> 1010.2222.3336 1111.2222.3334
>
> Would select Gi1/0/2 of Po1
>
>
>
> Switch#test etherchannel load-balance interface port-channel 1 mac
> 1010.2222.3337 1111.2222.3334
>
> Would select Gi1/0/1 of Po1
>
>
>
> Switch#test etherchannel load-balance interface port-channel 1 mac
> 1010.2222.3338 1111.2222.3334
>
> Would select Gi1/0/1 of Po1
>
>
>
> Switch#test etherchannel load-balance interface port-channel 1 mac
> 1010.2222.3339 1111.2222.3334
>
> Would select Gi1/0/2 of Po1
>
>
>
> Switch#test etherchannel load-balance interface port-channel 1 mac
> 1010.2222.333a 1111.2222.3334
>
> Would select Gi1/0/2 of Po1
>
>
>
> Switch#test etherchannel load-balance interface port-channel 1 mac
> 1010.2222.333b 1111.2222.3334
>
> Would select Gi1/0/1 of Po1
>
>
>
> Switch#test etherchannel load-balance interface port-channel 1 mac
> 1010.2222.333c 1111.2222.3334
>
> Would select Gi1/0/2 of Po1
>
>
>
> Switch#test etherchannel load-balance interface port-channel 1 mac
> 1010.2222.333d 1111.2222.3334
>
> Would select Gi1/0/1 of Po1
>
>
>
> Switch#test etherchannel load-balance interface port-channel 1 mac
> 1010.2222.333e 1111.2222.3334
>
> Would select Gi1/0/1 of Po1
>
>
>
> Switch#test etherchannel load-balance interface port-channel 1 mac
> 1010.2222.333f 1111.2222.3334
>
> Would select Gi1/0/2 of Po1
>
>
>
> Switch#sh ver | in IOS
>
> Cisco IOS Software, C3750 Software (C3750-IPSERVICESK9-M), Version
> 12.2(50)SE3, RELEASE SOFTWARE (fc1)
>
> Switch#
>
> Switch#
>
> Switch#
>
> Switch#sh inven
>
> NAME: "1", DESCR: "WS-C3750G-24T"
>
> PID: WS-C3750G-24T-S   , VID: V10, SN: FDO1535X0N8
>
>
>
>
>
> Switch#
>
> Switch#
>
> Switch#sh ether
>
> Switch#sh etherchannel sum 1
>
>                            ^
>
> % Invalid input detected at '^' marker.
>
>
>
> Switch#sh etherchannel 1 sum
>
> Flags:  D - down        P - bundled in port-channel
>
>         I - stand-alone s - suspended
>
>         H - Hot-standby (LACP only)
>
>         R - Layer3      S - Layer2
>
>         U - in use      f - failed to allocate aggregator
>
>
>
>         M - not in use, minimum links not met
>
>         u - unsuitable for bundling
>
>         w - waiting to be aggregated
>
>         d - default port
>
>
>
>
>
> Number of channel-groups in use: 1
>
> Number of aggregators:           1
>
>
>
> Group  Port-channel  Protocol    Ports
>
>
> ------+-------------+-----------+-------------------------------------------
> ----
>
> 1      Po1(SU)          -        Gi1/0/1(P)  Gi1/0/2(P)
>
>
>
> Switch#
>
> Switch#sh etherchannel de
>
> Switch#sh etherchannel detail
>
>                 Channel-group listing:
>
>                 ----------------------
>
>
>
> Group: 1
>
> ----------
>
> Group state = L2
>
> Ports: 2   Maxports = 8
>
> Port-channels: 1 Max Port-channels = 1
>
> Protocol:    -
>
> Minimum Links: 0
>
>                 Ports in the group:
>
>                 -------------------
>
> Port: Gi1/0/1
>
> ------------
>
>
>
> Port state    = Up Mstr In-Bndl
>
> Channel group = 1           Mode = On              Gcchange = -
>
> Port-channel  = Po1         GC   =   -             Pseudo port-channel =
> Po1
>
> Port index    = 0           Load = 0x00            Protocol =    -
>
>
>
> Age of the port in the current state: 0d:00h:12m:27s
>
>
>
> Port: Gi1/0/2
>
> ------------
>
>
>
> Port state    = Up Mstr In-Bndl
>
> Channel group = 1           Mode = On              Gcchange = -
>
> Port-channel  = Po1         GC   =   -             Pseudo port-channel =
> Po1
>
> Port index    = 0           Load = 0x00            Protocol =    -
>
>
>
> Age of the port in the current state: 0d:00h:12m:27s
>
>
>
>                 Port-channels in the group:
>
>                 ---------------------------
>
>
>
> Port-channel: Po1
>
> ------------
>
>
>
> Age of the Port-channel   = 0d:00h:17m:00s
>
> Logical slot/port   = 10/1          Number of ports = 2
>
> GC                  = 0x00000000      HotStandBy port = null
>
> Port state          = Port-channel Ag-Inuse
>
> Protocol            =    -
>
> Port security       = Disabled
>
>
>
> Ports in the Port-channel:
>
>
>
> Index   Load   Port     EC state        No of bits
>
> ------+------+------+------------------+-----------
>
>   0     00     Gi1/0/1  On                 0
>
>   0     00     Gi1/0/2  On                 0
>
>
>
> Time since last port bundled:    0d:00h:12m:27s    Gi1/0/2
>
> Time since last port Un-bundled: 0d:00h:12m:27s    Gi1/0/2
>
>
>
> Switch#
>
> Switch#
>
> Switch#
>
> Switch#
>
> Switch#sh port-c
>
> Switch#sh etherc
>
> Switch#sh etherchannel lo
>
> Switch#sh etherchannel load-balance
>
> EtherChannel Load-Balancing Configuration:
>
>         src-mac
>
>
>
> EtherChannel Load-Balancing Addresses Used Per-Protocol:
>
> Non-IP: Source MAC address
>
>   IPv4: Source MAC address
>
>   IPv6: Source MAC address
>
>
>
> Switch#
>
>
>
> _______________________________________________
> cisco-nsp mailing list  cisco-nsp at puck.nether.net
> https://puck.nether.net/mailman/listinfo/cisco-nsp
> archive at http://puck.nether.net/pipermail/cisco-nsp/
>


More information about the cisco-nsp mailing list