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: [EMAIL PROTECTED]:~:|>ifconfig em0 10.0.0.195/24 [EMAIL PROTECTED]:~:|>route add 10.0.1.0/24 10.0.0.1 add net 10.0.1.0: gateway 10.0.0.1 [EMAIL PROTECTED]:~:|>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 [EMAIL PROTECTED]:~:|>ifconfig em0 netmask 255.255.255.128 [EMAIL PROTECTED]:~:|>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 [EMAIL PROTECTED]:~:|> 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@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-net To unsubscribe, send any mail to "[EMAIL PROTECTED]"