--- ip_vs_core.c.orig 2003-11-28 19:26:21.000000000 +0100 +++ ip_vs_core.c.list 2004-07-02 11:13:51.000000000 +0200 @@ -1036,7 +1036,7 @@ * Big tappo: only PACKET_HOST (nor loopback neither mcasts) * ... don't know why 1st test DOES NOT include 2nd (?) */ - if (skb->pkt_type != PACKET_HOST || skb->dev == &loopback_dev) { + if (skb->pkt_type != PACKET_HOST) { /* || skb->dev == &loopback_dev) { */ IP_VS_DBG(12, "packet type=%d proto=%d daddr=%d.%d.%d.%d ignored\n", skb->pkt_type, iph->protocol, @@ -1059,6 +1059,13 @@ iph = skb->nh.iph; h.raw = (char*) iph + ihl; + cp = ip_vs_conn_out_get(iph->protocol, iph->saddr, h.portp[0], + iph->daddr, h.portp[1]); + if (cp) { + __ip_vs_conn_put(cp); + return (ip_vs_out(hooknum,skb_p,in,out,okfn)); + } + /* * Check if the packet belongs to an existing connection entry */