source ip + masq (2.2.13 -> 2.2.14)

From: Catalin BOIE (util@deuroconsult.ro)
Date: Fri Feb 18 2000 - 09:02:30 EST


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