cached route that can't be removed with 'ip route flush cache'

Bug #900522 reported by Steve Langasek
26
This bug affects 5 people
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Triaged
Low
Unassigned

Bug Description

I currently have the following bogus route in my ip route cache:

$ ip route get 128.31.0.51
128.31.0.51 via 207.224.24.214 dev wlan1 src 192.168.15.42
    cache <redirected> ipid 0x6ab2 rtt 111ms rttvar 35ms cwnd 10
$

207.224.24.214 is the IP address of the main gateway for my home network, but should not be the next hop for any route on my laptop. There must have been some bug on my network that caused this route to appear.

However, now my problem is that I can't get rid of the route. It doesn't show up in 'ip route list':

$ ip route list
default via 192.168.15.1 dev wlan1 proto static
169.254.0.0/16 dev wlan1 scope link metric 1000
192.168.15.0/24 dev wlan1 proto kernel scope link src 192.168.15.42 metric 2
$

And I can't get rid of it with ip route flush cache:
$ sudo ip route flush cache
$ ip route get 128.31.0.51
128.31.0.51 via 207.224.24.214 dev wlan1 src 192.168.15.42
    cache <redirected> ipid 0x6ab2 rtt 111ms rttvar 35ms cwnd 10
$

So I can't reach the machine in question, apparently short of rebooting.

ProblemType: Bug
DistroRelease: Ubuntu 12.04
Package: iproute 20110629-1
ProcVersionSignature: Ubuntu 3.2.0-2.6-generic 3.2.0-rc3
Uname: Linux 3.2.0-2-generic x86_64
ApportVersion: 1.90-0ubuntu1
Architecture: amd64
Date: Mon Dec 5 14:58:07 2011
InstallationMedia: Ubuntu 10.04.1 LTS "Lucid Lynx" - Release amd64 (20100816.1)
ProcEnviron:
 PATH=(custom, user)
 LANG=en_US.UTF-8
 SHELL=/bin/bash
SourcePackage: iproute
UpgradeStatus: Upgraded to precise on 2011-11-08 (27 days ago)
---
AlsaVersion: Advanced Linux Sound Architecture Driver Version 1.0.24.
ApportVersion: 1.90-0ubuntu1
Architecture: amd64
ArecordDevices:
 **** List of CAPTURE Hardware Devices ****
 card 0: Intel [HDA Intel], device 0: CONEXANT Analog [CONEXANT Analog]
   Subdevices: 1/1
   Subdevice #0: subdevice #0
AudioDevicesInUse:
 USER PID ACCESS COMMAND
 /dev/snd/controlC0: vorlon 22542 F.... pulseaudio
 /dev/snd/pcmC0D0p: vorlon 22542 F...m pulseaudio
Card0.Amixer.info:
 Card hw:0 'Intel'/'HDA Intel at 0xf2520000 irq 47'
   Mixer name : 'Intel IbexPeak HDMI'
   Components : 'HDA:14f15069,17aa2155,00100302 HDA:80862804,17aa21b5,00100000'
   Controls : 13
   Simple ctrls : 6
Card29.Amixer.info:
 Card hw:29 'ThinkPadEC'/'ThinkPad Console Audio Control at EC reg 0x30, fw 6QHT30WW-1.11'
   Mixer name : 'ThinkPad EC 6QHT30WW-1.11'
   Components : ''
   Controls : 1
   Simple ctrls : 1
Card29.Amixer.values:
 Simple mixer control 'Console',0
   Capabilities: pswitch pswitch-joined penum
   Playback channels: Mono
   Mono: Playback [on]
DistroRelease: Ubuntu 12.04
HibernationDevice: RESUME=UUID=f6ab3c43-61b4-4af7-bf03-fa3b147a1de0
InstallationMedia: Ubuntu 10.04.1 LTS "Lucid Lynx" - Release amd64 (20100816.1)
MachineType: LENOVO 3249CTO
Package: linux (not installed)
ProcEnviron:
 PATH=(custom, user)
 LANG=en_US.UTF-8
 SHELL=/bin/bash
ProcKernelCmdLine: BOOT_IMAGE=/vmlinuz-3.2.0-2-generic root=/dev/mapper/hostname-root ro pcie_aspm=force quiet splash vt.handoff=7
ProcVersionSignature: Ubuntu 3.2.0-2.6-generic 3.2.0-rc3
RelatedPackageVersions:
 linux-restricted-modules-3.2.0-2-generic N/A
 linux-backports-modules-3.2.0-2-generic N/A
 linux-firmware 1.62
