bge0: discard frame w/o packet header

John Polstra jdp at polstra.com
Thu Feb 15 21:47:26 UTC 2007


On 15-Feb-2007 Kip Macy wrote:
>>
>> The "discard frame w/o packet header" message comes from ether_input()
>> if it gets an mbuf that doesn't have the M_PKTHDR flag set.  That
>> can't happen unless something is very wrong with the system.  I'd like
>> to make it a panic.  At least then the machine would reboot instead of
>> just becoming unreachable.  Any objections?
> 
> Please don't make it the default. Odds are ifconfig down, ifconfig up
> would fix it for those of us with console access.

That may be the case, but you might not notice it for many hours.
I'd think most folks would want the system to recover on its own, by
rebooting.

> Either way it sounds like someone has discovered a DOS in bge.

No, it just about has to be a bug -- either in the mbuf allocator, the
driver, or the NIC hardware.  M_PKTHDR is a flag in the mbuf header,
an area that isn't touched by packet data.  The driver allocates
all of its receive mbufs with the M_PKTHDR flag set.  There's no
legitimate way for the flag to get cleared, and nothing coming in on
the wire should be able to cause it to be cleared.

John


More information about the freebsd-net mailing list