Hi Daniel,
You are right that there should be at least an option to disable such
tweaks.
http://bmx6.net/projects/bmx6/repository/revisions/f21cce666c0be7cd6348934c…
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