wireless scanning removes link address from cache manager

Andrew Collins bsderandrew at gmail.com
Fri Aug 3 13:33:41 EDT 2012


On Mon, Jul 9, 2012 at 2:50 PM, Thomas Graf <tgraf at suug.ch> wrote:
> On Mon, Jul 09, 2012 at 06:15:10PM +0000, Gotthard, Petr wrote:
>> Hello,
>> I'm experiencing the following behavior using kernel 3.3.4-5.fc17.i686.PAE and the latest libnl:
>>
>> I start the libnl cache manager ("test-cache-mngr route/link") and then scan for wireless networks ("iw wlan0 scan"). After the results are printed the link/MAC address for the scanned wireless link (wlan0) disappears from the cache manager.
>>
>> I realized that when the wireless link scanning produces results, the kernel also sends a RTM_NEWLINK event (for that link). This event has no address field. This event is then received and processed by the libnl cache manager and the "updated" link status (without the link address) is stored by the link manager.
>>
>> This probably explains why the address is gone, but do you please have any idea what is wrong: kernel or libnl?
>
> It's probably libnl's fault. It should filter out these messages as they are not
> object update notifications but indicate some other event. I'll look into this.
>
> _______________________________________________
> libnl mailing list
> libnl at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/libnl

[reposting without nasty top-post, sorry about that]

Thomas, I'm having the same issue, and I'm curious if you have a
suggested solution.  I could either bail out in link_msg_parser when I
see IFLA_WIRELESS (but with what return code?), or parse the message
into a link object with a l_wireless attr and filter it later in
link_event_filter, but neither solution seems particularly elegant.



More information about the libnl mailing list