NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

kern/44647: routed sometimes thinls kernel routes disappear



>Number:         44647
>Category:       kern
>Synopsis:       routed somes thinls kernel routes disappear
>Confidential:   no
>Severity:       serious
>Priority:       high
>Responsible:    kern-bug-people
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Sun Feb 27 21:45:00 +0000 2011
>Originator:     Frank Kardel
>Release:        5.99.47-20110227 i386
>Organization:
        
>Environment:
        
System: NetBSD pip.kardel.name 5.99.47 NetBSD 5.99.47 (PIPGEN) #5: Sat Feb 26 
16:48:16 MET 2011 
kardel%pip.kardel.name@localhost:/fs/raid1a/src/NetBSD/tc-merge/obj.i386/sys/arch/i386/compile/PIPGEN
 i386
Architecture: i386
Machine: i386
>Description:
        After upgrading (kernel+userland) to 5.99.47-20110227 I have static 
default routes randomly disappearing.
        Further investigation shows that routed finds disappearing kernel 
routes.
        Either it claims a missing route for 10.0.3.0/28->10.0.3.1 (interface 
msk0 is 10.0.3.1 netmask 0xfffffff0). routed's 
        attempt to add that route again gets an error EEXIST. Or it claims 
0.0.0.0 -> <some ip> via the pppoe interface
        has disappeared. The pppoe interface is stable over the whole time. 
When routed thinks the default route has
        disappeared is successfully removes the route from the routing table -> 
then the internet connectivity is
        gone until the static default route is manually added again.

        Extract from routed debug log:
        10.0.3.0/28 --> 10.0.3.1 disappeared from kernel
        route disappeared before RTM_DELETE 10.0.3.0/0      -->10.0.3.1        
metric=0 flags=0
        10.0.3.0/28 --> 10.0.3.1 disappeared from kernel
        0.0.0.0 --> 217.0.116.31 disappeared from kernel
        10.0.3.0/28 --> 10.0.3.1 disappeared from kernel
        route disappeared before RTM_DELETE 10.0.3.0/0      -->10.0.3.1        
metric=0 flags=0
        10.0.3.0/28 --> 10.0.3.1 disappeared from kernel
        route disappeared before RTM_DELETE 10.0.3.0/0      -->10.0.3.1        
metric=0 flags=0
        10.0.3.0/28 --> 10.0.3.1 disappeared from kernel
        route disappeared before RTM_DELETE 10.0.3.0/0      -->10.0.3.1        
metric=0 flags=0
        10.0.3.0/28 --> 10.0.3.1 disappeared from kernel
        route disappeared before RTM_DELETE 10.0.3.0/0      -->10.0.3.1        
metric=0 flags=0
        10.0.3.0/28 --> 10.0.3.1 disappeared from kernel
        route disappeared before RTM_DELETE 10.0.3.0/0      -->10.0.3.1        
metric=0 flags=0

        And in syslog:
        2011-02-27T21:17:49.808954+01:00 pip.kardel.name routed 23534 - - 
10.0.3.0/28 --> 10.0.3.1 disappeared from kernel
        2011-02-27T21:18:20.237604+01:00 pip.kardel.name routed 23534 - - 
write(rt_sock) RTM_ADD    10.0.3.0/28     -->10.0.3.1        metric=0 flags=0: 
File exists
        2011-02-27T21:22:49.809101+01:00 pip.kardel.name routed 23534 - - 
10.0.3.0/28 --> 10.0.3.1 disappeared from kernel
        2011-02-27T21:23:20.238990+01:00 pip.kardel.name routed 23534 - - 
write(rt_sock) RTM_ADD    10.0.3.0/28     -->10.0.3.1        metric=0 flags=0: 
File exists
        2011-02-27T21:27:49.803619+01:00 pip.kardel.name routed 23534 - - 
0.0.0.0 --> 217.0.116.31 disappeared from kernel
        2011-02-27T21:27:49.803727+01:00 pip.kardel.name routed 23534 - - 
10.0.3.0/28 --> 10.0.3.1 disappeared from kernel
        2011-02-27T21:28:20.232260+01:00 pip.kardel.name routed 23534 - - 
write(rt_sock) RTM_ADD    10.0.3.0/28     -->10.0.3.1        metric=0 flags=0: 
File exists
        2011-02-27T21:32:49.795658+01:00 pip.kardel.name routed 23534 - - 
10.0.3.0/28 --> 10.0.3.1 disappeared from kernel
        2011-02-27T21:33:19.792873+01:00 pip.kardel.name routed 23534 - - 
write(rt_sock) RTM_ADD    10.0.3.0/28     -->10.0.3.1        metric=0 flags=0: 
File exists
        2011-02-27T21:37:49.813876+01:00 pip.kardel.name routed 23534 - - 
10.0.3.0/28 --> 10.0.3.1 disappeared from kernel
        2011-02-27T21:38:20.241299+01:00 pip.kardel.name routed 23534 - - 
write(rt_sock) RTM_ADD    10.0.3.0/28     -->10.0.3.1        metric=0 flags=0: 
File exists

        BTW: routed reads the routing table via sysctl.

>How-To-Repeat:
        Run 5.99.47 with pppoe internet connection and static default route + 
internal interface + routed.
        Watch routed error messages + disappearing static default route.
>Fix:
        maybe some fallout from 32/64 bit structure ABI stabilisation ?

>Unformatted:
        <and append source date of snapshot, if applicable (one line).>


Home | Main Index | Thread Index | Old Index