------- Comment From mu...@br.ibm.com 2017-02-03 10:33 EDT------- I enabled the debug in udev for Ubuntu 17.04 and I am seeing the following in the log:
systemd-udevd[4552]: 'ifupdown-hotplug'(err) 'ifquery: error while loading shared libraries: cannot restore segment prot after reloc: Operation not permitted' This command is used in the /lib/udev/ifupdown-hotplug script that is invoked in the 80-ifupdown.rules # cat /lib/udev/rules.d/80-ifupdown.rules # Allow rfkill for users in the netdev group KERNEL=="rfkill", MODE="0664", GROUP="netdev" # Handle allow-hotplug interfaces SUBSYSTEM=="net", ACTION=="add|remove", RUN+="ifupdown-hotplug" The ifquery command is used in the following net_ifup function of the script: net_ifup() { check_program /sbin/ifup # exit if the interface is not configured as allow-hotplug or auto if ! (ifquery --allow hotplug -l; ifquery --allow auto -l) | grep -q "^${INTERFACE}\$"; then exit 0 fi if [ -d /run/systemd/system ]; then exec systemctl --no-block start $(systemd-escape --template ifup@.service $INTERFACE) fi local out=$(ps -C ifup ho args) if [ "${out%$INTERFACE*}" != "$out" ]; then mesg "Already ifup-ing interface $INTERFACE" exit 0 fi wait_for_interface lo exec ifup --allow=hotplug $INTERFACE } So it is failing the first if and exiting the function when it shouldn't be doing so for an interface that is supposed to be configured. And since it uses exit code 0 it doesn't show up as an error in the syslog and it appears that the script is successfully executed. I don't see the error with ifquery when testing in Ubuntu 16.04, so it might be the point of failure we are looking for. What I find strange is that the script and rule are the same in Ubuntu 16.04 and Ubuntu 17.04 and when I manually run the command in Ubuntu 17.04 I get the proper output. # ifquery --allow hotplug -l enP1p12s0f0 # ifquery --allow auto -l lo enP1p12s0f0 I still need to take a closer look to try to figure out what is causing ifquery to fail in the script and not when using it manually. -- You received this bug notification because you are a member of Ubuntu Touch seeded packages, which is subscribed to ifupdown in Ubuntu. https://bugs.launchpad.net/bugs/1660762 Title: [Regression] Interface configuration not restored after driver unbind/bind (generic) Status in ifupdown package in Ubuntu: Triaged Bug description: ---Problem Description--- Interface configuration not restored after driver unbind/bind root@ltciofvtr-s824-lp8:~# ifconfig enP28p96s0f0 enP28p96s0f0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 10.10.10.11 netmask 255.255.255.0 broadcast 10.10.10.255 inet6 fe80::290:faff:fe7a:5840 prefixlen 64 scopeid 0x20<link> ether 00:90:fa:7a:58:40 txqueuelen 1000 (Ethernet) RX packets 0 bytes 0 (0.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 13 bytes 1046 (1.0 KB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 root@ltciofvtr-s824-lp8:~# cat /etc/network/interfaces # This file describes the network interfaces available on your system # and how to activate them. For more information, see interfaces(5). source /etc/network/interfaces.d/* # The loopback network interface auto lo iface lo inet loopback # The primary network interface auto ibmveth2 iface ibmveth2 inet static address 9.47.68.120 netmask 255.255.240.0 network 9.47.64.0 broadcast 9.47.79.255 gateway 9.47.79.254 # dns-* options are implemented by the resolvconf package, if installed dns-nameservers 9.12.18.2 dns-search pok.stglabs.ibm.com auto enP28p96s0f0 iface enP28p96s0f0 inet static address 10.10.10.11 netmask 255.255.255.0 root@ltciofvtr-s824-lp8:~# ethtool -i enP28p96s0f0 driver: be2net version: 11.1.0.0 firmware-version: 10.2.252.1913 expansion-rom-version: bus-info: 001c:60:00.0 supports-statistics: yes supports-test: yes supports-eeprom-access: yes supports-register-dump: no supports-priv-flags: yes root@ltciofvtr-s824-lp8:~# echo -n 001c:60:00.0 > /sys/bus/pci/drivers/be2net/unbind root@ltciofvtr-s824-lp8:~# ls /sys/bus/pci/drivers/be2net 001c:60:00.1 001c:60:00.2 001c:60:00.3 bind module new_id remove_id uevent unbind root@ltciofvtr-s824-lp8:~# echo -n 001c:60:00.0 > /sys/bus/pci/drivers/be2net/bind root@ltciofvtr-s824-lp8:~# ls /sys/bus/pci/drivers/be2net 001c:60:00.0 001c:60:00.1 001c:60:00.2 001c:60:00.3 bind module new_id remove_id uevent unbind root@ltciofvtr-s824-lp8:~# ifconfig enP28p96s0f0 enP28p96s0f0: flags=4098<BROADCAST,MULTICAST> mtu 1500 ether 00:90:fa:7a:58:40 txqueuelen 1000 (Ethernet) RX packets 0 bytes 0 (0.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 0 bytes 0 (0.0 B) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 root@ltciofvtr-s824-lp8:~# ifup enP28p96s0f0 ifup: interface enP28p96s0f0 already configured root@ltciofvtr-s824-lp8:~# ifdown enP28p96s0f0 RTNETLINK answers: Cannot assign requested address root@ltciofvtr-s824-lp8:~# ifup enP28p96s0f0 root@ltciofvtr-s824-lp8:~# ifconfig enP28p96s0f0 enP28p96s0f0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 10.10.10.11 netmask 255.255.255.0 broadcast 10.10.10.255 inet6 fe80::290:faff:fe7a:5840 prefixlen 64 scopeid 0x20<link> ether 00:90:fa:7a:58:40 txqueuelen 1000 (Ethernet) RX packets 0 bytes 0 (0.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 16 bytes 1344 (1.3 KB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 ---uname output--- Linux ltciofvtr-s824-lp8 4.9.0-12-generic #13-Ubuntu SMP Tue Jan 10 12:52:39 UTC 2017 ppc64le ppc64le ppc64le GNU/Linux Machine Type = IBM,8286-42A LPAR ---Steps to Reproduce--- # echo -n 001c:60:00.0 > /sys/bus/pci/drivers/be2net/unbind # echo -n 001c:60:00.0 > /sys/bus/pci/drivers/be2net/bind == Comment - Vaishnavi Bhat Hi, To bind a device to a driver, the device must first not be controlled by any other driver. Can you check for 'driver' in the below before you bind ? $ tree /sys//bus/pci/devices/001c:60:00.0 Thank you. == Comment - Murilo Fossa Vicentini Just adding some information, this is not a driver specific issue, this was also seen with tg3 and i40e adapters . This behavior is a regression when compared to Ubuntu 16.04 where the interfaces where properly reconfigured upon bind with the information set in /etc/network/interfaces To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/ifupdown/+bug/1660762/+subscriptions -- Mailing list: https://launchpad.net/~touch-packages Post to : touch-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~touch-packages More help : https://help.launchpad.net/ListHelp