From nobody@FreeBSD.org Mon Apr 21 07:29:06 2008 Return-Path: Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 6C7D11065672 for ; Mon, 21 Apr 2008 07:29:06 +0000 (UTC) (envelope-from nobody@FreeBSD.org) Received: from www.freebsd.org (www.freebsd.org [IPv6:2001:4f8:fff6::21]) by mx1.freebsd.org (Postfix) with ESMTP id 51BE28FC0A for ; Mon, 21 Apr 2008 07:29:06 +0000 (UTC) (envelope-from nobody@FreeBSD.org) Received: from www.freebsd.org (localhost [127.0.0.1]) by www.freebsd.org (8.14.2/8.14.2) with ESMTP id m3L7SkFw092707 for ; Mon, 21 Apr 2008 07:28:46 GMT (envelope-from nobody@www.freebsd.org) Received: (from nobody@localhost) by www.freebsd.org (8.14.2/8.14.1/Submit) id m3L7SkBO092706; Mon, 21 Apr 2008 07:28:46 GMT (envelope-from nobody) Message-Id: <200804210728.m3L7SkBO092706@www.freebsd.org> Date: Mon, 21 Apr 2008 07:28:46 GMT From: Stephen Halpin To: freebsd-gnats-submit@FreeBSD.org Subject: IPv6 EUI64 incorrectly chosen for lagg devices X-Send-Pr-Version: www-3.1 X-GNATS-Notify: >Number: 122954 >Category: kern >Synopsis: [lagg] IPv6 EUI64 incorrectly chosen for lagg devices >Confidential: no >Severity: serious >Priority: medium >Responsible: freebsd-net >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Mon Apr 21 07:30:03 UTC 2008 >Closed-Date: >Last-Modified: Mon Apr 21 08:41:37 UTC 2008 >Originator: Stephen Halpin >Release: FreeBSD 6.3 >Organization: >Environment: FreeBSD 6.3-RELEASE FreeBSD 6.3-RELEASE #0: Wed Jan 16 01:43:02 UTC 2008 root@palmer.cse.buffalo.edu:/usr/obj/usr/src/sys/SMP amd64 >Description: I have multiple systems with multiple Ethernet interfaces. I am configuring lagg devices with a subset of those interfaces, and the lagg devices does not derive its EUI64 node address from the Ethernet address of the lagg device. If VLANs are configured on the lagg device, they inherit the wrong EUI64 value. In the example below, bge0/bge1 are used to form the lagg0 interface, and the EUI64 value is based on the interface em0. The problem appears to be in the way the kernel is handing the automatic generation of the link local address. As an aside, I always see the line "kldload: Unsupported file type" when creating the lagg device, but everything appears to work. >How-To-Repeat: Three sections follow. The rc.conf, ifconfig -a output and dmesg -a output: A minimal /etc/rc.conf configuration for a system with em0, bge0, and bge1 Gigabit Ethernet interfaces: cloned_interfaces="lagg0" ifconfig_bge0="up" ifconfig_bge1="up" ifconfig_lagg0="inet 192.168.160.56 netmask 255.255.255.192 laggproto lacp laggport bge0 laggport bge1" ipv6_enable="YES" Here is the ifconfig -a output after booting a raw 6.3 installation: em0: flags=8843 mtu 1500 options=1b inet6 fe80::21b:21ff:fe0c:bed9%em0 prefixlen 64 scopeid 0x1 ether 00:1b:21:0c:be:d9 media: Ethernet autoselect status: no carrier bge0: flags=8843 mtu 1500 options=1b inet6 fe80::214:22ff:fe7c:a6bd%bge0 prefixlen 64 scopeid 0x2 ether 00:14:22:7c:a6:bd media: Ethernet autoselect (100baseTX ) status: active lagg: laggdev lagg0 bge1: flags=8843 mtu 1500 options=1b inet6 fe80::214:22ff:fe7c:a6be%bge1 prefixlen 64 scopeid 0x3 ether 00:14:22:7c:a6:bd media: Ethernet autoselect (100baseTX ) status: active lagg: laggdev lagg0 lo0: flags=8049 mtu 16384 inet6 ::1 prefixlen 128 inet6 fe80::1%lo0 prefixlen 64 scopeid 0x4 inet 127.0.0.1 netmask 0xff000000 lagg0: flags=8843 mtu 1500 options=1b inet6 fe80::21b:21ff:fe0c:bed9%lagg0 prefixlen 64 scopeid 0x5 inet 192.168.160.56 netmask 0xffffffc0 broadcast 192.168.160.63 ether 00:14:22:7c:a6:bd media: Ethernet autoselect status: active laggproto lacp laggport: bge1 flags=1c laggport: bge0 flags=1c Output of dmesg -a: Copyright (c) 1992-2008 The FreeBSD Project. Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994 The Regents of the University of California. All rights reserved. FreeBSD is a registered trademark of The FreeBSD Foundation. FreeBSD 6.3-RELEASE #0: Wed Jan 16 01:43:02 UTC 2008 root@palmer.cse.buffalo.edu:/usr/obj/usr/src/sys/SMP ACPI APIC Table: Timecounter "i8254" frequency 1193182 Hz quality 0 CPU: Intel(R) Pentium(R) 4 CPU 3.00GHz (3003.13-MHz K8-class CPU) Origin = "GenuineIntel" Id = 0xf43 Stepping = 3 Features=0xbfebfbff Features2=0x649d AMD Features=0x20100800 Logical CPUs per core: 2 real memory = 1073479680 (1023 MB) avail memory = 1022824448 (975 MB) FreeBSD/SMP: Multiprocessor System Detected: 2 CPUs cpu0 (BSP): APIC ID: 0 cpu1 (AP): APIC ID: 1 ioapic0: Changing APIC ID to 2 ioapic1: Changing APIC ID to 3 ioapic0 irqs 0-23 on motherboard ioapic1 irqs 32-55 on motherboard kbd1 at kbdmux0 ath_hal: 0.9.20.3 (AR5210, AR5211, AR5212, RF5111, RF5112, RF2413, RF5413) hptrr: HPT RocketRAID controller driver v1.1 (Jan 16 2008 01:41:13) acpi0: on motherboard acpi0: Power Button (fixed) Timecounter "ACPI-fast" frequency 3579545 Hz quality 1000 acpi_timer0: <24-bit timer at 3.579545MHz> port 0x808-0x80b on acpi0 acpi_hpet0: iomem 0xfed00000-0xfed003ff on acpi0 Timecounter "HPET" frequency 14318180 Hz quality 900 cpu0: on acpi0 cpu1: on acpi0 pcib0: port 0xcf8-0xcff on acpi0 pci0: on pcib0 pcib1: at device 1.0 on pci0 pci1: on pcib1 pcib2: at device 28.0 on pci0 pci2: on pcib2 pcib3: at device 0.0 on pci2 pci3: on pcib3 em0: port 0xecc0-0xecff mem 0xfe9e0000-0xfe9fffff,0xfe9c0000-0xfe9dffff irq 35 at device 2.0 on pci3 em0: Ethernet address: 00:1b:21:0c:be:d9 pcib4: at device 28.4 on pci0 pci4: on pcib4 bge0: mem 0xfe6f0000-0xfe6fffff irq 16 at device 0.0 on pci4 miibus0: on bge0 brgphy0: on miibus0 brgphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT, 1000baseT-FDX, auto bge0: Ethernet address: 00:14:22:7c:a6:bd pcib5: at device 28.5 on pci0 pci5: on pcib5 bge1: mem 0xfe4f0000-0xfe4fffff irq 17 at device 0.0 on pci5 miibus1: on bge1 brgphy1: on miibus1 brgphy1: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT, 1000baseT-FDX, auto bge1: Ethernet address: 00:14:22:7c:a6:be uhci0: port 0xace0-0xacff irq 20 at device 29.0 on pci0 uhci0: [GIANT-LOCKED] usb0: on uhci0 usb0: USB revision 1.0 uhub0: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1 uhub0: 2 ports with 2 removable, self powered uhci1: port 0xacc0-0xacdf irq 21 at device 29.1 on pci0 uhci1: [GIANT-LOCKED] usb1: on uhci1 usb1: USB revision 1.0 uhub1: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1 uhub1: 2 ports with 2 removable, self powered uhci2: port 0xaca0-0xacbf irq 22 at device 29.2 on pci0 uhci2: [GIANT-LOCKED] usb2: on uhci2 usb2: USB revision 1.0 uhub2: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1 uhub2: 2 ports with 2 removable, self powered ehci0: mem 0xfeb00400-0xfeb007ff irq 20 at device 29.7 on pci0 ehci0: [GIANT-LOCKED] usb3: EHCI version 1.0 usb3: wrong number of companions (7 != 3) usb3: companion controllers, 2 ports each: usb0 usb1 usb2 usb3: on ehci0 usb3: USB revision 2.0 uhub3: Intel EHCI root hub, class 9/0, rev 2.00/1.00, addr 1 uhub3: 6 ports with 6 removable, self powered pcib6: at device 30.0 on pci0 pci6: on pcib6 pci6: at device 5.0 (no driver attached) isab0: at device 31.0 on pci0 isa0: on isab0 atapci0: port 0x1f0-0x1f7,0x3f6,0x170-0x177,0x376,0xfc00-0xfc0f at device 31.1 on pci0 ata0: on atapci0 ata1: on atapci0 atapci1: port 0xac98-0xac9f,0xac90-0xac93,0xac80-0xac87,0xac78-0xac7b,0xac60-0xac6f mem 0xfeb00000-0xfeb003ff irq 20 at device 31.2 on pci0 ata2: on atapci1 ata3: on atapci1 pci0: at device 31.3 (no driver attached) fdc0: port 0x3f0-0x3f5,0x3f7 irq 6 drq 2 on acpi0 fdc0: does not respond device_attach: fdc0 attach returned 6 atkbdc0: port 0x60,0x64 irq 1 on acpi0 atkbd0: irq 1 on atkbdc0 kbd0 at atkbd0 atkbd0: [GIANT-LOCKED] psm0: irq 12 on atkbdc0 psm0: [GIANT-LOCKED] psm0: model IntelliMouse Explorer, device ID 4 sio0: <16550A-compatible COM port> port 0x3f8-0x3ff irq 4 flags 0x10 on acpi0 sio0: type 16550A fdc0: port 0x3f0-0x3f5,0x3f7 irq 6 drq 2 on acpi0 fdc0: does not respond device_attach: fdc0 attach returned 6 orm0: at iomem 0xc0000-0xc7fff,0xc8000-0xc8fff,0xec000-0xeffff on isa0 ppc0: cannot reserve I/O port range sc0: at flags 0x100 on isa0 sc0: VGA <16 virtual consoles, flags=0x300> sio1: configured irq 3 not in bitmap of probed irqs 0 sio1: port may not be enabled vga0: at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0 Timecounters tick every 1.000 msec hptrr: no controller detected. acd0: CDRW at ata0-master UDMA33 ad4: 76293MB at ata2-master SATA150 ad6: 476940MB at ata3-master SATA150 SMP: AP CPU #1 Launched! Trying to mount root from ufs:/dev/ad4s1a Loading configuration files. Entropy harvesting: interrupts ethernet point_to_point kickstart >Fix: >Release-Note: >Audit-Trail: Responsible-Changed-From-To: freebsd-bugs->freebsd-net Responsible-Changed-By: linimon Responsible-Changed-When: Mon Apr 21 08:41:27 UTC 2008 Responsible-Changed-Why: Over to maintainer(s). http://www.freebsd.org/cgi/query-pr.cgi?pr=122954 >Unformatted: