[prev in list] [next in list] [prev in thread] [next in thread] 

List:       busybox
Subject:    issue: ifdown does not work (well) with mapped interfaces
From:       Levente Huszko <levente.huszko () high-end ! hu>
Date:       2018-06-20 10:28:56
Message-ID: CAF50OEKkOojRFBcdn27xVPMJA1czEhC-iqNw_cAWfk8029hMLA () mail ! gmail ! com
[Download RAW message or body]

[Attachment #2 (multipart/alternative)]


Hi,

I'm using Busybox 1.26.2 and have an issue with ifdown and mappings.

CONFIG_FEATURE_IFUPDOWN_IP=y
CONFIG_FEATURE_IFUPDOWN_MAPPING=y

I have mappings in place for eth0 and wlan0.
eth0 is auto configured at boot (`ifup -a`)
wlan0 is brought up by a hotplug event handler with udev (calls `ifup
wlan0`)

/etc/network/interfaces:

auto lo eth0
iface lo inet loopback
  up sysctl -w net.netfilter.nf_conntrack_helper=1
  up /etc/nftables/ipv4-filter

mapping eth0
  script /etc/network/if-check

mapping wlan0
  script /etc/network/if-check

iface eth0-dhcp inet dhcp
  pre-up /etc/network/nfs_check
  wait-delay 15

iface eth0-static inet static
  address 10.10.20.1
  broadcast 10.10.20.255
  netmask 255.255.255.0

iface eth1 inet static
  address 10.10.10.1
  broadcast 10.10.10.255
  netmask 255.255.255.0

iface wlan0-dhcp inet dhcp
  pre-up /etc/network/wlan-startstop
  post-down /etc/network/wlan-startstop

iface wlan0-adhoc inet manual
  #do nothing yet

The mappings work on ifup, /var/run/ifstate contains:
lo=lo
eth1=eth1
eth0=eth0-dhcp
wlan0=wlan0-adhoc

// or

lo=lo
eth1=eth1
eth0=eth0-static
wlan0=wlan0-dhcp

depending on what the `/etc/network/if-check` script echos for either
interface, respectively.
However, the mappings fail on `ifdown`, neither `ifdown -a`, `ifdown eth0`
or `ifdown wlan0` works.

The output is:
ifdown: ignoring unknown interface eth0

I noticed that specifying the full `physical=logical` ifstate entry works,
but that's not what I would expect, nor what `-a` does.

`ifdown eth0=eth0-dhcp`

Is this the expected behavior and if not, how could I resolve this? I
looked at
https://github.com/mirror/busybox/blob/1_26_stable/networking/ifupdown.c
but could not figure it out. Thanks for the insight!
-Lev

[Attachment #5 (text/html)]

<div dir="ltr"><div class="gmail_default" \
style="font-family:arial,helvetica,sans-serif">Hi,</div><div class="gmail_default" \
style="font-family:arial,helvetica,sans-serif"><br></div><div class="gmail_default" \
style="font-family:arial,helvetica,sans-serif">I&#39;m using Busybox 1.26.2 and have \
an issue with ifdown and mappings.</div><div class="gmail_default" \
style="font-family:arial,helvetica,sans-serif"><br></div><div \
class="gmail_default"><font face="arial, helvetica, \
sans-serif">CONFIG_FEATURE_IFUPDOWN_IP=y</font><br></div><div \
class="gmail_default"><font face="arial, helvetica, \
sans-serif">CONFIG_FEATURE_IFUPDOWN_MAPPING=y<br></font></div><div \
class="gmail_default"><font face="arial, helvetica, sans-serif"><br></font></div><div \
class="gmail_default"><font face="arial, helvetica, sans-serif">I have mappings in \
place for eth0 and wlan0.</font></div><div class="gmail_default"><font face="arial, \
helvetica, sans-serif">eth0 is auto configured at boot (`ifup -a`)</font></div><div \
class="gmail_default"><font face="arial, helvetica, sans-serif">wlan0 is brought up \
by a hotplug event handler with udev (calls `ifup wlan0`)</font></div><div \
class="gmail_default"><br></div><div class="gmail_default"><div class="gmail_default" \
style="font-size:small;text-decoration-style:initial;text-decoration-color:initial"><font \
face="arial, helvetica, sans-serif">/etc/network/interfaces:</font></div><div \
class="gmail_default" \
style="font-size:small;text-decoration-style:initial;text-decoration-color:initial"><font \
face="arial, helvetica, sans-serif"><div class="gmail_default"><br></div><div \
class="gmail_default">auto lo eth0</div><div class="gmail_default">iface lo inet \
loopback</div><div class="gmail_default">   up sysctl -w \
net.netfilter.nf_conntrack_helper=1</div><div class="gmail_default">   up \
/etc/nftables/ipv4-filter</div><div class="gmail_default"><br></div><div \
class="gmail_default">mapping eth0</div><div class="gmail_default">   script \
/etc/network/if-check</div><div class="gmail_default">  </div><div \
class="gmail_default">mapping wlan0</div><div class="gmail_default">   script \
/etc/network/if-check</div><div class="gmail_default">  </div><div \
class="gmail_default">iface eth0-dhcp inet dhcp</div><div class="gmail_default">   \
pre-up /etc/network/nfs_check</div><div class="gmail_default">   wait-delay \
15</div><div class="gmail_default"><br></div><div class="gmail_default">iface \
eth0-static inet static</div><div class="gmail_default">   address \
10.10.20.1</div><div class="gmail_default">   broadcast 10.10.20.255</div><div \
class="gmail_default">   netmask 255.255.255.0</div><div \
class="gmail_default"><br></div><div class="gmail_default">iface eth1 inet \
static</div><div class="gmail_default">   address 10.10.10.1</div><div \
class="gmail_default">   broadcast 10.10.10.255</div><div class="gmail_default">   \
netmask 255.255.255.0</div><div class="gmail_default"><br></div><div \
class="gmail_default">iface wlan0-dhcp inet dhcp</div><div class="gmail_default">   \
pre-up /etc/network/wlan-startstop</div><div class="gmail_default">   post-down \
/etc/network/wlan-startstop</div><div class="gmail_default"><br></div><div \
class="gmail_default">iface wlan0-adhoc inet manual</div><div class="gmail_default">  \
#do nothing yet</div></font></div></div><div class="gmail_default"><br></div><div \
class="gmail_default"><font face="arial, helvetica, sans-serif">The mappings work on \
ifup, /var/run/ifstate contains:</font></div><div class="gmail_default"><span \
style="font-family:arial,helvetica,sans-serif">lo=lo</span></div><div \
class="gmail_default"><span \
style="font-family:arial,helvetica,sans-serif">eth1=eth1</span></div><div \
class="gmail_default"><span \
style="font-family:arial,helvetica,sans-serif">eth0=eth0-dhcp</span><br></div><div \
class="gmail_default"><font face="arial, helvetica, \
sans-serif">wlan0=wlan0-adhoc</font></div><div class="gmail_default"><br></div><div \
class="gmail_default">// or</div><div class="gmail_default"><br></div><div \
class="gmail_default">lo=lo</div><div class="gmail_default">eth1=eth1</div><div \
class="gmail_default"><font face="arial, helvetica, sans-serif"><div \
class="gmail_default" \
style="font-family:arial,sans-serif;font-size:small;text-decoration-style:initial;text-decoration-color:initial"><span \
style="font-family:arial,helvetica,sans-serif">eth0=eth0-static</span><br></div><div \
class="gmail_default" \
style="font-family:arial,sans-serif;font-size:small;text-decoration-style:initial;text-decoration-color:initial"><font \
face="arial, helvetica, sans-serif">wlan0=wlan0-dhcp</font></div><div \
class="gmail_default"><font face="arial, helvetica, \
sans-serif"><br></font></div>depending on what the `/etc/network/if-check` script \
echos for either interface, respectively.</font></div><div \
class="gmail_default"><font face="arial, helvetica, sans-serif">However, the mappings \
fail on `ifdown`, neither `ifdown -a`, `ifdown eth0` or `ifdown wlan0` \
works.</font></div><div class="gmail_default"><font face="arial, helvetica, \
sans-serif"><br></font></div><div class="gmail_default"><font face="arial, helvetica, \
sans-serif">The output is:</font></div><div class="gmail_default"><font face="arial, \
helvetica, sans-serif">ifdown: ignoring unknown interface eth0<br></font></div><div \
class="gmail_default"><br></div><div class="gmail_default">I noticed that specifying \
the full `physical=logical` ifstate entry works, but that&#39;s not what I would \
expect, nor what `-a` does.</div><div class="gmail_default"><br></div><div \
class="gmail_default">`ifdown eth0=eth0-dhcp`</div><div class="gmail_default"><font \
face="arial, helvetica, sans-serif"><div class="gmail_default"><br></div><div \
class="gmail_default">Is this the expected behavior and if not, how could I resolve \
this? I looked at <a \
href="https://github.com/mirror/busybox/blob/1_26_stable/networking/ifupdown.c">https://github.com/mirror/busybox/blob/1_26_stable/networking/ifupdown.c</a> \
but could not figure it out. Thanks for the insight!</div><div \
class="gmail_default">-Lev</div></font></div></div>



_______________________________________________
busybox mailing list
busybox@busybox.net
http://lists.busybox.net/mailman/listinfo/busybox


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic