diff --git a/src/flow-manager.c b/src/flow-manager.c index 0deb0bc571..0455b90ef0 100644 --- a/src/flow-manager.c +++ b/src/flow-manager.c @@ -67,6 +67,8 @@ #include "output-flow.h" +#define FLOW_BYPASSED_TIMEOUT 6 + /* Run mode selected at suricata.c */ extern int run_mode; @@ -203,11 +205,15 @@ static inline uint32_t FlowGetFlowTimeout(const Flow *f, enum FlowState state) timeout = flow_timeouts[f->protomap].new_timeout; break; case FLOW_STATE_ESTABLISHED: + case FLOW_STATE_LOCAL_BYPASSED: timeout = flow_timeouts[f->protomap].est_timeout; break; case FLOW_STATE_CLOSED: timeout = flow_timeouts[f->protomap].closed_timeout; break; + case FLOW_STATE_CAPTURE_BYPASSED: + timeout = FLOW_BYPASSED_TIMEOUT; + break; } return timeout; } diff --git a/src/flow.h b/src/flow.h index df5d9a4ac4..ec05ec1765 100644 --- a/src/flow.h +++ b/src/flow.h @@ -425,6 +425,8 @@ enum FlowState { FLOW_STATE_NEW = 0, FLOW_STATE_ESTABLISHED, FLOW_STATE_CLOSED, + FLOW_STATE_LOCAL_BYPASSED, + FLOW_STATE_CAPTURE_BYPASSED, }; typedef struct FlowProtoTimeout_ {