Lines Matching defs:tbl

17 	struct gro_tcp6_tbl *tbl;
27 tbl = rte_zmalloc_socket(__func__,
31 if (tbl == NULL)
35 tbl->items = rte_zmalloc_socket(__func__,
39 if (tbl->items == NULL) {
40 rte_free(tbl);
43 tbl->max_item_num = entries_num;
46 tbl->flows = rte_zmalloc_socket(__func__,
50 if (tbl->flows == NULL) {
51 rte_free(tbl->items);
52 rte_free(tbl);
57 tbl->flows[i].start_index = INVALID_ARRAY_INDEX;
58 tbl->max_flow_num = entries_num;
60 return tbl;
64 gro_tcp6_tbl_destroy(void *tbl)
66 struct gro_tcp6_tbl *tcp_tbl = tbl;
76 find_an_empty_flow(struct gro_tcp6_tbl *tbl)
79 uint32_t max_flow_num = tbl->max_flow_num;
82 if (tbl->flows[i].start_index == INVALID_ARRAY_INDEX)
88 insert_new_flow(struct gro_tcp6_tbl *tbl,
95 flow_idx = find_an_empty_flow(tbl);
99 dst = &(tbl->flows[flow_idx].key);
106 tbl->flows[flow_idx].start_index = item_idx;
107 tbl->flow_num++;
129 struct gro_tcp6_tbl *tbl,
179 max_flow_num = tbl->max_flow_num;
180 remaining_flow_num = tbl->flow_num;
183 if (tbl->flows[i].start_index != INVALID_ARRAY_INDEX) {
184 if (is_same_tcp6_flow(&tbl->flows[i].key, &key)) {
194 item_idx = insert_new_tcp_item(pkt, tbl->items, &tbl->item_num,
195 tbl->max_item_num, start_time,
199 if (insert_new_flow(tbl, &key, item_idx) ==
205 delete_tcp_item(tbl->items, item_idx, &tbl->item_num, INVALID_ARRAY_INDEX);
211 return process_tcp_item(pkt, tcp_hdr, tcp_dl, tbl->items, tbl->flows[i].start_index,
212 &tbl->item_num, tbl->max_item_num,
217 gro_tcp6_tbl_timeout_flush(struct gro_tcp6_tbl *tbl,
224 uint32_t max_flow_num = tbl->max_flow_num;
227 if (unlikely(tbl->flow_num == 0))
230 j = tbl->flows[i].start_index;
232 if (tbl->items[j].start_time <= flush_timestamp) {
233 out[k++] = tbl->items[j].firstseg;
234 if (tbl->items[j].nb_merged > 1)
235 update_header(&(tbl->items[j]));
240 j = delete_tcp_item(tbl->items, j,
241 &tbl->item_num, INVALID_ARRAY_INDEX);
242 tbl->flows[i].start_index = j;
244 tbl->flow_num--;
260 gro_tcp6_tbl_pkt_count(void *tbl)
262 struct gro_tcp6_tbl *gro_tbl = tbl;