patch-2.1.21 linux/net/ipv6/raw.c

Next file: linux/net/ipv6/udp.c
Previous file: linux/net/ipv6/ipv6_sockglue.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.1.20/linux/net/ipv6/raw.c linux/net/ipv6/raw.c
@@ -149,7 +149,7 @@
 		*addr_len = sizeof(struct sockaddr_in6);
 	}
 
-	if (msg->msg_control)
+	if (msg->msg_controllen)
 	{
 		int err;
 
@@ -248,6 +248,7 @@
 	struct in6_addr *daddr;
 	struct raw6_opt *raw_opt;
 	u16 proto;
+	int hlimit = 0;
 	int err;
 	
 
@@ -315,7 +316,7 @@
 		opt = &opt_space;
 		memset(opt, 0, sizeof(struct ipv6_options));
 
-		err = datagram_send_ctl(msg, &dev, &saddr, opt);
+		err = datagram_send_ctl(msg, &dev, &saddr, opt, &hlimit);
 		if (err < 0)
 		{
 			printk(KERN_DEBUG "invalid msg_control\n");
@@ -346,12 +347,13 @@
 		}
 
 		err = ipv6_build_xmit(sk, rawv6_frag_cksum, &hdr, daddr, len,
-				      saddr, dev, opt, proto, msg->msg_flags&MSG_DONTWAIT);
+				      saddr, dev, opt, proto, hlimit,
+				      msg->msg_flags&MSG_DONTWAIT);
 	}
 	else
 	{
 		err = ipv6_build_xmit(sk, rawv6_getfrag, msg->msg_iov, daddr,
-				      len, saddr, dev, opt, proto,
+				      len, saddr, dev, opt, proto, hlimit,
 				      msg->msg_flags&MSG_DONTWAIT);
 	}
 

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov