Wireshark  2.9.0-477-g68ec514b
The Wireshark network protocol analyzer
packet-docsis-tlv.h
1 /* packet-tlv.h
2  * Contains Definitions for Configuration types
3  * Copyright 2002, Anand V. Narwani <anand[AT]narwani.org>
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 
13 /* Define Top Level TLV Types
14  * Please see http://www.cablemodem.com/Specs/SP-RFIv1.1-I08-020301.pdf
15  * Appendix C.
16  */
17 #ifndef __PACKET_TLV_H__
18 #define __PACKET_TLV_H__
19 #define TLV_DOWN_FREQ 1
20 #define TLV_CHNL_ID 2
21 #define TLV_NET_ACCESS 3
22 #define TLV_COS 4
23 #define TLV_MODEM_CAP 5
24 #define TLV_CM_MIC 6
25 #define TLV_CMTS_MIC 7
26 #define TLV_VENDOR_ID 8
27 #define TLV_SW_UPG_FILE 9
28 #define TLV_SNMP_WRITE_CTRL 10
29 #define TLV_SNMP_OBJECT 11
30 #define TLV_MODEM_IP 12
31 #define TLV_SVC_UNAVAIL 13
32 #define TLV_ETHERNET_MAC 14
33 #define TLV_TEL_SETTINGS 15
34 #define TLV_BPI_CONFIG 17
35 #define TLV_MAX_CPES 18
36 #define TLV_TFTP_TIME 19
37 #define TLV_TFTP_MODEM_ADDRESS 20
38 #define TLV_SW_UPG_SRVR 21
39 #define TLV_UPSTREAM_CLASSIFIER 22
40 #define TLV_DOWN_CLASSIFIER 23
41 #define TLV_UPSTREAM_SERVICE_FLOW 24
42 #define TLV_DOWN_SERVICE_FLOW 25
43 #define TLV_PHS 26
44 #define TLV_HMAC_DIGEST 27
45 #define TLV_MAX_CLASSIFIERS 28
46 #define TLV_PRIVACY_ENABLE 29
47 #define TLV_AUTH_BLOCK 30
48 #define TLV_KEY_SEQ_NUM 31
49 #define TLV_MFGR_CVC 32
50 #define TLV_COSIGN_CVC 33
51 #define TLV_SNMPV3_KICKSTART 34
52 #define TLV_SUBS_MGMT_CTRL 35
53 #define TLV_SUBS_MGMT_CPE 36
54 #define TLV_SUBS_MGMT_FLTR 37
55 #define TLV_SNMPV3_NTFY_RCVR 38
56 #define TLV_ENABLE_20_MODE 39
57 #define TLV_ENABLE_TEST_MODES 40
58 #define TLV_DS_CH_LIST 41
59 #define TLV_MC_MAC_ADDRESS 42
60 #define TLV_VENDOR_SPEC 43 /* Vendor Specific is actually 44 ? */
61 #define TLV_DUT_FILTER 45
62 #define TLV_TCC 46
63 #define TLV_SID_CL 47
64 #define TLV_RCP 48
65 #define TLV_RCC 49
66 #define TLV_DSID 50
67 #define TLV_SEC_ASSOC 51
68 #define TLV_INIT_CH_TIMEOUT 52
69 #define TLV_SNMPV1V2_COEX 53
70 #define TLV_SNMPV3_ACC_VIEW 54
71 #define TLV_SNMP_CPE_ACC_CTRL 55
72 #define TLV_CH_ASGN 56
73 #define TLV_CM_INIT_REASON 57
74 #define TLV_SW_UPG_SRVR_IPV6 58
75 #define TLV_TFTP_PROV_CM_IPV6_ADDR 59
76 #define TLV_US_DROP_CLFY 60
77 #define TLV_SUBS_MGMT_IPV6_LST 61
78 #define TLV_US_DROP_CLFY_GROUP_ID 62
79 #define TLV_SUBS_MGMT_CTRL_MAX_CPE_IPV6 63
80 #define TLV_CMTS_MC_SESS_ENC 64
81 #define TLV_L2VPN_MAC_AGING 65
82 #define TLV_MGMT_EVENT_CTRL 66
83 #define TLV_END 255
84 
85 /* Define DOCSIS 1.0 Class Of Service Configuration Types
86  * These are subtypes of TLV_COS (4)
87  */
88 #define COS_CLASSID 1
89 #define COS_MAX_DOWN 2
90 #define COS_MAX_UP 3
91 #define COS_UP_CH_PRIO 4
92 #define COS_MIN_UP_RATE 5
93 #define COS_MAX_UP_BURST 6
94 #define COS_BP_ENABLE 7
95 
96 /* Define SNMPV3 KickStart subtypes
97  * These are subtypes of TLV_SNMPV3_KICKSTART (34)
98  */
99 #define SNMPV3_SEC_NAME 1
100 #define SNMPV3_MGR_PUB_NUM 2
101 
102 /* Define Modem Capabilities Subtypes
103  * These are subtypes of TLV_MODEM_CAP (5)
104  */
105 #define CAP_CONCAT 1
106 #define CAP_DOCSIS_VER 2
107 #define CAP_FRAG 3
108 #define CAP_PHS 4
109 #define CAP_IGMP 5
110 #define CAP_PRIVACY 6
111 #define CAP_DOWN_SAID 7
112 #define CAP_UP_SID 8
113 #define CAP_OPT_FILT 9
114 #define CAP_XMIT_EQPERSYM 10
115 #define CAP_NUM_XMIT_EQ_TAPS 11
116 #define CAP_DCC 12
117 #define CAP_IP_FILTERS 13
118 #define CAP_LLC_FILTERS 14
119 #define CAP_EXP_UNICAST_SID 15
120 #define CAP_RNG_HOFF 16
121 #define CAP_L2VPN 17
122 #define CAP_L2VPN_ESAFE 18
123 #define CAP_DUT_FILTERING 19
124 #define CAP_US_FREQ_RNG 20
125 #define CAP_US_SRATE 21
126 #define CAP_SAC 22
127 #define CAP_CODE_HOP_M2 23
128 #define CAP_MTC 24
129 #define CAP_512_MSPS_UTC 25
130 #define CAP_256_MSPS_UTC 26
131 #define CAP_TOTAL_SID_CLUST 27
132 #define CAP_SID_PER_SF 28
133 #define CAP_MRC 29
134 #define CAP_TOTAL_DSID 30
135 #define CAP_RESEQ_DSID 31
136 #define CAP_MC_DSID 32
137 #define CAP_MC_DSID_FWD 33
138 #define CAP_FCTYPE_FWD 34
139 #define CAP_DPV 35
140 #define CAP_UGS 36
141 #define CAP_MAP_UCD 37
142 #define CAP_UDC 38
143 #define CAP_IPV6 39
144 #define CAP_EXT_US_TRNS_PWR 40
145 #define CAP_EM 44
146 #define CAP_CM_STATUS_ACK 46
147 
148 /* Define Classifier subtypes
149  * These are subtypes of either:
150  * TLV_UPSTREAM_CLASSIFIER (22)
151  * TLV_DOWN_CLASSIFIER (23)
152  */
153 #define CFR_REF 1
154 #define CFR_ID 2
155 #define CFR_SFLOW_REF 3
156 #define CFR_SFLOW_ID 4
157 #define CFR_RULE_PRI 5
158 #define CFR_ACT_STATE 6
159 #define CFR_DSA_ACTION 7
160 #define CFR_ERROR 8
161 #define CFR_IP_CLASSIFIER 9
162 #define CFR_ETH_CLASSIFIER 10
163 #define CFR_8021Q_CLASSIFIER 11
164 #define CFR_IP6_CLASSIFIER 12
165 #define CFR_VENDOR_SPEC 43
166 
167 /* Define Classifier Error sub-subtypes
168  * These are subtypes of CFR_ERROR ([22/23].8)
169  */
170 #define CFR_ERR_PARAM 1
171 #define CFR_ERR_CODE 2
172 #define CFR_ERR_MSG 3
173 
174 /* Define IP Classifier sub-subtypes
175  * These are subtypes of CFR_IP_CLASSIFIER ([22/23].9)
176  */
177 #define CFR_IP_TOS_RANGE_MASK 1
178 #define CFR_IP_PROTO 2
179 #define CFR_IP_SOURCE_ADDR 3
180 #define CFR_IP_SOURCE_MASK 4
181 #define CFR_IP_DEST_ADDR 5
182 #define CFR_IP_DEST_MASK 6
183 #define CFR_IP_SRCPORT_START 7
184 #define CFR_IP_SRCPORT_END 8
185 #define CFR_IP_DSTPORT_START 9
186 #define CFR_IP_DSTPORT_END 10
187 
188 /* Define IPv6 Classifier sub-subtypes
189  * These are subtypes of CFR_IP_CLASSIFIER ([22/23].12)
190  */
191 #define CFR_IP6_TRAFFIC_CLASS 1
192 #define CFR_IP6_FLOW_LABEL 2
193 #define CFR_IP6_NEXT_HEADER 3
194 #define CFR_IP6_SOURCE_ADDR 4
195 #define CFR_IP6_SOURCE_PREFIX_LENGTH 5
196 #define CFR_IP6_DESTINATION_ADDR 6
197 #define CFR_IP6_DESTINATION_PREFIX_LENGTH 7
198 
199 /* Define Ethertype Classifier sub-subtypes
200  * These are subtypes of CFR_ETH_CLASSIFIER ([22/23].10)
201  */
202 #define CFR_ETH_DST_MAC 1
203 #define CFR_ETH_SRC_MAC 2
204 #define CFR_ETH_DSAP 3
205 
206 /* Define 802.1P/Q Classifier sub-subtypes
207  * These are subtypes of CFR_8021Q_CLASSIFIER ([22/23].11)
208  */
209 #define CFR_D1Q_USER_PRI 1
210 #define CFR_D1Q_VLAN_ID 2
211 #define CFR_D1Q_VENDOR_SPEC 43
212 
213 /* Define Upstream/Downstream Service flow subtypes
214  * These are subtypes of:
215  * TLV_UPSTREAM_SERVICE_FLOW (24)
216  * TLV_DOWN_SERVICE_FLOW (25)
217  */
218 #define SFW_REF 1
219 #define SFW_ID 2
220 #define SFW_SID 3
221 #define SFW_SERVICE_CLASS_NAME 4
222 #define SFW_ERRORS 5
223 #define SFW_QOS_SET_TYPE 6
224 #define SFW_TRAF_PRI 7
225 #define SFW_MAX_SUSTAINED 8
226 #define SFW_MAX_BURST 9
227 #define SFW_MIN_RSVD_TRAF 10
228 #define SFW_MIN_RSVD_PACKETSIZE 11
229 #define SFW_ACTIVE_QOS_TIMEOUT 12
230 #define SFW_ADMITT_QOS_TIMEOUT 13
231 #define SFW_REQUIRED_ATTRIBUTE_MASK 31
232 #define SFW_FORBIDDEN_ATTRIBUTE_MASK 32
233 #define SFW_ATTRIBUTE_AGGREGATION_RULE_MASK 33
234 #define SFW_VENDOR_SPEC 43
235 /* The following types only apply to
236  * TLV_UPSTREAM_SERVICE_FLOW (24)
237  */
238 #define SFW_MAX_CONCAT_BURST 14
239 #define SFW_SCHEDULING_TYPE 15
240 #define SFW_REQ_XMIT_POL 16
241 #define SFW_NOM_POLL_INT 17
242 #define SFW_POLL_JTTR_TOL 18
243 #define SFW_UG_SIZE 19
244 #define SFW_NOM_GRNT_INTV 20
245 #define SFW_GRNT_JTTR_TOL 21
246 #define SFW_GRNTS_PER_INTV 22
247 #define SFW_IP_TOS_OVERWRITE 23
248 #define SFW_UG_TIME_REF 24
249 
250 /* The following types only apply to
251  * TLV_DOWN_SERVICE_FLOW (25)
252  */
253 #define SFW_MAX_DOWN_LAT 14
254 
255 /* Define Service Flow Error sub-subtypes
256  * These are subtypes of
257  * SFW_ERRORS ([24/25].5)
258  */
259 #define SFW_ERR_PARAM 1
260 #define SFW_ERR_CODE 2
261 #define SFW_ERR_MSG 3
262 
263 
264 /* Define Payload Header Supression subtypes
265  * These are subtypes of TLV_PHS (26)
266  */
267 #define PHS_CLSFR_REF 1
268 #define PHS_CLSFR_ID 2
269 #define PHS_SFLOW_REF 3
270 #define PHS_SFLOW_ID 4
271 #define PHS_DSC_ACTION 5
272 #define PHS_ERRORS 6
273 #define PHS_FIELD 7
274 #define PHS_INDEX 8
275 #define PHS_MASK 9
276 #define PHS_SUP_SIZE 10
277 #define PHS_VERIFICATION 11
278 #define PHS_VENDOR_SPEC 43
279 
280 /* Define PHS Error sub-subtypes
281  * These are subtypes of PHS_ERRORS (26.6)
282  */
283 #define PHS_ERR_PARAM 1
284 #define PHS_ERR_CODE 2
285 #define PHS_ERR_MSG 3
286 
287 
288 /* Define DS Channel List sub-types
289  * These are subtypes of TLV_DS_CHANNEL_LIST (41)
290  */
291 #define DS_CH_LIST_SINGLE 1
292 #define DS_CH_LIST_RANGE 2
293 #define DS_CH_LIST_DEFAULT_TIMEOUT 3
294 
295 /* Define Singe Downstream Channel sub-types
296  * These are subtypes of DS_CH_LIST_SINGLE (41.1)
297  */
298 #define SINGLE_CH_TIMEOUT 1
299 #define SINGLE_CH_FREQ 2
300 
301 /* Define Singe Downstream Channel sub-types
302  * These are subtypes of DS_CH_LIST_RANGE (41.2)
303  */
304 #define FREQ_RNG_TIMEOUT 1
305 #define FREQ_RNG_START 2
306 #define FREQ_RNG_END 3
307 #define FREQ_RNG_STEP 4
308 
309 /* Define DUT sub-types
310  * These are subtypes of TLV_DUT_FILTER (45)
311  */
312 #define DUT_CONTROL 1
313 #define DUT_CMIM 2
314 
315 /* Define TCC sub-types
316  * These are subtypes of TLV_TCC (46)
317  */
318 #define TLV_TCC_REFID 1
319 #define TLV_TCC_US_CH_ACTION 2
320 #define TLV_TCC_US_CH_ID 3
321 #define TLV_TCC_NEW_US_CH_ID 4
322 #define TLV_TCC_UCD 5
323 #define TLV_TCC_RNG_SID 6
324 #define TLV_TCC_INIT_TECH 7
325 #define TLV_TCC_RNG_PARMS 8
326 #define TLV_TCC_DYN_RNG_WIN 9
327 #define TLV_TCC_ERR 254
328 
329 /* Define TLV_TCC_RNG_PARMS sub-types
330  * These are subtypes of TLV_TCC_RNG_PARMS (46.8)
331  */
332 #define RNG_PARMS_US_CH_ID 1
333 #define RNG_PARMS_TIME_OFF_INT 2
334 #define RNG_PARMS_TIME_OFF_FRAC 3
335 #define RNG_PARMS_POWER_OFF 4
336 #define RNG_PARMS_FREQ_OFF 5
337 
338 /* Define TLV_TCC_ERR sub-types
339  * These are subtypes of TLV_TCC_ERR (46.254)
340  */
341 #define TCC_ERR_SUBTYPE 1
342 #define TCC_ERR_CODE 2
343 #define TCC_ERR_MSG 3
344 
345 /* Define TLV_SID_CLUSTER sub-types
346  * These are subtypes of TLV_SID_CLUSTER (47)
347  */
348 #define SID_CL_SF_ID 1
349 #define SID_CL_ENC 2
350 #define SID_CL_SO_CRIT 3
351 
352 /* Define SID_CL_ENC sub-types
353  * These are subtypes of SID_CL_ENC (47.2)
354  */
355 #define SID_CL_ENC_ID 1
356 #define SID_CL_ENC_MAP 2
357 
358 /* Define SID_CL_ENC_MAP sub-types
359  * These are subtypes of SID_CL_ENC_MAP (47.2.2)
360  */
361 #define SID_CL_MAP_US_CH_ID 1
362 #define SID_CL_MAP_SID 2
363 #define SID_CL_MAP_ACTION 3
364 
365 /* Define SID_CL_SO_CRIT sub-types
366  * These are subtypes of SID_CL_SO_CRIT (47.3)
367  */
368 #define SID_CL_SO_MAX_REQ 1
369 #define SID_CL_SO_MAX_OUT_BYTES 2
370 #define SID_CL_SO_MAX_REQ_BYTES 3
371 #define SID_CL_SO_MAX_TIME 4
372 
373 /* Define TLV_RCP sub-types
374  * These are subtypes of TLV_RCP (48)
375  */
376 #define TLV_RCP_ID 1
377 #define TLV_RCP_NAME 2
378 #define TLV_RCP_FREQ_SPC 3
379 #define TLV_RCP_RCV_MOD_ENC 4
380 #define TLV_RCP_RCV_CH 5
381 #define TLV_RCP_VEN_SPEC 43
382 #define TLV_RCC_ERR 254
383 
384 /* Define TLV_RCP_RCV_MOD_ENC sub-types
385  * These are subtypes of TLV_RCP_RCV_MOD_ENC (48.4)
386  */
387 #define RCV_MOD_ENC_IDX 1
388 #define RCV_MOD_ENC_ADJ_CH 2
389 #define RCV_MOD_ENC_CH_BL_RNG 3
390 #define RCV_MOD_ENC_CTR_FREQ_ASGN 4
391 #define RCV_MOD_ENC_RSQ_CH_SUBS_CAP 5
392 #define RCV_MOD_ENC_CONN 6
393 #define RCV_MOD_ENC_PHY_LAYR_PARMS 7
394 
395 /* Define RCV_MOD_ENC_CH_BL_RNG sub-types
396  * These are subtypes of RCV_MOD_ENC_CH_BL_RNG (48.4.3)
397  */
398 #define CH_BL_RNG_MIN_CTR_FREQ 1
399 #define CH_BL_RNG_MAX_CTR_FREQ 2
400 
401 /* Define TLV_RCP_RCV_CH sub-types
402  * These are subtypes of TLV_RCP_RCV_CH (48.5)
403  */
404 #define RCV_CH_IDX 1
405 #define RCV_CH_CONN 2
406 #define RCV_CH_CONN_OFF 3
407 #define RCV_CH_CTR_FREQ_ASGN 4
408 #define RCV_CH_PRIM_DS_CH_IND 5
409 
410 /* Define TLV_RCC_ERR sub-types
411  * These are subtypes of TLV_RCC_ERR (49.254)
412  */
413 #define RCC_ERR_MOD_OR_CH 1
414 #define RCC_ERR_IDX 2
415 #define RCC_ERR_PARAM 3
416 #define RCC_ERR_CODE 4
417 #define RCC_ERR_MSG 5
418 
419 
420 /* Define TLV_DSID sub-types
421  * These are subtypes of TLV_DSID (50)
422  */
423 #define TLV_DSID_ID 1
424 #define TLV_DSID_ACTION 2
425 #define TLV_DSID_DS_RESEQ 3
426 #define TLV_DSID_MC 4
427 
428 /* Define TLV_DSID_DS_RESEQ sub-types
429  * These are subtypes of TLV_DSID_DS_RESEQ (50.3)
430  */
431 #define DS_RESEQ_DSID 1
432 #define DS_RESEQ_CH_LST 2
433 #define DS_RESEQ_WAIT_TIME 3
434 #define DS_RESEQ_WARN_THRESH 4
435 #define DS_RESEQ_HO_TIMER 5
436 
437 /* Define TLV_DSID_MC sub-types
438  * These are subtypes of TLV_DSID_DS_MC (50.4)
439  */
440 
441 #define TLV_DSID_MC_ADDR 1
442 #define TLV_DSID_MC_CMIM 2
443 #define TLV_DSID_MC_GROUP 3
444 #define TLV_DSID_MC_PHS 26
445 
446 /* Define TLV_DSID_MC_ADDR sub-types
447  * These are subtypes of TLV_DSID_MC_ADDR (50.4.1)
448  */
449 #define MC_ADDR_ACTION 1
450 #define MC_ADDR_ADDR 2
451 
452 /* Define TLV_SEC_ASSOC sub-types
453  * These are subtypes of TLV_SEC_ASSOC (51)
454  */
455 #define TLV_SEC_ASSOC_ACTION 1
456 #define TLV_SEC_ASSOC_DESC 2
457 
458 /* Define TLV_CH_ASGN sub-types
459  * These are subtypes of TLV_CH_ASGN (56)
460  */
461 #define TLV_CH_ASGN_US_CH_ID 1
462 #define TLV_CH_ASGN_RX_FREQ 2
463 
464 /* Define TLV_CMTS_MC_SESS_ENC sub-types
465  * These are subtypes of TLV_CMTS_MC_SESS_ENC (64)
466  */
467 #define CMTS_MC_SESS_ENC_GRP 1
468 #define CMTS_MC_SESS_ENC_SRC 2
469 
470 extern value_string_ext docsis_conf_code_ext;
471 
472 #endif
Definition: value_string.h:164