#include <lnet/api-support.h>
#include <lnet/lnetctl.h>
#include <lnet/socklnd.h>
+#include <lnet/lib-dlc.h>
unsigned int libcfs_debug;
unsigned int libcfs_printk = D_CANTMASK;
int
jt_ptl_add_route (int argc, char **argv)
{
- struct libcfs_ioctl_data data;
- lnet_nid_t gateway_nid;
- unsigned int hops = 1;
+ struct lnet_ioctl_config_data data;
+ lnet_nid_t gateway_nid;
+ unsigned int hops = 1;
unsigned int priority = 0;
- char *end;
- int rc;
+ char *end;
+ int rc;
if (argc < 2 || argc > 4) {
fprintf(stderr, "usage: %s gateway [hopcount [priority]]\n",
return -1;
}
- if (!g_net_is_set(argv[0]))
- return (-1);
+ if (g_net_is_set(argv[0]) == 0)
+ return -1;
- gateway_nid = libcfs_str2nid(argv[1]);
- if (gateway_nid == LNET_NID_ANY) {
- fprintf (stderr, "Can't parse gateway NID \"%s\"\n", argv[1]);
- return (-1);
- }
+ gateway_nid = libcfs_str2nid(argv[1]);
+ if (gateway_nid == LNET_NID_ANY) {
+ fprintf(stderr, "Can't parse gateway NID \"%s\"\n", argv[1]);
+ return -1;
+ }
if (argc > 2) {
hops = strtoul(argv[2], &end, 0);
}
}
- LIBCFS_IOC_INIT(data);
- data.ioc_net = g_net;
- data.ioc_count = hops;
- data.ioc_nid = gateway_nid;
- data.ioc_priority = priority;
+ LIBCFS_IOC_INIT_V2(data, cfg_hdr);
+ data.cfg_net = g_net;
+ data.cfg_config_u.cfg_route.rtr_hop = hops;
+ data.cfg_nid = gateway_nid;
+ data.cfg_config_u.cfg_route.rtr_priority = priority;
- rc = l_ioctl(LNET_DEV_ID, IOC_LIBCFS_ADD_ROUTE, &data);
- if (rc != 0) {
- fprintf (stderr, "IOC_LIBCFS_ADD_ROUTE failed: %s\n", strerror (errno));
- return (-1);
- }
+ rc = l_ioctl(LNET_DEV_ID, IOC_LIBCFS_ADD_ROUTE, &data);
+ if (rc != 0) {
+ fprintf(stderr, "IOC_LIBCFS_ADD_ROUTE failed: %s\n",
+ strerror(errno));
+ return -1;
+ }
- return (0);
+ return 0;
}
int
jt_ptl_del_route (int argc, char **argv)
{
- struct libcfs_ioctl_data data;
- lnet_nid_t nid;
- int rc;
+ struct lnet_ioctl_config_data data;
+ lnet_nid_t nid;
+ int rc;
- if (argc != 2) {
- fprintf (stderr, "usage: %s gatewayNID\n", argv[0]);
- return (0);
- }
+ if (argc != 2) {
+ fprintf(stderr, "usage: %s gatewayNID\n", argv[0]);
+ return 0;
+ }
- if (!libcfs_str2anynid(&nid, argv[1])) {
- fprintf (stderr, "Can't parse gateway NID "
- "\"%s\"\n", argv[1]);
- return -1;
- }
+ if (libcfs_str2anynid(&nid, argv[1]) == 0) {
+ fprintf(stderr, "Can't parse gateway NID "
+ "\"%s\"\n", argv[1]);
+ return -1;
+ }
- LIBCFS_IOC_INIT(data);
- data.ioc_net = g_net_set ? g_net : LNET_NIDNET(LNET_NID_ANY);
- data.ioc_nid = nid;
+ LIBCFS_IOC_INIT_V2(data, cfg_hdr);
+ data.cfg_net = g_net_set ? g_net : LNET_NIDNET(LNET_NID_ANY);
+ data.cfg_nid = nid;
- rc = l_ioctl(LNET_DEV_ID, IOC_LIBCFS_DEL_ROUTE, &data);
- if (rc != 0) {
- fprintf (stderr, "IOC_LIBCFS_DEL_ROUTE (%s) failed: %s\n",
- libcfs_nid2str(nid), strerror (errno));
- return (-1);
- }
+ rc = l_ioctl(LNET_DEV_ID, IOC_LIBCFS_DEL_ROUTE, &data);
+ if (rc != 0) {
+ fprintf(stderr, "IOC_LIBCFS_DEL_ROUTE (%s) failed: %s\n",
+ libcfs_nid2str(nid), strerror(errno));
+ return -1;
+ }
- return (0);
+ return 0;
}
int
int
jt_ptl_print_routes (int argc, char **argv)
{
- struct libcfs_ioctl_data data;
- int rc;
- int index;
- __u32 net;
- lnet_nid_t nid;
- unsigned int hops;
- int alive;
+ struct lnet_ioctl_config_data data;
+ int rc;
+ int index;
+ __u32 net;
+ lnet_nid_t nid;
+ unsigned int hops;
+ int alive;
unsigned int pri;
- for (index = 0;;index++)
- {
- LIBCFS_IOC_INIT(data);
- data.ioc_count = index;
+ for (index = 0; ; index++) {
+ LIBCFS_IOC_INIT_V2(data, cfg_hdr);
+ data.cfg_count = index;
- rc = l_ioctl(LNET_DEV_ID, IOC_LIBCFS_GET_ROUTE, &data);
- if (rc != 0)
- break;
+ rc = l_ioctl(LNET_DEV_ID, IOC_LIBCFS_GET_ROUTE, &data);
+ if (rc != 0)
+ break;
- net = data.ioc_net;
- hops = data.ioc_count;
- nid = data.ioc_nid;
- alive = data.ioc_flags;
- pri = data.ioc_priority;
+ net = data.cfg_net;
+ hops = data.cfg_config_u.cfg_route.rtr_hop;
+ nid = data.cfg_nid;
+ alive = data.cfg_config_u.cfg_route.rtr_flags;
+ pri = data.cfg_config_u.cfg_route.rtr_priority;
printf("net %18s hops %u gw %32s %s pri %u\n",
libcfs_net2str(net), hops,
libcfs_nid2str(nid), alive ? "up" : "down", pri);
- }
+ }
- if (errno != ENOENT)
- fprintf(stderr, "Error getting routes: %s: check dmesg.\n",
- strerror(errno));
+ if (errno != ENOENT)
+ fprintf(stderr, "Error getting routes: %s: check dmesg.\n",
+ strerror(errno));
- return (0);
+ return 0;
}
double