]> git.sur5r.net Git - ngadmin/commitdiff
Cli: add command to show network configuration details
authordarkcoven <admin@darkcoven.tk>
Fri, 18 Oct 2013 21:20:37 +0000 (23:20 +0200)
committerdarkcoven <admin@darkcoven.tk>
Fri, 18 Oct 2013 21:20:37 +0000 (23:20 +0200)
cli/man/ngcli.1
cli/src/com_netconf.c
cli/src/commands.c
cli/src/common.c

index 55422ef0ddc1af3036bfed4f3aa35bf0d71b7f0f..6c3d8631d9747daf5db8497897af06e382dd4908 100644 (file)
@@ -180,6 +180,10 @@ Set the switch name to \fIname\fR.
 Show the switch name.
 .
 .TP
+\fBnetconf show
+Show the network configuration.
+.
+.TP
 \fBnetconf set\fR [ dhcp yes|no ] [ ip \fIip\fR ] [ mask\fI mask\fR ] \
 [ gw\fI gw\fR ]
 Set various network related options. \fIip\fR, \fImask\fR and \fIgw\fR must be
index d44b83a161260464f902bb10faa8cd59f63439ec..31b09efba03bd740dd372f1271b764ea4622ff39 100644 (file)
@@ -2,6 +2,34 @@
 #include "commands.h"
 
 
+int do_netconf_show (int argc, const char **argv UNUSED, struct ngadmin *nga)
+{
+       const struct swi_attr *sa;
+       const struct net_conf *nc;
+       
+       
+       if (argc > 0) {
+               printf("this command takes no argument\n");
+               return 1;
+       }
+       
+       sa = ngadmin_getCurrentSwitch(nga);
+       if (sa == NULL) {
+               printf("must be logged\n");
+               return 1;
+       }
+       nc = &sa->nc;
+       
+       printf("DHCP\t : %s\n", nc->dhcp ? "yes" : "no");
+       printf("IP\t : %s\n", inet_ntoa(nc->ip));
+       printf("Netmask\t : %s\n", inet_ntoa(nc->netmask));
+       printf("Gateway\t : %s\n", inet_ntoa(nc->gw));
+       
+       
+       return 0;
+}
+
+
 int do_netconf_set (int argc, const char **argv, struct ngadmin *nga)
 {
        int i, k, ret = 0;
index 2d37ea82040dee4d5babbe30db11a0f68fe2797a..7662c726ec083370382ee568a7b7fa92e4f639ce 100644 (file)
@@ -50,6 +50,7 @@ int do_name_clear (int argc, const char **argv, struct ngadmin *nga);
 
 
 /* netconf */
+int do_netconf_show (int argc, const char **argv, struct ngadmin *nga);
 int do_netconf_set (int argc, const char **argv, struct ngadmin *nga);
 
 
@@ -145,6 +146,7 @@ COM_ROOT_START(commands)
        COM_END
        
        COM_START(netconf)
+               COM_TERM(show, do_netconf_show)
                COM_TERM(set, do_netconf_set)
        COM_END
        
index 7d35301eff059d4445435e0b540643126d877ac5..74df3356f89ed0eddc280d42956b25a9e41552cf 100644 (file)
@@ -110,12 +110,10 @@ void displaySwitchTab (const struct swi_attr *sa, int nb)
                return;
        }
        
-       printf("Num\tMac\t\t\tProduct\t\tName\t\t\tIP/mask\t\t\tDHCP\tPorts\tFirmware\n");
+       printf("Num\tMac\t\t\tProduct\t\tName\t\t\tIP\t\tPorts\tFirmware\n");
        
-       for (i = 0; i < nb; i++) {
-               printf("%i\t%s\t%s\t%s\t\t%s/", i, ether_ntoa(&sa[i].mac), sa[i].product, sa[i].name, inet_ntoa(sa[i].nc.ip));
-               printf("%s\t%s\t%i\t%s\n", inet_ntoa(sa[i].nc.netmask), ( sa[i].nc.dhcp ? "Yes" : "No" ), sa[i].ports, sa[i].firmware);
-       }
+       for (i = 0; i < nb; i++)
+               printf("%i\t%s\t%s\t%s\t\t%s\t%i\t%s\n", i, ether_ntoa(&sa[i].mac), sa[i].product, sa[i].name, inet_ntoa(sa[i].nc.ip), sa[i].ports, sa[i].firmware);
        
        printf("\nfound %i switch(es)\n", nb);
 }