Bug 676709

Summary: [PATCH] VLAN configs do not work when renaming ethernet interfaces to non-numeric.
Product: [Fedora] Fedora Reporter: Matt Domsch <matt_domsch>
Component: initscriptsAssignee: Bill Nottingham <notting>
Status: CLOSED CURRENTRELEASE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: ariev3, iarlyy, jim.nelson, john_hull, jonathan, jordan_hargrave, linux-bugs, matt_domsch, narendra_k, notting, plautrba, ralph, rvokal, shyam_iyer
Target Milestone: ---Keywords: Triaged
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: 462095 Environment:
Last Closed: 2011-06-21 15:26:49 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 462095    
Bug Blocks:    

Description Matt Domsch 2011-02-10 21:36:38 UTC
+++ This bug was initially created as a clone of Bug #462095 +++

Description of problem:

When setting up vlans on ethernet interfaces that have letters in the device file name (ethWAN, ethVZ, ethLAN, etc) instead of numbers only (eth0, eth1, eth5, etc) running 'service network restart' fails when trying to enable the VLANs.

It also appears, looking at the /sbin/ifup script, that it will allow VLAN ID's to be specified in excess of 4095. This is not as critical an issue, though.

How reproducible:

Every time

Steps to Reproduce:
1. rename eth0 to ethLAN
2. create a ethLAN.100 config file, and enable VLANs in /etc/sysconfig/network
3. execute 'service network restart'
  
Actual results:

error messages come up when the VLANS are supposed to be configured

Expected results:

VLANS are configured

Additional info:

Attached is a patch to /sbin/ifup that fixes both the problems indicated in the summary.

--- Additional comment from jim.nelson on 2008-09-12 11:28:51 EDT ---

Created attachment 316590 [details]
Patch to /sbin/ifup

--- Additional comment from notting on 2008-09-12 11:54:56 EDT ---

It's not really a sufficient patch - after all, you could name your devices Tom, Dick, and Harry.

--- Additional comment from jim.nelson on 2008-09-12 12:14:19 EDT ---

I'm torn - although you could, indeed, name an ethernet interface anything you want, using eth* and bond* prefixes for network interfaces is the normal way to designate these things.  Since VLANs are specific to ethernet interfaces, I'd see it as a reasonable restriction.

I could resubmit if it would make sense to open up ethernet interfaces to any name.

--- Additional comment from notting on 2009-03-19 16:39:43 EDT ---

*** Bug 440603 has been marked as a duplicate of this bug. ***

--- Additional comment from matt_domsch on 2011-02-10 16:08:28 EST ---

diff --git a/sysconfig/network-scripts/ifup b/sysconfig/network-scripts/ifup
index 1eaabab..d296508 100755
--- a/sysconfig/network-scripts/ifup
+++ b/sysconfig/network-scripts/ifup
@@ -73,9 +73,9 @@ fi
 # Ethernet 802.1Q VLAN support
 if [ "${VLAN}" = "yes" ] && [ "$ISALIAS" = "no" ]; then
     VID=""
-    MATCH='^(eth|hsi|bond)[0-9]+\.[0-9]{1,4}$'
+    MATCH='^.+\.[0-9]{1,4}$'
     if [[ "${DEVICE}" =~ $MATCH ]]; then
-       VID=$(echo "${DEVICE}" | LC_ALL=C sed 's/^[a-z0-9]*\.0*\([0-9]\+\)/\1/')
+       VID=$(echo "${DEVICE}" | LC_ALL=C sed 's/^.*\.\([0-9]\+\)/\1/')
        PHYSDEV=${DEVICE%.*}
     fi
     MATCH='^vlan[0-9]{1,4}?'

--- Additional comment from matt_domsch on 2011-02-10 16:17:45 EST ---

Created attachment 478120 [details]
remove-network-device-naming-requirement-from-VLAN-names.patch

Patch removes any naming requirement on device names before adding the .1234 VLAN ID.

No sense testing for ID > 4096, vconfig will throw an error that point which the sysadmin can read just as well.