24 lines
		
	
	
	
		
			706 B
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			24 lines
		
	
	
	
		
			706 B
		
	
	
	
		
			Diff
		
	
	
	
	
	
| --- sys/netpfil/pf/pf.c.orig
 | |
| +++ sys/netpfil/pf/pf.c
 | |
| @@ -129,6 +129,8 @@
 | |
|  #define	V_pf_tcp_secret_init		 VNET(pf_tcp_secret_init)
 | |
|  VNET_DEFINE(int,			 pf_tcp_iss_off);
 | |
|  #define	V_pf_tcp_iss_off		 VNET(pf_tcp_iss_off)
 | |
| +VNET_DECLARE(int,			 pf_vnet_active);
 | |
| +#define	V_pf_vnet_active		 VNET(pf_vnet_active)
 | |
|  
 | |
|  /*
 | |
|   * Queue for pf_intr() sends.
 | |
| @@ -1441,6 +1443,12 @@
 | |
|  			kproc_exit(0);
 | |
|  		}
 | |
|  
 | |
| +		/* Wait while V_pf_default_rule.timeout is initialized. */
 | |
| +		if (V_pf_vnet_active == 0) {
 | |
| +			CURVNET_RESTORE();
 | |
| +			continue;
 | |
| +		}
 | |
| +
 | |
|  		/* Process 1/interval fraction of the state table every run. */
 | |
|  		idx = pf_purge_expired_states(idx, pf_hashmask /
 | |
|  			    (V_pf_default_rule.timeout[PFTM_INTERVAL] * 10));
 |