From owner-freebsd-bugs@FreeBSD.ORG Thu Jul 24 06:20:02 2008 Return-Path: Delivered-To: freebsd-bugs@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 3A3DB1065676 for ; Thu, 24 Jul 2008 06:20:02 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id EB25A8FC19 for ; Thu, 24 Jul 2008 06:20:01 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) by freefall.freebsd.org (8.14.2/8.14.2) with ESMTP id m6O6K1Lo075325 for ; Thu, 24 Jul 2008 06:20:01 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.2/8.14.1/Submit) id m6O6K1w1075324; Thu, 24 Jul 2008 06:20:01 GMT (envelope-from gnats) Resent-Date: Thu, 24 Jul 2008 06:20:01 GMT Resent-Message-Id: <200807240620.m6O6K1w1075324@freefall.freebsd.org> Resent-From: FreeBSD-gnats-submit@FreeBSD.org (GNATS Filer) Resent-To: freebsd-bugs@FreeBSD.org Resent-Reply-To: FreeBSD-gnats-submit@FreeBSD.org, Chris Foote Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id CB9DA1065672 for ; Thu, 24 Jul 2008 06:18:20 +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 9A8D88FC08 for ; Thu, 24 Jul 2008 06:18:20 +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 m6O6IKOU008426 for ; Thu, 24 Jul 2008 06:18:20 GMT (envelope-from nobody@www.freebsd.org) Received: (from nobody@localhost) by www.freebsd.org (8.14.2/8.14.1/Submit) id m6O6IKBi008424; Thu, 24 Jul 2008 06:18:20 GMT (envelope-from nobody) Message-Id: <200807240618.m6O6IKBi008424@www.freebsd.org> Date: Thu, 24 Jul 2008 06:18:20 GMT From: Chris Foote To: freebsd-gnats-submit@FreeBSD.org X-Send-Pr-Version: www-3.1 Cc: Subject: kern/125920: Kernel Routing Table loses Ethernet LInk status for vlan, but not for alias X-BeenThere: freebsd-bugs@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 24 Jul 2008 06:20:02 -0000 >Number: 125920 >Category: kern >Synopsis: Kernel Routing Table loses Ethernet LInk status for vlan, but not for alias >Confidential: no >Severity: serious >Priority: high >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Thu Jul 24 06:20:01 UTC 2008 >Closed-Date: >Last-Modified: >Originator: Chris Foote >Release: RELENG_7 >Organization: Inetd Pty Ltd >Environment: FreeBSD cat.inetd.com.au 7.0-STABLE FreeBSD 7.0-STABLE #0: Mon Jul 14 23:39:46 CST 2008 root@newcat.inetd.com.au:/usr/obj/usr/src/sys/GENERIC i386 >Description: Every 5 minutes, the kernel loses link status and arp for the main address of the vlan on an fxp ethernet interface, when the vlan interface has an alias. 5 minutes later the link status is ok and arp is available again. [root@cat /usr/src/sys/netinet]# ifconfig vlan2 vlan2: flags=8843 metric 0 mtu 1500 ether 00:0f:ea:4e:1b:7c inet 210.10.97.14 netmask 0xfffffff0 broadcast 210.10.97.15 inet 203.161.156.30 netmask 0xffffffe0 broadcast 203.161.156.31 media: Ethernet 100baseTX status: active vlan: 4 parent interface: fxp3 when it's not working, I get: kernel routing -------------- [root@cat ~]# netstat -nr | grep "vlan2 " 203.161.156.0 ff:ff:ff:ff:ff:ff UHLWb 1 115 vlan2 => 203.161.156.1 00:16:36:e9:18:44 UHLW 1 1 vlan2 1161 203.161.156.11 00:16:36:e9:18:44 UHLW 1 178 vlan2 761 203.161.156.12 00:16:36:e9:18:44 UHLW 1 5219306 vlan2 590 203.161.156.23 00:16:36:61:53:a8 UHLW 1 13 vlan2 1161 203.161.156.25 00:1b:24:5c:12:f1 UHLW 1 9902 vlan2 1185 203.161.156.28 00:16:36:e9:18:44 UHLW 1 409551 vlan2 1105 203.161.156.29 00:16:36:61:53:a8 UHLW 1 2899 vlan2 1008 210.10.97.1 210.10.97.14 UGHW3 0 21 vlan2 3599 210.10.97.2 210.10.97.14 UGHW3 0 26 vlan2 3599 210.10.97.3 210.10.97.14 UGHW3 0 3 vlan2 3591 210.10.97.4 210.10.97.14 UGHW3 0 39 vlan2 3599 210.10.97.5 210.10.97.14 UGHW3 0 15 vlan2 3600 210.10.97.6 210.10.97.14 UGHW3 0 136 vlan2 3600 210.10.97.7 210.10.97.14 UGHW3 0 3 vlan2 3591 210.10.97.8 210.10.97.14 UGHW3 0 3 vlan2 3591 210.10.97.9 210.10.97.14 UGHW3 0 3 vlan2 3591 210.10.97.10 210.10.97.14 UGHW3 0 7 vlan2 3591 210.10.97.11 210.10.97.14 UGHW3 0 43 vlan2 3600 210.10.97.12 210.10.97.14 UGHW3 0 3 vlan2 3591 210.10.97.13 210.10.97.14 UGHW3 0 3 vlan2 3591 210.10.97.15 210.10.97.14 UGHW3b 0 3 vlan2 3591 arp table --------- [root@cat /etc]# arp -an |grep "vlan2 " ? (203.161.156.0) at ff:ff:ff:ff:ff:ff on vlan2 permanent [vlan] ? (203.161.156.1) at 00:16:36:e9:18:44 on vlan2 [vlan] ? (203.161.156.11) at 00:16:36:e9:18:44 on vlan2 [vlan] ? (203.161.156.12) at 00:16:36:e9:18:44 on vlan2 [vlan] ? (203.161.156.23) at 00:16:36:61:53:a8 on vlan2 [vlan] ? (203.161.156.25) at 00:1b:24:5c:12:f1 on vlan2 [vlan] ? (203.161.156.28) at 00:16:36:e9:18:44 on vlan2 [vlan] ? (203.161.156.29) at 00:16:36:61:53:a8 on vlan2 [vlan] ? (203.161.156.31) at ff:ff:ff:ff:ff:ff on vlan2 permanent [vlan] zebra ----- cat.inetd.com.au# show ip route 210.10.97.0 Routing entry for 210.10.97.0/28 Known via "connected", distance 0, metric 1 directly connected, vlan2 and I get this in my syslog: Jul 24 14:34:29 cat kernel: arpresolve: can't allocate route for 210.10.97.14 Jul 24 14:34:29 cat kernel: arplookup 210.10.97.14 failed: host is not on local network which is particularly interesting given that 210.10.97.14 is the main IP address assigned to the vlan interface. and I can't ping it when the network stops working: [root@cat /etc]# ping -c 2 210.10.97.14 PING 210.10.97.14 (210.10.97.14): 56 data bytes ping: sendto: Network is unreachable ping: sendto: Network is unreachable ^C --- 210.10.97.14 ping statistics --- 2 packets transmitted, 0 packets received, 100.0% packet loss When it's working, I get: kernel routing -------------- [root@cat ~]# netstat -nr | grep "vlan2 " 203.161.156.0 ff:ff:ff:ff:ff:ff UHLWb 1 115 vlan2 => 203.161.156.11 00:16:36:e9:18:44 UHLW 1 67 vlan2 1024 203.161.156.12 00:16:36:e9:18:44 UHLW 1 5184446 vlan2 853 203.161.156.23 00:16:36:61:53:a8 UHLW 1 12 vlan2 225 203.161.156.25 00:1b:24:5c:12:f1 UHLW 1 9901 vlan2 1099 203.161.156.28 00:16:36:e9:18:44 UHLW 1 406555 vlan2 573 203.161.156.29 00:16:36:61:53:a8 UHLW 1 2890 vlan2 1129 210.10.97.0 ff:ff:ff:ff:ff:ff UHLWb 1 3 vlan2 => 210.10.97.1 00:02:44:47:8d:3f UHLW 1 1219 vlan2 1140 210.10.97.2 00:16:36:e9:18:44 UHLW 1 57 vlan2 1139 210.10.97.3 00:00:21:ce:d9:4f UHLW 1 27 vlan2 1136 210.10.97.4 00:1b:24:5c:12:f1 UHLW 1 201 vlan2 1139 210.10.97.5 00:16:36:61:53:a8 UHLW 1 17 vlan2 1164 210.10.97.6 00:16:36:61:53:a8 UHLW 1 422 vlan2 1134 210.10.97.8 00:0e:0c:77:53:4f UHLW 1 1 vlan2 1166 210.10.97.10 00:16:36:e9:18:44 UHLW 1 6 vlan2 1181 210.10.97.11 00:16:36:61:53:a8 UHLW 1 100 vlan2 1134 arp table --------- [root@cat /etc]# arp -an |grep "vlan2 " ? (203.161.156.0) at ff:ff:ff:ff:ff:ff on vlan2 permanent [vlan] ? (203.161.156.1) at 00:16:36:e9:18:44 on vlan2 [vlan] ? (203.161.156.11) at 00:16:36:e9:18:44 on vlan2 [vlan] ? (203.161.156.12) at 00:16:36:e9:18:44 on vlan2 [vlan] ? (203.161.156.23) at 00:16:36:61:53:a8 on vlan2 [vlan] ? (203.161.156.25) at 00:1b:24:5c:12:f1 on vlan2 [vlan] ? (203.161.156.28) at 00:16:36:e9:18:44 on vlan2 [vlan] ? (203.161.156.29) at 00:16:36:61:53:a8 on vlan2 [vlan] ? (203.161.156.31) at ff:ff:ff:ff:ff:ff on vlan2 permanent [vlan] ? (210.10.97.1) at 00:02:44:47:8d:3f on vlan2 [vlan] ? (210.10.97.2) at 00:16:36:e9:18:44 on vlan2 [vlan] ? (210.10.97.4) at 00:1b:24:5c:12:f1 on vlan2 [vlan] ? (210.10.97.6) at 00:16:36:61:53:a8 on vlan2 [vlan] ? (210.10.97.11) at 00:16:36:61:53:a8 on vlan2 [vlan] zebra ----- cat.inetd.com.au# show ip route 210.10.97.0 Routing entry for 210.10.97.0/28 Known via "connected", distance 0, metric 1 directly connected, vlan2 Environment ----------- source synced via cvsup to RELENG_7 at 0:00 July 14 UTC. dmesg: 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 7.0-STABLE #0: Mon Jul 14 23:39:46 CST 2008 root@newcat.inetd.com.au:/usr/obj/usr/src/sys/GENERIC Timecounter "i8254" frequency 1193182 Hz quality 0 CPU: Intel(R) Pentium(R) D CPU 3.40GHz (3400.14-MHz 686-class CPU) Origin = "GenuineIntel" Id = 0xf65 Stepping = 5 Features=0xbfebfbff Features2=0xe49d AMD Features=0x20100000 AMD Features2=0x1 Cores per package: 2 real memory = 1040121856 (991 MB) avail memory = 1004187648 (957 MB) ACPI APIC Table: FreeBSD/SMP: Multiprocessor System Detected: 2 CPUs cpu0 (BSP): APIC ID: 0 cpu1 (AP): APIC ID: 1 ioapic0: Changing APIC ID to 2 ioapic0 irqs 0-23 on motherboard kbd1 at kbdmux0 ath_hal: 0.9.20.3 (AR5210, AR5211, AR5212, RF5111, RF5112, RF2413, RF5413) acpi0: on motherboard acpi0: [ITHREAD] acpi0: Power Button (fixed) acpi0: reservation of 0, a0000 (3) failed acpi0: reservation of 100000, 3def0000 (3) failed Timecounter "ACPI-fast" frequency 3579545 Hz quality 1000 acpi_timer0: <24-bit timer at 3.579545MHz> port 0x1008-0x100b on acpi0 pcib0: port 0xcf8-0xcff,0x1000-0x10bf on acpi0 pci0: on pcib0 vgapci0: port 0xb000-0xb007 mem 0xe8000000-0xefffffff,0xf2100000-0xf217ffff irq 16 at device 2.0 on pci0 agp0: on vgapci0 agp0: detected 32636k stolen memory agp0: aperture size is 128M uhci0: port 0xa000-0xa01f irq 16 at device 29.0 on pci0 uhci0: [GIANT-LOCKED] uhci0: [ITHREAD] usb0: on uhci0 usb0: USB revision 1.0 uhub0: on usb0 uhub0: 2 ports with 2 removable, self powered uhci1: port 0xa400-0xa41f irq 19 at device 29.1 on pci0 uhci1: [GIANT-LOCKED] uhci1: [ITHREAD] usb1: on uhci1 usb1: USB revision 1.0 uhub1: on usb1 uhub1: 2 ports with 2 removable, self powered uhci2: port 0xa800-0xa81f irq 18 at device 29.2 on pci0 uhci2: [GIANT-LOCKED] uhci2: [ITHREAD] usb2: on uhci2 usb2: USB revision 1.0 uhub2: on usb2 uhub2: 2 ports with 2 removable, self powered uhci3: port 0xac00-0xac1f irq 16 at device 29.3 on pci0 uhci3: [GIANT-LOCKED] uhci3: [ITHREAD] usb3: on uhci3 usb3: USB revision 1.0 uhub3: on usb3 uhub3: 2 ports with 2 removable, self powered ehci0: mem 0xf2180000-0xf21803ff irq 23 at device 29.7 on pci0 ehci0: [GIANT-LOCKED] ehci0: [ITHREAD] usb4: EHCI version 1.0 usb4: companion controllers, 2 ports each: usb0 usb1 usb2 usb3 usb4: on ehci0 usb4: USB revision 2.0 uhub4: on usb4 uhub4: 8 ports with 8 removable, self powered pcib1: at device 30.0 on pci0 pci1: on pcib1 fxp0: port 0x9000-0x903f mem 0xf1220000-0xf1220fff,0xf1200000-0xf121ffff irq 21 at device 1.0 on pci1 miibus0: on fxp0 inphy0: PHY 1 on miibus0 inphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto fxp0: Ethernet address: 00:02:b3:41:57:8a fxp0: [ITHREAD] fxp1: port 0x9400-0x941f mem 0xf2000000-0xf2000fff,0xf1000000-0xf10fffff irq 22 at device 2.0 on pci1 miibus1: on fxp1 inphy1: PHY 1 on miibus1 inphy1: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto fxp1: Ethernet address: 00:04:ac:a3:ba:7a fxp1: [ITHREAD] fxp2: port 0x9800-0x981f mem 0xf2001000-0xf2001fff,0xf1100000-0xf11fffff irq 18 at device 3.0 on pci1 miibus2: on fxp2 inphy2: PHY 1 on miibus2 inphy2: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto fxp2: Ethernet address: 00:04:ac:98:1c:b2 fxp2: [ITHREAD] fxp3: port 0x9c00-0x9c3f mem 0xf1221000-0xf1221fff irq 20 at device 8.0 on pci1 miibus3: on fxp3 ukphy0: PHY 1 on miibus3 ukphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto fxp3: Ethernet address: 00:0f:ea:4e:1b:7c fxp3: [ITHREAD] isab0: at device 31.0 on pci0 isa0: on isab0 atapci0: port 0x1f0-0x1f7,0x3f6,0x170-0x177,0x376,0xf000-0xf00f at device 31.1 on pci0 ata0: on atapci0 ata0: [ITHREAD] ata1: on atapci0 ata1: [ITHREAD] pci0: at device 31.3 (no driver attached) pci0: at device 31.5 (no driver attached) cpu0: on acpi0 acpi_perf0: on cpu0 p4tcc0: on cpu0 cpu1: on acpi0 est1: on cpu1 est: CPU supports Enhanced Speedstep, but is not recognized. est: cpu_vendor GenuineIntel, msr 112200001122 device_attach: est1 attach returned 6 p4tcc1: on cpu1 acpi_button0: on acpi0 acpi_tz0: on acpi0 sio0: <16550A-compatible COM port> port 0x3f8-0x3ff irq 4 flags 0x10 on acpi0 sio0: type 16550A sio0: [FILTER] atkbdc0: port 0x60,0x64 irq 1 on acpi0 atkbd0: irq 1 on atkbdc0 kbd0 at atkbd0 atkbd0: [GIANT-LOCKED] atkbd0: [ITHREAD] pmtimer0 on isa0 orm0: at iomem 0xcc000-0xd3fff,0xd4000-0xd57ff,0xd6000-0xd67ff,0xd7000-0xd77ff pnpid ORM0000 on isa0 ppc0: at port 0x378-0x37f irq 7 on isa0 ppc0: Generic chipset (NIBBLE-only) in COMPATIBLE mode ppbus0: on ppc0 ppbus0: [ITHREAD] plip0: on ppbus0 lpt0: on ppbus0 lpt0: Interrupt-driven port ppi0: on ppbus0 ppc0: [GIANT-LOCKED] ppc0: [ITHREAD] 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 acd0: DVDR at ata0-master UDMA66 ad2: 76318MB at ata1-master UDMA100 SMP: AP CPU #1 Launched! Trying to mount root from ufs:/dev/ad2s1a ipfw2 (+ipv6) initialized, divert loadable, nat loadable, rule-based forwarding disabled, default to deny, logging disabled arplookup 210.10.97.14 failed: host is not on local network arpresolve: can't allocate route for 210.10.97.14 arplookup 210.10.97.14 failed: host is not on local network arpresolve: can't allocate route for 210.10.97.14 arplookup 210.10.97.14 failed: host is not on local network arpresolve: can't allocate route for 210.10.97.14 arplookup 210.10.97.14 failed: host is not on local network arpresolve: can't allocate route for 210.10.97.14 arplookup 210.10.97.14 failed: host is not on local network arpresolve: can't allocate route for 210.10.97.14 >How-To-Repeat: You should be able to repeat this problem (not tested) by configuring an ethernet alias onto an existing vlan interface. It may need traffic on the secondary network in order for ARP timeouts to occur. e.g.: ifconfig fxp0 up ifconfig vlan0 create inet 10.10.10.1 netmask 255.255.255.0 vlan 2 vlandev fxp0 ifconfig vlan0 inet 192.168.100.1 netmask 255.255.255.0 alias ping the 10.10.10.1 and it should stop responding after 5 minutes, then start again after 5 minutes. You should get this in /var/log/messages: arplookup 10.10.10.1 failed: host is not on local network arpresolve: can't allocate route for 10.10.10.1 >Fix: >Release-Note: >Audit-Trail: >Unformatted: