Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 27 Apr 2005 21:53:04 +0200 (CEST)
From:      Sten Spans <sten@blinkenlights.nl>
To:        Andrew Belashov <bel@orel.ru>
Cc:        freebsd-sparc64@FreeBSD.org
Subject:   Re: sparc64/80410: netgraph is causing crash with mpd on sparc64
Message-ID:  <Pine.SOC.4.61.0504272139440.22696@tea.blinkenlights.nl>
In-Reply-To: <200504271552.j3RFqCgv077122@white.orel.ru>
References:  <200504271552.j3RFqCgv077122@white.orel.ru>

next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, 27 Apr 2005, Andrew Belashov wrote:

>
>> Description:
> 	mpd does not work on FreeBSD/sparc64. Kernel panic with "memory address
> not aligned" trap message.
>
>> How-To-Repeat:
> 	Configure and run mpd for VPN over pptp. After connect to VPN,
> start nmap scanner. Kernel right away crashed. I have coredump:
>

Finding unaligned ( or rather not 64bit aligned ) mbufs is the
new cool thing, try if_em or if_tap for more fun and games :).

On a more serious note, the main problem is that l3 protocols
( ip, ipv6, ipx ) expect their data to be aligned a certain way.

But newer ethernet cards, complex headers, complex tunneling
tricks, etc often shift contents a few bytes. i386 has no alignment 
constraints ( a small speed hit though ) which means that these
problems are often overlooked.

OpenBSD and NetBSD have quite a few dirty hacks in drivers to
fixup the mess for each driver. Some work has been done with
m_copyup in -CURRENT but the debate is still open on wether
this should be fixed in a general way in l3 protocols, or in
each "ethernet" driver, or even somewhere else entirely.

HTH HAND

-- 
Sten Spans

"There is a crack in everything, that's how the light gets in."
Leonard Cohen - Anthem



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.SOC.4.61.0504272139440.22696>