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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.