annotate extensions/dict_mip6a/dict_mip6a.c @ 597:f051e3795dae

Updates comments and a compiler dependent piece of code
author Francois Bard <francois@tera.ics.keio.ac.jp>
date Wed, 17 Nov 2010 19:56:35 +0900
parents aa0dc24d2b9d
children d46af51c019d
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
595
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
1 /*********************************************************************************************************
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
2 * Software License Agreement (BSD License) *
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
3 * Author: Francois Bard <francois@tera.ics.keio.ac.jp> *
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
4 * *
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
5 * Copyright (c) 2010, Teraoka Laboratory, Keio University *
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
6 * All rights reserved. *
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
7 * *
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
8 * Redistribution and use of this software in source and binary forms, with or without modification, are *
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
9 * permitted provided that the following conditions are met: *
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
10 * *
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
11 * * Redistributions of source code must retain the above *
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
12 * copyright notice, this list of conditions and the *
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
13 * following disclaimer. *
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
14 * *
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
15 * * Redistributions in binary form must reproduce the above *
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
16 * copyright notice, this list of conditions and the *
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
17 * following disclaimer in the documentation and/or other *
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
18 * materials provided with the distribution. *
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
19 * *
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
20 * * Neither the name of the Teraoka Laboratory nor the *
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
21 * names of its contributors may be used to endorse or *
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
22 * promote products derived from this software without *
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
23 * specific prior written permission of Teraoka Laboratory *
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
24 * *
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
25 * *
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
26 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED *
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
27 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A *
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
28 * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR *
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
29 * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT *
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
30 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS *
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
31 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR *
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
32 * TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF *
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
33 * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. *
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
34 *********************************************************************************************************/
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
35
597
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
36 /*
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
37
595
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
38 The following table complete the one in RFC 5778, page 18. The AVPs are implemented below following the order of this table.
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
39 We try to keep the structure of the grouped AVP by declaring the contained AVPs just before the grouped AVP they depend on.
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
40 The number of '+' indicates the depth of the contained AVP.
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
41
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
42 DEPTH NAME AVP RFC TYPE NOTES
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
43
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
44 MIP6-Feature-Vector 124 5447 Unsigned64
597
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
45 User-Name 1 3588 UTF8String
595
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
46 Service-Selection 493 5778 UTF8String
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
47 MIP-MN-AAA-SPI 341 5778 Unsigned32
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
48 + MIP-Home-Agent-Address 334 4004 Address
597
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
49 ++ Destination-Host 293 3588 DiameterIdentity
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
50 ++ Destination-Realm 283 3588 DiameterIdentity
595
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
51 + MIP-Home-Agent-Host 348 4004 Grouped
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
52 + MIP6-Home-Link-Prefix 125 5447 OctetString
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
53 MIP6-Agent-Info 486 5447 Grouped
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
54 + MIP-Replay-Mode 346 4004 Enumerated
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
55 + MIP-Algorithm-Type 345 4004 Enumerated
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
56 + MIP-MN-HA-SPI 491 5778 Unsigned32
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
57 + MIP-MSA-Lifetime 367 4004 Unsigned32
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
58 + MIP-Session-Key 343 4004 OctetString
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
59 MIP-MN-HA-MSA 492 5778 Grouped different from MIP-MN-to-HA-MSA (331)
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
60 MIP-Mobile-Node-Address 333 4004 Address
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
61 MIP-Careof-Address 487 5778 Address
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
62 MIP-Authenticator 488 5778 OctetString
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
63 MIP-MAC-Mobility-Data 489 5778 OctetString
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
64 MIP-Timestamp 490 5778 OctetString
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
65 Chargeable-User-Identity 89 5778 OctetString
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
66 MIP6-Auth-Mode 494 5778 Enumerated
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
67
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
68 QoS AVPs (RFC 5777 - implemented in the corresponding dictionary)
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
69
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
70 QoS-Capability 578 5777 Grouped
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
71 QoS-Resources 508 5777 Grouped
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
72
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
73 ACCOUNTING AVPs (section 6.21)
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
74
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
75 Accounting-Input-Octets 363 4004, 4005 Unsigned64
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
76 Accounting-Output-Octets 364 4004, 4005 Unsigned64
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
77 Accounting-Input-Packets 365 4004, 4005 Unsigned64
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
78 Accounting-Output-Packets 366 4004, 4005 Unsigned64
597
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
79 Acct-Multi-Session-Id 50 3588 UTF8String
595
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
80 Acct-Session-Time 46 2866, 4004 Unsigned32
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
81 MIP6-Feature-Vector ----------------------------------
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
82 MIP-Mobile-Node-Address ----------------------------------
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
83 MIP-Agent-Info ----------------------------------
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
84 Chargeable-User-Identity ----------------------------------
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
85 Service-Selection ----------------------------------
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
86 QoS-Resources ----------------------------------
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
87 QoS-Capability ----------------------------------
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
88 MIP-Careof-Address ----------------------------------
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
89
597
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
90 RADIUS AVPs (contained in the MIR/MIA)
595
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
91
597
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
92 NAS-Identifier 32 2865 radius (see avp)
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
93 NAS-IP-Address 4 2865 radius (see avp)
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
94 NAS-IPv6-Address 95 3162 radius (see avp)
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
95 NAS-Port-Type 61 2865 radius (see avp)
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
96 Called-Station-Id 30 2865 radius (see avp)
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
97 Calling-Station-Id 31 2865 radius (see avp)
595
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
98
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
99
597
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
100 */
595
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
101
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
102 /****************************************************************************************************************************************
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
103 * *
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
104 * This table is a copy of the registry named "MIP6 Authentication Mode Registry" and managed by IANA. *
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
105 * source : http://www.iana.org/assignments/aaa-parameters/aaa-parameters.txt *
597
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
106 * up to date on october 2010 *
595
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
107 * *
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
108 * Value Token Reference *
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
109 * 0 Reserved [RFC5778] *
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
110 * 1 MIP6_AUTH_MN_AAA [RFC5778] *
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
111 * 2-4294967295 Unassigned *
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
112 * *
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
113 ****************************************************************************************************************************************/
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
114
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
115
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
116 /*
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
117
597
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
118 NOTES
595
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
119
597
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
120 check for omissions !
595
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
121
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
122 */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
123
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
124 #include <freeDiameter/extension.h>
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
125
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
126 #define CHECK_dict_new( _type, _data, _parent, _ref ) \
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
127 CHECK_FCT( fd_dict_new( fd_g_config->cnf_dict, (_type), (_data), (_parent), (_ref)) );
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
128
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
129 #define CHECK_dict_search( _type, _criteria, _what, _result ) \
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
130 CHECK_FCT( fd_dict_search( fd_g_config->cnf_dict, (_type), (_criteria), (_what), (_result), ENOENT) );
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
131
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
132 struct local_rules_definition {
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
133 char *avp_name;
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
134 enum rule_position position;
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
135 int min;
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
136 int max;
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
137 };
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
138
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
139 #define RULE_ORDER( _position ) ((((_position) == RULE_FIXED_HEAD) || ((_position) == RULE_FIXED_TAIL)) ? 1 : 0 )
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
140
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
141 #define PARSE_loc_rules( _rulearray, _parent) { \
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
142 int __ar; \
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
143 for (__ar=0; __ar < sizeof(_rulearray) / sizeof((_rulearray)[0]); __ar++) { \
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
144 struct dict_rule_data __data = { NULL, \
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
145 (_rulearray)[__ar].position, \
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
146 0, \
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
147 (_rulearray)[__ar].min, \
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
148 (_rulearray)[__ar].max}; \
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
149 __data.rule_order = RULE_ORDER(__data.rule_position); \
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
150 CHECK_FCT( fd_dict_search( \
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
151 fd_g_config->cnf_dict, \
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
152 DICT_AVP, \
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
153 AVP_BY_NAME, \
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
154 (_rulearray)[__ar].avp_name, \
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
155 &__data.rule_avp, 0 ) ); \
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
156 if ( !__data.rule_avp ) { \
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
157 TRACE_DEBUG(INFO, "AVP Not found: '%s'", (_rulearray)[__ar].avp_name ); \
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
158 return ENOENT; \
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
159 } \
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
160 CHECK_FCT_DO( fd_dict_new( fd_g_config->cnf_dict, DICT_RULE, &__data, _parent, NULL), \
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
161 { \
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
162 TRACE_DEBUG(INFO, "Error on rule with AVP '%s'", \
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
163 (_rulearray)[__ar].avp_name ); \
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
164 return EINVAL; \
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
165 } ); \
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
166 } \
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
167 }
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
168
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
169 #define enumval_def_u32( _val_, _str_ ) \
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
170 { _str_, { .u32 = _val_ }}
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
171
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
172 #define enumval_def_os( _len_, _val_, _str_ ) \
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
173 { _str_, { .os = { .data = (unsigned char *)_val_, .len = _len_ }}}
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
174
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
175
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
176
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
177 /* Defines if there are any */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
178
597
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
179 //New Result-Code for MIP (RFC5778, Section 7.*)
595
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
180 #define DIAMETER_SUCCESS_RELOCATE_HA 2009
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
181 #define DIAMETER_ERROR_MIP6_AUTH_MODE 5041
597
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
182
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
183 //Others
595
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
184 #define MIP6_AUTH_MN_AAA 1
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
185
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
186 /* Dictionary */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
187
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
188 int dict_mip6a_init()
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
189 {
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
190 struct dict_object * mip6a;
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
191 {
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
192 struct dict_application_data data = { 8, "Diameter Mobile IPv6 Auth (MIP6A) Application" };
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
193 CHECK_dict_new( DICT_APPLICATION, &data , NULL, &mip6a);
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
194 }
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
195
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
196 /***************/
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
197 /* AVP section */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
198 /***************/
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
199 {
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
200 /* Loading all the derived data formats */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
201
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
202 struct dict_object * Address_type;
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
203 struct dict_object * UTF8String_type;
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
204 struct dict_object * DiameterIdentity_type;
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
205 struct dict_object * DiameterURI_type;
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
206 struct dict_object * Time_type;
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
207
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
208 CHECK_dict_search( DICT_TYPE, TYPE_BY_NAME, "Address", &Address_type);
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
209 CHECK_dict_search( DICT_TYPE, TYPE_BY_NAME, "UTF8String", &UTF8String_type);
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
210 CHECK_dict_search( DICT_TYPE, TYPE_BY_NAME, "DiameterIdentity", &DiameterIdentity_type);
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
211 CHECK_dict_search( DICT_TYPE, TYPE_BY_NAME, "DiameterURI", &DiameterURI_type);
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
212 CHECK_dict_search( DICT_TYPE, TYPE_BY_NAME, "Time", &Time_type);
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
213
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
214 ///////////////////////////////////////////
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
215 /* AVPs for Mobile IPv6 Auth Application */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
216 ///////////////////////////////////////////
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
217
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
218 /* MIP6-Feature-Vector - RFC 5447 */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
219 {
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
220 /*
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
221
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
222 */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
223
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
224 struct dict_avp_data data = {
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
225 124, /* Code */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
226 0, /* Vendor */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
227 "MIP6-Feature-Vector", /* Name */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
228 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
229 AVP_FLAG_MANDATORY, /* Fixed flag values */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
230 AVP_TYPE_UNSIGNED64 /* base type of data */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
231 };
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
232
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
233 CHECK_dict_new( DICT_AVP, &data , NULL, NULL);
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
234 }
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
235
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
236 /* User-Name - RFC 3588 */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
237
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
238 /*
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
239 Implemented in the base protocol
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
240 */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
241
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
242 /* Service-Selection - RFC 5778 */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
243 {
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
244 /*
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
245
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
246 */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
247
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
248 struct dict_avp_data data = {
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
249 493, /* Code */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
250 0, /* Vendor */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
251 "Service-Selection", /* Name */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
252 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
253 AVP_FLAG_MANDATORY, /* Fixed flag values */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
254 AVP_TYPE_OCTETSTRING /* base type of data */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
255 };
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
256
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
257 CHECK_dict_new( DICT_AVP, &data , UTF8String_type, NULL);
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
258 }
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
259
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
260 /* MIP-MN-AAA-SPI - RFC 5778 */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
261 {
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
262 /*
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
263
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
264 */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
265
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
266 struct dict_avp_data data = {
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
267 341, /* Code */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
268 0, /* Vendor */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
269 "MIP-MN-AAA-SPI", /* Name */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
270 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
271 AVP_FLAG_MANDATORY, /* Fixed flag values */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
272 AVP_TYPE_UNSIGNED32 /* base type of data */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
273 };
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
274
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
275 CHECK_dict_new( DICT_AVP, &data , NULL, NULL);
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
276 }
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
277
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
278 /* Destination-Host - Base Protocol */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
279
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
280 /*
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
281 Implemented in the base protocol
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
282 */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
283
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
284 /* Destination-Realm - Base Protocol */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
285
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
286 /*
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
287 Implemented in the base protocol
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
288 */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
289
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
290 /* MIP-Home-Agent-Address - RFC 4004 */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
291 {
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
292 /*
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
293
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
294 */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
295
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
296 struct dict_avp_data data = {
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
297 334, /* Code */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
298 0, /* Vendor */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
299 "MIP-Home-Agent-Address", /* Name */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
300 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
301 AVP_FLAG_MANDATORY, /* Fixed flag values */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
302 AVP_TYPE_OCTETSTRING /* base type of data */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
303 };
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
304
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
305 CHECK_dict_new( DICT_AVP, &data , Address_type, NULL);
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
306 }
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
307
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
308 /* MIP-Home-Agent-Host - RFC 4004 */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
309 {
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
310 /*
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
311
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
312 */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
313 struct dict_object * avp;
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
314 struct dict_avp_data data = {
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
315 348, /* Code */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
316 0, /* Vendor */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
317 "MIP-Home-Agent-Host", /* Name */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
318 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
319 AVP_FLAG_MANDATORY, /* Fixed flag values */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
320 AVP_TYPE_GROUPED /* base type of data */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
321 };
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
322
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
323 struct local_rules_definition rules[] =
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
324 { { "Destination-Realm", RULE_REQUIRED, -1, 1 }
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
325 ,{ "Destination-Host", RULE_REQUIRED, -1, 1 }
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
326 };
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
327
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
328 CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
329 PARSE_loc_rules( rules, avp );
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
330 }
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
331
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
332 /* MIP6-Home-Link-Prefix - RFC 5447 */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
333 {
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
334 /*
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
335
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
336 */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
337
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
338 struct dict_avp_data data = {
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
339 125, /* Code */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
340 0, /* Vendor */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
341 "MIP6-Home-Link-Prefix", /* Name */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
342 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
343 AVP_FLAG_MANDATORY, /* Fixed flag values */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
344 AVP_TYPE_OCTETSTRING /* base type of data */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
345 };
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
346
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
347 CHECK_dict_new( DICT_AVP, &data , NULL, NULL);
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
348 }
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
349
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
350 /* MIP6-Agent-Info - RFC 5447*/
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
351 {
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
352 /*
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
353
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
354 */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
355 struct dict_object * avp;
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
356 struct dict_avp_data data = {
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
357 486, /* Code */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
358 0, /* Vendor */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
359 "MIP6-Agent-Info", /* Name */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
360 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
361 AVP_FLAG_MANDATORY, /* Fixed flag values */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
362 AVP_TYPE_GROUPED /* base type of data */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
363 };
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
364
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
365 struct local_rules_definition rules[] =
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
366 { { "MIP-Home-Agent-Address", RULE_OPTIONAL, -1, 2 }
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
367 ,{ "MIP-Home-Agent-Host", RULE_OPTIONAL, -1, 1 }
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
368 ,{ "MIP6-Home-Link-Prefix", RULE_OPTIONAL, -1, 1 }
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
369 };
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
370
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
371 CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
372 PARSE_loc_rules( rules, avp );
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
373 }
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
374
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
375 /* MIP-Replay-Mode - RFC 5778 & 4004 */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
376 {
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
377 /*
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
378
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
379 */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
380 struct dict_object * type;
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
381 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(MIP-Replay-Mode)", NULL, NULL, NULL };
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
382 struct dict_enumval_data t_0 = { "None", { .i32 = 1 }};
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
383 struct dict_enumval_data t_1 = { "Timestamp", { .i32 = 2 }};
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
384 struct dict_avp_data data = {
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
385 346, /* Code */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
386 0, /* Vendor */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
387 "MIP-Replay-Mode", /* Name */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
388 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
389 AVP_FLAG_MANDATORY, /* Fixed flag values */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
390 AVP_TYPE_INTEGER32 /* base type of data */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
391 };
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
392
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
393 /* Create the Enumerated type, and then the AVP */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
394 CHECK_dict_new( DICT_TYPE, &tdata , NULL, &type);
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
395 CHECK_dict_new( DICT_ENUMVAL, &t_0 , type, NULL);
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
396 CHECK_dict_new( DICT_ENUMVAL, &t_1 , type, NULL);
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
397 CHECK_dict_new( DICT_AVP, &data , type, NULL);
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
398 }
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
399
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
400 /* MIP-Algorithm-Type - RFC 5778 & 4004 */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
401 {
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
402 /*
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
403
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
404 */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
405 struct dict_object * type;
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
406 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(MIP-Algorithm-Type)", NULL, NULL, NULL };
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
407 struct dict_enumval_data t_2 = { "HMAC-SHA-1", { .i32 = 2 }};
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
408 struct dict_avp_data data = {
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
409 345, /* Code */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
410 0, /* Vendor */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
411 "MIP-Algorithm-Type", /* Name */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
412 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
413 AVP_FLAG_MANDATORY, /* Fixed flag values */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
414 AVP_TYPE_INTEGER32 /* base type of data */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
415 };
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
416
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
417 /* Create the Enumerated type, and then the AVP */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
418 CHECK_dict_new( DICT_TYPE, &tdata , NULL, &type);
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
419 CHECK_dict_new( DICT_ENUMVAL, &t_2 , type, NULL);
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
420 CHECK_dict_new( DICT_AVP, &data , type, NULL);
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
421 }
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
422
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
423 /* MIP-MN-HA-SPI - RFC 5778 */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
424 {
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
425 /*
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
426
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
427 */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
428 struct dict_avp_data data = {
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
429 491, /* Code */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
430 0, /* Vendor */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
431 "MIP-MN-HA-SPI", /* Name */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
432 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
433 AVP_FLAG_MANDATORY, /* Fixed flag values */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
434 AVP_TYPE_UNSIGNED32 /* base type of data */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
435 };
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
436
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
437 CHECK_dict_new( DICT_AVP, &data , NULL, NULL);
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
438 }
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
439
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
440 /* MIP-MSA-Lifetime - RFC 4004 */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
441 {
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
442 /*
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
443
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
444 */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
445 struct dict_avp_data data = {
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
446 367, /* Code */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
447 0, /* Vendor */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
448 "MIP-MSA-Lifetime", /* Name */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
449 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
450 AVP_FLAG_MANDATORY, /* Fixed flag values */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
451 AVP_TYPE_UNSIGNED32 /* base type of data */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
452 };
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
453
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
454 CHECK_dict_new( DICT_AVP, &data , NULL, NULL);
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
455 }
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
456
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
457 /* MIP-Session-Key - RFC 5778 */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
458 {
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
459 /*
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
460
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
461 */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
462 struct dict_avp_data data = {
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
463 343, /* Code */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
464 0, /* Vendor */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
465 "MIP-Session-Key", /* Name */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
466 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
467 AVP_FLAG_MANDATORY, /* Fixed flag values */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
468 AVP_TYPE_OCTETSTRING /* base type of data */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
469 };
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
470
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
471 CHECK_dict_new( DICT_AVP, &data , NULL, NULL);
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
472 }
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
473
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
474 /* MIP-MN-HA-MSA - RFC 5778 */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
475 {
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
476 /*
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
477
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
478 */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
479 struct dict_object * avp;
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
480 struct dict_avp_data data = {
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
481 492, /* Code */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
482 0, /* Vendor */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
483 "MIP-MN-HA-MSA", /* Name */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
484 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
485 AVP_FLAG_MANDATORY, /* Fixed flag values */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
486 AVP_TYPE_GROUPED /* base type of data */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
487 };
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
488
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
489 struct local_rules_definition rules[] =
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
490 { { "MIP-Session-Key", RULE_REQUIRED, -1, 1 }
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
491 ,{ "MIP-MSA-Lifetime", RULE_REQUIRED, -1, 1 }
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
492 ,{ "MIP-MN-HA-SPI", RULE_OPTIONAL, -1, 1 }
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
493 ,{ "MIP-Algorithm-Type", RULE_OPTIONAL, -1, 1 }
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
494 ,{ "MIP-Replay-Mode", RULE_OPTIONAL, -1, 1 }
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
495 };
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
496
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
497 CHECK_dict_new( DICT_AVP, &data , NULL, &avp);
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
498 PARSE_loc_rules( rules, avp );
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
499 }
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
500
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
501 /* MIP-Mobile-Node-Address - RFC 4004 */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
502 {
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
503 /*
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
504
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
505 */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
506
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
507 struct dict_avp_data data = {
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
508 333, /* Code */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
509 0, /* Vendor */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
510 "MIP-Mobile-Node-Address", /* Name */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
511 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
512 AVP_FLAG_MANDATORY, /* Fixed flag values */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
513 AVP_TYPE_OCTETSTRING /* base type of data */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
514 };
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
515
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
516 CHECK_dict_new( DICT_AVP, &data , Address_type, NULL);
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
517 }
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
518
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
519 /* MIP-Careof-Address - RFC 5778 */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
520 {
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
521 /*
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
522
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
523 */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
524 struct dict_avp_data data = {
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
525 487, /* Code */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
526 0, /* Vendor */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
527 "MIP-Careof-Address", /* Name */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
528 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
529 AVP_FLAG_MANDATORY, /* Fixed flag values */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
530 AVP_TYPE_OCTETSTRING /* base type of data */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
531 };
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
532
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
533 CHECK_dict_new( DICT_AVP, &data , Address_type, NULL);
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
534 }
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
535
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
536 /* MIP-Authenticator - RFC 5778 */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
537 {
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
538 /*
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
539
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
540 */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
541 struct dict_avp_data data = {
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
542 488, /* Code */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
543 0, /* Vendor */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
544 "MIP-Authenticator", /* Name */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
545 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
546 AVP_FLAG_MANDATORY, /* Fixed flag values */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
547 AVP_TYPE_OCTETSTRING /* base type of data */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
548 };
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
549
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
550 CHECK_dict_new( DICT_AVP, &data , NULL, NULL);
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
551 }
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
552
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
553 /* MIP-MAC-Mobility-Data - RFC 5778 */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
554 {
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
555 /*
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
556
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
557 */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
558 struct dict_avp_data data = {
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
559 489, /* Code */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
560 0, /* Vendor */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
561 "MIP-MAC-Mobility-Data", /* Name */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
562 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
563 AVP_FLAG_MANDATORY, /* Fixed flag values */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
564 AVP_TYPE_OCTETSTRING /* base type of data */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
565 };
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
566
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
567 CHECK_dict_new( DICT_AVP, &data , NULL, NULL);
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
568 }
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
569
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
570 /* MIP-Timestamp - RFC 5778 */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
571 {
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
572 /*
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
573
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
574 */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
575 struct dict_avp_data data = {
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
576 490, /* Code */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
577 0, /* Vendor */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
578 "MIP-Timestamp", /* Name */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
579 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
580 AVP_FLAG_MANDATORY, /* Fixed flag values */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
581 AVP_TYPE_OCTETSTRING /* base type of data */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
582 };
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
583
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
584 CHECK_dict_new( DICT_AVP, &data , NULL, NULL);
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
585 }
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
586
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
587 /* Chargeable-User-Identity - RFC 5778 */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
588 {
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
589 /*
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
590
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
591 */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
592 struct dict_avp_data data = {
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
593 89, /* Code */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
594 0, /* Vendor */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
595 "Chargeable-User-Identity", /* Name */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
596 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
597 AVP_FLAG_MANDATORY, /* Fixed flag values */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
598 AVP_TYPE_OCTETSTRING /* base type of data */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
599 };
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
600
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
601 CHECK_dict_new( DICT_AVP, &data , NULL, NULL);
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
602 }
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
603
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
604 /* MIP6-Auth-Mode - RFC 5778 */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
605 {
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
606 /*
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
607
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
608 */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
609 struct dict_object * type;
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
610 struct dict_type_data tdata = { AVP_TYPE_INTEGER32, "Enumerated(MIP6-Auth-Mode)", NULL, NULL, NULL };
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
611 struct dict_enumval_data t_0 = { "None", { .i32 = MIP6_AUTH_MN_AAA }};
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
612 struct dict_avp_data data = {
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
613 494, /* Code */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
614 0, /* Vendor */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
615 "MIP6-Auth-Mode", /* Name */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
616 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
617 AVP_FLAG_MANDATORY, /* Fixed flag values */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
618 AVP_TYPE_INTEGER32 /* base type of data */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
619 };
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
620
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
621 /* Create the Enumerated type, and then the AVP */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
622 CHECK_dict_new( DICT_TYPE, &tdata , NULL, &type);
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
623 CHECK_dict_new( DICT_ENUMVAL, &t_0 , type, NULL);
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
624 CHECK_dict_new( DICT_AVP, &data , type, NULL);
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
625 }
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
626
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
627 //////////////
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
628 /* QoS AVPs */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
629 //////////////
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
630
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
631 /* QoS-Capability */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
632
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
633 /*
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
634 Implemented in RFC 5777
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
635 */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
636
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
637 /* QoS-Resources */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
638
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
639 /*
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
640 Implemented in RFC 5777
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
641 */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
642
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
643 /////////////////////
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
644 /* Accounting AVPs */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
645 /////////////////////
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
646
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
647 /* Accounting-Input-Octets - RFC 4004 */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
648 {
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
649 /*
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
650
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
651 */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
652 struct dict_avp_data data = {
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
653 363, /* Code */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
654 0, /* Vendor */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
655 "Accounting-Input-Octets", /* Name */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
656 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
657 AVP_FLAG_MANDATORY, /* Fixed flag values */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
658 AVP_TYPE_UNSIGNED64 /* base type of data */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
659 };
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
660
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
661 CHECK_dict_new( DICT_AVP, &data , NULL, NULL);
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
662 }
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
663
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
664 /* Accounting-Output-Octets - RFC 4004 */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
665 {
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
666 /*
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
667
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
668 */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
669 struct dict_avp_data data = {
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
670 364, /* Code */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
671 0, /* Vendor */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
672 "Accounting-Output-Octets", /* Name */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
673 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
674 AVP_FLAG_MANDATORY, /* Fixed flag values */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
675 AVP_TYPE_UNSIGNED64 /* base type of data */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
676 };
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
677
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
678 CHECK_dict_new( DICT_AVP, &data , NULL, NULL);
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
679 }
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
680
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
681 /* Accounting-Input-Packets - RFC 4004 */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
682 {
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
683 /*
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
684
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
685 */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
686 struct dict_avp_data data = {
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
687 365, /* Code */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
688 0, /* Vendor */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
689 "Accounting-Input-Packets", /* Name */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
690 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
691 AVP_FLAG_MANDATORY, /* Fixed flag values */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
692 AVP_TYPE_UNSIGNED64 /* base type of data */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
693 };
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
694
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
695 CHECK_dict_new( DICT_AVP, &data , NULL, NULL);
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
696 }
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
697
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
698 /* Accounting-Output-Packets - RFC 4004 */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
699 {
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
700 /*
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
701
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
702 */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
703 struct dict_avp_data data = {
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
704 366, /* Code */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
705 0, /* Vendor */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
706 "Accounting-Output-Packets", /* Name */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
707 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
708 AVP_FLAG_MANDATORY, /* Fixed flag values */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
709 AVP_TYPE_UNSIGNED64 /* base type of data */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
710 };
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
711
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
712 CHECK_dict_new( DICT_AVP, &data , NULL, NULL);
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
713 }
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
714
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
715 /* Acct-Multi-Session-Id - RFC 3588 */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
716
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
717 /*
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
718 Implemented in the base protocol
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
719 */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
720
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
721 /* Acct-Session-Time - RFC 4004 */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
722 {
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
723 /*
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
724
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
725 */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
726 struct dict_avp_data data = {
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
727 46, /* Code */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
728 0, /* Vendor */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
729 "Acct-Session-Time", /* Name */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
730 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
731 AVP_FLAG_MANDATORY, /* Fixed flag values */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
732 AVP_TYPE_UNSIGNED32 /* base type of data */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
733 };
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
734
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
735 CHECK_dict_new( DICT_AVP, &data , NULL, NULL);
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
736 }
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
737
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
738 /////////////////////////////////////
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
739 /* Radius AVPs - used in MIR & MIA */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
740 /////////////////////////////////////
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
741
597
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
742 /*
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
743 We used the following correspondences for determining the type of the Radius AVPs
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
744
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
745 Radius Diameter
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
746
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
747 text UTF8Sting
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
748 string OctetString
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
749 address Address
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
750 integer Unsigned32
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
751 time Time
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
752 */
595
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
753
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
754
597
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
755 /* NAS-Identifier 32 3575 */
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
756 {
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
757 /*
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
758 string -> OctetString
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
759 */
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
760
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
761 struct dict_avp_data data = {
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
762 32, /* Code */
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
763 0, /* Vendor */
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
764 "NAS-Identifier", /* Name */
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
765 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
766 AVP_FLAG_MANDATORY, /* Fixed flag values */
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
767 AVP_TYPE_OCTETSTRING /* base type of data */
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
768 };
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
769
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
770 CHECK_dict_new( DICT_AVP, &data , NULL, NULL);
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
771 }
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
772
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
773 /* NAS-IP-Address 4 3575 */
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
774 {
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
775 /*
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
776 address -> Address
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
777 */
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
778
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
779 struct dict_avp_data data = {
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
780 4, /* Code */
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
781 0, /* Vendor */
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
782 "NAS-IP-Address", /* Name */
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
783 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
784 AVP_FLAG_MANDATORY, /* Fixed flag values */
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
785 AVP_TYPE_OCTETSTRING /* base type of data */
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
786 };
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
787
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
788 CHECK_dict_new( DICT_AVP, &data , Address_type, NULL);
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
789 }
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
790
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
791 /* NAS-IPv6-Address 95 3162 */
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
792 {
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
793 /*
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
794 address -> Address
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
795 */
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
796
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
797 struct dict_avp_data data = {
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
798 95, /* Code */
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
799 0, /* Vendor */
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
800 "NAS-IPv6-Address", /* Name */
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
801 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
802 AVP_FLAG_MANDATORY, /* Fixed flag values */
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
803 AVP_TYPE_OCTETSTRING /* base type of data */
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
804 };
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
805
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
806 CHECK_dict_new( DICT_AVP, &data , Address_type, NULL);
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
807 }
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
808
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
809 /* NAS-Port-Type 61 2865 */
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
810 {
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
811 /*
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
812 integer -> Unsigned32
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
813
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
814 Value
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
815
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
816 The Value field is four octets. "Virtual" refers to a connection
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
817 to the NAS via some transport protocol, instead of through a
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
818 physical port. For example, if a user telnetted into a NAS to
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
819 authenticate himself as an Outbound-User, the Access-Request might
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
820 include NAS-Port-Type = Virtual as a hint to the RADIUS server
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
821 that the user was not on a physical port.
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
822
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
823 0 Async
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
824 1 Sync
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
825 2 ISDN Sync
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
826 3 ISDN Async V.120
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
827 4 ISDN Async V.110
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
828 5 Virtual
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
829 6 PIAFS
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
830 7 HDLC Clear Channel
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
831 8 X.25
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
832 9 X.75
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
833 10 G.3 Fax
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
834 11 SDSL - Symmetric DSL
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
835 12 ADSL-CAP - Asymmetric DSL, Carrierless Amplitude Phase
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
836 Modulation
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
837 13 ADSL-DMT - Asymmetric DSL, Discrete Multi-Tone
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
838 14 IDSL - ISDN Digital Subscriber Line
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
839 15 Ethernet
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
840 16 xDSL - Digital Subscriber Line of unknown type
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
841 17 Cable
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
842 18 Wireless - Other
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
843 19 Wireless - IEEE 802.11
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
844
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
845 PIAFS is a form of wireless ISDN commonly used in Japan, and
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
846 stands for PHS (Personal Handyphone System) Internet Access Forum
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
847 Standard (PIAFS).
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
848 */
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
849
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
850 struct dict_avp_data data = {
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
851 61, /* Code */
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
852 0, /* Vendor */
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
853 "NAS-Port-Type", /* Name */
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
854 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
855 AVP_FLAG_MANDATORY, /* Fixed flag values */
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
856 AVP_TYPE_UNSIGNED32 /* base type of data */
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
857 };
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
858
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
859 CHECK_dict_new( DICT_AVP, &data , NULL, NULL);
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
860 }
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
861
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
862 /* Called-Station-Id 30 2865 */
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
863 {
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
864 /*
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
865 string -> OctetString
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
866 */
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
867
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
868 struct dict_avp_data data = {
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
869 30, /* Code */
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
870 0, /* Vendor */
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
871 "Called-Station-Id", /* Name */
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
872 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
873 AVP_FLAG_MANDATORY, /* Fixed flag values */
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
874 AVP_TYPE_OCTETSTRING /* base type of data */
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
875 };
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
876
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
877 CHECK_dict_new( DICT_AVP, &data , NULL, NULL);
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
878 }
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
879 /* Calling-Station-Id 31 2865 */
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
880 {
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
881 /*
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
882 string -> OctetString
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
883 */
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
884
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
885 struct dict_avp_data data = {
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
886 31, /* Code */
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
887 0, /* Vendor */
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
888 "Calling-Station-Id", /* Name */
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
889 AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY, /* Fixed flags */
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
890 AVP_FLAG_MANDATORY, /* Fixed flag values */
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
891 AVP_TYPE_OCTETSTRING /* base type of data */
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
892 };
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
893
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
894 CHECK_dict_new( DICT_AVP, &data , NULL, NULL);
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
895 }
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
896 }
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
897
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
898 /*******************/
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
899 /* Command section */
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
900 /*******************/
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
901
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
902 {
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
903 /* MIP6-Request (MIR) */
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
904 {
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
905 /*
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
906
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
907 The MIP6-Request (MIR), indicated by the Command-Code field set to
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
908 325 and the 'R' bit set in the Command Flags field, is sent by the
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
909 HA, acting as a Diameter client, in order to request the
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
910 authentication and authorization of an MN.
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
911
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
912 Although the HA provides the Diameter server with replay protection-
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
913 related information, the HA is responsible for the replay protection.
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
914
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
915 The message format is shown below.
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
916
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
917 <MIP6-Request> ::= < Diameter Header: 325, REQ, PXY >
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
918 < Session-ID >
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
919 { Auth-Application-Id }
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
920 { User-Name }
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
921 { Destination-Realm }
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
922 { Origin-Host }
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
923 { Origin-Realm }
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
924 { Auth-Request-Type }
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
925 [ Destination-Host ]
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
926 [ Origin-State-Id ]
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
927 [ NAS-Identifier ]
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
928 [ NAS-IP-Address ]
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
929 [ NAS-IPv6-Address ]
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
930 [ NAS-Port-Type ]
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
931 [ Called-Station-Id ]
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
932 [ Calling-Station-Id ]
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
933 [ MIP6-Feature-Vector ]
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
934 { MIP6-Auth-Mode }
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
935 [ MIP-MN-AAA-SPI ]
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
936 [ MIP-MN-HA-SPI ]
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
937 1*2{ MIP-Mobile-Node-Address }
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
938 { MIP6-Agent-Info }
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
939 { MIP-Careof-Address }
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
940 [ MIP-Authenticator ]
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
941 [ MIP-MAC-Mobility-Data ]
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
942 [ MIP-Timestamp ]
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
943 [ QoS-Capability ]
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
944 * [ QoS-Resources ]
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
945 [ Chargeable-User-Identity ]
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
946 [ Service-Selection ]
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
947 [ Authorization-Lifetime ]
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
948 [ Auth-Session-State ]
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
949 * [ Proxy-Info ]
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
950 * [ Route-Record ]
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
951 * [ AVP ]
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
952
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
953 If the MN is both authenticated and authorized for the mobility
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
954 service, then the Auth-Request-Type AVP is set to the value
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
955 AUTHORIZE_AUTHENTICATE. This is the case when the MIP6-Auth-Mode is
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
956 set to the value MIP6_AUTH_MN_AAA.
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
957
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
958 */
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
959 struct dict_object * cmd;
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
960 struct dict_cmd_data data = {
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
961 325, /* Code */
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
962 "MIP6-Request", /* Name */
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
963 CMD_FLAG_REQUEST | CMD_FLAG_PROXIABLE | CMD_FLAG_ERROR, /* Fixed flags */
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
964 CMD_FLAG_PROXIABLE /* Fixed flag values */
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
965 };
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
966 struct local_rules_definition rules[] =
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
967 { { "Session-Id", RULE_FIXED_HEAD, -1, 1 }
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
968 ,{ "Auth-Application-Id", RULE_REQUIRED, -1, 1 }
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
969 ,{ "User-Name", RULE_REQUIRED, -1, 1 }
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
970 ,{ "Destination-Realm", RULE_REQUIRED, -1, 1 }
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
971 ,{ "Origin-Host", RULE_REQUIRED, -1, 1 }
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
972 ,{ "Origin-Realm", RULE_REQUIRED, -1, 1 }
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
973 ,{ "Auth-Request-Type", RULE_REQUIRED, -1, 1 }
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
974 ,{ "Destination-Host", RULE_OPTIONAL, -1, 1 }
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
975 ,{ "Origin-State-Id", RULE_OPTIONAL, -1, 1 }
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
976 ,{ "NAS-Identifier", RULE_OPTIONAL, -1, 1 }
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
977 ,{ "NAS-IP-Address", RULE_OPTIONAL, -1, 1 }
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
978 ,{ "NAS-IPv6-Address", RULE_OPTIONAL, -1, 1 }
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
979 ,{ "NAS-Port-Type", RULE_OPTIONAL, -1, 1 }
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
980 ,{ "Called-Station-Id", RULE_OPTIONAL, -1, 1 }
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
981 ,{ "Calling-Station-Id", RULE_OPTIONAL, -1, 1 }
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
982 ,{ "MIP6-Feature-Vector", RULE_OPTIONAL, -1, 1 }
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
983 ,{ "MIP6-Auth-Mode", RULE_OPTIONAL, -1, 1 }
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
984 ,{ "MIP-MN-AAA-SPI", RULE_OPTIONAL, -1, 1 }
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
985 ,{ "MIP-MN-HA-SPI", RULE_OPTIONAL, -1, 1 }
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
986 ,{ "MIP-Mobile-Node-Address", RULE_OPTIONAL, 1, 2 }
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
987 ,{ "MIP6-Agent-Info", RULE_OPTIONAL, -1, 1 }
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
988 ,{ "MIP-Careof-Address", RULE_OPTIONAL, -1, 1 }
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
989 ,{ "MIP-Authenticator", RULE_OPTIONAL, -1, 1 }
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
990 ,{ "MIP-MAC-Mobility-Data", RULE_OPTIONAL, -1, 1 }
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
991 ,{ "MIP-Timestamp", RULE_OPTIONAL, -1, 1 }
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
992 ,{ "QoS-Capability", RULE_OPTIONAL, -1, 1 }
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
993 ,{ "QoS-Resources", RULE_OPTIONAL, -1, -1 }
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
994 ,{ "Chargeable-User-Identity", RULE_OPTIONAL, -1, 1 }
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
995 ,{ "Service-Selection", RULE_OPTIONAL, -1, 1 }
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
996 ,{ "Authorization-Lifetime", RULE_OPTIONAL, -1, 1 }
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
997 ,{ "Auth-Session-State", RULE_OPTIONAL, -1, 1 }
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
998 ,{ "Proxy-Info", RULE_OPTIONAL, -1, -1 }
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
999 ,{ "Route-Record", RULE_OPTIONAL, -1, -1 }
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
1000 };
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
1001
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
1002 CHECK_dict_new( DICT_COMMAND, &data , mip6i, &cmd);
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
1003 PARSE_loc_rules( rules, cmd );
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
1004 }
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
1005
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
1006 /* MIP6-Answer (MIA) */
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
1007 {
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
1008 /*
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
1009
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
1010 The MIP6-Answer (MIA) message, indicated by the Command-Code field
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
1011 set to 325 and the 'R' bit cleared in the Command Flags field, is
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
1012 sent by the Diameter server in response to the MIP6-Request message.
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
1013
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
1014 The User-Name AVP MAY be included in the MIA if it is present in the
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
1015 MIR. The Result-Code AVP MAY contain one of the values defined in
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
1016 Section 7, in addition to the values defined in [RFC3588].
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
1017
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
1018 An MIA message with the Result-Code AVP set to DIAMETER_SUCCESS MUST
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
1019 include the MIP-Mobile-Node-Address AVP.
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
1020
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
1021 The message format is shown below.
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
1022
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
1023 <MIP6-Answer> ::= < Diameter Header: 325, PXY >
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
1024 < Session-Id >
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
1025 { Auth-Application-Id }
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
1026 { Result-Code }
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
1027 { Origin-Host }
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
1028 { Origin-Realm }
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
1029 { Auth-Request-Type }
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
1030 [ User-Name ]
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
1031 [ Authorization-Lifetime ]
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
1032 [ Auth-Session-State ]
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
1033 [ Error-Message ]
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
1034 [ Error-Reporting-Host ]
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
1035 [ Re-Auth-Request-Type ]
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
1036 [ MIP6-Feature-Vector ]
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
1037 [ MIP-Agent-Info ]
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
1038 *2[ MIP-Mobile-Node-Address ]
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
1039 [ MIP-MN-HA-MSA ]
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
1040 * [ QoS-Resources ]
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
1041 [ Chargeable-User-Identity ]
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
1042 [ Service-Selection ]
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
1043 [ Origin-State-Id ]
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
1044 * [ Proxy-Info ]
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
1045 * [ Redirect-Host ]
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
1046 [ Redirect-Host-Usage ]
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
1047 [ Redirect-Max-Cache-Time ]
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
1048 * [ Failed-AVP ]
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
1049 * [ AVP ]
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
1050
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
1051 */
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
1052 struct dict_object * cmd;
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
1053 struct dict_cmd_data data = {
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
1054 325, /* Code */
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
1055 "MIP6-Answer", /* Name */
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
1056 CMD_FLAG_PROXIABLE | CMD_FLAG_ERROR, /* Fixed flags */
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
1057 CMD_FLAG_PROXIABLE /* Fixed flag values */
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
1058 };
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
1059 struct local_rules_definition rules[] =
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
1060 { { "Session-Id", RULE_FIXED_HEAD, -1, 1 }
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
1061 ,{ "Auth-Application-Id", RULE_REQUIRED, -1, 1 }
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
1062 ,{ "Result-Code", RULE_REQUIRED, -1, 1 }
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
1063 ,{ "Origin-Host", RULE_REQUIRED, -1, 1 }
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
1064 ,{ "Origin-Realm", RULE_REQUIRED, -1, 1 }
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
1065 ,{ "Auth-Request-Type", RULE_REQUIRED, -1, 1 }
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
1066 ,{ "User-Name", RULE_OPTIONAL, -1, 1 }
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
1067 ,{ "Authorization-Lifetime", RULE_OPTIONAL, -1, 1 }
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
1068 ,{ "Auth-Session-State", RULE_OPTIONAL, -1, 1 }
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
1069 ,{ "Error-Message", RULE_OPTIONAL, -1, 1 }
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
1070 ,{ "Error-Reporting-Host", RULE_OPTIONAL, -1, 1 }
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
1071 ,{ "Re-Auth-Request-Type", RULE_OPTIONAL, -1, 1 }
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
1072 ,{ "MIP6-Feature-Vector", RULE_OPTIONAL, -1, 1 }
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
1073 ,{ "MIP-Agent-Info", RULE_OPTIONAL, -1, 1 }
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
1074 ,{ "MIP-Mobile-Node-Address", RULE_OPTIONAL, -1, 2 }
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
1075 ,{ "MIP-MN-HA-MSA", RULE_OPTIONAL, -1, 1 }
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
1076 ,{ "QoS-Resources", RULE_OPTIONAL, -1, -1 }
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
1077 ,{ "Chargeable-User-Identity", RULE_OPTIONAL, -1, 1 }
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
1078 ,{ "Service-Selection", RULE_OPTIONAL, -1, 1 }
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
1079 ,{ "Origin-State-Id", RULE_OPTIONAL, -1, 1 }
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
1080 ,{ "Proxy-Info", RULE_OPTIONAL, -1, -1 }
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
1081 ,{ "Redirect-Host", RULE_OPTIONAL, -1, -1 }
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
1082 ,{ "Redirect-Host-Usage", RULE_OPTIONAL, -1, 1 }
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
1083 ,{ "Redirect-Max-Cache-Time", RULE_OPTIONAL, -1, 1 }
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
1084 ,{ "Failed-AVP", RULE_OPTIONAL, -1, -1 }
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
1085 };
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
1086
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
1087 CHECK_dict_new( DICT_COMMAND, &data , mip6i, &cmd);
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
1088 PARSE_loc_rules( rules, cmd );
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
1089 }
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
1090 }
595
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
1091 TRACE_DEBUG(INFO, "Dictionary Extension 'Diameter Mobile IPv6 Auth (MIP6A)' initialized");
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
1092 return 0;
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
1093 }
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
1094 EXTENSION_ENTRY("dict_mip6a",dict_mip6a_init);
"Welcome to our mercurial repository"