Skip site navigation (1)Skip section navigation (2)
Date:      10 Nov 2000 13:16:13 -0000
From:      langd@leo.org
To:        FreeBSD-gnats-submit@freebsd.org
Subject:   bin/22737: bug in routed with alias ips on local interfaces
Message-ID:  <20001110131613.45566.qmail@mail.leo.org>

next in thread | raw e-mail | index | archive | help

>Number:         22737
>Category:       bin
>Synopsis:       syslog gets spammed with /kernel: arp_rtrequest: bad gateway value
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Fri Nov 10 05:20:01 PST 2000
>Closed-Date:
>Last-Modified:
>Originator:     Daniel Lang
>Release:        FreeBSD 4.1.1-STABLE i386
>Organization:
TU Muenchen
>Environment:

Multiple (alias) ips in a single physical interface, 
running routed as rip client (routed -q).

>Description:

The symptom is, that syslog gets filled with the following
error message:

/kernel: arp_rtrequest: bad gateway value

making the relevant information hard to detect.

It only occurs if the machine hosts multiple ips
on a single interface, and routed is running. 
The problem does not happen with "gated".

The error message is created in /usr/src/sys/netinet/if_ether.c,
only if a RTM_RESOLVE request is processed and the passed
rtentry contains a gateway (struct sockaddr), which is either
not an address of AF_LINK or, the length-field is smaller than
a empty dummy struct sockaddr (if I interpreted the source right).
Unfortunately I'm not too familiar with the kernel in general
and with programming routing stuff.

I did not try to set a breakpoint in the kernel debugger
and debug the kernel online, to get more hints, where the
wrong gateway strcut sockaddr is passed from.

I suspect routed has a problem with the alias ips (they have
a 0xffffffff netmask, and itself as gateway) and somehow
writes a wrong value to the routing socket?

gated does not seem to have this problem, so you could
run gated instead. It also does not occur on machines without
alias ips.

By tcpdumping the RIP packets, I detected a few wrong
configured gateways ;-), but the information itself is 
not malformed, or s.th. so it's not because of
bogus routes broadcasting crap RIP packets.

>How-To-Repeat:

ifconfig <if> inet <alias ip> netmask 0xffffffff alias
routed -q
tail -f /var/log/messages

>Fix:

use gated

>Release-Note:
>Audit-Trail:
>Unformatted:


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-bugs" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20001110131613.45566.qmail>