new id names
This commit is contained in:
parent
73df3e0528
commit
96a10549d7
4 changed files with 53 additions and 35 deletions
55
src/Lookup.h
55
src/Lookup.h
|
@ -16,19 +16,28 @@ static table rcv_lookup = { { 1, table::STRING, "type" }, //string
|
||||||
{ 7, table::STRING, "firmware_version" },
|
{ 7, table::STRING, "firmware_version" },
|
||||||
{ 8, table::STRING, "hardware_version" },
|
{ 8, table::STRING, "hardware_version" },
|
||||||
{ 9, table::DEC, "dhcp" }, //bool byte
|
{ 9, table::DEC, "dhcp" }, //bool byte
|
||||||
{ 10, table::DEC, "ports???" }, //byte, maybe number of ports
|
{ 10, table::DEC, "ports" }, //byte, maybe number of ports
|
||||||
{ 4352, table::HEX, "igmp_snooping" }, //switching
|
{ 4352, table::HEX, "igmp_snooping" }, //switching
|
||||||
{ 4096, table::HEX, "port_settings" }, //switching
|
{ 4096, table::HEX, "port_settings" }, //per port
|
||||||
{ 4608, table::HEX, "port_trunk" }, //byte[5] last byte bitmask??
|
{ 4608, table::HEX, "port_trunk" }, //byte[5] last byte bitmask??
|
||||||
{ 8192, table::HEX, "mtu_vlan" }, //byte[2] first byte bool,second byte port id
|
{ 8192, table::HEX, "mtu_vlan" }, //byte[2] first byte bool,second byte port id
|
||||||
{ 8704, table::HEX, "802.1q vlan enabled" }, //bool byte
|
{ 8448, table::HEX, "port_vlan_1" }, //???
|
||||||
{ 8705, table::HEX, "802.1q vlan" }, //one set per vlan
|
{ 8450, table::HEX, "port_vlan_2" }, //???
|
||||||
{ 8706, table::HEX, "802.1q vlan pvid" }, //????
|
{ 8704, table::HEX, "vlan enabled" }, //bool byte
|
||||||
{ 12288, table::HEX, "QoS Basic 1" }, //bool = QoS Mod
|
{ 8705, table::HEX, "vlan" }, //one set per vlan
|
||||||
{ 12289, table::HEX, "QoS Basic 2" }, //QoS
|
{ 8706, table::HEX, "vlan_pvid" }, //per port
|
||||||
|
{ 8707, table::HEX, "vlan ?????" }, //????
|
||||||
|
{ 12288, table::HEX, "qos_basic_1" }, //bool = QoS Mod
|
||||||
|
{ 12289, table::HEX, "qos_basic_2" }, //per port
|
||||||
|
{ 12544, table::HEX, "bandwidth_control_1" }, //per port
|
||||||
|
{ 12545, table::HEX, "bandwidth_control_2" }, //per port
|
||||||
|
{ 12800, table::HEX, "storm_control" }, //per port
|
||||||
{ 16640, table::HEX, "port_mirror" }, //byte[10] second byte port id??
|
{ 16640, table::HEX, "port_mirror" }, //byte[10] second byte port id??
|
||||||
{ 16384, table::HEX, "port_statistics" }, //???
|
{ 16384, table::HEX, "port_statistics" }, //per port
|
||||||
|
{ 16896, table::HEX, "cable_test" }, //per port
|
||||||
{ 17152, table::HEX, "loop_prevention" }, //bool byte
|
{ 17152, table::HEX, "loop_prevention" }, //bool byte
|
||||||
|
|
||||||
|
|
||||||
//{0000," "},
|
//{0000," "},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -37,27 +46,37 @@ static table snd_lookup = {
|
||||||
// TODO find out if id is unique in response
|
// TODO find out if id is unique in response
|
||||||
{ 2, table::HEX, "system_info" }, //page sysinfo
|
{ 2, table::HEX, "system_info" }, //page sysinfo
|
||||||
{ 9, table::HEX, "ip_config" }, //page sysinfo
|
{ 9, table::HEX, "ip_config" }, //page sysinfo
|
||||||
{ 10, table::HEX, "ports???" }, //after login
|
{ 10, table::HEX, "ports" }, //after login
|
||||||
{ 512, table::STRING, "login_user" }, //string
|
{ 512, table::STRING, "login_user" }, //string
|
||||||
{ 513, table::STRING, "new_user" }, //string
|
{ 513, table::STRING, "new_user" }, //string
|
||||||
{ 514, table::STRING, "login_password" }, //string
|
{ 514, table::STRING, "login_password" }, //string
|
||||||
{ 515, table::STRING, "new_passwoord" }, //string
|
{ 515, table::STRING, "new_passwoord" }, //string
|
||||||
{ 2200, table::HEX, "vlan" }, //vlan
|
{ 773, table::HEX, "reboot" }, //bool byte = save config
|
||||||
|
{ 1280, table::ACTION, "reset" }, //
|
||||||
|
{ 1536, table::ACTION, "flash" }, //update firmware
|
||||||
|
|
||||||
|
{ 2200, table::HEX, "vlan" }, //vlan
|
||||||
|
{ 2304, table::ACTION, "save" }, //save
|
||||||
|
{ 2305, table::ACTION, "ping" }, //sent before SET ???
|
||||||
|
|
||||||
{ 2305, table::HEX, "??? - 2305" }, //sent before login and before change hostname
|
|
||||||
|
|
||||||
{ 4352, table::HEX, "igmp_snooping" }, //switching
|
{ 4352, table::HEX, "igmp_snooping" }, //switching
|
||||||
{ 4096, table::HEX, "port_settings" }, //switching
|
{ 4096, table::HEX, "port_settings" }, //switching
|
||||||
{ 4608, table::HEX, "port_trunk" }, //byte[5] last byte bitmask??
|
{ 4608, table::HEX, "port_trunk" }, //byte[5] last byte bitmask??
|
||||||
{ 8192, table::HEX, "mtu_vlan" }, //byte[2] first byte bool, second byte port id
|
{ 8192, table::HEX, "mtu_vlan" }, //byte[2] first byte bool, second byte port id
|
||||||
{ 8449, table::HEX, "port_vlan1" }, //???
|
{ 8449, table::HEX, "port_vlan ???" }, //???
|
||||||
{ 8448, table::HEX, "port_vlan2" }, //open page
|
{ 8448, table::HEX, "port_vlan" }, //open page
|
||||||
{ 8704, table::HEX, "802.1q vlan enabled" }, //??? get vlan / set status
|
{ 8704, table::HEX, "vlan_enabled" }, //??? get vlan / set status
|
||||||
{ 8705, table::HEX, "802.1q vlan" }, //???
|
{ 8705, table::HEX, "vlan" }, // per vlan
|
||||||
{ 8706, table::HEX, "802.1q vlan pvid" }, //????
|
{ 8706, table::HEX, "vlan_pvid" }, //per port
|
||||||
|
|
||||||
|
{ 12288, table::HEX, "qos_basic_enabled" }, //bool = QoS Mod
|
||||||
|
{ 12289, table::HEX, "qos_basic" }, //per port
|
||||||
|
|
||||||
|
{ 12544, table::HEX, "bandwidth_control_1" }, //per port
|
||||||
|
{ 12545, table::HEX, "bandwidth_control_2" }, //per port
|
||||||
|
{ 12800, table::HEX, "storm_control" }, //???
|
||||||
|
|
||||||
{ 12288, table::HEX, "QoS Basic 1" }, //bool = QoS Mod
|
|
||||||
{ 12289, table::HEX, "QoS Basic 2" }, //QoS
|
|
||||||
{ 16640, table::HEX, "port_mirror" }, //byte[10] second byte port id??
|
{ 16640, table::HEX, "port_mirror" }, //byte[10] second byte port id??
|
||||||
{ 16384, table::HEX, "port_statistics" }, //???
|
{ 16384, table::HEX, "port_statistics" }, //???
|
||||||
{ 17152, table::HEX, "loop_prevention" }, //bool byte
|
{ 17152, table::HEX, "loop_prevention" }, //bool byte
|
||||||
|
|
|
@ -143,12 +143,10 @@ std::string Packet::opCodeToString() {
|
||||||
return "GET";
|
return "GET";
|
||||||
case SET:
|
case SET:
|
||||||
return "SET";
|
return "SET";
|
||||||
case LOGIN:
|
case CONFIRM:
|
||||||
return "LOGIN";
|
return "CONFIRM";
|
||||||
case RETURN:
|
case RETURN:
|
||||||
return "RETURN";
|
return "RETURN";
|
||||||
case READ5:
|
|
||||||
return "READ5";
|
|
||||||
default:
|
default:
|
||||||
return "NONE";
|
return "NONE";
|
||||||
}
|
}
|
||||||
|
|
|
@ -16,7 +16,7 @@
|
||||||
class Packet {
|
class Packet {
|
||||||
public:
|
public:
|
||||||
enum OpCode {
|
enum OpCode {
|
||||||
DISCOVERY, GET, SET, LOGIN, RETURN, READ5
|
DISCOVERY, GET, RETURN, SET, CONFIRM
|
||||||
};
|
};
|
||||||
Packet(OpCode);
|
Packet(OpCode);
|
||||||
void encode(bytes&);
|
void encode(bytes&);
|
||||||
|
|
|
@ -36,29 +36,30 @@ int printPacket(Packet p) {
|
||||||
auto lookup =
|
auto lookup =
|
||||||
(options.flags & FLAG_REVERSE) ? snd_lookup : rcv_lookup;
|
(options.flags & FLAG_REVERSE) ? snd_lookup : rcv_lookup;
|
||||||
if (lookup.exists(d.type)) {
|
if (lookup.exists(d.type)) {
|
||||||
const table::set *s = lookup.get(d.type);
|
const table::set *s = lookup.get(d.type);
|
||||||
if (d.len > 0) {
|
if (d.len > 0) {
|
||||||
switch (s->format) {
|
switch (s->format) {
|
||||||
case table::STRING:
|
case table::STRING:
|
||||||
std::cout << "+\t" << s->name << " = "
|
std::cout << "+\t" << s->name << " = " << &d.value[0]
|
||||||
<< &d.value[0] << std::dec << "\n";
|
<< "\n";
|
||||||
break;
|
break;
|
||||||
case table::HEX:
|
case table::HEX:
|
||||||
std::cout << "+\t" << s->name << " = "
|
std::cout << "+\t" << s->name << " = " << d.value
|
||||||
<< std::hex << d.value << std::dec << "\n";
|
<< "\n";
|
||||||
break;
|
break;
|
||||||
case table::DEC:
|
case table::ACTION:
|
||||||
std::cout << "+\t" << s->name << " = "
|
std::cout << "Error:" << s->name
|
||||||
<< std::dec << d.value << std::dec << "\n";
|
<< " is marked as 'action' but carries payload."
|
||||||
|
<< d.value << "\n";
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
std::cout << "+\t" << s->name << " = "
|
std::cout << "+\t" << s->name << " = " << d.value
|
||||||
<< std::hex << d.value << std::dec << "\n";
|
<< "\n";
|
||||||
}
|
}
|
||||||
} else { //empty
|
} else { //empty
|
||||||
std::cout << std::dec << ">\t" << s->name << "\n";
|
std::cout << std::dec << ">\t" << s->name << "\n";
|
||||||
}
|
}
|
||||||
} else {//unknown id
|
} else { //unknown id
|
||||||
if (d.len > 0) {
|
if (d.len > 0) {
|
||||||
std::cout << "##\t" << d.type << ":\n\t";
|
std::cout << "##\t" << d.type << ":\n\t";
|
||||||
std::cout << std::hex << d.value << std::dec << "\n";
|
std::cout << std::hex << d.value << std::dec << "\n";
|
||||||
|
@ -176,7 +177,7 @@ int Program::getProperty() {
|
||||||
datasets d =a.getPayload();
|
datasets d =a.getPayload();
|
||||||
Switch sw = Switch();
|
Switch sw = Switch();
|
||||||
sw.parse(d);
|
sw.parse(d);
|
||||||
Packet p = Packet(Packet::LOGIN);
|
Packet p = Packet(Packet::SET);
|
||||||
p.setSwitchMac(a.getSwitchMac());
|
p.setSwitchMac(a.getSwitchMac());
|
||||||
p.setHostMac(host.getMac());
|
p.setHostMac(host.getMac());
|
||||||
datasets t = { {snd_lookup["login_user"], 0, {}}};
|
datasets t = { {snd_lookup["login_user"], 0, {}}};
|
||||||
|
|
Loading…
Reference in a new issue