summaryrefslogtreecommitdiffstats
path: root/net/ipv4/ip_options.c
diff options
context:
space:
mode:
authorRalf Baechle <ralf@linux-mips.org>1998-09-19 19:15:08 +0000
committerRalf Baechle <ralf@linux-mips.org>1998-09-19 19:15:08 +0000
commit03ba4131783cc9e872f8bb26a03f15bc11f27564 (patch)
tree88db8dba75ae06ba3bad08e42c5e52efc162535c /net/ipv4/ip_options.c
parent257730f99381dd26e10b832fce4c94cae7ac1176 (diff)
- Merge with Linux 2.1.121.
- Bugfixes.
Diffstat (limited to 'net/ipv4/ip_options.c')
-rw-r--r--net/ipv4/ip_options.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/net/ipv4/ip_options.c b/net/ipv4/ip_options.c
index 3e3674ef7..153c7a391 100644
--- a/net/ipv4/ip_options.c
+++ b/net/ipv4/ip_options.c
@@ -5,7 +5,7 @@
*
* The options processing module for ip.c
*
- * Version: $Id: ip_options.c,v 1.13 1998/02/12 07:43:12 davem Exp $
+ * Version: $Id: ip_options.c,v 1.14 1998/08/26 12:03:51 davem Exp $
*
* Authors: A.N.Kuznetsov
*
@@ -451,7 +451,7 @@ eol:
error:
if (skb) {
- icmp_send(skb, ICMP_PARAMETERPROB, 0, pp_ptr-iph);
+ icmp_send(skb, ICMP_PARAMETERPROB, 0, htonl((pp_ptr-iph)<<24));
kfree_skb(skb);
}
return -EINVAL;
@@ -579,7 +579,7 @@ int ip_options_rcv_srr(struct sk_buff *skb)
if (rt->rt_type == RTN_UNICAST) {
if (!opt->is_strictroute)
return 0;
- icmp_send(skb, ICMP_PARAMETERPROB, 0, 16);
+ icmp_send(skb, ICMP_PARAMETERPROB, 0, htonl(16<<24));
return -EINVAL;
}
if (rt->rt_type != RTN_LOCAL)
@@ -587,7 +587,7 @@ int ip_options_rcv_srr(struct sk_buff *skb)
for (srrptr=optptr[2], srrspace = optptr[1]; srrptr <= srrspace; srrptr += 4) {
if (srrptr + 3 > srrspace) {
- icmp_send(skb, ICMP_PARAMETERPROB, 0, opt->srr+2);
+ icmp_send(skb, ICMP_PARAMETERPROB, 0, htonl((opt->srr+2)<<24));
return -EINVAL;
}
memcpy(&nexthop, &optptr[srrptr-1], 4);