annotate extensions/dict_mip6i/dict_mip6i.c @ 775:0caf2d2ceb90

Fixed dependencies between mip6 dictionnary and rfc5777 dictionnary
author Romain Kuntz <rkuntz@us.toyota-itc.com>
date Tue, 22 Nov 2011 12:20:36 -0800
parents b15620f1b1a4
children cfc714065cb8
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
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
45 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
46 + 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
47 ++ 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
48 ++ 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
49 + 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
50 + 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
51 MIP6-Agent-Info 486 5447 Grouped
597
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
52 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
53 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
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 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
61
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
62 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
63
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
64 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
65 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
66
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
67 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
68
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
69 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
70 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
71 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
72 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
73 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
74 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
75 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
76 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
77 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
78 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
79 Service-Selection ----------------------------------
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
80 QoS-Resources ----------------------------------
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
81 QoS-Capability ----------------------------------
597
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
82 MIP-Careof-Address 487 5778 Address needed (appears in 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
83
597
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
84 REST OF THE AVPs IN THE MIR & MIA EXCLUDING *[AVP] (as written on page 19 of RFC 5778)
595
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
85
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
86 MIP6-Request
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
87
597
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
88 Session-ID 263 3588
595
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
89 Auth-Application-Id 258 3588
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
90 User-Name 1 3588
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
91 Destination-Realm 283 3588
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
92 Origin-Host 264 3588
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
93 Origin-Realm 296 3588
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
94 Auth-Request-Type 274 3588
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
95 Origin-State-Id 278 3588
597
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
96 NAS-Identifier 32 2865 radius (see avp) needed (radius)
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
97 NAS-IP-Address 4 2865 radius (see avp) needed (radius)
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
98 NAS-IPv6-Address 95 3162 radius (see avp) needed (radius)
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
99 NAS-Port-Type 61 2865 radius (see avp) needed (radius)
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
100 Called-Station-Id 30 2865 radius (see avp) needed (radius)
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
101 Calling-Station-Id 31 2865 radius (see avp) needed (radius)
595
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
102 MIP6-Feature-Vector ------------
597
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
103 MIP6-Auth-Mode 494 5778 Enumerated needed (mip6a)
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
104 MIP-MN-AAA-SPI 341 5778 Unsigned32 needed (mip6a)
595
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
105 MIP-MN-HA-SPI ------------
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
106 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
107 MIP6-Agent-Info ------------
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
108 MIP-Careof-Address ------------
597
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
109 MIP-Authenticator 488 5778 OctetString needed (mip6a)
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
110 MIP-MAC-Mobility-Data 489 5778 OctetString needed (mip6a)
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
111 MIP-Timestamp 490 5778 OctetString needed (mip6a)
595
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
112 QoS-Capability ------------
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
113 QoS-Resources ------------
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
114 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
115 Service-Selection ------------
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
116 Authorization-Lifetime 291 3588
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
117 Auth-Session-State 277 3588
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
118 Proxy-Info 284 3588
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
119 Route-Record 282 3588
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
120
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
121 MIP6-Answer - All of them are already implemented as base protocol AVPs or implemented earlier.
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
122
597
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
123 */
595
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
124
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 * *
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
127 * 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
128 * 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
129 * 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
130 * *
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
131 * 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
132 * 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
133 * 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
134 * 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
135 * *
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
136 ****************************************************************************************************************************************/
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 /*
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
140
597
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
141 NOTES
595
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
142
597
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
143 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
144
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
145 */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
146
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
147 #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
148
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
149 #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
150 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
151
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
152 #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
153 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
154
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
155 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
156 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
157 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
158 int min;
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
159 int max;
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
160 };
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 #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
163
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
164 #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
165 int __ar; \
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
166 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
167 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
168 (_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
169 0, \
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
170 (_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
171 (_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
172 __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
173 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
174 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
175 DICT_AVP, \
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
176 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
177 (_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
178 &__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
179 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
180 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
181 return ENOENT; \
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
182 } \
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
183 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
184 { \
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
185 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
186 (_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
187 return EINVAL; \
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
188 } ); \
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 }
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 #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
193 { _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
194
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
195 #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
196 { _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
197
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 /* 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
201
597
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
202 //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
203 #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
204 #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
205
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
206 //others
595
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
207 #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
208
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
209 /* Dictionary */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
210
614
b15620f1b1a4 Fix some compilation warning on OpenSUSE
Sebastien Decugis <sdecugis@nict.go.jp>
parents: 597
diff changeset
211 int dict_mip6i_init(char * conffile)
595
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
212 {
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
213 struct dict_object * mip6i;
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 struct dict_application_data data = { 7, "Diameter Mobile IPv6 IKE (MIP6I) Application" };
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
216 CHECK_dict_new( DICT_APPLICATION, &data , NULL, &mip6i);
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
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 /* AVP section */
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 /* 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
224
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
225 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
226 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
227 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
228 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
229 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
230
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
231 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
232 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
233 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
234 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
235 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
236
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
237 /* 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
238 {
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
239 /*
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
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
243 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
244 124, /* Code */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
245 0, /* Vendor */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
246 "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
247 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
248 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
249 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
250 };
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
251
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
252 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
253 }
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
254
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
255 /* 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
256 {
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
257 /*
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
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
261 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
262 333, /* Code */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
263 0, /* Vendor */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
264 "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
265 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
266 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
267 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
268 };
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
269
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
270 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
271 }
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
272
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
273 /* 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
274 {
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
275 /*
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
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
279 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
280 334, /* Code */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
281 0, /* Vendor */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
282 "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
283 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
284 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
285 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
286 };
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
287
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
288 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
289 }
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
290
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
291 /* 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
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 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
295 */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
296
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
297 /* 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
298
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
299 /*
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
300 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
301 */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
302
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
303 /* 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
304 {
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
305 /*
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 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
309 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
310 348, /* Code */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
311 0, /* Vendor */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
312 "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
313 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
314 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
315 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
316 };
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
317
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
318 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
319 { { "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
320 ,{ "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
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 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
324 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
325 }
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 /* 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
328 {
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
329 /*
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
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
333 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
334 125, /* Code */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
335 0, /* Vendor */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
336 "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
337 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
338 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
339 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
340 };
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
341
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
342 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
343 }
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
344
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
345 /* 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
346 {
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
347 /*
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 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
351 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
352 486, /* Code */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
353 0, /* Vendor */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
354 "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
355 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
356 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
357 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
358 };
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
359
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
360 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
361 { { "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
362 ,{ "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
363 ,{ "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
364 };
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
365
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
366 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
367 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
368 }
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 /* 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
371
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
372 /*
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
373 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
374 */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
375
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
376 /* 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
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 */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
381
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_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
383 493, /* Code */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
384 0, /* Vendor */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
385 "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
386 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
387 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
388 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
389 };
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
390
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
391 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
392 }
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
393
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
394 /* MIP-Replay-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
395 {
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
396 /*
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
397
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 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
400 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
401 struct dict_enumval_data t_1 = { "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
402 struct dict_enumval_data t_2 = { "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
403
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
404 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
405 346, /* Code */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
406 0, /* Vendor */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
407 "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
408 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
409 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
410 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
411 };
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
412 /* 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
413 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
414 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
415 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
416 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
417 }
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
418
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
419 /* MIP-Algorithm-Type - RFC 5778 */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
420 {
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 The MIP-Algorithm-Type AVP (AVP Code 345) is of type Enumerated and
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
423 contains the Algorithm identifier for the associated Mobile IPv6
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
424 MN-HA Authentication Option. The Diameter server selects the
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
425 algorithm type. Existing algorithm types are defined in [RFC4004]
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
426 that also fulfill current RFC 4285 requirements. This AVP is reused
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
427 from [RFC4004].
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
428 */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
429 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
430 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
431 struct dict_enumval_data t_2 = { "HMAC-SHA-1 [HMAC]", { .i32 = 2 }};
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
432
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
433 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
434 345, /* Code */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
435 0, /* Vendor */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
436 "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
437 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
438 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
439 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
440 };
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
441 /* 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
442 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
443 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
444 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
445 }
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
446
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
447 /* 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
448 {
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
449 /*
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
450
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
451 */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
452 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
453 491, /* Code */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
454 0, /* Vendor */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
455 "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
456 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
457 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
458 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
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 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
462 }
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
463
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
464 /* MIP-MSA-Lifetime - RFC 5778 */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
465 {
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
466 /*
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
467
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
468 */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
469 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
470 367, /* Code */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
471 0, /* Vendor */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
472 "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
473 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
474 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
475 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
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 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
479 }
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
480
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
481 /* 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
482 {
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
483 /*
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
484
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
485 */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
486 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
487 343, /* Code */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
488 0, /* Vendor */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
489 "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
490 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
491 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
492 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
493 };
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
494
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
495 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
496 }
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
497
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
498 /* 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
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
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 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
504 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
505 492, /* Code */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
506 0, /* Vendor */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
507 "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
508 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
509 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
510 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
511 };
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
512
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
513 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
514 { { "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
515 ,{ "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
516 ,{ "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
517 ,{ "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
518 ,{ "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
519 };
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 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
522 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
523 }
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
524
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
525 /* 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
526 {
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
527 /*
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
528
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
529 */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
530 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
531 89, /* Code */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
532 0, /* Vendor */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
533 "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
534 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
535 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
536 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
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 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
540 }
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
541
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
542 //////////////
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
543 /* QoS AVPs */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
544 //////////////
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
545
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
546 /* QoS-Capability */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
547
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 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
550 */
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 /* QoS-Resources */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
553
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 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
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 /////////////////////
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
559 /* Accounting AVPs */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
560 /////////////////////
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
561
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
562 /* 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
563 {
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
564 /*
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 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
568 363, /* Code */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
569 0, /* Vendor */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
570 "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
571 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
572 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
573 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
574 };
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
575
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
576 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
577 }
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
578
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
579 /* 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
580 {
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
581 /*
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 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
585 364, /* Code */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
586 0, /* Vendor */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
587 "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
588 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
589 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
590 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
591 };
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
592
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
593 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
594 }
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
595
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
596 /* 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
597 {
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
598 /*
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 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
602 365, /* Code */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
603 0, /* Vendor */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
604 "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
605 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
606 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
607 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
608 };
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
609
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
610 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
611 }
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
612
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
613 /* 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
614 {
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
615 /*
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
616
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
617 */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
618 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
619 366, /* Code */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
620 0, /* Vendor */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
621 "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
622 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
623 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
624 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
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 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
628 }
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 /* 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
631
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 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
634 */
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 /* 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
637 {
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 */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
641 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
642 46, /* Code */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
643 0, /* Vendor */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
644 "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
645 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
646 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
647 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
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 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
651 }
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
652
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
653 /* 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
654 {
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
655 /*
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
656 This AVP is needed in MIP6I at least for implementation reasons
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
657 (it appears in a command)
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
658 */
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 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
661 487, /* Code */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
662 0, /* Vendor */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
663 "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
664 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
665 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
666 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
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 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
670 }
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
671
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
672 /////////////////////////////////////
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
673 /* 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
674 /////////////////////////////////////
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
675
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 We used the following correspondences for determining the type of the Radius AVPs
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
678
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
679 Radius Diameter
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 text UTF8Sting
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
682 string OctetString
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
683 address Address
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
684 integer Unsigned32
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
685 time Time
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
686 */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
687
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
688
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
689 /* NAS-Identifier 32 3575 */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
690 {
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
691 /*
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
692 string -> OctetString
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 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
696 32, /* Code */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
697 0, /* Vendor */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
698 "NAS-Identifier", /* Name */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
699 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
700 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
701 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
702 };
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
703
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
704 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
705 }
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
706
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
707 /* NAS-IP-Address 4 3575 */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
708 {
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
709 /*
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
710 address -> Address
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
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
713 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
714 4, /* Code */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
715 0, /* Vendor */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
716 "NAS-IP-Address", /* Name */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
717 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
718 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
719 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
720 };
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
721
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
722 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
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 /* NAS-IPv6-Address 95 3162 */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
726 {
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
727 /*
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
728 address -> Address
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
729 */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
730
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
731 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
732 95, /* Code */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
733 0, /* Vendor */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
734 "NAS-IPv6-Address", /* Name */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
735 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
736 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
737 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
738 };
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
739
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
740 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
741 }
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
742
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
743 /* NAS-Port-Type 61 2865 */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
744 {
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
745 /*
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
746 integer -> Unsigned32
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
747
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
748 Value
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
749
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
750 The Value field is four octets. "Virtual" refers to a connection
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
751 to the NAS via some transport protocol, instead of through a
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
752 physical port. For example, if a user telnetted into a NAS to
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
753 authenticate himself as an Outbound-User, the Access-Request might
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
754 include NAS-Port-Type = Virtual as a hint to the RADIUS server
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
755 that the user was not on a physical port.
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
756
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
757 0 Async
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
758 1 Sync
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
759 2 ISDN Sync
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
760 3 ISDN Async V.120
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
761 4 ISDN Async V.110
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
762 5 Virtual
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
763 6 PIAFS
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
764 7 HDLC Clear Channel
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
765 8 X.25
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
766 9 X.75
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
767 10 G.3 Fax
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
768 11 SDSL - Symmetric DSL
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
769 12 ADSL-CAP - Asymmetric DSL, Carrierless Amplitude Phase
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
770 Modulation
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
771 13 ADSL-DMT - Asymmetric DSL, Discrete Multi-Tone
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
772 14 IDSL - ISDN Digital Subscriber Line
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
773 15 Ethernet
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
774 16 xDSL - Digital Subscriber Line of unknown type
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
775 17 Cable
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
776 18 Wireless - Other
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
777 19 Wireless - IEEE 802.11
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
778
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
779 PIAFS is a form of wireless ISDN commonly used in Japan, and
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
780 stands for PHS (Personal Handyphone System) Internet Access Forum
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
781 Standard (PIAFS).
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
782 */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
783
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
784 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
785 61, /* Code */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
786 0, /* Vendor */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
787 "NAS-Port-Type", /* Name */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
788 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
789 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
790 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
791 };
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
792
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
793 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
794 }
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
795
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
796 /* Called-Station-Id 30 2865 */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
797 {
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
798 /*
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
799 string -> OctetString
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
800 */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
801
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
802 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
803 30, /* Code */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
804 0, /* Vendor */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
805 "Called-Station-Id", /* Name */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
806 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
807 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
808 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
809 };
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
810
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
811 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
812 }
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
813 /* Calling-Station-Id 31 2865 */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
814 {
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
815 /*
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
816 string -> OctetString
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
817 */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
818
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
819 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
820 31, /* Code */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
821 0, /* Vendor */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
822 "Calling-Station-Id", /* Name */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
823 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
824 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
825 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
826 };
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
827
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
828 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
829 }
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
830
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
831 ///////////////////////////////////////////////////////////
597
f051e3795dae Updates comments and a compiler dependent piece of code
Francois Bard <francois@tera.ics.keio.ac.jp>
parents: 595
diff changeset
832 /* REST OF THE AVP IN THE MIR AND MIA EXCLUDING *[AVP] */
595
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
833 ///////////////////////////////////////////////////////////
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
834
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
835 /* 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
836 {
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
837 /*
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
838
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
839 */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
840 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
841 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
842 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
843 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
844 494, /* Code */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
845 0, /* Vendor */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
846 "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
847 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
848 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
849 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
850 };
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
851
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
852 /* 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
853 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
854 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
855 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
856 }
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
857
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
858 /* 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
859 {
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
860 /*
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
861
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
862 */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
863
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
864 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
865 341, /* Code */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
866 0, /* Vendor */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
867 "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
868 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
869 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
870 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
871 };
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
872
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
873 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
874 }
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
875
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
876 /* 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
877 {
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
878 /*
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
879
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
880 */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
881 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
882 488, /* Code */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
883 0, /* Vendor */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
884 "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
885 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
886 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
887 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
888 };
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
889
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
890 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
891 }
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
892
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
893 /* 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
894 {
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
895 /*
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
896
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
897 */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
898 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
899 489, /* Code */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
900 0, /* Vendor */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
901 "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
902 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
903 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
904 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
905 };
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
906
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
907 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
908 }
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
909
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
910 /* 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
911 {
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
912 /*
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
913
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
914 */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
915 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
916 490, /* Code */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
917 0, /* Vendor */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
918 "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
919 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
920 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
921 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
922 };
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
923
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
924 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
925 }
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
926 }
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
927
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
928 /*******************/
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
929 /* Command section */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
930 /*******************/
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
931
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
932 {
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
933 /* Diameter-EAP-Request (DER) */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
934
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
935 /*
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
936 Defined in dict_eap
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
937 */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
938
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
939 /* Diameter-EAP-Answer (DEA) - COPIED FROM dict_eap.c, SEE IT FOR MORE REFERENCE */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
940
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
941 /*
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
942 Defined in dict_eap
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
943 */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
944
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
945 /* MIP6-Request (MIR) */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
946 {
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
947 /*
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
948
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
949 The MIP6-Request (MIR), indicated by the Command-Code field set to
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
950 325 and the 'R' bit set in the Command Flags field, is sent by the
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
951 HA, acting as a Diameter client, in order to request the
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
952 authentication and authorization of an MN.
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
953
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
954 Although the HA provides the Diameter server with replay protection-
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
955 related information, the HA is responsible for the replay protection.
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
956
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
957 The message format is shown below.
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
958
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
959 <MIP6-Request> ::= < Diameter Header: 325, REQ, PXY >
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
960 < Session-ID >
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
961 { Auth-Application-Id }
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
962 { User-Name }
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
963 { Destination-Realm }
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
964 { Origin-Host }
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
965 { Origin-Realm }
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
966 { Auth-Request-Type }
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
967 [ Destination-Host ]
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
968 [ Origin-State-Id ]
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
969 [ NAS-Identifier ]
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
970 [ NAS-IP-Address ]
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
971 [ NAS-IPv6-Address ]
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
972 [ NAS-Port-Type ]
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
973 [ Called-Station-Id ]
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
974 [ Calling-Station-Id ]
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
975 [ 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
976 { MIP6-Auth-Mode }
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
977 [ MIP-MN-AAA-SPI ]
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
978 [ MIP-MN-HA-SPI ]
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
979 1*2{ 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
980 { MIP6-Agent-Info }
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
981 { 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
982 [ MIP-Authenticator ]
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
983 [ MIP-MAC-Mobility-Data ]
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
984 [ MIP-Timestamp ]
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
985 [ QoS-Capability ]
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
986 * [ QoS-Resources ]
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
987 [ 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
988 [ Service-Selection ]
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
989 [ Authorization-Lifetime ]
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
990 [ Auth-Session-State ]
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
991 * [ Proxy-Info ]
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
992 * [ Route-Record ]
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
993 * [ AVP ]
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
994
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
995 If the MN is both authenticated and authorized for the mobility
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
996 service, then the Auth-Request-Type AVP is set to the value
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
997 AUTHORIZE_AUTHENTICATE. This is the case when the MIP6-Auth-Mode is
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
998 set to the value 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
999
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
1000 */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
1001 struct dict_object * cmd;
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
1002 struct dict_cmd_data data = {
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
1003 325, /* Code */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
1004 "MIP6-Request", /* Name */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
1005 CMD_FLAG_REQUEST | CMD_FLAG_PROXIABLE | CMD_FLAG_ERROR, /* Fixed flags */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
1006 CMD_FLAG_PROXIABLE /* 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
1007 };
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
1008 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
1009 { { "Session-Id", RULE_FIXED_HEAD, -1, 1 }
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
1010 ,{ "Auth-Application-Id", 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
1011 ,{ "User-Name", 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
1012 ,{ "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
1013 ,{ "Origin-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
1014 ,{ "Origin-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
1015 ,{ "Auth-Request-Type", 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
1016 ,{ "Destination-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
1017 ,{ "Origin-State-Id", 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
1018 ,{ "NAS-Identifier", 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
1019 ,{ "NAS-IP-Address", 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
1020 ,{ "NAS-IPv6-Address", 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
1021 ,{ "NAS-Port-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
1022 ,{ "Called-Station-Id", 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
1023 ,{ "Calling-Station-Id", 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
1024 ,{ "MIP6-Feature-Vector", 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
1025 ,{ "MIP6-Auth-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
1026 ,{ "MIP-MN-AAA-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
1027 ,{ "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
1028 ,{ "MIP-Mobile-Node-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
1029 ,{ "MIP6-Agent-Info", 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
1030 ,{ "MIP-Careof-Address", 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
1031 ,{ "MIP-Authenticator", 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
1032 ,{ "MIP-MAC-Mobility-Data", 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
1033 ,{ "MIP-Timestamp", 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
1034 ,{ "QoS-Capability", 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
1035 ,{ "QoS-Resources", 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
1036 ,{ "Chargeable-User-Identity", 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
1037 ,{ "Service-Selection", 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
1038 ,{ "Authorization-Lifetime", 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
1039 ,{ "Auth-Session-State", 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
1040 ,{ "Proxy-Info", 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
1041 ,{ "Route-Record", 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
1042 };
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
1043
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
1044 CHECK_dict_new( DICT_COMMAND, &data , mip6i, &cmd);
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
1045 PARSE_loc_rules( rules, cmd );
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
1046 }
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
1047
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
1048 /* MIP6-Answer (MIA) */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
1049 {
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
1050 /*
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
1051
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
1052 The MIP6-Answer (MIA) message, indicated by the Command-Code field
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
1053 set to 325 and the 'R' bit cleared in the Command Flags field, is
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
1054 sent by the Diameter server in response to the MIP6-Request message.
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
1055
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
1056 The User-Name AVP MAY be included in the MIA if it is present in the
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
1057 MIR. The Result-Code AVP MAY contain one of the values defined in
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
1058 Section 7, in addition to the values defined in [RFC3588].
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
1059
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
1060 An MIA message with the Result-Code AVP set to DIAMETER_SUCCESS MUST
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
1061 include the MIP-Mobile-Node-Address AVP.
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
1062
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
1063 The message format is shown below.
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
1064
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
1065 <MIP6-Answer> ::= < Diameter Header: 325, PXY >
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
1066 < Session-Id >
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
1067 { Auth-Application-Id }
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
1068 { Result-Code }
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
1069 { Origin-Host }
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
1070 { Origin-Realm }
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
1071 { Auth-Request-Type }
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
1072 [ User-Name ]
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
1073 [ Authorization-Lifetime ]
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
1074 [ Auth-Session-State ]
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
1075 [ Error-Message ]
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
1076 [ Error-Reporting-Host ]
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
1077 [ Re-Auth-Request-Type ]
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
1078 [ 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
1079 [ 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
1080 *2[ 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
1081 [ MIP-MN-HA-MSA ]
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
1082 * [ QoS-Resources ]
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
1083 [ 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
1084 [ Service-Selection ]
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
1085 [ Origin-State-Id ]
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
1086 * [ Proxy-Info ]
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
1087 * [ Redirect-Host ]
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
1088 [ Redirect-Host-Usage ]
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
1089 [ Redirect-Max-Cache-Time ]
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
1090 * [ Failed-AVP ]
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
1091 * [ AVP ]
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
1092
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 struct dict_object * cmd;
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
1095 struct dict_cmd_data data = {
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
1096 325, /* Code */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
1097 "MIP6-Answer", /* Name */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
1098 CMD_FLAG_PROXIABLE | CMD_FLAG_ERROR, /* Fixed flags */
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
1099 CMD_FLAG_PROXIABLE /* 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
1100 };
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
1101 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
1102 { { "Session-Id", RULE_FIXED_HEAD, -1, 1 }
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
1103 ,{ "Auth-Application-Id", 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
1104 ,{ "Result-Code", 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
1105 ,{ "Origin-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
1106 ,{ "Origin-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
1107 ,{ "Auth-Request-Type", 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
1108 ,{ "User-Name", 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
1109 ,{ "Authorization-Lifetime", 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
1110 ,{ "Auth-Session-State", 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
1111 ,{ "Error-Message", 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
1112 ,{ "Error-Reporting-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
1113 ,{ "Re-Auth-Request-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
1114 ,{ "MIP6-Feature-Vector", 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
1115 ,{ "MIP-Agent-Info", 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
1116 ,{ "MIP-Mobile-Node-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
1117 ,{ "MIP-MN-HA-MSA", 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
1118 ,{ "QoS-Resources", 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
1119 ,{ "Chargeable-User-Identity", 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
1120 ,{ "Service-Selection", 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
1121 ,{ "Origin-State-Id", 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
1122 ,{ "Proxy-Info", 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
1123 ,{ "Redirect-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
1124 ,{ "Redirect-Host-Usage", 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
1125 ,{ "Redirect-Max-Cache-Time", 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
1126 ,{ "Failed-AVP", 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
1127 };
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
1128
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
1129 CHECK_dict_new( DICT_COMMAND, &data , mip6i, &cmd);
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
1130 PARSE_loc_rules( rules, cmd );
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
1131 }
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
1132 }
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
1133
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
1134 TRACE_DEBUG(INFO, "Dictionary Extension 'Diameter Mobile IPv6 IKE (MIP6I)' initialized");
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
1135 return 0;
aa0dc24d2b9d New dictionary extensions for mipv6 applications (RFC 5447, 5777, 5778)
Francois Bard <francois@tera.ics.keio.ac.jp>
parents:
diff changeset
1136 }
775
0caf2d2ceb90 Fixed dependencies between mip6 dictionnary and rfc5777 dictionnary
Romain Kuntz <rkuntz@us.toyota-itc.com>
parents: 614
diff changeset
1137 EXTENSION_ENTRY("dict_mip6i", dict_mip6i_init, "dict_rfc5777");
"Welcome to our mercurial repository"