]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
Commit failing tests
authorArran Cudbard-Bell <a.cudbardb@freeradius.org>
Tue, 24 Nov 2020 15:23:38 +0000 (08:23 -0700)
committerArran Cudbard-Bell <a.cudbardb@freeradius.org>
Thu, 26 Nov 2020 17:18:37 +0000 (10:18 -0700)
src/tests/unit/protocols/radius/pair.txt
src/tests/unit/protocols/radius/struct.txt
src/tests/unit/protocols/radius/vendor.txt
src/tests/unit/protocols/radius/wimax.txt

index ae54904059da2fa22c78e5a9ba0394841058eeca..cd8143319fd2f91e27094ab02dd0c16992f47f73 100644 (file)
@@ -8,16 +8,14 @@ match User-Name = "bob"
 #
 #  Only WiMAX really has nested TLVs
 #
-#  And we don't print out the leading contexts :(
-#
-pair WiMAX-Source-IPAddress = 127.0.0.1
-match WiMAX-Source-IPAddress = 127.0.0.1
+#pair Vendor-Specific.WiMAX.Packet-Flow-Descriptor.Classifier.Src-Spec.IPAddress = 127.0.0.1
+#match Vendor-Specific.WiMAX.Packet-Flow-Descriptor.Classifier.Src-Spec.IPAddress = 127.0.0.1
 
-pair WiMAX-Packet-Flow-Descriptor.WiMAX-Classifier.WiMAX-Source-Specification, .WiMAX-Source-IPAddress = 127.0.0.1
-match WiMAX-Source-IPAddress = 127.0.0.1
+#pair WiMAX-Packet-Flow-Descriptor.WiMAX-Classifier.WiMAX-Source-Specification, .WiMAX-Source-IPAddress = 127.0.0.1
+#match WiMAX-Source-IPAddress = 127.0.0.1
 
-pair WiMAX-Packet-Flow-Descriptor.WiMAX-Classifier.WiMAX-Source-Specification, .WiMAX-Source-IPAddress = 127.0.0.1, ..WiMAX-Destination-Specification, .WiMAX-Destination-IPAddress = 127.0.0.2
-match WiMAX-Source-IPAddress = 127.0.0.1, WiMAX-Destination-IPAddress = 127.0.0.2
+#pair WiMAX-Packet-Flow-Descriptor.WiMAX-Classifier.WiMAX-Source-Specification, .WiMAX-Source-IPAddress = 127.0.0.1, ..WiMAX-Destination-Specification, .WiMAX-Destination-IPAddress = 127.0.0.2
+#match WiMAX-Source-IPAddress = 127.0.0.1, WiMAX-Destination-IPAddress = 127.0.0.2
 
 count
-match 10
+match 4
index 0bad34e9cb43fc6e404bc8dde8cc41a9cfa4eb39..14b1af143a385201a7cd4fb2595d6e8231ad64ee 100644 (file)
@@ -4,58 +4,58 @@ proto-dictionary radius
 #
 #  Structs in RADIUS
 #
-encode-pair Unit-Struct1-Int1 = 1, Unit-Struct1-Int2 = 2, Unit-Struct1-Short = 4, Unit-Struct1-String = "foo"
+encode-pair Extended-Attribute-1.Unit-Ext-241-Struct1.Unit-Struct1-Int1 = 1, Extended-Attribute-1.Unit-Ext-241-Struct1.Unit-Struct1-Int2 = 2, Extended-Attribute-1.Unit-Ext-241-Struct1.Unit-Struct1-Short = 4, Extended-Attribute-1.Unit-Ext-241-Struct1.Unit-Struct1-String = "foo"
 match f1 10 f7 00 00 00 01 00 00 00 02 00 04 66 6f 6f
 
 decode-pair -
-match Unit-Struct1-Int1 = 1, Unit-Struct1-Int2 = 2, Unit-Struct1-Short = 4, Unit-Struct1-String = "foo"
+match Extended-Attribute-1.Unit-Ext-241-Struct1.Unit-Struct1-Int1 = 1, Extended-Attribute-1.Unit-Ext-241-Struct1.Unit-Struct1-Int2 = 2, Extended-Attribute-1.Unit-Ext-241-Struct1.Unit-Struct1-Short = 4, Extended-Attribute-1.Unit-Ext-241-Struct1.Unit-Struct1-String = "foo"
 
 #
 # And structs where the last part is a TLV.
 #
 #  Note that we don't encode the TLV itself, only the children.
 #
