This service will be undergoing maintenance at 00:00 UTC, 2017-10-23 It is expected to last about 30 minutes
Bug 1027480 - alb_send_learning_packets using an obsolete EtherType
alb_send_learning_packets using an obsolete EtherType
Status: CLOSED ERRATA
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: kernel (Show other bugs)
6.4
x86_64 Linux
high Severity medium
: rc
: ---
Assigned To: Jarod Wilson
Amit Supugade
:
Depends On:
Blocks: 994246 1056239
  Show dependency treegraph
 
Reported: 2013-11-06 17:36 EST by noah davids
Modified: 2016-05-27 11:44 EDT (History)
8 users (show)

See Also:
Fixed In Version: kernel-2.6.32-469.el6
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2014-10-14 01:32:12 EDT
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description noah davids 2013-11-06 17:36:57 EST
Description of problem:
alb_send_learning_packets usses the old (very old) DIX EtherType of 0x0060 for its test packet. Devices using an 802.3 interpretation treat this as a length of 96 bytes but since the frame is only 60 bytes some devices report an invalid frame.

Version-Release number of selected component (if applicable):


How reproducible:
100% 

Steps to Reproduce:
1. Configure a bonding mode of either 5 or 6 and look at the test frames generated
2.
3.

Actual results:
Output from Wireshark:

Frame 54: 60 bytes on wire (480 bits), 60 bytes captured (480 bits) on interface 0
IEEE 802.3 Ethernet 
    Destination: Universa_3d:c2:58 (fc:4d:d4:3d:c2:58)
    Source: Universa_3d:c2:58 (fc:4d:d4:3d:c2:58)
    Length: 96
        [Expert Info (Error/Malformed): Length field value goes past the end of the payload]
            [Message: Length field value goes past the end of the payload]
            [Severity level: Error]
            [Group: Malformed]
Logical-Link Control
Data (42 bytes)



Expected results:


Additional info:

In linux/if_ether.h

#define ETH_P_LOOP      0x0060          /* Ethernet Loopback packet     */

should be changed to

#define ETH_P_LOOP      0x9000          /* Ethernet Loopback packet     */


See http://www.iana.org/assignments/ieee-802-numbers/ieee-802-numbers.xhtml
Comment 5 RHEL Product and Program Management 2013-11-11 17:07:22 EST
This request was not resolved in time for the current release.
Red Hat invites you to ask your support representative to
propose this request, if still desired, for consideration in
the next release of Red Hat Enterprise Linux.
Comment 14 Rafael Aquini 2014-05-22 12:30:39 EDT
Patch(es) available on kernel-2.6.32-469.el6
Comment 17 Zhenjie Chen 2014-09-13 03:59:48 EDT
Reproduce on kernel 2.6.32-431.el6.x86_64

[root@dhcp-66-86-232 ~]# uname -r
2.6.32-431.el6.x86_64
[root@dhcp-66-86-232 ~]# modprobe -r bonding
[root@dhcp-66-86-232 ~]# modprobe bonding mode=5 miimon=100 
[root@dhcp-66-86-232 ~]# ifconfig bond0 up
[root@dhcp-66-86-232 ~]# ifenslave bond0 eth1

[root@dhcp-66-86-232 ~]# tshark -i eth1 -V -x
Running as user "root" and group "root". This could be dangerous.
Capturing on eth1
Frame 1: 60 bytes on wire (480 bits), 60 bytes captured (480 bits) on interface 0
    Interface id: 0
    WTAP_ENCAP: 1
    Arrival Time: Sep 13, 2014 03:51:34.012998000 EDT
    [Time shift for this packet: 0.000000000 seconds]
    Epoch Time: 1410594694.012998000 seconds
    [Time delta from previous captured frame: 0.000000000 seconds]
    [Time delta from previous displayed frame: 0.000000000 seconds]
    [Time since reference or first frame: 0.000000000 seconds]
    Frame Number: 1
    Frame Length: 60 bytes (480 bits)
    Capture Length: 60 bytes (480 bits)
    [Frame is marked: False]
    [Frame is ignored: False]
    [Protocols in frame: eth:llc:data]
