Comware Based
cancel
Showing results for 
Search instead for 
Did you mean: 

A5820X: How to balance load on Level 3?

IvanBayan
Occasional Contributor

A5820X: How to balance load on Level 3?

Hello.

First, my apologies for my english.

I need to get working scheme like on image below (A5820 shows as swich), from the left i will have agregated channel, from the right i will have special devices acting as routers. I will need to balance load between this devices, but they have one feature, when load will balanced, they must not receive packed with mixed source address from the left. If upper device will received packet with source address 1.2.3.4, then all packets with this address must be forwarded to upper device. So i found that i can do load balancing by routing all packets with odd 4th byte in source address to lower device, and all even to upper device.

I read manuals but found, only one way how to do that, by policy based routing.

Before implementing this scheme i want to test it, i did not have few computers or ethernet cards, so i made model with vlan interfaces instead of real (sceme below).

I created vlan interfaces,assign addresses, acl, pbr and static routes, below i put a clippings from config:

...

acl number 2000 name ACLEvenInput
 hardware-count enable
 rule 0 permit source 0.0.0.0 255.255.255.254 logging
 rule 5 deny
acl number 2001 name ACLOddInput
 hardware-count enable
 rule 0 permit source 0.0.0.1 255.255.255.254 logging
 rule 5 deny
#
vlan 1
#
vlan 44
 name AgregationChannel
#
vlan 420
 name EvenAddr
#
vlan 424
 name OddAddr
...

interface Vlan-interface44
 ip address 192.168.44.1 255.255.255.0
#
interface Vlan-interface420
 ip address 192.168.42.1 255.255.255.252
 ip policy-based-route PBRE
#
interface Vlan-interface424
 ip address 192.168.42.5 255.255.255.252
 ip policy-based-route PBRE
#
...
interface GigabitEthernet1/0/28
 port link-mode bridge
 port link-type trunk
 port trunk permit vlan 1 44 420 424
...

policy-based-route PBRE permit node 5
   if-match acl 2000
   apply ip-address next-hop 192.168.42.2  
policy-based-route PBRE permit node 10
   if-match acl 2001
   apply ip-address next-hop 192.168.42.6  
#
 ip route-static 0.0.0.0 0.0.0.0 192.168.42.2 preference 255
 ip route-static 0.0.0.0 0.0.0.0 192.168.42.6 preference 255
...

I put high preference for this routes, because we must not use PBR from packets that will  come from the right.

After all i had very strange result.

As a left router i configured linux with address 44.2-44.8, as the right devices i configured virtual machine with addresses 42.2 and 42.8.

When i send packets from the left i see next:
packet from 192.168.44.2 go to the 192.168.42.6

packet from 192.168.44.3 go to the 192.168.42.2

packet from 192.168.44.4 go to the 192.168.42.2

packet from 192.168.44.5 go to the 192.168.42.6

packet from 192.168.44.6 go to the 192.168.42.2

packet from 192.168.44.7 go to the 192.168.42.6

packet from 192.168.44.8 go to the 192.168.42.6

I do not understand what happens? I do not see dependence between source ip and route.  Where is my mistake?

By display acl all i see, that acl counter grow, but scheme did not work as i want.

Is here another way to do what i need?

Here is full config https://ivanbayan.com/wp-content/uploads/2012/11/confignew.cfg

1 REPLY
Peter_Debruyne
Honored Contributor

Re: A5820X: How to balance load on Level 3?

Hi Ivan,

 

2 options to test:

1/ do not do anything with PBR. When there are multiple destination routes available (like your 2 default routes), the switch will apply  loadbalancing over these routes. Since it is a switch, it will use flow-based (hash) loadbalancing (no packet based), just like link aggregation loadbalancing. In this hash algoritm it should use the source destination ip by default.

I believe the global loadbalancing algoritm can be changed, so if you can change it to use only the source ip for the loadbalancing, all packets from the same source ip should be hashed to the same link.

However, the command is explained in the link-aggregation section of the config guides, so I am not really sure if the L3 hash is also impacted by this command:

system-view

 link-aggregation load-sharing mode
{ destination-ip| destination-mac|
destination-port| ingress-port|
source-ip| source-mac|source-port| }
*

 

2/ When using PBR (sometimes referred to as source-based routing), the PBR policy must be applied to the INcoming interface on the router, not the outgoing interface. The whole point of the PBR is to change the OUTgoing interface for certain flows when the flows reach the router, so this decision point is at the incoming interface of the router (so try to apply the PBR to the vlan 44)

 

Best regards,Peter