2 * Contains Definitions for Configuration types
3 * Copyright 2002, Anand V. Narwani <anand[AT]narwani.org>
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
13 /* Define Top Level TLV Types
14 * Please see http://www.cablemodem.com/Specs/SP-RFIv1.1-I08-020301.pdf
17 #ifndef __PACKET_TLV_H__
18 #define __PACKET_TLV_H__
19 #define TLV_DOWN_FREQ 1
21 #define TLV_NET_ACCESS 3
23 #define TLV_MODEM_CAP 5
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
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_DOCSIS_EXTENSION_FIELD 43
61 #define TLV_VENDOR_SPEC 44
62 #define TLV_DUT_FILTER 45
68 #define TLV_SEC_ASSOC 51
69 #define TLV_INIT_CH_TIMEOUT 52
70 #define TLV_SNMPV1V2_COEX 53
71 #define TLV_SNMPV3_ACC_VIEW 54
72 #define TLV_SNMP_CPE_ACC_CTRL 55
73 #define TLV_CH_ASGN 56
74 #define TLV_CM_INIT_REASON 57
75 #define TLV_SW_UPG_SRVR_IPV6 58
76 #define TLV_TFTP_PROV_CM_IPV6_ADDR 59
77 #define TLV_US_DROP_CLFY 60
78 #define TLV_SUBS_MGMT_IPV6_LST 61
79 #define TLV_US_DROP_CLFY_GROUP_ID 62
80 #define TLV_SUBS_MGMT_CTRL_MAX_CPE_IPV6 63
81 #define TLV_CMTS_MC_SESS_ENC 64
82 #define TLV_L2VPN_MAC_AGING 65
83 #define TLV_MGMT_EVENT_CTRL 66
84 #define TLV_EM_MODE_INDICATOR 75
85 #define TLV_EM_ID_LIST_FOR_CM 78
86 #define TLV_FDX_TG_ASSIGNMENT 85
87 #define TLV_FDX_RESET 86
90 /* Define DOCSIS 1.0 Class Of Service Configuration Types
91 * These are subtypes of TLV_COS (4)
94 #define COS_MAX_DOWN 2
96 #define COS_UP_CH_PRIO 4
97 #define COS_MIN_UP_RATE 5
98 #define COS_MAX_UP_BURST 6
99 #define COS_BP_ENABLE 7
101 /* Define SNMPV3 KickStart subtypes
102 * These are subtypes of TLV_SNMPV3_KICKSTART (34)
104 #define SNMPV3_SEC_NAME 1
105 #define SNMPV3_MGR_PUB_NUM 2
107 /* Define Modem Capabilities Subtypes
108 * These are subtypes of TLV_MODEM_CAP (5)
111 #define CAP_DOCSIS_VER 2
115 #define CAP_PRIVACY 6
116 #define CAP_DOWN_SAID 7
118 #define CAP_OPT_FILT 9
119 #define CAP_XMIT_EQPERSYM 10
120 #define CAP_NUM_XMIT_EQ_TAPS 11
122 #define CAP_IP_FILTERS 13
123 #define CAP_LLC_FILTERS 14
124 #define CAP_EXP_UNICAST_SID 15
125 #define CAP_RNG_HOFF 16
127 #define CAP_L2VPN_ESAFE 18
128 #define CAP_DUT_FILTERING 19
129 #define CAP_US_FREQ_RNG 20
130 #define CAP_US_SRATE 21
132 #define CAP_CODE_HOP_M2 23
134 #define CAP_512_MSPS_UTC 25
135 #define CAP_256_MSPS_UTC 26
136 #define CAP_TOTAL_SID_CLUST 27
137 #define CAP_SID_PER_SF 28
139 #define CAP_TOTAL_DSID 30
140 #define CAP_RESEQ_DSID 31
141 #define CAP_MC_DSID 32
142 #define CAP_MC_DSID_FWD 33
143 #define CAP_FCTYPE_FWD 34
146 #define CAP_MAP_UCD 37
149 #define CAP_EXT_US_TRNS_PWR 40
151 #define CAP_CM_STATUS_ACK 46
152 #define CAP_EM_PREF 47
153 #define CAP_EXT_PKT_LEN_SUP_CAP 48
154 #define CAP_OFDM_MULT_RECV_CHAN_SUP 49
155 #define CAP_OFDMA_MULT_TRANS_CHAN_SUP 50
156 #define CAP_DOWN_OFDM_PROF_SUP 51
157 #define CAP_DOWN_OFDM_CHAN_SUBC_QAM_MOD_SUP 52
158 #define CAP_UP_OFDMA_CHAN_SUBC_QAM_MOD_SUP 53
159 #define CAP_DOWN_LOWER_BAND_EDGE_CONF 54
160 #define CAP_DOWN_UPPER_BAND_EDGE_CONF 55
161 #define CAP_DIPL_UP_UPPER_BAND_EDGE_CONF 56
162 #define CAP_DOCSIS_TIME_PROT_MODE 57
163 #define CAP_DOCSIS_TIME_PROT_PERF_SUP 58
165 #define CAP_DIPL_DOWN_LOWER_BAND_EDGE 60
166 #define CAP_DIPL_DOWN_UPPER_BAND_EDGE 61
167 #define CAP_DIPL_UP_UPPER_BAND_EDGE 62
168 #define CAP_ADVANCED_BAND_PLAN 63
169 #define CAP_EXTENDED_SF_SID_CLUSTER_ASSIGN 74
170 #define CAP_LOW_LATENCY_SUP 76
171 #define CAP_ADVANCED_DOWN_LOWER_BAND_EDGE_CONF 79
172 #define CAP_ADVANCED_DOWN_UPPER_BAND_EDGE_CONF 80
173 #define CAP_ADVANCED_UP_UPPER_BAND_EDGE_CONF 81
174 #define CAP_ADVANCED_DOWN_LOWER_BAND_EDGE_OPTIONS_LIST 82
175 #define CAP_ADVANCED_DOWN_UPPER_BAND_EDGE_OPTIONS_LIST 83
176 #define CAP_ADVANCED_UP_UPPER_BAND_EDGE_OPTIONS_LIST 84
177 #define CAP_EXTENDED_POWER_OPTIONS 85
180 /* Define Classifier subtypes
181 * These are subtypes of either:
182 * TLV_UPSTREAM_CLASSIFIER (22)
183 * TLV_DOWN_CLASSIFIER (23)
187 #define CFR_SFLOW_REF 3
188 #define CFR_SFLOW_ID 4
189 #define CFR_RULE_PRI 5
190 #define CFR_ACT_STATE 6
191 #define CFR_DSA_ACTION 7
193 #define CFR_IP_CLASSIFIER 9
194 #define CFR_ETH_CLASSIFIER 10
195 #define CFR_8021Q_CLASSIFIER 11
196 #define CFR_IP6_CLASSIFIER 12
197 #define CFR_VENDOR_SPEC 43
199 /* Define Classifier Error sub-subtypes
200 * These are subtypes of CFR_ERROR ([22/23].8)
202 #define CFR_ERR_PARAM 1
203 #define CFR_ERR_CODE 2
204 #define CFR_ERR_MSG 3
206 /* Define IP Classifier sub-subtypes
207 * These are subtypes of CFR_IP_CLASSIFIER ([22/23].9)
209 #define CFR_IP_TOS_RANGE_MASK 1
210 #define CFR_IP_PROTO 2
211 #define CFR_IP_SOURCE_ADDR 3
212 #define CFR_IP_SOURCE_MASK 4
213 #define CFR_IP_DEST_ADDR 5
214 #define CFR_IP_DEST_MASK 6
215 #define CFR_IP_SRCPORT_START 7
216 #define CFR_IP_SRCPORT_END 8
217 #define CFR_IP_DSTPORT_START 9
218 #define CFR_IP_DSTPORT_END 10
220 /* Define IPv6 Classifier sub-subtypes
221 * These are subtypes of CFR_IP_CLASSIFIER ([22/23].12)
223 #define CFR_IP6_TRAFFIC_CLASS 1
224 #define CFR_IP6_FLOW_LABEL 2
225 #define CFR_IP6_NEXT_HEADER 3
226 #define CFR_IP6_SOURCE_ADDR 4
227 #define CFR_IP6_SOURCE_PREFIX_LENGTH 5
228 #define CFR_IP6_DESTINATION_ADDR 6
229 #define CFR_IP6_DESTINATION_PREFIX_LENGTH 7
231 /* Define Ethertype Classifier sub-subtypes
232 * These are subtypes of CFR_ETH_CLASSIFIER ([22/23].10)
234 #define CFR_ETH_DST_MAC 1
235 #define CFR_ETH_SRC_MAC 2
236 #define CFR_ETH_DSAP 3
238 /* Define 802.1P/Q Classifier sub-subtypes
239 * These are subtypes of CFR_8021Q_CLASSIFIER ([22/23].11)
241 #define CFR_D1Q_USER_PRI 1
242 #define CFR_D1Q_VLAN_ID 2
243 #define CFR_D1Q_VENDOR_SPEC 43
245 /* Define Upstream/Downstream Service flow subtypes
246 * These are subtypes of:
247 * TLV_UPSTREAM_SERVICE_FLOW (24)
248 * TLV_DOWN_SERVICE_FLOW (25)
253 #define SFW_SERVICE_CLASS_NAME 4
255 #define SFW_QOS_SET_TYPE 6
256 #define SFW_TRAF_PRI 7
257 #define SFW_MAX_SUSTAINED 8
258 #define SFW_MAX_BURST 9
259 #define SFW_MIN_RSVD_TRAF 10
260 #define SFW_MIN_RSVD_PACKETSIZE 11
261 #define SFW_ACTIVE_QOS_TIMEOUT 12
262 #define SFW_ADMITT_QOS_TIMEOUT 13
263 #define SFW_IP_TOS_OVERWRITE 23
264 #define SFW_PEAK_TRAFFIC_RATE 27
265 #define SFW_REQUIRED_ATTRIBUTE_MASK 31
266 #define SFW_FORBIDDEN_ATTRIBUTE_MASK 32
267 #define SFW_ATTRIBUTE_AGGREGATION_RULE_MASK 33
268 #define SFW_VENDOR_SPEC 43
269 /* The following types only apply to
270 * TLV_UPSTREAM_SERVICE_FLOW (24)
272 #define SFW_MAX_CONCAT_BURST 14
273 #define SFW_SCHEDULING_TYPE 15
274 #define SFW_REQ_XMIT_POL 16
275 #define SFW_NOM_POLL_INT 17
276 #define SFW_POLL_JTTR_TOL 18
277 #define SFW_UG_SIZE 19
278 #define SFW_NOM_GRNT_INTV 20
279 #define SFW_GRNT_JTTR_TOL 21
280 #define SFW_GRNTS_PER_INTV 22
281 #define SFW_UG_TIME_REF 24
282 #define SFW_CONTENTION_REQ_BACKOFF_WINDOW_MULT 25
283 #define SFW_NUM_OF_BYTES_REQUESTED_MULT 26
285 /* The following types only apply to
286 * TLV_DOWN_SERVICE_FLOW (25)
288 #define SFW_MAX_DOWN_LAT 14
289 #define SFW_DOWN_RESEQ 17
291 /* Define Service Flow Error sub-subtypes
292 * These are subtypes of
293 * SFW_ERRORS ([24/25].5)
295 #define SFW_ERR_PARAM 1
296 #define SFW_ERR_CODE 2
297 #define SFW_ERR_MSG 3
300 /* Define Payload Header Suppression subtypes
301 * These are subtypes of TLV_PHS (26)
303 #define PHS_CLSFR_REF 1
304 #define PHS_CLSFR_ID 2
305 #define PHS_SFLOW_REF 3
306 #define PHS_SFLOW_ID 4
307 #define PHS_DSC_ACTION 5
312 #define PHS_SUP_SIZE 10
313 #define PHS_VERIFICATION 11
314 #define PHS_DBC_ACTION 13
315 #define PHS_VENDOR_SPEC 43
317 /* Define PHS Error sub-subtypes
318 * These are subtypes of PHS_ERRORS (26.6)
320 #define PHS_ERR_PARAM 1
321 #define PHS_ERR_CODE 2
322 #define PHS_ERR_MSG 3
325 /* Define DS Channel List sub-types
326 * These are subtypes of TLV_DS_CHANNEL_LIST (41)
328 #define DS_CH_LIST_SINGLE 1
329 #define DS_CH_LIST_RANGE 2
330 #define DS_CH_LIST_DEFAULT_TIMEOUT 3
332 /* Define Singe Downstream Channel sub-types
333 * These are subtypes of DS_CH_LIST_SINGLE (41.1)
335 #define SINGLE_CH_TIMEOUT 1
336 #define SINGLE_CH_FREQ 2
338 /* Define Singe Downstream Channel sub-types
339 * These are subtypes of DS_CH_LIST_RANGE (41.2)
341 #define FREQ_RNG_TIMEOUT 1
342 #define FREQ_RNG_START 2
343 #define FREQ_RNG_END 3
344 #define FREQ_RNG_STEP 4
346 /* Define DUT sub-types
347 * These are subtypes of TLV_DUT_FILTER (45)
349 #define DUT_CONTROL 1
352 /* Define TCC sub-types
353 * These are subtypes of TLV_TCC (46)
355 #define TLV_TCC_REFID 1
356 #define TLV_TCC_US_CH_ACTION 2
357 #define TLV_TCC_US_CH_ID 3
358 #define TLV_TCC_NEW_US_CH_ID 4
359 #define TLV_TCC_UCD 5
360 #define TLV_TCC_RNG_SID 6
361 #define TLV_TCC_INIT_TECH 7
362 #define TLV_TCC_RNG_PARMS 8
363 #define TLV_TCC_DYN_RNG_WIN 9
364 #define TLV_TCC_P1_6HI 10
365 #define TLV_TCC_ASSIGN_OFDMA_UP_DATA_PROF 11
366 #define TLV_TCC_EXTENDED_DRW 14
367 #define TLV_TCC_EXTENDED_US_RNG_PWR 15
368 #define TLV_TCC_OUDP_SOUNDING_SID 16
369 #define TLV_TCC_ERR 254
371 /* Define TLV_TCC_RNG_PARMS sub-types
372 * These are subtypes of TLV_TCC_RNG_PARMS (46.8)
374 #define RNG_PARMS_US_CH_ID 1
375 #define RNG_PARMS_TIME_OFF_INT 2
376 #define RNG_PARMS_TIME_OFF_FRAC 3
377 #define RNG_PARMS_POWER_OFF 4
378 #define RNG_PARMS_FREQ_OFF 5
380 /* Define TLV_TCC_ERR sub-types
381 * These are subtypes of TLV_TCC_ERR (46.254)
383 #define TCC_ERR_SUBTYPE 1
384 #define TCC_ERR_CODE 2
385 #define TCC_ERR_MSG 3
387 /* Define TLV_SID_CLUSTER sub-types
388 * These are subtypes of TLV_SID_CLUSTER (47)
390 #define SID_CL_SF_ID 1
392 #define SID_CL_SO_CRIT 3
394 /* Define SID_CL_ENC sub-types
395 * These are subtypes of SID_CL_ENC (47.2)
397 #define SID_CL_ENC_ID 1
398 #define SID_CL_ENC_MAP 2
400 /* Define SID_CL_ENC_MAP sub-types
401 * These are subtypes of SID_CL_ENC_MAP (47.2.2)
403 #define SID_CL_MAP_US_CH_ID 1
404 #define SID_CL_MAP_SID 2
405 #define SID_CL_MAP_ACTION 3
407 /* Define SID_CL_SO_CRIT sub-types
408 * These are subtypes of SID_CL_SO_CRIT (47.3)
410 #define SID_CL_SO_MAX_REQ 1
411 #define SID_CL_SO_MAX_OUT_BYTES 2
412 #define SID_CL_SO_MAX_REQ_BYTES 3
413 #define SID_CL_SO_MAX_TIME 4
415 /* Define TLV_RCP sub-types
416 * These are subtypes of TLV_RCP (48)
419 #define TLV_RCP_NAME 2
420 #define TLV_RCP_FREQ_SPC 3
421 #define TLV_RCP_RCV_MOD_ENC 4
422 #define TLV_RCP_RCV_CH 5
423 #define TLV_RCP_VEN_SPEC 43
424 #define TLV_RCC_ERR 254
426 /* Define TLV_RCC sub-types
427 * These are subtypes of TLV_RCP (49), and not common with TLV_RCP (48)
429 #define TLV_RCC_PARTIAL_SERV_DOWN_CHAN 6
430 #define TLV_RCC_SRCC 7
431 #define TLV_RCC_PRIM_DOWN_CHAN 8
433 /* Define TLV_RCC_SRCC sub-types (49.7)
435 #define RCC_SRCC_PRIM_DS_CHAN_ASSIGN 1
436 #define RCC_SRCC_DS_CHAN_ASSIGN 2
437 #define RCC_SRCC_DS_PROF_ASSIGN 3
439 /* Define TLV_RCC_SRCC_DS_PROF_ASSIGN sub-types (49.7.3)
441 #define RCC_SRCC_DS_PROF_ASSIGN_DCID 1
442 #define RCC_SRCC_DS_PROF_ASSIGN_PROF_LIST 2
444 /* Define TLV_RCP_RCV_MOD_ENC sub-types
445 * These are subtypes of TLV_RCP_RCV_MOD_ENC (48.4)
447 #define RCV_MOD_ENC_IDX 1
448 #define RCV_MOD_ENC_ADJ_CH 2
449 #define RCV_MOD_ENC_CH_BL_RNG 3
450 #define RCV_MOD_ENC_CTR_FREQ_ASGN 4
451 #define RCV_MOD_ENC_RSQ_CH_SUBS_CAP 5
452 #define RCV_MOD_ENC_CONN 6
453 #define RCV_MOD_ENC_PHY_LAYR_PARMS 7
455 /* Define RCV_MOD_ENC_CH_BL_RNG sub-types
456 * These are subtypes of RCV_MOD_ENC_CH_BL_RNG (48.4.3)
458 #define CH_BL_RNG_MIN_CTR_FREQ 1
459 #define CH_BL_RNG_MAX_CTR_FREQ 2
461 /* Define TLV_RCP_RCV_CH sub-types
462 * These are subtypes of TLV_RCP_RCV_CH (48.5)
465 #define RCV_CH_CONN 2
466 #define RCV_CH_CONN_OFF 3
467 #define RCV_CH_CTR_FREQ_ASGN 4
468 #define RCV_CH_PRIM_DS_CH_IND 5
470 /* Define TLV_RCC_ERR sub-types
471 * These are subtypes of TLV_RCC_ERR (49.254)
473 #define RCC_ERR_MOD_OR_CH 1
474 #define RCC_ERR_IDX 2
475 #define RCC_ERR_PARAM 3
476 #define RCC_ERR_CODE 4
477 #define RCC_ERR_MSG 5
480 /* Define TLV_DSID sub-types
481 * These are subtypes of TLV_DSID (50)
483 #define TLV_DSID_ID 1
484 #define TLV_DSID_ACTION 2
485 #define TLV_DSID_DS_RESEQ 3
486 #define TLV_DSID_MC 4
488 /* Define TLV_DSID_DS_RESEQ sub-types
489 * These are subtypes of TLV_DSID_DS_RESEQ (50.3)
491 #define DS_RESEQ_DSID 1
492 #define DS_RESEQ_CH_LST 2
493 #define DS_RESEQ_WAIT_TIME 3
494 #define DS_RESEQ_WARN_THRESH 4
495 #define DS_RESEQ_HO_TIMER 5
497 /* Define TLV_DSID_MC sub-types
498 * These are subtypes of TLV_DSID_DS_MC (50.4)
501 #define TLV_DSID_MC_ADDR 1
502 #define TLV_DSID_MC_CMIM 2
503 #define TLV_DSID_MC_GROUP 3
504 #define TLV_DSID_MC_PHS 26
506 /* Define TLV_DSID_MC_ADDR sub-types
507 * These are subtypes of TLV_DSID_MC_ADDR (50.4.1)
509 #define MC_ADDR_ACTION 1
510 #define MC_ADDR_ADDR 2
512 /* Define TLV_SEC_ASSOC sub-types
513 * These are subtypes of TLV_SEC_ASSOC (51)
515 #define TLV_SEC_ASSOC_ACTION 1
516 #define TLV_SEC_ASSOC_DESC 2
518 /* Define TLV_CH_ASGN sub-types
519 * These are subtypes of TLV_CH_ASGN (56)
521 #define TLV_CH_ASGN_US_CH_ID 1
522 #define TLV_CH_ASGN_RX_FREQ 2
524 /* Define TLV_CMTS_MC_SESS_ENC sub-types
525 * These are subtypes of TLV_CMTS_MC_SESS_ENC (64)
527 #define CMTS_MC_SESS_ENC_GRP 1
528 #define CMTS_MC_SESS_ENC_SRC 2
529 #define CMTS_MC_SESS_ENC_CMIM 3
531 /* Define TLV_FDX_TG_ASSIGNMENT sub-types
532 * These are subtypes of TLV_FDX_TG_ASSIGNMENT (85)
534 #define TLV_FDX_TG_ASSIGNMENT_TG_ID 1
535 #define TLV_FDX_TG_ASSIGNMENT_RBA_TYPE 2
536 #define TLV_FDX_TG_ASSIGNMENT_RBA_MESSAGE 3
538 extern value_string_ext docsis_conf_code_ext
;