fec->flow_tcp_state[i] = StatsRegisterCounter(name, t);
}
+ fec->flow_tcp_liberal = StatsRegisterCounter("flow.end.tcp_liberal", t);
}
typedef struct FlowEndCounters_ {
uint16_t flow_state[FLOW_STATE_SIZE];
uint16_t flow_tcp_state[TCP_CLOSED + 1];
+ uint16_t flow_tcp_liberal;
} FlowEndCounters;
static inline void FlowEndCountersUpdate(ThreadVars *tv, FlowEndCounters *fec, Flow *f)
if (f->proto == IPPROTO_TCP && f->protoctx != NULL) {
TcpSession *ssn = f->protoctx;
StatsIncr(tv, fec->flow_tcp_state[ssn->state]);
+ if (ssn->lossy_be_liberal) {
+ StatsIncr(tv, fec->flow_tcp_liberal);
+ }
}
StatsIncr(tv, fec->flow_state[f->flow_state]);
}