| 
						
						
							
								
							
						
						
					 | 
					 | 
					@ -374,28 +374,20 @@ static inline int FlowCompareICMPv4(Flow *f, const Packet *p)
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        /* first check the direction of the flow, in other words, the client ->
 | 
					 | 
					 | 
					 | 
					        /* first check the direction of the flow, in other words, the client ->
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					         * server direction as it's most likely the ICMP error will be a
 | 
					 | 
					 | 
					 | 
					         * server direction as it's most likely the ICMP error will be a
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					         * response to the clients traffic */
 | 
					 | 
					 | 
					 | 
					         * response to the clients traffic */
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        if ((f->src.addr_data32[0] == IPV4_GET_RAW_IPSRC_U32( ICMPV4_GET_EMB_IPV4(p) )) &&
 | 
					 | 
					 | 
					 | 
					        if ((f->src.addr_data32[0] == IPV4_GET_RAW_IPSRC_U32(ICMPV4_GET_EMB_IPV4(p))) &&
 | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                (f->dst.addr_data32[0] == IPV4_GET_RAW_IPDST_U32( ICMPV4_GET_EMB_IPV4(p) )) &&
 | 
					 | 
					 | 
					 | 
					                (f->dst.addr_data32[0] == IPV4_GET_RAW_IPDST_U32(ICMPV4_GET_EMB_IPV4(p))) &&
 | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                f->sp == p->icmpv4vars.emb_sport &&
 | 
					 | 
					 | 
					 | 
					                f->sp == p->icmpv4vars.emb_sport && f->dp == p->icmpv4vars.emb_dport &&
 | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                f->dp == p->icmpv4vars.emb_dport &&
 | 
					 | 
					 | 
					 | 
					                f->proto == ICMPV4_GET_EMB_PROTO(p) && f->recursion_level == p->recursion_level &&
 | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                f->proto == ICMPV4_GET_EMB_PROTO(p) &&
 | 
					 | 
					 | 
					 | 
					                CmpVlanIds(f->vlan_id, p->vlan_id)) {
 | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                f->recursion_level == p->recursion_level &&
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                f->vlan_id[0] == p->vlan_id[0] &&
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                f->vlan_id[1] == p->vlan_id[1])
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        {
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            return 1;
 | 
					 | 
					 | 
					 | 
					            return 1;
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        /* check the less likely case where the ICMP error was a response to
 | 
					 | 
					 | 
					 | 
					        /* check the less likely case where the ICMP error was a response to
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					         * a packet from the server. */
 | 
					 | 
					 | 
					 | 
					         * a packet from the server. */
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        } else if ((f->dst.addr_data32[0] == IPV4_GET_RAW_IPSRC_U32( ICMPV4_GET_EMB_IPV4(p) )) &&
 | 
					 | 
					 | 
					 | 
					        } else if ((f->dst.addr_data32[0] == IPV4_GET_RAW_IPSRC_U32(ICMPV4_GET_EMB_IPV4(p))) &&
 | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                (f->src.addr_data32[0] == IPV4_GET_RAW_IPDST_U32( ICMPV4_GET_EMB_IPV4(p) )) &&
 | 
					 | 
					 | 
					 | 
					                   (f->src.addr_data32[0] == IPV4_GET_RAW_IPDST_U32(ICMPV4_GET_EMB_IPV4(p))) &&
 | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                f->dp == p->icmpv4vars.emb_sport &&
 | 
					 | 
					 | 
					 | 
					                   f->dp == p->icmpv4vars.emb_sport && f->sp == p->icmpv4vars.emb_dport &&
 | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                f->sp == p->icmpv4vars.emb_dport &&
 | 
					 | 
					 | 
					 | 
					                   f->proto == ICMPV4_GET_EMB_PROTO(p) &&
 | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                f->proto == ICMPV4_GET_EMB_PROTO(p) &&
 | 
					 | 
					 | 
					 | 
					                   f->recursion_level == p->recursion_level && CmpVlanIds(f->vlan_id, p->vlan_id)) {
 | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                f->recursion_level == p->recursion_level &&
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                f->vlan_id[0] == p->vlan_id[0] &&
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                f->vlan_id[1] == p->vlan_id[1])
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        {
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            return 1;
 | 
					 | 
					 | 
					 | 
					            return 1;
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        }
 | 
					 | 
					 | 
					 | 
					        }
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
						
					 | 
					 | 
					
 
 |