Coverage Report

Created: 2025-08-04 07:15

/src/wireshark/epan/dissectors/packet-ipmi-bridge.c
Line
Count
Source
1
/* packet-ipmi-bridge.c
2
 * Sub-dissectors for IPMI messages (netFn=Bridge)
3
 * Copyright 2007-2008, Alexey Neyman, Pigeon Point Systems <avn@pigeonpoint.com>
4
 *
5
 * Wireshark - Network traffic analyzer
6
 * By Gerald Combs <gerald@wireshark.org>
7
 * Copyright 1998 Gerald Combs
8
 *
9
 * SPDX-License-Identifier: GPL-2.0-or-later
10
 */
11
12
#include "config.h"
13
14
#include <epan/packet.h>
15
16
#include "packet-ipmi.h"
17
18
void proto_register_ipmi_bridge(void);
19
20
/* Bridge commands are not implemented (yet) */
21
22
23
static const ipmi_cmd_t cmd_bridge[] = {
24
  /* Bridge management commands (ICMB) */
25
  { 0x00, IPMI_TBD,   NULL, NULL, "[ICMB] Get Bridge State", 0 },
26
  { 0x01, IPMI_TBD,   NULL, NULL, "[ICMB] Set Bridge State", 0 },
27
  { 0x02, IPMI_TBD,   NULL, NULL, "[ICMB] Get ICMB Address", 0 },
28
  { 0x03, IPMI_TBD,   NULL, NULL, "[ICMB] Set ICMB Address", 0 },
29
  { 0x04, IPMI_TBD,   NULL, NULL, "[ICMB] Set Bridge Proxy Address", 0 },
30
  { 0x05, IPMI_TBD,   NULL, NULL, "[ICMB] Get Bridge Statistics", 0 },
31
  { 0x06, IPMI_TBD,   NULL, NULL, "[ICMB] Get ICMB Capabilities", 0 },
32
  { 0x08, IPMI_TBD,   NULL, NULL, "[ICMB] Clear Bridge Statistics", 0 },
33
  { 0x09, IPMI_TBD,   NULL, NULL, "[ICMB] Get Bridge Proxy Address", 0 },
34
  { 0x0a, IPMI_TBD,   NULL, NULL, "[ICMB] Get ICMB Connector Info", 0 },
35
  { 0x0b, IPMI_TBD,   NULL, NULL, "[ICMB] Get ICMB Connection ID", 0 },
36
  { 0x0c, IPMI_TBD,   NULL, NULL, "[ICMB] Send ICMB Connection ID", 0 },
37
38
  /* Discovery Commands (ICMB) */
39
  { 0x10, IPMI_TBD,   NULL, NULL, "[ICMB] Prepare For Discovery", 0 },
40
  { 0x11, IPMI_TBD,   NULL, NULL, "[ICMB] Get Addresses", 0 },
41
  { 0x12, IPMI_TBD,   NULL, NULL, "[ICMB] Set Discovered", 0 },
42
  { 0x13, IPMI_TBD,   NULL, NULL, "[ICMB] Get Chassis Device ID", 0 },
43
  { 0x14, IPMI_TBD,   NULL, NULL, "[ICMB] Set Chassis Device ID", 0 },
44
45
  /* Bridging Commands (ICMB) */
46
  { 0x20, IPMI_TBD,   NULL, NULL, "[ICMB] Bridge Request", 0 },
47
  { 0x21, IPMI_TBD,   NULL, NULL, "[ICMB] Bridge Message", 0 },
48
49
  /* Event Commands (ICMB) */
50
  { 0x30, IPMI_TBD,   NULL, NULL, "[ICMB] Get Event Count", 0 },
51
  { 0x31, IPMI_TBD,   NULL, NULL, "[ICMB] Set Event Destination", 0 },
52
  { 0x32, IPMI_TBD,   NULL, NULL, "[ICMB] Set Event Reception State", 0 },
53
  { 0x33, IPMI_TBD,   NULL, NULL, "[ICMB] Send ICMB Event Message", 0 },
54
  { 0x34, IPMI_TBD,   NULL, NULL, "[ICMB] Get Event Destination", 0 },
55
  { 0x35, IPMI_TBD,   NULL, NULL, "[ICMB] Get Event Reception State", 0 },
56
57
  /* OEM Commands for Bridge NetFn */
58
  { 0xc0, IPMI_TBD,   NULL, NULL, "[ICMB] OEM Command", 0 },
59
  { 0xc1, IPMI_TBD,   NULL, NULL, "[ICMB] OEM Command", 0 },
60
  { 0xc2, IPMI_TBD,   NULL, NULL, "[ICMB] OEM Command", 0 },
61
  { 0xc3, IPMI_TBD,   NULL, NULL, "[ICMB] OEM Command", 0 },
62
  { 0xc4, IPMI_TBD,   NULL, NULL, "[ICMB] OEM Command", 0 },
63
  { 0xc5, IPMI_TBD,   NULL, NULL, "[ICMB] OEM Command", 0 },
64
  { 0xc6, IPMI_TBD,   NULL, NULL, "[ICMB] OEM Command", 0 },
65
  { 0xc7, IPMI_TBD,   NULL, NULL, "[ICMB] OEM Command", 0 },
66
  { 0xc8, IPMI_TBD,   NULL, NULL, "[ICMB] OEM Command", 0 },
67
  { 0xc9, IPMI_TBD,   NULL, NULL, "[ICMB] OEM Command", 0 },
68
  { 0xca, IPMI_TBD,   NULL, NULL, "[ICMB] OEM Command", 0 },
69
  { 0xcb, IPMI_TBD,   NULL, NULL, "[ICMB] OEM Command", 0 },
70
  { 0xcc, IPMI_TBD,   NULL, NULL, "[ICMB] OEM Command", 0 },
71
  { 0xcd, IPMI_TBD,   NULL, NULL, "[ICMB] OEM Command", 0 },
72
  { 0xce, IPMI_TBD,   NULL, NULL, "[ICMB] OEM Command", 0 },
73
  { 0xcf, IPMI_TBD,   NULL, NULL, "[ICMB] OEM Command", 0 },
74
  { 0xd0, IPMI_TBD,   NULL, NULL, "[ICMB] OEM Command", 0 },
75
  { 0xd1, IPMI_TBD,   NULL, NULL, "[ICMB] OEM Command", 0 },
76
  { 0xd2, IPMI_TBD,   NULL, NULL, "[ICMB] OEM Command", 0 },
77
  { 0xd3, IPMI_TBD,   NULL, NULL, "[ICMB] OEM Command", 0 },
78
  { 0xd4, IPMI_TBD,   NULL, NULL, "[ICMB] OEM Command", 0 },
79
  { 0xd5, IPMI_TBD,   NULL, NULL, "[ICMB] OEM Command", 0 },
80
  { 0xd6, IPMI_TBD,   NULL, NULL, "[ICMB] OEM Command", 0 },
81
  { 0xd7, IPMI_TBD,   NULL, NULL, "[ICMB] OEM Command", 0 },
82
  { 0xd8, IPMI_TBD,   NULL, NULL, "[ICMB] OEM Command", 0 },
83
  { 0xd9, IPMI_TBD,   NULL, NULL, "[ICMB] OEM Command", 0 },
84
  { 0xda, IPMI_TBD,   NULL, NULL, "[ICMB] OEM Command", 0 },
85
  { 0xdb, IPMI_TBD,   NULL, NULL, "[ICMB] OEM Command", 0 },
86
  { 0xdc, IPMI_TBD,   NULL, NULL, "[ICMB] OEM Command", 0 },
87
  { 0xdd, IPMI_TBD,   NULL, NULL, "[ICMB] OEM Command", 0 },
88
  { 0xde, IPMI_TBD,   NULL, NULL, "[ICMB] OEM Command", 0 },
89
  { 0xdf, IPMI_TBD,   NULL, NULL, "[ICMB] OEM Command", 0 },
90
  { 0xe0, IPMI_TBD,   NULL, NULL, "[ICMB] OEM Command", 0 },
91
  { 0xe1, IPMI_TBD,   NULL, NULL, "[ICMB] OEM Command", 0 },
92
  { 0xe2, IPMI_TBD,   NULL, NULL, "[ICMB] OEM Command", 0 },
93
  { 0xe3, IPMI_TBD,   NULL, NULL, "[ICMB] OEM Command", 0 },
94
  { 0xe4, IPMI_TBD,   NULL, NULL, "[ICMB] OEM Command", 0 },
95
  { 0xe5, IPMI_TBD,   NULL, NULL, "[ICMB] OEM Command", 0 },
96
  { 0xe6, IPMI_TBD,   NULL, NULL, "[ICMB] OEM Command", 0 },
97
  { 0xe7, IPMI_TBD,   NULL, NULL, "[ICMB] OEM Command", 0 },
98
  { 0xe8, IPMI_TBD,   NULL, NULL, "[ICMB] OEM Command", 0 },
99
  { 0xe9, IPMI_TBD,   NULL, NULL, "[ICMB] OEM Command", 0 },
100
  { 0xea, IPMI_TBD,   NULL, NULL, "[ICMB] OEM Command", 0 },
101
  { 0xeb, IPMI_TBD,   NULL, NULL, "[ICMB] OEM Command", 0 },
102
  { 0xec, IPMI_TBD,   NULL, NULL, "[ICMB] OEM Command", 0 },
103
  { 0xed, IPMI_TBD,   NULL, NULL, "[ICMB] OEM Command", 0 },
104
  { 0xee, IPMI_TBD,   NULL, NULL, "[ICMB] OEM Command", 0 },
105
  { 0xef, IPMI_TBD,   NULL, NULL, "[ICMB] OEM Command", 0 },
106
  { 0xf0, IPMI_TBD,   NULL, NULL, "[ICMB] OEM Command", 0 },
107
  { 0xf1, IPMI_TBD,   NULL, NULL, "[ICMB] OEM Command", 0 },
108
  { 0xf2, IPMI_TBD,   NULL, NULL, "[ICMB] OEM Command", 0 },
109
  { 0xf3, IPMI_TBD,   NULL, NULL, "[ICMB] OEM Command", 0 },
110
  { 0xf4, IPMI_TBD,   NULL, NULL, "[ICMB] OEM Command", 0 },
111
  { 0xf5, IPMI_TBD,   NULL, NULL, "[ICMB] OEM Command", 0 },
112
  { 0xf6, IPMI_TBD,   NULL, NULL, "[ICMB] OEM Command", 0 },
113
  { 0xf7, IPMI_TBD,   NULL, NULL, "[ICMB] OEM Command", 0 },
114
  { 0xf8, IPMI_TBD,   NULL, NULL, "[ICMB] OEM Command", 0 },
115
  { 0xf9, IPMI_TBD,   NULL, NULL, "[ICMB] OEM Command", 0 },
116
  { 0xfa, IPMI_TBD,   NULL, NULL, "[ICMB] OEM Command", 0 },
117
  { 0xfb, IPMI_TBD,   NULL, NULL, "[ICMB] OEM Command", 0 },
118
  { 0xfc, IPMI_TBD,   NULL, NULL, "[ICMB] OEM Command", 0 },
119
  { 0xfd, IPMI_TBD,   NULL, NULL, "[ICMB] OEM Command", 0 },
120
  { 0xfe, IPMI_TBD,   NULL, NULL, "[ICMB] OEM Command", 0 },
121
122
  /* Other Bridge Commands */
123
  { 0xff, IPMI_TBD,   NULL, NULL, "[ICMB] Error Report", 0 },
124
};
125
126
void
127
proto_register_ipmi_bridge(void)
128
14
{
129
14
  ipmi_register_netfn_cmdtab(IPMI_BRIDGE_REQ, IPMI_OEM_NONE, NULL, 0, NULL,
130
14
                             cmd_bridge, array_length(cmd_bridge));
131
14
}
132
133
/*
134
 * Editor modelines  -  https://www.wireshark.org/tools/modelines.html
135
 *
136
 * Local Variables:
137
 * c-basic-offset: 2
138
 * tab-width: 8
139
 * indent-tabs-mode: nil
140
 * End:
141
 *
142
 * ex: set shiftwidth=2 tabstop=8 expandtab:
143
 * :indentSize=2:tabSize=8:noTabs=true:
144
 */