@@ -85,6 +85,7 @@ struct ifc_common {
8585/*
8686 * <params>
8787 * <uniRecFormat>DST_IP,SRC_IP,BYTES,DST_PORT,?TCP_FLAGS,SRC_PORT,PROTOCOL</uniRecFormat>
88+ * <splitBiflow>true</splitBiflow>
8889 * <trapIfcCommon> <!-- optional -->
8990 * <timeout>NO_WAIT</timeout> <!-- optional -->
9091 * <buffer>true</buffer> <!-- optional -->
@@ -121,6 +122,7 @@ struct ifc_common {
121122enum params_xml_nodes {
122123 // Main parameters
123124 NODE_UNIREC_FMT = 1 ,
125+ NODE_BIFLOW_SPLIT ,
124126 NODE_TRAP_COMMON ,
125127 NODE_TRAP_SPEC ,
126128 // TRAP common parameters
@@ -205,6 +207,7 @@ static const struct fds_xml_args args_trap_common[] = {
205207static const struct fds_xml_args args_params [] = {
206208 FDS_OPTS_ROOT ("params" ),
207209 FDS_OPTS_ELEM (NODE_UNIREC_FMT , "uniRecFormat" , FDS_OPTS_T_STRING , 0 ),
210+ FDS_OPTS_ELEM (NODE_BIFLOW_SPLIT , "splitBiflow" , FDS_OPTS_T_BOOL , FDS_OPTS_P_OPT ),
208211 FDS_OPTS_NESTED (NODE_TRAP_COMMON , "trapIfcCommon" , args_trap_common , FDS_OPTS_P_OPT ),
209212 FDS_OPTS_NESTED (NODE_TRAP_SPEC , "trapIfcSpec" , args_trap_spec , 0 ),
210213 FDS_OPTS_END
@@ -775,7 +778,10 @@ cfg_parse_params(ipx_ctx_t *ctx, fds_xml_ctx_t *root, struct conf_params *cfg)
775778{
776779 int rc ;
777780
778- // Prepare default TRAP common parameters
781+ // Set default values
782+ cfg -> biflow_split = true;
783+
784+ // Set default TRAP common parameters
779785 struct ifc_common common ;
780786 common .autoflush = DEF_IFC_AUTOFLUSH ;
781787 common .buffer = DEF_IFC_BUFFER ;
@@ -795,6 +801,11 @@ cfg_parse_params(ipx_ctx_t *ctx, fds_xml_ctx_t *root, struct conf_params *cfg)
795801 return IPX_ERR_NOMEM ;
796802 }
797803 break ;
804+ case NODE_BIFLOW_SPLIT :
805+ // Split biflow
806+ assert (content -> type == FDS_OPTS_T_BOOL );
807+ cfg -> biflow_split = content -> val_bool ;
808+ break ;
798809 case NODE_TRAP_SPEC :
799810 // TRAP output interface specifier
800811 assert (content -> type == FDS_OPTS_T_CONTEXT );
0 commit comments