https://bugzilla.novell.com/show_bug.cgi?id=230213 ------- Comment #20 from dieter.jurzitza@t-online.de 2007-01-30 12:41 MST ------- Dear Mr. Zoz, your patch nearly works :-). One thing is remaining my patch solves, yours does not (yet). In my system I get a circular renaming issue with your patch, the reason follows. At first I entered a card, say rt61 which became ra0 that time. I configured it, so the line SUBSYSTEM=="net", ACTION=="add", SYSFS{address}=="00:0e:2e:b0:c1:9b", IMPORT="/lib/udev/rename_netiface %k ra0" was entered into 30-net_persistent rules. IMHO this is the persistent name of this interface. Now I add another card, say rt2500 which became ra0 again (making the rt61 a "should be" ra1. However, the persistent name of the rt61 is ra0, so the new card should be ra1, not vice versa. Given these entries within 30-net_persistent_names.rule causes an infinite loop: 1st boot ra0-> ra2, ra1 remains. 2nd boot ra2-> ra0, ra1 remains 3rd boot = 1st boot this should not happen. My patch cared for this: if there was a request for renaming an interface <RAX> to <RAY> out of 30-net_persistent_names.rule, I made this interface free by moving the current owner of <RAY> to the next free interface <RAZ> and moving <RAX> to <RAY> afterwards. This does not work with your new patch. Since the permanent renaming is not what is intended to happen, please take a look into what I had had done here: @@ -172,8 +184,22 @@ error_exit 6 "could not get a free persistent interfacename" \ "for $OLDNAME ($DEV_ID)" done - WRITE_RULE=yes info_mesg "$OLDNAME: new persistent name for $DEV_ID is $NEWNAME" + # check whether we expect our IF at a certain location! + if [ "${PERSISTENT_NAME}" != "" ]; then + # check whether the expected name of our IF differs from what we get! + if [ ${NEWNAME} != ${PERSISTENT_NAME} ] ; then + if [ -d /sys/class/net/${PERSISTENT_NAME} ]; then + if nameif -r "${PERSISTENT_NAME}" "${NEWNAME}" 2>/dev/null 1>&2; then + write_rule || error_exit 8 "Name ${PERSISTENT_NAME} for ${DEV_ID} is NOT" \ + "persistent" + info_mesg "${NEWNAME} -> ${PERSISTENT_NAME}: immediate success" + fi + usleep $((RANDOM%600+700))000 + fi + NEWNAME="${PERSISTENT_NAME}" + fi + fi fi and maybe you find an easy way to put a similar thing into your new patch. Anyway: thank you very much for taking care of this, keep me online! Take care Dieter Jurzitza -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is.