NULL, /* handle */
"pfilter", /* modname */
0, /* refcnt */
- 0, /* fast schedule */
+ 1, /* fast schedule */
create, /* create function */
compare, /* compare function */
select_dest, /* select_dest function */
struct l7vs_pfilter_service *pfilter_service;
int ret;
int return_value = 0;
- std::string packet_data;
/*-------- DEBUG LOG --------*/
if (pfilter_protomod.get_log_level != NULL &&
#else
if ( boost::regex_search(packet_data, pfilter_service->regex) ) {
#endif
- return_value = -1;
+ PUT_LOG_INFO(pfilter_protomod, LOG_CAT_L7VSD_PROTOCOL, 20,
+ "Connection reset by packet filter module");
+ conn->ciom->status = iomux_conn_disconnected;
goto analyze_cldata_out;
}
}
l7vs_conn_QoS_recvsize_register( conn, conn->cldata_len, QOS_UP );
break;
+ case iomux_conn_disconnected:
+ /* Some protocol modules(*) analyzed client request packets,
+ * then set iomux_conn_disconnected for destroying this connection.
+ * (*) ex. protomod_pfilter module
+ */
+ break;
default:
//invalid status
LOGGER_PUT_LOG_ERROR(LOG_CAT_L7VSD_PROGRAM,34, "error / invalid status(%d)", iom->status);