[Cluster-devel] cluster/dlm-kernel/src lowcomms.c

lhh at sourceware.org lhh at sourceware.org
Tue Oct 30 17:42:05 UTC 2007


CVSROOT:	/cvs/cluster
Module name:	cluster
Branch: 	RHEL46
Changes by:	lhh at sourceware.org	2007-10-30 17:42:04

Modified files:
	dlm-kernel/src : lowcomms.c 

Log message:
	Fix #338511 - dlm trying to connect from wrong IP

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/dlm-kernel/src/lowcomms.c.diff?cvsroot=cluster&only_with_tag=RHEL46&r1=1.22.2.17&r2=1.22.2.17.2.1

--- cluster/dlm-kernel/src/Attic/lowcomms.c	2007/08/13 20:07:09	1.22.2.17
+++ cluster/dlm-kernel/src/Attic/lowcomms.c	2007/10/30 17:42:04	1.22.2.17.2.1
@@ -555,6 +555,7 @@
 {
 	int result = -EHOSTUNREACH;
 	struct sockaddr_in6 saddr;
+	struct sockaddr_in6 my_addr;
 	int addr_len;
 	struct socket *sock;
 
@@ -589,6 +590,13 @@
 
 	add_sock(sock, con);
 
+	/* Bind to local address before send */
+	memcpy(&my_addr, &local_addr, sizeof(my_addr));
+	result = sock->ops->bind(sock, &my_addr, (int)(sizeof(my_addr)));
+	if (result < 0) {
+		printk("dlm: could not bind to local address for connect: %d\n", result);
+	}
+
 	log_debug2("connecting to %d", con->nodeid);
 	result =
 	    sock->ops->connect(sock, (struct sockaddr *) &saddr, addr_len,




More information about the Cluster-devel mailing list