Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 13 Jan 2011 14:53:34 +0800
From:      Adrian Chadd <adrian@freebsd.org>
To:        "Jayachandran C." <c.jayachandran@gmail.com>
Cc:        Monthadar Al Jaberi <monthadar@gmail.com>, freebsd-net@freebsd.org, freebsd-mips@freebsd.org
Subject:   Re: capturing packet from wlan0 with netgraph?
Message-ID:  <AANLkTi=Wu=sgH76vHx-4CmaUgm_H9FMA9Nuvbgk4Gkzz@mail.gmail.com>
In-Reply-To: <AANLkTikgdf4Uy20NF6vQ=-NWGYS4LDdmypKng=2Bg2ME@mail.gmail.com>
References:  <AANLkTi=s45woPE21exHgArAyAaO2sW%2BeR=%2BumB6zZcr5@mail.gmail.com> <AANLkTikC1nYudfM91rPxFfgCj83m8YbdagedeydyBaue@mail.gmail.com> <AANLkTikgdf4Uy20NF6vQ=-NWGYS4LDdmypKng=2Bg2ME@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
I've encountered this before.

The mbuf's there aren't always aligned at this point.



Adrian

On 13 January 2011 14:17, Jayachandran C. <c.jayachandran@gmail.com> wrote:
> On Thu, Jan 13, 2011 at 11:08 AM, Adrian Chadd <adrian@freebsd.org> wrote=
:
>> Find out what the address is that's causing the problem. There's
>> plenty of places where unaligned mbuf's exist in the IP code and
>> aren't correctly realigned before being touched.
>>
>> MIPS people - is "address error" an alignment problem?
>
> Address error can be an alignment problem (or some other cases like
> accessing kernel address from userspace).
>
> But looking at the crash, it certainly seems like in ip_input, the line
> =A0 =A0 435 =A0 =A0 =A0 =A0 if (ip->ip_v !=3D IPVERSION) {
>
> got a bad address for the ip pointer.
>
> The output of 'show registers' at the ddb prompt would be useful to
> debug further.
>
>
>> On 30 December 2010 21:47, Monthadar Al Jaberi <monthadar@gmail.com> wro=
te:
>>> Hi,
>>>
>>> I have an idea in my head and would like to know if it is possible.
>>>
>>> I want to simulate and test the net80211 mesh code in FreeBSD Current.
>>> I have an RSPRO board with 3 atheros cards.
>>>
>>> My =A0basic idea is to run three jails each having its own network
>>> stack, and redirect all data packets coming out/in of the wlan driver
>>> to a Server running a home brew application that simulates the medium.
>>> That would be great, right? Realtime unchanged code to test, running
>>> different application in their own jails.
>>>
>>> So first I started to test netgraph with a simple test case, I want to
>>> receive all packets from one wireless card and see the data in
>>> wireshark or tcpdump...
>>>
>>> This is my netgraph code:
>>> mkpeer wlan0: hub lower hook0
>>> name wlan0:lower hub
>>> connect hub: wlan0: hook1 upper
>>> connect hub: arge0: hook2 lower
>>>
>>>
>>> So if I understood man ng_ether correct, this should capture
>>> everything from wlan and redirect to ethernet cable.
>>>
>>> But I get a panic after a couple of seconds:
>>> Trap cause =3D 4 (address error (load or I-fetch) - kernel mode)
>>> [ thread pid 11 tid 100037 ]
>>> Stopped at =A0 =A0 =A0ip_input+0xd8: =A0lw =A0 =A0 =A0v0,0(s0)
>>>
>>> I suspect that data flows to all hooks of the hub, and that is a bad
>>> thing right? Need to create a special hub node to filter data? Or
>>> maybe use two ethernet cables for out resp. in?
>>>
>>> Is it even possible to do what I want? Or am I thinking wrong? And is
>>> there a simpler way?
>>>
>>> What I want is to test mesh code in a bunch of FreeBSD systems without
>>> moving the hardware, one could just stack RSPROs and connected them a
>>> big switch and a PC.
>>> Hope was I clear in my thoughts.
>>>
>>> Best regards,
>>> --
>>> //Monthadar Al Jaberi
>
> JC.
>



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?AANLkTi=Wu=sgH76vHx-4CmaUgm_H9FMA9Nuvbgk4Gkzz>