-encode-pair Unit-Struct2-Int1 = 1, Unit-Struct2-Short = 4, Unit-Struct2-TLV-Int1 = 6, Unit-Struct2-TLV-Int2 = 7, Unit-Struct2-TLV-String = "foo"
+encode-pair Extended-Attribute-1.Unit-Ext-241-Struct2.Unit-Struct2-Int1 = 1, Extended-Attribute-1.Unit-Ext-241-Struct2.Unit-Struct2-Short = 4, Extended-Attribute-1.Unit-Ext-241-Struct2.Unit-Struct2-TLV.Unit-Struct2-TLV-Int1 = 6, Extended-Attribute-1.Unit-Ext-241-Struct2.Unit-Struct2-TLV.Unit-Struct2-TLV-Int2 = 7, Extended-Attribute-1.Unit-Ext-241-Struct2.Unit-Struct2-TLV.Unit-Struct2-TLV-String = "foo"
 match f1 1a f8 00 00 00 01 00 04 01 06 00 00 00 06 02 06 00 00 00 07 03 05 66 6f 6f
 
 decode-pair -
-match Unit-Struct2-Int1 = 1, Unit-Struct2-Short = 4, Unit-Struct2-TLV-Int1 = 6, Unit-Struct2-TLV-Int2 = 7, Unit-Struct2-TLV-String = "foo"
+match Extended-Attribute-1.Unit-Ext-241-Struct2.Unit-Struct2-Int1 = 1, Extended-Attribute-1.Unit-Ext-241-Struct2.Unit-Struct2-Short = 4, Extended-Attribute-1.Unit-Ext-241-Struct2.Unit-Struct2-TLV.Unit-Struct2-TLV-Int1 = 6, Extended-Attribute-1.Unit-Ext-241-Struct2.Unit-Struct2-TLV.Unit-Struct2-TLV-Int2 = 7, Extended-Attribute-1.Unit-Ext-241-Struct2.Unit-Struct2-TLV.Unit-Struct2-TLV-String = "foo"
 
-encode-pair Unit-Struct3-Int = 1, Unit-Struct3a-Ipaddr1 = 127.0.0.1, Unit-Struct3a-Ipaddr2 = 8.8.8.8
+encode-pair Extended-Attribute-1.Unit-Ext-241-Struct3.Unit-Struct3-Int = 1, Extended-Attribute-1.Unit-Ext-241-Struct3.Unit-Struct3-TLV.Unit-Struct3a.Unit-Struct3a-Ipaddr1 = 127.0.0.1, Extended-Attribute-1.Unit-Ext-241-Struct3.Unit-Struct3-TLV.Unit-Struct3a.Unit-Struct3a-Ipaddr2 = 8.8.8.8
 match f1 11 f9 00 00 00 01 01 0a 7f 00 00 01 08 08 08 08
 
 decode-pair -
-match Unit-Struct3-Int = 1, Unit-Struct3a-Ipaddr1 = 127.0.0.1, Unit-Struct3a-Ipaddr2 = 8.8.8.8
+match Extended-Attribute-1.Unit-Ext-241-Struct3.Unit-Struct3-Int = 1, Extended-Attribute-1.Unit-Ext-241-Struct3.Unit-Struct3-TLV.Unit-Struct3a.Unit-Struct3a-Ipaddr1 = 127.0.0.1, Extended-Attribute-1.Unit-Ext-241-Struct3.Unit-Struct3-TLV.Unit-Struct3a.Unit-Struct3a-Ipaddr2 = 8.8.8.8
 
 #
 #  Fixed size struct
 #
-encode-pair Unit-Struct4-Int1 = 1, Unit-Struct4-Int2 = 2, Unit-Struct4-Short = 4
+encode-pair Extended-Attribute-1.Unit-Ext-241-Struct4.Unit-Struct4-Int1 = 1, Extended-Attribute-1.Unit-Ext-241-Struct4.Unit-Struct4-Int2 = 2, Extended-Attribute-1.Unit-Ext-241-Struct4.Unit-Struct4-Short = 4
 match f1 0d fa 00 00 00 01 00 00 00 02 00 04
 
 decode-pair -
-match Unit-Struct4-Int1 = 1, Unit-Struct4-Int2 = 2, Unit-Struct4-Short = 4
+match Extended-Attribute-1.Unit-Ext-241-Struct4.Unit-Struct4-Int1 = 1, Extended-Attribute-1.Unit-Ext-241-Struct4.Unit-Struct4-Int2 = 2, Extended-Attribute-1.Unit-Ext-241-Struct4.Unit-Struct4-Short = 4
 
 #
 #  Wrong-sized struct (last field missing), it just decodes what it can.
 #
 decode-pair f1 0b fa 00 00 00 01 00 00 00 02
