kern/141646: em(4) + lagg(4) + vlan(4) generates ISL-tagged frames instead of 802.1q-tagged frames

Jeff Blank jfb at mr-happy.com
Tue Dec 15 09:50:03 PST 2009


>Number:         141646
>Category:       kern
>Synopsis:       em(4) + lagg(4) + vlan(4) generates ISL-tagged frames instead of 802.1q-tagged frames
>Confidential:   no
>Severity:       serious
>Priority:       low
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Tue Dec 15 17:50:02 UTC 2009
>Closed-Date:
>Last-Modified:
>Originator:     Jeff Blank
>Release:        8.0-RELEASE
>Organization:
>Environment:
FreeBSD asterisk01.tc.mtu.edu 8.0-RELEASE-p1 FreeBSD 8.0-RELEASE-p1 #0: Mon Dec 14 11:14:35 EST 2009     root at asterisk01.tc.mtu.edu:/usr/obj/usr/src/sys/GENERIC  amd64
>Description:
Using this em(4) chipset:

em0 at pci0:5:0:0: class=0x020000 card=0x135e8086 chip=0x105e8086 rev=0x06 hdr=0x00
    vendor     = 'Intel Corporation'
    device     = 'HP NC360T PCIe DP Gigabit Server Adapter (n1e5132)'
    class      = network
    subclass   = ethernet
em1 at pci0:5:0:1: class=0x020000 card=0x135e8086 chip=0x105e8086 rev=0x06 hdr=0x00
    vendor     = 'Intel Corporation'
    device     = 'HP NC360T PCIe DP Gigabit Server Adapter (n1e5132)'
    class      = network
    subclass   = ethernet

I configured a lagg interface (lagg0) in failover mode between the two em interfaces and then created two vlan interfaces with "vlandev lagg0" (vlan20, vlan96). Under 7.1-RELEASE on this host, there were no issues. Upon upgrading to 8.0-RELEASE, the host became unable to communicate through either vlan interface. I inspected the traffic generated by the host, and the ethernet frames transmitted were decoded by wireshark as containing ISL tags (??) rather than 802.1q VLAN tags. The host is still able to receive and correctly process q-tagged frames; only outbound frames are problematic.

This issue does not occur when the vlan interfaces' vlandevs are em0 or em1. If I assign an IP address to lagg0 when the switch port is expecting and transmitting untagged frames, there are likewise no issues. This issue does not occur with the same host's bce(4) interfaces (substitute bce0/1 for em0/1 in how-to-repeat).
>How-To-Repeat:
Boot a system containing two em(4) interfaces (may need to be the above chipset) with no network configuration in rc.conf and execute the following commands as root:

# ifconfig em0 up
# ifconfig em1 up
# ifconfig lagg0 create laggproto failover laggport em0 laggport em1 up
# ifconfig vlan20 create vlan 20 vlandev lagg0
# ifconfig vlan20 <ip>/<mask> up

Generate traffic on the configured IP network (e. g., ping), examine the traffic transmitted, and verify that ISL tags instead of 802.1q VLAN tags are present on the frames.
>Fix:


>Release-Note:
>Audit-Trail:
>Unformatted:


More information about the freebsd-bugs mailing list