[Olsr-users] OLSRv2 crashing with lan_import

Bastian Rosner (spam-protected)
Mon Aug 1 22:06:35 CEST 2016


On 07/31/2016 09:56 PM, Henning Rogge wrote:
> On Sun, Jul 31, 2016 at 4:02 PM, Bastian Rosner <(spam-protected)> wrote:
>> Hi,
>>
>> olsrd2 0.12.1 is crashing on current LEDE x86_64 when using lan_import
>> on a table which is filled with IPv6-routes by olsrd.
>>
>> Kernel-message indicating crash:
>> traps: olsrd2[2719] general protection ip:40aa5e sp:7ffc6d2e3f60 error:0
>> in olsrd2[400000+5c000]
>>
>> Without "lan_import", OLSRv2 is running stable.
>>
>> My setup consists of three KVM LEDE instances, interconnected via
>> GRETAP-tunnels. Two of three nodes are also running olsrd, on non-GRE
>> interfaces, talking to our existing olsrdv1 mesh. olsrd is exporting
>> IPv6 routes to table 100.
>> The third node is only speaking OLSRv2 on two GRETAP-ifaces and is
>> supposed to receive a bunch of attached_networks (originally OLSRv1)
>> from the two other nodes.
>> The whole exercise is to have a concept of migrating from OLSRv1 to
>> OLSRv2 in an IPv6-only environment. Routes will obviously only be
>> redistributed to OLSRv2, not vice-versa.
>>
>> /etc/config/olsrd2 on dual-stack nodes:
>> # IPv6-only
>> config olsrv2
>>         list 'originator' '-0.0.0.0/0'
>>         list 'originator' '-::1/128'
>>         list 'originator' 'default_accept'
>>
>> # IPv6-only on two GRETAP-tunnels
>> config interface
>>         list 'ifname' 'l105'
>>         list 'ifname' 'a36s'
>>         option 'rx_bitrate' '1G'
>>         option 'tx_bitrate' '1G'
>>         list 'bindto' '-0.0.0.0/0'
>>         list 'bindto' '-::1'
>>         list 'bindto' 'default_accept'
>>
>> # import from table 100 (OLSRv1)
>> config lan_import
>>         option name '1'
>>         list table '100'
> 
> Looks normal...
> 
> 
>> Single-stack (OLSRv2 only) looks the same but lan_import section is
>> disabled.
>>
>>
>> On the OLSRv2-only node, seconds before olsrd2 on other node is
>> crashing, logread shows this:
[...]
>> 0080: 030a1001 0Sun Jul 31 15:55:59 2016 daemon.warn OLSRd2[1359]:
>> WARN(rfc5444) e forwarding message: %s (%d) 1063: Error while parsing
>> incoming packet from [fe80::8cb9:63ff:fe48:fae0]:269%gre-l105: Early end
>> of packet (-2)

> 
> That looks like a packet corruption... the parser says the packet is too short.
> 
> Any special MTU value in your network?

GRETAP tunnels run on a MTU of 1450. I did a simple test with "ping6
-Mdont -s 1500 <IPv6-LL-neighbor>" and did not observe any dropped
packets. So I guess the tunnel will do fragmentation when needed, but a
proper wireshark still has to confirm this.

>> If there's anything else I can provide, please give me some hints on how
>> to debug.
> 
> Any chance to use remote-gdb to get a full stacktrace?

As long as a default LEDE has everything more or less setup for this,
sure, why not! But I will require some instructions...

> If the bug is easy to replicate for you testing it with the new 0.12.2
> would also be good (I will push a OpenWRT packet to my packet feed
> tomorrow).

I just tested with 0.12.2 and got the same error:

kern.info kernel: [106671.549625] traps: olsrd2[4794] general protection
ip:40d96a sp:7ffee6b8a6f8 error:0 in olsrd2[400000+5e000]

Cheers, Bastian



More information about the Olsr-users mailing list