// Copyright (c) 2005 DMTF. All rights reserved. // Add UmlPackagePath // qualifier values to CIM Schema. // ================================================================== // 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[]; };