Unable to start arpwatch service on vlan interface. Reproducible: Always Steps to Reproduce: 1. Defines vlans in /etc/conf.d/net (for example with vlan interface named lan.30) 2. Run physicial net interface to allow configuring vlans defined in point 1. 3. Create /etc/init.d/arpwatch.lan.30 as symlink to /etc/init.d/arpwatch. 4. Create file /etc/conf.d/arpwatch.lan.30 with ARPWATCH_IFACE variable set to "lan.30". 5. Try to start arpwatch.lan.30 service: /etc/init.d/arpwatch.lan.30 start 6. You get the following error: Service `arpwatch' needs non existent service `lan.30' Service `arpwatch.lan.30' needs non existent service `net.lan.30' Actual Results: Error starting arpwatch service on vlan interface. Expected Results: Successfull arpwatch service start on vlan interface Fragment from origin file /etc/init.d/arpwatch: depend() { need "net.${ARPWATCH_IFACE}" } In my opinion it does not handle vlan interface case.
It is sad to read that you have problems with the software. The situation seems to be a bit more complicate and requires some analysis. We can not help you efficiently via bug tracker. The bug tracker aims rather on specific problems in .ebuilds and less on individual systems. I have had very good experience on the gentoo IRC [1] with questions like this. Of course there are also forums and mailing lists [2,3]. I hope you understand, that I will close the bug here therefore and wish you good luck on one of the mentioned channels [4]. Please reopen the ticket in order to provide an indication for an specific error in an ebuild or any gentoo related product. [1] https://www.gentoo.org/get-involved/irc-channels/ [2] https://forums.gentoo.org/ [3] https://www.gentoo.org/get-involved/mailing-lists/all-lists.html [4] https://www.gentoo.org/support/
That's deffinitely not a bug in software which I use, but in ebuild in wide sense, I mean the following line in files/arpwatch.initd-r1 file: https://gitweb.gentoo.org/repo/gentoo.git/tree/net-analyzer/arpwatch/files/arpwatch.initd-r1#n20 Before update from 2.1.15-r8 to 2.1.15-r11 it worked properly, because service init file was used which required simply net service: https://gitweb.gentoo.org/repo/gentoo.git/tree/net-analyzer/arpwatch/files/arpwatch.initd#n6 net service dependency in new service init file should handle vlan interface names in specific way than intefaces in general - maybe suffix staring from "." (dot character) should be removed from ${ARPWATCH_IFACE} variable?
I've changed net-analyzer/arpwatch/files/arpwatch.initd-r1 file from portage a little bit and it resolved my problem. Original "depend" function were replaced by the following definition: depend() { if [ -f "/proc/net/vlan/${ARPWATCH_IFACE}" ]; then _if=$(grep -i "device" /proc/net/vlan/${ARPWATCH_IFACE} |awk '{print $2;}') else _if=${ARPWATCH_IFACE} fi need "net.${_if}" } and now works properly for vlan interfaces! ;-)
The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9207fdd5442a659ef9e18c75bad1eb277bb62ea5 commit 9207fdd5442a659ef9e18c75bad1eb277bb62ea5 Author: Jeroen Roovers <jer@gentoo.org> AuthorDate: 2020-06-28 12:04:44 +0000 Commit: Jeroen Roovers <jer@gentoo.org> CommitDate: 2020-06-28 12:05:37 +0000 net-analyzer/arpwatch: Install new conf.d/init.d scripts Package-Manager: Portage-2.3.103, Repoman-2.3.23 Bug: https://bugs.gentoo.org/602552 Closes: https://bugs.gentoo.org/727220 Signed-off-by: Jeroen Roovers <jer@gentoo.org> net-analyzer/arpwatch/arpwatch-3.1.ebuild | 6 ++--- net-analyzer/arpwatch/files/arpwatch.confd-r2 | 18 +++++++++++++++ net-analyzer/arpwatch/files/arpwatch.initd-r2 | 33 +++++++++++++++++++++++++++ 3 files changed, 54 insertions(+), 3 deletions(-)