From: "Franz Böhm" <fboehm@aon.at>
To: The list for a Better Approach To Mobile Ad-hoc Networking
<b.a.t.m.a.n@lists.open-mesh.org>
Subject: Re: [B.A.T.M.A.N.] Patch batman-adv for kernel 2.6.15
Date: Tue, 13 Apr 2010 09:17:07 +0200 [thread overview]
Message-ID: <4BC41A73.7050508@aon.at> (raw)
In-Reply-To: <20100412183858.GA9739@pandem0nium>
Hi Simon,
I already thought it's much more difficult because otherwise someone
else would have written a patch already :-) Perhaps I have to stay with
batman-adv 0.1 the next time.
I am very unfamiliar with this kernel locking and work queueing voodoo.
But those techniques already existed before 2.6.20 so shouldn't there be
a quite simple solution?
Regards,
Franz
Simon Wunderlich schrieb:
> Hello Franz,
>
> the workqueues are the most "non-trivial" thing which prevented us so far
> from backporting batman-adv to these older kernel. I'd also be interested
> to integrate patches if anyone has a solution for this. :)
>
> best regards,
> Simon
>
>
> On Mon, Apr 12, 2010 at 09:28:30AM +0200, Franz Böhm wrote:
>
>> Hi,
>>
>> I am trying to get batman-adv (kernelland) running on Ubiquiti Networks
>> hardware. Unfortunately the Ubiquiti SDK uses kernel 2.6.15 and
>> batman-adv needs at least 2.6.20. I did have some success in patching
>> and running batman-adv-kernelland 0.1 (r1176). I would of course prefer
>> using batman-adv 0.2 but I do have problems implementing the older
>> kernel workqueue API.
>>
>> Perhaps someone can give me a hint on porting for example this function
>> from send.c to the old workqueue API.
>>
>> void send_outstanding_bat_packet(struct work_struct *work)
>> {
>> struct delayed_work *delayed_work =
>> container_of(work, struct delayed_work, work);
>> struct forw_packet *forw_packet =
>> container_of(delayed_work, struct forw_packet, delayed_work);
>> unsigned long flags;
>>
>> spin_lock_irqsave(&forw_bat_list_lock, flags);
>> hlist_del(&forw_packet->list);
>> spin_unlock_irqrestore(&forw_bat_list_lock, flags);
>>
>> send_packet(forw_packet);
>>
>> /**
>> * we have to have at least one packet in the queue
>> * to determine the queues wake up time unless we are
>> * shutting down
>> */
>> if ((forw_packet->own) &&
>> (atomic_read(&module_state) != MODULE_DEACTIVATING))
>> schedule_own_packet(forw_packet->if_incoming);
>>
>> forw_packet_free(forw_packet);
>> }
>>
>> Kind regards,
>> Franz
>>
>>
next prev parent reply other threads:[~2010-04-13 7:17 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-04-12 7:28 [B.A.T.M.A.N.] Patch batman-adv for kernel 2.6.15 Franz Böhm
2010-04-12 18:38 ` Simon Wunderlich
2010-04-13 7:17 ` Franz Böhm [this message]
2010-04-16 19:01 ` Gus Wirth
2010-04-17 6:52 ` Franz Böhm
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4BC41A73.7050508@aon.at \
--to=fboehm@aon.at \
--cc=b.a.t.m.a.n@lists.open-mesh.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox