-- =================================================================
-- Copyright (C) 2021 by  HUAWEI TECHNOLOGIES. All rights reserved.
--
-- Description:HUAWEI-ESAP-MDNS-GATEWAY
-- Reference:
-- Version: V1.04
-- History:
--
-- =================================================================

    HUAWEI-ESAP-MDNS-GATEWAY-MIB DEFINITIONS ::= BEGIN

        IMPORTS
            hwDatacomm
                FROM HUAWEI-MIB
            InterfaceIndexOrZero
                FROM IF-MIB
            SnmpAdminString
                FROM SNMP-FRAMEWORK-MIB
            OBJECT-GROUP, NOTIFICATION-GROUP, MODULE-COMPLIANCE
                FROM SNMPv2-CONF
            TimeTicks, IpAddress, Integer32, Gauge32, OBJECT-TYPE,
            MODULE-IDENTITY, NOTIFICATION-TYPE
                FROM SNMPv2-SMI
            DateAndTime, DisplayString, TEXTUAL-CONVENTION, TruthValue
                FROM SNMPv2-TC;

        hwEsapMdnsGatewayMIB MODULE-IDENTITY
            LAST-UPDATED "202107071430Z"
            ORGANIZATION
                "Huawei Technologies Co.,Ltd."
            CONTACT-INFO
                "Huawei Industrial Base
                  Bantian, Longgang
                   Shenzhen 518129
                   People's Republic of China
                   Website: http://www.huawei.com
                   Email: support@huawei.com"
                   
            DESCRIPTION
                "Add mdns service-vlan blacklist and traps."

            REVISION    "202107071430Z"
                   
            DESCRIPTION
                "This MIB describes mDNS objects used for mDNS gateway, including
                configuring gateway, obtain gateway mDNS configuration and gateway 
                mDNS service detail infomation."

            REVISION    "201811221420Z"
            
            DESCRIPTION
                "The MIB add mdns policy and unicast"          

            REVISION    "201408251031Z"
            
            DESCRIPTION
                "The MIB contains objects of huawei-esap-mDNS."

            REVISION    "201312051820Z"
            
            DESCRIPTION
                "This MIB describes add mDNS group."

            REVISION    "201311131955Z"
            
            DESCRIPTION
                "This MIB describes modify mDNS objects."
                       
            
                       
            
            
            
            ::= { hwDatacomm 325 }

-- node definitions

        hwEsapMdnsGatewayObject OBJECT IDENTIFIER ::= { hwEsapMdnsGatewayMIB 1 }
        
-- description of mDNS gateway global parameters table
        hwEsapMdnsGatewayGlobalTable OBJECT-TYPE
            SYNTAX SEQUENCE OF HwEsapMdnsGatewayGlobalEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "
                The mDNS gateway global table.
                This shows all the global control parameters for mDNS gateway. 
                "
            ::= { hwEsapMdnsGatewayObject 1 }

            hwEsapMdnsGatewayGlobalEntry OBJECT-TYPE
                SYNTAX HwEsapMdnsGatewayGlobalEntry
                MAX-ACCESS not-accessible
                STATUS current
                DESCRIPTION
                    "
                    The mDNS gateway global table struct.
                    "
                INDEX { hwEsapMdnsGatewayGlobalIndex }
                ::= { hwEsapMdnsGatewayGlobalTable 1 }

            HwEsapMdnsGatewayGlobalEntry ::=
                SEQUENCE {
                    hwEsapMdnsGatewayGlobalIndex
                        Integer32,
                    hwEsapMdnsGatewayEnable
                        TruthValue,
                    hwEsapMdnsSourceIP
                        IpAddress,
                    hwEsapMdnsPolicyEnable  
                        Integer32,  
                    hwEsapMdnsPolicyNoMatchAction  
                        Integer32,  
                    hwEsapMdnsUnicastEnable  
                        Integer32
                   }

-- mDNS gateway global table index
                hwEsapMdnsGatewayGlobalIndex OBJECT-TYPE
                    SYNTAX Integer32
                    MAX-ACCESS not-accessible
                    STATUS current
                    DESCRIPTION
                        "
                        This item is mDNS gateway global table index.
                        "
                    ::= { hwEsapMdnsGatewayGlobalEntry 1 }