-match Unit-Struct4-Int1 = 1, Unit-Struct4-Int2 = 2
+match Extended-Attribute-1.Unit-Ext-241-Struct4.Unit-Struct4-Int1 = 1, Extended-Attribute-1.Unit-Ext-241-Struct4.Unit-Struct4-Int2 = 2
 
 #
 #  Wrong-sized struct (last two fields missing), it just decodes what it can.
 #
 decode-pair f1 07 fa 00 00 00 01
-match Unit-Struct4-Int1 = 1
+match Extended-Attribute-1.Unit-Ext-241-Struct4.Unit-Struct4-Int1 = 1
 
 #
 #  Wrong-sized struct (data is too long), we ignore the extra data.
 #
 decode-pair f1 0e fa 00 00 00 01 00 00 00 02 00 04 00
-match Unit-Struct4-Int1 = 1, Unit-Struct4-Int2 = 2, Unit-Struct4-Short = 4
+match Extended-Attribute-1.Unit-Ext-241-Struct4.Unit-Struct4-Int1 = 1, Extended-Attribute-1.Unit-Ext-241-Struct4.Unit-Struct4-Int2 = 2, Extended-Attribute-1.Unit-Ext-241-Struct4.Unit-Struct4-Short = 4
 
 decode-pair ff 09 01 00 00 1a 99 05 06
-match Key-Field = Sub-Struct, Filler = 6809, Nested-Sub1 = 5, Nested-Sub2 = 6
+match Test-Struct.Key-Field = Sub-Struct, Test-Struct.Filler = 6809, Test-Struct.Key-Field.Sub-Struct.Nested-Sub1 = 5, Test-Struct.Key-Field.Sub-Struct.Nested-Sub2 = 6
 
 encode-pair -
 match ff 09 01 00 00 1a 99 05 06
index a2b8c7605f643556f0603a0cf39202ea7bdcc920..1ed3a198c591fbdf7f3e88b4520f1a8ebc9ada23 100644 (file)
@@ -1,20 +1,20 @@
 proto radius
 proto-dictionary radius
 
-encode-pair SN-VPN-Name = "foo"
+encode-pair Vendor-Specific.Starent.VPN-Name = "foo"
 match 1a 0d 00 00 1f e4 00 02 00 07 66 6f 6f
 
 decode-pair -
-match SN-VPN-Name = "foo"
+match Vendor-Specific.Starent.VPN-Name = "foo"
 
-encode-pair USR-Event-Id = 1234
+encode-pair Vendor-Specific.USR.Event-Id = 1234
 match 1a 0e 00 00 01 ad 00 00 bf be 00 00 04 d2
 
 decode-pair -
-match USR-Event-Id = 1234
+match Vendor-Specific.USR.Event-Id = 1234
 
 decode-pair 1a 15 00 00 4e 20 01 0f 6c 69 74 68 69 61 73 70 72 69 6e 67 73
-match Attr-26.20000.1 = 0x6c6974686961737072696e6773
+match Vendor-Specific.20000.1 = 0x6c6974686961737072696e6773
 
 encode-pair 3Com-User-Access-Level = 3Com-Visitor, 3Com-Ip-Host-Addr = "155.4.12.100 00:00:00:00:00:00"
 match 1a 0c 00 00 00 2b 01 06 00 00 00 00 1a 26 00 00 00 2b 3c 20 31 35 35 2e 34 2e 31 32 2e 31 30 30 20 30 30 3a 30 30 3a 30 30 3a 30 30 3a 30 30 3a 30 30
@@ -37,18 +37,18 @@ match 3Com-User-Access-Level = 3Com-Visitor, 3Com-Ip-Host-Addr = "155.4.12.100 0
 encode-pair Vendor-Specific = 0xabcdef
 match Attributes of type 'vsa' are not yet supported
 
-encode-pair Attr-26 = 0x00000009abcdef
+encode-pair raw.26 = 0x00000009abcdef
 match 1a 09 00 00 00 09 ab cd ef
 
-attribute Attr-26 = 0x00000009abcdef
-match Attr-26 = 0x00000009abcdef
+attribute raw.26 = 0x00000009abcdef
+match Vendor-Specific = 0x00000009abcdef
 
 # this untagged tunnel encrypted VSA is valid in both access accepts and CoA requests
