Wow, thanks for taking an interest Darren.

So you believe this is return-rst in pfil, and nothing to do with ipnat code?
It's odd that I've not had crashes before then, as we have pfil 2.1.11 with
return-rst rules on many systems.  We are using IP Filter on each server
as just a software firewall layer by the way, no routing or real NAT.

I suppose another choice would be remove return-rst from the rules?
We are only really using that for internal convenience so a system that is not
allowed access to ssh for example, gets a quick reject rather than waiting
for timeout.

On the other hand these systems are UltraSparc 4 systems unlike most
of our servers, I can't help thinking maybe there is a platform difference that
is being tickled.

I'll try the patched pfil, with the existing ipf package and let you know.

Darren Reed wrote:
Try this patch to the pfil module.

Darren

diff -c -r1.18 pkt.c
*** pkt.c       24 May 2006 06:06:48 -0000      1.18
--- pkt.c       13 Feb 2007 10:20:28 -0000
***************
*** 210,215 ****
--- 210,224 ----
  }
+ void
+ pfil_timeoutsend(void *arg)
+ {
+       mblk_t *m = arg;
+
+       putnext(m->b_queue, m);
+ }
+
+
  /*
------------------------------------------------------------------------ */
/* Function: pfil_makearpreq */
  /* Returns:     int  - 0 == success, 1 ==
failure                           */
***************
*** 303,308 ****
linkb(new->ire_mp, mb);
        linkb(n, new->ire_mp);
!       putnext(q, n);
        return 0;
  }
--- 312,318 ----
linkb(new->ire_mp, mb);
        linkb(n, new->ire_mp);
!       n->b_queue = q;
!       timeout(pfil_timeoutsend, n, 2);
        return 0;
  }


Reply via email to