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 <[email protected]> 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 [email protected] > https://puck.nether.net/mailman/listinfo/cisco-nsp > archive at http://puck.nether.net/pipermail/cisco-nsp/ > _______________________________________________ cisco-nsp mailing list [email protected] https://puck.nether.net/mailman/listinfo/cisco-nsp archive at http://puck.nether.net/pipermail/cisco-nsp/
