summaryrefslogtreecommitdiffstats
path: root/src/bp_sim.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/bp_sim.cpp')
-rwxr-xr-xsrc/bp_sim.cpp32
1 files changed, 23 insertions, 9 deletions
diff --git a/src/bp_sim.cpp b/src/bp_sim.cpp
index 48b4a158..47047831 100755
--- a/src/bp_sim.cpp
+++ b/src/bp_sim.cpp
@@ -1294,7 +1294,9 @@ bool CPacketIndication::ConvertPacketToIpv6InPlace(CCapPktRaw * pkt,
void CPacketIndication::ProcessPacket(CPacketParser *parser,
CCapPktRaw * pkt){
_ProcessPacket(parser,pkt);
- UpdateOffsets(); /* update fast offsets */
+ if ( m_desc.IsValidPkt() ){
+ UpdateOffsets(); /* update fast offsets */
+ }
}
@@ -2119,7 +2121,13 @@ int CCapFileFlowInfo::load_cap_file(std::string cap_file,uint16_t _id,uint8_t pl
}
}
+ }else{
+ printf("ERROR packet %d is not supported, should be IP(0x0800)/TCP/UDP format try to convert it using Wireshark !\n",cnt);
+ exit(-1);
}
+ }else{
+ printf("ERROR packet %d is not supported, should be IP(0x0800)/TCP/UDP format try to convert it using Wireshark !\n",cnt);
+ exit(-1);
}
}
@@ -4449,6 +4457,7 @@ int CErfIF::send_node(CGenNode * node){
CFlowPktInfo * lp=node->m_pkt_info;
rte_mbuf_t * m=lp->generate_new_mbuf(node);
+
fill_pkt(m_raw,m);
CPktNsecTimeStamp t_c(node->m_time);
m_raw->time_nsec = t_c.m_time_nsec;
@@ -4630,6 +4639,7 @@ void CCPortLatency::reset(){
m_tx_pkt_err=0;
m_tx_pkt_ok =0;
m_pkt_ok=0;
+ m_rx_check=0;
m_no_magic=0;
m_unsup_prot=0;
m_no_id=0;
@@ -5441,10 +5451,11 @@ void on_node_last(uint8_t plugin_id,CGenNode * node){
}
rte_mbuf_t * on_node_generate_mbuf(uint8_t plugin_id,CGenNode * node,CFlowPktInfo * pkt_info){
- if (CPluginCallback::callback) {
- CPluginCallback::callback->on_node_generate_mbuf(plugin_id,node,pkt_info);
- }
-
+ rte_mbuf_t * m;
+ assert(CPluginCallback::callback);
+ m=CPluginCallback::callback->on_node_generate_mbuf(plugin_id,node,pkt_info);
+ assert(m);
+ return(m);
}
@@ -6280,22 +6291,25 @@ rte_mbuf_t * CPluginCallbackSimple::rtsp_plugin(uint8_t plugin_id,CGenNode *
/* replace the tuples */
rte_mbuf_t * CPluginCallbackSimple::on_node_generate_mbuf(uint8_t plugin_id,CGenNode * node,CFlowPktInfo * pkt_info){
+
+ rte_mbuf_t * m=NULL;
switch (plugin_id) {
case mpRTSP:
- rtsp_plugin(plugin_id,node,pkt_info);
+ m=rtsp_plugin(plugin_id,node,pkt_info);
break;
case mpSIP_VOICE:
- sip_voice_plugin(plugin_id,node,pkt_info);
+ m=sip_voice_plugin(plugin_id,node,pkt_info);
break;
case mpDYN_PYLOAD:
- dyn_pyload_plugin(plugin_id,node,pkt_info);
+ m=dyn_pyload_plugin(plugin_id,node,pkt_info);
break;
case mpAVL_HTTP_BROWSIN:
- http_plugin(plugin_id,node,pkt_info);
+ m=http_plugin(plugin_id,node,pkt_info);
break;
default:
assert(0);
}
+ return (m);
}