(file) Return to Network27_Filtering.mof CVS log (file) (dir) Up to [Pegasus] / pegasus / Schemas / CIM27

  1 kumpf 1.2 // ===================================================================
  2           // Title:       Network Filtering 2.7
  3           // Filename:    Network27_Filtering.mof
  4           // Version:     2.7.0
  5           // Status:      Final
  6           // Date:        March 31, 2003
  7           // ===================================================================
  8           // Copyright 1998-2003 Distributed Management Task Force, Inc. (DMTF).
  9           // All rights reserved.  
 10           // DMTF is a not-for-profit association of industry members dedicated 
 11           // to promoting enterprise and systems management and interoperability. 
 12           // DMTF specifications and documents may be reproduced for uses
 13           // consistent with this purpose by members and non-members, 
 14           // provided that correct attribution is given. 
 15           // As DMTF specifications may be revised from time to time, 
 16           // the particular version and release date should always be noted.
 17           //
 18           // Implementation of certain elements of this standard or proposed 
 19           // standard may be subject to third party patent rights, including 
 20           // provisional patent rights (herein "patent rights"). DMTF makes 
 21           // no representations to users of the standard as to the existence 
 22 kumpf 1.2 // of such rights, and is not responsible to recognize, disclose, or
 23           // identify any or all such third party patent right, owners or 
 24           // claimants, nor for any incomplete or inaccurate identification or 
 25           // disclosure of such rights, owners or claimants. DMTF shall have no 
 26           // liability to any party, in any manner or circumstance, under any 
 27           // legal theory whatsoever, for failure to recognize, disclose, or 
 28           // identify any such third party patent rights, or for such party's
 29           // reliance on the standard or incorporation thereof in its product, 
 30           // protocols or testing procedures. DMTF shall have no liability to 
 31           // any party implementing such standard, whether such implementation 
 32           // is foreseeable or not, nor to any patent owner or claimant, and shall 
 33           // have no liability or responsibility for costs or losses incurred if 
 34           // a standard is withdrawn or modified after publication, and shall be
 35           // indemnified and held harmless by any party implementing the 
 36           // standard from any and all claims of infringement by a patent owner 
 37           // for such implementations.
 38           //
 39           // For information about patents held by third-parties which have 
 40           // notified the DMTF that, in their opinion, such patent may relate to 
 41           // or impact implementations of DMTF standards, visit 
 42           // http://www.dmtf.org/about/policies/disclosures.php.
 43 kumpf 1.2 // ===================================================================
 44           // Description: The Network Model extends the management concepts to
 45           //              represent protocol interfaces and network/protocol 
 46           //              services.  This file defines filtering - filter lists
 47           //              and filter entries. 
 48           //
 49           //              The object classes below are listed in an order that
 50           //              avoids forward references. Required objects, defined 
 51           //              by other working groups, are omitted.
 52           // ==================================================================
 53           // Change Log for v2.7
 54           // CR793 - Add the Abstract qualifier to FilterEntryBase and update 
 55           //         the description
 56           //       - Update the description for EntriesInFilterList.EntrySequence
 57           //       - Deprecate FilterEntriesInSystem and FilterListInSystem
 58           //       - Add HostedFilterEntryBase and HostedFilterList
 59           //       - Add 8021Filter and PreambleFilter
 60           //       - FilterEntry.TrafficType needs an Other value in its 
 61           //         enumerated list, and an OtherTrafficType property should be 
 62           //         defined  
 63           // CR800 - Remove FilterEntry.TrafficClass' ModelCorrespondence
 64 kumpf 1.2 // CR849 - 8021Filter property names must be changed from 8021HdrXXX to
 65           //         HdrXXX8021 to comply with the CIM Spec
 66           // CR867 - Add Override qualifier to FilterEntryBase and 
 67           //         FilterList.Name
 68           // CR982 - Removal of Experimental for preliminary to final
 69           // CR983 - Deprecations for v2.7 made final
 70           // ===================================================================
 71            
 72           #pragma Locale ("en_US")
 73           
 74           
 75           // ===================================================================
 76           // FilterEntryBase 
 77           // ===================================================================
 78              [Abstract, Version ("2.7.0"), Description (
 79                 "A FilterList aggregates instances of (subclasses of) "
 80                 "FilterEntryBase via the aggregation EntriesInFilterList. "
 81                 "The filter entries are always ANDed together when grouped "
 82                 "by the FilterList. Note that it is possible to aggregate "
 83                 "different types of filters into a single FilterList - "
 84                 "for example, packet header filters (represented by the "
 85 kumpf 1.2       "IpHeadersFilter class) and IPsec security filters. \n" 
 86                 "\n"
 87                 "A FilterList is weak to the network device (e.g., the "
 88                 "ComputerSystem) that contains it. Hence, the ComputerSystem "
 89                 "keys are propagated to this class.") ]
 90           class CIM_FilterEntryBase : CIM_LogicalElement {
 91           
 92                   [Propagated ("CIM_ComputerSystem.CreationClassName"), Key, 
 93                    MaxLen (256), 
 94                    Description (
 95                    "The scoping ComputerSystem's CreationClassName.") ] 
 96               string SystemCreationClassName;
 97           
 98                   [Propagated ("CIM_ComputerSystem.Name"), Key, MaxLen (256),
 99                    Description (
100                    "The scoping ComputerSystem's Name.") ] 
101               string SystemName;
102           
103                   [Key, MaxLen (256), 
104                    Description (
105                    "CreationClassName indicates the name of the class or the "
106 kumpf 1.2          "subclass used in the creation of an instance. When used "
107                    "with the other key properties of this class, this property "
108                    "allows all instances of this class and its subclasses to "
109                    "be uniquely identified.") ]
110               string CreationClassName;
111           
112                   [Override ("Name"), Key, MaxLen (256), 
113                    Description (
114                    "The Name property defines the label by which the Filter"
115                    "Entry is known and uniquely identified.") ] 
116               string Name;
117           
118                   [Description (
119                     "Boolean indicating that the match condition described "
120                     "in the properties of the FilterEntryBase subclass "
121                     "should be negated.") ]
122               boolean IsNegated;
123           };
124           
125           
126           // ==================================================================
127 kumpf 1.2 // FilterEntry
128           // ==================================================================
129              [Version ("2.7.0"), Description (
130                 "A FilterEntry is used by network devices to identify "
131                 "traffic and either forward it (with possibly further "
132                 "processing) to its destination, or to deny its "
133                 "forwarding. It is one of the building block of "
134                 "FilterLists. \n"
135                 "\n"
136                 "This class is oriented towards packet filtering. Other "
137                 "subclasses of FilterEntryBase can be defined to do other "
138                 "types of filtering. \n"
139                 "\n"
140                 "A FilterEntry is weak to the network device (i.e., the "
141                 "ComputerSystem) that contains it. Hence, the ComputerSystem "
142                 "keys are propagated to this class.") ]
143           class CIM_FilterEntry : CIM_FilterEntryBase {
144           
145                   [Description (
146                    "This defines the type of traffic that is being filtered. "
147                    "This will affect the filtering rules in the MatchCondition "
148 kumpf 1.2          "property of this class."),
149                    ValueMap {"0", "1", "2", "3", "4", "5"},
150                    Values {"Unknown", "IPv4", "IPX", "IPv6", "Any", "Other"},
151                    ModelCorrespondence {"CIM_FilterEntry.OtherTrafficType"} ]
152               uint16 TrafficType;
153           
154                   [Description (
155                    "If the value of the TrafficType property in this "
156                    "class is 5 (i.e., \"Other\"), then the specific type of "
157                    "traffic is specified in this property."),
158                    ModelCorrespondence {"CIM_FilterEntry.TrafficType"} ]
159               string OtherTrafficType;
160           
161                   [Description (
162                    "This specifies one of a set of ways to identify traffic. "
163                    "If the value is 1 (i.e., \"Other\"), then the specific "
164                    "type of filtering is specified in the "
165                    "OtherMatchConditionType property of this class."),
166                    ValueMap {"1", "2", "3", "4", "5", "6", "7", "8", "9",
167                       "10", "11", "12", "13"},
168                    Values {"Other", "Source Address and Mask",
169 kumpf 1.2             "Destination Address and Mask", "Source Port",
170                       "Source Port Range", "Destination Port",
171                       "Destination Port Range", "Protocol Type",
172                       "Protocol Type and Option", "DSCP", "ToS Value",
173                       "802.1P Priority Value", "Any"},
174                    ModelCorrespondence { 
175                       "CIM_FilterEntry.OtherMatchConditionType"} ]
176               uint16 MatchConditionType;
177           
178                   [Description (
179                    "If the value of the MatchConditionType property in this "
180                    "class is 1 (i.e., \"Other\"), then the specific type of "
181                    "filtering is specified in this property."),
182                    ModelCorrespondence { 
183                       "CIM_FilterEntry.MatchConditionType"} ]
184               string OtherMatchConditionType;
185           
186                   [Description (
187                    "This is the value of the condition that filters the "
188                    "traffic. It corresponds to the condition specified in the "
189                    "MatchConditionType property. If, however, the value of the "
190 kumpf 1.2          "MatchConditionProperty is 1, then it corresponds to the "
191                    "condition specified in the OtherMatchConditionType "
192                    "property.") ]
193               string MatchConditionValue;
194            
195                   [Description (
196                    "This defines whether the action should be to forward or "
197                    "deny traffic meeting the match condition specified in "
198                    "this filter."),
199                    ValueMap {"1", "2"},
200                    Values {"Permit", "Deny"} ]
201               uint16 Action;
202           
203                   [Description (
204                    "This defines whether this FilterEntry is the default "
205                    "entry to use by its FilterList.") ]
206               boolean DefaultFilter;
207           
208                   [Description (
209                    "This defines the traffic class that is being matched by "
210                    "this FilterEntry. Note that FilterEntries are aggregated "
211 kumpf 1.2          "into FilterLists by the EntriesInFilterList "
212                    "relationship. If the EntrySequence property of the "
213                    "aggregation is set to 0, this means that all the Filter"
214                    "Entries should be ANDed together. Consequently, the "
215                    "TrafficClass property of each of the aggregated Entries "
216                    "should be set to the same value.") ]
217               string TrafficClass;
218           }; 
219           
220           
221           // =================================================================== 
222           // IPHeadersFilter 
223           // =================================================================== 
224              [Version ("2.6.0"), Description (
225                 "IPHeadersFilter contains the most commonly " 
226                 "required properties for performing filtering on IP, TCP or " 
227                 "UDP headers. Properties not present in an instance of the " 
228                 "IPHeadersFilter are treated as 'all values'.") ] 
229           class CIM_IPHeadersFilter : CIM_FilterEntryBase {
230            
231                   [Description (
232 kumpf 1.2          "HdrIPVersion identifies the version of the IP "
233                    "addresses for IP header filters. It is also used to "
234                    "determine the sizes of the OctetStrings in the six "
235                    "properties HdrSrcAddress, HdrSrcAddressEndOfRange, "
236                    "HdrSrcMask, HdrDestAddress, HdrDestAddressEndOfRange "
237                    "and HdrDestMask, as follows: \n"
238                    "ipv4(4): OctetString(SIZE (4)) \n"
239                    "ipv6(6): OctetString(SIZE (16|20)), \n"
240                    "depending on whether a scope identifier is present. \n"
241                    "\n"
242                    "If a value for this property is not provided, then the "
243                    "filter does not consider IP version in selecting matching "
244                    "packets, i.e., IP version matches for all values. In this "
245                    "case, the HdrSrcAddress, HdrSrcAddressEndOfRange, "
246                    "HdrSrcMask, HdrDestAddress, HdrDestAddressEndOfRange and "
247                    "HdrDestMask must also be not present."),
248                    ValueMap {"4", "6"},
249                    Values {"IPv4", "IPv6"},
250                    ModelCorrespondence {"CIM_IPHeadersFilter.HdrSrcAddress",
251                       "CIM_IPHeadersFilter.HdrSrcAddressEndOfRange",
252                       "CIM_IPHeadersFilter.HdrSrcMask",
253 kumpf 1.2             "CIM_IPHeadersFilter.HdrDestAddress",
254                       "CIM_IPHeadersFilter.HdrDestAddressEndOfRange",
255                       "CIM_IPHeadersFilter.HdrDestMask"} ]
256               uint8 HdrIPVersion;
257           
258                   [OctetString, Description (
259                    "HdrSrcAddress is an OctetString, of a size "
260                    "determined by the value of the HdrIPVersion property, "
261                    "representing a source IP address. When there is no "
262                    "HdrSrcAddressEndOfRange value, this value is compared to "
263                    "the source address in the IP header, subject to the mask "
264                    "represented in the HdrSrcMask property. (Note that the "
265                    "mask is ANDed with the address.) When there is a "
266                    "HdrSrcAddressEndOfRange value, this value is the start of "
267                    "the specified range (i.e., the HdrSrcAddress is lower than "
268                    "the HdrSrcAddressEndOfRange) that is compared to the source "
269                    "address in the IP header and matches on any value in the "
270                    "range. \n"
271                    "\n"
272                    "If a value for this property is not provided, then the "
273                    "filter does not consider HdrSrcAddress in selecting "
274 kumpf 1.2          "matching packets, i.e., HdrSrcAddress matches for all "
275                    "values."), 
276                    ModelCorrespondence {"CIM_IPHeadersFilter.HdrIPVersion"} ]
277               uint8 HdrSrcAddress[];
278           
279                   [OctetString, Description (
280                    "HdrSrcAddressEndOfRange is an OctetString, of "
281                    "a size determined by the value of the HdrIPVersion property, "
282                    "representing the end of a range of source IP addresses "
283                    "(inclusive), where the start of the range is the "
284                    "HdrSrcAddress property value. \n"
285                    "\n"
286                    "If a value for HdrSrcAddress is not provided, then this "
287                    "property also MUST NOT be provided. If a value for this "
288                    "property is provided, then HdrSrcMask MUST NOT be provided."), 
289                    ModelCorrespondence {"CIM_IPHeadersFilter.HdrIPVersion"} ]
290               uint8 HdrSrcAddressEndOfRange[];
291           
292                   [OctetString, Description (
293                    "HdrSrcMask is an OctetString, of a size "
294                    "determined by the value of the HdrIPVersion property, "
295 kumpf 1.2          "representing a mask to be used in comparing the source "
296                    "address in the IP header with the value represented in "
297                    "the HdrSrcAddress property. \n"
298                    "\n"
299                    "If a value for this property is not provided, then the "
300                    "filter does not consider HdrSrcMask in selecting "
301                    "matching packets, i.e., the value of the HdrSrcAddress or "
302                    "the source address range must match the source address "
303                    "in the packet exactly. If a value for this "
304                    "property is provided, then HdrSrcAddressEndOfRange "
305                    "MUST NOT be provided."), 
306                    ModelCorrespondence {"CIM_IPHeadersFilter.HdrIPVersion"} ]
307               uint8 HdrSrcMask[];
308           
309                   [OctetString, Description (
310                    "HdrDestAddress is an OctetString, of a size "
311                    "determined by the value of the HdrIPVersion property, "
312                    "representing a destination IP address. When there is no "
313                    "HdrDestAddressEndOfRange value, this value is compared to "
314                    "the destination address in the IP header, subject to the "
315                    "mask represented in the HdrDestMask property. (Note that "
316 kumpf 1.2          "the mask is ANDed with the address.) When there is a "
317                    "HdrDestAddressEndOfRange value, this value is the start of "
318                    "the specified range (i.e., the HdrDestAddress is lower than "
319                    "the HdrDestAddressEndOfRange) that is compared to the source "
320                    "address in the IP header and matches on any value in the "
321                    "range. \n"
322                    "\n"
323                    "If a value for this property is not provided, then the "
324                    "filter does not consider HdrDestAddress in selecting "
325                    "matching packets, i.e., HdrDestAddress matches for all "
326                    "values."), 
327                    ModelCorrespondence {"CIM_IPHeadersFilter.HdrIPVersion"} ]
328               uint8 HdrDestAddress[];
329           
330                   [OctetString, Description (
331                    "HdrDestAddressEndOfRange is an OctetString, of "
332                    "a size determined by the value of the HdrIPVersion property, "
333                    "representing the end of a range of destination IP addresses "
334                    "(inclusive), where the start of the range is the "
335                    "HdrDestAddress property value. \n"
336                    "\n"
337 kumpf 1.2          "If a value for HdrDestAddress is not provided, then this "
338                    "property also MUST NOT be provided. If a value for this "
339                    "property is provided, then HdrDestMask MUST NOT be provided."), 
340                    ModelCorrespondence {"CIM_IPHeadersFilter.HdrIPVersion"} ]
341               uint8 HdrDestAddressEndOfRange[];
342           
343                   [OctetString, Description (
344                    "HdrDestMask is an OctetString, of a size "
345                    "determined by the value of the HdrIPVersion property, "
346                    "representing a mask to be used in comparing the destination "
347                    "address in the IP header with the value represented in the "
348                    "HdrDestAddress property. \n"
349                    "\n"
350                    "If a value for this property is not provided, then the "
351                    "filter does not consider HdrDestMask in selecting "
352                    "matching packets, i.e., the value of the HdrDestAddress or "
353                    "the destination address range must match the destination "
354                    "address in the packet exactly. If a value for this "
355                    "property is provided, then HdrDestAddressEndOfRange "
356                    "MUST NOT be provided."), 
357                    ModelCorrespondence {"CIM_IPHeadersFilter.HdrIPVersion"} ]
358 kumpf 1.2     uint8 HdrDestMask[];
359           
360                   [Description (
361                    "HdrProtocolID is an 8-bit unsigned integer, "
362                    "representing an IP protocol type. This value is compared "
363                    "to the Protocol field in the IP header. \n"
364                    "\n"
365                    "If a value for this property is not provided, then the "
366                    "filter does not consider HdrProtocolID in selecting "
367                    "matching packets, i.e., HdrProtocolID matches for all "
368                    "values.") ]
369               uint8 HdrProtocolID;
370           
371                   [Description (
372                    "HdrSrcPortStart represents the lower end of "
373                    "a range of UDP or TCP source ports. The upper end of the "
374                    "range is represented by the HdrSrcPortEnd property. "
375                    "The value of HdrSrcPortStart MUST be no greater than the "
376                    "value of HdrSrcPortEnd. \n"
377                    "\n"
378                    "A source port filter is evaluated by testing whether the "
379 kumpf 1.2          "source port identified in the IP header falls within the "
380                    "range of values between HdrSrcPortStart and HdrSrcPortEnd, "
381                    "INCLUDING these two end points. \n"
382                    "\n"
383                    "If a value for this property is not provided, then the "
384                    "filter does not consider HdrSrcPortStart in selecting "
385                    "matching packets, i.e., there is no lower bound in "
386                    "matching source port values.") ]
387               uint16 HdrSrcPortStart;
388           
389                   [Description (
390                    "HdrSrcPortEnd represents the upper end of a "
391                    "range of UDP or TCP source ports. The lower end of the "
392                    "range is represented by the HdrSrcPortStart property. The "
393                    "value of HdrSrcPortEnd MUST be no less than the value of "
394                    "HdrSrcPortStart. A single port is indicated by equal values "
395                    "for HdrSrcPortStart and HdrSrcPortEnd. \n"
396                    "\n"
397                    "A source port filter is evaluated by testing whether the "
398                    "source port identified in the IP header falls within the "
399                    "range of values between HdrSrcPortStart and HdrSrcPortEnd, "
400 kumpf 1.2          "INCLUDING these two end points. \n"
401                    "\n"
402                    "If a value for this property is not provided, then the "
403                    "filter does not consider HdrSrcPortEnd in selecting "
404                    "matching packets, i.e., there is no upper bound in "
405                    "matching source port values.") ]
406               uint16 HdrSrcPortEnd;
407           
408                   [Description (
409                    "HdrDestPortStart represents the lower end of "
410                    "a range of UDP or TCP destination ports. The upper end of "
411                    "the range is represented by the HdrDestPortEnd property. "
412                    "The value of HdrDestPortStart MUST be no greater than the "
413                    "value of HdrDestPortEnd. A single port is indicated by " 
414                    "equal values for HdrDestPortStart and HdrDestPortEnd. \n"
415                    "\n"
416                    "A destination port filter is evaluated by testing whether "
417                    "the destination port identified in the IP header falls "
418                    "within the range of values between HdrDestPortStart and "
419                    "HdrDestPortEnd, INCLUDING these two end points. \n"
420                    "\n"
421 kumpf 1.2          "If a value for this property is not provided, then the "
422                    "filter does not consider HdrDestPortStart in selecting "
423                    "matching packets, i.e., there is no lower bound in "
424                    "matching destination port values.") ]
425               uint16 HdrDestPortStart;
426           
427                   [Description (
428                    "HdrDestPortEnd represents the upper end of a "
429                    "range of UDP or TCP destination ports. The lower end of the "
430                    "range is represented by the HdrDestPortStart property. The "
431                    "value of HdrDestPortEnd MUST be no less than the value of "
432                    "HdrDestPortStart. A single port is indicated by equal "
433                    "values for HdrDestPortStart and HdrDestPortEnd. \n"
434                    "\n"
435                    "A destination port filter is evaluated by testing whether "
436                    "the destination port identified in the IP header falls "
437                    "within the range of values between HdrDestPortStart and "
438                    "HdrDestPortEnd, INCLUDING these two end points. \n"
439                    "\n"
440                    "If a value for this property is not provided, then the "
441                    "filter does not consider HdrDestPortEnd in selecting "
442 kumpf 1.2          "matching packets, i.e., there is no upper bound in "
443                    "matching destination port values.") ]
444               uint16 HdrDestPortEnd;
445           
446                   [MaxValue (63), Description (
447                    "HdrDSCP is defined as a set of discrete "
448                    "DiffServ code points, with no inherent structure. There "
449                    "is no semantically significant relationship between "
450                    "different HdrDSCPs. Consequently, there is no "
451                    "provision for specifying a range of HdrDSCPs. \n"
452                    "\n"
453                    "Since, in IPv4, the HdrDSCP field may contain bits "
454                    "to be interpreted as the TOS IP Precedence, this "
455                    "property is also used to filter on IP Precedence. "
456                    "Similarly, the IPv6 Traffic Class field is also "
457                    "filtered using the value(s) in this property. \n"
458                    "\n"
459                    "HdrDSCP is defined as an array, to provide the "
460                    "ability to specify several discrete DSCPs in a single "
461                    "instance of IPHeadersFilter, that would be OR'ed "
462                    "together to define the filter criteria. \n"
463 kumpf 1.2          "\n"
464                    "If a value for this property is not provided, then the "
465                    "filter does not consider HdrDSCP in selecting matching "
466                    "packets, i.e., HdrDSCP matches for all values.") ]
467               uint8 HdrDSCP[];
468           
469                   [OctetString, Description (
470                    "The 20-bit Flow Label field in the IPv6 header "
471                    "may be used by a source to label sequences of packets for "
472                    "which it requests special handling by the IPv6 devices, such "
473                    "as non-default quality of service or 'real-time' service. "
474                    "In the filter, this 20-bit string is encoded in a 24-bit " 
475                    "octetstring by right-adjusting the value and padding on "
476                    "the left with b'0000'. \n"
477                    "\n"
478                    "If a value for this property is not provided, then the "
479                    "filter does not consider HdrFlowLabel in selecting matching "
480                    "packets, i.e., HdrFlowLabel matches for all values.") ]
481               uint8 HdrFlowLabel[];
482           }; 
483           
484 kumpf 1.2     
485           // ==================================================================
486           // 8021Filter
487           // ==================================================================
488              [Version ("2.7.0"), Description (
489                 "8021Filter allows 802.1.source and destination MAC addresses, "
490                 "as well as the 802.1 protocol ID, priority, and VLAN "
491                 "identifier fields, to be expressed in a single object to "
492                 "classify and identify traffic.") ]
493           class CIM_8021Filter : CIM_FilterEntryBase {
494           
495                   [OctetString, Description (
496                    "This property is an OctetString of size 6, representing "
497                    "a 48-bit source MAC address in canonical format. This "
498                    "value is compared to the SourceAddress field in the "
499                    "MAC header, subject to the mask represented in the "
500                    "8021HdrSrcMACMask property. If a value for this "
501                    "property is not provided, then the filter does not "
502                    "consider 8021HdrSrcMACAddr in selecting matching packets, "
503                    "i.e., 8021HdrSrcMACAddr matches for all values.") ]
504               uint8 HdrSrcMACAddr8021[6];
505 kumpf 1.2 
506                   [OctetString, Description (
507                    "This property is an OctetString of size 6, representing "
508                    "a 48-bit mask to be used in comparing the SourceAddress "
509                    "field in the MAC header with the value represented in "
510                    "the 8021HdrSrcMACAddr property. If a value for this "
511                    "property is not provided, then the filter does not "
512                    "consider 8021HdrSrcMACMask in selecting matching packets, "
513                    "i.e., the value of 8021HdrSrcMACAddr must match the source "
514                    "MAC address in the packet exactly.") ]
515               uint8 HdrSrcMACMask8021[6];
516           
517                   [OctetString, Description (
518                    "This property is an OctetString of size 6, representing "
519                    "a 48-bit destination MAC address in canonical format. This "
520                    "value is compared to the DestinationAddress field in the "
521                    "MAC header, subject to the mask represented in the "
522                    "8021HdrDestMACMask property. If a value for this "
523                    "property is not provided, then the filter does not "
524                    "consider 8021HdrDestMACAddr in selecting matching packets, "
525                    "i.e., 8021HdrDestMACAddr matches for all values.") ]
526 kumpf 1.2     uint8 HdrDestMACAddr8021[6];
527           
528                   [OctetString, Description (
529                    "This property is an OctetString of size 6, representing "
530                    "a 48-bit mask to be used in comparing the DestinationAddress "
531                    "field in the MAC header with the value represented in "
532                    "the 8021HdrDestMACAddr property. If a value for this "
533                    "property is not provided, then the filter does not "
534                    "consider 8021HdrDestMACMask in selecting matching packets, "
535                    "i.e., the value of 8021HdrDestMACAddr must match the "
536                    "destination MAC address in the packet exactly.") ]
537               uint8 HdrDestMACMask8021[6];
538           
539                   [Description (
540                    "This property is a 16-bit unsigned integer, representing "
541                    "an Ethernet protocol type. This value is compared to the "
542                    "Ethernet Type field in the 802.3 MAC header. If a value "
543                    "for this property is not provided, then the filter does not "
544                    "consider 8021HdrProtocolID in selecting matching packets, "
545                    "i.e., 8021HdrProtocolID matches for all values.") ]
546               uint16 HdrProtocolID8021;
547 kumpf 1.2 
548                   [MinValue (0), MaxValue (7), Description (
549                    "This property is an 8-bit unsigned integer, representing "
550                    "an 802.1Q priority. This value is compared to the Priority "
551                    "field in the 802.1Q header. Since the 802.1Q Priority field "
552                    "consists of 3 bits, the values for this property are "
553                    "limited to the range 0..7. If a value for this property "
554                    "is not provided, then the filter does not consider "
555                    "8021HdrPriorityValue in selecting matching packets, i.e., "
556                    "8021HdrPriorityValue matches for all values.") ]
557               uint8 HdrPriorityValue8021;
558           
559                   [MinValue (0), MaxValue (4095), Description (
560                    "This property is an 32-bit unsigned integer, representing an "
561                    "802.1Q VLAN Identifier. This value is compared to the VLAN "
562                    "ID field in the 802.1Q header. Since the 802.1Q VLAN ID field "
563                    "consists of 12 bits, the values for this property are limited "
564                    "to the range 0..4095. If a value for this property is not "
565                    "provided, then the filter does not consider 8021HdrVLANID in "
566                    "selecting matching packets, i.e., 8021HdrVLANID matches for "
567                    "all values.") ]
568 kumpf 1.2     uint32 HdrVLANID8021;
569           };
570           
571           
572           // ==================================================================
573           // PreambleFilter
574           // ==================================================================
575              [Version ("2.7.0"), Description (
576                 "PreambleFilter allows the classification of packets "
577                 "using traffic-conditioning results (where the results are "
578                 "determined by a PreambleMarkerService and stored in a "
579                 "'packet preamble'). This permits information "
580                 "about the treatment that a packet receives on an ingress "
581                 "interface to be communicated along with the packet to the "
582                 "egress interface. An instance of PreambleFilter selects "
583                 "packets based on a two-part string (type and value pair) "
584                 "identifying a specific entry in the preamble. The logic "
585                 "for this match is 'at least one.' That is, a packet with "
586                 "multiple entries/results in its preamble matches "
587                 "a filter if at least one of these matches the filter.") ]
588           class CIM_PreambleFilter : CIM_FilterEntryBase {
589 kumpf 1.2 
590                   [Description  (
591                    "To foster interoperability, the basic format of the "
592                    "information captured by a PreambleMarker is specified. "
593                    "That information is contained in the FilterItemList "
594                    "property (an ordered, string array). Each entry in the "
595                    "array takes the form 'type,value'. When entries are added, "
596                    "they are appended to the end of the list. \n"
597                    "\n"
598                    "A limited set of standardized 'type's exist. They are: \n"
599                    "   - ConformingFromMeter, NonConformingFromMeter and "
600                    "PartConformingFromMeter to convey metering results "
601                    "(where the 'value' is the name of the meter) \n"
602                    "   - VlanId to describe the traffic's VLAN information "
603                    "(where the 'value' is the VLAN ID). \n"
604                    "  An implementation is free to define and use other "
605                    "preamble 'types'. \n"
606                    "\n"          
607                    "Note that a wildcard value of \"any\" is allowed to "
608                    "indicate that the preamble entry matches for any 'value' "
609                    "of the specified 'type'. For example, using the wildcard, "
610 kumpf 1.2          "an administrator can define a filter to select all "
611                    "packets that were found to be conforming ('type' = "
612                    "\"ConformingFromMeter\") without having to name each "
613                    "meter individually."),
614                    ArrayType ("Ordered") ]
615               string FilterItemList[];
616           };
617           
618           
619           // ==================================================================
620           // FilterList
621           // ==================================================================
622              [Version ("2.7.0"), Description (
623                 "A FilterList is used by network devices to identify routes "
624                 "by aggregating a set of FilterEntries into a unit, called a "
625                 "FilterList. FilterLists can also be used to accept or deny "
626                 "routing updates. \n" 
627                 "\n"
628                 "A FilterList is weak to the network device (i.e., the "
629                 "ComputerSystem) that contains it. Hence, the ComputerSystem "
630                 "keys are propagated to this class.") ]
631 kumpf 1.2 class CIM_FilterList : CIM_LogicalElement {
632           
633                   [Propagated ("CIM_ComputerSystem.CreationClassName"), Key, 
634                    MaxLen (256), Description (
635                    "The scoping ComputerSystem's CreationClassName.") ] 
636               string SystemCreationClassName;
637           
638                   [Propagated ("CIM_ComputerSystem.Name"), Key, MaxLen (256),
639                    Description ("The scoping ComputerSystem's Name.") ] 
640               string SystemName;
641           
642                   [Key, Description (
643                    "The type of class that this instance is.") ]
644               string CreationClassName;
645           
646                   [Override ("Name"), Key, MaxLen(256), Description (
647                    "This is the name of the FilterList.") ]
648               string Name;
649           
650                   [Description (
651                    "This defines whether the FilterList is used "
652 kumpf 1.2          "for input, output, or both input and output "
653                    "filtering. All values are used with respect to "
654                    "the interface for which the FilterList applies. \n"
655                    "\n" 
656                    "\"Not Applicable\" (0) is used when there is no "
657                    "direction applicable to the FilterList. "
658                    "\"Input\" (1) is used when the FilterList applies "
659                    "to packets that are inbound on the related "
660                    "interface. "
661                    "\"Output\" (2) is used when the FilterList applies "
662                    "to packets that are outbound on the related "
663                    "interface. "
664                    "\"Both\" (3) is used to indicate that "
665                    "the direction is immaterial, e.g., to filter on "
666                    "a source subnet regardless of whether the flow is "
667                    "inbound or outbound. "
668                    "\"Mirrored\" (4) is also applicable to "
669                    "both inbound and outbound flow processing, but "
670                    "indicates that the filter criteria are applied "
671                    "asymmetrically to traffic in both directions "
672                    "and, thus, specifies the reversal of source and "
673 kumpf 1.2          "destination criteria (as opposed to the equality "
674                    "of these criteria as indicated by \"Both\"). "
675                    "The match conditions in the aggregated "
676                    "FilterEntryBase subclass instances are defined "
677                    "from the perspective of outbound flows and applied "
678                    "to inbound flows as well by reversing the source "
679                    "and destination criteria. So, for example, "
680                    "consider a FilterList with 3 FilterEntries "
681                    "indicating destination port = 80, and source and "
682                    "destination addresses of a and b, respectively. "
683                    "Then, for the outbound direction, the filter "
684                    "entries match as specified and the 'mirror' (for "
685                    "the inbound direction) matches on source "
686                    "port = 80 and source and destination addresses "
687                    "of b and a, respectively."),
688                    ValueMap {"0", "1", "2", "3", "4"}, 
689                    Values {"Not Applicable", "Input", "Output",
690                       "Both", "Mirrored"} ]
691               uint16 Direction;
692           };
693           
694 kumpf 1.2 
695           // ==================================================================
696           // FilterEntryInSystem
697           // ==================================================================
698              [Association, Aggregation, Version ("2.7.0"), 
699               Deprecated {"CIM_HostedFilterEntryBase"}, 
700               Description (
701                 "All filter entries (FilterEntryBase and its subclasses) "
702                 "are defined in the context of a ComputerSystem/network "
703                 "device, where they are used to identify and act on network "
704                 "traffic. Note that this class is deprecated since its "
705                 "subclassing is not correct. It subclasses from System"
706                 "Component, but a FilterEntryBase is NOT a Component of a "
707                 "System. Instead, it is hosted/scoped by the System. "
708                 "In versions up to CIM 2.6, FilterEntryInSystem was a "
709                 "mandatory, Weak relationship. This is no longer true, "
710                 "beginning with CIM V2.7.") ]
711           class CIM_FilterEntryInSystem : CIM_SystemComponent {
712           
713                   [Override ("GroupComponent"), Aggregate, Max (1), 
714                    Deprecated {"CIM_HostedFilterEntryBase.Antecedent"}, 
715 kumpf 1.2          Description (
716                    "The ComputerSystem/network device that scopes the "
717                    "FilterEntryBase.") ]
718               CIM_ComputerSystem REF GroupComponent;
719           
720                   [Override ("PartComponent"), 
721                    Deprecated {"CIM_HostedFilterEntryBase.Dependent"}, 
722                    Description (
723                    "The FilterEntryBase on the System.") ]
724               CIM_FilterEntryBase REF PartComponent;
725           };
726           
727           
728           // ==================================================================
729           // FilterListInSystem
730           // ==================================================================
731              [Association, Aggregation, Version ("2.7.0"),
732               Deprecated {"CIM_HostedFilterList"}, 
733               Description (
734                 "FilterLists are defined in the context of a ComputerSystem "
735                 "(e.g., a router, firewall or host). Note that this class is "
736 kumpf 1.2       "deprecated since its subclassing is not correct. It "
737                 "subclasses from SystemComponent, but a FilterList is "
738                 "NOT a Component of a System. Instead, it is hosted/scoped "
739                 "by the System. In versions up to CIM 2.6, FilterListInSystem "
740                 "was a mandatory, Weak relationship. This is no longer true, "
741                 "beginning with CIM V2.7.") ]
742           class CIM_FilterListInSystem : CIM_SystemComponent {
743           
744                   [Override ("GroupComponent"), Aggregate, Max (1),
745                    Deprecated {"CIM_HostedFilterList.Antecedent"}, 
746                    Description (
747                    "The ComputerSystem/network device that scopes the "
748                    "FilterList and administers it.") ]
749               CIM_ComputerSystem REF GroupComponent;
750           
751                   [Override ("PartComponent"), 
752                    Deprecated {"CIM_HostedFilterList.Dependent"}, 
753                    Description (
754                    "The FilterList on the System.") ]
755               CIM_FilterList REF PartComponent; 
756           };
757 kumpf 1.2 
758           
759           // ==================================================================
760           // HostedFilterEntryBase
761           // ==================================================================
762              [Association, Version ("2.7.0"), 
763               Description (
764                 "All filter entries (FilterEntryBase and its subclasses) "
765                 "are defined in the context of a ComputerSystem/network "
766                 "device, where the filter entries are used and administered.") ]
767           class CIM_HostedFilterEntryBase : CIM_Dependency {
768           
769                   [Override ("Antecedent"), Min (1), Max (1), 
770                    Description (
771                    "The ComputerSystem/network device that scopes the "
772                    "FilterEntryBase.") ]
773               CIM_ComputerSystem REF Antecedent;
774           
775                   [Override ("Dependent"), Weak, Description (
776                    "The FilterEntryBase on the System.") ]
777               CIM_FilterEntryBase REF Dependent;
778 kumpf 1.2 };
779           
780           
781           // ==================================================================
782           // HostedFilterList
783           // ==================================================================
784              [Association, Version ("2.7.0"), 
785               Description (
786                 "FilterLists are defined in the context of a ComputerSystem/"
787                 "network device, where the list is used and administered.") ]
788           class CIM_HostedFilterList : CIM_Dependency {
789           
790                   [Override ("Antecedent"), Min (1), Max (1), 
791                    Description (
792                    "The ComputerSystem/network device that scopes the "
793                    "FilterList.") ]
794               CIM_ComputerSystem REF Antecedent;
795           
796                   [Override ("Dependent"), Weak, Description (
797                    "The FilterList on the System.") ]
798               CIM_FilterList REF Dependent; 
799 kumpf 1.2 };
800           
801           
802           // ==================================================================
803           // EntriesInFilterList
804           // ==================================================================
805              [Association, Aggregation, Version ("2.7.0"), 
806               Description (
807                 "This is a specialization of the CIM_Component aggregation "
808                 "which is used to define a set of filter entries (subclasses "
809                 "of FilterEntryBase) that are aggregated by a particular "
810                 "FilterList.") ]
811           class CIM_EntriesInFilterList : CIM_Component {
812           
813                   [Override ("GroupComponent"), Aggregate, Max (1), 
814                    Description (
815                    "The FilterList, which aggregates the set "
816                    "of FilterEntries.") ] 
817               CIM_FilterList REF GroupComponent;
818           
819                   [Override ("PartComponent"), 
820 kumpf 1.2          Description (
821                    "Any subclass of FilterEntryBase which is a part of "
822                    "the FilterList.") ] 
823               CIM_FilterEntryBase REF PartComponent;
824           
825                   [ValueMap {"0"}, Description (
826                     "The order of the Entry relative to all others in the "
827                     "FilterList. The only permissible value is zero - "
828                     "indicating that all the Entries are ANDed together.") ]
829               uint16 EntrySequence = 0;
830           };
831           
832           
833           // ===================================================================
834           // end of file
835           // ===================================================================

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2