Date: Mon, 15 Sep 2003 01:24:43 -0700 From: Luigi Rizzo <rizzo@icir.org> To: Eugene Grosbein <eugen@kuzbass.ru> Cc: net@freebsd.org Subject: Re: ipfw: pullup failed Message-ID: <20030915012443.A49336@xorpc.icir.org> In-Reply-To: <3F654BBB.9240465B@kuzbass.ru>; from eugen@kuzbass.ru on Mon, Sep 15, 2003 at 01:18:51PM %2B0800 References: <3F6546C1.41B7143@kuzbass.ru> <20030914221343.A25641@xorpc.icir.org> <3F654BBB.9240465B@kuzbass.ru>
index | next in thread | previous in thread | raw e-mail
On Mon, Sep 15, 2003 at 01:18:51PM +0800, Eugene Grosbein wrote:
> Luigi Rizzo wrote:
>
> > > My router that uses ipfw2 for WF2Q+ sometimes writes in log:
> > >
> > > Sep 15 00:00:00 gw2 newsyslog[51667]: logfile turned over
> > > Sep 15 06:20:27 gw2 /kernel: ipfw: pullup failed
> > > Sep 15 07:00:42 gw2 /kernel: ipfw: pullup failed
> > > Sep 15 07:58:55 gw2 /kernel: ipfw: pullup failed
> > > Sep 15 08:23:13 gw2 /kernel: ipfw: pullup failed
> > > Sep 15 10:14:38 gw2 /kernel: ipfw: pullup failed
> > > Sep 15 11:50:53 gw2 /kernel: ipfw: pullup failed
> >
> > a possibility is that it has run out of mbufs. what does netstat -m say ?
>
> 669/1920/65536 mbufs in use (current/peak/max):
> 654 mbufs allocated to data
> 15 mbufs allocated to packet headers
> 472/712/16384 mbuf clusters in use (current/peak/max)
ok, another one is that the packet was too short for the desired
length (supposedly, as a result of a collision).
You could perhaps try the following patch and see if it tells you
something more interesting.
cheers
luigi
static int
ipfw_chk(struct ip_fw_args *args)
{
+ int desired_len = -1;
/*
* Local variables hold state during the processing of a packet.
*
* IMPORTANT NOTE: to speed up the processing of rules, there
...
#define PULLUP_TO(len) \
do { \
if ((m)->m_len < (len)) { \
args->m = m = m_pullup(m, (len)); \
- if (m == 0) \
+ if (m == 0) { \
+ desired_len = (len); \
goto pullup_failed; \
+ } \
ip = mtod(m, struct ip *); \
} \
} while (0)
...
pullup_failed:
if (fw_verbose)
- printf("pullup failed\n");
+ printf("pullup failed have %d want %d\n", m->m_len,desired_len);
return(IP_FW_PORT_DENY_FLAG);
}
> 1904 Kbytes allocated to network (3% of mb_map in use)
> 0 requests for memory denied
> 0 requests for memory delayed
> 0 calls to protocol drain routines
help
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20030915012443.A49336>