-encode-pair ERX-LI-Action = off
+encode-pair Vendor-Specific.Unisphere.ERX-LI-Action = off
 match 1a 1a 00 00 13 0a 3a 14 8d 31 89 6e 2e 8a f5 fa 78 fb d5 90 d8 1a 15 91 c1 f1
 
 decode-pair -
-match ERX-LI-Action = off
+match Vendor-Specific.Unisphere.ERX-LI-Action = off
 
 #packet coa_request
 #original null
@@ -60,23 +60,23 @@ match ERX-LI-Action = off
 #  Unknown vendors get decoded as TLVs with type=1,length=1
 #
 decode-pair 1a12000080000105abcdef02076161616161
-match Attr-26.32768.1 = 0xabcdef, Attr-26.32768.2 = 0x6161616161
+match Vendor-Specific.32768.1 = 0xabcdef, Vendor-Specific.32768.2 = 0x6161616161
 
 #
 #  This MUST be 50 octets of data
 #
-encode-pair MS-CHAP-Response = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxX"
+encode-pair Vendor-Specific.Microsoft.CHAP-Response = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxX"
 match 1a 3a 00 00 01 37 01 34 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 58
 
 decode-pair -
-match MS-CHAP-Response = 0x7878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787858
+match Vendor-Specific.Microsoft.CHAP-Response = 0x7878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787858
 
 #
 #  And now something which *isn't* 50 octets, but instead 49.
 #  Therefore it's an "invalid attribute", as defined in RFC 6929 Section 2.8.
 #
 decode-pair 1a 39 00 00 01 37 01 33 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78 78
-match Attr-26.311.1 = 0x78787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878
+match raw.Vendor-Specific.Microsoft.CHAP-Response = 0x78787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878787878
 
 count
 match 38
index 99cbe4467c312518202fb054e9e9de7bc7dc84dd..be1175f1f5f9e8164dc7f1ec3ddf680d7ca36ac7 100644 (file)
@@ -4,153 +4,177 @@ proto-dictionary radius
 #
 #  Test vectors for WiMAX attributes.
 #
-encode-pair WiMAX-Release = "1.0"
+encode-pair Vendor-Specific.WiMAX.Capability.Release  = "1.0"
 match 1a 0e 00 00 60 b5 01 08 00 01 05 31 2e 30
 
 decode-pair -
-match WiMAX-Release = "1.0"
+match Vendor-Specific.WiMAX.Capability.Release = "1.0"
 
-encode-pair WiMAX-Accounting-Capabilities = 1
+encode-pair Vendor-Specific.WiMAX.Capability.Accounting-Capabilities = 1
 match 1a 0c 00 00 60 b5 01 06 00 02 03 01
 
 decode-pair -
-match WiMAX-Accounting-Capabilities = IP-Session-Based
+match Vendor-Specific.WiMAX.Capability.Accounting-Capabilities = IP-Session-Based
 
-encode-pair WiMAX-Release = "1.0", WiMAX-Accounting-Capabilities = 1
+encode-pair Vendor-Specific.WiMAX.Capability.Release = "1.0", Vendor-Specific.WiMAX.Capability.Accounting-Capabilities = 1
 match 1a 11 00 00 60 b5 01 0b 00 01 05 31 2e 30 02 03 01
 
 decode-pair -
-match WiMAX-Release = "1.0", WiMAX-Accounting-Capabilities = IP-Session-Based
+match Vendor-Specific.WiMAX.Capability.Release = "1.0", Vendor-Specific.WiMAX.Capability.Accounting-Capabilities = IP-Session-Based
 
 encode-pair -
 match 1a 11 00 00 60 b5 01 0b 00 01 05 31 2e 30 02 03 01
 
-encode-pair WiMAX-PFDv2-Classifier-Direction = 1
+encode-pair Vendor-Specific.WiMAX.Packet-Flow-Descriptor-v2.Classifier.Direction = 1
 match 1a 0e 00 00 60 b5 54 08 00 09 05 04 03 01
 
 # Encoding this as an unknown should have it also encode-pair to the right data.
 #
-#  @todo - ensure that unknown attributes still have the WiMAX
-#  "continuation" flag.
+#  This just encodes "I don't know what the heck it is, but it's not WiMAX"
 #
-#encode-pair 26.24757.84.9.4 = 0x01
-#data 1a 0e 00 00 60 b5 54 08 00 09 05 04 03 01
+encode-pair raw.26.24757.84.9.4 = 0x01
+match 1a 0b b5 09 54 07 09 05 04 03 01
 
-# and parsing the OID should parse LHS / RHS into the known attribute.
-#attribute 26.24757.84.9.4 = 0x01
-#data WiMAX-PFDv2-Classifier-Direction = 1
+decode-pair -
+match raw.Vendor-Specific = 0xb50954070905040301
+
+#
+#  This encodes a WiMAX VSA of "84", but we know it's WiMAX,
+#  so we add the WiMAX continuation byte.  And we know it's
+#  Vendor-Specific, so we encode that correctly, too.
+#
+encode-pair raw.Vendor-Specific.Wimax.84.9.4 = 0x01
+match 1a 0e 00 00 60 b5 54 08 00 09 05 04 03 01
+
+decode-pair -
+match Vendor-Specific.WiMAX.Packet-Flow-Descriptor-v2.Classifier.Direction = 1
 
-encode-pair WiMAX-PFDv2-Classifier-Direction = 1, WiMAX-PFDv2-Src-Port = 6809
+encode-pair Vendor-Specific.WiMAX.Packet-Flow-Descriptor-v2.Classifier.Direction = 1, Vendor-Specific.WiMAX.Packet-Flow-Descriptor-v2.Classifier.Src-Spec.Port = 6809
 match 1a 14 00 00 60 b5 54 0e 00 09 0b 04 03 01 05 06 04 04 1a 99
 
 decode-pair -
-match WiMAX-PFDv2-Classifier-Direction = 1, WiMAX-PFDv2-Src-Port = 6809
+match Vendor-Specific.WiMAX.Packet-Flow-Descriptor-v2.Classifier.Direction = 1, Vendor-Specific.WiMAX.Packet-Flow-Descriptor-v2.Classifier.Src-Spec.Port = 6809
 
 decode-pair 1a 11 00 00 60 b5 54 0b 00 09 08 05 06 04 04 1a 99
-match WiMAX-PFDv2-Src-Port = 6809
+match Vendor-Specific.WiMAX.Packet-Flow-Descriptor-v2.Classifier.Src-Spec.Port = 6809
 
 # 26.24757.84.9.4 has the correct length.
 # 26.24757.84.9.5 has the correct length.
 # 26.24757.84.9.5.4 has the wrong length.
 decode-pair 1a 14 00 00 60 b5 54 0e 00 09 0b 04 03 01 05 06 04 05 1a 99
-match WiMAX-PFDv2-Classifier-Direction = 1, Attr-26.24757.84.9.5 = 0x04051a99
+match Vendor-Specific.WiMAX.Packet-Flow-Descriptor-v2.Classifier.Direction = 1, raw.Vendor-Specific.WiMAX.Packet-Flow-Descriptor-v2.Classifier.Src-Spec = 0x04051a99
 
 # The 26.24757.1 has the wrong length
 decode-pair 1a 11 00 00 60 b5 01 0a 00 01 05 31 2e 30 02 03 01
-match Attr-26 = 0x000060b5010a000105312e30020301
+match raw.Vendor-Specific = 0x000060b5010a000105312e30020301
 
 encode-pair -
 match 1a 11 00 00 60 b5 01 0a 00 01 05 31 2e 30 02 03 01
 
 decode-pair 1a 11 00 00 60 b5 01 0c 00 01 05 31 2e 30 02 03 01
-match Attr-26 = 0x000060b5010c000105312e30020301
+match raw.Vendor-Specific = 0x000060b5010c000105312e30020301
 
 encode-pair -
 match 1a 11 00 00 60 b5 01 0c 00 01 05 31 2e 30 02 03 01
 
 # 26.24757.1.1 has the wrong length
 decode-pair 1a 11 00 00 60 b5 01 0b 00 01 04 31 2e 30 02 03 01
-match Attr-26.24757.1 = 0x0104312e30020301
+match raw.Vendor-Specific.WiMAX.Capability = 0x0104312e30020301
 
 decode-pair 1a 11 00 00 60 b5 01 0b 00 01 06 31 2e 30 02 03 01
-match Attr-26.24757.1 = 0x0106312e30020301
+match raw.Vendor-Specific.WiMAX.Capability = 0x0106312e30020301
 
+#
+#  @todo - this seems wrong.  The Capability attribute only has its
+#  first byte encoded.  Which seems rather wrong. :(
+#
 encode-pair -
+match 1a 0a 00 00 60 b5 01 04 00 01
+
+#
+#  This one is correct... Capability has the wrong length
+#  of data, so it's name is "1", and not "Capability".
+#
+encode-pair raw.Vendor-Specific.WiMAX.1 = 0x0106312e30020301
 match 1a 11 00 00 60 b5 01 0b 00 01 06 31 2e 30 02 03 01
 
 
 # 26.24757.1.2 has the wrong length
 decode-pair 1a 11 00 00 60 b5 01 0b 00 01 05 31 2e 30 02 02 01
