Whamcloud - gitweb
add netid patameter to lctl mynid cmd
authorwangchao <wangchao>
Tue, 9 Nov 2004 10:26:17 +0000 (10:26 +0000)
committerwangchao <wangchao>
Tue, 9 Nov 2004 10:26:17 +0000 (10:26 +0000)
lnet/utils/portals.c
lustre/portals/utils/portals.c
lustre/utils/lconf
lustre/utils/lctl.c

index d5d29dc..dc54488 100644 (file)
@@ -1196,13 +1196,14 @@ int jt_ptl_shownid(int argc, char **argv)
 int jt_ptl_mynid(int argc, char **argv)
 {
         int rc;
+        int netid;
         char hostname[1024];
         char *nidstr;
         struct portals_cfg pcfg;
         ptl_nid_t mynid;
 
-        if (argc > 2) {
-                fprintf(stderr, "usage: %s [NID]\n", argv[0]);
+        if (argc > 3) {
+                fprintf(stderr, "usage: %s [netid [NID]]\n", argv[0]);
                 fprintf(stderr, "NID defaults to the primary IP address of the machine.\n");
                 return 0;
         }
@@ -1210,8 +1211,8 @@ int jt_ptl_mynid(int argc, char **argv)
         if (!g_nal_is_set())
                 return -1;
 
-        if (argc >= 2)
-                nidstr = argv[1];
+        if (argc >= 3)
+                nidstr = argv[2];
         else if (gethostname(hostname, sizeof(hostname)) != 0) {
                 fprintf(stderr, "gethostname failed: %s\n",
                         strerror(errno));
@@ -1220,6 +1221,14 @@ int jt_ptl_mynid(int argc, char **argv)
         else
                 nidstr = hostname;
 
+        if (argc >= 2)
+                if (ptl_parse_size (&netid, argv[1]) != 0) {
+                        fprintf (stderr, "Can't parse netid %s\n", argv[1]);
+                                return (-1);
+                }
+        else
+                netid = PTL_NETID_ANY;
+
         rc = ptl_parse_nid (&mynid, nidstr);
         if (rc != 0) {
                 fprintf (stderr, "Can't convert '%s' into a NID\n", nidstr);
@@ -1228,6 +1237,7 @@ int jt_ptl_mynid(int argc, char **argv)
         
         PCFG_INIT(pcfg, NAL_CMD_REGISTER_MYNID);
         pcfg.pcfg_nid = mynid;
+        pcfg.pcfg_netid = netid;
 
         rc = pcfg_ioctl(&pcfg);
         if (rc < 0)
index d5d29dc..dc54488 100644 (file)
@@ -1196,13 +1196,14 @@ int jt_ptl_shownid(int argc, char **argv)
 int jt_ptl_mynid(int argc, char **argv)
 {
         int rc;
+        int netid;
         char hostname[1024];
         char *nidstr;
         struct portals_cfg pcfg;
         ptl_nid_t mynid;
 
-        if (argc > 2) {
-                fprintf(stderr, "usage: %s [NID]\n", argv[0]);
+        if (argc > 3) {
+                fprintf(stderr, "usage: %s [netid [NID]]\n", argv[0]);
                 fprintf(stderr, "NID defaults to the primary IP address of the machine.\n");
                 return 0;
         }
@@ -1210,8 +1211,8 @@ int jt_ptl_mynid(int argc, char **argv)
         if (!g_nal_is_set())
                 return -1;
 
-        if (argc >= 2)
-                nidstr = argv[1];
+        if (argc >= 3)
+                nidstr = argv[2];
         else if (gethostname(hostname, sizeof(hostname)) != 0) {
                 fprintf(stderr, "gethostname failed: %s\n",
                         strerror(errno));
@@ -1220,6 +1221,14 @@ int jt_ptl_mynid(int argc, char **argv)
         else
                 nidstr = hostname;
 
+        if (argc >= 2)
+                if (ptl_parse_size (&netid, argv[1]) != 0) {
+                        fprintf (stderr, "Can't parse netid %s\n", argv[1]);
+                                return (-1);
+                }
+        else
+                netid = PTL_NETID_ANY;
+
         rc = ptl_parse_nid (&mynid, nidstr);
         if (rc != 0) {
                 fprintf (stderr, "Can't convert '%s' into a NID\n", nidstr);
@@ -1228,6 +1237,7 @@ int jt_ptl_mynid(int argc, char **argv)
         
         PCFG_INIT(pcfg, NAL_CMD_REGISTER_MYNID);
         pcfg.pcfg_nid = mynid;
+        pcfg.pcfg_netid = netid;
 
         rc = pcfg_ioctl(&pcfg);
         if (rc < 0)
index 6319775..b06f041 100755 (executable)
@@ -423,8 +423,8 @@ class LCTLInterface:
         """ set mynid """
         cmds =  """
   network %s
-  mynid %s
-  quit """ % (net, nid)
+  mynid %s %s
+  quit """ % (net, netid, nid)
         self.run(cmds)
 
     # add an interface
@@ -1304,6 +1304,12 @@ class Network(Module):
                 else:
                     netmask = ""
                 lctl.add_interface(self.net_type, ip, netmask)
+        lctl.newnet(self.netid, self.net_type)
+        if not (config.record and self.generic_nid):
+            lctl.network(self.net_type, self.netid, self.nid)
+        bindaddrlist = self.db.get_bindaddrlist(self.netid)
+        for bindaddr in bindaddrlist:
+            lctl.bind(self.net_type, self.netid, bindaddr)
         if self.net_type == 'elan':
             sys_optimize_elan()
         if self.port and  node_is_router():
index cd70a94..54bab94 100644 (file)
@@ -79,7 +79,7 @@ command_t cmdlist[] = {
         {"add_peer", jt_ptl_add_peer, 0, "add an peer entry\n"
          "usage: add_peer <nid> <host> <port>"},
         {"del_peer", jt_ptl_del_peer, 0, "remove an peer entry\n"
-         "usage: del_peer [<nid>] [<host>] [ks]"},
+         "usage: del_peer [<nid> [<netid> [<host> [ks]]]]"},
         {"conn_list", jt_ptl_print_connections, 0, "print all the connected remote nid\n"
          "usage: conn_list"},
         {"connect", jt_ptl_connect, 0, "connect to a remote nid\n"
@@ -91,7 +91,7 @@ command_t cmdlist[] = {
         {"mynid", jt_ptl_mynid, 0, "inform the socknal of the local nid. "
          "The nid defaults to hostname for tcp networks and is automatically "
          "setup for elan/myrinet networks.\n"
-         "usage: mynid [<nid>]"},
+         "usage: mynid [<netid> [<nid>]]"},
         {"shownid", jt_ptl_shownid, 0, "print the local NID\n"
          "usage: shownid"},
         {"add_uuid", jt_lcfg_add_uuid, 0, "associate a UUID with a nid\n"