01-09-2014 02:52 AM - edited 03-07-2019 05:27 PM
Hello
I have a pair of Nexus 5K's in a VPC domain and some 2960's as VPC members, with a port channel to the domain.
Topology is as follows:
5K1 and 5K2 in VPC domain
VPC from 5K1 and 5K2 to 2960
2960 has gi0/1 and gi0/2 in 1 port channel
gi0/1 to 5k1, gi0/2 to 5k2
I know that what I am going to ask may be totally against the purpose of VPC, but, I am looking for a way to favour gi0/1 for traffic, rather than load balancing over gi0/1 and gi0/2. The reaon for this is that I would like to benefit from the lack of loop that VPC provides, but would also like to have a primary and secondary link as the majority of traffic should actually go via 5K1, rather than 5K2.
Any suggestions welcome.
Many thanks in advance
Anthony
Solved! Go to Solution.
01-09-2014 06:24 AM
Hi Anthony,
The Cisco NX-OS software load balances traffic across all operational interfaces in a portchannel by hashing the addresses in the frame to a numerical value that selects one of the links in the channel. Port channels provide load balancing by default. Port-channel load-balancing uses MAC addresses, IP addresses, or Layer 4 port numbers to select the link. Port-channel load balancing uses either source or destination addresses or ports, or both source and destination addresses or ports.
You can configure the load-balancing mode to apply to all port channels that are configured on the entire device or on specified modules. The per-module configuration takes precedence over the load-balancing configuration for the entire device. You can configure one load-balancing mode for the entire device, a different mode for specified
modules, and another mode for the other specified modules. You cannot configure the load-balancing method per port channel.
You can configure the type of load-balancing algorithm used. You can choose the load-balancing algorithm that determines which member port to select for egress traffic by looking at the fields in the frame.
Note: The default load-balancing mode for Layer 3 interfaces is the source and destination IP address, and the default load-balancing mode for non-IP interfaces is the source and destination MAC address.
From the config mode you can try different load-balacing method ,
port-channel load-balance {dest-ip-port | dest-ip-port-vlan |
destination-ip-vlan | destination-mac | destination-port | source-dest-ip-port | source-dest-ip-port-vlan | source-dest-ip-vlan | source-dest-mac | source-dest-port | source-ip-port | source-ip-port-vlan | source-ip-vlan | source-mac | source-port} [module-number]
To Summarize: I cannot say which port would be selected, it purely depends on type of frame you are sending with the combination of the load-balance method.
After tweaking you can also know from the command which link the traffic is taking,
NEXUS2-SPAN# show port-channel load-balance forwarding-path interface port-channel 71 src-ip 1.1.1.1 dst-ip 2.2.2.2 vlan 51 module 2
Module 2: Missing params will be substituted by 0's.
Load-balance Algorithm: src-dst ip-l4port
RBH: 0xb0 Outgoing port id: Ethernet8/8
we can also try tweaking the same load-balancing on the 2960 also. It purely depends on the load-balancing algorithm. Below is for 2960 Load-balancing tweaking,
Even after doing this i wouldnt say 100% it would select one link.
Hope this helps!
Thanks,
Richard.
*Rate if this is useful
01-09-2014 06:24 AM
Hi Anthony,
The Cisco NX-OS software load balances traffic across all operational interfaces in a portchannel by hashing the addresses in the frame to a numerical value that selects one of the links in the channel. Port channels provide load balancing by default. Port-channel load-balancing uses MAC addresses, IP addresses, or Layer 4 port numbers to select the link. Port-channel load balancing uses either source or destination addresses or ports, or both source and destination addresses or ports.
You can configure the load-balancing mode to apply to all port channels that are configured on the entire device or on specified modules. The per-module configuration takes precedence over the load-balancing configuration for the entire device. You can configure one load-balancing mode for the entire device, a different mode for specified
modules, and another mode for the other specified modules. You cannot configure the load-balancing method per port channel.
You can configure the type of load-balancing algorithm used. You can choose the load-balancing algorithm that determines which member port to select for egress traffic by looking at the fields in the frame.
Note: The default load-balancing mode for Layer 3 interfaces is the source and destination IP address, and the default load-balancing mode for non-IP interfaces is the source and destination MAC address.
From the config mode you can try different load-balacing method ,
port-channel load-balance {dest-ip-port | dest-ip-port-vlan |
destination-ip-vlan | destination-mac | destination-port | source-dest-ip-port | source-dest-ip-port-vlan | source-dest-ip-vlan | source-dest-mac | source-dest-port | source-ip-port | source-ip-port-vlan | source-ip-vlan | source-mac | source-port} [module-number]
To Summarize: I cannot say which port would be selected, it purely depends on type of frame you are sending with the combination of the load-balance method.
After tweaking you can also know from the command which link the traffic is taking,
NEXUS2-SPAN# show port-channel load-balance forwarding-path interface port-channel 71 src-ip 1.1.1.1 dst-ip 2.2.2.2 vlan 51 module 2
Module 2: Missing params will be substituted by 0's.
Load-balance Algorithm: src-dst ip-l4port
RBH: 0xb0 Outgoing port id: Ethernet8/8
we can also try tweaking the same load-balancing on the 2960 also. It purely depends on the load-balancing algorithm. Below is for 2960 Load-balancing tweaking,
Even after doing this i wouldnt say 100% it would select one link.
Hope this helps!
Thanks,
Richard.
*Rate if this is useful
02-01-2014 05:51 AM
Thanks Richard
I really appreciate the detailed reply and it is very useful! It does confirm suspicion that being able to 100% for traffic over one link is not really possible. I guess the best method here will be spanning tree, but, trying to avoid it ;-)
Thanks
Anthony
Discover and save your favorite ideas. Come back to expert answers, step-by-step guides, recent topics, and more.
New here? Get started with these tips. How to use Community New member guide