On a RELENG_8 box from aug 25th, I started seeing a constant spew of Aug 31 00:17:46 gate8 kernel: if_rtdel: error 47 Aug 31 00:18:29 gate8 kernel: ifa_del_loopback_route: deletion failed Aug 31 00:18:29 gate8 kernel: if_rtdel: error 3 Aug 31 00:18:29 gate8 last message repeated 2 times Aug 31 00:18:37 gate8 kernel: ifa_del_loopback_route: deletion failed Aug 31 00:18:37 gate8 kernel: if_rtdel: error 3 Aug 31 00:18:37 gate8 last message repeated 2 times Aug 31 00:18:38 gate8 kernel: ifa_del_loopback_route: deletion failed Aug 31 00:18:38 gate8 kernel: if_rtdel: error 3 Aug 31 00:18:38 gate8 last message repeated 2 times What do they mean and how can I find the cause of it ? The box acts as an LNS with about 700 ng interfaces with mpd5.5. ipv6 is enabled on this server as well, so I am guessing it might be related to ipv6 as I havent seen it on the other LNS boxes that have the same setup, except no ipv6. It was happily running for a few days until this error started showing up ? The error seems to be in sys/if.c if_rtdel(struct radix_node *rn, void *arg) { struct rtentry *rt = (struct rtentry *)rn; struct ifnet *ifp = arg; int err; if (rt->rt_ifp == ifp) { /* * Protect (sorta) against walktree recursion problems * with cloned routes */ if ((rt->rt_flags & RTF_UP) == 0) return (0); err = rtrequest_fib(RTM_DELETE, rt_key(rt), rt->rt_gateway, rt_mask(rt), rt->rt_flags|RTF_RNH_LOCKED, (struct rtentry **) NULL, rt->rt_fibnum); if (err) { log(LOG_WARNING, "if_rtdel: error %d\n", err); } } return (0); } ---Mike -------------------------------------------------------------------- Mike Tancsa, tel +1 519 651 3400 Sentex Communications, mike@sentex.net Providing Internet since 1994 www.sentex.net Cambridge, Ontario Canada www.sentex.net/mike
On Tue, Aug 31, 2010 at 05:02:20PM -0400, Mike Tancsa wrote:> On a RELENG_8 box from aug 25th, I started seeing a constant spew of > > Aug 31 00:17:46 gate8 kernel: if_rtdel: error 47 > Aug 31 00:18:29 gate8 kernel: ifa_del_loopback_route: deletion failed > Aug 31 00:18:29 gate8 kernel: if_rtdel: error 3 > Aug 31 00:18:29 gate8 last message repeated 2 times > Aug 31 00:18:37 gate8 kernel: ifa_del_loopback_route: deletion failed > Aug 31 00:18:37 gate8 kernel: if_rtdel: error 3 > Aug 31 00:18:37 gate8 last message repeated 2 times > Aug 31 00:18:38 gate8 kernel: ifa_del_loopback_route: deletion failed > Aug 31 00:18:38 gate8 kernel: if_rtdel: error 3 > Aug 31 00:18:38 gate8 last message repeated 2 times > > What do they mean and how can I find the cause of it ? [...]src/sys/net/if.c 1371 err = rtrequest_fib(RTM_DELETE, rt_key(rt), rt->rt_gateway, 1372 rt_mask(rt), rt->rt_flags|RTF_RNH_LOCKED, 1373 (struct rtentry **) NULL, rt->rt_fibnum); 1374 if (err) { 1375 log(LOG_WARNING, "if_rtdel: error %d\n", err); 1376 } Now looking for return() values in rtrequest_fib(): src/sys/net/route.c 745 int 746 rtrequest_fib(int req, ... 756 if (dst->sa_len == 0) 757 return(EINVAL); ... 764 return rtrequest1_fib(req, &info, ret_nrt, fibnum); 765 } And on to rtrequest1_fib, which has a ton of error conditions which can be returned (some natively, some from other functions like rn_mpath_update(), plus a fun macro in use (senderr)). A lot of this code is #ifdef'd too, based on routing features (FLOWTABLE, RADIX_MPATH) that are defined. Direct values that rtrequest1_fib() returns in whatever circumstance: n/a = 0 = no error EAFNOSUPPORT = 47 = Address family not supported by protocol family EINVAL = 22 = Invalid argument ESRCH = 3 = No such process ENOBUFS = 55 = No buffer space available EEXIST = 17 = File exists EOPNOTSUPP = 45 = Operation not supported Functions that rtrequest1_fib() calls whose error codes are passed directly via return() or senderr: rn_mpath_update() = can return 0 (success) or ESRCH rt_getifa_fib() = can return 0 (success) or 51 (ENETUNREACH) rt_setgate() = can return 0 (success) or ENOBUFS So in summary, your error 47 would be the result of code inside of rtrequest1_fib() itself (someone will need to look at that), while your error 3 could be caused by rtequest1_fib() or rn_mpath_update(). I have no familiarity with this code, so someone familiar with the networking layer will have to help. freebsd-net or freebsd-hackers might be worthwhile. Possibly your machine acts as a forwarding gateway and isn't able to properly route/forward/process certain kinds of packets? -- | Jeremy Chadwick jdc@parodius.com | | Parodius Networking http://www.parodius.com/ | | UNIX Systems Administrator Mountain View, CA, USA | | Making life hard for others since 1977. PGP: 4BD6C0CB |
On Tue, 31 Aug 2010, Mike Tancsa wrote: Hey Mike,> On a RELENG_8 box from aug 25th, I started seeing a constant spew of > > Aug 31 00:17:46 gate8 kernel: if_rtdel: error 47 > Aug 31 00:18:29 gate8 kernel: ifa_del_loopback_route: deletion failed > Aug 31 00:18:29 gate8 kernel: if_rtdel: error 3 > Aug 31 00:18:29 gate8 last message repeated 2 times > Aug 31 00:18:37 gate8 kernel: ifa_del_loopback_route: deletion failed > Aug 31 00:18:37 gate8 kernel: if_rtdel: error 3 > Aug 31 00:18:37 gate8 last message repeated 2 times > Aug 31 00:18:38 gate8 kernel: ifa_del_loopback_route: deletion failed > Aug 31 00:18:38 gate8 kernel: if_rtdel: error 3 > Aug 31 00:18:38 gate8 last message repeated 2 times > > > What do they mean and how can I find the cause of it ? The box acts as an LNS > with about 700 ng interfaces with mpd5.5. ipv6 is enabled on this server as > well, so I am guessing it might be related to ipv6 as I havent seen it on the > other LNS boxes that have the same setup, except no ipv6. It was happily > running for a few days until this error started showing up ?I thought this was fixed already but maybe only in HEAD and not merged. I'll go and look. /bz -- Bjoern A. Zeeb This signature is about you not me.
Hi, Without seeing your mpd link configuration, I am guessing the IP address of all of the local end points of your ppp links is the same IP address. If that's the case, the error message is harmless. The reason being, for ppp links and in pre 8.0 release, if you try pinging the local end IP address, you will see packets are leaked out towards the default gateway. I fixed this issue by installing a loopback route for the local end. Since multiple ppp links all having the same local IP address, but only one such loopback route is installed, when links are torn down they would try deleting but that entry would stay until the final link referring to that self-pointing route is gone. --Qing> -----Original Message----- > From: owner-freebsd-stable@freebsd.org [mailto:owner-freebsd- > stable@freebsd.org] On Behalf Of Mike Tancsa > Sent: Tuesday, August 31, 2010 2:02 PM > To: freebsd-stable@freebsd.org > Subject: if_rtdel: error 47 > > On a RELENG_8 box from aug 25th, I started seeing a constant spew of > > Aug 31 00:17:46 gate8 kernel: if_rtdel: error 47 > Aug 31 00:18:29 gate8 kernel: ifa_del_loopback_route: deletion failed > Aug 31 00:18:29 gate8 kernel: if_rtdel: error 3 > Aug 31 00:18:29 gate8 last message repeated 2 times > Aug 31 00:18:37 gate8 kernel: ifa_del_loopback_route: deletion failed > Aug 31 00:18:37 gate8 kernel: if_rtdel: error 3 > Aug 31 00:18:37 gate8 last message repeated 2 times > Aug 31 00:18:38 gate8 kernel: ifa_del_loopback_route: deletion failed > Aug 31 00:18:38 gate8 kernel: if_rtdel: error 3 > Aug 31 00:18:38 gate8 last message repeated 2 times > > > What do they mean and how can I find the cause of it ? The box acts > as an LNS with about 700 ng interfaces with mpd5.5. ipv6 is enabled > on this server as well, so I am guessing it might be related to ipv6 > as I havent seen it on the other LNS boxes that have the same setup, > except no ipv6. It was happily running for a few days until this > error started showing up ? > > The error seems to be in sys/if.c > > if_rtdel(struct radix_node *rn, void *arg) > { > struct rtentry *rt = (struct rtentry *)rn; > struct ifnet *ifp = arg; > int err; > > if (rt->rt_ifp == ifp) { > > /* > * Protect (sorta) against walktree recursionproblems> * with cloned routes > */ > if ((rt->rt_flags & RTF_UP) == 0) > return (0); > > err = rtrequest_fib(RTM_DELETE, rt_key(rt), rt- > >rt_gateway, > rt_mask(rt), rt- > >rt_flags|RTF_RNH_LOCKED, > (struct rtentry **) NULL, rt- > >rt_fibnum); > if (err) { > log(LOG_WARNING, "if_rtdel: error %d\n",err);> } > } > > return (0); > } > > > > ---Mike > > > -------------------------------------------------------------------- > Mike Tancsa, tel +1 519 651 3400 > Sentex Communications, mike@sentex.net > Providing Internet since 1994 www.sentex.net > Cambridge, Ontario Canada www.sentex.net/mike > > _______________________________________________ > freebsd-stable@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-stable > To unsubscribe, send any mail to "freebsd-stable- > unsubscribe@freebsd.org"
At 07:24 PM 9/1/2010, Li, Qing wrote:> That explains the errno = 47, EAFNOSUPPORT. > > I also noticed in your routing table output that all of entries > that have junk are related to the ng interface.Is it more to do with the interfaces coming and going or ipv6 ? The non ipv6 enabled mpd box doesnt show this behaviour however. ---Mike> -- Qing-------------------------------------------------------------------- Mike Tancsa, tel +1 519 651 3400 Sentex Communications, mike@sentex.net Providing Internet since 1994 www.sentex.net Cambridge, Ontario Canada www.sentex.net/mike