-match Attr-26.24757.1 = 0x0105312e30020201
+match raw.Vendor-Specific.WiMAX.Capability = 0x0105312e30020201
 
 encode-pair -
+match 1a 0a 00 00 60 b5 01 04 00 01
+
+# @todo - same here
+encode-pair raw.Vendor-Specific.WiMAX.1 = 0x0105312e30020201
 match 1a 11 00 00 60 b5 01 0b 00 01 05 31 2e 30 02 02 01
 
 # 26.24757.1.1 has the correct length
 # 26.24757.1.2 has the wrong length
 # This means that 26.24757.1 is invalid, and we create a raw attribute.
 decode-pair 1a 11 00 00 60 b5 01 0b 00 01 05 31 2e 30 02 04 01
-match Attr-26.24757.1 = 0x0105312e30020401
+match raw.Vendor-Specific.WiMAX.Capability = 0x0105312e30020401
 
 encode-pair -
+match 1a 0a 00 00 60 b5 01 04 00 01
+
+# @todo - same here
+encode-pair raw.Vendor-Specific.WiMAX.1 = 0x0105312e30020401
 match 1a 11 00 00 60 b5 01 0b 00 01 05 31 2e 30 02 04 01
 
-encode-pair WiMAX-PFDv2-Eth-Priority-Range-Low = 55
+encode-pair Vendor-Specific.WiMAX.Packet-Flow-Descriptor-v2.Classifier.Classifier-Eth-Option.Eth-Priority-Range.Low = 55
 match 1a 12 00 00 60 b5 54 0c 00 09 09 09 07 03 05 01 03 37
 
-encode-pair WiMAX-PFDv2-Eth-Priority-Range-Low = 55, WiMAX-PFDv2-Eth-Priority-Range-High = 84
+encode-pair Vendor-Specific.WiMAX.Packet-Flow-Descriptor-v2.Classifier.Classifier-Eth-Option.Eth-Priority-Range.Low = 55, Vendor-Specific.WiMAX.Packet-Flow-Descriptor-v2.Classifier.Classifier-Eth-Option.Eth-Priority-Range.High = 84
 match 1a 15 00 00 60 b5 54 0f 00 09 0c 09 0a 03 08 01 03 37 02 03 54
 
 decode-pair -
-match WiMAX-PFDv2-Eth-Priority-Range-Low = 55, WiMAX-PFDv2-Eth-Priority-Range-High = 84
+match Vendor-Specific.WiMAX.Packet-Flow-Descriptor-v2.Classifier.Classifier-Eth-Option.Eth-Priority-Range.Low = 55, Vendor-Specific.WiMAX.Packet-Flow-Descriptor-v2.Classifier.Classifier-Eth-Option.Eth-Priority-Range.High = 84
 
 #  A less efficient encoding of the above data
 decode-pair 1a 17 00 00 60 b5 54 11 00 09 0e 09 0c 03 05 01 03 37 03 05 02 03 54
-match WiMAX-PFDv2-Eth-Priority-Range-Low = 55, WiMAX-PFDv2-Eth-Priority-Range-High = 84
+match Vendor-Specific.WiMAX.Packet-Flow-Descriptor-v2.Classifier.Classifier-Eth-Option.Eth-Priority-Range.Low = 55, Vendor-Specific.WiMAX.Packet-Flow-Descriptor-v2.Classifier.Classifier-Eth-Option.Eth-Priority-Range.High = 84
 
 # 26.24757.84.9.9.3.1 has the wrong length
 decode-pair 1a 15 00 00 60 b5 54 0f 00 09 0c 09 0a 03 08 01 04 37 02 03 54
-match Attr-26.24757.84.9.9.3 = 0x010437020354
+match raw.Vendor-Specific.WiMAX.Packet-Flow-Descriptor-v2.Classifier.Classifier-Eth-Option.Eth-Priority-Range = 0x010437020354
 
 # 26.24757.84.9.9.3.2 has the wrong length
 decode-pair 1a 15 00 00 60 b5 54 0f 00 09 0c 09 0a 03 08 01 03 37 02 04 54
-match Attr-26.24757.84.9.9.3 = 0x010337020454
+match raw.Vendor-Specific.WiMAX.Packet-Flow-Descriptor-v2.Classifier.Classifier-Eth-Option.Eth-Priority-Range = 0x010337020454
 
 # 26.24757.84.9.9.3.2 has the wrong length
 # This means that the SECOND 26.24757.84.9.9.3 is invalid.
 decode-pair 1a 17 00 00 60 b5 54 11 00 09 0e 09 0c 03 05 01 03 37 03 05 02 04 54
