// vim: sw=8 ts=8
char const *cvs_name = "$Name: $";
-char const *cvs_id_cli = "$Id: cli.c,v 1.44 2004/12/18 01:20:05 bodea Exp $";
+char const *cvs_id_cli = "$Id: cli.c,v 1.43.2.1 2005/01/10 07:08:12 bodea Exp $";
#include <stdio.h>
#include <stdarg.h>
static int cmd_load_plugin(struct cli_def *cli, char *command, char **argv, int argc);
static int cmd_remove_plugin(struct cli_def *cli, char *command, char **argv, int argc);
static int cmd_uptime(struct cli_def *cli, char *command, char **argv, int argc);
-
static int regular_stuff(struct cli_def *cli);
static void parsemac(char *string, char mac[6]);
if (CLI_HELP_REQUESTED)
return CLI_HELP_NO_ARGS;
- cli_print(cli, "%-10s %-8s %-10s %-8s", "Ethernet", "Bytes", "Packets", "Errors");
- cli_print(cli, "%-10s %8u %8u %8u", "RX",
+ cli_print(cli, "%-10s %10s %8s %8s %8s", "Ethernet", "Bytes", "Packets", "Errors", "Dropped");
+ cli_print(cli, "%-10s %10u %8u %8u %8u", "RX",
GET_STAT(tun_rx_bytes),
GET_STAT(tun_rx_packets),
- GET_STAT(tun_rx_errors));
- cli_print(cli, "%-10s %8u %8u %8u", "TX",
+ GET_STAT(tun_rx_errors),
+ GET_STAT(tun_rx_dropped));
+ cli_print(cli, "%-10s %10u %8u %8u", "TX",
GET_STAT(tun_tx_bytes),
GET_STAT(tun_tx_packets),
GET_STAT(tun_tx_errors));
cli_print(cli, "");
- cli_print(cli, "%-10s %-8s %-10s %-8s %-8s", "Tunnel", "Bytes", "Packets", "Errors", "Retries");
- cli_print(cli, "%-10s %8u %8u %8u", "RX",
+ cli_print(cli, "%-10s %10s %8s %8s %8s", "Tunnel", "Bytes", "Packets", "Errors", "Retries");
+ cli_print(cli, "%-10s %10u %8u %8u", "RX",
GET_STAT(tunnel_rx_bytes),
GET_STAT(tunnel_rx_packets),
GET_STAT(tunnel_rx_errors));
- cli_print(cli, "%-10s %8u %8u %8u %8u", "TX",
+ cli_print(cli, "%-10s %10u %8u %8u %8u", "TX",
GET_STAT(tunnel_tx_bytes),
GET_STAT(tunnel_tx_packets),
GET_STAT(tunnel_tx_errors),
static int cmd_show_run(struct cli_def *cli, char *command, char **argv, int argc)
{
int i;
- char ipv6addr[INET6_ADDRSTRLEN];
if (CLI_HELP_REQUESTED)
return CLI_HELP_NO_ARGS;
{
void *value = ((void *)config) + config_values[i].offset;
if (config_values[i].type == STRING)
- cli_print(cli, "set %s \"%.*s\"", config_values[i].key, config_values[i].size, (char *) value);
- else if (config_values[i].type == IPv4)
- cli_print(cli, "set %s %s", config_values[i].key, fmtaddr(*(in_addr_t *) value, 0));
- else if (config_values[i].type == IPv6)
- cli_print(cli, "set %s %s", config_values[i].key, inet_ntop(AF_INET6, value, ipv6addr, INET6_ADDRSTRLEN));
+ cli_print(cli, "set %s \"%.*s\"", config_values[i].key, config_values[i].size, (char *)value);
+ else if (config_values[i].type == IP)
+ cli_print(cli, "set %s %s", config_values[i].key, fmtaddr(*(unsigned *)value, 0));
else if (config_values[i].type == SHORT)
- cli_print(cli, "set %s %hu", config_values[i].key, *(short *) value);
+ cli_print(cli, "set %s %hu", config_values[i].key, *(short *)value);
else if (config_values[i].type == BOOL)
- cli_print(cli, "set %s %s", config_values[i].key, (*(int *) value) ? "yes" : "no");
+ cli_print(cli, "set %s %s", config_values[i].key, (*(int *)value) ? "yes" : "no");
else if (config_values[i].type == INT)
- cli_print(cli, "set %s %d", config_values[i].key, *(int *) value);
+ cli_print(cli, "set %s %d", config_values[i].key, *(int *)value);
else if (config_values[i].type == UNSIGNED_LONG)
- cli_print(cli, "set %s %lu", config_values[i].key, *(unsigned long *) value);
+ cli_print(cli, "set %s %lu", config_values[i].key, *(unsigned long *)value);
else if (config_values[i].type == MAC)
cli_print(cli, "set %s %02x%02x.%02x%02x.%02x%02x", config_values[i].key,
- *(unsigned short *) (value + 0),
- *(unsigned short *) (value + 1),
- *(unsigned short *) (value + 2),
- *(unsigned short *) (value + 3),
- *(unsigned short *) (value + 4),
- *(unsigned short *) (value + 5));
+ *(unsigned short *)(value + 0),
+ *(unsigned short *)(value + 1),
+ *(unsigned short *)(value + 2),
+ *(unsigned short *)(value + 3),
+ *(unsigned short *)(value + 4),
+ *(unsigned short *)(value + 5));
}
cli_print(cli, "# Plugins");
switch (config_values[i].type)
{
case STRING:
- strncpy((char *) value, argv[1], config_values[i].size - 1);
+ strncpy((char *)value, argv[1], config_values[i].size - 1);
break;
case INT:
- *(int *) value = atoi(argv[1]);
+ *(int *)value = atoi(argv[1]);
break;
case UNSIGNED_LONG:
- *(unsigned long *) value = atol(argv[1]);
+ *(unsigned long *)value = atol(argv[1]);
break;
case SHORT:
- *(short *) value = atoi(argv[1]);
- break;
- case IPv4:
- *(in_addr_t *) value = inet_addr(argv[1]);
+ *(short *)value = atoi(argv[1]);
break;
- case IPv6:
- inet_pton(AF_INET6, argv[1], value);
+ case IP:
+ *(unsigned *)value = inet_addr(argv[1]);
break;
case MAC:
parsemac(argv[1], (char *)value);
break;
case BOOL:
if (strcasecmp(argv[1], "yes") == 0 || strcasecmp(argv[1], "true") == 0 || strcasecmp(argv[1], "1") == 0)
- *(int *) value = 1;
+ *(int *)value = 1;
else
- *(int *) value = 0;
+ *(int *)value = 0;
break;
default:
cli_print(cli, "Unknown variable type");