Note: This bug is displayed in read-only format because
the product is no longer active in Red Hat Bugzilla.
RHEL Engineering is moving the tracking of its product development work on RHEL 6 through RHEL 9 to Red Hat Jira (issues.redhat.com). If you're a Red Hat customer, please continue to file support cases via the Red Hat customer portal. If you're not, please head to the "RHEL project" in Red Hat Jira and file new tickets here. Individual Bugzilla bugs in the statuses "NEW", "ASSIGNED", and "POST" are being migrated throughout September 2023. Bugs of Red Hat partners with an assigned Engineering Partner Manager (EPM) are migrated in late September as per pre-agreed dates. Bugs against components "kernel", "kernel-rt", and "kpatch" are only migrated if still in "NEW" or "ASSIGNED". If you cannot log in to RH Jira, please consult article #7032570. That failing, please send an e-mail to the RH Jira admins at rh-issues@redhat.com to troubleshoot your issue as a user management inquiry. The email creates a ServiceNow ticket with Red Hat. Individual Bugzilla bugs that are migrated will be moved to status "CLOSED", resolution "MIGRATED", and set with "MigratedToJIRA" in "Keywords". The link to the successor Jira issue will be found under "Links", have a little "two-footprint" icon next to it, and direct you to the "RHEL project" in Red Hat Jira (issue links are of type "https://issues.redhat.com/browse/RHEL-XXXX", where "X" is a digit). This same link will be available in a blue banner at the top of the page informing you that that bug has been migrated.
DescriptionBill Nottingham
2010-12-17 20:06:15 UTC
+++ This bug was initially created as a clone of Bug #663904 +++
Description of problem:
biosdevname set a names like 'pci3#1' to interfaces.
Some scripts treats '#' as as special symbol.
It may be better to use sifferent separator, like '_' or '-' (seee patch).
Version-Release number of selected component (if applicable):
biosdevname-0.3.4-1
How reproducible:
Always, if pci card is in slot
Steps to Reproduce:
1. Inser pci network card
2. create appropriate config file /etc/sysconfig/network-scripts/ifcfg-pciNxM
3. service network restart
Actual results:
Interface appears up, but some errors shown:
grep: ifcfg-ifcfg-pci3#1: No such file or directory
Expected results:
Scripts works w/o errors.
Additional info:
There are some old 3-rd party scripts, so it may be better not to fix scripts, but use different separator.
--- Additional comment from atu.ua on 2010-12-17 04:55:46 EST ---
Created attachment 469322[details]
User symbol '_' as a separator
--- Additional comment from matt_domsch on 2010-12-17 08:22:11 EST ---
_ is taken in my scheme, to separate NIC partitions & SR-IOV virtual functions. I'd rather fix the scripts to allow a # in the name. Pointers to such scripts? Was this a rawhide install?
--- Additional comment from matt_domsch on 2010-12-17 09:04:09 EST ---
I can't see a failure when using pci2#1 as an interface name, on a Fedora 14 system + biosdevname. ifup/ifdown work as expected. Can you provide pointers to the failing scripts on your system?
--- Additional comment from atu.ua on 2010-12-17 09:36:18 EST ---
Some of them - /etc/init.d/network from initscripts.
Problem part:
# bring up all other interfaces configured to come up boot time
for i in $interfaces; do
unset DEVICEYPE SLAVE
eval $(LANG=C grep -F "DEVICE=" ifcfg-$i)
eval $(LANG=C grep -F "TYPE=" ifcfg-$i)
eval $(LANG=C grep -F "SLAVE=" ifcfg-$i)
After this eval's error message appears:
grep: ifcfg-ifcfg-pci3#1: No such file or directory
Really, it seems, that some substitutions requires quoting "".
But it's a too common error.
Real error in in this lines :
interfaces=$(ls ifcfg* | \
LANG=C sed -e "$__sed_discard_ignored_files" \
-e '/\(ifcfg-lo$\|:\|ifcfg-.*-range\)/d' \
-e '/ifcfg-[A-Za-z0-9\._-]\+$/ { s/^ifcfg-//g;s/[0-9]/ &/}' | \ # HERE!
LANG=C sort -k 1,1 -k 2n | \
LANG=C sed 's/ //')
May be some another non bash-special symbol, like '@' '=' ,
and add it to allowed char in all scripts?
Dot '.' and ':' are reserver for VLAN-s and aliases.
--- Additional comment from matt_domsch on 2010-12-17 10:21:45 EST ---
1) the fact that it's grepping ifcfg-ifcfg-pci3#1 (note the duplicate ifcfg parts of the name) is a problem. I've never seen that before.
2) sounds like an initscripts problem. Re-assigning. I agree the sed you note with #HERE will need adjustment to accept the new separator # in the match.
--- Additional comment from matt_domsch on 2010-12-17 10:53:25 EST ---
Initscripts patch to add # fixes it:
diff --git a/rc.d/init.d/network b/rc.d/init.d/network
index 482bb7b..b31060b 100755
--- a/rc.d/init.d/network
+++ b/rc.d/init.d/network
@@ -46,7 +46,7 @@ cd /etc/sysconfig/network-scripts
interfaces=$(ls ifcfg* | \
LANG=C sed -e "$__sed_discard_ignored_files" \
-e '/\(ifcfg-lo$\|:\|ifcfg-.*-range\)/d' \
- -e '/ifcfg-[A-Za-z0-9\._-]\+$/ { s/^ifcfg-//g;s/[0-9]/ &/}' | \
+ -e '/ifcfg-[A-Za-z0-9#\._-]\+$/ { s/^ifcfg-//g;s/[0-9]/ &/}' | \
LANG=C sort -k 1,1 -k 2n | \
LANG=C sed 's/ //')
rc=0
On my system, this results in the interfaces being properly found:
em1 em2 pci2#1
--- Additional comment from matt_domsch on 2010-12-17 10:56:49 EST ---
Created attachment 469405[details]
0001-add-as-a-valid-characer-in-network-device-names.patch
initscript patch
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on therefore solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.
http://rhn.redhat.com/errata/RHBA-2011-0647.html