From: Doron Shohamd <dorons-smomgflXvOZWk0Htik3J/w@public.gmane.org>
To: sashak-smomgflXvOZWk0Htik3J/w@public.gmane.org
Cc: linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Subject: add support of reload net topology file
Date: Wed, 17 Feb 2010 16:51:02 +0200 [thread overview]
Message-ID: <4B7C0256.7080505@voltaire.com> (raw)
add new command 'reload' in order to reload net topology file
Signed-off-by: Doron Shoham <dorons-smomgflXvOZWk0Htik3J/w@public.gmane.org>
---
ibsim/ibsim.c | 21 ++++++++++++++++++---
ibsim/sim_cmd.c | 6 ++++++
2 files changed, 24 insertions(+), 3 deletions(-)
diff --git a/ibsim/ibsim.c b/ibsim/ibsim.c
index e720f0d..98be195 100644
--- a/ibsim/ibsim.c
+++ b/ibsim/ibsim.c
@@ -73,6 +73,8 @@ extern int ignoreduplicate;
int ibdebug;
int parsedebug;
int simverb;
+FILE *infile, *outfile;
+char *netfile;
static Client clients[IBSIM_MAX_CLIENTS];
static int simctl = -1;
@@ -82,6 +84,13 @@ static int listen_to_port = IBSIM_DEFAULT_SERVER_PORT;
static int remote_mode = 0;
static char* socket_basename;
+extern int netnodes, netswitches, netports, netaliases;
+extern Node *nodes;
+extern Switch *switches;
+extern Port *ports;
+extern Port **lids;
+extern char (*aliases)[NODEIDLEN + NODEPREFIX + 1]; // aliases map format: "%s@%s"
+
static size_t make_name(union name_t *name, uint32_t addr, unsigned short port,
const char *fmt, ...)
{
@@ -553,8 +562,15 @@ int sim_cmd_file(FILE * f, char *s)
return 0;
}
-static int sim_init_net(char *netconf, FILE * out)
+int sim_init_net(char *netconf, FILE * out)
{
+ netnodes = netswitches = netports = netaliases = 0;
+ memset(nodes, 0, maxnetnodes*sizeof(*nodes));
+ memset(switches, 0, maxnetswitches*sizeof(*switches));
+ memset(ports, 0, maxnetports*sizeof(*ports));
+ memset(lids, 0, maxlinearcap*sizeof(*lids));
+ memset(aliases, 0, maxnetaliases*sizeof(*aliases));
+
DEBUG("reading %s", netconf);
if (read_netconf(netconf, out) < 0)
return -1;
@@ -716,8 +732,7 @@ int main(int argc, char **argv)
{
extern int alloc_core(void);
extern void free_core(void);
- char *outfname = 0, *netfile;
- FILE *infile, *outfile;
+ char *outfname = 0;
int status;
static char const str_opts[] = "rf:dpvIsN:S:P:L:M:l:Vhu";
diff --git a/ibsim/sim_cmd.c b/ibsim/sim_cmd.c
index 6d3a893..51a407c 100644
--- a/ibsim/sim_cmd.c
+++ b/ibsim/sim_cmd.c
@@ -49,12 +49,15 @@
#define DEBUG if (simverb > 1 || ibdebug) IBWARN
extern void free_core(void);
+extern int sim_init_net(char *, FILE *);
extern Node *nodes;
extern Switch *switches;
extern Port *ports;
extern Port **lids;
extern int netnodes, netports, netswitches;
+extern char *netfile;
+extern FILE *outfile;
#define NAMELEN NODEIDLEN
@@ -822,6 +825,7 @@ static int dump_help(FILE * f)
);
fprintf(f,
"\tBaselid \"nodeid\"[port] <lid> [lmc] : change port's lid (lmc)\n");
+ fprintf(f, "\tReload : reload net topology file\n");
fprintf(f, "\tVerbose [newlevel] - show/set simulator verbosity\n");
fprintf(f, "\t\t\t0 - silent\n");
fprintf(f, "\t\t\t1 - debug verbose\n");
@@ -907,6 +911,8 @@ int do_cmd(char *buf, FILE *f)
*/
else if (!strncasecmp(line, "ReLink", cmd_len))
r = do_relink(f, line);
+ else if (!strncasecmp(line, "Reload", cmd_len))
+ r = sim_init_net(netfile, outfile);
else if (*line != '\n' && *line != '\0')
fprintf(f, "command \'%s\' unknown - skipped\n", line);
--
1.5.5
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
next reply other threads:[~2010-02-17 14:51 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-02-17 14:51 Doron Shohamd [this message]
[not found] ` <4B7C0256.7080505-smomgflXvOZWk0Htik3J/w@public.gmane.org>
2010-02-27 15:22 ` add support of reload net topology file Sasha Khapyorsky
2010-03-01 15:38 ` Eli Dorfman (Voltaire)
[not found] ` <4B8BDF87.3020107-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2010-03-02 16:35 ` Sasha Khapyorsky
2010-03-08 21:51 ` Eli Dorfman
[not found] ` <694d48601003081351o2f661356seb17364cf5d734f9-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-03-09 15:03 ` Sasha Khapyorsky
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4B7C0256.7080505@voltaire.com \
--to=dorons-smomgflxvozwk0htik3j/w@public.gmane.org \
--cc=linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=sashak-smomgflXvOZWk0Htik3J/w@public.gmane.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox