kern/175530: lost dynamic IPFW rule for TCP session after 5 min inactivity

Vladimir Spiridenkov vs at gtn.ru
Wed Jan 23 13:20:01 UTC 2013


>Number:         175530
>Category:       kern
>Synopsis:       lost dynamic IPFW rule for TCP session after 5 min inactivity
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Wed Jan 23 13:20:00 UTC 2013
>Closed-Date:
>Last-Modified:
>Originator:     Vladimir Spiridenkov
>Release:        9.1-STABLE
>Organization:
ITR
>Environment:
FreeBSD vswork.itreg.ru 9.1-STABLE FreeBSD 9.1-STABLE #0 r245462M: Wed Jan 23 15:39:15 MSK 2013     vs at vswork.itreg.ru:/usr/obj/usr/src/sys/GENERIC  amd64
>Description:
there is no keepalive packets for TCP session during live time of dynamic IPFW rule

>How-To-Repeat:
root at vs# ssh 10.255.255.60

root at vs# ipfw -d show|grep -e 10.255.255.60
10200      32     7002 (299s) STATE tcp 10.10.10.44 46787 <-> 10.255.255.60 22

root at vs# sleep 275

root at vs# ipfw -d show|grep -e 10.255.255.60
10200      32     7002 (24s) STATE tcp 10.10.10.44 46787 <-> 10.255.255.60 22

root at vs# sleep 30

root at vs# ipfw -d show|grep -e 10.255.255.60

root at vs#

>Fix:
--- /usr/src/sys/netpfil/ipfw/ip_fw_dynamic.c-PREV      2013-01-15 21:03:16.000000000 +0400
+++ /usr/src/sys/netpfil/ipfw/ip_fw_dynamic.c   2013-01-23 15:27:23.356498876 +0400
@@ -1322,7 +1322,7 @@
         V_dyn_keepalive_interval = 20;
         V_dyn_keepalive_period = 5;
         V_dyn_keepalive = 1;    /* do send keepalives */
-       V_dyn_keepalive = time_uptime;
+       V_dyn_keepalive_last = time_uptime;
         
         V_dyn_max = 4096;       /* max # of dynamic rules */


>Release-Note:
>Audit-Trail:
>Unformatted:


More information about the freebsd-bugs mailing list