walking (and cleaning) the routing table on mask change?
- From: Gleb Smirnoff <glebius@xxxxxxxxxxx>
- Date: Tue, 22 May 2007 18:22:12 +0400
Hello, colleagues,
what do you think about cleaning the routing table on mask change?
I think it should be done. Currently we are cleaning the routing
table only on SIOCDIFADDR operation, because it removes prefix from
an interface. However, SIOCAIFADDR also may delete (actually replace)
a prefix on interface, in the case of mask change.
For example:
root@behemoth:~:|>ifconfig em0 10.0.0.195/24
root@behemoth:~:|>route add 10.0.1.0/24 10.0.0.1
add net 10.0.1.0: gateway 10.0.0.1
root@behemoth:~:|>netstat -rn
Routing tables
Internet:
Destination Gateway Flags Refs Use Netif Expire
10.0.0.0/24 link#2 UC 0 0 em0
10.0.0.1 link#2 UHLW 2 0 em0
10.0.1.0/24 10.0.0.1 UGS 0 0 em0
127.0.0.1 127.0.0.1 UH 0 26 lo0
root@behemoth:~:|>ifconfig em0 netmask 255.255.255.128
root@behemoth:~:|>netstat -rn
Routing tables
Internet:
Destination Gateway Flags Refs Use Netif Expire
10.0.0.128/25 link#2 UC 0 0 em0
10.0.1.0/24 10.0.0.1 UGS 0 0 em0
^^^^^^^^^^^^^^^^^^ --- shouldn't it be deleted?
127.0.0.1 127.0.0.1 UH 0 26 lo0
root@behemoth:~:|>
10.0.0.1 isn't reachable now.
Currently, we have a workaroung in rt_check() (rev. 1.117) that prevents us
from panicing. However, the invalid route still remains in the table.
I suggest to make the following on the mask change path:
rt_tables[AF_INET]->rnh_walktree(xxx_maskchange), where the
xxx_maskchange() deletes all routes, which used to be reachable via the old
mask and are no longer reachable.
--
Totus tuus, Glebius.
GLEBIUS-RIPN GLEB-RIPE
_______________________________________________
freebsd-net@xxxxxxxxxxx mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to "freebsd-net-unsubscribe@xxxxxxxxxxx"
- Follow-Ups:
- Re: walking (and cleaning) the routing table on mask change?
- From: Bakul Shah
- Re: walking (and cleaning) the routing table on mask change?
- Prev by Date: Re: Is em endian-clean?
- Next by Date: Re: Is em endian-clean?
- Previous by thread: ng_pptpgre + netmask_change results to lock
- Next by thread: Re: walking (and cleaning) the routing table on mask change?
- Index(es):
Relevant Pages
|
|