-- mDNS gateway enable node
                hwEsapMdnsGatewayEnable OBJECT-TYPE
                    SYNTAX TruthValue
                    MAX-ACCESS read-write
                    STATUS current
                    DESCRIPTION
                    "
                    This item shows the enable status of mDNS gateway.
                    Users can also set enable status through this item.
                    "
                    ::= { hwEsapMdnsGatewayGlobalEntry 2 }
                    
-- mDNS source ip node
                hwEsapMdnsSourceIP OBJECT-TYPE
                    SYNTAX IpAddress
                    MAX-ACCESS read-write
                    STATUS current
                    DESCRIPTION
                    "
                    This item shows the source ip of mDNS gateway.
                    Users can also set source ip through this item.
                    "
                    ::= { hwEsapMdnsGatewayGlobalEntry 3 }

-- mDNS policy enable
                hwEsapMdnsPolicyEnable OBJECT-TYPE
                    SYNTAX Integer32
                    MAX-ACCESS read-write
                    STATUS current
                    DESCRIPTION
                    "
                    This item shows the policy enable status of mDNS gateway.
                    Users can also set policy enable status through this item.
                    "
                    ::= { hwEsapMdnsGatewayGlobalEntry 4 }

-- mDNS policy enable no-match
                hwEsapMdnsPolicyNoMatchAction OBJECT-TYPE
                    SYNTAX Integer32
                    MAX-ACCESS read-write
                    STATUS current
                    DESCRIPTION
                    "
                    This item shows the policy no-match action of mDNS gateway.
                    Users can also set no-match action through this item.
                    "
                    ::= { hwEsapMdnsGatewayGlobalEntry 5 }

-- mDNS unicast-reply enable
                hwEsapMdnsUnicastEnable OBJECT-TYPE
                    SYNTAX Integer32
                    MAX-ACCESS read-write
                    STATUS current
                    DESCRIPTION
                    "
                    This item shows the unicast-reply enable status of mDNS gateway.
                    Users can also set unicast-reply enable status this item.
                    "
                    ::= { hwEsapMdnsGatewayGlobalEntry 6 }


-- mDNS gateway service probe table
        hwEsapMdnsGatewayServiceProbeTable OBJECT-TYPE
            SYNTAX SEQUENCE OF HwEsapMdnsGatewayServiceProbeEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "
                The mDNS gateway service probe table.
                This shows all the vlans currently avalible on mDNS gateway, and which have enabled service probe on mDNS gateway. 
                "
            ::= { hwEsapMdnsGatewayObject 2 }

            hwEsapMdnsGatewayServiceProbeEntry OBJECT-TYPE
                SYNTAX HwEsapMdnsGatewayServiceProbeEntry
                MAX-ACCESS not-accessible
                STATUS current
                DESCRIPTION
                    "
                    The mDNS gateway service probe table struct.
                    "
                INDEX { hwEsapMdnsGatewayServiceProbeIndex }
                ::= { hwEsapMdnsGatewayServiceProbeTable 1 }

            HwEsapMdnsGatewayServiceProbeEntry ::=
                SEQUENCE {
                    hwEsapMdnsGatewayServiceProbeIndex
                        Integer32,
                    hwEsapMdnsGatewayServiceProbeVlanId
                        Integer32,
                    hwEsapMdnsGatewayServiceProbeInterval
                        Integer32
                   }

-- mDNS gateway service probe table index
                hwEsapMdnsGatewayServiceProbeIndex OBJECT-TYPE
                    SYNTAX Integer32 (1..256)
                    MAX-ACCESS not-accessible
                    STATUS current
                    DESCRIPTION
                        "
                        This item is mDNS gateway service probe table index.
                        "
                    ::= { hwEsapMdnsGatewayServiceProbeEntry 1 }

-- all the vlans currently valid on mDNS gateway
                hwEsapMdnsGatewayServiceProbeVlanId OBJECT-TYPE
                    SYNTAX Integer32 (1..4094)
                    MAX-ACCESS read-write
                    STATUS current
                    DESCRIPTION
                        "
                        This item shows all the vlans currently avalible on mDNS gateway.
                        "
                    ::= { hwEsapMdnsGatewayServiceProbeEntry 2 }

-- mDNS gateway probe interval node
                hwEsapMdnsGatewayServiceProbeInterval OBJECT-TYPE
                    SYNTAX Integer32 (0|60..38400)
                    MAX-ACCESS read-write
                    STATUS current
                    DESCRIPTION
                    "
                    This item shows the service probe interval of mDNS gateway.
                    Users can also set service probe interval through this item.
                    "
                    ::= { hwEsapMdnsGatewayServiceProbeEntry 3 }
                                                                  
                                
-- description of mDNS service table
        hwEsapMdnsGatewayServiceTable OBJECT-TYPE
            SYNTAX SEQUENCE OF HwEsapMdnsGatewayServiceEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "
                The mDNS service table.
                This shows how many mDNS service there are on mDNS gateway.
                And show detail info of those mDNS service.
                "
            ::= { hwEsapMdnsGatewayObject 3 }

            hwEsapMdnsGatewayServiceEntry OBJECT-TYPE
                SYNTAX HwEsapMdnsGatewayServiceEntry
                MAX-ACCESS not-accessible
                STATUS current
                DESCRIPTION
                    "
                    The mDNS service table struct.
                    "
                INDEX { hwEsapMdnsGatewayServiceIndex }
                ::= { hwEsapMdnsGatewayServiceTable 1 }

            HwEsapMdnsGatewayServiceEntry ::=
                SEQUENCE {
                    hwEsapMdnsGatewayServiceIndex
                        Integer32,
                    hwEsapMdnsGatewayServiceName
                        OCTET STRING,
                    hwEsapMdnsGatewayServiceTTL
                        Integer32,
                    hwEsapMdnsGatewayServiceAgeTime
                        Integer32,
                    hwEsapMdnsGatewayServicePriority
                        Integer32,
                    hwEsapMdnsGatewayServiceWeight
                        Integer32,
                    hwEsapMdnsGatewayServicePort
                        Integer32,
                    hwEsapMdnsGatewayServiceHostName
                        OCTET STRING,
                    hwEsapMdnsGatewayServiceHostTTL
                        Integer32,
                    hwEsapMdnsGatewayServiceHostAgeTime
                        Integer32,
                    hwEsapMdnsGatewayServiceHostAddr
                        IpAddress,
                    hwEsapMdnsGatewayServiceVlanIdInfo
                        Integer32,
                    hwEsapMdnsGatewayServiceSrcMac
                        Integer32,
                    hwEsapMdnsGatewayServiceApID
                        Integer32
                 }

-- mDNS service table index
                hwEsapMdnsGatewayServiceIndex OBJECT-TYPE
                    SYNTAX Integer32
                    MAX-ACCESS not-accessible
                    STATUS current
                    DESCRIPTION
                        "
                        This item is mDNS service table index.
                        "
                    ::= { hwEsapMdnsGatewayServiceEntry 1 }


-- mDNS service name
                hwEsapMdnsGatewayServiceName OBJECT-TYPE
                    SYNTAX OCTET STRING
                    MAX-ACCESS read-only
                    STATUS current
                    DESCRIPTION
                        "
                        This item shows mDNS service name.
                        "
                    ::= { hwEsapMdnsGatewayServiceEntry 2 }

-- mDNS service TTL
                hwEsapMdnsGatewayServiceTTL OBJECT-TYPE
                    SYNTAX Integer32
                    MAX-ACCESS read-only
                    STATUS current
                    DESCRIPTION
                        "
                        This item shows mDNS service TTL.
                        "
                    ::= { hwEsapMdnsGatewayServiceEntry 3 }

-- mDNS service current age time
                hwEsapMdnsGatewayServiceAgeTime OBJECT-TYPE
                    SYNTAX Integer32
                    MAX-ACCESS read-only
                    STATUS current
                    DESCRIPTION
                        "
                        This item shows mDNS service age time.
                        "
                    ::= { hwEsapMdnsGatewayServiceEntry 4 }

-- mDNS service priority
                hwEsapMdnsGatewayServicePriority OBJECT-TYPE
                    SYNTAX Integer32
                    MAX-ACCESS read-only
                    STATUS current
                    DESCRIPTION
                        "
                        This item shows mDNS service priority.
                        "
                    ::= { hwEsapMdnsGatewayServiceEntry 5 }


-- mDNS service weight
                hwEsapMdnsGatewayServiceWeight OBJECT-TYPE
                    SYNTAX Integer32
                    MAX-ACCESS read-only
                    STATUS current
                    DESCRIPTION
                        "
                        This item shows mDNS service weight.
                        "
                    ::= { hwEsapMdnsGatewayServiceEntry 6 }

-- mDNS service port
                hwEsapMdnsGatewayServicePort OBJECT-TYPE
                    SYNTAX Integer32
                    MAX-ACCESS read-only
                    STATUS current
                    DESCRIPTION
                        "
                        This item shows mDNS service port.
                        "
                    ::= { hwEsapMdnsGatewayServiceEntry 7 }

-- mDNS service host name
                hwEsapMdnsGatewayServiceHostName OBJECT-TYPE
                    SYNTAX OCTET STRING
                    MAX-ACCESS read-only
                    STATUS current
                    DESCRIPTION
                        "
                        This item shows mDNS service host name.
                        "
                    ::= { hwEsapMdnsGatewayServiceEntry 8 }

-- mDNS service host TTL
                hwEsapMdnsGatewayServiceHostTTL OBJECT-TYPE
                    SYNTAX Integer32
                    MAX-ACCESS read-only
                    STATUS current
                    DESCRIPTION
                        "
                        This item shows mDNS service host TTL.
                        "
                    ::= { hwEsapMdnsGatewayServiceEntry 9 }

-- mDNS service host age time
                hwEsapMdnsGatewayServiceHostAgeTime OBJECT-TYPE
                    SYNTAX Integer32
                    MAX-ACCESS read-only
                    STATUS current
                    DESCRIPTION
                        "
                        This item shows mDNS service host age time.
                        "
                    ::= { hwEsapMdnsGatewayServiceEntry 10 }

-- mDNS service host ip address
                hwEsapMdnsGatewayServiceHostAddr OBJECT-TYPE
                    SYNTAX IpAddress
                    MAX-ACCESS read-only
                    STATUS current
                    DESCRIPTION
                        "
                        This item shows mDNS service host ip address.
                        "
                    ::= { hwEsapMdnsGatewayServiceEntry 11 }

-- mDNS service vlan id info
                hwEsapMdnsGatewayServiceVlanIdInfo OBJECT-TYPE
                    SYNTAX Integer32
                    MAX-ACCESS read-only
                    STATUS current
                    DESCRIPTION
                        "
                        This item shows mDNS service vlan id info.
                        "
                    ::= { hwEsapMdnsGatewayServiceEntry 12 }
-- mDNS service src mac info
                hwEsapMdnsGatewayServiceSrcMac OBJECT-TYPE
                    SYNTAX Integer32
                    MAX-ACCESS read-only
                    STATUS current
                    DESCRIPTION
                        "
                        This item shows mDNS service src mac info.
                        "
                    ::= { hwEsapMdnsGatewayServiceEntry 13 }
                    
-- mDNS service ap id info
                hwEsapMdnsGatewayServiceApID OBJECT-TYPE
                    SYNTAX Integer32
                    MAX-ACCESS read-only
                    STATUS current
                    DESCRIPTION
                        "
                        This item shows mDNS service ap id info.
                        "
                    ::= { hwEsapMdnsGatewayServiceEntry 14 }
                   
-- mDNS gateway group table
        hwEsapMdnsGatewayGroupTable OBJECT-TYPE
            SYNTAX SEQUENCE OF HwEsapMdnsGatewayGroupEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "
                The mDNS gateway group table.
                This shows all the groups currently avalible on mDNS gateway. 
                "
            ::= { hwEsapMdnsGatewayObject 4 }

            hwEsapMdnsGatewayGroupEntry OBJECT-TYPE
                SYNTAX HwEsapMdnsGatewayGroupEntry
                MAX-ACCESS not-accessible
                STATUS current
                DESCRIPTION
                    "
                    The mDNS gateway group table struct.
                    "
                INDEX { hwEsapMdnsGatewayGroupName }
                ::= { hwEsapMdnsGatewayGroupTable 1 }

            HwEsapMdnsGatewayGroupEntry ::=
                SEQUENCE {
                	hwEsapMdnsGatewayGroupName
                        OCTET STRING,
                    hwEsapMdnsGatewayDeleteGroup
                        OCTET STRING,
                    hwEsapMdnsGatewayDeleteVlanIdOpt
                        Integer32,
                    hwEsapMdnsGatewayUserVlanId
                        OCTET STRING,
                    hwEsapMdnsGatewayServiceVlanId
                        OCTET STRING
                   }

-- mDNS gateway group name
                hwEsapMdnsGatewayGroupName OBJECT-TYPE
                    SYNTAX OCTET STRING
                    MAX-ACCESS read-write
                    STATUS current
                    DESCRIPTION
                        "
                        This item is mDNS gateway group name.
                        "
                    ::= { hwEsapMdnsGatewayGroupEntry 1 }
                    
-- mDNS del group
                hwEsapMdnsGatewayDeleteGroup OBJECT-TYPE
                    SYNTAX OCTET STRING
                    MAX-ACCESS read-write
                    STATUS current
                    DESCRIPTION
                        "
                        This item deletes mDNS gateway group.
                        "
                    ::= { hwEsapMdnsGatewayGroupEntry 2 }
                    
-- mDNS del vlans
                hwEsapMdnsGatewayDeleteVlanIdOpt OBJECT-TYPE
                    SYNTAX Integer32(0..1)
                    MAX-ACCESS read-write
                    STATUS current
                    DESCRIPTION
                        "
                        This item deletes vlans.
                        1: del
                        "
                    ::= { hwEsapMdnsGatewayGroupEntry 3 }
                                                          

-- mDNS group user vlan
                hwEsapMdnsGatewayUserVlanId OBJECT-TYPE
                    SYNTAX OCTET STRING
                    MAX-ACCESS read-write
                    STATUS current
                    DESCRIPTION
                        "
                        This item shows user vlans.
                        It can be with a lot of vlans, just like '10 20 30'.
                        "
                    ::= { hwEsapMdnsGatewayGroupEntry 4 }

-- mDNS group service vlan
                hwEsapMdnsGatewayServiceVlanId OBJECT-TYPE
                    SYNTAX OCTET STRING
                    MAX-ACCESS read-write
                    STATUS current
                    DESCRIPTION
                        "
                        This item shows service vlans.
                        It can be with a lot of vlans, just like '10 20 30'.
                        "
                    ::= { hwEsapMdnsGatewayGroupEntry 5 }  
                    

-- mdns policy 
            hwEsapMdnsGatewayPolicyTable OBJECT-TYPE
                    SYNTAX SEQUENCE OF HwEsapMdnsGatewayPolicyEntry
                    MAX-ACCESS not-accessible
                    STATUS current
                    DESCRIPTION
                    "
                    The mDNS gateway Policy Service Type table.
                    This shows all the service type policy currently avalible on mDNS gateway. 
                    "
                ::= { hwEsapMdnsGatewayObject 5 }

            hwEsapMdnsGatewayPolicyEntry OBJECT-TYPE
                    SYNTAX HwEsapMdnsGatewayPolicyEntry
                    MAX-ACCESS not-accessible
                    STATUS current
                    DESCRIPTION
                        "
                        The mDNS gateway PolicyServiceType table struct.
                        "
                    INDEX { hwEsapMdnsGatewayPolicyName }
                    ::= { hwEsapMdnsGatewayPolicyTable 1 }

            HwEsapMdnsGatewayPolicyEntry ::=
                SEQUENCE {
                	hwEsapMdnsGatewayPolicyName
                        Integer32,
                    hwEsapMdnsGatewayPolicyDeviceName
                        OCTET STRING,
                    hwEsapMdnsGatewayPolicyDeviceMac
                        OCTET STRING(SIZE(6)) ,
                    hwEsapMdnsGatewayPolicyServiceType
                        OCTET STRING,
                    hwEsapMdnsGatewayPolicyLocationType
                        Integer32,
                    hwEsapMdnsGatewayPolicyLocationName
                        OCTET STRING,
                    hwEsapMdnsGatewayPolicyMatchType
                        Integer32,
                    hwEsapMdnsGatewayPolicyDel
                        Integer32
                   }
-- mDNS gateway policy type name
                hwEsapMdnsGatewayPolicyName OBJECT-TYPE
                    SYNTAX Integer32
                    MAX-ACCESS read-write
                    STATUS current
                    DESCRIPTION
                        "
                        This item is mDNS gateway policy type name.
                        "
                    ::= { hwEsapMdnsGatewayPolicyEntry 1 }

-- mDNS gateway policy device Name
                hwEsapMdnsGatewayPolicyDeviceName OBJECT-TYPE
                    SYNTAX OCTET STRING
                    MAX-ACCESS read-write
                    STATUS current
                    DESCRIPTION
                        "
                        This item is mDNS gateway policy device Name.
                        "
                    ::= { hwEsapMdnsGatewayPolicyEntry 2 }

-- mDNS gateway policy device mac address
                hwEsapMdnsGatewayPolicyDeviceMac OBJECT-TYPE
                    -- TEXTUAL CONVENTION MacAddress
                    SYNTAX OCTET STRING(SIZE(6))   
                    MAX-ACCESS read-write
                    STATUS current
                    DESCRIPTION
                        "
                        This item is mDNS gateway policy device mac address.
                        "
                    ::= { hwEsapMdnsGatewayPolicyEntry 3 }

-- mDNS gateway policy service type 
                hwEsapMdnsGatewayPolicyServiceType OBJECT-TYPE
                    SYNTAX OCTET STRING
                    MAX-ACCESS read-write
                    STATUS current
                    DESCRIPTION
                        "
                        This item is mDNS gateway policy service type.
                        "
                    ::= { hwEsapMdnsGatewayPolicyEntry 4 }

-- mDNS gateway policy location type
                hwEsapMdnsGatewayPolicyLocationType OBJECT-TYPE
                    SYNTAX Integer32
                    MAX-ACCESS read-write
                    STATUS current
                    DESCRIPTION
                        "
                        This item is mDNS gateway policy location type.
                        "
                    ::= { hwEsapMdnsGatewayPolicyEntry 5 }

-- mDNS gateway policy location name
                hwEsapMdnsGatewayPolicyLocationName OBJECT-TYPE
                    SYNTAX OCTET STRING
                    MAX-ACCESS read-write
                    STATUS current
                    DESCRIPTION
                        "
                        This item is mDNS gateway policy location name.
                        "
                    ::= { hwEsapMdnsGatewayPolicyEntry 6 }

-- mDNS gateway policy match type
                hwEsapMdnsGatewayPolicyMatchType OBJECT-TYPE
                    SYNTAX Integer32
                    MAX-ACCESS read-write
                    STATUS current
                    DESCRIPTION
                        "
                        This item is mDNS gateway policy match type.
                        "
                    ::= { hwEsapMdnsGatewayPolicyEntry 7 }

-- mDNS gateway policy delete
                hwEsapMdnsGatewayPolicyDel OBJECT-TYPE
                    SYNTAX Integer32
                    MAX-ACCESS read-write
                    STATUS current
                    DESCRIPTION
                        "
                        This item is mDNS gateway policy delete.
                        "
                    ::= { hwEsapMdnsGatewayPolicyEntry 8 }
                    
-- mdns service-vlan blacklist
            hwEsapMdnsGatewayMibBlacklistTable OBJECT-TYPE
                    SYNTAX SEQUENCE OF HwEsapMdnsGatewayMibBlacklistEntry
                    MAX-ACCESS not-accessible
                    STATUS current
                    DESCRIPTION
                    "
                    The mDNS gateway service-vlan blacklist table.
                    "
                ::= { hwEsapMdnsGatewayObject 6 }

            hwEsapMdnsGatewayMibBlacklistEntry OBJECT-TYPE
                    SYNTAX HwEsapMdnsGatewayMibBlacklistEntry
                    MAX-ACCESS not-accessible
                    STATUS current
                    DESCRIPTION
                        "
                        The mDNS gateway service-vlan blacklist table struct.
                        "
                    INDEX { hwEsapMdnsGatewayBlacklistStartVlan }
                    ::= { hwEsapMdnsGatewayMibBlacklistTable 1 }

            HwEsapMdnsGatewayMibBlacklistEntry ::=
                SEQUENCE {
                	hwEsapMdnsGatewayBlacklistStartVlan
                        Integer32,
                    hwEsapMdnsGatewayBlacklistEndVlan
                        Integer32,
                    hwEsapMdnsGatewayBlacklistEnable
                        INTEGER
                    }

-- mdns service-vlan blacklist start-vlan
                hwEsapMdnsGatewayBlacklistStartVlan OBJECT-TYPE
                    SYNTAX Integer32 (1..4094)
                    MAX-ACCESS read-write
                    STATUS current
                    DESCRIPTION
                        "
                        The mDNS gateway service-vlan blacklist start vlan.
                        "
                    ::= { hwEsapMdnsGatewayMibBlacklistEntry 1 }

-- mdns service-vlan blacklist end-vlan
                hwEsapMdnsGatewayBlacklistEndVlan OBJECT-TYPE
                    SYNTAX Integer32 (1..4094)
                    MAX-ACCESS read-write
                    STATUS current
                    DESCRIPTION
                        "
                        The mDNS gateway service-vlan blacklist end vlan.
                        "
                    ::= { hwEsapMdnsGatewayMibBlacklistEntry 2 }