IEEE 802.3 Ethernet 
    Destination: 02:00:00:00:00:11 (02:00:00:00:00:11)
        Address: 02:00:00:00:00:11 (02:00:00:00:00:11)
        .... ..1. .... .... .... .... = LG bit: Locally administered address (this is NOT the factory default)
        .... ...0 .... .... .... .... = IG bit: Individual address (unicast)
    Source: 02:00:00:00:00:11 (02:00:00:00:00:11)
        Address: 02:00:00:00:00:11 (02:00:00:00:00:11)
        .... ..1. .... .... .... .... = LG bit: Locally administered address (this is NOT the factory default)
        .... ...0 .... .... .... .... = IG bit: Individual address (unicast)
    Length: 96
        [Expert Info (Error/Malformed): Length field value goes past the end of the payload]
            [Message: Length field value goes past the end of the payload]
            [Severity level: Error]
            [Group: Malformed]
Logical-Link Control
    DSAP: NULL LSAP (0x00)
    IG Bit: Individual
    SSAP: NULL LSAP (0x00)
    CR Bit: Command
    Control field: I, N(R)=0, N(S)=0 (0x0000)
        0000 000. .... .... = N(R): 0
        .... .... 0000 000. = N(S): 0
        .... .... .... ...0 = Frame type: Information frame (0x0000)
Data (42 bytes)
    Data: 000000000000000000000000000000000000000000000000...
    [Length: 42]

0000  02 00 00 00 00 11 02 00 00 00 00 11 00 60 00 00   .............`..
0010  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
0020  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
0030  00 00 00 00 00 00 00 00 00 00 00 00               ............


-----

Verified on kernel 2.6.32-498.el6.x86_64

[root@dhcp-66-86-232 ~]# uname -r
2.6.32-498.el6.x86_64
[root@dhcp-66-86-232 ~]# modprobe bonding mode=5 miimon=100 
[root@dhcp-66-86-232 ~]# ifconfig bond0 up
[root@dhcp-66-86-232 ~]# ifenslave bond0 eth1
[root@dhcp-66-86-232 ~]# tshark -i eth1 -V -x
Running as user "root" and group "root". This could be dangerous.
Capturing on eth1
Frame 1: 60 bytes on wire (480 bits), 60 bytes captured (480 bits) on interface 0
    Interface id: 0
    WTAP_ENCAP: 1
    Arrival Time: Sep 13, 2014 03:54:42.916605000 EDT
    [Time shift for this packet: 0.000000000 seconds]
    Epoch Time: 1410594882.916605000 seconds
    [Time delta from previous captured frame: 0.000000000 seconds]
    [Time delta from previous displayed frame: 0.000000000 seconds]
    [Time since reference or first frame: 0.000000000 seconds]
    Frame Number: 1
    Frame Length: 60 bytes (480 bits)
    Capture Length: 60 bytes (480 bits)
    [Frame is marked: False]
    [Frame is ignored: False]
    [Protocols in frame: eth:loop:data]
Ethernet II, Src: 02:00:00:00:00:11 (02:00:00:00:00:11), Dst: 02:00:00:00:00:11 (02:00:00:00:00:11)
    Destination: 02:00:00:00:00:11 (02:00:00:00:00:11)
        Address: 02:00:00:00:00:11 (02:00:00:00:00:11)
        .... ..1. .... .... .... .... = LG bit: Locally administered address (this is NOT the factory default)
        .... ...0 .... .... .... .... = IG bit: Individual address (unicast)
    Source: 02:00:00:00:00:11 (02:00:00:00:00:11)
        Address: 02:00:00:00:00:11 (02:00:00:00:00:11)
        .... ..1. .... .... .... .... = LG bit: Locally administered address (this is NOT the factory default)
        .... ...0 .... .... .... .... = IG bit: Individual address (unicast)
    Type: Loopback (0x9000)
Configuration Test Protocol (loopback)
    skipCount: 0
    Relevant function:
    Function: Unknown (0)
Data (42 bytes)
    Data: 000000000000000000000000000000000000000000000000...
    [Length: 42]

0000  02 00 00 00 00 11 02 00 00 00 00 11 90 00 00 00   ................
0010  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
0020  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
0030  00 00 00 00 00 00 00 00 00 00 00 00               ............
Comment 19 errata-xmlrpc 2014-10-14 01:32:12 EDT
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

http://rhn.redhat.com/errata/RHSA-2014-1392.html

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