Lines Matching defs:ofo

32 struct ofo {
59 _ofo_remove(struct ofo *ofo, uint32_t pos, uint32_t num)
63 n = ofo->nb_elem - num - pos;
65 _ofodb_move(&ofo->db[pos + i], &ofo->db[pos + num + i]);
66 ofo->nb_elem -= num;
70 tcp_ofo_reset(struct ofo *ofo)
74 for (i = 0; i != ofo->nb_elem; i++)
75 _ofodb_free(&ofo->db[i]);
77 _ofo_remove(ofo, 0, ofo->nb_elem);
81 _ofo_insert_mbuf(struct ofo* ofo, uint32_t pos, union seqlen* sl,
86 struct ofodb* db = ofo->db + pos;
93 if (!is_compact && pos < ofo->nb_elem - 1)
94 end = ofo->db[pos + 1].sl.seq;
116 _ofo_insert_new(struct ofo *ofo, uint32_t pos, union seqlen *sl,
121 n = ofo->nb_elem;
124 if (n == ofo->nb_max)
128 ofo->nb_elem = n + 1;
132 _ofodb_move(&ofo->db[i], &ofo->db[i - 1]);
134 ofo->db[pos].nb_elem = 0;
135 ofo->db[pos].sl.seq = sl->seq;
136 ofo->db[pos].sl.len = 0;
138 i = _ofo_insert_mbuf(ofo, pos, sl, mb, num, false);
143 _ofo_insert_right(struct ofo *ofo, uint32_t pos, union seqlen *sl,
150 db = ofo->db + pos;
171 j = _ofo_insert_mbuf(ofo, pos, sl, mb + i, num - i, is_compact);
176 _ofo_step(struct ofo *ofo, union seqlen *sl, struct rte_mbuf *mb[],
183 n = ofo->nb_elem;
190 db = ofo->db + i;
208 return _ofo_insert_new(ofo, i + 1, sl, mb, num);
219 return _ofo_insert_right(ofo, i, sl, mb, num, false);
222 return _ofo_insert_new(ofo, i + 1, sl, mb, num);
226 _ofo_compact(struct ofo *ofo)
231 for (i = 0; i < ofo->nb_elem; i++) {
233 for (j = i + 1; j != ofo->nb_elem; j++) {
236 ro = ofo->db[j].sl.seq - ofo->db[i].sl.seq;
237 if (ro > ofo->db[i].sl.len)
240 db = ofo->db + j;
241 n = _ofo_insert_right(ofo, i, &db->sl, db->obj,
253 _ofo_remove(ofo, i + 1, n);
296 tcp_ofo_init(struct ofo *ofo, uint32_t nobj, uint32_t ndb);