StagingDrivers: mei
Tags: precise running-unity staging
Uname: Linux 3.2.0-2-generic x86_64
UpgradeStatus: Upgraded to precise on 2011-11-08 (27 days ago)
UserGroups: adm admin cdrom dialout libvirtd lpadmin mythtv plugdev sambashare src
WifiSyslog:

dmi.bios.date: 08/23/2010
dmi.bios.vendor: LENOVO
dmi.bios.version: 6QET52WW (1.22 )
dmi.board.name: 3249CTO
dmi.board.vendor: LENOVO
dmi.board.version: Not Available
dmi.chassis.asset.tag: No Asset Information
dmi.chassis.type: 10
dmi.chassis.vendor: LENOVO
dmi.chassis.version: Not Available
dmi.modalias: dmi:bvnLENOVO:bvr6QET52WW(1.22):bd08/23/2010:svnLENOVO:pn3249CTO:pvrThinkPadX201:rvnLENOVO:rn3249CTO:rvrNotAvailable:cvnLENOVO:ct10:cvrNotAvailable:
dmi.product.name: 3249CTO
dmi.product.version: ThinkPad X201
dmi.sys.vendor: LENOVO

Revision history for this message
Steve Langasek (vorlon) wrote :
Changed in iproute (Ubuntu):
assignee: nobody → Stéphane Graber (stgraber)
importance: Undecided → Low
Revision history for this message
Steve Langasek (vorlon) wrote :

'ip route show cache' shows two hosts affected, with (for some reason) several entries for one of them.

91.189.89.225 from 192.168.15.42 via 207.224.24.214 dev wlan1
    cache <redirected> ipid 0x7e6c
[...]
91.189.89.225 from 192.168.15.42 via 207.224.24.214 dev wlan1
    cache <redirected> ipid 0x7e6c
[...]
91.189.89.225 via 207.224.24.214 dev wlan1 src 192.168.15.42
    cache <redirected> ipid 0x7e6c
[...]
128.31.0.51 via 207.224.24.214 dev wlan1 src 192.168.15.42
    cache <redirected> ipid 0x6ab2 rtt 111ms rttvar 35ms cwnd 10

perhaps more importantly, there are 124 cache entries in total, so it looks like the 'flush cache' is having no effect at all...

Revision history for this message
Steve Langasek (vorlon) wrote :

correction; immediately after flushing the cache, I can confirm that the cache is empty, but then it's immediately repopulated with routes (including the broken one that's causing me problems). So it's possible this isn't an iproute bug at all, but a persistent bug on my network and/or in the kernel.

Revision history for this message
Stéphane Graber (stgraber) wrote :

Can you also paste the output of 'ip route show table all' please?

Revision history for this message
Steve Langasek (vorlon) wrote :

ok, I've confirmed that between the cache being flushed and the route reappearing, there is *no* network traffic on the wireless. So this looks like a bug in the kernel, which is managing to get this bad route stuck somewhere such that it reappears as soon as I query the cache.

affects: iproute (Ubuntu) → linux (Ubuntu)
Changed in linux (Ubuntu):
assignee: Stéphane Graber (stgraber) → nobody
tags: added: apport-collected staging
description: updated
Revision history for this message
Steve Langasek (vorlon) wrote : AcpiTables.txt

apport information

Revision history for this message
Steve Langasek (vorlon) wrote : AlsaDevices.txt

apport information

Revision history for this message
Steve Langasek (vorlon) wrote : AplayDevices.txt

apport information

Revision history for this message
Steve Langasek (vorlon) wrote : BootDmesg.txt

apport information

Revision history for this message
Steve Langasek (vorlon) wrote : CRDA.txt

apport information

Revision history for this message
Steve Langasek (vorlon) wrote : Card0.Amixer.values.txt

apport information

Revision history for this message
Steve Langasek (vorlon) wrote : Card0.Codecs.codec.0.txt

apport information

Revision history for this message
Steve Langasek (vorlon) wrote : Card0.Codecs.codec.3.txt

apport information

Revision history for this message
Steve Langasek (vorlon) wrote : CurrentDmesg.txt

apport information

Revision history for this message
Steve Langasek (vorlon) wrote : IwConfig.txt

apport information

Revision history for this message
Steve Langasek (vorlon) wrote : Lspci.txt

apport information

Revision history for this message
Steve Langasek (vorlon) wrote : Lsusb.txt

