Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 727220 - net-analyzer/arpwatch-2.1.15-r11 - files/arpwatch.initd-r1 breaks listening on VLAN interfaces
Summary: net-analyzer/arpwatch-2.1.15-r11 - files/arpwatch.initd-r1 breaks listening o...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Gentoo Netmon project
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2020-06-05 08:14 UTC by Tomasz Chilinski
Modified: 2020-06-28 12:09 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Tomasz Chilinski 2020-06-05 08:14:42 UTC
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.
Comment 1 Jonas Stein gentoo-dev 2020-06-05 17:24:07 UTC
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/
Comment 2 Tomasz Chilinski 2020-06-05 17:39:20 UTC
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?
Comment 3 Tomasz Chilinski 2020-06-05 18:10:10 UTC
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! ;-)
Comment 4 Larry the Git Cow gentoo-dev 2020-06-28 12:05:40 UTC
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(-)