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;
}
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));
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);
PCFG_INIT(pcfg, NAL_CMD_REGISTER_MYNID);
pcfg.pcfg_nid = mynid;
+ pcfg.pcfg_netid = netid;
rc = pcfg_ioctl(&pcfg);
if (rc < 0)
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;
}
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));
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);
PCFG_INIT(pcfg, NAL_CMD_REGISTER_MYNID);
pcfg.pcfg_nid = mynid;
+ pcfg.pcfg_netid = netid;
rc = pcfg_ioctl(&pcfg);
if (rc < 0)
""" set mynid """
cmds = """
network %s
- mynid %s
- quit """ % (net, nid)
+ mynid %s %s
+ quit """ % (net, netid, nid)
self.run(cmds)
# add an interface
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():
{"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"
{"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"