[acassen/keepalived] 18a9d3: The current implementation of the vrrp_index hash ...

pqarmitage <[email protected]> Fri, 20 Oct 2017 01:05:00 -0700
Newsgroups gmane.linux.keepalived.devel
Message-ID <59e9ae2ce2686_138a3fed24251c2c459ba@hookshot-fe1-cp1-prd.iad.github.net.mail>
  Branch: refs/heads/master
  Home:   https://github.com/acassen/keepalived
  Commit: 18a9d31ccb8b58cc075e98fb0f00f80b98db3b01
      https://github.com/acassen/keepalived/commit/18a9d31ccb8b58cc075e98fb0f00f80b98db3b01
  Author: Damien Clabaut <[email protected]>
  Date:   2017-10-11 (Wed, 11 Oct 2017)

  Changed paths:
    M keepalived/include/vrrp_index.h
    M keepalived/vrrp/vrrp_data.c
    M keepalived/vrrp/vrrp_index.c
    M keepalived/vrrp/vrrp_parser.c
    M keepalived/vrrp/vrrp_scheduler.c

  Log Message:
  -----------
  The current implementation of the vrrp_index hash created collisions when all instances have the same vrid, which is possible when each instance has a different vmac.
This patch:
- Increases the size of vrrp_index to match vrrp_index_fd
- Changes the hash function to Cantor pairing function, taking into account both vrid and fd_in to avoid collisions
- Creates a get_vrrp_hash function to ease the change of hash in the future
- Populates the vrrp_index hash only when fds are attributed to vrrp instances


  Commit: 08b43829e3426e75ee838605b22f2d5b4220baaa
      https://github.com/acassen/keepalived/commit/08b43829e3426e75ee838605b22f2d5b4220baaa
  Author: Damien Clabaut <[email protected]>
  Date:   2017-10-19 (Thu, 19 Oct 2017)

  Changed paths:
    M keepalived/vrrp/vrrp_data.c
    M keepalived/vrrp/vrrp_index.c

  Log Message:
  -----------
  change hash to something more even and hash size accordingly


  Commit: 1cbd58da33ce0a2961b0b01fa051fec9f0a33a5c
      https://github.com/acassen/keepalived/commit/1cbd58da33ce0a2961b0b01fa051fec9f0a33a5c
  Author: Damien Clabaut <[email protected]>
  Date:   2017-10-19 (Thu, 19 Oct 2017)

  Changed paths:
    M keepalived/vrrp/vrrp_data.c

  Log Message:
  -----------
  also update size of hash in free_list


  Commit: 4696b6c963826b746b346c728b2e46e55bd5747a
      https://github.com/acassen/keepalived/commit/4696b6c963826b746b346c728b2e46e55bd5747a
  Author: pqarmitage <[email protected]>
  Date:   2017-10-20 (Fri, 20 Oct 2017)

  Changed paths:
    M keepalived/include/vrrp_index.h
    M keepalived/vrrp/vrrp_data.c
    M keepalived/vrrp/vrrp_index.c
    M keepalived/vrrp/vrrp_parser.c
    M keepalived/vrrp/vrrp_scheduler.c

  Log Message:
  -----------
  Merge pull request #679 from dclabaut-ovh/dev/damien.clabaut/faster_search_algos

The current implementation of the vrrp_index hash created collisions …


Compare: https://github.com/acassen/keepalived/compare/84b484218704...4696b6c96382

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot

_______________________________________________
Keepalived-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/keepalived-devel