7 static char vlan_char (int t) {
10 case VLAN_TAGGED: return 'T';
11 case VLAN_UNTAGGED: return 'U';
12 case VLAN_NO: return ' ';
20 bool do_vlan_8021q_show (int nb, const char **com, struct ngadmin *nga) {
22 unsigned short vl=0, *vlans=NULL;
23 unsigned char *ports=NULL;
24 const struct swi_attr *sa;
29 if ( (sa=ngadmin_getCurrentSwitch(nga))==NULL ) {
30 printf("must be logged\n");
36 vl=strtoul(com[0], NULL, 0);
40 ports=malloc(sa->ports*n*sizeof(unsigned char));
43 vlans=malloc(n*sizeof(unsigned short));
44 ports=malloc(sa->ports*n*sizeof(unsigned char));
45 i=ngadmin_getVLANDotAllConf(nga, vlans, ports, &n);
47 ports=malloc(sa->ports*sizeof(unsigned char));
48 i=ngadmin_getVLANDotConf(nga, vl, ports);
58 printf("Ports configuration: \n");
60 for (i=1; i<=sa->ports; ++i) {
68 printf("%u\t", vlans[i]);
69 for (j=0; j<sa->ports; ++j) {
70 printf("%c\t", vlan_char(ports[i*sa->ports+j]));
78 for (j=0; j<sa->ports; ++j) {
79 printf("%c\t", vlan_char(ports[j]));
97 bool do_vlan_mode_show (int nb UNUSED, const char **com UNUSED, struct ngadmin *nga) {
102 if ( ngadmin_getCurrentSwitch(nga)==NULL ) {
103 printf("must be logged\n");
108 if ( (i=ngadmin_getVLANType(nga, &t))!=ERR_OK ) {
114 printf("VLAN type: ");
116 case VLAN_DISABLED: printf("disabled\n"); break;
117 case VLAN_PORT_BASIC: printf("port basic\n"); break;
118 case VLAN_PORT_ADV: printf("port advanced\n"); break;
119 case VLAN_DOT_BASIC: printf("802.1Q basic\n"); break;
120 case VLAN_DOT_ADV:printf("802.1Q advanced\n");break;
121 default: printf("unknown (%i)\n", t);
133 bool do_vlan_pvid_show (int nb UNUSED, const char **com UNUSED, struct ngadmin *nga) {
135 unsigned short *ports=NULL;
136 const struct swi_attr *sa;
141 if ( (sa=ngadmin_getCurrentSwitch(nga))==NULL ) {
142 printf("must be logged\n");
147 ports=malloc(sa->ports*sizeof(unsigned short));
148 i=ngadmin_getPVID(nga, ports);
158 for (i=1; i<=sa->ports; ++i) {
164 for (i=0; i<sa->ports; ++i) {
165 printf("%u\t", ports[i]);