// =================================================================== // Title: Network VLAN 2.8 // Filename: Network28_VLAN.mof // Version: 2.8 // Status: Final // Date: February 24, 2004 // =================================================================== // Copyright 1998-2004 Distributed Management Task Force, Inc. (DMTF). // All rights reserved. // DMTF is a not-for-profit association of industry members dedicated // to promoting enterprise and systems management and interoperability. // DMTF specifications and documents may be reproduced for uses // consistent with this purpose by members and non-members, // provided that correct attribution is given. // As DMTF specifications may be revised from time to time, // the particular version and release date should always be noted. // // Implementation of certain elements of this standard or proposed // standard may be subject to third party patent rights, including // provisional patent rights (herein "patent rights"). DMTF makes // no representations to users of the standard as to the existence // of such rights, and is not responsible to recognize, disclose, or // identify any or all such third party patent right, owners or // claimants, nor for any incomplete or inaccurate identification or // disclosure of such rights, owners or claimants. DMTF shall have no // liability to any party, in any manner or circumstance, under any // legal theory whatsoever, for failure to recognize, disclose, or // identify any such third party patent rights, or for such party's // reliance on the standard or incorporation thereof in its product, // protocols or testing procedures. DMTF shall have no liability to // any party implementing such standard, whether such implementation // is foreseeable or not, nor to any patent owner or claimant, and shall // have no liability or responsibility for costs or losses incurred if // a standard is withdrawn or modified after publication, and shall be // indemnified and held harmless by any party implementing the // standard from any and all claims of infringement by a patent owner // for such implementations. // // For information about patents held by third-parties which have // notified the DMTF that, in their opinion, such patent may relate to // or impact implementations of DMTF standards, visit // http://www.dmtf.org/about/policies/disclosures.php. // =================================================================== // Description: The Network Model extends the management concepts to // represent protocol interfaces and network/protocol // services. This file defines VLAN (virtual LAN) // concepts. // // The object classes below are listed in an order that // avoids forward references. Required objects, defined // by other working groups, are omitted. // ================================================================== // Change Log for v2.8 // CR1024 - Deprecate all classes and properties in VLAN model. The // purpose of doing this is to introduce a new model in // the upcoming the CIM releases. // CR1226 - Change all references to CIM_802dot1QVLANService to // CIM_Specific802dot1QVLANService // // /Change Log for v2.7 // CR867 - Remove Min(1), Max(1) cardinality restrictions on Related // TransparentBridgingService // CR920 - Add missing parenthesis to the Description for CIM_VLAN // =================================================================== #pragma Locale ("en_US") // ================================================================== // VLAN // ================================================================== [Deprecated {"No Value"}, Version ("2.8.0"), Description ( "An instance of VLAN represents a VLAN within a switch. In a " "particular switch, there should be an instance of VLAN for every " "VLAN available. For example, in a switch with port-based VLANs, " "if there are 16 VLANs to which ports can be assigned (VLAN 1 " "through VLAN 16), there should be an instance of CIM_VLAN for " "each of VLAN 1 through VLAN 16.\n" "\n" "VLAN inherits Name from ServiceAccessPoint. Use this for the " "textual name of the VLAN, if there is one. Otherwise, " "synthesize a textual name, e.g., VLAN 0003. (Consider leading " "zero fill, as shown, to ensure that if the textual VLAN names " "are extracted and presented by a management applictions, the " "VLAN names will sort in the expected order.) The numeric part " "of the name should be at least four digits wide since 802.1Q " "specifies 4095 VLANs.\n" "\n" "It is intended that VLAN be subclassed only if necessary to " "add attributes. The type of the VLAN can be inferred from the " "VLANService(s) with which the VLAN is associated in the " "VLANFor association.\n" "\n" "An instance of VLAN may be associated with more than one " "VLANService. For example, there are switches that support " "both 802.1Q VLANs and the vendor's proprietary VLANs. In some " "such switches, if a broadcast packet is received on a port in " "an 802.1Q VLAN (VLAN 5, for example), it may be be transmitted " "from a port in a 'proprietary' VLAN 5. In effect, there is " "only one VLAN 5, and the type of port only determines the " "packet format for tagged packets. In the case just described, " "only one instance of CIM_VLAN should be instantiated for VLAN " "5, and it should be associated both with the 802.1Q " "VLANService and the proprietary VLANService.\n" "\n" "In typical VLAN-aware switches, packets can be assigned to a " "VLAN based on the port on which they are received (port-based " "VLANS), based on the source MAC address (MAC-based VLANs), or " "based on the value of a set of bits in the packet " "(protocol-based VLANs). If it is desirable to represent the " "VLAN assignment predicate for some MAC-based VLAN switch, it " "will be necessary to subclass VLAN. The list of MAC addresses " "associated with a VLAN might be an attribute of the subclass. " "If it is desirable to represent the VLAN assignment predicate " "in a protocol-based VLAN switch, it will also be necessary to " "subclass VLAN, InboundVLAN, or both. If the predicate applies " "to all ports in the switch, then only VLAN need be " "used/instantiated. If the predicate may vary based on the " "port, then InboundVLAN must be subclassed, and CIM_VLAN might " "have to be subclassed as well.") ] class CIM_VLAN : CIM_ServiceAccessPoint { [Deprecated {"No Value"}, Description ( "VLAN identifying number.") ] uint16 VLANNumber; }; // ================================================================== // InboundVLAN // ================================================================== [Association, Deprecated {"No Value"}, Version ("2.8.0"), Description ( "This class is deprecated in lieu or not being necessary to " "indicate whether the VLAN is inbound/outbound This association " "makes explicit the operational dependencies of a SwitchPort " "when operating in a VLAN. If there is an association between " "a particular SwitchPort and a particular VLAN, then there is " "the possibility that a packet received by the port will be " "assigned to the VLAN (or if the packet already has a VLAN tag, " "that the packet will not be dropped). If there is no such " "association, then there is NO possibility that a packet " "received by the port will progress through the switch having " "been assigned to the referenced VLAN.") ] class CIM_InboundVLAN : CIM_SAPSAPDependency { [Deprecated {"No Value"}, Override ("Antecedent"), Description ( "The VLAN to which the SwitchPort is assigned.") ] CIM_VLAN REF Antecedent; [Deprecated {"No Value"}, Override ("Dependent"), Description ( "The SwitchPort on the VLAN.") ] CIM_SwitchPort REF Dependent; [Deprecated {"No Value"}, Description ( "If TRUE, packets already tagged with this VLAN number will " "be accepted when arriving at this port. For example, if " "there is an InboundVLAN association between port 12 and " "VLAN 7 for which Tagged is true, then when a packet tagged " "with VLAN 7 arrives at port 12, the packet will be accepted " "into the switch for further processing. If there is no " "such association, then the packet will be dropped.\n" "\n" "If FALSE, it means that any untagged packets arriving at " "this port MIGHT be classified into the associated VLAN. " "If, for a particular SwitchPort, there is only one instance " "of the association for which Tagged is FALSE, then all " "incoming untagged packets will be classified into that " "VLAN. This is the typical configuration of a non-trunk " "port in a switch implementing port-based VLANs. If there " "is more than one such association instance, then the packet " "MIGHT be classified into any one of them, based on some " "criterion other than the identity of the switch port. For " "example, in a MAC-based VLAN switch, the decision would be " "based on the source MAC address. In a protocol-based VLAN " "switch, the decision would be based on the values of some " "set of bits in the packet.\n" "\n" "Note that the MAC address is formatted as twelve " "hexadecimal digits (e.g., \"010203040506\"), with each pair " "representing one of the six octets of the MAC address in " "\"canonical\" bit order according to RFC 2469.") ] boolean Tagged; [Deprecated {"No Value"}, Description ( "Default should be TRUE if untagged packets received by the " "SwitchPort are assigned to the VLAN. For 802.1Q-compliant " "ports, the Default property should be TRUE on the " "association instance connecting a SwitchPort to the VLAN " "corresponding to the port's PVID. Default MUST never be " "TRUE if Tagged is true -- it applies only to untagged " "packets.") ] boolean Default; }; // ================================================================== // OutboundVLAN // ================================================================== [Association, Deprecated {"No Value"}, Version ("2.8.0"), Description ( "This class is deprecated in lieu or not being necessary to " "indicate whether the VLAN is inbound/outbound This association " "makes explicit the operational dependencies of a SwitchPort " "when operating in a VLAN. If there is no instance of " "OutboundVLAN between a given SwitchPort and VLAN, then any " "packet that has been assigned to the VLAN and whose " "destination address is associated with the port will be " "dropped by the switch without being transmitted. Otherwise, " "the packet will be transmitted.") ] class CIM_OutboundVLAN : CIM_SAPSAPDependency { [Deprecated {"No Value"}, Override ("Antecedent"), Description ( "The VLAN to which the SwitchPort is assigned.") ] CIM_VLAN REF Antecedent; [Deprecated {"No Value"}, Override ("Dependent"), Description ( "The SwitchPort on the VLAN.") ] CIM_SwitchPort REF Dependent; [Deprecated {"No Value"}, Description ( "If Tagged is TRUE, then the packet will be transmitted in " "encapsulated form, tagged with the associated VLAN tag. If " "Tagged is FALSE, the packet will be trasmitted without any " "VLAN tag.") ] boolean Tagged; }; // ================================================================== // VLANService // ================================================================== [Deprecated {"No Value"}, Abstract, Version ("2.8.0"), Description ( "This class is deprecated following discussion as to the need " "of a modeling a VLAN as a service. It was determined that a " "VLAN service was not needed. VLANService represents the VLAN " "aspects of the function performed by a switch. Some " "VLAN-aware devices participate in protocols where VLAN " "information is propagated among switches, e.g., GVRP in 802.1Q " "switches and VTP in Cisco Catalyst switches. VLANService also " "represents the function performed by the switch as a " "participant in such a protocol. VLANService must be " "subclassed so that the type of instance can be distinguished " "by its class.") ] class CIM_VLANService : CIM_Service { }; // ================================================================== // Specific802dot1QVLANService // ================================================================== [Deprecated {"No Value"}, Version ("2.8.0"), Description ( "This class is deprecated following discussion as to the need " "of a modeling a 802.1Q as a service. It was determined that a " "802.1Q service was not needed. If a switch supports 802.1Q, " "an instance of this class should be instantiated in the " "switch. If the switch supports GVRP, this class represents " "the function that the switch performs with respect to GVRP.") ] class CIM_Specific802dot1QVLANService : CIM_VLANService { }; // ================================================================== // VLANFor // ================================================================== [Association, Deprecated {"No Value"}, Version ("2.8.0"), Description ( "The VLAN for the VLAN Service.") ] class CIM_VLANFor : CIM_ServiceSAPDependency { [Deprecated {"No Value"}, Override ("Antecedent"), Description ( "The VLAN for the VLANService.") ] CIM_VLAN REF Antecedent; [Deprecated {"No Value"}, Override ("Dependent"), Min (1), Description ( "The VLANService which uses the VLAN for processing.") ] CIM_VLANService REF Dependent; }; // ================================================================== // SwitchServiceVLAN // ================================================================== [Association, Deprecated {"No Value"}, Aggregation, Version ("2.8.0"), Description ( "This class is deprecated as a fall out of the previous " "deprecations within the existing model An association linking " "SwitchService to a component VLANService.") ] class CIM_SwitchServiceVLAN : CIM_ServiceComponent { [Deprecated {"No Value"}, Aggregate, Override ("GroupComponent"), Min (1), Max (1), Description ( "The SwitchService containing the VLANService.") ] CIM_SwitchService REF GroupComponent; [Deprecated {"No Value"}, Override ("PartComponent"), Description ( "The VLANService that is a component of the SwitchService.") ] CIM_VLANService REF PartComponent; }; // ================================================================== // RelatedTransparentBridgingService // ================================================================== [Association, Deprecated {"No Value"}, Version ("2.8.0"), Description ( "This class is deprecated as a fall out of the previous " "deprecations within the existing model The association between " "a VLAN and the forwarding database (some use the term " "filtering database) used to determine which port a packet " "should be transmitted on, given that it is assigned to the " "VLAN and that it has a particular destination MAC address. " "The TransparentBridgingService represents a forwarding " "database.") ] class CIM_RelatedTransparentBridgingService : CIM_ServiceSAPDependency { [Deprecated {"No Value"}, Override ("Antecedent"), Description ( "The VLAN.") ] CIM_VLAN REF Antecedent; [Deprecated {"No Value"}, Override ("Dependent"), Description ( "The BridgingService that determines the port, given the the " "VLAN and addressing information.") ] CIM_TransparentBridgingService REF Dependent; }; // =================================================================== // end of file // ===================================================================