2 * Sub-dissectors for IPMI messages (netFn=OEM/Group, defining body = PPS)
3 * Copyright 2007-2008, Alexey Neyman, Pigeon Point Systems <avn@pigeonpoint.com>
5 * Wireshark - Network traffic analyzer
6 * By Gerald Combs <gerald@wireshark.org>
7 * Copyright 1998 Gerald Combs
9 * SPDX-License-Identifier: GPL-2.0-or-later
14 #include <epan/packet.h>
16 #include "packet-ipmi.h"
18 void proto_register_ipmi_pps(void);
20 static const ipmi_cmd_t cmd_pps
[] = {
21 { 0x00, IPMI_TBD
, NULL
, NULL
, "[PPS OEM] Get Status", 0 },
22 { 0x01, IPMI_TBD
, NULL
, NULL
, "[PPS OEM] Get Serial Interface Properties", 0 },
23 { 0x02, IPMI_TBD
, NULL
, NULL
, "[PPS OEM] Set Serial Interface Properties", 0 },
24 { 0x03, IPMI_TBD
, NULL
, NULL
, "[PPS OEM] Get Debug Level", 0 },
25 { 0x04, IPMI_TBD
, NULL
, NULL
, "[PPS OEM] Set Debug Level", 0 },
26 { 0x05, IPMI_TBD
, NULL
, NULL
, "[PPS OEM] Get Hardware Address", 0 },
27 { 0x06, IPMI_TBD
, NULL
, NULL
, "[PPS OEM] Set Hardware Address", 0 },
28 { 0x07, IPMI_TBD
, NULL
, NULL
, "[PPS OEM] Get Handle Switch", 0 },
29 { 0x08, IPMI_TBD
, NULL
, NULL
, "[PPS OEM] Set Handle Switch", 0 },
30 { 0x09, IPMI_TBD
, NULL
, NULL
, "[PPS OEM] Get Payload Communication Timeout", 0 },
31 { 0x0a, IPMI_TBD
, NULL
, NULL
, "[PPS OEM] Set Payload Communication Timeout", 0 },
32 { 0x0b, IPMI_TBD
, NULL
, NULL
, "[PPS OEM] Enable Payload Control", 0 },
33 { 0x0c, IPMI_TBD
, NULL
, NULL
, "[PPS OEM] Disable Payload Control", 0 },
34 { 0x0d, IPMI_TBD
, NULL
, NULL
, "[PPS OEM] Reset IPMC", 0 },
35 { 0x0e, IPMI_TBD
, NULL
, NULL
, "[PPS OEM] Hang IPMC", 0 },
36 { 0x0f, IPMI_TBD
, NULL
, NULL
, "[PPS OEM] Bused Resource Control", 0 },
37 { 0x10, IPMI_TBD
, NULL
, NULL
, "[PPS OEM] Bused Resource Status", 0 },
38 { 0x11, IPMI_TBD
, NULL
, NULL
, "[PPS OEM] Graceful Reset", 0 },
39 { 0x12, IPMI_TBD
, NULL
, NULL
, "[PPS OEM] Diagnostic Interrupt Results", 0 },
40 { 0x13, IPMI_TBD
, NULL
, NULL
, "[PPS OEM] Set/Clear Telco Alarm", 0 },
41 { 0x14, IPMI_TBD
, NULL
, NULL
, "[PPS OEM] Get Telco Alarm Sensor Number", 0 },
42 { 0x15, IPMI_TBD
, NULL
, NULL
, "[PPS OEM] Get Payload Shutdown Timeout", 0 },
43 { 0x16, IPMI_TBD
, NULL
, NULL
, "[PPS OEM] Set Payload Shutdown Timeout", 0 },
44 { 0x17, IPMI_TBD
, NULL
, NULL
, "[PPS OEM] Switch over Serial Debug", 0 },
45 { 0x18, IPMI_TBD
, NULL
, NULL
, "[PPS OEM] Set Local FRU LED State", 0 },
46 { 0x19, IPMI_TBD
, NULL
, NULL
, "[PPS OEM] Get Local FRU LED State", 0 },
47 { 0x1a, IPMI_TBD
, NULL
, NULL
, "[PPS OEM] Update Discrete Sensor", 0 },
48 { 0x1b, IPMI_TBD
, NULL
, NULL
, "[PPS OEM] Update Threshold Sensor", 0 },
49 { 0x1c, IPMI_TBD
, NULL
, NULL
, "[PPS OEM] BTI Script Prepare", 0 },
50 { 0x1d, IPMI_TBD
, NULL
, NULL
, "[PPS OEM] BTI Script Write", 0 },
51 { 0x1e, IPMI_TBD
, NULL
, NULL
, "[PPS OEM] BTI Script Complete", 0 },
52 { 0x1f, IPMI_TBD
, NULL
, NULL
, "[PPS OEM] BTI Script Start", 0 },
53 { 0x20, IPMI_TBD
, NULL
, NULL
, "[PPS OEM] BTI Script Stop", 0 },
54 { 0x21, IPMI_TBD
, NULL
, NULL
, "[PPS OEM] BTI Script Resume", 0 },
55 { 0x22, IPMI_TBD
, NULL
, NULL
, "[PPS OEM] BTI Script Cease", 0 },
56 { 0x23, IPMI_TBD
, NULL
, NULL
, "[PPS OEM] BTI Sensor Set", 0 },
57 { 0x24, IPMI_TBD
, NULL
, NULL
, "[PPS OEM] BTI Notify", 0 },
58 { 0x25, IPMI_TBD
, NULL
, NULL
, "[PPS OEM] BTI Get FRU State", 0 },
59 { 0x26, IPMI_TBD
, NULL
, NULL
, "[PPS OEM] BTI Invalidate Hardware Address", 0 },
60 { 0x27, IPMI_TBD
, NULL
, NULL
, "[PPS OEM] Get Module Status", 0 },
61 { 0x28, IPMI_TBD
, NULL
, NULL
, "[PPS OEM] Enable AMC Site", 0 },
62 { 0x29, IPMI_TBD
, NULL
, NULL
, "[PPS OEM] Disable AMC Site", 0 },
63 { 0x2a, IPMI_TBD
, NULL
, NULL
, "[PPS OEM] BTI Wait for Payload Notify", 0 },
64 { 0x2b, IPMI_TBD
, NULL
, NULL
, "[PPS OEM] Set Test Flags", 0 },
65 { 0x2c, IPMI_TBD
, NULL
, NULL
, "[PPS OEM] Get Geographic Address", 0 },
66 { 0x2d, IPMI_TBD
, NULL
, NULL
, "[PPS OEM] Set Geographic Address", 0 },
67 { 0x30, IPMI_TBD
, NULL
, NULL
, "[PPS OEM] Set EEPROM Sensor Data", 0 },
68 { 0x31, IPMI_TBD
, NULL
, NULL
, "[PPS OEM] Set EEPROM Sensor Hysteresis", 0 },
69 { 0x32, IPMI_TBD
, NULL
, NULL
, "[PPS OEM] Set EEPROM Sensor Threshold", 0 },
70 { 0x33, IPMI_TBD
, NULL
, NULL
, "[PPS OEM] Reset EEPROM SDR Repository", 0 },
71 { 0x34, IPMI_TBD
, NULL
, NULL
, "[PPS OEM] Backend Power Control", 0 },
72 { 0x35, IPMI_TBD
, NULL
, NULL
, "[PPS OEM] Read CPLD Register", 0 },
73 { 0x36, IPMI_TBD
, NULL
, NULL
, "[PPS OEM] Write CPLD Register", 0 },
74 { 0x37, IPMI_TBD
, NULL
, NULL
, "[PPS OEM] Calibrate A2F Temperature Sensor", 0 },
75 { 0x38, IPMI_TBD
, NULL
, NULL
, "[PPS OEM] Get GPIO Signal State", 0 },
76 { 0x39, IPMI_TBD
, NULL
, NULL
, "[PPS OEM] Set GPIO Signal State", 0 },
77 { 0x40, IPMI_TBD
, NULL
, NULL
, "[PPS OEM] Sensor AFS Dump MBX Page", 0 },
78 { 0x41, IPMI_TBD
, NULL
, NULL
, "[PPS OEM] Reset Non-Volatile Parameters and Reboot", 0 },
79 { 0x42, IPMI_TBD
, NULL
, NULL
, "[PPS OEM] Dump Profiling Data", 0 },
80 { 0x43, IPMI_TBD
, NULL
, NULL
, "[PPS OEM] Get FPGA Design Version", 0 },
81 { 0x44, IPMI_TBD
, NULL
, NULL
, "[PPS OEM] Get IPMB Trace Mask", 0 },
82 { 0x45, IPMI_TBD
, NULL
, NULL
, "[PPS OEM] Set IPMB Trace Mask", 0 },
83 { 0x46, IPMI_TBD
, NULL
, NULL
, "[PPS OEM] Get PWM DAC Level", 0 },
84 { 0x47, IPMI_TBD
, NULL
, NULL
, "[PPS OEM] Set PWM DAC Level", 0 },
85 { 0x48, IPMI_TBD
, NULL
, NULL
, "[PPS OEM] Get FRU Info Write-Protect State", 0 },
86 { 0x49, IPMI_TBD
, NULL
, NULL
, "[PPS OEM] Set FRU Info Write-Protect State", 0 }
90 proto_register_ipmi_pps(void)
92 static uint8_t sig_pps
[3] = { 0x0a, 0x40, 0x00 };
93 static uint8_t sig_pps_rev
[3] = { 0x00, 0x40, 0x0a };
95 ipmi_register_netfn_cmdtab(IPMI_OEM_REQ
, IPMI_OEM_NONE
, sig_pps
, 3,
96 "Pigeon Point Systems", cmd_pps
, array_length(cmd_pps
));
97 ipmi_register_netfn_cmdtab(IPMI_OEM_REQ
, IPMI_OEM_NONE
, sig_pps_rev
, 3,
98 "Pigeon Point Systems (reversed)", cmd_pps
, array_length(cmd_pps
));
102 * Editor modelines - https://www.wireshark.org/tools/modelines.html
107 * indent-tabs-mode: t
110 * vi: set shiftwidth=8 tabstop=8 noexpandtab:
111 * :indentSize=8:tabSize=8:noTabs=false: