[c-nsp] etherchannel load balancing
Andrew Miehs
andrew at 2sheds.de
Thu Oct 22 18:30:23 EDT 2015
I don't know if cisco ever provided their official hashing algorithms
anywhere however, my guess would be take the result of whichever
fields you set to hash on, probably XORing all these fields together,
and then evenly distribute that over 'x' number of buckets depending
on the platform.
Based on your results, I would assume that this is more than 8 buckets
on your 3750. If you really want to know, I would run this command for
the next 16 MAC address pairs, and see if the initial parttern is
repeated.
Then, run the test of the 32 pairs again, with 3 interfaces in the
LAG, and double check whether the pattern repeats after 16 address
pairs. If it doesn't repeat, you may need to look at expanding this to
a lot more buckets.
-- Andrew
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