1 |
On Tuesday 22 Dec 2015 14:20:26 Kai Krakow wrote: |
2 |
> Am Tue, 22 Dec 2015 14:04:12 +0000 |
3 |
> |
4 |
> schrieb Mick <michaelkintzios@×××××.com>: |
5 |
|
6 |
> > There is no means of enabling or disabling the ifplugd service that I |
7 |
> > have found, because there is no /etc/init.d/ifplugd script. Once |
8 |
> > installed ifplugd always starts at boot and daemonizes, configuring |
9 |
> > or tearing down connections as a link is detected or lost. |
10 |
> |
11 |
> As far as I understood, you now start ifplugd using the associated |
12 |
> net.* init script. Openrc will detect that ifplugd is installed and |
13 |
> then wait until a cable is plugged, plus starting an instance listening |
14 |
> on the device. |
15 |
|
16 |
No, this is not how ifplugd worked, for as long as I can remember. I never |
17 |
started the interface, or had to start ifplugd by an init.d script or |
18 |
manually. |
19 |
|
20 |
|
21 |
> Its clear how it used to work but I think the semantics changed. Since |
22 |
> I do no longer use openrc I cannot confirm how the rest of the services |
23 |
> react to and activated net.* init script if ifplugd is active through |
24 |
> the plugin. I suppose dependent scripts should only be triggered after |
25 |
> the cable is plugged in. |
26 |
> |
27 |
> This is also why there is no config file: Its configured dynamically |
28 |
> through the plugin and the interface specific init script. |
29 |
|
30 |
I can confirm that the config file is only used by the /etc/init.d/ifplugd |
31 |
script - which however does not exist on Gentoo. |
32 |
|
33 |
I created a config file, specified the enp11s0 there, started |
34 |
/usr/sbin/ifplugd manually and it still tried to bring up the default eth0 |
35 |
interface. |
36 |
|
37 |
Starting ifplugd manually with '-i enp11s0' works as intended. It brings up |
38 |
the NIC and configures the interface: |
39 |
|
40 |
ifplugd(enp11s0)[4275]: ifplugd 0.28 initializing. |
41 |
ifplugd(enp11s0)[4275]: Using interface enp11s0/00:26:B9:20:B4:9C with driver |
42 |
<tg3> (version: 3.137) |
43 |
ifplugd(enp11s0)[4275]: Using detection mode: SIOCETHTOOL |
44 |
ifplugd(enp11s0)[4275]: Initialization complete, link beat not detected. |
45 |
kernel: IPv6: ADDRCONF(NETDEV_UP): enp11s0: link is not ready |
46 |
kernel: tg3 0000:0b:00.0 enp11s0: Link is up at 100 Mbps, full duplex |
47 |
kernel: tg3 0000:0b:00.0 enp11s0: Flow control is on for TX and on for RX |
48 |
kernel: IPv6: ADDRCONF(NETDEV_CHANGE): enp11s0: link becomes ready |
49 |
ifplugd(enp11s0)[4275]: Link beat detected. |
50 |
ifplugd(enp11s0)[4275]: Executing '/etc/ifplugd/ifplugd.action enp11s0 up'. |
51 |
|
52 |
|
53 |
> > I started this thread because recently I have to start my wired |
54 |
> > interface manually, after which point ipfplugd also starts, |
55 |
> > daemonizes and manages the connection. This is not how it used to |
56 |
> > work - I never had to start the wired interface myself. |
57 |
> |
58 |
> This is how it works now: ifplugd is started through the interface |
59 |
> script. |
60 |
|
61 |
I hear what you say. However, this makes me ask - what changed to cause this? |
62 |
Things changed since dev-libs/libgudev-230 and sys-fs/udev-225 were installed. |
63 |
<=sys-fs/udev-216 and friends used to bring up ifplugd(enp11s0) without any |
64 |
intervention from me or from /etc/init.d/ scripts. So I have to guess that |
65 |
something changed in udev to cause this change in behaviour. |
66 |
|
67 |
Thank you for helping me walk through this. I'm going to raise a bug report |
68 |
and see what the devs think. |
69 |
-- |
70 |
Regards, |
71 |
Mick |