Re: ipfw: pullup failed

From: Eugene Grosbein (eugen_at_kuzbass.ru)
Date: 11/25/03

  • Next message: Bruce M Simpson: "Re: conf/35726: Won't let me use ifconfig on the interfaces after upgrade to latest OS"
    Date: Tue, 25 Nov 2003 20:38:36 +0700
    To: Luigi Rizzo <rizzo@icir.org>
    
    

    Luigi Rizzo wrote:

    > > > > My router that uses ipfw2 for WF2Q+ sometimes writes in log:
    > > > > 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.
    >
    > 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);
    > }

    I've upgraded my router to 4.9-STABLE and applied your patch.
    Well, it produces something interesting. It produces kernel panic
    because m once became NULL in this printf :-)

    Eugene Grosbein
    _______________________________________________
    freebsd-net@freebsd.org mailing list
    http://lists.freebsd.org/mailman/listinfo/freebsd-net
    To unsubscribe, send any mail to "freebsd-net-unsubscribe@freebsd.org"


  • Next message: Bruce M Simpson: "Re: conf/35726: Won't let me use ifconfig on the interfaces after upgrade to latest OS"

    Relevant Pages

    • Re: ipfw: pullup failed
      ... Luigi Rizzo wrote: ... as a result of a collision). ... > You could perhaps try the following patch and see if it tells you ... To unsubscribe, ...
      (freebsd-net)
    • Re: ipfw: pullup failed
      ... > Luigi Rizzo wrote: ... another one is that the packet was too short for the desired ... as a result of a collision). ... > 0 requests for memory delayed ...
      (freebsd-net)
    • [PATCH] Part 1 of low level 802.1p priority support
      ... Here is the first patch to bring in 802.1p Packet Priority to FreeBSD; this is to support Differentiated Services and Quality-of-Service. ... This first stage enables FreeBSD to pass packets for 802.1q with VLAN 0 to the main input path in the stack, which is the IEEE standards-compliant behaviour. ...
      (freebsd-net)
    • Re: Packet loss every 30.999 seconds
      ... Just to confirm the patch did not change the behavior. ... It looks like if you put the check at the top of the loop and the next node ... to increment if_ipackets but still lose the packet. ... not trigger the problem, but also be high enough to not significantly ...
      (freebsd-net)
    • Re: Packet loss every 30.999 seconds
      ... Just to confirm the patch did not change the behavior. ... It looks like if you put the check at the top of the loop and the next node ... to increment if_ipackets but still lose the packet. ... not trigger the problem, but also be high enough to not significantly ...
      (freebsd-stable)