patch-2.1.15 linux/net/ipv4/ip_masq_app.c
Next file: linux/net/ipv4/ip_masq_ftp.c
Previous file: linux/net/ipv4/ip_masq.c
Back to the patch index
Back to the overall index
- Lines: 61
- Date:
Thu Dec 12 16:54:24 1996
- Orig file:
v2.1.14/linux/net/ipv4/ip_masq_app.c
- Orig date:
Thu Oct 10 19:10:58 1996
diff -u --recursive --new-file v2.1.14/linux/net/ipv4/ip_masq_app.c linux/net/ipv4/ip_masq_app.c
@@ -327,7 +327,7 @@
if ( (mapp = ms->app) == NULL)
return 0;
- iph = (*skb_p)->h.iph;
+ iph = (*skb_p)->nh.iph;
th = (struct tcphdr *)&(((char *)iph)[iph->ihl*4]);
/*
@@ -390,7 +390,7 @@
if ( (mapp = ms->app) == NULL)
return 0;
- iph = (*skb_p)->h.iph;
+ iph = (*skb_p)->nh.iph;
th = (struct tcphdr *)&(((char *)iph)[iph->ihl*4]);
/*
@@ -488,7 +488,7 @@
int ip_masq_app_init(void)
{
-
+
register_symtab (&ip_masq_app_syms);
#ifdef CONFIG_PROC_FS
proc_net_register(&proc_net_ip_masq_app);
@@ -539,7 +539,6 @@
return skb;
}
- n_skb->free = skb->free;
skb_reserve(n_skb, MAX_HEADER);
skb_put(n_skb, skb->len + diff);
@@ -549,14 +548,15 @@
* like skb->protocol (PPP driver wants it).
*/
offset = n_skb->data - skb->data;
+ n_skb->nh.raw = skb->nh.raw + offset;
n_skb->h.raw = skb->h.raw + offset;
n_skb->when = skb->when;
n_skb->dev = skb->dev;
n_skb->mac.raw = skb->mac.raw + offset;
- n_skb->ip_hdr = (struct iphdr *)(((char *)skb->ip_hdr)+offset);
n_skb->pkt_type = skb->pkt_type;
n_skb->protocol = skb->protocol;
n_skb->ip_summed = skb->ip_summed;
+ n_skb->dst = dst_clone(skb->dst);
/*
* Copy pkt in new buffer
@@ -600,7 +600,7 @@
/*
* update ip header
*/
- iph = n_skb->h.iph;
+ iph = n_skb->nh.iph;
iph->check = 0;
iph->check = ip_fast_csum((unsigned char *)iph, iph->ihl);
iph->tot_len = htons(skb_len + diff);
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov