aboutsummaryrefslogtreecommitdiffstats
path: root/src/vnet
diff options
context:
space:
mode:
authorDamjan Marion <damarion@cisco.com>2021-10-31 19:53:27 +0100
committerFlorin Coras <florin.coras@gmail.com>2021-11-02 17:33:16 +0000
commit55c8fa4f23b6830904c055f524c404d58ac85d42 (patch)
tree5225e59918ac62abbc85c962c5daf5d724d7c463 /src/vnet
parent55b33234bd04543479e09e536930dd6661c02c68 (diff)
classify: fix build on systems without crc32f and vector unit
Change-Id: I4229239ed6b81c10362faa1aa9f658c3fccfd31b Type: fix Signed-off-by: Damjan Marion <damarion@cisco.com>
Diffstat (limited to 'src/vnet')
-rw-r--r--src/vnet/classify/vnet_classify.h8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/vnet/classify/vnet_classify.h b/src/vnet/classify/vnet_classify.h
index ff79c26c45a..60604beabe0 100644
--- a/src/vnet/classify/vnet_classify.h
+++ b/src/vnet/classify/vnet_classify.h
@@ -196,7 +196,11 @@ typedef struct
CLIB_CACHE_LINE_ALIGN_MARK (cacheline2);
/* Mask to apply after skipping N vectors */
- u32x4 mask[8];
+ union
+ {
+ u32x4 mask[8];
+ u32 mask_u32[32];
+ };
} vnet_classify_table_t;
@@ -339,7 +343,7 @@ vnet_classify_hash_packet_inline (vnet_classify_table_t *t, const u8 *h)
#ifdef clib_crc32c_uses_intrinsics
return clib_crc32c ((u8 *) & xor_sum, sizeof (xor_sum));
#else
- return clib_xxhash (xor_sum.as_u64[0] ^ xor_sum.as_u64[1]);
+ return clib_xxhash (xor_sum);
#endif
}