Переглянути джерело

Making TLV's clear and easy to follow.

AdrianSimionov 11 роки тому
батько
коміт
5bc8dc9d00
1 змінених файлів з 257 додано та 258 видалено
  1. 257 258
      src/docsis_symtable.h

+ 257 - 258
src/docsis_symtable.h

@@ -47,294 +47,293 @@
 /*id  "identifier" docsis_code parent_id encode_func decode_func low_limit high_limit */
 
 symbol_type symtable[NUM_IDENTIFIERS] =  {
-{ 0,   "/* Pad */",            		0,   0,   (encode_nothing),   (decode_special),     0,        0          },
-{ 1,   "DownstreamFrequency",  		1,   0,   (encode_uint),      (decode_uint),        88000000, 860000000  },
-{ 2,   "UpstreamChannelId",    		2,   0,   (encode_uchar),     (decode_uchar),       0,        255        },
-{ 3,   "NetworkAccess",        		3,   0,   (encode_uchar),     (decode_uchar),       0,        1          },
-{ 4,   "CmMic",                		6,   0,   (encode_nothing),   (decode_md5),         0,        0          },
-{ 5,   "CmtsMic",              		7,   0,   (encode_nothing),   (decode_md5),         0,        0          },
-{ 6,   "ClassOfService",       		4,   0,   (encode_nothing),   (decode_aggregate),   0,        0          },
-{ 7,   "ClassID",              		1,   6,   (encode_uchar),     (decode_uchar),       1,        16         },
-{ 8,   "MaxRateDown",          		2,   6,   (encode_uint),      (decode_uint),        0,        52000000   },
-{ 9,   "MaxRateUp",            		3,   6,   (encode_uint),      (decode_uint),        0,        10000000   },
-{ 10,  "PriorityUp",           		4,   6,   (encode_uchar),     (decode_uchar),       0,        7          },
-{ 11,  "GuaranteedUp",         		5,   6,   (encode_uint),      (decode_uint),        0,        10000000   },
-{ 12,  "MaxBurstUp",           		6,   6,   (encode_ushort),    (decode_ushort),      0,        65535      },
-{ 13,  "PrivacyEnable",        		7,   6,   (encode_uchar),     (decode_uchar),       0,        1          },
-{ 14,  "SwUpgradeFilename",    		9,   0,   (encode_string),    (decode_string),      0,        0          },
-{ 15,  "SnmpWriteControl",     		10,  0,   (encode_nothing),   (decode_snmp_wd),     0,        0          },
-{ 16,  "SnmpMibObject",        		11,  0,   (encode_nothing),   (decode_snmp_object), 0,        0          },
-{ 17,  "CpeMacAddress",        		14,  0,   (encode_ether),     (decode_ether),       0,        0          },
-{ 18,  "BaselinePrivacy",      		17,  0,   (encode_nothing),   (decode_aggregate),   0,        0          },
-{ 19,  "AuthTimeout",          		1,   18,  (encode_uint),      (decode_uint),        1,        30         },
-{ 20,  "ReAuthTimeout",        		2,   18,  (encode_uint),      (decode_uint),        1,        30         },
-{ 21,  "AuthGraceTime",        		3,   18,  (encode_uint),      (decode_uint),        1,        6047999    },
-{ 22,  "OperTimeout",          		4,   18,  (encode_uint),      (decode_uint),        1,        10         },
-{ 23,  "ReKeyTimeout",         		5,   18,  (encode_uint),      (decode_uint),        1,        10         },
-{ 24,  "TEKGraceTime",         		6,   18,  (encode_uint),      (decode_uint),        1,        302399     },
-{ 25,  "AuthRejectTimeout",    		7,   18,  (encode_uint),      (decode_uint),        1,        600        },
-{ 26,  "MaxCPE",               		18,  0,   (encode_uchar),     (decode_uchar),       1,        254        },
-{ 27,  "SwUpgradeServer",      		21,  0,   (encode_ip),        (decode_ip),          0,        0          },
+{ 0,      "/* Pad */",                         0,      0,      (encode_nothing),        (decode_special),        0,           0             },
+{ 1,      "DownstreamFrequency",               1,      0,      (encode_uint),           (decode_uint),           88000000,    860000000     },
+{ 2,      "UpstreamChannelId",                 2,      0,      (encode_uchar),          (decode_uchar),          0,           255           },
+{ 3,      "NetworkAccess",                     3,      0,      (encode_uchar),          (decode_uchar),          0,           1             },
+
+/* Class of Service */
+{ 6,      "ClassOfService",                    4,      0,      (encode_nothing),        (decode_aggregate),      0,           0             },
+{ 7,      "ClassID",                           1,      6,      (encode_uchar),          (decode_uchar),          1,           16            },
+{ 8,      "MaxRateDown",                       2,      6,      (encode_uint),           (decode_uint),           0,           52000000      },
+{ 9,      "MaxRateUp",                         3,      6,      (encode_uint),           (decode_uint),           0,           10000000      },
+{ 10,     "PriorityUp",                        4,      6,      (encode_uchar),          (decode_uchar),          0,           7             },
+{ 11,     "GuaranteedUp",                      5,      6,      (encode_uint),           (decode_uint),           0,           10000000      },
+{ 12,     "MaxBurstUp",                        6,      6,      (encode_ushort),         (decode_ushort),         0,           65535         },
+{ 13,     "PrivacyEnable",                     7,      6,      (encode_uchar),          (decode_uchar),          0,           1             },
+
+/* Modem Capabilities Encodings */
+{ 144,    "ModemCapabilities",                 5,      0,      (encode_nothing),        (decode_aggregate),      0,           0             },
+{ 145,    "ConcatenationSupport",              1,      144,    (encode_uchar),          (decode_uchar),          0,           1             },
+{ 146,    "ModemDocsisVersion",                2,      144,    (encode_uchar),          (decode_uchar),          0,           2             },
+{ 147,    "FragmentationSupport",              3,      144,    (encode_uchar),          (decode_uchar),          0,           1             },
+{ 148,    "PHSSupport",                        4,      144,    (encode_uchar),          (decode_uchar),          0,           1             },
+{ 149,    "IGMPSupport",                       5,      144,    (encode_uchar),          (decode_uchar),          0,           1             },
+{ 150,    "BaselinePrivacySupport",            6,      144,    (encode_uchar),          (decode_uchar),          0,           1             },
+{ 151,    "DownstreamSAIDSupport",             7,      144,    (encode_uchar),          (decode_uchar),          0,           255           },
+{ 152,    "UpstreamSIDSupport",                8,      144,    (encode_uchar),          (decode_uchar),          0,           255           },
+{ 153,    "DCCSupport",                        12,     144,    (encode_uchar),          (decode_uchar),          0,           1             },
+
+{ 4,      "CmMic",                             6,      0,      (encode_nothing),        (decode_md5),            0,           0             },
+{ 5,      "CmtsMic",                           7,      0,      (encode_nothing),        (decode_md5),            0,           0             },
+
+{ 14,     "SwUpgradeFilename",                 9,      0,      (encode_string),         (decode_string),         0,           0             },
+{ 15,     "SnmpWriteControl",                  10,     0,      (encode_nothing),        (decode_snmp_wd),        0,           0             },
+{ 16,     "SnmpMibObject",                     11,     0,      (encode_nothing),        (decode_snmp_object),    0,           0             },
+{ 17,     "CpeMacAddress",                     14,     0,      (encode_ether),          (decode_ether),          0,           0             },
+
+/* BPI+ */
+
+{ 18,     "BaselinePrivacy",                   17,     0,      (encode_nothing),        (decode_aggregate),      0,           0             }, /* 17 */
+{ 19,     "AuthTimeout",                       1,      18,     (encode_uint),           (decode_uint),           1,           30            },
+{ 20,     "ReAuthTimeout",                     2,      18,     (encode_uint),           (decode_uint),           1,           30            },
+{ 21,     "AuthGraceTime",                     3,      18,     (encode_uint),           (decode_uint),           1,           6047999       },
+{ 22,     "OperTimeout",                       4,      18,     (encode_uint),           (decode_uint),           1,           10            },
+{ 23,     "ReKeyTimeout",                      5,      18,     (encode_uint),           (decode_uint),           1,           10            },
+{ 24,     "TEKGraceTime",                      6,      18,     (encode_uint),           (decode_uint),           1,           302399        },
+{ 25,     "AuthRejectTimeout",                 7,      18,     (encode_uint),           (decode_uint),           1,           600           },
+{ 127,    "SAMapWaitTimeout",                  8,      18,     (encode_uint),           (decode_uint),           1,           10            },
+{ 128,    "SAMapMaxRetries",                   9,      18,     (encode_uint),           (decode_uint),           0,           10            },
+
+{ 26,     "MaxCPE",                            18,     0,      (encode_uchar),          (decode_uchar),          1,           254           },
+{ 168,    "TftpTimestamp",                     19,     0,      (encode_uint),           (decode_uint),           0,           0xFFFFFFFF    },
+{ 169,    "TftpModemAddress",                  20,     0,      (encode_ip),             (decode_ip),             0,           0             },
+{ 27,     "SwUpgradeServer",                   21,     0,      (encode_ip),             (decode_ip),             0,           0             },
 
 /* DOCSIS 1.1-2.0 */
 
-{ 28,  "UsPacketClass",        		22,  0,   (encode_nothing),   (decode_aggregate),   0,        0          },
-{ 29,  "ClassifierRef",        		1,   28,  (encode_uchar),     (decode_uchar),       1,        255        },
-{ 30,  "ClassifierId",         		2,   28,  (encode_ushort),    (decode_ushort),      1,        65535      },
-{ 31,  "ServiceFlowRef",       		3,   28,  (encode_ushort),    (decode_ushort),      1,        65535      },
-{ 32,  "ServiceFlowId",        		4,   28,  (encode_uint),      (decode_uint),        1,        0xFFFFFFFF },
-{ 33,  "RulePriority",         		5,   28,  (encode_uchar),     (decode_uchar),       0,        255        },
-{ 34,  "ActivationState",      		6,   28,  (encode_uchar),     (decode_uchar),       0,        1          },
-{ 35,  "DscAction",            		7,   28,  (encode_uchar),     (decode_uchar),       0,        2          },
-{ 36,  "IpPacketClassifier",   		9,   28,  (encode_nothing),   (decode_aggregate),   0,        0          },
-{ 37,  "IpTos",                		1,   36,  (encode_hexstr),    (decode_hexstr),      3,        3          },
-{ 38,  "IpProto",              		2,   36,  (encode_ushort),    (decode_ushort),      0,        257        },
-{ 39,  "IpSrcAddr",            		3,   36,  (encode_ip),        (decode_ip),          0,        0          },
-{ 40,  "IpSrcMask",            		4,   36,  (encode_ip),        (decode_ip),          0,        0          },
-{ 41,  "IpDstAddr",            		5,   36,  (encode_ip),        (decode_ip),          0,        0          },
-{ 42,  "IpDstMask",            		6,   36,  (encode_ip),        (decode_ip),          0,        0          },
-{ 43,  "SrcPortStart",         		7,   36,  (encode_ushort),    (decode_ushort),      0,        65535      },
-{ 44,  "SrcPortEnd",           		8,   36,  (encode_ushort),    (decode_ushort),      0,        65535      },
-{ 45,  "DstPortStart",         		9,   36,  (encode_ushort),    (decode_ushort),      0,        65535      },
-{ 46,  "DstPortEnd",           		10,  36,  (encode_ushort),    (decode_ushort),      0,        65535      },
-{ 47,  "LLCPacketClassifier",  		10,  28,  (encode_nothing),   (decode_aggregate),   0,        0          },
-{ 48,  "DstMacAddress",        		1,   47,  (encode_ethermask), (decode_ethermask),   0,        0          },
-{ 49,  "SrcMacAddress",        		2,   47,  (encode_ether),     (decode_ether),       0,        0          },
-{ 50,  "EtherType",            		3,   47,  (encode_hexstr),    (decode_hexstr),      3,        3          },
-{ 51,  "IEEE802Classifier",    		11,  28,  (encode_nothing),   (decode_aggregate),   0,        0          },
-{ 52,  "UserPriority",         		1,   51,  (encode_ushort),    (decode_ushort),      0,        0          },
-{ 53,  "VlanID",               		2,   51,  (encode_ushort),    (decode_ushort),      0,        0          },
+{ 28,     "UsPacketClass",                     22,     0,      (encode_nothing),        (decode_aggregate),      0,           0             },
+{ 29,     "ClassifierRef",                     1,      28,     (encode_uchar),          (decode_uchar),          1,           255           }   ,
+{ 30,     "ClassifierId",                      2,      28,     (encode_ushort),         (decode_ushort),         1,           65535         },
+{ 31,     "ServiceFlowRef",                    3,      28,     (encode_ushort),         (decode_ushort),         1,           65535         },
+{ 32,     "ServiceFlowId",                     4,      28,     (encode_uint),           (decode_uint),           1,           0xFFFFFFFF    },
+{ 33,     "RulePriority",                      5,      28,     (encode_uchar),          (decode_uchar),          0,           255           },
+{ 34,     "ActivationState",                   6,      28,     (encode_uchar),          (decode_uchar),          0,           1             },
+{ 35,     "DscAction",                         7,      28,     (encode_uchar),          (decode_uchar),          0,           2             },
+{ 36,     "IpPacketClassifier",                9,      28,     (encode_nothing),        (decode_aggregate),      0,           0             },
+{ 37,     "IpTos",                             1,      36,     (encode_hexstr),         (decode_hexstr),         3,           3             },
+{ 38,     "IpProto",                           2,      36,     (encode_ushort),         (decode_ushort),         0,           257           },
+{ 39,     "IpSrcAddr",                         3,      36,     (encode_ip),             (decode_ip),             0,           0             },
+{ 40,     "IpSrcMask",                         4,      36,     (encode_ip),             (decode_ip),             0,           0             },
+{ 41,     "IpDstAddr",                         5,      36,     (encode_ip),             (decode_ip),             0,           0             },
+{ 42,     "IpDstMask",                         6,      36,     (encode_ip),             (decode_ip),             0,           0             },
+{ 43,     "SrcPortStart",                      7,      36,     (encode_ushort),         (decode_ushort),         0,           65535         },
+{ 44,     "SrcPortEnd",                        8,      36,     (encode_ushort),         (decode_ushort),         0,           65535         },
+{ 45,     "DstPortStart",                      9,      36,     (encode_ushort),         (decode_ushort),         0,           65535         },
+{ 46,     "DstPortEnd",                        10,     36,     (encode_ushort),         (decode_ushort),         0,           65535         },
+{ 47,     "LLCPacketClassifier",               10,     28,     (encode_nothing),        (decode_aggregate),      0,           0             },
+{ 48,     "DstMacAddress",                     1,      47,     (encode_ethermask),      (decode_ethermask),      0,           0             },
+{ 49,     "SrcMacAddress",                     2,      47,     (encode_ether),          (decode_ether),          0,           0             },
+{ 50,     "EtherType",                         3,      47,     (encode_hexstr),         (decode_hexstr),         3,           3             },
+{ 51,     "IEEE802Classifier",                 11,     28,     (encode_nothing),        (decode_aggregate),      0,           0             },
+{ 52,     "UserPriority",                      1,      51,     (encode_ushort),         (decode_ushort),         0,           0             },
+{ 53,     "VlanID",                            2,      51,     (encode_ushort),         (decode_ushort),         0,           0             },
+{ 211,    "PcIPv6PacketClassification",        12,     28,     (encode_nothing),        (decode_aggregate),      0,           0             }, /* 22.12 */
+{ 212,    "PcIPv6TrafficClassRangeAndMask",    1,      211,    (encode_hexstr),         (decode_hexstr),         0,           0             }, /* 22.12.1 */
+{ 213,    "PcIPv6FlowLabel",                   2,      211,    (encode_hexstr),         (decode_hexstr),         4,           4             }, /* 22.12.2 */
+{ 214,    "PcIPv6NextHeaderType",              3,      211,    (encode_ushort),         (decode_ushort),         0,           257           }, /* 22.12.3 */
+{ 215,    "PcIPv6SourceAddress",               4,      211,    (encode_ip6),            (decode_ip6),            0,           0             }, /* 22.12.4 */
+{ 216,    "PcIPv6SourcePrefixLength",          5,      211,    (encode_uchar),          (decode_uchar),          0,           128           }, /* 22.12.5 */
+{ 217,    "PcIPv6DestAddress",                 6,      211,    (encode_ip6),            (decode_ip6),            0,           0             }, /* 22.12.6 */
+{ 218,    "PcIPv6DestPrefixLength",            7,      211,    (encode_uchar),          (decode_uchar),          0,           128           }, /* 22.12.7 */
+{ 219,    "PcCMIMEncoding",                    13,     28,     (encode_hexstr),         (decode_hexstr),         0,           0             }, /* 22.13 */
+/* TLV 22 - Upstream Packet Classification */
+{ 200,    "VendorSpecific",                    43,     28,     (encode_nothing),        (decode_aggregate),      0,           0             }, /* 22.43 */
+{ 201,    "VendorIdentifier",                  8,      200,    (encode_hexstr),         (decode_hexstr),         3,           3             }, /* 22.43.8 */
+{ 202,    "L2VPNEncoding",                     5,      200,    (encode_nothing),        (decode_aggregate),      0,           0             }, /* 22.43.5 */
+{ 203,    "VPNIdentifier",                     1,      202,    (encode_string),         (decode_string),         4,           255           }, /* 22.43.5.1 */
 
 /* TODO: Vendor Specific support in the IEEE802Classifier */
 
-{ 54,  "DsPacketClass",        		23,  0,   (encode_nothing),   (decode_aggregate),   0,        0          },
-{ 55,  "ClassifierRef",        		1,   54,  (encode_uchar),     (decode_uchar),       1,        255        },
-{ 56,  "ClassifierId",         		2,   54,  (encode_ushort),    (decode_ushort),      1,        65535      },
-{ 57,  "ServiceFlowRef",       		3,   54,  (encode_ushort),    (decode_ushort),      1,        65535      },
-{ 58,  "ServiceFlowId",        		4,   54,  (encode_uint),      (decode_uint),        1,        0xFFFFFFFF },
-{ 59,  "RulePriority",         		5,   54,  (encode_uchar),     (decode_uchar),       0,        255        },
-{ 60,  "ActivationState",      		6,   54,  (encode_uchar),     (decode_uchar),       0,        1          },
-{ 61,  "DscAction",            		7,   54,  (encode_uchar),     (decode_uchar),       0,        2          },
-{ 62,  "IpPacketClassifier",   		9,   54,  (encode_nothing),   (decode_aggregate),   0,        0          },
-{ 63,  "IpTos",                		1,   62,  (encode_hexstr),    (decode_hexstr),      3,        3          },
-{ 64,  "IpProto",              		2,   62,  (encode_ushort),    (decode_ushort),      0,        257        },
-{ 65,  "IpSrcAddr",            		3,   62,  (encode_ip),        (decode_ip),          0,        0          },
-{ 66,  "IpSrcMask",            		4,   62,  (encode_ip),        (decode_ip),          0,        0          },
-{ 67,  "IpDstAddr",            		5,   62,  (encode_ip),        (decode_ip),          0,        0          },
-{ 68,  "IpDstMask",            		6,   62,  (encode_ip),        (decode_ip),          0,        0          },
-{ 69,  "SrcPortStart",         		7,   62,  (encode_ushort),    (decode_ushort),      0,        65535      },
-{ 70,  "SrcPortEnd",           		8,   62,  (encode_ushort),    (decode_ushort),      0,        65535      },
-{ 71,  "DstPortStart",         		9,   62,  (encode_ushort),    (decode_ushort),      0,        65535      },
-{ 72,  "DstPortEnd",           		10,  62,  (encode_ushort),    (decode_ushort),      0,        65535      },
-{ 73,  "LLCPacketClassifier",  		10,  54,  (encode_nothing),   (decode_aggregate),   0,        0          },
-{ 74,  "DstMacAddress",        		1,   73,  (encode_ethermask), (decode_ethermask),   0,        0          },
-{ 75,  "SrcMacAddress",        		2,   73,  (encode_ether),     (decode_ether),       0,        0          },
-{ 76,  "EtherType",            		3,   73,  (encode_hexstr),    (decode_hexstr),      0,        255        },
-{ 77,  "IEEE802Classifier",    		11,  54,  (encode_nothing),   (decode_aggregate),   0,        0          },
-{ 78,  "UserPriority",         		1,   77,  (encode_ushort),    (decode_ushort),      0,        0          },
-{ 79,  "VlanID",               		2,   77,  (encode_ushort),    (decode_ushort),      0,        0          },
+{ 54,     "DsPacketClass",                     23,     0,      (encode_nothing),        (decode_aggregate),      0,           0             },
+{ 55,     "ClassifierRef",                     1,      54,     (encode_uchar),          (decode_uchar),          1,           255           },
+{ 56,     "ClassifierId",                      2,      54,     (encode_ushort),         (decode_ushort),         1,           65535         },
+{ 57,     "ServiceFlowRef",                    3,      54,     (encode_ushort),         (decode_ushort),         1,           65535         },
+{ 58,     "ServiceFlowId",                     4,      54,     (encode_uint),           (decode_uint),           1,           0xFFFFFFFF    },
+{ 59,     "RulePriority",                      5,      54,     (encode_uchar),          (decode_uchar),          0,           255           },
+{ 60,     "ActivationState",                   6,      54,     (encode_uchar),          (decode_uchar),          0,           1             },
+{ 61,     "DscAction",                         7,      54,     (encode_uchar),          (decode_uchar),          0,           2             },
+{ 62,     "IpPacketClassifier",                9,      54,     (encode_nothing),        (decode_aggregate),      0,           0             },
+{ 63,     "IpTos",                             1,      62,     (encode_hexstr),         (decode_hexstr),         3,           3             },
+{ 64,     "IpProto",                           2,      62,     (encode_ushort),         (decode_ushort),         0,           257           },
+{ 65,     "IpSrcAddr",                         3,      62,     (encode_ip),             (decode_ip),             0,           0             },
+{ 66,     "IpSrcMask",                         4,      62,     (encode_ip),             (decode_ip),             0,           0             },
+{ 67,     "IpDstAddr",                         5,      62,     (encode_ip),             (decode_ip),             0,           0             },
+{ 68,     "IpDstMask",                         6,      62,     (encode_ip),             (decode_ip),             0,           0             },
+{ 69,     "SrcPortStart",                      7,      62,     (encode_ushort),         (decode_ushort),         0,           65535         },
+{ 70,     "SrcPortEnd",                        8,      62,     (encode_ushort),         (decode_ushort),         0,           65535         },
+{ 71,     "DstPortStart",                      9,      62,     (encode_ushort),         (decode_ushort),         0,           65535         },
+{ 72,     "DstPortEnd",                        10,     62,     (encode_ushort),         (decode_ushort),         0,           65535         },
+{ 73,     "LLCPacketClassifier",               10,     54,     (encode_nothing),        (decode_aggregate),      0,           0             },
+{ 74,     "DstMacAddress",                     1,      73,     (encode_ethermask),      (decode_ethermask),      0,           0             },
+{ 75,     "SrcMacAddress",                     2,      73,     (encode_ether),          (decode_ether),          0,           0             },
+{ 76,     "EtherType",                         3,      73,     (encode_hexstr),         (decode_hexstr),         0,           255           },
+{ 77,     "IEEE802Classifier",                 11,     54,     (encode_nothing),        (decode_aggregate),      0,           0             },
+{ 78,     "UserPriority",                      1,      77,     (encode_ushort),         (decode_ushort),         0,           0             },
+{ 79,     "VlanID",                            2,      77,     (encode_ushort),         (decode_ushort),         0,           0             },
+{ 220,    "PcIPv6PacketClassification",        12,     54,     (encode_nothing),        (decode_aggregate),      0,           0             }, /* 23.12 */
+{ 221,    "PcIPv6TrafficClassRangeAndMask",    1,      220,    (encode_hexstr),         (decode_hexstr),         0,           0             }, /* 23.12.1 */
+{ 222,    "PcIPv6FlowLabel",                   2,      220,    (encode_hexstr),         (decode_hexstr),         4,           4             }, /* 23.12.2 */
+{ 223,    "PcIPv6NextHeaderType",              3,      220,    (encode_ushort),         (decode_ushort),         0,           257           }, /* 23.12.3 */
+{ 224,    "PcIPv6SourceAddress",               4,      220,    (encode_ip6),            (decode_ip6),            0,           0             }, /* 23.12.4 */
+{ 225,    "PcIPv6SourcePrefixLength",          5,      220,    (encode_uchar),          (decode_uchar),          0,           128           }, /* 23.12.5 */
+{ 226,    "PcIPv6DestAddress",                 6,      220,    (encode_ip6),            (decode_ip6),            0,           0             }, /* 23.12.6 */
+{ 227,    "PcIPv6DestPrefixLength",            7,      220,    (encode_uchar),          (decode_uchar),          0,           128           }, /* 23.12.7 */
+/* TLV 23 - Downstream Packet Classification */
+{ 204,    "VendorSpecific",                    43,     54,     (encode_nothing),        (decode_aggregate),      0,           0             }, /* 23.43 */
+{ 205,    "VendorIdentifier",                  8,      204,    (encode_hexstr),         (decode_hexstr),         3,           3             }, /* 23.43.8 */
+{ 206,    "L2VPNEncoding",                     5,      204,    (encode_nothing),        (decode_aggregate),      0,           0             }, /* 23.43.5 */
+{ 207,    "VPNIdentifier",                     1,      206,    (encode_string),         (decode_string),         4,           255           }, /* 23.43.5.1 */
 
 /* Upstream Service Flow */
 
-{ 80,  "UsServiceFlow",        		24,  0,   (encode_nothing),   (decode_aggregate),   0,        0          },
-{ 81,  "UsServiceFlowRef",     		1,   80,  (encode_ushort),    (decode_ushort),      1,        65535      },
-{ 82,  "UsServiceFlowId",      		2,   80,  (encode_uint),      (decode_uint),        1,        0xFFFFFFFF },
-{ 83,  "ServiceClassName",     		4,   80,  (encode_strzero),   (decode_strzero),     2,        16         },
-{ 84,  "QosParamSetType",      		6,   80,  (encode_uchar),     (decode_uchar),       0,        255        },
-{ 85,  "TrafficPriority",      		7,   80,  (encode_uchar),     (decode_uchar),       0,        7          },
-{ 86,  "MaxRateSustained",     		8,   80,  (encode_uint),      (decode_uint),        0,        0          },
-{ 87,  "MaxTrafficBurst",      		9,   80,  (encode_uint),      (decode_uint),        0,        0          },
-{ 88,  "MinReservedRate",      		10,  80,  (encode_uint),      (decode_uint),        0,        0          },
-{ 89,  "MinResPacketSize",     		11,  80,  (encode_ushort),    (decode_ushort),      0,        65535      },
-{ 90,  "ActQosParamsTimeout",  		12,  80,  (encode_ushort),    (decode_ushort),      0,        65535      },
-{ 91,  "AdmQosParamsTimeout",  		13,  80,  (encode_ushort),    (decode_ushort),      0,        65535      },
-
-/* Upstream Service Flow Specific params */
-
-{ 92,  "MaxConcatenatedBurst",		14,  80,  (encode_ushort),    (decode_ushort),      0,        65535      },
-{ 93,  "SchedulingType",       		15,  80,  (encode_uchar),     (decode_uchar),       0,        6          },
-{ 94,  "RequestOrTxPolicy",    		16,  80,  (encode_hexstr),    (decode_hexstr),      4,        4          },
-{ 95,  "NominalPollInterval",  		17,  80,  (encode_uint),      (decode_uint),        0,        0          },
-{ 96,  "ToleratedPollJitter",  		18,  80,  (encode_uint),      (decode_uint),        0,        0          },
-{ 97,  "UnsolicitedGrantSize", 		19,  80,  (encode_ushort),    (decode_ushort),      0,        65535      },
-{ 98,  "NominalGrantInterval", 		20,  80,  (encode_uint),      (decode_uint),        0,        0          },
-{ 99,  "ToleratedGrantJitter", 		21,  80,  (encode_uint),      (decode_uint),        0,        0          },
-{ 100, "GrantsPerInterval",    		22,  80,  (encode_uchar),     (decode_uchar),       0,        127        },
-{ 101, "IpTosOverwrite",       		23,  80,  (encode_hexstr),    (decode_hexstr),      2,        2          },
+{ 80,     "UsServiceFlow",                     24,     0,      (encode_nothing),        (decode_aggregate),      0,           0             },
+{ 81,     "UsServiceFlowRef",                  1,      80,     (encode_ushort),         (decode_ushort),         1,           65535         },
+{ 82,     "UsServiceFlowId",                   2,      80,     (encode_uint),           (decode_uint),           1,           0xFFFFFFFF    },
+{ 83,     "ServiceClassName",                  4,      80,     (encode_strzero),        (decode_strzero),        2,           16            },
+{ 84,     "QosParamSetType",                   6,      80,     (encode_uchar),          (decode_uchar),          0,           255           },
+{ 85,     "TrafficPriority",                   7,      80,     (encode_uchar),          (decode_uchar),          0,           7             },
+{ 86,     "MaxRateSustained",                  8,      80,     (encode_uint),           (decode_uint),           0,           0             },
+{ 87,     "MaxTrafficBurst",                   9,      80,     (encode_uint),           (decode_uint),           0,           0             },
+{ 88,     "MinReservedRate",                   10,     80,     (encode_uint),           (decode_uint),           0,           0             },
+{ 89,     "MinResPacketSize",                  11,     80,     (encode_ushort),         (decode_ushort),         0,           65535         },
+{ 90,     "ActQosParamsTimeout",               12,     80,     (encode_ushort),         (decode_ushort),         0,           65535         },
+{ 91,     "AdmQosParamsTimeout",               13,     80,     (encode_ushort),         (decode_ushort),         0,           65535         },
+{ 92,     "MaxConcatenatedBurst",              14,     80,     (encode_ushort),         (decode_ushort),         0,           65535         },
+{ 93,     "SchedulingType",                    15,     80,     (encode_uchar),          (decode_uchar),          0,           6             },
+{ 94,     "RequestOrTxPolicy",                 16,     80,     (encode_hexstr),         (decode_hexstr),         4,           4             },
+{ 95,     "NominalPollInterval",               17,     80,     (encode_uint),           (decode_uint),           0,           0             },
+{ 96,     "ToleratedPollJitter",               18,     80,     (encode_uint),           (decode_uint),           0,           0             },
+{ 97,     "UnsolicitedGrantSize",              19,     80,     (encode_ushort),         (decode_ushort),         0,           65535         },
+{ 98,     "NominalGrantInterval",              20,     80,     (encode_uint),           (decode_uint),           0,           0             },
+{ 99,     "ToleratedGrantJitter",              21,     80,     (encode_uint),           (decode_uint),           0,           0             },
+{ 100,    "GrantsPerInterval",                 22,     80,     (encode_uchar),          (decode_uchar),          0,           127           },
+{ 101,    "IpTosOverwrite",                    23,     80,     (encode_hexstr),         (decode_hexstr),         2,           2             },
+/* TLV 24 Upstream Service Flow */
+{ 192,    "VendorSpecific",                    43,     80,     (encode_nothing),        (decode_aggregate),      0,           0             }, /* 24.43 */
+{ 194,    "L2VPNEncoding",                     5,      192,    (encode_nothing),        (decode_aggregate),      0,           0             }, /* 24.43.5 */
+{ 195,    "VPNIdentifier",                     1,      194,    (encode_string),         (decode_string),         4,           255           }, /* 24.43.5.1 */
+{ 193,    "VendorIdentifier",                  8,      192,    (encode_hexstr),         (decode_hexstr),         3,           3             }, /* 24.43.8 */
 
 /* Downstream Service Flow */
 
-{ 102, "DsServiceFlow",        		25,  0,   (encode_nothing),   (decode_aggregate),   0,        0          },
-{ 103, "DsServiceFlowRef",     		1,   102, (encode_ushort),    (decode_ushort),      1,        65535      },
-{ 104, "DsServiceFlowId",      		2,   102, (encode_uint),      (decode_uint),        1,        0xFFFFFFFF },
-{ 105, "ServiceClassName",     		4,   102, (encode_strzero),   (decode_strzero),     2,        16         },
-{ 106, "QosParamSetType",      		6,   102, (encode_uchar),     (decode_uchar),       0,        255        },
-{ 107, "TrafficPriority",      		7,   102, (encode_uchar),     (decode_uchar),       0,        7          },
-{ 108, "MaxRateSustained",     		8,   102, (encode_uint),      (decode_uint),        0,        0xFFFFFFFF },
-{ 109, "MaxTrafficBurst",      		9,   102, (encode_uint),      (decode_uint),        0,        0xFFFFFFFF },
-{ 110, "MinReservedRate",      		10,  102, (encode_uint),      (decode_uint),        0,        0xFFFFFFFF },
-{ 111, "MinResPacketSize",     		11,  102, (encode_ushort),    (decode_ushort),      0,        65535      },
-{ 112, "ActQosParamsTimeout",  		12,  102, (encode_ushort),    (decode_ushort),      0,        65535      },
-{ 113, "AdmQosParamsTimeout",  		13,  102, (encode_ushort),    (decode_ushort),      0,        65535      },
-
-/* Downstream Service Flow Specific Params */
-
-{ 114, "MaxDsLatency",         		14,  102, (encode_uint),      (decode_uint),        0,        0          },
+{ 102,    "DsServiceFlow",                     25,     0,      (encode_nothing),        (decode_aggregate),      0,           0             },
+{ 103,    "DsServiceFlowRef",                  1,      102,    (encode_ushort),         (decode_ushort),         1,           65535         },
+{ 104,    "DsServiceFlowId",                   2,      102,    (encode_uint),           (decode_uint),           1,           0xFFFFFFFF    },
+{ 105,    "ServiceClassName",                  4,      102,    (encode_strzero),        (decode_strzero),        2,           16            },
+{ 106,    "QosParamSetType",                   6,      102,    (encode_uchar),          (decode_uchar),          0,           255           },
+{ 107,    "TrafficPriority",                   7,      102,    (encode_uchar),          (decode_uchar),          0,           7             },
+{ 108,    "MaxRateSustained",                  8,      102,    (encode_uint),           (decode_uint),           0,           0xFFFFFFFF    },
+{ 109,    "MaxTrafficBurst",                   9,      102,    (encode_uint),           (decode_uint),           0,           0xFFFFFFFF    },
+{ 110,    "MinReservedRate",                   10,     102,    (encode_uint),           (decode_uint),           0,           0xFFFFFFFF    },
+{ 111,    "MinResPacketSize",                  11,     102,    (encode_ushort),         (decode_ushort),         0,           65535         },
+{ 112,    "ActQosParamsTimeout",               12,     102,    (encode_ushort),         (decode_ushort),         0,           65535         },
+{ 113,    "AdmQosParamsTimeout",               13,     102,    (encode_ushort),         (decode_ushort),         0,           65535         },
+{ 114,    "MaxDsLatency",                      14,     102,    (encode_uint),           (decode_uint),           0,           0             },
+/* TLV 25 - Downstream Service Flow */
+{ 196,    "VendorSpecific",                    43,     102,    (encode_nothing),        (decode_aggregate),      0,           0             }, /* 25.43 */
+{ 197,    "VendorIdentifier",                  8,      196,    (encode_hexstr),         (decode_hexstr),         3,           3             }, /* 25.43.8 */
+{ 198,    "L2VPNEncoding",                     5,      196,    (encode_nothing),        (decode_aggregate),      0,           0             }, /* 25.43.5 */
+{ 199,    "VPNIdentifier",                     1,      198,    (encode_string),         (decode_string),         4,           255           }, /* 25.43.5.1 */
 
 /* Payload Header Suppression - Appendix C.2.2.8 */
 
-{ 115, "PHS",                  		26,  0,   (encode_nothing),   (decode_aggregate),   0,        0          },
-{ 116, "PHSClassifierRef",        	1,   115, (encode_uchar),     (decode_uchar),       1,        255        },
-{ 117, "PHSClassifierId",         	2,   115, (encode_ushort),    (decode_ushort),      1,        65535      },
-{ 118, "PHSServiceFlowRef",       	3,   115, (encode_ushort),    (decode_ushort),      1,        65535      },
-{ 119, "PHSServiceFlowId",        	4,   115, (encode_uint),      (decode_uint),        1,        0xFFFFFFFF },
-/* Payload Header Suppression Rule - Appendix C.2.2.10 */
-{ 120, "PHSField",        		7,   115, (encode_hexstr),    (decode_hexstr),      1,        255	      },
-{ 121, "PHSIndex",        		8,   115, (encode_uchar),     (decode_uchar),       1,        255	      },
-{ 122, "PHSMask",        		9,   115, (encode_hexstr),    (decode_hexstr),      1,        255	      },
-{ 123, "PHSSize",        		10,  115, (encode_uchar),     (decode_uchar),       1,        255	      },
-{ 124, "PHSVerify",        		11,  115, (encode_uchar),     (decode_uchar),       0,        1	      },
-
-{ 125, "MaxClassifiers",       		28,  0,   (encode_ushort),    (decode_ushort),      0,        0          },
-{ 126, "GlobalPrivacyEnable",  		29,  0,   (encode_uchar),     (decode_uchar),       0,        0          },
+{ 115,    "PHS",                               26,     0,      (encode_nothing),        (decode_aggregate)   ,   0,           0             },
+{ 116,    "PHSClassifierRef",                  1,      115,    (encode_uchar),          (decode_uchar),          1,           255           },
+{ 117,    "PHSClassifierId",                   2,      115,    (encode_ushort),         (decode_ushort),         1,           65535         },
+{ 118,    "PHSServiceFlowRef",                 3,      115,    (encode_ushort),         (decode_ushort),         1,           65535         },
+{ 119,    "PHSServiceFlowId",                  4,      115,    (encode_uint),           (decode_uint),           1,           0xFFFFFFFF    },
+{ 120,    "PHSField",                          7,      115,    (encode_hexstr),         (decode_hexstr),         1,           255           },
+{ 121,    "PHSIndex",                          8,      115,    (encode_uchar),          (decode_uchar),          1,           255           },
+{ 122,    "PHSMask",                           9,      115,    (encode_hexstr),         (decode_hexstr),         1,           255           },
+{ 123,    "PHSSize",                           10,     115,    (encode_uchar),          (decode_uchar),          1,           255           },
+{ 124,    "PHSVerify",                         11,     115,    (encode_uchar),          (decode_uchar),          0,           1             },
 
-/* BPI+ SubTLV's */
-
-{ 127, "SAMapWaitTimeout",     		8,   18,  (encode_uint),      (decode_uint),        1,        10         },
-{ 128, "SAMapMaxRetries",      		9,   18,  (encode_uint),      (decode_uint),        0,        10         },
+{ 125,    "MaxClassifiers",                    28,     0,      (encode_ushort),         (decode_ushort),         0,           0             },
+{ 126,    "GlobalPrivacyEnable",               29,     0,      (encode_uchar),          (decode_uchar),          0,           0             },
 
 /* ManufacturerCVC */
 
-{ 129, "MfgCVCData",           		32,   0,  (encode_hexstr),    (decode_hexstr),      0,        255        },
-
-/* Vendor Specific */
-{ 130, "VendorSpecific",       		43,   0,  (encode_nothing),   (decode_aggregate),   0,        0          },
-{ 131, "VendorIdentifier",     		8,  130,  (encode_hexstr),    (decode_hexstr),      3,        3          },
+{ 129,    "MfgCVCData",                        32,     0,      (encode_hexstr),         (decode_hexstr),         0,           255           },
+{ 170,    "ManufacturerCVC",                   32,     0,      (encode_nothing),        (decode_hexstr),         0,           255           },
+{ 171,    "CoSignerCVCData",                   33,     0,      (encode_hexstr),         (decode_hexstr),         0,           255           },
+{ 172,    "CoSignerCVC",                       33,     0,      (encode_nothing),        (decode_hexstr),         0,           255           },
 
 /* SNMPv3 Kickstart */
-{ 132, "SnmpV3Kickstart",   		34,   0,  (encode_nothing),   (decode_aggregate),   0,        0          },
+{ 132,    "SnmpV3Kickstart",                   34,     0,      (encode_nothing),        (decode_aggregate),      0,           0             }, /* 34 */
 /* TODO: SP-RFI-v2.0 says the SecurityName is UTF8 encoded */
-{ 133, "SnmpV3SecurityName",   		1,  132,  (encode_string),   (decode_string),  	 1,        16         },
-{ 134, "SnmpV3MgrPublicNumber", 	2,  132,  (encode_hexstr),    (decode_hexstr),   1,        514	      },
+{ 133,    "SnmpV3SecurityName",                1,      132,    (encode_string),         (decode_string),         1,           16            }, /* 34.1 */
+{ 134,    "SnmpV3MgrPublicNumber",             2,      132,    (encode_hexstr),         (decode_hexstr),         1,           514           }, /* 34.2 */
+
+{ 154,    "SubMgmtControl",                    35,     0,      (encode_hexstr),         (decode_hexstr),         3,           3             },
+{ 155,    "SubMgmtFilters",                    37,     0,      (encode_ushort_list),    (decode_ushort_list),    4,           4             },
 
 /* Snmpv3 Notification Receiver */
-{ 135, "SnmpV3TrapReceiver",   		38,   0,  (encode_nothing),   (decode_aggregate), 0,        0          },
-{ 136, "SnmpV3TrapRxIP", 		1,   135, (encode_ip),    	   (decode_ip),   0,        0          },
-{ 137, "SnmpV3TrapRxPort",     		2,   135, (encode_ushort),    (decode_ushort),   0,        0          },
-{ 138, "SnmpV3TrapRxType",     		3,   135, (encode_ushort),    (decode_ushort),   1,        5          },
-{ 139, "SnmpV3TrapRxTimeout",  		4,   135, (encode_ushort),    (decode_ushort),   0,        65535      },
-{ 140, "SnmpV3TrapRxRetries",  		5,   135, (encode_ushort),    (decode_ushort),   0,        65535      },
-{ 141, "SnmpV3TrapRxFilterOID",		6,   135, (encode_oid),       (decode_oid),  	 1,        5          },
-{ 142, "SnmpV3TrapRxSecurityName",	7,   135, (encode_string),   (decode_string),  	 1,        16         },
-{ 143, "DocsisTwoEnable",      		39,   0,  (encode_uchar),     (decode_uchar),    0,        1          },
-/* Modem Capabilities Encodings */
-{ 144, "ModemCapabilities",             5,   0,   (encode_nothing),   (decode_aggregate), 0,      0      },
-{ 145, "ConcatenationSupport",          1,   144, (encode_uchar),     (decode_uchar),           0,      1       },
-{ 146, "ModemDocsisVersion",            2,   144, (encode_uchar),     (decode_uchar),           0,      2       },
-{ 147, "FragmentationSupport",          3,   144, (encode_uchar),     (decode_uchar),           0,      1       },
-{ 148, "PHSSupport",          		4,   144, (encode_uchar),     (decode_uchar),           0,      1       },
-{ 149, "IGMPSupport",          		5,   144, (encode_uchar),     (decode_uchar),           0,      1       },
-{ 150, "BaselinePrivacySupport",	6,   144, (encode_uchar),     (decode_uchar),           0,      1       },
-{ 151, "DownstreamSAIDSupport",		7,   144, (encode_uchar),     (decode_uchar),           0,      255       },
-{ 152, "UpstreamSIDSupport",		8,   144, (encode_uchar),     (decode_uchar),           0,      255       },
-{ 153, "DCCSupport",			12,  144, (encode_uchar),     (decode_uchar),           0,      1       },
-{ 154, "SubMgmtControl", 		35,  0,	  (encode_hexstr),    (decode_hexstr), 		3,	3 	},
-{ 155, "SubMgmtFilters", 		37,  0,	  (encode_ushort_list), (decode_ushort_list), 	4,	4 	},
-/*{ 156, "SnmpMibObject",   		64, 0,    (encode_nothing),     (decode_snmp_object),    1,        2048       },*/
-/* PacketCable MTA Configuration File Delimiter  */
-{ 157, "MtaConfigDelimiter",   		254, 0,   (encode_uchar),     (decode_uchar),    1,        255        },
-{ 158, "DsChannelList",   		41, 0,    (encode_nothing),     (decode_aggregate),    1,        255        },
-{ 159, "SingleDsChannel",   		1, 158,   (encode_nothing),     (decode_aggregate),    1,        255        },
-{ 160, "SingleDsTimeout",   		1, 159,   (encode_ushort),     (decode_ushort),    0,        65535 },
-{ 161, "SingleDsFrequency",   		2, 159,   (encode_uint),     (decode_uint),    0,        0xFFFFFFFF },
-{ 162, "DsFreqRange",   		2, 158,   (encode_nothing),     (decode_aggregate),    1,        255        },
-{ 163, "DsFreqRangeTimeout",   		1, 162,   (encode_ushort),     (decode_ushort),    0,        65535 },
-{ 164, "DsFreqRangeStart",   		2, 162,   (encode_uint),     (decode_uint),    0,        0xFFFFFFFF },
-{ 165, "DsFreqRangeEnd",   		3, 162,   (encode_uint),     (decode_uint),    0,        0xFFFFFFFF },
-{ 166, "DsFreqRangeStepSize",   	4, 162,   (encode_uint),     (decode_uint),    0,        0xFFFFFFFF },
-{ 167, "DefaultScanTimeout",   		3, 158,   (encode_ushort),     (decode_ushort),    0,        65535 },
-{ 168, "TftpTimestamp",   		19, 0,    (encode_uint),     (decode_uint),    0,        0xFFFFFFFF        },
-{ 169, "TftpModemAddress",   		20, 0,    (encode_ip),     (decode_ip),    0,        0     },
-{ 170, "ManufacturerCVC",      		32,   0,  (encode_nothing),    (decode_hexstr),      0,        255    },
-{ 171, "CoSignerCVCData",      		33,   0,  (encode_hexstr),    (decode_hexstr),      0,        255    },
-{ 172, "CoSignerCVC",      		33,   0,  (encode_nothing),    (decode_hexstr),      0,        255    },
+{ 135,    "SnmpV3TrapReceiver",                38,     0,      (encode_nothing),        (decode_aggregate),      0,           0             }, /* 38 */
+{ 136,    "SnmpV3TrapRxIP",                    1,      135,    (encode_ip),             (decode_ip),             0,           0             },
+{ 137,    "SnmpV3TrapRxPort",                  2,      135,    (encode_ushort),         (decode_ushort),         0,           0             },
+{ 138,    "SnmpV3TrapRxType",                  3,      135,    (encode_ushort),         (decode_ushort),         1,           5             },
+{ 139,    "SnmpV3TrapRxTimeout",               4,      135,    (encode_ushort),         (decode_ushort),         0,           65535         },
+{ 140,    "SnmpV3TrapRxRetries",               5,      135,    (encode_ushort),         (decode_ushort),         0,           65535         },
+{ 141,    "SnmpV3TrapRxFilterOID",             6,      135,    (encode_oid),            (decode_oid),            1,           5             },
+{ 142,    "SnmpV3TrapRxSecurityName",          7,      135,    (encode_string),         (decode_string),         1,           16            },
+
+{ 143,    "DocsisTwoEnable",                   39,     0,      (encode_uchar),          (decode_uchar),          0,           1             },
+
+{ 158,    "DsChannelList",                     41,     0,      (encode_nothing),        (decode_aggregate),      1,           255           },
+{ 159,    "SingleDsChannel",                   1,      158,    (encode_nothing),        (decode_aggregate),      1,           255           },
+{ 160,    "SingleDsTimeout",                   1,      159,    (encode_ushort),         (decode_ushort),         0,           65535         },
+{ 161,    "SingleDsFrequency",                 2,      159,    (encode_uint),           (decode_uint),           0,           0xFFFFFFFF    },
+{ 162,    "DsFreqRange",                       2,      158,    (encode_nothing),        (decode_aggregate),      1,           255           },
+{ 163,    "DsFreqRangeTimeout",                1,      162,    (encode_ushort),         (decode_ushort),         0,           65535         },
+{ 164,    "DsFreqRangeStart",                  2,      162,    (encode_uint),           (decode_uint),           0,           0xFFFFFFFF    },
+{ 165,    "DsFreqRangeEnd",                    3,      162,    (encode_uint),           (decode_uint),           0,           0xFFFFFFFF    },
+{ 166,    "DsFreqRangeStepSize",               4,      162,    (encode_uint),           (decode_uint),           0,           0xFFFFFFFF    },
+{ 167,    "DefaultScanTimeout",                3,      158,    (encode_ushort),         (decode_ushort),         0,           65535         },
+
+/* DOCSIS Extension Field - Vendor Specific */
+{ 130,    "VendorSpecific",                    43,     0,      (encode_nothing),        (decode_aggregate),      0,           0             }, /* 43 */
+{ 188,    "L2VPNEncoding",                     5,      130,    (encode_nothing),        (decode_aggregate),      0,           0             }, /* 43.5 */
+{ 189,    "VPNIdentifier",                     1,      188,    (encode_string),         (decode_string),         4,           255           }, /* 43.5.1 */
+{ 190,    "NSIEncapsulation",                  2,      188,    (encode_nothing),        (decode_aggregate),      0,           0             }, /* 43.5.2 */
+{ 191,    "NSIEncapsulationSingleQTag",        2,      190,    (encode_ushort),         (decode_ushort),         1,           4095          }, /* 43.5.2.2 */
+{ 191,    "NSIEncapsulationDualQTag",          3,      190,    (encode_dual_qtag),      (decode_dual_qtag),      0,           0             }, /* 43.5.2.3 */
+{ 131,    "VendorIdentifier",                  8,      130,    (encode_hexstr),         (decode_hexstr),         3,           3             }, /* 43.8 */
+
+{ 208,    "DUTFiltering",                      45,     0,      (encode_nothing),        (decode_aggregate),      0,           0             }, /* 45 */
+{ 209,    "DUTControl",                        1,      208,    (encode_uchar),          (decode_uchar),          0,           1             }, /* 45.1 */
+{ 210,    "DUTCMIM",                           2,      208,    (encode_hexstr),         (decode_hexstr),         0,           0             }, /* 45.2 */
+
+/* Channel Assignment Configuration Settings per Docsis3.1 CM-SP-MULPIv3.1-I01-131029 Annex C C.1.2.15 */
+{ 185,    "ChannelAssignmentConfig",           56,     0,      (encode_nothing),        (decode_aggregate),      0,           0             }, /* 56 */
+{ 186,    "CaTransmit",                        1,      185,    (encode_uchar),          (decode_uchar),          0,           255           },
+{ 187,    "CaReceive",                         2,      185,    (encode_uint),           (decode_uint),           88000000,    860000000     },
 
 /* IPv6 */
-{ 173, "SwUpgradeServer6",    	58,  0,   (encode_ip6),        (decode_ip6),          0,        0          },
-{ 174, "SubMgmtControl6", 		63,  0,	  (encode_hexstr),    (decode_hexstr), 		2,	2 	},
+{ 173,    "SwUpgradeServer6",                  58,     0,      (encode_ip6),            (decode_ip6),            0,           0             },
+{ 174,    "SubMgmtControl6",                   63,     0,      (encode_hexstr),         (decode_hexstr),         2,           2             },
 
-/* eRouter TLVs */
-{ 175,  "eRouter",                    202,  0,    (encode_nothing),  (decode_aggregate),  0,  0    },
-{ 176,  "InitializationMode",         1,    175,  (encode_uchar),    (decode_uchar),      0,  255  },
-{ 177,  "TR69ManagementServer",       2,    175,  (encode_nothing),  (decode_aggregate),  0,  0    },
-{ 178,  "EnableCWMP",                 1,    177,  (encode_uchar),    (decode_uchar),      0,  1    },
-{ 179,  "URL",                        2,    177,  (encode_string),   (decode_string),     0,  0    },
-{ 180,  "Username",                   3,    177,  (encode_string),   (decode_string),     0,  0    },
-{ 181,  "Password",    		          4,    177,  (encode_string),   (decode_string),     0,  0    },
-{ 182,  "ConnectionRequestUsername",  5,    177,  (encode_string),   (decode_string),     0,  0    },
-{ 183,  "ConnectionRequestPassword",  6,    177,  (encode_string),   (decode_string),     0,  0    },
-{ 184,  "ACSOverride",                7,    177,  (encode_uchar),    (decode_uchar),      0,  1    },
+/*{ 156, "SnmpMibObject",                    64, 0,    (encode_nothing),     (decode_snmp_object),    1,        2048       },*/
 
-/* Channel Assignment Configuration Settings per Docsis3.1 CM-SP-MULPIv3.1-I01-131029 Annex C C.1.2.15 */
-{ 185,  "ChannelAssignmentConfig",    56,   0,    (encode_nothing),  (decode_aggregate),  0,         0          },
-{ 186,  "CaTransmit",                 1,    185,  (encode_uchar),    (decode_uchar),      0,         255        },
-{ 187,  "CaReceive",                  2,    185,  (encode_uint),     (decode_uint),       88000000,  860000000  },
-
-/* L2VPN BSoD support  */
-{ 188,  "L2VPNEncoding",               5,    130,  (encode_nothing),  (decode_aggregate),  0,         0          }, /* 43.5 */
-{ 189,  "VPNIdentifier",               1,    188,  (encode_string),   (decode_string),     4,         255        }, /* 43.5.1 */
-{ 190,  "NSIEncapsulation",            2,    188,  (encode_nothing),  (decode_aggregate),  0,         0          }, /* 43.5.2 */
-{ 191,  "NSIEncapsulationSingleQTag",  2,    190,  (encode_ushort),   (decode_ushort),     1,         4095       }, /* 43.5.2.2 */
-/* TLV 24 Upstream Service Flow */
-{ 192,  "VendorSpecific",              43,   80,   (encode_nothing),  (decode_aggregate),  0,         0          }, /* 24.43 */
-{ 193,  "VendorIdentifier",    		   8,    192,  (encode_hexstr),   (decode_hexstr),     3,         3          }, /* 24.43.8 */
-{ 194,  "L2VPNEncoding",               5,    192,  (encode_nothing),  (decode_aggregate),  0,         0          }, /* 24.43.5 */
-{ 195,  "VPNIdentifier",               1,    194,  (encode_string),   (decode_string),     4,         255        }, /* 24.43.5.1 */
-/* TLV 25 - Downstream Service Flow */
-{ 196,  "VendorSpecific",              43,   102,  (encode_nothing),  (decode_aggregate),  0,         0          }, /* 25.43 */
-{ 197,  "VendorIdentifier",    		   8,    196,  (encode_hexstr),   (decode_hexstr),     3,         3          }, /* 25.43.8 */
-{ 198,  "L2VPNEncoding",               5,    196,  (encode_nothing),  (decode_aggregate),  0,         0          }, /* 25.43.5 */
-{ 199,  "VPNIdentifier",               1,    198,  (encode_string),   (decode_string),     4,         255        }, /* 25.43.5.1 */
-/* TLV 22 - Upstream Packet Classification */
-{ 200,  "VendorSpecific",              43,   28,   (encode_nothing),  (decode_aggregate),  0,         0          }, /* 22.43 */
-{ 201,  "VendorIdentifier",    		   8,    200,  (encode_hexstr),   (decode_hexstr),     3,         3          }, /* 22.43.8 */
-{ 202,  "L2VPNEncoding",               5,    200,  (encode_nothing),  (decode_aggregate),  0,         0          }, /* 22.43.5 */
-{ 203,  "VPNIdentifier",               1,    202,  (encode_string),   (decode_string),     4,         255        }, /* 22.43.5.1 */
-/* TLV 23 - Downstream Packet Classification */
-{ 204,  "VendorSpecific",              43,   54,   (encode_nothing),  (decode_aggregate),  0,         0          }, /* 23.43 */
-{ 205,  "VendorIdentifier",    		   8,    204,  (encode_hexstr),   (decode_hexstr),     3,         3          }, /* 23.43.8 */
-{ 206,  "L2VPNEncoding",               5,    204,  (encode_nothing),  (decode_aggregate),  0,         0          }, /* 23.43.5 */
-{ 207,  "VPNIdentifier",               1,    206,  (encode_string),   (decode_string),     4,         255        }, /* 23.43.5.1 */
-
-{ 191,  "NSIEncapsulationDualQTag",    3,    190,  (encode_dual_qtag),   (decode_dual_qtag),  0,      0          }, /* 43.5.2.3 */
-
-{ 208,  "DUTFiltering",                45,   0,    (encode_nothing),  (decode_aggregate),  0,         0          }, /* 45 */
-{ 209,  "DUTControl",                  1,    208,  (encode_uchar),    (decode_uchar),      0,         1          }, /* 45.1 */
-{ 210,  "DUTCMIM",                     2,    208,  (encode_hexstr),   (decode_hexstr),     0,         0          }, /* 45.2 */
-
-{ 211,  "PcIPv6PacketClassification",  12,   28,   (encode_nothing),  (decode_aggregate),  0,         0          }, /* 22.12 */
-{ 212,  "PcIPv6TrafficClassRangeAndMask", 1, 211,  (encode_hexstr),   (decode_hexstr),     0,         0          }, /* 22.12.1 */
-{ 213,  "PcIPv6FlowLabel",             2,    211,  (encode_hexstr),   (decode_hexstr),     4,         4          }, /* 22.12.2 */
-{ 214,  "PcIPv6NextHeaderType",        3,    211,  (encode_ushort),   (decode_ushort),     0,         257        }, /* 22.12.3 */
-{ 215,  "PcIPv6SourceAddress",         4,    211,  (encode_ip6),      (decode_ip6),        0,         0          }, /* 22.12.4 */
-{ 216,  "PcIPv6SourcePrefixLength",    5,    211,  (encode_uchar),    (decode_uchar),      0,         128        }, /* 22.12.5 */
-{ 217,  "PcIPv6DestAddress",           6,    211,  (encode_ip6),      (decode_ip6),        0,         0          }, /* 22.12.6 */
-{ 218,  "PcIPv6DestPrefixLength",      7,    211,  (encode_uchar),    (decode_uchar),      0,         128        }, /* 22.12.7 */
-
-{ 219,  "PcCMIMEncoding",              13,   28,   (encode_hexstr),   (decode_hexstr),     0,         0          }, /* 22.13 */
-
-{ 211,  "PcIPv6PacketClassification",  12,   54,   (encode_nothing),  (decode_aggregate),  0,         0          }, /* 23.12 */
-{ 212,  "PcIPv6TrafficClassRangeAndMask", 1, 211,  (encode_hexstr),   (decode_hexstr),     0,         0          }, /* 23.12.1 */
-{ 213,  "PcIPv6FlowLabel",             2,    211,  (encode_hexstr),   (decode_hexstr),     4,         4          }, /* 23.12.2 */
-{ 214,  "PcIPv6NextHeaderType",        3,    211,  (encode_ushort),   (decode_ushort),     0,         257        }, /* 23.12.3 */
-{ 215,  "PcIPv6SourceAddress",         4,    211,  (encode_ip6),      (decode_ip6),        0,         0          }, /* 23.12.4 */
-{ 216,  "PcIPv6SourcePrefixLength",    5,    211,  (encode_uchar),    (decode_uchar),      0,         128        }, /* 23.12.5 */
-{ 217,  "PcIPv6DestAddress",           6,    211,  (encode_ip6),      (decode_ip6),        0,         0          }, /* 23.12.6 */
-{ 218,  "PcIPv6DestPrefixLength",      7,    211,  (encode_uchar),    (decode_uchar),      0,         128        }, /* 23.12.7 */
+/* eRouter TLVs */
+{ 175,    "eRouter",                           202,    0,      (encode_nothing),        (decode_aggregate),      0,           0             },
+{ 176,    "InitializationMode",                1,      175,    (encode_uchar),          (decode_uchar),          0,           255           },
+{ 177,    "TR69ManagementServer",              2,      175,    (encode_nothing),        (decode_aggregate),      0,           0             },
+{ 178,    "EnableCWMP",                        1,      177,    (encode_uchar),          (decode_uchar),          0,           1             },
+{ 179,    "URL",                               2,      177,    (encode_string),         (decode_string),         0,           0             },
+{ 180,    "Username",                          3,      177,    (encode_string),         (decode_string),         0,           0             },
+{ 181,    "Password",                          4,      177,    (encode_string),         (decode_string),         0,           0             },
+{ 182,    "ConnectionRequestUsername",         5,      177,    (encode_string),         (decode_string),         0,           0             },
+{ 183,    "ConnectionRequestPassword",         6,      177,    (encode_string),         (decode_string),         0,           0             },
+{ 184,    "ACSOverride",                       7,      177,    (encode_uchar),          (decode_uchar),          0,           1             },
+
+/* A little more organized -> Start with 227 */
 
 /* Generic TLV ... we only use the limits, code and length don't matter ...*/
-{ 998, "GenericTLV",           		0, 0,     (encode_nothing),   (decode_special),  0,        0        },
-{ 999, "/*EndOfDataMkr*/",     		255, 0,   (encode_nothing),   (decode_special),  0,        0          }
+{ 998,    "GenericTLV",                        0, 0,           (encode_nothing),        (decode_special),        0,           0             },
+/* PacketCable MTA Configuration File Delimiter  */
+{ 157,    "MtaConfigDelimiter",                254,    0,      (encode_uchar),          (decode_uchar),          1,           255           },
+{ 999,    "/*EndOfDataMkr*/",                  255,    0,      (encode_nothing),        (decode_special),        0,           0             }
 };
 
 #endif /* _DOCSIS_SYMTABLE_H */