Messages in this thread |  | | From | Jon Tombs <> | Subject | Problems with the IP tunnel | Date | Tue, 25 Jun 1996 01:15:11 +0200 (MET DST) |
| |
I'm having problems with hanging sockets using the 2.0 IP tunnel, Generally things work well, but rlogin through a tunnel to a Sun 4.1.3, hangs after entering the passwd (when it should show the motd). ftp to some machines also hangs.
Looking at new_tunnel.c there are a few things I don't understand.
if (skb_headroom(skb) >= max_headroom) { skb->h.iph = (struct iphdr *) skb_push(skb, tunnel_hlen); } else { So if there isn't enough space, here we copy the buffer - OK
...
memcpy(new_skb->ip_hdr, skb->data, skb->len); This copies the data - OK memset(new_skb->proto_priv, 0, sizeof(skb->proto_priv)); Zero the proto_priv field - WHY don't we copy?
WHY don't we copy the other fields from the old skb? i.e. what about saddr,daddr,raddr and pkt_type??
}
Sure I don't follow what is going on 100%, but it seems strange to me that we can ignore always the old skb fields. Can somebody look over this condition.
-- Jon. <jon@gte.esi.us.es, http://www.esi.us.es/~jon>
|  |