Lines Matching defs:fe

22 netfe_stream_term_tcp(struct netfe_lcore *fe, struct netfe_stream *fes)
29 netfe_put_stream(fe, &fe->free, fes);
33 netfe_stream_close_tcp(struct netfe_lcore *fe, struct netfe_stream *fes)
36 netfe_stream_term_tcp(fe, fes);
43 netfe_stream_open_tcp(struct netfe_lcore *fe, struct netfe_sprm *sprm,
53 fes = netfe_get_stream(&fe->free);
61 fes->rxev = tle_event_alloc(fe->syneq, fes);
65 netfe_stream_close_tcp(fe, fes);
95 netfe_stream_close_tcp(fe, fes);
121 netfe_put_stream(fe, &fe->use, fes);
132 struct netfe_lcore *fe;
147 sz = sizeof(*fe) + snum * sizeof(struct netfe_stream);
148 fe = rte_zmalloc_socket(NULL, sz, RTE_CACHE_LINE_SIZE,
151 if (fe == NULL) {
157 RTE_PER_LCORE(_fe) = fe;
159 fe->snum = snum;
161 LIST_INIT(&fe->free.head);
162 LIST_INIT(&fe->use.head);
165 fe->syneq = tle_evq_create(&eprm);
166 fe->ereq = tle_evq_create(&eprm);
167 fe->rxeq = tle_evq_create(&eprm);
168 fe->txeq = tle_evq_create(&eprm);
171 __func__, lcore, fe->syneq, fe->ereq, fe->rxeq, fe->txeq);
172 if (fe->syneq == NULL || fe->ereq == NULL || fe->rxeq == NULL ||
173 fe->txeq == NULL)
176 fes = (struct netfe_stream *)(fe + 1);
178 fes[i].rxev = tle_event_alloc(fe->rxeq, fes + i);
179 fes[i].txev = tle_event_alloc(fe->txeq, fes + i);
180 fes[i].erev = tle_event_alloc(fe->ereq, fes + i);
181 netfe_put_stream(fe, &fe->free, fes + i);
188 fes = netfe_stream_open_tcp(fe, sprm, lcore, prm->stream[i].op,
231 netfe_create_fwd_stream(struct netfe_lcore *fe, struct netfe_stream *fes,
237 fws = netfe_stream_open_tcp(fe, &fes->fwdprm, lcore, FWD, bidx, 0);
246 netfe_stream_term_tcp(fe, fws);
320 netfe_new_conn_tcp(struct netfe_lcore *fe, uint32_t lcore,
338 k = netfe_get_streams(&fe->free, fs, n);
366 netfe_put_stream(fe, &fe->use, ts);
384 ts->fwds = netfe_create_fwd_stream(fe, fes, lcore,
391 fe->tcp_stat.acc += k;
392 fe->tcp_stat.rej += n - k;
398 struct netfe_lcore *fe;
402 fe = RTE_PER_LCORE(_fe);
403 if (fe == NULL)
407 n = tle_evq_get(fe->syneq, (const void **)(uintptr_t)fs, RTE_DIM(fs));
414 __func__, lcore, fe->syneq, n);
417 netfe_new_conn_tcp(fe, lcore, fs[j]);
423 struct netfe_lcore *fe;
432 fe = RTE_PER_LCORE(_fe);
433 if (fe == NULL)
437 n = tle_evq_get(fe->ereq, (const void **)(uintptr_t)fs, RTE_DIM(fs));
442 __func__, rte_lcore_id(), fe->ereq, n);
470 tle_evq_idle(fe->rxeq, rv, k);
471 tle_evq_idle(fe->txeq, tv, k);
472 tle_evq_idle(fe->ereq, ev, k);
488 netfe_rem_stream(&fe->use, fs[j]);
489 netfe_stream_term_tcp(fe, fs[j]);
490 fe->tcp_stat.ter++;
581 struct netfe_lcore *fe;
584 fe = RTE_PER_LCORE(_fe);
585 if (fe == NULL)
591 n = tle_evq_get(fe->rxeq, (const void **)(uintptr_t)fs, RTE_DIM(fs));
596 __func__, lcore, fe->rxeq, n);
609 n = tle_evq_get(fe->txeq, (const void **)(uintptr_t)fs, RTE_DIM(fs));
614 __func__, lcore, fe->txeq, n);
639 struct netfe_lcore *fe;
645 fe = RTE_PER_LCORE(_fe);
646 if (fe == NULL)
649 snum = fe->use.num;
651 fes = netfe_get_stream(&fe->use);
654 netfe_stream_close(fe, fes);
657 acc = fe->tcp_stat.acc;
658 rej = fe->tcp_stat.rej;
659 ter = fe->tcp_stat.ter;
664 tle_evq_destroy(fe->txeq);
665 tle_evq_destroy(fe->rxeq);
666 tle_evq_destroy(fe->ereq);
667 tle_evq_destroy(fe->syneq);
669 rte_free(fe);
705 if (prm->fe.max_streams != 0)
706 rc = netfe_lcore_init_tcp(&prm->fe);