-- mdns service-vlan blacklist enable
                hwEsapMdnsGatewayBlacklistEnable OBJECT-TYPE
                    SYNTAX INTEGER
                    {
                        true(1),
                        false(2)
                    }   
                    MAX-ACCESS read-write
                    STATUS current
                    DESCRIPTION
                        "
                        The mDNS gateway service-vlan blacklist switch.
                        "
                    ::= { hwEsapMdnsGatewayMibBlacklistEntry 3 }

-- mDNS mib conformance
       hwEsapMdnsGatewayMibConformance OBJECT IDENTIFIER ::= { hwEsapMdnsGatewayMIB 2 }

       hwEsapMdnsGatewayMibGroups OBJECT IDENTIFIER ::= { hwEsapMdnsGatewayMibConformance 1 }

       hwEsapMdnsGatewayMibGlobalStatusGroup OBJECT-GROUP
       OBJECTS {hwEsapMdnsGatewayEnable, hwEsapMdnsSourceIP,hwEsapMdnsPolicyEnable,hwEsapMdnsPolicyNoMatchAction,hwEsapMdnsUnicastEnable}
            STATUS current
            DESCRIPTION
                "This is the mDNS gateway global status group."
            ::= { hwEsapMdnsGatewayMibGroups 1 }
       
       hwEsapMdnsGatewayMibServiceProbeGroup OBJECT-GROUP
       OBJECTS {hwEsapMdnsGatewayServiceProbeVlanId, hwEsapMdnsGatewayServiceProbeInterval }
            STATUS current
            DESCRIPTION
                "This is the mDNS gateway service probe group."
            ::= { hwEsapMdnsGatewayMibGroups 2 }
       
       hwEsapMdnsGatewayMibServiceGroup OBJECT-GROUP
       OBJECTS {
                 hwEsapMdnsGatewayServiceName,
                 hwEsapMdnsGatewayServiceTTL,
                 hwEsapMdnsGatewayServiceAgeTime,
                 hwEsapMdnsGatewayServicePriority,
                 hwEsapMdnsGatewayServiceWeight,
                 hwEsapMdnsGatewayServicePort,
                 hwEsapMdnsGatewayServiceHostName,
                 hwEsapMdnsGatewayServiceHostTTL,
                 hwEsapMdnsGatewayServiceHostAgeTime,
                 hwEsapMdnsGatewayServiceHostAddr,
                 hwEsapMdnsGatewayServiceVlanIdInfo,
                 hwEsapMdnsGatewayServiceSrcMac,
                 hwEsapMdnsGatewayServiceApID}
            STATUS current
            DESCRIPTION
                "This is the mDNS service group."
            ::= { hwEsapMdnsGatewayMibGroups 3 }


        hwEsapMdnsGatewayMibGroupInfoGroup OBJECT-GROUP
        OBJECTS { hwEsapMdnsGatewayGroupName, hwEsapMdnsGatewayDeleteGroup, hwEsapMdnsGatewayDeleteVlanIdOpt, hwEsapMdnsGatewayUserVlanId, hwEsapMdnsGatewayServiceVlanId }
            STATUS current
            DESCRIPTION
                "This is the mDNS gateway group info group."
            ::= { hwEsapMdnsGatewayMibGroups 4 }

        hwEsapMdnsGatewayMibPolicyGroup OBJECT-GROUP
        OBJECTS { hwEsapMdnsGatewayPolicyName, hwEsapMdnsGatewayPolicyDeviceName, hwEsapMdnsGatewayPolicyDeviceMac,hwEsapMdnsGatewayPolicyServiceType,hwEsapMdnsGatewayPolicyLocationType,hwEsapMdnsGatewayPolicyLocationName,hwEsapMdnsGatewayPolicyMatchType,hwEsapMdnsGatewayPolicyDel}
            STATUS current
            DESCRIPTION
                "This is the mDNS gateway policy group."
            ::= { hwEsapMdnsGatewayMibGroups 5 }
            
        hwEsapMdnsGatewayMibBlacklistGroup OBJECT-GROUP
        OBJECTS { hwEsapMdnsGatewayBlacklistStartVlan, hwEsapMdnsGatewayBlacklistEndVlan, hwEsapMdnsGatewayBlacklistEnable }
            STATUS current
            DESCRIPTION
                "This is the mDNS gateway blacklist VLAN group."
            ::= { hwEsapMdnsGatewayMibGroups 6 }
            
        hwEsapMdnsGatewayMibTrapElemGroup OBJECT-GROUP
        OBJECTS { hwEsapMdnsGatewayRecType, hwEsapMdnsGatewayRecNumThreshold, hwEsapMdnsGatewayRecNumCurrent, hwEsapMdnsGatewayRecNumSpec }
            STATUS current
            DESCRIPTION
                "This is the mDNS gateway trap elements group."
            ::= { hwEsapMdnsGatewayMibGroups 7 }
            
        hwEsapMdnsGatewayMibTrapsGroup NOTIFICATION-GROUP
        NOTIFICATIONS { hwEsapMdnsGatewayRecNumExceedThreshold, hwEsapMdnsGatewayRecNumBelowThreshold }
            STATUS current
            DESCRIPTION
                "This is the mDNS gateway traps group."
            ::= { hwEsapMdnsGatewayMibGroups 8 }

        hwEsapMdnsGatewayMIBCompliances OBJECT IDENTIFIER ::= { hwEsapMdnsGatewayMibConformance 2 }

        hwEsapMdnsGatewayMIBCompliance MODULE-COMPLIANCE
            STATUS current
            DESCRIPTION
                "The compliance statement for entities which implement the hwEsapMdnsGatewayMIB."
            MODULE
                MANDATORY-GROUPS { hwEsapMdnsGatewayMibGlobalStatusGroup, hwEsapMdnsGatewayMibServiceProbeGroup, hwEsapMdnsGatewayMibServiceGroup, hwEsapMdnsGatewayMibGroupInfoGroup }
            ::= { hwEsapMdnsGatewayMIBCompliances 1 }
            
        hwEsapMdnsGatewayMibTrap OBJECT IDENTIFIER ::= { hwEsapMdnsGatewayMIB 3 }
        hwEsapMdnsGatewayTrapElem OBJECT IDENTIFIER ::= { hwEsapMdnsGatewayMibTrap 1 }
        
            hwEsapMdnsGatewayRecType OBJECT-TYPE
                SYNTAX OCTET STRING (SIZE (1..31))
                MAX-ACCESS accessible-for-notify
                STATUS current
                DESCRIPTION
                    "mDNS record type. Currently supported: A, PTR, TXT, SRV."
                ::= { hwEsapMdnsGatewayTrapElem 1 }
            
            hwEsapMdnsGatewayRecNumThreshold OBJECT-TYPE
                SYNTAX Integer32 (1..99)
                MAX-ACCESS accessible-for-notify
                STATUS current
                DESCRIPTION
                    "mDNS record number alarm threshold."
                ::= { hwEsapMdnsGatewayTrapElem 2 }
                
            hwEsapMdnsGatewayRecNumCurrent OBJECT-TYPE
                SYNTAX Integer32 (0..65535)
                MAX-ACCESS accessible-for-notify
                STATUS current
                DESCRIPTION
                    "Current number of mDNS record."
                ::= { hwEsapMdnsGatewayTrapElem 3 }
            
            hwEsapMdnsGatewayRecNumSpec OBJECT-TYPE
                SYNTAX Integer32 (0..65535)
                MAX-ACCESS accessible-for-notify
                STATUS current
                DESCRIPTION
                    "Maximum number of mDNS record."
                ::= { hwEsapMdnsGatewayTrapElem 4 }
                
        hwEsapMdnsGatewayTrapDef OBJECT IDENTIFIER ::= { hwEsapMdnsGatewayMibTrap 2 }
        hwEsapMdnsGatewayTraps OBJECT IDENTIFIER ::= { hwEsapMdnsGatewayTrapDef 1 }
        
            hwEsapMdnsGatewayRecNumExceedThreshold NOTIFICATION-TYPE
                OBJECTS { hwEsapMdnsGatewayRecType, hwEsapMdnsGatewayRecNumThreshold, hwEsapMdnsGatewayRecNumCurrent, hwEsapMdnsGatewayRecNumSpec }
                STATUS current
                DESCRIPTION
                    "This object indicates that the number of specific mDNS record exceeds the threshold."
                ::= { hwEsapMdnsGatewayTraps 1 }
        
            hwEsapMdnsGatewayRecNumBelowThreshold NOTIFICATION-TYPE 
                OBJECTS { hwEsapMdnsGatewayRecType, hwEsapMdnsGatewayRecNumThreshold, hwEsapMdnsGatewayRecNumCurrent, hwEsapMdnsGatewayRecNumSpec }
                STATUS current
                DESCRIPTION
                    "This object indicates that the nubmer of specific mDNS record falls below the threshold."
                ::= { hwEsapMdnsGatewayTraps 2 } 
END
