1 /* -*- mode: c; c-basic-offset: 8; indent-tabs-mode: nil; -*-
2 * vim:expandtab:shiftwidth=8:tabstop=8:
4 * Copyright (C) 2001, 2002 Cluster File Systems, Inc.
6 * This file is part of Portals, http://www.sf.net/projects/lustre/
8 * Portals is free software; you can redistribute it and/or
9 * modify it under the terms of version 2 of the GNU General Public
10 * License as published by the Free Software Foundation.
12 * Portals is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU General Public License for more details.
17 * You should have received a copy of the GNU General Public License
18 * along with Portals; if not, write to the Free Software
19 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
25 #include <portals/api-support.h>
26 #include <portals/ptlctl.h>
32 {"network", jt_ptl_network, 0,"setup the NAL (args: nal name)"},
33 {"print_interfaces", jt_ptl_print_interfaces, 0, "print interface entries (no args)"},
34 {"add_interface", jt_ptl_add_interface, 0, "add interface entry (args: ip [netmask])"},
35 {"del_interface", jt_ptl_del_interface, 0, "delete interface entries (args: [ip])"},
36 {"print_peers", jt_ptl_print_peers, 0, "print peer entries (no args)"},
37 {"add_peer", jt_ptl_add_peer, 0, "add peer entry (args: nid host port)"},
38 {"del_peer", jt_ptl_del_peer, 0, "delete peer entry (args: [nid] [host])"},
39 {"print_conns", jt_ptl_print_connections, 0, "print connections (no args)"},
40 {"connect", jt_ptl_connect, 0, "connect to a remote nid (args: host port [iIOC])"},
41 {"disconnect", jt_ptl_disconnect, 0, "disconnect from a remote nid (args: [nid] [host]"},
42 {"push", jt_ptl_push_connection, 0, "flush connection to a remote nid (args: [nid]"},
43 {"active_tx", jt_ptl_print_active_txs, 0, "print active transmits (no args)"},
44 {"ping", jt_ptl_ping, 0, "do a ping test (args: nid [count] [size] [timeout])"},
45 {"shownid", jt_ptl_shownid, 0, "print the local NID"},
46 {"mynid", jt_ptl_mynid, 0, "inform the socknal of the local NID (args: [hostname])"},
47 {"add_route", jt_ptl_add_route, 0,
48 "add an entry to the routing table (args: gatewayNID targetNID [targetNID])"},
49 {"del_route", jt_ptl_del_route, 0,
50 "delete all routes via a gateway from the routing table (args: gatewayNID"},
51 {"set_route", jt_ptl_notify_router, 0,
52 "enable/disable a route in the routing table (args: gatewayNID up/down [time]"},
53 {"print_routes", jt_ptl_print_routes, 0, "print the routing table (args: none)"},
54 {"dump", jt_ioc_dump, 0, "usage: dump file, save ioctl buffer to file"},
55 {"fail", jt_ptl_fail_nid, 0, "usage: fail nid|_all_ [count]"},
56 {"loopback", jt_ptl_loopback, 0, "usage: loopback [on|off]"},
57 {"help", Parser_help, 0, "help"},
58 {"exit", Parser_quit, 0, "quit"},
59 {"quit", Parser_quit, 0, "quit"},
63 int main(int argc, char **argv)
65 if (ptl_initialize(argc, argv) < 0)
68 Parser_init("ptlctl > ", list);
70 return Parser_execarg(argc - 1, &argv[1], list);