public/io/netif.h: make control ring hash protocol more general
authorPaul Durrant <paul.durrant@citrix.com>
Fri, 4 Mar 2016 13:08:38 +0000 (14:08 +0100)
committerJan Beulich <jbeulich@suse.com>
Fri, 4 Mar 2016 13:08:38 +0000 (14:08 +0100)
commit15b1e8d864e18dbafe5747e365fea124befda4a8
treec07ab663c56ffaf1ef728bf8a342651209fb843b
parent03720ea541382a3ca80eaaec2aa11932b03aacaf
public/io/netif.h: make control ring hash protocol more general

This patch modified the control ring protocol (of which there is
not yet an implementation) to make it more general. Most of the
concepts are not limited to toeplitz hashing so it's best not to
make them unnecessarily specific.

Apart from changing the names of various definitions and modifying
comments, this patch:

- Adds a new control message type to select a hash algorithm.
- Adds a reference implementation of the toeplitz hash.
- Changes the 'toeplitz' extra info fragment into a 'hash' extra
  info fragment and replaces the octet of padding with the index of
  the algorithm that was used to create the hash value.
- Relaxes the restriction that the mapping table has to be
  power-of-2 sized.

The patch also fixes a few spelling typos noticed along the way.

Signed-off-by: Paul Durrant <paul.durrant@citrix.com>
Reviewed-by: David Vrabel <david.vrabel@citrix.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
xen/include/public/io/netif.h