From: kumar Amber
This patch adds the per profile AVX512 opt hashing to autovalidator
for validating the hash values against the scalar hash.
Signed-off-by: Kumar Amber
---
lib/dpif-netdev-private-extract.c | 12
1 file changed, 12 insertions(+)
diff --git a/lib/dpif-netdev-private-extract.c
b/lib/dpif-netdev-private-extract.c
index b3d96075c..263629903 100644
--- a/lib/dpif-netdev-private-extract.c
+++ b/lib/dpif-netdev-private-extract.c
@@ -303,6 +303,9 @@ dpif_miniflow_extract_autovalidator(struct dp_packet_batch
*packets,
DP_PACKET_BATCH_FOR_EACH (i, packet, packets) {
pkt_metadata_init(>md, in_port);
miniflow_extract(packet, [i].mf);
+keys[i].len = netdev_flow_key_size(miniflow_n_values([i].mf));
+keys[i].hash = dpif_netdev_packet_get_rss_hash_orig_pkt(packet,
+[i].mf);
/* Store known good metadata to compare with optimized metadata. */
good_l2_5_ofs[i] = packet->l2_5_ofs;
@@ -352,6 +355,15 @@ dpif_miniflow_extract_autovalidator(struct dp_packet_batch
*packets,
failed = 1;
}
+/* Check hashes are equal. */
+if ((keys[i].hash != test_keys[i].hash) ||
+(keys[i].len != test_keys[i].len)) {
+ds_put_format(_msg, "Good hash: %d len: %d\tTest hash:%d"
+ " len:%d\n", keys[i].hash, keys[i].len,
+ test_keys[i].hash, test_keys[i].len);
+failed = 1;
+}
+
if (!miniflow_equal([i].mf, _keys[i].mf)) {
uint32_t block_cnt = miniflow_n_values([i].mf);
ds_put_format(_msg, "Autovalidation blocks failed\n"
--
2.25.1
___
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev