On Thu, 2017-10-05 at 14:24 +0200, Toke Høiland-Jørgensen wrote:
> > + for (;;) {
> > + head = &tin->new_flows;
> > + if (list_empty(head)) {
> > + head = &tin->old_flows;
> > + if (list_empty(head))
> > + break;
> > + }
> > +
> > + flow = list_first_entry(head, struct fq_flow, flowchain);
> > + fq_flow_filter(fq, flow, filter_func, filter_data, free_func);
> > + }
>
> Isn't this going to loop forever?
Good question, I'll admit that I copied this without understanding it
from fq_tin_reset(), and didn't think about it much.
I think you're right though - I guess this needs to iterate the
new_flows and old_flows.
johannes