summaryrefslogtreecommitdiffstats
path: root/Schemas/CIM228/DMTF/Network/CIM_IPHeadersFilter.mof
blob: c85abc1e3dedf326ca72c57d51dd8d78674d8e23 (plain)
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
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
// Copyright (c) 2005 DMTF.  All rights reserved.
// <change cr="ArchCR00066.004" type="add">Add UmlPackagePath
// qualifier values to CIM Schema.</change>
// ==================================================================
//  CIM_IPHeadersFilter 
// ==================================================================
   [Version ( "2.6.0" ), 
    UMLPackagePath ( "CIM::Network::Filtering" ), 
    Description ( 
       "IPHeadersFilter contains the most commonly required properties "
       "for performing filtering on IP, TCP or UDP headers. Properties "
       "not present in an instance of the IPHeadersFilter are treated "
       "as \'all values\'." )]
class CIM_IPHeadersFilter : CIM_FilterEntryBase {

      [Description ( 
          "HdrIPVersion identifies the version of the IP addresses "
          "for IP header filters. It is also used to determine the "
          "sizes of the OctetStrings in the six properties "
          "HdrSrcAddress, HdrSrcAddressEndOfRange, HdrSrcMask, "
          "HdrDestAddress, HdrDestAddressEndOfRange and "
          "HdrDestMask, as follows: \n"
          "ipv4(4): OctetString(SIZE (4)) \n"
          "ipv6(6): OctetString(SIZE (16|20)), \n"
          "depending on whether a scope identifier is present. \n"
          "\n"
          "If a value for this property is not provided, then the "
          "filter does not consider IP version in selecting "
          "matching packets, i.e., IP version matches for all "
          "values. In this case, the HdrSrcAddress, "
          "HdrSrcAddressEndOfRange, HdrSrcMask, HdrDestAddress, "
          "HdrDestAddressEndOfRange and HdrDestMask must also be "
          "not present." ), 
       ValueMap { "4", "6" }, 
       Values { "IPv4", "IPv6" }, 
       ModelCorrespondence { "CIM_IPHeadersFilter.HdrSrcAddress", 
          "CIM_IPHeadersFilter.HdrSrcAddressEndOfRange", 
          "CIM_IPHeadersFilter.HdrSrcMask", 
          "CIM_IPHeadersFilter.HdrDestAddress", 
          "CIM_IPHeadersFilter.HdrDestAddressEndOfRange", 
          "CIM_IPHeadersFilter.HdrDestMask" }]
   uint8 HdrIPVersion;

      [Description ( 
          "HdrSrcAddress is an OctetString, of a size determined by "
          "the value of the HdrIPVersion property, representing a "
          "source IP address. When there is no "
          "HdrSrcAddressEndOfRange value, this value is compared to "
          "the source address in the IP header, subject to the mask "
          "represented in the HdrSrcMask property. (Note that the "
          "mask is ANDed with the address.) When there is a "
          "HdrSrcAddressEndOfRange value, this value is the start "
          "of the specified range (i.e., the HdrSrcAddress is lower "
          "than the HdrSrcAddressEndOfRange) that is compared to "
          "the source address in the IP header and matches on any "
          "value in the range. \n"
          "\n"
          "If a value for this property is not provided, then the "
          "filter does not consider HdrSrcAddress in selecting "
          "matching packets, i.e., HdrSrcAddress matches for all "
          "values." ), 
       OctetString, ModelCorrespondence { 
          "CIM_IPHeadersFilter.HdrIPVersion" }]
   uint8 HdrSrcAddress[];

      [Description ( 
          "HdrSrcAddressEndOfRange is an OctetString, of a size "
          "determined by the value of the HdrIPVersion property, "
          "representing the end of a range of source IP addresses "
          "(inclusive), where the start of the range is the "
          "HdrSrcAddress property value. \n"
          "\n"
          "If a value for HdrSrcAddress is not provided, then this "
          "property also MUST NOT be provided. If a value for this "
          "property is provided, then HdrSrcMask MUST NOT be "
          "provided." ), 
       OctetString, ModelCorrespondence { 
          "CIM_IPHeadersFilter.HdrIPVersion" }]
   uint8 HdrSrcAddressEndOfRange[];