-match WiMAX-PFDv2-Eth-Priority-Range-Low = 55, Attr-26.24757.84.9.9.3 = 0x020454
+match Vendor-Specific.WiMAX.Packet-Flow-Descriptor-v2.Classifier.Classifier-Eth-Option.Eth-Priority-Range.Low = 55, raw.Vendor-Specific.WiMAX.Packet-Flow-Descriptor-v2.Classifier.Classifier-Eth-Option.Eth-Priority-Range = 0x020454
 
 # 26.24757.84.9.9.3.1 has the wrong length
 # This means that 26.24757.84.9.9.3 is invalid.
 decode-pair 1a 17 00 00 60 b5 54 11 00 09 0e 09 0c 03 05 01 02 37 03 05 02 03 54
-match Attr-26.24757.84.9.9.3 = 0x010237, WiMAX-PFDv2-Eth-Priority-Range-High = 84
-
+match raw.Vendor-Specific.WiMAX.Packet-Flow-Descriptor-v2.Classifier.Classifier-Eth-Option.Eth-Priority-Range = 0x010237, Vendor-Specific.WiMAX.Packet-Flow-Descriptor-v2.Classifier.Classifier-Eth-Option.Eth-Priority-Range.High = 84
 #
 #  Simple test for continued attributes
 #
 decode-pair 1a 0e 00 00 60 b5 01 08 80 01 05 31 2e 30 1a 0c 00 00 60 b5 01 06 00 02 03 00
-match WiMAX-Release = "1.0", WiMAX-Accounting-Capabilities = No-Accounting
+match Vendor-Specific.WiMAX.Capability.Release = "1.0", Vendor-Specific.WiMAX.Capability.Accounting-Capabilities = No-Accounting
 
 #
 #  See if encoding multiple attributes works
 #
-encode-pair WiMAX-Packet-Data-Flow-Id := 32, WiMAX-Service-Data-Flow-ID := 32, WiMAX-Service-Profile-ID := 32
-match 1a 17 00 00 60 b5 1c 11 00 01 04 00 20 02 04 00 20 03 06 00 00 00 20
-
-encode-pair WiMAX-Packet-Data-Flow-Id := 33, WiMAX-Service-Data-Flow-ID := 33, WiMAX-Service-Profile-ID := 33
+encode-pair Vendor-Specific.WiMAX.Packet-Flow-Descriptor.Packet-Data-Flow-Id := 33, Vendor-Specific.WiMAX.Packet-Flow-Descriptor.Service-Data-Flow-ID := 33, Vendor-Specific.WiMAX.Packet-Flow-Descriptor.Service-Profile-ID := 33
 match 1a 17 00 00 60 b5 1c 11 00 01 04 00 21 02 04 00 21 03 06 00 00 00 21
 
-encode-pair WiMAX-Packet-Data-Flow-Id := 32, WiMAX-Service-Data-Flow-ID := 32, WiMAX-Service-Profile-ID := 32, WiMAX-Packet-Data-Flow-Id := 33, WiMAX-Service-Data-Flow-ID := 33, WiMAX-Service-Profile-ID := 33
+encode-pair Vendor-Specific.WiMAX.Packet-Flow-Descriptor.Packet-Data-Flow-Id := 32, Vendor-Specific.WiMAX.Packet-Flow-Descriptor.Service-Data-Flow-ID := 32, Vendor-Specific.WiMAX.Packet-Flow-Descriptor.Service-Profile-ID := 32, Vendor-Specific.WiMAX.Packet-Flow-Descriptor.Packet-Data-Flow-Id := 33, Vendor-Specific.WiMAX.Packet-Flow-Descriptor.Service-Data-Flow-ID := 33, Vendor-Specific.WiMAX.Packet-Flow-Descriptor.Service-Profile-ID := 33
 match 1a 25 00 00 60 b5 1c 1f 00 01 04 00 20 02 04 00 20 03 06 00 00 00 20 01 04 00 21 02 04 00 21 03 06 00 00 00 21
 
