summaryrefslogtreecommitdiffstats
path: root/src/bp_sim.h
diff options
context:
space:
mode:
authorHanoh Haim <hhaim@cisco.com>2016-12-22 11:35:11 +0200
committerHanoh Haim <hhaim@cisco.com>2016-12-22 17:32:14 +0200
commit89309695626ba47a7e9f4c908a4d46c8b059df0f (patch)
treee316c2ec05d42558dde0c0a7d43c864bb91c1ad7 /src/bp_sim.h
parent7b8e05fc8996827a99d5da74b30138a15c89a96e (diff)
stateful scheduler cleanup
Signed-off-by: Hanoh Haim <hhaim@cisco.com>
Diffstat (limited to 'src/bp_sim.h')
-rwxr-xr-xsrc/bp_sim.h22
1 files changed, 22 insertions, 0 deletions
diff --git a/src/bp_sim.h b/src/bp_sim.h
index e8a37f6f..a41349d0 100755
--- a/src/bp_sim.h
+++ b/src/bp_sim.h
@@ -1498,6 +1498,14 @@ public:
}
void free_base();
+
+ bool is_flow_node(){
+ if ((m_type == FLOW_PKT) || (m_type == FLOW_PKT_NAT)) {
+ return (true);
+ }else{
+ return (false);
+ }
+ }
};
@@ -1557,6 +1565,9 @@ public:
/* update the node time for accurate scheduler */
inline void update_next_pkt_in_flow_as(void);
+ inline uint32_t update_next_pkt_in_flow_both(void);
+
+
inline void reset_pkt_in_flow(void);
inline uint8_t get_plugin_id(void){
return ( m_template_info->m_plugin_id);
@@ -4108,6 +4119,17 @@ inline void CGenNode::update_next_pkt_in_flow_as(void){
m_pkt_info = m_flow_info->GetPacket((pkt_index-1));
}
+
+inline uint32_t CGenNode::update_next_pkt_in_flow_both(void){
+ m_time += m_pkt_info->m_pkt_indication.m_cap_ipg;
+ uint32_t dticks = m_pkt_info->m_pkt_indication.m_ticks;
+ uint32_t pkt_index = m_pkt_info->m_pkt_indication.m_packet->pkt_cnt;
+ pkt_index++;
+ m_pkt_info = m_flow_info->GetPacket((pkt_index-1));
+ return (dticks);
+}
+
+
inline uint32_t CGenNode::update_next_pkt_in_flow_tw(void){
uint32_t dticks = m_pkt_info->m_pkt_indication.m_ticks;