Hmm.... src/main/util.c has request_alloc_fake(), which initializes the tunneled request. It may be worth changing it to copy the outer tunnel source/dest IP's and ports.
So @@ -385,8 +385,8 @@ */ request->packet->sockfd = -1; request->packet->src_ipaddr.af = AF_INET; - request->packet->src_ipaddr.ipaddr.ip4addr.s_addr = htonl(INADDR_LOOPBACK); - request->packet->dst_ipaddr = request->packet->src_ipaddr; + request->packet->src_ipaddr.ipaddr.ip4addr.s_addr = oldreq->packet->src_ipaddr.ipaddr.ip4addr.s_addr + request->packet->dst_ipaddr = htonl(INADDR_LOOPBACK);; request->packet->src_port = request->number >> 8; /* @@ -408,7 +408,7 @@ * Fill in the fake reply, based on the fake request. */ request->reply->sockfd = request->packet->sockfd; - request->reply->dst_ipaddr = request->packet->src_ipaddr; + request->reply->dst_ipaddr = request->packet->dst_ipaddr; request->reply->dst_port = request->packet->src_port; request->reply->id = request->packet->id; request->reply->code = 0; /* UNKNOWN code */ ? Would it be worth making this change in the cvs head ? -- Arran Cudbard-Bell (A.Cudbard-Bell@sussex.ac.uk) Authentication, Authorisation and Accounting Officer Infrastructure Services | ENG1 E1-1-08 University Of Sussex, Brighton EXT:01273 873900 | INT: 3900