Hello David, If the user sets "protocol=tcp" in the configuration file /etc/dlm/dlm.conf under two-rings cluster environment, DLM kernel module will not work with the below error message, [ 43.696924] DLM installed [ 149.552039] ocfs2: Registered cluster interface user [ 149.559579] dlm: TCP protocol can't handle multi-homed hosts, try SCTP <<== here, failed [ 149.559589] dlm: cannot start dlm lowcomms -22 [ 149.559612] (mount.ocfs2,2593,3):ocfs2_dlm_init:3120 ERROR: status = -22 [ 149.559629] (mount.ocfs2,2593,3):ocfs2_mount_volume:1845 ERROR: status = -22
Then, could we modify the code, let this case still work via only using one ring address? or the code is written by purpose. in lowcomms.c 1358 static int tcp_listen_for_all(void) 1359 { 1360 struct socket *sock = NULL; 1361 struct connection *con = nodeid2con(0, GFP_NOFS); 1362 int result = -EINVAL; 1363 1364 if (!con) 1365 return -ENOMEM; 1366 1367 /* We don't support multi-homed hosts */ 1368 if (dlm_local_addr[1] != NULL) { <<== here, could we get ride of this limitation? 1369 log_print("TCP protocol can't handle multi-homed hosts, " 1370 "try SCTP"); 1371 return -EINVAL; 1372 } 1373 1374 log_print("Using TCP for communications"); 1375 1376 sock = tcp_create_listen_sock(con, dlm_local_addr[0]); 1377 if (sock) { 1378 add_sock(sock, con); 1379 result = 0; 1380 } 1381 else { 1382 result = -EADDRINUSE; 1383 } Thanks Gang >>> > On Mon, Apr 02, 2018 at 08:01:24PM -0600, Gang He wrote: >> OK, I got your point. >> But, could we have a appropriate way to let the users know SCTP protocol > status? > > I think this is a case where suse/rh/etc need to have their own > distro-specific approaches for specifying the usage parameters that they > have tested and found to be supportable. Other companies have previously > found their specific use of SCTP to be acceptable. RH does not properly > support dlm+SCTP for similar reasons as you've found, although I've more > recently encouraged customers to try dlm+SCTP with a single path in order > debug or diagnose potential networking issues.