      [Description ( 
          "HdrSrcMask is an OctetString, of a size determined by "
          "the value of the HdrIPVersion property, representing a "
          "mask to be used in comparing the source address in the "
          "IP header with the value represented in the "
          "HdrSrcAddress property. \n"
          "\n"
          "If a value for this property is not provided, then the "
          "filter does not consider HdrSrcMask in selecting "
          "matching packets, i.e., the value of the HdrSrcAddress "
          "or the source address range must match the source "
          "address in the packet exactly. If a value for this "
          "property is provided, then HdrSrcAddressEndOfRange MUST "
          "NOT be provided." ), 
       OctetString, ModelCorrespondence { 
          "CIM_IPHeadersFilter.HdrIPVersion" }]
   uint8 HdrSrcMask[];

      [Description ( 
          "HdrDestAddress is an OctetString, of a size determined "
          "by the value of the HdrIPVersion property, representing "
          "a destination IP address. When there is no "
          "HdrDestAddressEndOfRange value, this value is compared "
          "to the destination address in the IP header, subject to "
          "the mask represented in the HdrDestMask property. (Note "
          "that the mask is ANDed with the address.) When there is "
          "a HdrDestAddressEndOfRange value, this value is the "
          "start of the specified range (i.e., the HdrDestAddress "
          "is lower than the HdrDestAddressEndOfRange) that is "
          "compared to the source address in the IP header and "
          "matches on any value in the range. \n"
          "\n"
          "If a value for this property is not provided, then the "
          "filter does not consider HdrDestAddress in selecting "
          "matching packets, i.e., HdrDestAddress matches for all "
          "values." ), 
       OctetString, ModelCorrespondence { 
          "CIM_IPHeadersFilter.HdrIPVersion" }]
   uint8 HdrDestAddress[];

      [Description ( 
          "HdrDestAddressEndOfRange is an OctetString, of a size "
          "determined by the value of the HdrIPVersion property, "
          "representing the end of a range of destination IP "
          "addresses (inclusive), where the start of the range is "
          "the HdrDestAddress property value. \n"
          "\n"
          "If a value for HdrDestAddress is not provided, then this "
          "property also MUST NOT be provided. If a value for this "
          "property is provided, then HdrDestMask MUST NOT be "
          "provided." ), 
       OctetString, ModelCorrespondence { 
          "CIM_IPHeadersFilter.HdrIPVersion" }]
   uint8 HdrDestAddressEndOfRange[];

      [Description ( 
          "HdrDestMask is an OctetString, of a size determined by "
          "the value of the HdrIPVersion property, representing a "
          "mask to be used in comparing the destination address in "
          "the IP header with the value represented in the "
          "HdrDestAddress property. \n"
          "\n"
          "If a value for this property is not provided, then the "
          "filter does not consider HdrDestMask in selecting "
          "matching packets, i.e., the value of the HdrDestAddress "
          "or the destination address range must match the "
          "destination address in the packet exactly. If a value "
          "for this property is provided, then "
          "HdrDestAddressEndOfRange MUST NOT be provided." ), 
       OctetString, ModelCorrespondence { 
          "CIM_IPHeadersFilter.HdrIPVersion" }]
   uint8 HdrDestMask[];

      [Description ( 
          "HdrProtocolID is an 8-bit unsigned integer, representing "
          "an IP protocol type. This value is compared to the "
          "Protocol field in the IP header. \n"
          "\n"
          "If a value for this property is not provided, then the "
          "filter does not consider HdrProtocolID in selecting "
          "matching packets, i.e., HdrProtocolID matches for all "
          "values." )]
   uint8 HdrProtocolID;

      [Description ( 
          "HdrSrcPortStart represents the lower end of a range of "
          "UDP or TCP source ports. The upper end of the range is "
          "represented by the HdrSrcPortEnd property. The value of "
          "HdrSrcPortStart MUST be no greater than the value of "
          "HdrSrcPortEnd. \n"
          "\n"
          "A source port filter is evaluated by testing whether the "
          "source port identified in the IP header falls within the "
          "range of values between HdrSrcPortStart and "
          "HdrSrcPortEnd, INCLUDING these two end points. \n"
          "\n"
          "If a value for this property is not provided, then the "
          "filter does not consider HdrSrcPortStart in selecting "
          "matching packets, i.e., there is no lower bound in "
          "matching source port values." )]
   uint16 HdrSrcPortStart;

