Newer
Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
/**
* @author ETSI / STF405
* @version $URL: svn+ssh://vcs.etsi.org/TTCN3/ATS/Its/trunk/ttcn/AtsIPv6OverGeoNetworking/ItsIpv6OverGeoNetworking_TestCases.ttcn $
* $Id: ItsIpv6OverGeoNetworking_TestCases.ttcn 169 2010-09-23 08:12:36Z berge $
* @desc Types and values for IPv6 over GeoNetworking Protocol
*
*/
module LibItsIpv6OverGeoNetworking_TypesAndValues {
//LibCommon
import from LibCommon_BasicTypesAndValues all;
import from LibCommon_DataStrings all;
//LibIts
group ipv6OverGeoConfigurationTypes {
type record GvlTableEntry {
octetstring prefix,
integer prefixLength,
charstring area,
charstring interface
}
type record of GvlTableEntry GvlTable;
type record MacTableEntry {
charstring key,
MacAddress macAddress
}
type record of MacTableEntry MacTable;
} // end ipv6OverGeoConfigurationTypes
group ethernet {
/**
* @desc Ethernet MAC address
*/
type Oct6 MacAddress;
} // end ethernet
group ipv6 {
/**
* @desc PDU type derived from RFC2460
*/
type record Ipv6Packet {
Ipv6Header ipv6Hdr,
ExtensionHeaderList extHdrList optional,
Ipv6Payload ipv6Payload optional
}
/**
* @desc Derived from RFC 2460 Section 3
* @url http://www.ietf.org/rfc/rfc2460.txt
*/
type record Ipv6Header {
UInt4 version,
UInt8 trafficClass,
UInt20 flowLabel,
UInt16 payloadLength,
UInt8 nextHeader,
UInt8 hopLimit,
Ipv6Address sourceAddress,
Ipv6Address destinationAddress
}
const UInt8 c_noNextHdr := 59;
/**
* @desc IPv6 extension header list
*/
type octetstring ExtensionHeaderList;
/**
* @desc IPv6 payload
*/
type union Ipv6Payload {
RouterAdvertisementMsg routerAdvMsg,
octetstring octetstringMsg
}
/**
* @desc IPv6 Address
*/
type Oct16 Ipv6Address;
/**
* @desc RouterAdvertisement message type
*/
const UInt8 c_rtAdvMsg := 134;
/**
* @desc PDU type derived from RFC2461 clause 4.2
*/
type record RouterAdvertisementMsg {
UInt8 icmpType(c_rtAdvMsg),
UInt8 icmpCode,
Oct2 checksum,
UInt8 curHopLimit,
UInt1 managedConfigFlag,
UInt1 otherConfigFlag,
UInt1 homeAgentFlag,
UInt5 reserved,
UInt16 routerLifetime,
UInt32 reachableTime,
UInt32 retransTimer,
RtAdvOptions rtAdvOptions optional
}
/**
* @desc RouterAdvertisement option list
*/
type octetstring RtAdvOptions;
} // end group ipv6
} // end LibItsIpv6OverGeoNetworking_TypesAndValues