CVSROOT:        /cvs/cluster
Module name:    cluster
Branch:         RHEL4
Changes by:     [EMAIL PROTECTED]       2007-10-30 17:41:13

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=RHEL4&r1=1.22.2.17&r2=1.22.2.18

--- 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:41:13     
1.22.2.18
@@ -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,

Reply via email to