[Top] [All Lists]

neighbour cache vs. invalid addresses

To: netdev@xxxxxxxxxxx
Subject: neighbour cache vs. invalid addresses
From: Werner Almesberger <almesber@xxxxxxxxxxx>
Date: Sat, 29 Apr 2000 19:00:37 +0200 (MET DST)
Sender: owner-netdev@xxxxxxxxxxx
In non-broadcast multiple-access networks (NBMA) such as Classical IP
over ATM (CLIP), neither broadcast nor multicast have any useful
semantics. Right now, I catch this in neigh_table->constructor and
return -EINVAL.

Is this the right approach ? Or should I return success, accept the
bogus neighbour entry (could this upset the neighbour cache ?), and
blackhole the entire mess afterwards via neigh->ops and
neigh->output ?

(Background: some applications seem to insist on sending broadcast
or multicast even on interfaces that have neither IFF_BROADCAST nor
IFF_MULTICAST set. According to people who have such applications,
the current approach makes the stack believe that there is a memory
shortage, and shrink the neighbour cache, which is undesirable.
Furthermore, the offending packets get killed before they show up
on tcpdump, which makes it harder to debug the "network" problem.)

- Werner

 / Werner Almesberger, ICA, EPFL, CH       werner.almesberger@xxxxxxxxxxx /

<Prev in Thread] Current Thread [Next in Thread>