]> git.ipfire.org Git - people/pmueller/ipfire-2.x.git/commitdiff
Fix udev netif_rename problem
authorArne Fitzenreiter <arne_f@ipfire.org>
Wed, 29 Apr 2009 09:39:56 +0000 (11:39 +0200)
committerArne Fitzenreiter <arne_f@ipfire.org>
Wed, 29 Apr 2009 09:39:56 +0000 (11:39 +0200)
config/rootfiles/core/28/exclude
config/rootfiles/core/28/filelists/files
config/rootfiles/core/28/filelists/udev [new symlink]
doc/packages-list.txt
lfs/udev
src/patches/udev-096-netif_rename.patch [new file with mode: 0644]

index c58d7385b2214bdbc171afc47a0ccb48e584f7b9..b615549c580ede11ed0ce503e483351984a52c73 100644 (file)
@@ -1,2 +1,3 @@
 etc/ipsec.conf
 etc/ipsec.secrets
 etc/ipsec.conf
 etc/ipsec.secrets
+etc/udev/rules.d/30-persistent-network.rules
index d20dbe8055c30ee82aa2d958963d0c0f85f0bbaa..9b8ea8f27c9c5932084308742754a1c0427d805a 100644 (file)
@@ -1,6 +1,7 @@
 bin/probenic.sh
 etc/ntp
 etc/rc.d/init.d/snort
 bin/probenic.sh
 etc/ntp
 etc/rc.d/init.d/snort
+etc/rc.d/init.d/networking/red
 etc/ssh/moduli
 etc/ssh/ssh_config
 etc/ssh/sshd_config
 etc/ssh/moduli
 etc/ssh/ssh_config
 etc/ssh/sshd_config
diff --git a/config/rootfiles/core/28/filelists/udev b/config/rootfiles/core/28/filelists/udev
new file mode 120000 (symlink)
index 0000000..e967a1c
--- /dev/null
@@ -0,0 +1 @@
+../../../common/udev
\ No newline at end of file
index 85eb8519ef760d4c7c0562cf2649dd18e13d0c7c..6876f88d6bb61872b8921a5f992b9b4fc2054b9b 100644 (file)
@@ -67,7 +67,7 @@
 * centerim-4.22.1
 * clamav-0.94.2
 * cmake-2.4.8
 * centerim-4.22.1
 * clamav-0.94.2
 * cmake-2.4.8
-* collectd-4.5.1
+* collectd-4.5.3
 * compat-wireless-2009-03-30-kmod-2.6.27.21-ipfire
 * compat-wireless-2009-03-30-kmod-2.6.27.21-ipfire-xen
 * coreutils-5.96
 * compat-wireless-2009-03-30-kmod-2.6.27.21-ipfire
 * compat-wireless-2009-03-30-kmod-2.6.27.21-ipfire-xen
 * coreutils-5.96
 * openssl-0.9.8k
 * openswan-2.6.21
 * openswan-2.6.21-kmod-2.6.27.21-ipfire
 * openssl-0.9.8k
 * openswan-2.6.21
 * openswan-2.6.21-kmod-2.6.27.21-ipfire
+* openswan-2.6.21-kmod-2.6.27.21-ipfire-xen
 * openvpn-2.0.9
 * p7zip_4.65
 * pam_mysql-0.7RC1
 * openvpn-2.0.9
 * p7zip_4.65
 * pam_mysql-0.7RC1
index 8fd066accad31be88baea42719e327848ddcea63..4667ff4a68b70f3c370531ef33388b0387bf60ae 100644 (file)
--- a/lfs/udev
+++ b/lfs/udev
@@ -80,6 +80,7 @@ $(subst %,%_MD5,$(objects)) :
 $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
        @$(PREBUILD)
        @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar jxf $(DIR_DL)/$(DL_FILE)
 $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
        @$(PREBUILD)
        @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar jxf $(DIR_DL)/$(DL_FILE)
+       cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/udev-096-netif_rename.patch
 ifeq "$(LFS_PASS)" "install"
        cd $(DIR_APP) && make DESTDIR=/install/initrd sbindir=/sbin udevdir=/dev
        cd $(DIR_APP) && make DESTDIR=/install/initrd sbindir=/sbin udevdir=/dev install
 ifeq "$(LFS_PASS)" "install"
        cd $(DIR_APP) && make DESTDIR=/install/initrd sbindir=/sbin udevdir=/dev
        cd $(DIR_APP) && make DESTDIR=/install/initrd sbindir=/sbin udevdir=/dev install
diff --git a/src/patches/udev-096-netif_rename.patch b/src/patches/udev-096-netif_rename.patch
new file mode 100644 (file)
index 0000000..1249c05
--- /dev/null
@@ -0,0 +1,45 @@
+diff -Naur udev-096.org/udev_device.c udev-096/udev_device.c
+--- udev-096.org/udev_device.c 2006-07-09 21:48:19.000000000 +0200
++++ udev-096/udev_device.c     2009-04-28 22:04:56.000000000 +0200
+@@ -102,40 +102,8 @@
+       strlcpy(ifr.ifr_newname, udev->name, IFNAMSIZ);
+       retval = ioctl(sk, SIOCSIFNAME, &ifr);
+       if (retval != 0) {
+-              int loop;
+-
+-              /* see if the destination interface name already exists */
+-              if (errno != EEXIST) {
+-                      err("error changing netif name: %s", strerror(errno));
+-                      goto exit;
+-              }
+-
+-              /* free our own name, another process may wait for us */
+-              strlcpy(ifr.ifr_newname, udev->dev->kernel_name, IFNAMSIZ);
+-              strlcat(ifr.ifr_newname, "_rename", IFNAMSIZ);
+-              retval = ioctl(sk, SIOCSIFNAME, &ifr);
+-              if (retval != 0) {
+-                      err("error changing netif name: %s", strerror(errno));
+-                      goto exit;
+-              }
+-
+-              /* wait 30 seconds for our target to become available */
+-              strlcpy(ifr.ifr_name, ifr.ifr_newname, IFNAMSIZ);
+-              strlcpy(ifr.ifr_newname, udev->name, IFNAMSIZ);
+-              loop = 30 * 20;
+-              while (loop--) {
+-                      retval = ioctl(sk, SIOCSIFNAME, &ifr);  
+-                      if (retval != 0) {
+-                              if (errno != EEXIST) {
+-                                      err("error changing net interface name: %s", strerror(errno));
+-                                      break;
+-                              }
+-                              dbg("wait for netif '%s' to become free, loop=%i", udev->name, (30 * 20) - loop);
+-                              usleep(1000 * 1000 / 20);
+-                      }
+-              }
++              err("error changing netif name: %s", strerror(errno));
+       }
+-
+ exit:
+       close(sk);
+       return retval;