public inbox for b.a.t.m.a.n@lists.open-mesh.org
 help / color / mirror / Atom feed
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
>>
>>     

  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