ping na adresu interfacu co je DOWN?

Václav Ovsík vaclav.ovsik na seznam.cz
Úterý Prosinec 6 14:02:05 CET 2011


Omlouvám se za pozdní reakci.

On Sat, Dec 03, 2011 at 01:26:59AM +0100, Jan Houstek wrote:
> On Fri, 2 Dec 2011, Václav Ovsík wrote:
> >No u adresy svázané s interfacem ve stavu down bych čekal, že si
> >jí nebude IP stack všímat.
> 
> Tak jsem trochu pátral - rozhodnutí jestli je adresa lokální nebo ne
> se děje v net/ipv4/route.c: ip_route_input_slow() kde se pomocí
> fib_lookup() prohledá ip_fib_local_table.
> 
> No a do té se zjevně dostane i adresa pověšená na interface ve stavu
> down, což lze snadno ověřit pomocí "ip route list table local".
> Letmo jsem projel net/ipv4/fib_semantics.c a vypadá to, že při
> přidání adresy na interface se automaticky přidá do RT_TABLE_LOCAL
> (bez ohledu na stav interface) a při shození interface se sice
> vymažou záznamy v routovací tabulce, kde některá z lokálních adres
> na shozeném interface byla nexthop, ale samotný záznam pro tyto
> adresy v RT_TABLE_LOCAL opět zůstává.
> 
> Jestli je to bug nebo feature se možná dozvíte dotazem do
> netdev na vger.kernel.org. IMHO to kvůli zpětné kompatibilitě už těžko
> někdo změní (např. s tím, že je adresa na shozeném interface
> dostupná přes lokální loopback, pravděpodobně lecos počítá).

Děkuji za precizní analýzu problému.
Já se prostě s tímhle chováním smířím a nemám ambice vířit dotazy
mailing listy na kernel.org :).
Takže ještě jednou děkuji za názor.
Mějte se krásně
-- 
Zito


Další informace o konferenci Linux