<div dir="ltr"><div>Also, a further follow-up, along with a response directly back to the list. I did notice a difference on the HNA gateway reported by each node's txtinfo before and after restarting olsrd. I'm including both nodes' txtoutput below, during the period where the repeater node can't ping beyond the gateway's WAN, and after restarting olsrd on both nodes, when routing worked as expected.<br>
<br></div>The specific problem appeared to be that both nodes had the gateway's mesh IP address listed as the gateway in the HNA table, instead of its WAN IP. This would seem to explain the repeater node's inability to access the WAN.<br>
<br>No node configuration was changed during this time. All that happened was the gateway node underwent a power-cycle (uncommanded reboot), and later I manually restarted olsrd on both nodes.<br><div><br></div><div>Are situations like these perhaps the purpose for the freifunk-gwcheck package in OpenWRT? (Neither node has this installed.)<br>
</div><div><br></div><div>Gateway node's txtinfo output, while repeater node 5.211.164.176 can't access WAN:<br>----<br>Table: Links<br>Local IP Remote IP Hyst. LQ NLQ Cost<br>5.118.19.82 5.211.164.176 0.00 0.874 1.000 1.143 <br>
<br>Table: Neighbors<br>IP address SYM MPR MPRS Will. 2 Hop Neighbors<br>5.211.164.176 YES NO NO 3 0<br><br>Table: Topology<br>Dest. IP Last hop IP LQ NLQ Cost<br>5.211.164.176 5.118.19.82 0.874 1.000 1.143<br>
5.118.19.82 5.211.164.176 1.000 0.874 1.143<br><br>Table: HNA<br>Destination Gateway<br><a href="http://0.0.0.0/0">0.0.0.0/0</a> 5.118.19.82<br><a href="http://0.0.0.0/0">0.0.0.0/0</a> 5.118.19.82<br>
<br>Table: MID<br>IP address Aliases<br><br>Table: Routes<br>Destination Gateway IP Metric ETX Interface<br><a href="http://5.211.164.176/32">5.211.164.176/32</a> 5.211.164.176 1 1.143 wlan0-2 <br>
----<br><br></div><div>Repeater node's txtinfo output, while it can't access WAN:<br><br>----<br>Table: Links<br>Local IP Remote IP Hyst. LQ NLQ Cost<br>5.211.164.176 5.118.19.82 0.00 1.000 0.886 1.128 <br>
<br>Table: Neighbors<br>IP address SYM MPR MPRS Will. 2 Hop Neighbors<br>5.118.19.82 YES NO NO 3 0<br><br>Table: Topology<br>Dest. IP Last hop IP LQ NLQ Cost<br>5.211.164.176 5.118.19.82 0.886 1.000 1.128<br>
5.118.19.82 5.211.164.176 1.000 0.886 1.128<br><br>Table: HNA<br>Destination Gateway<br><a href="http://0.0.0.0/0">0.0.0.0/0</a> 5.118.19.82<br><br>Table: MID<br>IP address Aliases<br>5.118.19.82 192.168.4.102<br>
<br>Table: Routes<br>Destination Gateway IP Metric ETX Interface<br><a href="http://0.0.0.0/0">0.0.0.0/0</a> 5.118.19.82 1 1.128 wlan0-2 <br><a href="http://5.118.19.82/32">5.118.19.82/32</a> 5.118.19.82 1 1.128 wlan0-2 <br>
<a href="http://192.168.4.102/32">192.168.4.102/32</a> 5.118.19.82 1 1.128 wlan0-2 <br>----<br><br>Gateway node's txtinfo output, after restarted olsrd:<br>----<br>Table: Links<br>Local IP Remote IP Hyst. LQ NLQ Cost<br>
5.118.19.82 5.211.164.176 0.00 1.000 1.000 1.000 <br><br>Table: Neighbors<br>IP address SYM MPR MPRS Will. 2 Hop Neighbors<br>5.211.164.176 YES NO NO 3 0<br><br>Table: Topology<br>
Dest. IP Last hop IP LQ NLQ Cost<br>192.168.4.102 5.211.164.176 1.000 1.000 1.000<br>5.211.164.176 192.168.4.102 1.000 1.000 1.000<br><br>Table: HNA<br>Destination Gateway<br><a href="http://0.0.0.0/0">0.0.0.0/0</a> 192.168.4.102<br>
<a href="http://0.0.0.0/0">0.0.0.0/0</a> 192.168.4.102<br><br>Table: MID<br>IP address Aliases<br><br>Table: Routes<br>Destination Gateway IP Metric ETX Interface<br><a href="http://5.211.164.176/32">5.211.164.176/32</a> 5.211.164.176 1 1.000 wlan0-2<br>
----<br><br>Repeater node's txtinfo output, after restarting its olsrd:<br>----<br>Table: Links<br>Local IP Remote IP Hyst. LQ NLQ Cost<br>5.211.164.176 5.118.19.82 0.00 1.000 0.886 1.128 <br>
<br>Table: Neighbors<br>IP address SYM MPR MPRS Will. 2 Hop Neighbors<br>192.168.4.102 YES NO NO 3 0<br><br>Table: Topology<br>Dest. IP Last hop IP LQ NLQ Cost<br>192.168.4.102 5.211.164.176 1.000 0.886 1.128<br>
5.211.164.176 192.168.4.102 0.886 1.000 1.128<br><br>Table: HNA<br>Destination Gateway<br><a href="http://0.0.0.0/0">0.0.0.0/0</a> 192.168.4.102<br><br>Table: MID<br>IP address Aliases<br>192.168.4.102 5.118.19.82<br>
<br>Table: Routes<br>Destination Gateway IP Metric ETX Interface<br><a href="http://0.0.0.0/0">0.0.0.0/0</a> 5.118.19.82 1 1.128 wlan0-2 <br><a href="http://5.118.19.82/32">5.118.19.82/32</a> 5.118.19.82 1 1.128 wlan0-2 <br>
<a href="http://192.168.4.102/32">192.168.4.102/32</a> 5.118.19.82 1 1.128 wlan0-2 <br>----<br><br><br><br><br></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Mon, Mar 24, 2014 at 10:44 AM, Ben West <span dir="ltr"><<a href="mailto:ben@gowasabi.net" target="_blank">ben@gowasabi.net</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><div><div>Hi Ferry,<br><br></div>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).<br>
<br></div><div>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.<br>
</div><div><br></div><div>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 <i>2nd time</i> did lead to a new tunnel named tnl_c0a80466 appearing, and routing across all nodes continued to work normally.<br>
</div><div><br></div><div>Also, upon restarting olsrd on
the gateway node, these messages appeared in syslog:<br><div>Mar 24 15:14:02 MyGateway <a href="http://daemon.info" target="_blank">daemon.info</a> olsrd[1559]: Received netlink error code No such file or directory (-2)<br>
Mar 24 15:14:02 MyGateway daemon.err olsrd[1559]: Error on deleting policy rule aimed to activate RtTable 223!<br>
</div></div><div><br></div><div>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?<br></div><div><br>
Anyway, here is the olsrd config used by both nodes.<div><div class="h5"><br>
-----<br><div>config olsrd<br> # uncomment the following line to use a custom config file instead:<br> #option config_file '/etc/olsrd.conf'<br><br> option 'IpVersion' '4'<br> option 'LinkQualityLevel' '2'<br>
option 'LinkQualityAlgorithm' 'etx_ffeth'<br> option 'SmartGateway' 'yes'<br> option 'Pollrate' '0.1'<br> option 'TcRedundancy' '2'<br> option 'MprCoverage' '5'<br>
<br>config 'LoadPlugin'<br> option 'library' 'olsrd_arprefresh.so.0.1'<br><br>config 'LoadPlugin'<br> option 'library' 'olsrd_dyn_gw.so.0.5'<br><br>config 'LoadPlugin'<br>
option 'library' 'olsrd_dyn_gw_plain.so.0.4'<br><br>config 'LoadPlugin'<br> option 'library' 'olsrd_nameservice.so.0.3'<br> #option 'resolv_file' '/tmp/resolv.conf.auto'<br>
option 'sighup_pid_file' '/var/run/dnsmasq.pid'<br> option 'suffix' '.mesh'<br><br>config 'LoadPlugin'<br> option 'library' 'olsrd_txtinfo.so.0.1'<br> option 'accept' '0.0.0.0'<br>
<br>config 'Interface'<br> list 'interface' 'mesh'<br> option 'Ip4Broadcast' '255.255.255.255'<br> option 'Mode' 'mesh' <br></div><div>#</div></div></div>-----<br>
<br>
</div>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.<br>
<br>----<br></div><div>/etc/config/network:<br></div><div>config interface loopback<br> option ifname lo<br> option proto static<br> option ipaddr 127.0.0.1<br> option netmask 255.0.0.0<br><br>config interface wan<br>
option ifname eth0<br> option proto dhcp<br><br>config interface 'mesh'<br> option proto 'static'<br> option ipaddr '5.118.19.82'<br> option dns '208.67.222.222 208.67.222.220'<br>
option netmask '255.0.0.0'<br> option broadcast '255.255.255.255'<br><br>config interface 'ap1'<br> option proto 'static'<br> option type 'bridge'<br> option ipaddr '101.19.82.1'<br>
option netmask '255.255.255.0'<br> option broadcast '101.19.82.255'<br><br>config 'interface' 'ap2'<br> option 'proto' 'static'<br> option 'ipaddr' 102.19.82.1 <br>
option 'netmask' 255.255.255.0 <br> option broadcast '102.19.82.255'<br>----<br><br>/etc/config/firewall:<br>config defaults<br> option syn_flood 1<br> option input ACCEPT<br> option output ACCEPT<br>
option forward REJECT<br># Uncomment this line to disable ipv6 rules<br> option disable_ipv6 1<br><br>config zone<br> option name wan<br> option network 'wan'<br> option input ACCEPT<br>
option output ACCEPT<br> option forward ACCEPT<br> option masq 1<br><br>config zone<br> option name 'mesh'<br> option network 'mesh'<br> option input 'ACCEPT'<br>
option output 'ACCEPT'<br> option forward 'ACCEPT'<br> option masq 1<br><br>config zone<br> option name 'ap1'<br> option network 'ap1'<br> option input 'ACCEPT'<br>
option output 'ACCEPT'<br> option forward 'DROP'<br> <br>config zone<br> option name 'ap2'<br> option network 'ap2'<br> option input 'ACCEPT'<br> option output 'ACCEPT'<br>
option forward 'ACCEPT'<br><br>config forwarding<br> option src 'mesh'<br> option dest 'wan'<br><br>config forwarding <br> option src 'mesh' <br>
option dest 'mesh'<br><br>config forwarding <br> option src 'ap1' <br> option dest 'wan' <br>
<br>config forwarding <br> option src 'ap1' <br> option dest 'ap1' <br><br>config forwarding <br> option src 'ap2' <br>
option dest 'wan'<br><br>config forwarding <br> option src 'ap2' <br> option dest 'ap2'<br><br>----<br></div><div>/etc/firewall.user:<br></div><div># Clamp all traffic leaving to MTU of OLSRd tunnel MTU<br>
iptables -t mangle -A POSTROUTING -o tnl_+ -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --set-mss 1440<br>----<br><br>Below is the gateway node's txtinfo output. The 192.168.4.102 is the WAN IP of the gateway node.<br><br>
----<br>Table: Links<br>Local IP Remote IP Hyst. LQ NLQ Cost<br>5.118.19.82 5.211.164.176 0.00 0.874 1.000 1.143 <br><br>Table: Neighbors<br>IP address SYM MPR MPRS Will. 2 Hop Neighbors<br>
5.211.164.176 YES NO NO 3 0<br><br>Table: Topology<br>Dest. IP Last hop IP LQ NLQ Cost<br>5.211.164.176 5.118.19.82 0.874 1.000 1.143<br>5.118.19.82 5.211.164.176 1.000 0.874 1.143<br>
<br>Table: HNA<br>Destination Gateway<br><a href="http://0.0.0.0/0" target="_blank">0.0.0.0/0</a> 5.118.19.82<br><a href="http://0.0.0.0/0" target="_blank">0.0.0.0/0</a> 5.118.19.82<br><br>Table: MID<br>IP address Aliases<br>
<br>Table: Routes<br>
Destination Gateway IP Metric ETX Interface<br><a href="http://5.211.164.176/32" target="_blank">5.211.164.176/32</a> 5.211.164.176 1 1.143 wlan0-2 <br>----<br><br>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.<br>
----<br></div>/etc/config/network:<br><div>config interface loopback<br> option ifname lo<br> option proto static<br> option ipaddr 127.0.0.1<br> option netmask 255.0.0.0<br><br>config interface wan<br>
# option ifname eth0<br> option proto dhcp<br><br>config interface 'mesh'<br> option proto 'static'<br> option ipaddr '5.211.164.176'<br> option dns '208.67.222.222 208.67.222.220'<br>
option netmask '255.0.0.0'<br> option broadcast '255.255.255.255'<br><br>config interface 'ap1'<br> option proto 'static'<br> option type 'bridge'<br> option ipaddr '101.164.176.1'<br>
option netmask '255.255.255.0'<br> option broadcast '101.164.176.255'<br><br>config interface 'ap2'<br> option proto 'static'<br> option type 'bridge'<br> option ifname eth0<br>
option ipaddr '102.164.176.1'<br> option netmask '255.255.255.0'<br> option broadcast '102.164.176.255'<br><br>----<br>/etc/config/firewall:<br>config defaults<br> option syn_flood 1<br>
option input ACCEPT<br> option output ACCEPT<br> option forward REJECT<br># Uncomment this line to disable ipv6 rules<br> option disable_ipv6 1<br><br>config zone<br> option name wan<br>
option network 'wan'<br> option input ACCEPT<br> option output ACCEPT<br> option forward ACCEPT<br> option masq 1<br><br>config zone<br> option name 'mesh'<br>
option network 'mesh'<br> option input 'ACCEPT'<br> option output 'ACCEPT'<br> option forward 'ACCEPT'<br> option masq 1<br><br>config zone<br> option name 'ap1'<br>
option network 'ap1'<br> option input 'ACCEPT'<br> option output 'ACCEPT'<br> option forward 'DROP'<br> option masq 1<br><br>config zone<br> option name 'ap2'<br>
option network 'ap2'<br> option input 'ACCEPT'<br> option output 'ACCEPT'<br> option forward 'ACCEPT'<br> option masq 1<br><br>config forwarding <br>
option src 'mesh' <br> option dest 'mesh'<br><br>config forwarding <br> option src 'ap1' <br>
option dest 'mesh' <br> <br>config forwarding <br> option src 'ap1' <br> option dest 'ap1' <br><br>config forwarding <br>
option src 'ap2' <br> option dest 'mesh'<br><br>config forwarding <br> option src 'ap2' <br> option dest 'ap2'<br>
<div>----<br><br></div><div>Finally, below is the repeater node's txtinfo output. Again, the 192.168.4.102 is the WAN IP of the gateway node.<br><br>----<br>Table: Links<br>Local IP Remote IP Hyst. LQ NLQ Cost<br>
5.211.164.176 5.118.19.82 0.00 1.000 0.886 1.128 <br><br>Table: Neighbors<br>IP address SYM MPR MPRS Will. 2 Hop Neighbors<br>5.118.19.82 YES NO NO 3 0<br><br>Table: Topology<br>
Dest. IP Last hop IP LQ NLQ Cost<br>5.211.164.176 5.118.19.82 0.886 1.000 1.128<br>5.118.19.82 5.211.164.176 1.000 0.886 1.128<br><br>Table: HNA<br>Destination Gateway<br><a href="http://0.0.0.0/0" target="_blank">0.0.0.0/0</a> 5.118.19.82<br>
<br>Table: MID<br>IP address Aliases<br>5.118.19.82 192.168.4.102<br><br>Table: Routes<br>Destination Gateway IP Metric ETX Interface<br><a href="http://0.0.0.0/0" target="_blank">0.0.0.0/0</a> 5.118.19.82 1 1.128 wlan0-2 <br>
<a href="http://5.118.19.82/32" target="_blank">5.118.19.82/32</a> 5.118.19.82 1 1.128 wlan0-2 <br><a href="http://192.168.4.102/32" target="_blank">192.168.4.102/32</a> 5.118.19.82 1 1.128 wlan0-2 <br>
----<br><br><br></div>
<div><br></div></div></div><div class="gmail_extra"><div><div class="h5"><br><br><div class="gmail_quote">On Mon, Mar 24, 2014 at 1:47 AM, Ferry Huberts <span dir="ltr"><<a href="mailto:mailings@hupie.com" target="_blank">mailings@hupie.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">We have not seen this and we use smart gateway heavily.<br>
Can you show configs of both nodes?<div><div><br>
<br>
On 24/03/14 02:39, Ben West wrote:<br>
</div></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div>
I have seen sporadic instances of certain repeater nodes' (not all,<br>
generally a small subset of all repeater nodes in a given mesh), break<br>
their route through the gateway node if the gateway node reboots while<br>
the repeater does not.<br>
<br>
That is, the gateway node reboots, and the affected repeater node<br>
thereafter appears to correctly re-establish its route thru the gateway,<br>
but the gateway doesn't actually route the repeater's traffic. From the<br>
affected node, I can ping the gateway's mesh IP and also the gateway's<br>
WAN IP, but I can't ping anything beyond the gateway node's WAN interface.<br>
<br>
Restarting olsrd on the repeater node seems to resolve this problem<br>
consistently.<br>
<br>
This is occurring on nodes running OpenWRT AA r39154 and OLSRd v6.5-4,<br>
using SmartGateway. I'm quoting my /etc/config/olsrd below, used on all<br>
notes alike.<br>
<br>
Has anyone else observed a similar problem? Browsing the changelog at<br>
<a href="http://olsr.org/git/" target="_blank">http://olsr.org/git/</a> since v6.5-4 doesn't show any mention of explicit<br>
SmartGateway bugfixes, just additional features.<br>
<br>
-----<br>
config olsrd<br>
# uncomment the following line to use a custom config file instead:<br>
#option config_file '/etc/olsrd.conf'<br>
<br>
option 'IpVersion' '4'<br>
option 'LinkQualityLevel' '2'<br>
option 'LinkQualityAlgorithm' 'etx_ffeth'<br>
option 'SmartGateway' 'yes'<br>
option 'Pollrate' '0.1'<br>
option 'TcRedundancy' '2'<br>
option 'MprCoverage' '5'<br>
<br>
config 'LoadPlugin'<br>
option 'library' 'olsrd_arprefresh.so.0.1'<br>
<br>
config 'LoadPlugin'<br>
option 'library' 'olsrd_dyn_gw.so.0.5'<br>
<br>
config 'LoadPlugin'<br>
option 'library' 'olsrd_dyn_gw_plain.so.0.4'<br>
<br>
config 'LoadPlugin'<br>
option 'library' 'olsrd_nameservice.so.0.3'<br>
#option 'resolv_file' '/tmp/resolv.conf.auto'<br>
option 'sighup_pid_file' '/var/run/dnsmasq.pid'<br>
option 'suffix' '.mesh'<br>
<br>
config 'LoadPlugin'<br>
option 'library' 'olsrd_txtinfo.so.0.1'<br>
option 'accept' '0.0.0.0'<br>
<br>
config 'Interface'<br>
list 'interface' 'mesh'<br>
option 'Ip4Broadcast' '255.255.255.255'<br>
option 'Mode' 'mesh'<br>
#<br>
<br>
<br>
--<br>
Ben West<br>
<a href="http://gowasabi.net" target="_blank">http://gowasabi.net</a><br>
</div></div><a href="mailto:ben@gowasabi.net" target="_blank">ben@gowasabi.net</a> <mailto:<a href="mailto:ben@gowasabi.net" target="_blank">ben@gowasabi.net</a>><br>
<a href="tel:314-246-9434" value="+13142469434" target="_blank">314-246-9434</a><br>
<br>
<br><span><font color="#888888">
</font></span></blockquote><span><font color="#888888">
<br>
-- <br>
Ferry Huberts<br>
</font></span></blockquote></div><br><br clear="all"><br>-- <br>Ben West</div></div><div><a href="http://gowasabi.net" target="_blank">http://gowasabi.net</a><br><a href="mailto:ben@gowasabi.net" target="_blank">ben@gowasabi.net</a><br>
<a href="tel:314-246-9434" value="+13142469434" target="_blank">314-246-9434</a><br></div>
</div>
</blockquote></div><br><br clear="all"><br>-- <br>Ben West<div><a href="http://gowasabi.net" target="_blank">http://gowasabi.net</a><br><a href="mailto:ben@gowasabi.net" target="_blank">ben@gowasabi.net</a><br>314-246-9434<br>
</div>
</div>