[PATCH net V2 0/2] bonding:add aging mechanism to rlb table

From: Weiping Pan
Date: Thu Mar 22 2012 - 04:44:01 EST


Jiri Bohac(jbohac@xxxxxxx) 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

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/