[PATCH net V2 0/2] bonding:add aging mechanism to rlb table
From: Weiping Pan <hidden>
Date: 2012-03-22 08:43:32
Also in:
lkml
Jiri Bohac(jbohac@suse.cz) found that once an IP address is recorded in the rlb hash table, it stays there indefinitely. If this IP address is migrated to a different host in the network, bonding still sends out ARP packets that poison other systems' ARP caches with invalid information. There are some attempts to fix this problem, http://marc.info/?l=linux-netdev&m=133036407906892&w=4 http://marc.info/?l=linux-netdev&m=133057427414043&w=4 But they did not fix the root cause of the problem, that rlb table does not have a aging mechanism, the entry is deemed valid for ever unless it is replaced. In this patchset I want to add aging mechanism to rlb table. Assume RLB_MONITOR_DELAY is 2 seconds and RLB_WORK_COUNTER_TIMES is 3, and we can tune them. Every 6 seconds bonding will make all entries invalid. Every 2 seconds, bonding will send arp requests to its all clients, then if it receives corresponding arp reply, bonding will deem that this entry is valid. And we give a entry 3 opportunities to survive in 6 seconds. V2: add cover letter Weiping Pan (2): bonding:delete rlb entry if bond's ip is deleted bonding:delete rlb entry at regular intervals drivers/net/bonding/bond_alb.c | 130 ++++++++++++++++++++++++++++++++++++--- drivers/net/bonding/bond_alb.h | 9 +++ drivers/net/bonding/bond_main.c | 11 +++- 3 files changed, 138 insertions(+), 12 deletions(-) -- 1.7.4