[Olsr-users] Route on repeater nodes sometimes break when gateway node reboots
Ferry Huberts
(spam-protected)
Mon Mar 24 17:11:22 CET 2014
forgot the include the list...
You should at least add
> LoadPlugin "olsrd_dyn_gw.so.0.5"
> {
> PlParam "HNA" "0.0.0.0 0.0.0.0"
> }
>
to your olsrd.conf
On 24/03/14 16:54, Ferry Huberts wrote:
> As a quick reply,
>
> You're on an old version of olsrd. Can you please try to reproduce with
> the latest from master?
>
> Second, on your version it takes at least a minute (with default config)
> before a new gateway is chosen.
>
> The extra features for sgw in master also include some under-the-hood
> bugfixes that I discovered during engineering of the extra features.
>
> If the problem still persists on master, then we really need to look at it.
>
> I'll read through your entire message later this week.
>
> On 24/03/14 16:44, Ben West wrote:
>> Hi Ferry,
>>
>> Thanks for responding. I am including at the bottom the
>> network/firewall/olsrd configs for the nodes in question. Note that the
>> nodes each broadcast 3 wireless virtual interfaces, an adhoc I/F and two
>> APs (public and private).
>>
>> The symptom observed is that the repeater node described below, after
>> rebooting the gateway node, becomes unable to ping anything beyond the
>> gateway node's WAN IP. Restarting olsrd on the repeater node usually
>> resolves the problem, although in this instance I'm writing about, I had
>> to restart olsrd on both nodes. Also, rebooting the gateway node
>> doesn't consistently trigger this problem on the repeater. I think the
>> problem may be more likely to occur when the gateway node undergoes an
>> uncommanded reboot.
>>
>> UPDATE: At the onset of this problem, I noticed that the repeater node
>> had a tunnel from SmartGateway named "tnl_05761352" listed by ifconfig.
>> The gateway node just listed the generic tunnel "tunl0." Restarting
>> olsrd on the repeater and then the gateway node (in that order), did not
>> cause "tnl_05761352" to be rebuilt; just a generic "tunl0" was listed on
>> both nodes. At this point, the repeater node was getting correct
>> routing beyond the WAN. Additionally, restarting olsrd on the repeater
>> node a /2nd time/ did lead to a new tunnel named tnl_c0a80466 appearing,
>> and routing across all nodes continued to work normally.
>>
>> Also, upon restarting olsrd on the gateway node, these messages appeared
>> in syslog:
>> Mar 24 15:14:02 MyGateway daemon.info <http://daemon.info> olsrd[1559]:
>> Received netlink error code No such file or directory (-2)
>> Mar 24 15:14:02 MyGateway daemon.err olsrd[1559]: Error on deleting
>> policy rule aimed to activate RtTable 223!
>>
>> Do SmartGateway tunnel names somehow grow stale, such that a gateway
>> node undergoing uncommanded reboot might leave repeater nodes with an
>> orphaned half of their tunnel?
>>
>> Anyway, here is the olsrd config used by both nodes.
>> -----
>> config olsrd
>> # uncomment the following line to use a custom config file instead:
>> #option config_file '/etc/olsrd.conf'
>>
>> option 'IpVersion' '4'
>> option 'LinkQualityLevel' '2'
>> option 'LinkQualityAlgorithm' 'etx_ffeth'
>> option 'SmartGateway' 'yes'
>> option 'Pollrate' '0.1'
>> option 'TcRedundancy' '2'
>> option 'MprCoverage' '5'
>>
>> config 'LoadPlugin'
>> option 'library' 'olsrd_arprefresh.so.0.1'
>>
>> config 'LoadPlugin'
>> option 'library' 'olsrd_dyn_gw.so.0.5'
>>
>> config 'LoadPlugin'
>> option 'library' 'olsrd_dyn_gw_plain.so.0.4'
>>
>> config 'LoadPlugin'
>> option 'library' 'olsrd_nameservice.so.0.3'
>> #option 'resolv_file' '/tmp/resolv.conf.auto'
>> option 'sighup_pid_file' '/var/run/dnsmasq.pid'
>> option 'suffix' '.mesh'
>>
>> config 'LoadPlugin'
>> option 'library' 'olsrd_txtinfo.so.0.1'
>> option 'accept' '0.0.0.0'
>>
>> config 'Interface'
>> list 'interface' 'mesh'
>> option 'Ip4Broadcast' '255.255.255.255'
>> option 'Mode' 'mesh'
>> #
>> -----
>>
>> Next, here is network / firewall config on the gateway node. The blurb
>> in firewall.user came from prior recommendation on this listserv about
>> how to clamp MTU values for incoming, WAN-bound traffic in the
>> SmartGateway tunnel. That iptables rule is only used on the gateway
>> node.
>>
>> ----
>> /etc/config/network:
>> config interface loopback
>> option ifname lo
>> option proto static
>> option ipaddr 127.0.0.1
>> option netmask 255.0.0.0
>>
>> config interface wan
>> option ifname eth0
>> option proto dhcp
>>
>> config interface 'mesh'
>> option proto 'static'
>> option ipaddr '5.118.19.82'
>> option dns '208.67.222.222 208.67.222.220'
>> option netmask '255.0.0.0'
>> option broadcast '255.255.255.255'
>>
>> config interface 'ap1'
>> option proto 'static'
>> option type 'bridge'
>> option ipaddr '101.19.82.1'
>> option netmask '255.255.255.0'
>> option broadcast '101.19.82.255'
>>
>> config 'interface' 'ap2'
>> option 'proto' 'static'
>> option 'ipaddr' 102.19.82.1
>> option 'netmask' 255.255.255.0
>> option broadcast '102.19.82.255'
>> ----
>>
>> /etc/config/firewall:
>> config defaults
>> option syn_flood 1
>> option input ACCEPT
>> option output ACCEPT
>> option forward REJECT
>> # Uncomment this line to disable ipv6 rules
>> option disable_ipv6 1
>>
>> config zone
>> option name wan
>> option network 'wan'
>> option input ACCEPT
>> option output ACCEPT
>> option forward ACCEPT
>> option masq 1
>>
>> config zone
>> option name 'mesh'
>> option network 'mesh'
>> option input 'ACCEPT'
>> option output 'ACCEPT'
>> option forward 'ACCEPT'
>> option masq 1
>>
>> config zone
>> option name 'ap1'
>> option network 'ap1'
>> option input 'ACCEPT'
>> option output 'ACCEPT'
>> option forward 'DROP'
>>
>> config zone
>> option name 'ap2'
>> option network 'ap2'
>> option input 'ACCEPT'
>> option output 'ACCEPT'
>> option forward 'ACCEPT'
>>
>> config forwarding
>> option src 'mesh'
>> option dest 'wan'
>>
>> config forwarding
>> option src 'mesh'
>> option dest 'mesh'
>>
>> config forwarding
>> option src 'ap1'
>> option dest 'wan'
>>
>> config forwarding
>> option src 'ap1'
>> option dest 'ap1'
>>
>> config forwarding
>> option src 'ap2'
>> option dest 'wan'
>>
>> config forwarding
>> option src 'ap2'
>> option dest 'ap2'
>>
>> ----
>> /etc/firewall.user:
>> # Clamp all traffic leaving to MTU of OLSRd tunnel MTU
>> iptables -t mangle -A POSTROUTING -o tnl_+ -p tcp --tcp-flags SYN,RST
>> SYN -j TCPMSS --set-mss 1440
>> ----
>>
>> Below is the gateway node's txtinfo output. The 192.168.4.102 is the
>> WAN IP of the gateway node.
>>
>> ----
>> Table: Links
>> Local IP Remote IP Hyst. LQ NLQ Cost
>> 5.118.19.82 5.211.164.176 0.00 0.874 1.000 1.143
>>
>> Table: Neighbors
>> IP address SYM MPR MPRS Will. 2 Hop Neighbors
>> 5.211.164.176 YES NO NO 3 0
>>
>> Table: Topology
>> Dest. IP Last hop IP LQ NLQ Cost
>> 5.211.164.176 5.118.19.82 0.874 1.000 1.143
>> 5.118.19.82 5.211.164.176 1.000 0.874 1.143
>>
>> Table: HNA
>> Destination Gateway
>> 0.0.0.0/0 <http://0.0.0.0/0> 5.118.19.82
>> 0.0.0.0/0 <http://0.0.0.0/0> 5.118.19.82
>>
>> Table: MID
>> IP address Aliases
>>
>> Table: Routes
>> Destination Gateway IP Metric ETX Interface
>> 5.211.164.176/32 <http://5.211.164.176/32> 5.211.164.176 1
>> 1.143 wlan0-2
>> ----
>>
>> Likewise, here is network / firewall config on the repeater node. The
>> stanzas for the 'wan' logic interface remain in place, although they're
>> not actually invoked for any physical interface.
>> ----
>> /etc/config/network:
>> config interface loopback
>> option ifname lo
>> option proto static
>> option ipaddr 127.0.0.1
>> option netmask 255.0.0.0
>>
>> config interface wan
>> # option ifname eth0
>> option proto dhcp
>>
>> config interface 'mesh'
>> option proto 'static'
>> option ipaddr '5.211.164.176'
>> option dns '208.67.222.222 208.67.222.220'
>> option netmask '255.0.0.0'
>> option broadcast '255.255.255.255'
>>
>> config interface 'ap1'
>> option proto 'static'
>> option type 'bridge'
>> option ipaddr '101.164.176.1'
>> option netmask '255.255.255.0'
>> option broadcast '101.164.176.255'
>>
>> config interface 'ap2'
>> option proto 'static'
>> option type 'bridge'
>> option ifname eth0
>> option ipaddr '102.164.176.1'
>> option netmask '255.255.255.0'
>> option broadcast '102.164.176.255'
>>
>> ----
>> /etc/config/firewall:
>> config defaults
>> option syn_flood 1
>> option input ACCEPT
>> option output ACCEPT
>> option forward REJECT
>> # Uncomment this line to disable ipv6 rules
>> option disable_ipv6 1
>>
>> config zone
>> option name wan
>> option network 'wan'
>> option input ACCEPT
>> option output ACCEPT
>> option forward ACCEPT
>> option masq 1
>>
>> config zone
>> option name 'mesh'
>> option network 'mesh'
>> option input 'ACCEPT'
>> option output 'ACCEPT'
>> option forward 'ACCEPT'
>> option masq 1
>>
>> config zone
>> option name 'ap1'
>> option network 'ap1'
>> option input 'ACCEPT'
>> option output 'ACCEPT'
>> option forward 'DROP'
>> option masq 1
>>
>> config zone
>> option name 'ap2'
>> option network 'ap2'
>> option input 'ACCEPT'
>> option output 'ACCEPT'
>> option forward 'ACCEPT'
>> option masq 1
>>
>> config forwarding
>> option src 'mesh'
>> option dest 'mesh'
>>
>> config forwarding
>> option src 'ap1'
>> option dest 'mesh'
>>
>> config forwarding
>> option src 'ap1'
>> option dest 'ap1'
>>
>> config forwarding
>> option src 'ap2'
>> option dest 'mesh'
>>
>> config forwarding
>> option src 'ap2'
>> option dest 'ap2'
>> ----
>>
>> Finally, below is the repeater node's txtinfo output. Again, the
>> 192.168.4.102 is the WAN IP of the gateway node.
>>
>> ----
>> Table: Links
>> Local IP Remote IP Hyst. LQ NLQ Cost
>> 5.211.164.176 5.118.19.82 0.00 1.000 0.886 1.128
>>
>> Table: Neighbors
>> IP address SYM MPR MPRS Will. 2 Hop Neighbors
>> 5.118.19.82 YES NO NO 3 0
>>
>> Table: Topology
>> Dest. IP Last hop IP LQ NLQ Cost
>> 5.211.164.176 5.118.19.82 0.886 1.000 1.128
>> 5.118.19.82 5.211.164.176 1.000 0.886 1.128
>>
>> Table: HNA
>> Destination Gateway
>> 0.0.0.0/0 <http://0.0.0.0/0> 5.118.19.82
>>
>> Table: MID
>> IP address Aliases
>> 5.118.19.82 192.168.4.102
>>
>> Table: Routes
>> Destination Gateway IP Metric ETX Interface
>> 0.0.0.0/0 <http://0.0.0.0/0> 5.118.19.82 1 1.128 wlan0-2
>> 5.118.19.82/32 <http://5.118.19.82/32> 5.118.19.82 1 1.128
>> wlan0-2
>> 192.168.4.102/32 <http://192.168.4.102/32> 5.118.19.82 1
>> 1.128 wlan0-2
>> ----
>>
>>
>>
>>
>>
>> On Mon, Mar 24, 2014 at 1:47 AM, Ferry Huberts <(spam-protected)
>> <mailto:(spam-protected)>> wrote:
>>
>> We have not seen this and we use smart gateway heavily.
>> Can you show configs of both nodes?
>>
>>
>> On 24/03/14 02:39, Ben West wrote:
>>
>> I have seen sporadic instances of certain repeater nodes' (not
>> all,
>> generally a small subset of all repeater nodes in a given mesh),
>> break
>> their route through the gateway node if the gateway node reboots
>> while
>> the repeater does not.
>>
>> That is, the gateway node reboots, and the affected repeater node
>> thereafter appears to correctly re-establish its route thru the
>> gateway,
>> but the gateway doesn't actually route the repeater's traffic.
>> From the
>> affected node, I can ping the gateway's mesh IP and also the
>> gateway's
>> WAN IP, but I can't ping anything beyond the gateway node's WAN
>> interface.
>>
>> Restarting olsrd on the repeater node seems to resolve this
>> problem
>> consistently.
>>
>> This is occurring on nodes running OpenWRT AA r39154 and OLSRd
>> v6.5-4,
>> using SmartGateway. I'm quoting my /etc/config/olsrd below,
>> used on all
>> notes alike.
>>
>> Has anyone else observed a similar problem? Browsing the
>> changelog at
>> http://olsr.org/git/ since v6.5-4 doesn't show any mention of
>> explicit
>> SmartGateway bugfixes, just additional features.
>>
>> -----
>> config olsrd
>> # uncomment the following line to use a custom config file
>> instead:
>> #option config_file '/etc/olsrd.conf'
>>
>> option 'IpVersion' '4'
>> option 'LinkQualityLevel' '2'
>> option 'LinkQualityAlgorithm' 'etx_ffeth'
>> option 'SmartGateway' 'yes'
>> option 'Pollrate' '0.1'
>> option 'TcRedundancy' '2'
>> option 'MprCoverage' '5'
>>
>> config 'LoadPlugin'
>> option 'library' 'olsrd_arprefresh.so.0.1'
>>
>> config 'LoadPlugin'
>> option 'library' 'olsrd_dyn_gw.so.0.5'
>>
>> config 'LoadPlugin'
>> option 'library' 'olsrd_dyn_gw_plain.so.0.4'
>>
>> config 'LoadPlugin'
>> option 'library' 'olsrd_nameservice.so.0.3'
>> #option 'resolv_file' '/tmp/resolv.conf.auto'
>> option 'sighup_pid_file' '/var/run/dnsmasq.pid'
>> option 'suffix' '.mesh'
>>
>> config 'LoadPlugin'
>> option 'library' 'olsrd_txtinfo.so.0.1'
>> option 'accept' '0.0.0.0'
>>
>> config 'Interface'
>> list 'interface' 'mesh'
>> option 'Ip4Broadcast' '255.255.255.255'
>> option 'Mode' 'mesh'
>> #
>>
>>
>> --
>> Ben West
>> http://gowasabi.net
>> (spam-protected) <mailto:(spam-protected)>
>> <mailto:(spam-protected) <mailto:(spam-protected)>>
>> 314-246-9434 <tel:314-246-9434>
>>
>>
>>
>> --
>> Ferry Huberts
>>
>>
>>
>>
>> --
>> Ben West
>> http://gowasabi.net
>> (spam-protected) <mailto:(spam-protected)>
>> 314-246-9434
>
--
Ferry Huberts
More information about the Olsr-users
mailing list