bonding: support RSS dynamic configuration
authorTomasz Kulasek <tomaszx.kulasek@intel.com>
Fri, 30 Oct 2015 14:25:48 +0000 (15:25 +0100)
committerThomas Monjalon <thomas.monjalon@6wind.com>
Sun, 1 Nov 2015 17:10:48 +0000 (18:10 +0100)
commit734ce47f71e02891344f30f0787dcf5a7d8d4181
treeba74154ca79071851e464914210404fe7f717f37
parentf6d690f22482dd9c3ef6003fd8dcf6863ff17eb3
bonding: support RSS dynamic configuration

Bonding device implements independent management of RSS settings. It
stores its own copies of settings i.e. RETA, RSS hash function and RSS
key. It’s required to ensure consistency.

1) RSS hash function set for bonding device is maximal set of RSS hash
functions supported by all bonded devices. That mean, to have RSS support
for bonding, all slaves should be RSS-capable.

2) RSS key is propagated over the slaves "as is".

3) RETA for bonding is an internal table managed by bonding API, and is
used as a pattern to set up slaves. Its size is GCD of all RETA sizes, so
it can be easily used as a pattern providing expected behavior, even if
slaves RETA sizes are different.

Signed-off-by: Tomasz Kulasek <tomaszx.kulasek@intel.com>
Acked-by: Declan Doherty <declan.doherty@intel.com>
doc/guides/prog_guide/link_bonding_poll_mode_drv_lib.rst
doc/guides/rel_notes/release_2_2.rst
drivers/net/bonding/rte_eth_bond_api.c
drivers/net/bonding/rte_eth_bond_pmd.c
drivers/net/bonding/rte_eth_bond_private.h