Browse Source

Added TLV 22.43.9 support (CM Attribute Masks).

AdrianSimionov 10 years ago
parent
commit
63dd80c5f8

+ 1 - 1
src/docsis_common.h

@@ -31,7 +31,7 @@
 
 
 #ifndef NUM_IDENTIFIERS
-#define NUM_IDENTIFIERS 462
+#define NUM_IDENTIFIERS 467
 #endif /*  NUM_IDENTIFIERS, needed in docsis_symtable.h  */
 
 #define MAXINT 2000000000

+ 7 - 2
src/docsis_symtable.h

@@ -313,7 +313,12 @@ symbol_type symtable[NUM_IDENTIFIERS] =  {
 { 452,    "SAVStaticPrefixRule",               2,      450,    (encode_nothing),        (decode_aggregate),      0,           0             }, /* TLV 22.43.7.2 MULPIv3.0-I24 Annex C.1.1.18.1.7.2 */
 { 453,    "SAVStaticPrefixAddress",            1,      452,    (encode_ip_ip6),         (decode_ip_ip6),         0,           0             }, /* TLV 22.43.7.2.1 MULPIv3.0-I24 Annex C.1.1.18.1.7.2.1 */
 { 454,    "SAVStaticPrefixLength",             2,      452,    (encode_uchar),          (decode_uchar),          0,           0             }, /* TLV 22.43.7.2.2 MULPIv3.0-I24 Annex C.1.1.18.1.7.2.2 */
-{ 201,    "VendorIdentifier",                  8,      200,    (encode_hexstr),         (decode_hexstr),         3,           3             }, /* TLV 22.43.8 */
+{ 201,    "VendorIdentifier",                  8,      200,    (encode_hexstr),         (decode_hexstr),         3,           3             }, /* TLV 22.43.8 MULPIv3.0-I24 Annex C.2.1.11 */
+{ 455,    "CMAttributeMasks",                  9,      200,    (encode_nothing),        (decode_aggregate),      0,           0             }, /* TLV 22.43.9 MULPIv3.0-I24 Annex C.1.1.18.1.8 */
+{ 456,    "CMDownstreamRequiredAttributeMask", 1,      455,    (encode_hexstr),         (decode_hexstr),         4,           4             }, /* TLV 22.43.9.1 MULPIv3.0-I24 Annex C.1.1.18.1.8.1 */
+{ 457,    "CMDownstreamForbiddenAttributeMask", 2,     455,    (encode_hexstr),         (decode_hexstr),         4,           4             }, /* TLV 22.43.9.2 MULPIv3.0-I24 Annex C.1.1.18.1.8.2 */
+{ 458,    "CMUpstreamRequiredAttributeMask",   3,      455,    (encode_hexstr),         (decode_hexstr),         4,           4             }, /* TLV 22.43.9.3 MULPIv3.0-I24 Annex C.1.1.18.1.8.3 */
+{ 459,    "CMUpstreamForbiddenAttributeMask",  4,      455,    (encode_hexstr),         (decode_hexstr),         4,           4             }, /* TLV 22.43.9.4 MULPIv3.0-I24 Annex C.1.1.18.1.8.4 */
 
 /* TODO: Vendor Specific support in the IEEE802Classifier */
 
@@ -556,7 +561,7 @@ symbol_type symtable[NUM_IDENTIFIERS] =  {
 { 236,    "SNMPv3AccessViewMask",              3,      233,    (encode_hexstr),         (decode_hexstr),         2,           2             }, /* TLV 202.54.3 eRouter-I12 Annex B.4.6.3 */
 { 237,    "SNMPv3AccessViewType",              4,      233,    (encode_uchar),          (decode_uchar),          1,           2             }, /* TLV 202.54.4 eRouter-I12 Annex B.4.6.4 */
 
-/* A little more organized -> Start with 455 */
+/* A little more organized -> Start with 460 */
 
 /* Generic TLV ... we only use the limits, code and length don't matter ...*/
 { 998,    "GenericTLV",                        0,      0,      (encode_nothing),        (decode_special),        0,           0             },

BIN
tests/TLV_22_43_9_CMAttributeMasks.cm


+ 33 - 0
tests/TLV_22_43_9_CMAttributeMasks.conf

@@ -0,0 +1,33 @@
+Main 
+{
+	UsPacketClass
+	{
+		VendorSpecific
+		{
+			VendorIdentifier 0xffffff;
+			CMAttributeMasks
+			{
+				CMDownstreamRequiredAttributeMask 0x00000000;
+				CMDownstreamForbiddenAttributeMask 0x00000000;
+				CMUpstreamRequiredAttributeMask 0x00000000;
+				CMUpstreamForbiddenAttributeMask 0xe0000001;
+			}
+		}
+		ClassifierRef 1;
+		ServiceFlowRef 1;
+	}
+	NetworkAccess 1;
+	UsServiceFlow
+	{
+		UsServiceFlowRef 1;
+		QosParamSetType 7;
+	}
+	DsServiceFlow
+	{
+		DsServiceFlowRef 2;
+		QosParamSetType 7;
+	}
+	/* CmMic 4423022bf5735083c78cae21f4b2b59e; */
+	/* CmtsMic eb35a6c7fd9c552d9e1af0ac84506837; */
+	/*EndOfDataMkr*/
+}

+ 30 - 0
tests/TLV_22_43_9_CMAttributeMasks.txt

@@ -0,0 +1,30 @@
+Main 
+{
+UsPacketClass
+{
+VendorSpecific
+{
+VendorIdentifier 0xffffff;
+CMAttributeMasks
+{
+CMDownstreamRequiredAttributeMask 0x00000000;
+CMDownstreamForbiddenAttributeMask 0x00000000;
+CMUpstreamRequiredAttributeMask 0x00000000;
+CMUpstreamForbiddenAttributeMask 0xe0000001;
+}
+}
+ClassifierRef 1;
+ServiceFlowRef 1;
+}
+NetworkAccess 1;
+UsServiceFlow
+{
+UsServiceFlowRef 1;
+QosParamSetType 7;
+}
+DsServiceFlow
+{
+DsServiceFlowRef 2;
+QosParamSetType 7;
+}
+}