Hi, guys!
I don't know if this message get to the list, so I rend it.
I think I found a bug in network code.
With 2.2.13 everything it's ok, but 2.2.14 is bad.
I have 2 IPs on 1 interface and using source routing (ip ru + ip
ro) for a 192.168.4.0 net.
I have eth0 with IP1 and IP2 IPs. eth1 is connected to 192.168 network.
I have a rule that say: choose routing table 100. Table 100 say that
default is the route to gateway1 (that is from the same net as IP1).
This works ok.
But, with 2.2.14 a host from 192.168.4.0 net choose IP2 as source, and
this is wrong.
I don't know if you understand me well, but I can try to give you more
informations if you want.
Seems to me that with the new modifications in ip_masq.c a bug was
introduced. It's the second time when I look in the sources, so I can't
make the patch.
I think the code with the problem is:
if (ip_route_output(&rt, iph->daddr, 0, RT_TOS(iph->tos)|RTO_CONN, skb_dev?skb_dev->ifindex:0)) {
/* Fallback on old method */
/* This really shouldn't happen... */
maddr = inet_select_addr(skb_dev, skb_rt->rt_gateway, RT_SCOPE_UNIVERSE);
} else {
/* Route lookup succeeded */
maddr = rt->rt_src;
ip_rt_put(rt);
}
Thanks!
--- Catalin(ux) BOIE catab@deuroconsult.ro http://www2.deuroconsult.ro/~catab Fax: (561) 760-6212 ICQ: 45443500- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/
This archive was generated by hypermail 2b29 : Wed Feb 23 2000 - 21:00:21 EST