On Thursday 11 August 2005 17:35, Sergey Lapin wrote:
> > ****************************************************
> > ***************** Bug#3 (critical) *****************
> > ****************************************************
> >
> > Because route-to for "out" rules did not work well, we decided to add
> > the redirection for "in" rules so we added
> >
> > pass in quick on $dmz_if route-to ($ext_if1 $ext_gw1) tagged
> > DMZ_TO_EXT1 keep state
> > pass in quick on $dmz_if route-to ($ext_if2 $ext_gw2) tagged
> > DMZ_TO_EXT2 keep state
> >
> > right before before "pass out quick" rules. Everything started working
> > right and it worked fine for some time but then firewall died (machine
> > do not respond to keyboard and the only bring it back to live was to
> > bounce power). After rebooting situation repeated - router was working
> > well for 2 to 10 minutes and then unexpectedly freeze. We discovered
> > that problem was caused by broadcast UDP packet coming on dmz_if and
> > destined to 255.255.255.255 Later we discovered that this situation is
> > triggered by any packet for which both conditions are true:
> > 1. destination MAC is broadcast
> > 2. destination IP is none of router's directly connected networks
> >
> > Any such a packet kills the router. Actually, router is not completely
> > dead - it sends that damn packet over and over at huge speed to the
> > outer interface.
> >
> > Even if I'm doing something completely wrong, router should NOT hang that
> > way.

> Okay, we tested FreeBSD 5.4, FreeBSD 6.0 and OpenBSD 3.7

Thanks for doing this research.  Appreciated!

> Bug #2 present everywhere. Which means it is pf bug (or misfeature)

I'll leave that to the OpenBSD guys for the moment ...

> Bug #3 is definitely FreeBSD specific - it does not hurt OpenBSD.

... and focus on this one.  You told in an earlier mail that you have been 
able to break to DDB while hung?  Can you get a couple of traces from that 
machine so that we get an idea where we are spinning?  Just break into the 
debugger, issue a "trace" followed by a "continue", break again, repeat.  
Finnally you should make sure that you have a "interesting" trace (i.e. 
something with pf_* functions) and "call doadump".  On reboot secure the core 
and get back to me.

Thanks for your investigation and help!

-- 
/"\  Best regards,                      | [EMAIL PROTECTED]
\ /  Max Laier                          | ICQ #67774661
 X   http://pf4freebsd.love2party.net/  | [EMAIL PROTECTED]
/ \  ASCII Ribbon Campaign              | Against HTML Mail and News

Attachment: pgpc9es6Ntfv7.pgp
Description: PGP signature

Reply via email to