Bug 481292 - [RHEL4.7] Original ether's status is keeping PROMISC MULTICAST mode
Summary: [RHEL4.7] Original ether's status is keeping PROMISC MULTICAST mode
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 4
Classification: Red Hat
Component: kernel
Version: 4.7
Hardware: All
OS: Linux
high
high
Target Milestone: rc
: ---
Assignee: Neil Horman
QA Contact: Liang Zheng
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2009-01-23 13:35 UTC by Flavio Leitner
Modified: 2018-11-14 18:32 UTC (History)
6 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of: 481283
Environment:
Last Closed: 2011-02-16 15:53:37 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)
backport of the missing patch (3.41 KB, patch)
2009-12-21 20:28 UTC, Neil Horman
no flags Details | Diff


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHSA-2011:0263 0 normal SHIPPED_LIVE Important: Red Hat Enterprise Linux 4.9 kernel security and bug fix update 2011-02-16 15:14:55 UTC

Description Flavio Leitner 2009-01-23 13:35:34 UTC
+++ This bug was initially created as a clone of Bug #481283 +++

Description of problem:
Though  removing vlan ether device,
original ether's status is keeping PROMISC MULTICAST mode.

How reproducible:
Always

Steps to Reproduce:
1.Create new vlan ether.
# vconfig etadd eth2 100
# ifconfig eth2.100
eth2.100  Link encap:Ethernet  HWaddr 00:00:87:E2:D4:02
          BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)
# cat /sys/class/net/eth2/flags
0x1003

2.Change new ether's MAC address.
# ifconfig eth2.100 hw ether 22.:22:22:44:44:44
# ifconfig eth2.100
eth2.100  Link encap:Ethernet  HWaddr 22:22:22:44:44:44  
          BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

3.Check eth2's status.
# ifconfig eth2
eth2      Link encap:Ethernet  HWaddr 00:00:87:E2:D4:02  
          UP BROADCAST RUNNING PROMISC MULTICAST  MTU:1500  Metric:1 <<<
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)
          Memory:80100000-80120000
# cat /sys/class/net/eth2.100/flags
0x1002
# cat /sys/calass/net/eth2/flags
0x1103  <<< PROMISC MULTICAST BIT ON

4.Delete vlan ether
# vconfig rem eth2.100
# ifconfig eth2.
eth2      Link encap:Ethernet  HWaddr 00:00:87:E2:D4:02  
          UP BROADCAST RUNNING PROMISC MULTICAST  MTU:1500  Metric:1 << STILL PROMISC MULTICAST
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)
          Memory:80100000-80120000
# cat /proc/sys/class/net/bond/eth2/flags
0x1103 <<<
# ifconfig eth2 -rpromisc
# ifconfig eth2
eth2      Link encap:Ethernet  HWaddr 00:00:87:E2:D4:02  
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1  <<< RELEASE PROMISC MULTICAST
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)
          Memory:80100000-80120000

# cat /sys/class/net/eth2/flags
0x1103         <<< STILL PROMISC MULTICAST

Actual results:
Not release PROMISC MULTICAST

Expected results:
Release PROMISC MULTICAST

Environment:

e1000: eth2: e1000_watchdog_task: NIC Link is Up 1000 Mbps Full Duplex, Flow Control: None
802.1Q VLAN Support v1.8 Ben Greear <greearb>


Additional info:
Our problem have already fixed on current upstream kernel.

--- snip ---
[VLAN]: Fix MAC address handling

The VLAN MAC address handling is broken in multiple ways. When the address
differs when setting it, the real device is put in promiscous mode twice,
but never taken out again. Additionally it doesn't resync when the real
device's address is changed and needlessly puts it in promiscous mode when
the vlan device is still down.

Fix by moving address handling to vlan_dev_open/vlan_dev_stop and properly
deal with address changes in the device notifier. Also switch to
dev_unicast_add (which needs the exact same handling).

Since the set_mac_address handler is identical to the generic ethernet one
with these changes, kill it and use ether_setup().
http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8c979c26a0f093c13290320edda799d8335e50ae

--- Additional comment from fleitner on 2009-01-23 07:35:41 EDT ---

 4. State specific action requested of SEG
   I have looked in the git. Below is upstream patch requested by the vendor:
     8c979c26a0f093c13290320edda799d8335e50ae
   Apparently this may need some more patches as:
     (vlan_group_get_device)
     5c15bdec5c38f4ccf73ef2585fc80a6164de9554
     (dev_unicast_delete/dev_unicast_add)
     4417da668c0021903464f92db278ddae348e0299
   
Issue escalated to Support Engineering Group by: tumeya.

--- Additional comment from fleitner on 2009-01-23 07:37:53 EDT ---

Created an attachment (id=329816)
5c15bdec5c38f4ccf73ef2585fc80a6164de9554.patch

--- Additional comment from fleitner on 2009-01-23 07:38:31 EDT ---

Created an attachment (id=329817)
8c979c26a0f093c13290320edda799d8335e50ae.patch

--- Additional comment from fleitner on 2009-01-23 07:38:56 EDT ---

Created an attachment (id=329818)
4417da668c0021903464f92db278ddae348e0299.patch

--- Additional comment from fleitner on 2009-01-23 07:41:36 EDT ---

Created an attachment (id=329819)
patch by customer based on kernel-2.6.18-92.1.6.el5.ia64

Comment 1 Neil Horman 2009-12-21 20:28:09 UTC
Created attachment 379705 [details]
backport of the missing patch

Comment 2 Neil Horman 2009-12-21 20:29:32 UTC
http://brewweb.devel.redhat.com/brew/taskinfo?taskID=2163019

Theres a test build with the missing backport.  If you could test it as soon as you are able please and validate that it fixes the problem, I'll post this.  Thanks!

Comment 6 RHEL Program Management 2010-01-04 13:42:00 UTC
This request was evaluated by Red Hat Product Management for inclusion in a Red
Hat Enterprise Linux maintenance release.  Product Management has requested
further review of this request by Red Hat Engineering, for potential
inclusion in a Red Hat Enterprise Linux Update release for currently deployed
products.  This request is not yet committed for inclusion in an Update
release.

Comment 7 Vivek Goyal 2010-09-23 13:01:33 UTC
Committed in 89.37.EL . RPMS are available at http://people.redhat.com/vgoyal/rhel4/

Comment 13 errata-xmlrpc 2011-02-16 15:53:37 UTC
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/RHSA-2011-0263.html


Note You need to log in before you can comment on or make changes to this bug.