[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [XENVIF PATCH v2] Fix argument to ControllerSetHashAlgorithm
ControllerSetHashAlgorithm expects a XEN_NETIF_CTRL_HASH_ALGORITHM_* whereas Hash->Algorithm is of type XENVIF_PACKET_HASH_ALGORITHM. These two enums are not aligned so translate them manually. Also treat XENVIF_PACKET_HASH_ALGORITHM_UNSPECIFIED the same as XENVIF_PACKET_HASH_ALGORITHM_NONE, but return STATUS_NOT_SUPPORTED when an unsupported Hash->Algorithm is supplied. Signed-off-by: Tu Dinh <ngoc-tu.dinh@xxxxxxxxxx> --- v2: Treat XENVIF_PACKET_HASH_ALGORITHM_UNSPECIFIED the same as XENVIF_PACKET_HASH_ALGORITHM_NONE. --- src/xenvif/frontend.c | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/src/xenvif/frontend.c b/src/xenvif/frontend.c index 79b04fb..90ec2b1 100644 --- a/src/xenvif/frontend.c +++ b/src/xenvif/frontend.c @@ -1883,6 +1883,7 @@ __FrontendUpdateHash( { PXENVIF_CONTROLLER Controller; ULONG Zero = 0; + ULONG NetifAlgorithm; ULONG Size; PULONG Mapping; ULONG Flags; @@ -1892,30 +1893,30 @@ __FrontendUpdateHash( switch (Hash->Algorithm) { case XENVIF_PACKET_HASH_ALGORITHM_NONE: + case XENVIF_PACKET_HASH_ALGORITHM_UNSPECIFIED: + NetifAlgorithm = XEN_NETIF_CTRL_HASH_ALGORITHM_NONE; Size = 1; Mapping = &Zero; Flags = 0; break; case XENVIF_PACKET_HASH_ALGORITHM_TOEPLITZ: + NetifAlgorithm = XEN_NETIF_CTRL_HASH_ALGORITHM_TOEPLITZ; Size = Hash->Size; Mapping = Hash->Mapping; Flags = Hash->Flags; break; - case XENVIF_PACKET_HASH_ALGORITHM_UNSPECIFIED: default: - (VOID) ControllerSetHashAlgorithm(Controller, - XEN_NETIF_CTRL_HASH_ALGORITHM_NONE); - goto done; + return STATUS_NOT_SUPPORTED; } status = ControllerSetHashAlgorithm(Controller, - Hash->Algorithm); + NetifAlgorithm); if (!NT_SUCCESS(status)) goto fail1; - if (Hash->Algorithm == XEN_NETIF_CTRL_HASH_ALGORITHM_NONE) + if (NetifAlgorithm == XEN_NETIF_CTRL_HASH_ALGORITHM_NONE) goto done; status = ControllerSetHashMappingSize(Controller, Size); -- 2.50.1.windows.1 Ngoc Tu Dinh | Vates XCP-ng Developer XCP-ng & Xen Orchestra - Vates solutions web: https://vates.tech
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |