OpenWrt/LEDE Project

  • Status Researching
  • Percent Complete
    0%
  • Task Type Bug Report
  • Category Base system
  • Assigned To No-one
  • Operating System All
  • Severity Low
  • Priority Very Low
  • Reported Version Trunk
  • Due in Version Undecided
  • Due Date Undecided
  • Private
Attached to Project: OpenWrt/LEDE Project
Opened by Eric Luehrsen - 17.04.2017
Last edited by Hans Dedecker - 28.04.2017

FS#713 - netifd: substantially more IFUP events are being created

I have noticed that some services reloaded with a procd “interface.*” raw trigger are reloading on a much more frequent cadence (few minutes or so). LEDE 17.01 does not do this. LEDE Trunk does. I can not find an obvious cause in procd. Though procd should not stop-start for reload without a command line change or explicit file under watch. Perhaps netifd commit a03216660797173fbe67866f75564e3fec9c1e8d is generating unusual numbers of IFUP.

procd_add_raw_trigger “interface.*” 2000 /etc/init.d/[script] reload

Eric Luehrsen commented on 17.04.2017 13:22

I can confirm this using tools that use an interface trigger with optional interfaces. If WAN (ip4 only) and not WAN6 is used restarts almost never occur. If WAN6 is included, then restarts are occurring every few minutes.

  for iface in $ifacelist
  do
      procd_add_interface_trigger "interface.*" "$iface" /etc/init.d/[script] [command]
  done
Project Manager
Hans Dedecker commented on 19.04.2017 08:15

Before netifd commit https://git.lede-project.org/?p=project/netifd.git;a=commitdiff;h=b8ef742bd04ebef324ae11aee56c6e1d2cb7e0ad interface update events were send without an IP address/route/data/prefix change actually happening.
This commit fixed the issue of unnecessary interface update events but as reported in https://github.com/openwrt/openwrt/issues/346 this caused a regression in the hnetd daemon implementation as it was relying on the "unnecessary" interface update events to pick up IPv6 prefix lifetime changes.
This was fixed in netifd commit https://git.lede-project.org/?p=project/netifd.git;a=commit;h=a03216660797173fbe67866f75564e3fec9c1e8d which explicitly triggers interface update events allowing the hnetd daemon to pick IPv6 prefix lifetime updates.
So reverting this commit will break hnetd daemon again or making it a controllable feature as reported in http://lists.infradead.org/pipermail/lede-dev/2017-April/007065.html is also not a clean solution.
Packages installing interface triggers are now triggered by procd when an interface parameter changes; a more sane approach would be to allow a procd interface trigger subscription for a specific interface parameter changes as most daemons are not interested in route or IPv6 prefix changes

Eric Luehrsen commented on 25.04.2017 02:22

If procd isn't up to the task yet, then is changing netifd now the right solution?
http://lists.infradead.org/pipermail/lede-dev/2017-April/007162.html

netprince commented on 03.01.2018 18:04

I can confirm this behavior, I am getting dnsmasq reload events triggered 2-3 times per minute.

Loading...

Available keyboard shortcuts

Tasklist

Task Details

Task Editing