[Battlemesh] routing daemons fighting to enforce sysctl settings

Axel Neumann neumann at cgws.de
Fri Jul 1 11:16:40 CEST 2016


Hi Daniel,

You are right that there should be at least an option to disable such
tweaks.
http://bmx6.net/projects/bmx6/repository/revisions/f21cce666c0be7cd6348934c85db5abd23a71263
introduces the options --autoSysctl and --autoTunSysctl,
both set to one by default.
With the latter you even disable sysctl settings for dynamically created
tunnel interfaces which would be hard to configure manually.
So I guess --autoSysctl=0 is what you want.

Its also in latest openwrt-routing for-15.05 and master branches

Cheers,
axel

On 24.06.2016 11:33, Daniel Golle wrote:
> Hi!
> 
> I'm currently helping to switch from some ancient OLSR1-based
> hand-crafted and hard-to-maintain firmware to a Libre-Mesh based
> environment. In order to integrate with the existing OLSR1 mesh, some
> nodes should run BMX6/7 as well as OLSRd (using 2 devices is not an
> option, we just don't have enough of them). While this generally works
> nicely due to the routing-table-import features of BMX6, there is a
> single very annoying problem:
> Both routing daemons try changing sysctl settings in conflicting ways
> without any means for the user to disable that 'egocentric' behaviour.
> olsrd[21487]: Writing '0' (was 2) to /proc/sys/net/ipv4/conf/all/rp_filter
> bmx7[1237]: INFO  check_proc_sys_net(): changing /proc/sys/net/ipv4/conf/all/rp_filter from 0 to 2
> 
> I generally believe that a routing daemon shouldn't take-over the OS to
> a degree which makes co-existence with other routing daemons or other
> networking stuff impossible. Currently both, OLSRd and BMX repeatingly
> try to enforce settings even in /proc/sys/net/ipv*/conf/all/ which thus
> affects all interfaces and not only the ones governed by that specific
> protocol.
> 
> I had a discussion with Henning about a similar issue I had with OLSRd
> changing send_redirects without any way to configure it not to touch
> sysctl values. Now the problem came back and kinda confirms my opinion
> that setting sysctl options (/proc/sys/net/*) is a task to be carried
> out by the OS, ie. netifd on OpenWrt/LEDE or connman or NetworkManager
> or whatever-you-use.
> 
> Thus my demand to routing protocols developers: Please at least create
> a way to tell your routing daemon "don't touch my sysctl, I'll take
> care of it myself!". This should imho be the default for the
> OpenWrt/LEDE build of the routing daemons and netifd should handle
> stuff like rp_filter and send_redirects -- the routing daemon might
> still warn you about UCI settings known to cause problems under certain
> conditions.
> 
> 
> 
> Cheers
> 
> 
> Daniel
> 




More information about the Battlemesh mailing list