Bug 184221

Summary: kernel smp 2.6.15-1.1955_FC5test3 has vlan prob with sky2 ether driver
Product: [Fedora] Fedora Reporter: peter gal <peterg>
Component: kernelAssignee: John W. Linville <linville>
Status: CLOSED CURRENTRELEASE QA Contact: Brian Brock <bbrock>
Severity: medium Docs Contact:
Priority: medium    
Version: 5CC: davej, linville, wtogami
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
URL: http:
Whiteboard:
Fixed In Version: FC5 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2006-03-28 20:55:04 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:

Description peter gal 2006-03-07 14:29:36 UTC
Running kernel rpm "kernel-smp-2.6.15-1.1955_FC5.i686.rpm" on
Intel mboard "D925XBC" with onboard Marvell Yukon 2 ethernet chip "88E8050" has
problem when "sky2" kernel module is used in conjunction with VLANs bound to eth0.

Ie: without VLANs, the sky2 driver works nicely with the 88E8050 chip, and IP
comms between eth0 and the remainder of my devices and the rest of the world
works fine - but I require VLANs exclusively.

When a VLAN "eth0.5" is configured on eth0, then the sky2 driver doesn't even
put a packet on the wire which is recognisable by the switch, so the switch
never forwards any of the sky2's packets to any other nodes.

I can workaround the problem by rebuilding the sky2 kernel module from the
sky2.c and sky2.h files lifted from linville's kernel source for his netdev
kernel smp 2.6.15-1.2009.2.1_FC5 at the above URL.   The sky2 driver in that
source has the sky2-pre1.0 patch added.   Then the comms works fine with VLANs.

On behalf of all of us sky2 vlan-ers, we would appreciate considering that patch
or a newer derivative, for inclusion in FC5 ? 

########################################
########################################
########################################

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

kernel-smp-2.6.15-1.1955_FC5.i686.rpm
sky2-1.0-pre1

########################################
########################################
########################################


Steps to Reproduce:

1. Install FC5test3 which auto selects SMP kernel during vanilla install, plus
ethereal, from DVD.

2. Confirm sky2 module is loading, ie:

typethis#  lsmod | grep sky2
           sky2       41157   0

3. Configure vlan 5 on eth0 with IP = 1.1.1.1, and default route ie:

typethis# ifconfig eth0 0.0.0.0 netmask 0.0.0.0 up
typethis# vconfig add eth0 5
typethis# ifconfig eth0.5 1.1.1.1 netmask 255.255.255.0 up
typethis# route add -net 0.0.0.0 netmask 0.0.0.0 gw 1.1.1.2

4. Ping the default gateway 1.1.1.2 many many times  (fails)

5. Run ethereal and capture all packets on eth0 and eth0.5.
   Observe no responses to ARP packets.

6. Extract kernel source from linville's netdev kernel, at above URL,
kernel-2.6.15-1.2009.2.1_FC5.jwltest.12.src.rpm

7. Extract sky2.c and sk2.h from kernel source above.
   (a few steps omitted here - can provide details as necessary)

8. Build new sky2 kernel module
   (a few steps omitted here - can provide details as necessary, eg: install
    kernel devel, create Makefile, ....etc..)

9. Replace stock FC5test3 sky2 kernel module with newly built sky2 kernel module.

10. Repeat ethernet comms test, and observe 100% responses to all comms.
 
########################################
########################################
########################################   

Actual results:

After installing stock FC5test3, and after configuring vlan eth0.5:

typethis#  lsmod | grep sky2
           sky2       41157   0

typethis: ifconfig -a
eth0      Link encap:Ethernet  HWaddr 00:11:11:47:2B:E1
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

eth0.5    Link encap:Ethernet  HWaddr 00:11:11:47:2B:E1
          inet addr:1.1.1.1  Bcast:1.1.1.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

typethis#  ping 1.1.1.2
PING 1.1.1.2 (1.1.1.2) 56(84) bytes of data
From 1.1.1.1 icmp_seq=2 Destination Host Unreachable   (many times)

Using ethereal I observed that ARP requests weren't being understood by the
switch I decided to set the arp (arp -s) and then start issuing pings.

typethis#  echo 'kitten 1.1.1.2' >> /etc/hosts
typethis#  arp -s kitten 00:0E:0C:6E:83:ED

typethis#  ping 1.1.1.2
PING 1.1.1.2 (1.1.1.2) 56(84) bytes of data
From 1.1.1.1 icmp_seq=2 Destination Host Unreachable   (many times)

########################################
########################################
########################################  

Expected results:

After building and installing new sky2 kernel module (ver sky2-1.0-pre1), and
after rebooting (vlan eth0.5 still configured from earlier testing):

typethis#  lsmod | grep sky2
           sky2       38853   0

typethis: ifconfig -a
eth0      Link encap:Ethernet  HWaddr 00:11:11:47:2B:E1
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

eth0.5    Link encap:Ethernet  HWaddr 00:11:11:47:2B:E1
          inet addr:1.1.1.1  Bcast:1.1.1.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

typethis#  ping 1.1.1.2
PING 1.1.1.2 (1.1.1.2) 56(84) bytes of data
64 bytes from 1.1.1.2: icmp_seq=0 ttl=64 time=0.035 ms
64 bytes from 1.1.1.2: icmp_seq=1 ttl=64 time=0.031 ms  (many times)

########################################
########################################
########################################  

Additional info:

DaveJ:   this is probably the same problem I experienced with Linville's netdev
kernel smp 2.6.15-1.1958.2.1_FC5.   Linville later released a patched kernel
kernel smp 2.6.15-1.2009.2.1_FC5  with the new sky2-1.0-pre1 driver which works
fine with VLANs. 

The Bugzilla bug for that problem was 182592, at:
https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=182592

Comment 1 peter gal 2006-03-27 12:03:28 UTC
You solved it in FC5 !   Well done.    The sky2 driver in FC5 works with VLANs
on my 88E8050 hardware (m'board = Intel D925XBC) just perfectly.

Go ahead and close this ticket.

Thanks......pete