      [Description ( 
          "HdrSrcPortEnd represents the upper end of a range of UDP "
          "or TCP source ports. The lower end of the range is "
          "represented by the HdrSrcPortStart property. The value "
          "of HdrSrcPortEnd MUST be no less than the value of "
          "HdrSrcPortStart. A single port is indicated by equal "
          "values for HdrSrcPortStart and HdrSrcPortEnd. \n"
          "\n"
          "A source port filter is evaluated by testing whether the "
          "source port identified in the IP header falls within the "
          "range of values between HdrSrcPortStart and "
          "HdrSrcPortEnd, INCLUDING these two end points. \n"
          "\n"
          "If a value for this property is not provided, then the "
          "filter does not consider HdrSrcPortEnd in selecting "
          "matching packets, i.e., there is no upper bound in "
          "matching source port values." )]
   uint16 HdrSrcPortEnd;

      [Description ( 
          "HdrDestPortStart represents the lower end of a range of "
          "UDP or TCP destination ports. The upper end of the range "
          "is represented by the HdrDestPortEnd property. The value "
          "of HdrDestPortStart MUST be no greater than the value of "
          "HdrDestPortEnd. A single port is indicated by equal "
          "values for HdrDestPortStart and HdrDestPortEnd. \n"
          "\n"
          "A destination port filter is evaluated by testing "
          "whether the destination port identified in the IP header "
          "falls within the range of values between "
          "HdrDestPortStart and HdrDestPortEnd, INCLUDING these two "
          "end points. \n"
          "\n"
          "If a value for this property is not provided, then the "
          "filter does not consider HdrDestPortStart in selecting "
          "matching packets, i.e., there is no lower bound in "
          "matching destination port values." )]
   uint16 HdrDestPortStart;

      [Description ( 
          "HdrDestPortEnd represents the upper end of a range of "
          "UDP or TCP destination ports. The lower end of the range "
          "is represented by the HdrDestPortStart property. The "
          "value of HdrDestPortEnd MUST be no less than the value "
          "of HdrDestPortStart. A single port is indicated by equal "
          "values for HdrDestPortStart and HdrDestPortEnd. \n"
          "\n"
          "A destination port filter is evaluated by testing "
          "whether the destination port identified in the IP header "
          "falls within the range of values between "
          "HdrDestPortStart and HdrDestPortEnd, INCLUDING these two "
          "end points. \n"
          "\n"
          "If a value for this property is not provided, then the "
          "filter does not consider HdrDestPortEnd in selecting "
          "matching packets, i.e., there is no upper bound in "
          "matching destination port values." )]
   uint16 HdrDestPortEnd;

      [Description ( 
          "HdrDSCP is defined as a set of discrete DiffServ code "
          "points, with no inherent structure. There is no "
          "semantically significant relationship between different "
          "HdrDSCPs. Consequently, there is no provision for "
          "specifying a range of HdrDSCPs. \n"
          "\n"
          "Since, in IPv4, the HdrDSCP field may contain bits to be "
          "interpreted as the TOS IP Precedence, this property is "
          "also used to filter on IP Precedence. Similarly, the "
          "IPv6 Traffic Class field is also filtered using the "
          "value(s) in this property. \n"
          "\n"
          "HdrDSCP is defined as an array, to provide the ability "
          "to specify several discrete DSCPs in a single instance "
          "of IPHeadersFilter, that would be OR\'ed together to "
          "define the filter criteria. \n"
          "\n"
          "If a value for this property is not provided, then the "
          "filter does not consider HdrDSCP in selecting matching "
          "packets, i.e., HdrDSCP matches for all values." ), 
       MaxValue ( 63 )]
   uint8 HdrDSCP[];

      [Description ( 
          "The 20-bit Flow Label field in the IPv6 header may be "
          "used by a source to label sequences of packets for which "
          "it requests special handling by the IPv6 devices, such "
          "as non-default quality of service or \'real-time\' "
          "service. In the filter, this 20-bit string is encoded in "
          "a 24-bit octetstring by right-adjusting the value and "
          "padding on the left with b\'0000\'. \n"
          "\n"
          "If a value for this property is not provided, then the "
          "filter does not consider HdrFlowLabel in selecting "
          "matching packets, i.e., HdrFlowLabel matches for all "
          "values." ), 
       OctetString]
   uint8 HdrFlowLabel[];


};