int n, m, o;
if (elem == 1) {
+ printf(" vlan [show|enable|show|add|del|assign|revoke] \n");
+ return;
+ }
+ if (strncmp(argv[1], "enable", 6) == 0) {
+ password();
+ printError(gs105e_vlanEnable());
return;
}
+
+ if (settings.vlanType != 4) {
+ printf("Type vlan enable once to configure vlan\n");
+ return;
+ }
+
if (strncmp(argv[1], "show", 4) == 0) {
struct vlan * vl = settings.vlans;
printf("Invalid Port ID\n");
return;
}
-
+ o = m;
m = (0x80 >> ((m & 0xFF) - 1)) | (int)vl->members;
-
+ printf("%i %i\n", (int)vl->tag, (unsigned int)(~((unsigned char)m)));
if (strncmp(argv[4], "T", 1) == 0) {
- o = (int)vl->tag | m;
+ o = (int)vl->tag | (0x80 >> ((o & 0xFF) - 1));
}else if (strncmp(argv[4], "U", 1) == 0) {
- o = (int)vl->tag &(~((char)m));
+ o = (int)vl->tag &(~((0x80 >> ((o & 0xFF) - 1))));
}
password();
printError(gs105e_setVlanMembers(n, m, o));