Changeset 597:f051e3795dae in freeDiameter for extensions/dict_rfc5777
- Timestamp:
- Nov 17, 2010, 7:56:35 PM (13 years ago)
- Branch:
- default
- Children:
- 598:d46af51c019d, 599:1dade7d4cf2e
- Phase:
- public
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
extensions/dict_rfc5777/dict_rfc5777.c
r595 r597 34 34 *********************************************************************************************************/ 35 35 36 /********************************************************************************************************* 36 /* 37 37 38 The following table complete the one in RFC 5777. The AVPs are implemented in the order of the table. 38 39 We try to keep the structure of the grouped AVP by declaring the contained AVPs just before the grouped AVP they depend on. … … 47 48 +++ QoS-Parameters 576 5777 Grouped no specific AVPs? see RFC 5624 48 49 +++ QoS-Profile-Template -------------------------------- 49 +++ Treatment-Action 572 5777 Enumerated Unclear, grouped or enum?50 +++ Treatment-Action 572 5777 Enumerated Type is Enumerated. See Errata 2334 for RFC5777 50 51 ++ Excess-Treatment 577 5777 Grouped 51 52 ++ QoS-Parameters -------------------------------- … … 64 65 +++ Time-Of-Day-End 562 5777 Unsigned32 65 66 +++ Time-Of-Day-Start 561 5777 Unsigned32 66 ++ Time-Of-Day-Condition 560 5777 Grouped 67 ++ Time-Of-Day-Condition 560 5777 Grouped Some AVPs were omitted. See Errata 2333 for RFC5777 67 68 +++++ High-User-Priority 559 5777 Unsigned32 68 69 +++++ Low-User-Priority 558 5777 Unsigned32 … … 78 79 +++ ETH-Option 548 5777 Grouped 79 80 ++++ Negated 517 5777 Enumerated 80 ++++ ICMP-Code 547 5777 Integer32 Changed from Enumerated . See AVP for details.81 ++++ ICMP-Code 547 5777 Integer32 Changed from Enumerated for implementation reason. See AVP for details. 81 82 ++++ ICMP-Type-Number 546 5777 Enumerated 82 83 +++ ICMP-Type 545 5777 Grouped … … 99 100 ++++ IP-Address-Range 519 5777 Grouped 100 101 +++++ IP-Address -------------------------------- 101 +++++ IP-Mask-Bit-Mask-Width 523 5777 Unsigned32 102 +++++ IP-Mask-Bit-Mask-Width 523 5777 Unsigned32 Name is IP-Mask-Bit-Mask-Width. See Errata 2335 for RFC5777 102 103 ++++ IP-Address-Mask 522 5777 Grouped 103 104 ++++ MAC-Address 524 5777 OctetString … … 128 129 QoS-Resources 508 5777 Grouped 129 130 130 * ***************************/131 */ 131 132 132 133 … … 151 152 152 153 /* 153 NOTES TO SELF 154 155 verifier si on a besoin de tout les defines 156 - Que faut il faire pour la section 10.2 et 10.3? 157 - La definition de Filter-Rule est chelou 158 - La definition de QoS-Parameters est chelou 159 - relire la rfc en entier 154 155 NOTES 156 157 Sections 10.2 and 10.3 of the RFC5777 have been ignored 160 158 161 159 */ … … 1450 1448 http://www.iana.org/assignments/dscp-registry/dscp-registry.txt 1451 1449 1452 Last updated : 2010-05-111450 Last updated in code : 2010-05-11 1453 1451 1454 1452 */ 1455 1453 struct dict_object * type; 1456 1454 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(Diffserv-Code-Point)" , NULL, NULL, NULL }; 1457 struct dict_enumval_data t_0 00000 = { "CS0", { .i32 = 0b000000 }};1458 struct dict_enumval_data t_ 001000 = { "CS1", { .i32 = 0b001000}};1459 struct dict_enumval_data t_ 010000 = { "CS2", { .i32 = 0b010000}};1460 struct dict_enumval_data t_ 011000 = { "CS3", { .i32 = 0b011000}};1461 struct dict_enumval_data t_ 100000 = { "CS4", { .i32 = 0b100000}};1462 struct dict_enumval_data t_ 101000 = { "CS5", { .i32 = 0b101000 }};1463 struct dict_enumval_data t_ 110000 = { "CS6", { .i32 = 0b110000}};1464 struct dict_enumval_data t_ 111000 = { "CS7", { .i32 = 0b111000}};1465 struct dict_enumval_data t_ 001010 = { "AF11", { .i32 = 0b001010 }};1466 struct dict_enumval_data t_ 001100 = { "AF12", { .i32 = 0b001100}};1467 struct dict_enumval_data t_ 001110 = { "AF13", { .i32 = 0b001110}};1468 struct dict_enumval_data t_ 010010 = { "AF21", { .i32 = 0b010010}};1469 struct dict_enumval_data t_ 010100 = { "AF22", { .i32 = 0b010100 }};1470 struct dict_enumval_data t_ 010110 = { "AF23", { .i32 = 0b010110}};1471 struct dict_enumval_data t_ 011010 = { "AF31", { .i32 = 0b011010}};1472 struct dict_enumval_data t_ 011100 = { "AF32", { .i32 = 0b011100}};1473 struct dict_enumval_data t_ 011110 = { "AF33", { .i32 = 0b011110 }};1474 struct dict_enumval_data t_ 100010 = { "AF41", { .i32 = 0b100010}};1475 struct dict_enumval_data t_ 100100 = { "AF42", { .i32 = 0b100100}};1476 struct dict_enumval_data t_ 100110 = { "AF43", { .i32 = 0b100110}};1477 struct dict_enumval_data t_ 101110 = { "EF PHB", { .i32 = 0b101110}};1478 struct dict_enumval_data t_ 101100 = { "VOICE-ADMIT", { .i32 = 0b101100}};1455 struct dict_enumval_data t_0 = { "CS0", { .i32 = 0 }}; 1456 struct dict_enumval_data t_8 = { "CS1", { .i32 = 8 }}; 1457 struct dict_enumval_data t_16 = { "CS2", { .i32 = 16 }}; 1458 struct dict_enumval_data t_24 = { "CS3", { .i32 = 24 }}; 1459 struct dict_enumval_data t_32 = { "CS4", { .i32 = 32 }}; 1460 struct dict_enumval_data t_40 = { "CS5", { .i32 = 40 }}; 1461 struct dict_enumval_data t_48 = { "CS6", { .i32 = 48 }}; 1462 struct dict_enumval_data t_56 = { "CS7", { .i32 = 56 }}; 1463 struct dict_enumval_data t_10 = { "AF11", { .i32 = 10 }}; 1464 struct dict_enumval_data t_12 = { "AF12", { .i32 = 12 }}; 1465 struct dict_enumval_data t_14 = { "AF13", { .i32 = 14 }}; 1466 struct dict_enumval_data t_18 = { "AF21", { .i32 = 18 }}; 1467 struct dict_enumval_data t_20 = { "AF22", { .i32 = 20 }}; 1468 struct dict_enumval_data t_22 = { "AF23", { .i32 = 22 }}; 1469 struct dict_enumval_data t_26 = { "AF31", { .i32 = 26 }}; 1470 struct dict_enumval_data t_28 = { "AF32", { .i32 = 28 }}; 1471 struct dict_enumval_data t_30 = { "AF33", { .i32 = 30 }}; 1472 struct dict_enumval_data t_34 = { "AF41", { .i32 = 34 }}; 1473 struct dict_enumval_data t_36 = { "AF42", { .i32 = 36 }}; 1474 struct dict_enumval_data t_38 = { "AF43", { .i32 = 38 }}; 1475 struct dict_enumval_data t_46 = { "EF PHB", { .i32 = 46 }}; 1476 struct dict_enumval_data t_44 = { "VOICE-ADMIT", { .i32 = 44 }}; 1479 1477 1480 1478 struct dict_avp_data data = { … … 1488 1486 /* Create the Enumerated type, and then the AVP */ 1489 1487 CHECK_dict_new( DICT_TYPE, &tdata , NULL, &type); 1490 CHECK_dict_new( DICT_ENUMVAL, &t_0 00000, type, NULL);1491 CHECK_dict_new( DICT_ENUMVAL, &t_ 001000, type, NULL);1492 CHECK_dict_new( DICT_ENUMVAL, &t_ 010000, type, NULL);1493 CHECK_dict_new( DICT_ENUMVAL, &t_ 011000, type, NULL);1494 CHECK_dict_new( DICT_ENUMVAL, &t_ 100000, type, NULL);1495 CHECK_dict_new( DICT_ENUMVAL, &t_ 101000 , type, NULL);1496 CHECK_dict_new( DICT_ENUMVAL, &t_ 110000, type, NULL);1497 CHECK_dict_new( DICT_ENUMVAL, &t_ 111000, type, NULL);1498 CHECK_dict_new( DICT_ENUMVAL, &t_ 001010 , type, NULL);1499 CHECK_dict_new( DICT_ENUMVAL, &t_ 001100, type, NULL);1500 CHECK_dict_new( DICT_ENUMVAL, &t_ 001110, type, NULL);1501 CHECK_dict_new( DICT_ENUMVAL, &t_ 010010, type, NULL);1502 CHECK_dict_new( DICT_ENUMVAL, &t_ 010100 , type, NULL);1503 CHECK_dict_new( DICT_ENUMVAL, &t_ 010110, type, NULL);1504 CHECK_dict_new( DICT_ENUMVAL, &t_ 011010, type, NULL);1505 CHECK_dict_new( DICT_ENUMVAL, &t_ 011100, type, NULL);1506 CHECK_dict_new( DICT_ENUMVAL, &t_ 011110 , type, NULL);1507 CHECK_dict_new( DICT_ENUMVAL, &t_ 100010, type, NULL);1508 CHECK_dict_new( DICT_ENUMVAL, &t_ 100100, type, NULL);1509 CHECK_dict_new( DICT_ENUMVAL, &t_ 100110, type, NULL);1510 CHECK_dict_new( DICT_ENUMVAL, &t_ 101110, type, NULL);1511 CHECK_dict_new( DICT_ENUMVAL, &t_ 101100, type, NULL);1488 CHECK_dict_new( DICT_ENUMVAL, &t_0 , type, NULL); 1489 CHECK_dict_new( DICT_ENUMVAL, &t_8 , type, NULL); 1490 CHECK_dict_new( DICT_ENUMVAL, &t_16 , type, NULL); 1491 CHECK_dict_new( DICT_ENUMVAL, &t_24 , type, NULL); 1492 CHECK_dict_new( DICT_ENUMVAL, &t_32 , type, NULL); 1493 CHECK_dict_new( DICT_ENUMVAL, &t_40 , type, NULL); 1494 CHECK_dict_new( DICT_ENUMVAL, &t_48 , type, NULL); 1495 CHECK_dict_new( DICT_ENUMVAL, &t_56 , type, NULL); 1496 CHECK_dict_new( DICT_ENUMVAL, &t_10 , type, NULL); 1497 CHECK_dict_new( DICT_ENUMVAL, &t_12 , type, NULL); 1498 CHECK_dict_new( DICT_ENUMVAL, &t_14 , type, NULL); 1499 CHECK_dict_new( DICT_ENUMVAL, &t_18 , type, NULL); 1500 CHECK_dict_new( DICT_ENUMVAL, &t_20 , type, NULL); 1501 CHECK_dict_new( DICT_ENUMVAL, &t_22 , type, NULL); 1502 CHECK_dict_new( DICT_ENUMVAL, &t_26 , type, NULL); 1503 CHECK_dict_new( DICT_ENUMVAL, &t_28 , type, NULL); 1504 CHECK_dict_new( DICT_ENUMVAL, &t_30 , type, NULL); 1505 CHECK_dict_new( DICT_ENUMVAL, &t_34 , type, NULL); 1506 CHECK_dict_new( DICT_ENUMVAL, &t_36 , type, NULL); 1507 CHECK_dict_new( DICT_ENUMVAL, &t_38 , type, NULL); 1508 CHECK_dict_new( DICT_ENUMVAL, &t_46 , type, NULL); 1509 CHECK_dict_new( DICT_ENUMVAL, &t_44 , type, NULL); 1512 1510 CHECK_dict_new( DICT_AVP, &data , type, NULL); 1513 1511 }
Note: See TracChangeset
for help on using the changeset viewer.