That's what my research has yielded as well, however, it doesn't
appear that /var/run/ifstate is getting written to.  I check the
ownership/permissions of the file:

root:root 644

I since changed it to mimic yours and attempted an 'ifup' again - no
luck, same message.  I then tried adding the 'eth0=eth0' to the file
and calling 'ifdown eth0' which worked like a charm.  So it appears
that the problem lies with 'ifup'?  Also, the 'ifstate' file is
dynamically being created during the boot cycle (most likely by the
'ifup -a' call during boot), so I'm assuming the file ownership and
permissions are getting set there.


On 9/20/16, Martin Townsend <> wrote:
> Hi David,
> On Tue, Sep 20, 2016 at 4:03 PM, David Henderson
> <> wrote:
>> Good morning everyone!  During the boot of the OS, an 'ifup -a' is
>> called to bring all the configured adapters online via the
>> /etc/network/interfaces file.  Once the device is up and running, I
>> can see the proper configurations via an 'ifconfig' call.  However,
>> when I issue an 'ifdown eth0' call, I get the following error:
>> ifdown: interface eth0 not configured
>> Checking with the 'ifconfig' confirms that no action was taken and
>> that the adapter is still up and running.  Running an 'ifdown -f eth0'
>> achieves the desired goals, but why do I need to force this?  Checking
>> the /var/run/ifstate file shows that it is 0 bytes at all times (e.g.
>> right after a reboot, after tinkering with ifup/down, etc).  Also,
>> once the configuration is removed and an 'ifup -v eth0' is called,
>> here's what I get:
>> run-parts /etc/network/if-pre-up.d
>> ip addr add dev eth0 label eth0
>> ip link setup eth0 up
>> ip route add default via dev eth0
>> ip: RTNETLINK answers: File exists
>> I've tried calling a "ip addr flush dev eth0" to see if that would
>> resolve the problem, but didn't work.  Also keep in mind that I can
>> not run an 'strace' since the machine I'm working on (or more
>> precisely developing on) does NOT have a current Internet connection.
>> As a side note to one of my other posts, it doesn't appear that any
>> other if-*.d directories are getting processed (which would explain
>> why my test script isn't being called).  Is this due to the error
>> preventing further processing, or are the other directories getting
>> skipped for some other reason?
>> Thanks,
>> Dave
>> _______________________________________________
>> busybox mailing list
> I'm sure that /var/run/ifstate must contain the name of the currently
> configured network interfaces otherwise ifdown will not work so I
> would start there.   On my system /var/run is in tmpfs and is a link
> to /run as should have 777 permissions.
>  df -h /var/run
> Filesystem      Size  Used Avail Use% Mounted on
> tmpfs           503M  8.5M  495M   2% /run
> ls -al /var/run
> lrwxrwxrwx 1 root root 6 Sep 19 17:28 /var/run -> ../run
> Is there anything in dmesg about ifstate?  can you write to ifstate
> echo "eth0=eth0" > /var/run/ifstate
> if so does ifdown now work?
> -Martin
busybox mailing list

Reply via email to