apport information

Revision history for this message
Steve Langasek (vorlon) wrote : PciMultimedia.txt

apport information

Revision history for this message
Steve Langasek (vorlon) wrote : ProcCpuinfo.txt

apport information

Revision history for this message
Steve Langasek (vorlon) wrote : ProcInterrupts.txt

apport information

Revision history for this message
Steve Langasek (vorlon) wrote : ProcModules.txt

apport information

Revision history for this message
Steve Langasek (vorlon) wrote : PulseSinks.txt

apport information

Revision history for this message
Steve Langasek (vorlon) wrote : PulseSources.txt

apport information

Revision history for this message
Steve Langasek (vorlon) wrote : RfKill.txt

apport information

Revision history for this message
Steve Langasek (vorlon) wrote : UdevDb.txt

apport information

Revision history for this message
Steve Langasek (vorlon) wrote : UdevLog.txt

apport information

Revision history for this message
Steve Langasek (vorlon) wrote : UserAsoundrc.txt

apport information

Brad Figg (brad-figg)
Changed in linux (Ubuntu):
status: New → Confirmed
Revision history for this message
Steve Langasek (vorlon) wrote :

$ ip route show table all
default via 192.168.15.1 dev wlan1 proto static
169.254.0.0/16 dev wlan1 scope link metric 1000
192.168.15.0/24 dev wlan1 proto kernel scope link src 192.168.15.42 metric 2
broadcast 127.0.0.0 dev lo table local proto kernel scope link src 127.0.0.1
local 127.0.0.0/8 dev lo table local proto kernel scope host src 127.0.0.1
local 127.0.0.1 dev lo table local proto kernel scope host src 127.0.0.1
broadcast 127.255.255.255 dev lo table local proto kernel scope link src 127.0.0.1
broadcast 192.168.15.0 dev wlan1 table local proto kernel scope link src 192.168.15.42
local 192.168.15.42 dev wlan1 table local proto kernel scope host src 192.168.15.42
broadcast 192.168.15.255 dev wlan1 table local proto kernel scope link src 192.168.15.42
2001:1938:23f::/64 dev wlan1 proto kernel metric 256 expires 86218sec
fd00::/64 dev wlan1 proto kernel metric 256 expires 3586sec
fe80::/64 dev wlan1 proto kernel metric 256
default via fe80::214:fdff:fe30:2bd7 dev wlan1 proto kernel metric 1024
unreachable default dev lo table unspec proto kernel metric -1 error -101 hoplimit 255
local ::1 via :: dev lo table local proto none metric 0 rtt 8ms rttvar 9ms cwnd 10
local 2001:1938:23f:0:224:d7ff:fe1f:ea20 via :: dev lo table local proto none metric 0
local fd00::224:d7ff:fe1f:ea20 via :: dev lo table local proto none metric 0
local fe80::224:d7ff:fe1f:ea20 via :: dev lo table local proto none metric 0
ff00::/8 dev wlan1 table local metric 256
unreachable default dev lo table unspec proto kernel metric -1 error -101 hoplimit 255
$

Revision history for this message
Brad Figg (brad-figg) wrote : Test with newer development kernel (3.2.0-3.8)

Thank you for taking the time to file a bug report on this issue.

However, given the number of bugs that the Kernel Team receives during any development cycle it is impossible for us to review them all. Therefore, we occasionally resort to using automated bots to request further testing. This is such a request.

We have noted that there is a newer version of the development kernel than the one you last tested when this issue was found. Please test again with the newer kernel and indicate in the bug if this issue still exists or not.

If the bug still exists, change the bug status from Incomplete to Confirmed. If the bug no longer exists, change the bug status from Incomplete to Fix Released.

If you want this bot to quit automatically requesting kernel tests, add a tag named: bot-stop-nagging.

 Thank you for your help, we really do appreciate it.

Changed in linux (Ubuntu):
status: Confirmed → Incomplete
tags: added: kernel-request-3.2.0-3.8
Revision history for this message
Steve Langasek (vorlon) wrote :

Seems to be a known upstream bug, discussed here:
  http://www.spinics.net/lists/netdev/msg180157.html

Changed in linux (Ubuntu):
status: Incomplete → Confirmed
tags: added: bot-stop-nagging
Revision history for this message
Steve Langasek (vorlon) wrote :
Changed in linux (Ubuntu):
status: Confirmed → Triaged
tags: added: kernel-fixed-upstream
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.