// Copyright (c) 2005 DMTF.  All rights reserved.
   [Version ( "2.7.0" ), 
    UMLPackagePath ( "CIM::Network::Filtering" ), 
    Description ( 
       "PreambleFilter allows the classification of packets using "
       "traffic-conditioning results (where the results are determined "
       "by a PreambleMarkerService and stored in a \'packet "
       "preamble\'). This permits information about the treatment that "
       "a packet receives on an ingress interface to be communicated "
       "along with the packet to the egress interface. An instance of "
       "PreambleFilter selects packets based on a two-part string "
       "(type and value pair) identifying a specific entry in the "
       "preamble. The logic for this match is \'at least one.\' That "
       "is, a packet with multiple entries/results in its preamble "
       "matches a filter if at least one of these matches the filter." )]
class CIM_PreambleFilter : CIM_FilterEntryBase {

      [Description ( 
          "To foster interoperability, the basic format of the "
          "information captured by a PreambleMarker is specified. "
          "That information is contained in the FilterItemList "
          "property (an ordered, string array). Each entry in the "
          "array takes the form \'type,value\'. When entries are "
          "added, they are appended to the end of the list. \n"
          "\n"
          "A limited set of standardized \'type\'s exist. They are: \n"
          "- ConformingFromMeter, NonConformingFromMeter and "
          "PartConformingFromMeter to convey metering results "
          "(where the \'value\' is the name of the meter) \n"
          "- VlanId to describe the traffic\'s VLAN information "
          "(where the \'value\' is the VLAN ID). \n"
          "An implementation is free to define and use other "
          "preamble \'types\'. \n"
          "\n"
          "Note that a wildcard value of \"any\" is allowed to "
          "indicate that the preamble entry matches for any \'value\' "
          "of the specified \'type\'. For example, using the "
          "wildcard, an administrator can define a filter to select "
          "all packets that were found to be conforming (\'type\' = "
          "\"ConformingFromMeter\") without having to name each "
          "meter individually." ), 
       ArrayType ( "Ordered" )]
   string FilterItemList[];


};
