MCPcopy Create free account
hub / github.com/F-Stack/f-stack / test_toeplitz_hash_calc

Function test_toeplitz_hash_calc

dpdk/app/test/test_thash.c:110–174  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

108};
109
110static int
111test_toeplitz_hash_calc(void)
112{
113 uint32_t i, j;
114 union rte_thash_tuple tuple;
115 uint32_t rss_l3, rss_l3l4;
116 uint8_t rss_key_be[RTE_DIM(default_rss_key)];
117 struct rte_ipv6_hdr ipv6_hdr;
118
119 /* Convert RSS key*/
120 rte_convert_rss_key((uint32_t *)&default_rss_key,
121 (uint32_t *)rss_key_be, RTE_DIM(default_rss_key));
122
123
124 for (i = 0; i < RTE_DIM(v4_tbl); i++) {
125 tuple.v4.src_addr = v4_tbl[i].src_ip;
126 tuple.v4.dst_addr = v4_tbl[i].dst_ip;
127 tuple.v4.sport = v4_tbl[i].src_port;
128 tuple.v4.dport = v4_tbl[i].dst_port;
129 /*Calculate hash with original key*/
130 rss_l3 = rte_softrss((uint32_t *)&tuple,
131 RTE_THASH_V4_L3_LEN, default_rss_key);
132 rss_l3l4 = rte_softrss((uint32_t *)&tuple,
133 RTE_THASH_V4_L4_LEN, default_rss_key);
134 if ((rss_l3 != v4_tbl[i].hash_l3) ||
135 (rss_l3l4 != v4_tbl[i].hash_l3l4))
136 return -TEST_FAILED;
137 /*Calculate hash with converted key*/
138 rss_l3 = rte_softrss_be((uint32_t *)&tuple,
139 RTE_THASH_V4_L3_LEN, rss_key_be);
140 rss_l3l4 = rte_softrss_be((uint32_t *)&tuple,
141 RTE_THASH_V4_L4_LEN, rss_key_be);
142 if ((rss_l3 != v4_tbl[i].hash_l3) ||
143 (rss_l3l4 != v4_tbl[i].hash_l3l4))
144 return -TEST_FAILED;
145 }
146 for (i = 0; i < RTE_DIM(v6_tbl); i++) {
147 /*Fill ipv6 hdr*/
148 for (j = 0; j < RTE_DIM(ipv6_hdr.src_addr); j++)
149 ipv6_hdr.src_addr[j] = v6_tbl[i].src_ip[j];
150 for (j = 0; j < RTE_DIM(ipv6_hdr.dst_addr); j++)
151 ipv6_hdr.dst_addr[j] = v6_tbl[i].dst_ip[j];
152 /*Load and convert ipv6 address into tuple*/
153 rte_thash_load_v6_addrs(&ipv6_hdr, &tuple);
154 tuple.v6.sport = v6_tbl[i].src_port;
155 tuple.v6.dport = v6_tbl[i].dst_port;
156 /*Calculate hash with original key*/
157 rss_l3 = rte_softrss((uint32_t *)&tuple,
158 RTE_THASH_V6_L3_LEN, default_rss_key);
159 rss_l3l4 = rte_softrss((uint32_t *)&tuple,
160 RTE_THASH_V6_L4_LEN, default_rss_key);
161 if ((rss_l3 != v6_tbl[i].hash_l3) ||
162 (rss_l3l4 != v6_tbl[i].hash_l3l4))
163 return -TEST_FAILED;
164 /*Calculate hash with converted key*/
165 rss_l3 = rte_softrss_be((uint32_t *)&tuple,
166 RTE_THASH_V6_L3_LEN, rss_key_be);
167 rss_l3l4 = rte_softrss_be((uint32_t *)&tuple,

Callers

nothing calls this directly

Calls 4

rte_convert_rss_keyFunction · 0.85
rte_softrssFunction · 0.85
rte_thash_load_v6_addrsFunction · 0.85
rte_softrss_beFunction · 0.50

Tested by

no test coverage detected