patch-2.4.23 linux-2.4.23/net/ipv4/ipmr.c
Next file: linux-2.4.23/net/ipv4/ipvs/Config.in
Previous file: linux-2.4.23/net/ipv4/ipip.c
Back to the patch index
Back to the overall index
- Lines: 21
- Date:
2003-11-28 10:26:21.000000000 -0800
- Orig file:
linux-2.4.22/net/ipv4/ipmr.c
- Orig date:
2002-11-28 15:53:15.000000000 -0800
diff -urN linux-2.4.22/net/ipv4/ipmr.c linux-2.4.23/net/ipv4/ipmr.c
@@ -1096,6 +1096,7 @@
skb->h.ipiph = skb->nh.iph;
skb->nh.iph = iph;
+ memset(&(IPCB(skb)->opt), 0, sizeof(IPCB(skb)->opt));
#ifdef CONFIG_NETFILTER
nf_conntrack_put(skb->nfct);
skb->nfct = NULL;
@@ -1104,8 +1105,12 @@
static inline int ipmr_forward_finish(struct sk_buff *skb)
{
+ struct ip_options *opt = &(IPCB(skb)->opt);
struct dst_entry *dst = skb->dst;
+ if (unlikely(opt->optlen))
+ ip_forward_options(skb);
+
if (skb->len <= dst->pmtu)
return dst->output(skb);
else
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)