rib: fix the IPv6 depth mask
Checks
Commit Message
Fixes: 03b8372a9a73 ("rib: fix max depth IPv6 lookup")
Cc: ohilyard@iol.unh.edu
Cc: stable@dpdk.org
Signed-off-by: Vladimir Medvedkin <vladimir.medvedkin@intel.com>
---
lib/rib/rte_rib6.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Comments
06/09/2021 17:54, Vladimir Medvedkin:
> Fixes: 03b8372a9a73 ("rib: fix max depth IPv6 lookup")
> Cc: ohilyard@iol.unh.edu
> Cc: stable@dpdk.org
>
> Signed-off-by: Vladimir Medvedkin <vladimir.medvedkin@intel.com>
An explanation would have been appreciated.
> - index = (depth & (UINT8_MAX - 1)) / CHAR_BIT;
> + index = (depth & INT8_MAX) / CHAR_BIT;
Applied, thanks.
@@ -88,7 +88,7 @@ get_dir(const uint8_t ip[RTE_RIB6_IPV6_ADDR_SIZE], uint8_t depth)
* is incremented in blocks of 8 (1 byte). This means the last
* 3 bits are irrelevant to what the index of ip should be.
*/
- index = (depth & (UINT8_MAX - 1)) / CHAR_BIT;
+ index = (depth & INT8_MAX) / CHAR_BIT;
/*
* msk is the bitmask used to extract the bit used to decide the