Bjørn Mork wrote:
> Gary <[EMAIL PROTECTED]> writes:
>
>
>> I will be very interested to have a way to recover the network if
>> someone find the root cause but it seems I reach my technical limit.
>> Of course if anyone need more information about my configuration I am
>> still in the thread.
>>
>
> I was able to recreate your problem, and to recover from it by doing
>
> # ifconfig eth0 0
> # ifconfig eth0 192.168.240.195 netmask 255.255.248.0
> # route add default gw 192.168.240.1
>
> from the non-working situation.
>
> I suspect that the problem might be this code in net/ipv4/devinet.c ,
> which sets ifa_scope to RT_SCOPE_HOST if you configure a loopback
> address (127/8) on any interface. I guess it's there to protect us from
> sending packets with a loopback source address, which woulnd't look too
> good:
>
> static int inet_set_ifa(struct net_device *dev, struct in_ifaddr *ifa)
> {
> struct in_device *in_dev = __in_dev_get_rtnl(dev);
>
> ASSERT_RTNL();
>
> if (!in_dev) {
> inet_free_ifa(ifa);
> return -ENOBUFS;
> }
> ipv4_devconf_setall(in_dev);
> if (ifa->ifa_dev != in_dev) {
> BUG_TRAP(!ifa->ifa_dev);
> in_dev_hold(in_dev);
> ifa->ifa_dev = in_dev;
> }
> if (LOOPBACK(ifa->ifa_local))
> ifa->ifa_scope = RT_SCOPE_HOST;
> return inet_insert_ifa(ifa);
> }
>
>
>
> The real problem is that there's never anything resetting this scope if
> you change the address later. The attached patch fixes this.
>
>
Can you send it to net-dev also?
> Bjørn
>
>
Regards,
Varun
-
To unsubscribe from this list: send the line "unsubscribe linux-net" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at http://vger.kernel.org/majordomo-info.html