-encode-pair WiMAX-Packet-Data-Flow-Id := 32, WiMAX-Service-Data-Flow-ID := 32, WiMAX-Service-Profile-ID := 32, WiMAX-Packet-Data-Flow-Id := 33, WiMAX-Service-Data-Flow-ID := 33, WiMAX-Service-Profile-ID := 33, Session-Timeout := 7200
+encode-pair Vendor-Specific.WiMAX.Packet-Flow-Descriptor.Packet-Data-Flow-Id := 32, Vendor-Specific.WiMAX.Packet-Flow-Descriptor.Service-Data-Flow-ID := 32, Vendor-Specific.WiMAX.Packet-Flow-Descriptor.Service-Profile-ID := 32, Vendor-Specific.WiMAX.Packet-Flow-Descriptor.Packet-Data-Flow-Id := 33, Vendor-Specific.WiMAX.Packet-Flow-Descriptor.Service-Data-Flow-ID := 33, Vendor-Specific.WiMAX.Packet-Flow-Descriptor.Service-Profile-ID := 33, Session-Timeout := 7200
 match 1a 25 00 00 60 b5 1c 1f 00 01 04 00 20 02 04 00 20 03 06 00 00 00 20 01 04 00 21 02 04 00 21 03 06 00 00 00 21 1b 06 00 00 1c 20
 
-encode-pair Acct-Interim-Interval := 3600, WiMAX-Packet-Data-Flow-Id := 32, WiMAX-Service-Data-Flow-ID := 32, WiMAX-Service-Profile-ID := 32, WiMAX-Packet-Data-Flow-Id := 33, WiMAX-Service-Data-Flow-ID := 33, WiMAX-Service-Profile-ID := 33, Session-Timeout := 7200
+encode-pair Acct-Interim-Interval := 3600, Vendor-Specific.WiMAX.Packet-Flow-Descriptor.Packet-Data-Flow-Id := 32, Vendor-Specific.WiMAX.Packet-Flow-Descriptor.Service-Data-Flow-ID := 32, Vendor-Specific.WiMAX.Packet-Flow-Descriptor.Service-Profile-ID := 32, Vendor-Specific.WiMAX.Packet-Flow-Descriptor.Packet-Data-Flow-Id := 33, Vendor-Specific.WiMAX.Packet-Flow-Descriptor.Service-Data-Flow-ID := 33, Vendor-Specific.WiMAX.Packet-Flow-Descriptor.Service-Profile-ID := 33, Session-Timeout := 7200
 match 55 06 00 00 0e 10 1a 25 00 00 60 b5 1c 1f 00 01 04 00 20 02 04 00 20 03 06 00 00 00 20 01 04 00 21 02 04 00 21 03 06 00 00 00 21 1b 06 00 00 1c 20
 
-encode-pair WiMAX-Packet-Data-Flow-Id := 32, WiMAX-Service-Data-Flow-ID := 32, WiMAX-Service-Profile-ID := 32, Session-Timeout := 7200, WiMAX-Packet-Data-Flow-Id := 33, WiMAX-Service-Data-Flow-ID := 33, WiMAX-Service-Profile-ID := 33
+encode-pair Vendor-Specific.WiMAX.Packet-Flow-Descriptor.Packet-Data-Flow-Id := 32, Vendor-Specific.WiMAX.Packet-Flow-Descriptor.Service-Data-Flow-ID := 32, Vendor-Specific.WiMAX.Packet-Flow-Descriptor.Service-Profile-ID := 32, Session-Timeout := 7200, Vendor-Specific.WiMAX.Packet-Flow-Descriptor.Packet-Data-Flow-Id := 33, Vendor-Specific.WiMAX.Packet-Flow-Descriptor.Service-Data-Flow-ID := 33, Vendor-Specific.WiMAX.Packet-Flow-Descriptor.Service-Profile-ID := 33
 match 1a 17 00 00 60 b5 1c 11 00 01 04 00 20 02 04 00 20 03 06 00 00 00 20 1b 06 00 00 1c 20 1a 17 00 00 60 b5 1c 11 00 01 04 00 21 02 04 00 21 03 06 00 00 00 21
 
 #
@@ -162,7 +186,7 @@ match 1a 17 00 00 60 b5 1c 11 00 01 04 00 20 02 04 00 20 03 06 00 00 00 20 1b 06
 # data 1a ff 00 00 60 b5 01 f9 80 01 ff 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 1a 15 00 00 60 b5 01 0f 00 45 45 45 45 45 45 45 45 45 04 03 01
 
 # decode-pair -
-# data WiMAX-Release = "EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE", WiMAX-Idle-Mode-Notification-Cap = Supported
+# data Vendor-Specific.WiMAX.Packet-Flow-Descriptor.Release = "EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE", Vendor-Specific.WiMAX.Packet-Flow-Descriptor.Idle-Mode-Notification-Cap = Supported
 
 count
-match 78
+match 90