-- HP Enterprise Switch UDP Forwarder configuration MIB 

HP-ICF-UDP-FORWARD DEFINITIONS ::= BEGIN

    IMPORTS
        Integer32,Counter32, MODULE-IDENTITY, OBJECT-TYPE
            FROM SNMPv2-SMI
        RowStatus
            FROM SNMPv2-TC
        VlanId
            FROM Q-BRIDGE-MIB
        hpSwitch
            FROM HP-ICF-OID
        InetAddressType, InetAddress, InetPortNumber
            FROM INET-ADDRESS-MIB
        MODULE-COMPLIANCE, OBJECT-GROUP
              FROM SNMPv2-CONF;

    hpicfUdpFwd MODULE-IDENTITY
        LAST-UPDATED "200908040630Z" -- Aug 04, 2009
        ORGANIZATION "HP Networking"
        CONTACT-INFO "Hewlett-Packard Company
                      8000 Foothills Blvd.
                      Roseville, CA 95747"
        DESCRIPTION  "This MIB module defines objects for configuring
                     the UDP Broadcast Forwarding of HP networking
                     devices."
        REVISION     "200908040630Z" -- Aug 04, 2009
        DESCRIPTION  "Added Mib Objects that display DHCP relay agent 
	              packet statistics."

        REVISION     "200405190630Z" -- May 19, 2004
        DESCRIPTION  "Initial version of this MIB module."
        
        ::= { hpSwitch 23 }


hpicfUdpFwdNotification         OBJECT IDENTIFIER ::= {hpicfUdpFwd 0}
hpicfUdpFwdObjects         OBJECT IDENTIFIER ::= { hpicfUdpFwd 1 }

-- General UDP broadcast forwarding group

hpicfUdpBcastFwdAdminStatus         OBJECT-TYPE
        SYNTAX      INTEGER {
                        enabled(1),
                        disabled(2)
                    }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "The operational status of the UDP Broadcast Forward
                    feature"
        DEFVAL     { disabled }
        ::= { hpicfUdpFwdObjects 1 }

-- UDP broadcast forwarding table

hpicfUdpFwdServersTable  OBJECT-TYPE
        SYNTAX  SEQUENCE OF HpicfUdpFwdServersEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
                "This table contains a list of UDP Server Address and 
                 associated port numbers for which forwarding 
                 is enabled."
        ::= { hpicfUdpFwdObjects 2}

hpicfUdpFwdServersEntry  OBJECT-TYPE
        SYNTAX  HpicfUdpFwdServersEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
                "An entry of the UDP broadcast forwarding
                table."
        INDEX   {hpicfUdpFwdVlanId,
                 hpicfUdpFwdServerIndex}

        ::= { hpicfUdpFwdServersTable 1 }

HpicfUdpFwdServersEntry ::= SEQUENCE {
        hpicfUdpFwdVlanId                 VlanId,
        hpicfUdpFwdServerIndex            Integer32,
        hpicfUdpFwdServerAddressType      InetAddressType,
        hpicfUdpFwdServerAddress          InetAddress,
        hpicfUdpFwdPortNumber             InetPortNumber,
        hpicfUdpFwdRowStatus              RowStatus
        }

hpicfUdpFwdVlanId OBJECT-TYPE
        SYNTAX      VlanId
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "The VLAN index which uniquely identifies a row  
                    in this table."
        ::= { hpicfUdpFwdServersEntry 1 }

hpicfUdpFwdServerIndex OBJECT-TYPE
        SYNTAX      Integer32 (1..4094)
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "Server table index which uniquely identifies a
                    position in table of servers (for VlanIndex)."
        ::= { hpicfUdpFwdServersEntry 2 }

hpicfUdpFwdServerAddressType       OBJECT-TYPE
        SYNTAX      InetAddressType
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION "The type of IP address for the configured server"
        ::= { hpicfUdpFwdServersEntry 3 }

hpicfUdpFwdServerAddress OBJECT-TYPE
        SYNTAX      InetAddress (SIZE(0..36))
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION " This object contains the server IP address. The
                  type of address specified by this object is 
              indicated by the corresponding instance of the 
              hpicfUdpFwdServerAddressType. 

                    An attempt to create a row in which the length
                    of this object is not consistent with the type
                    specified by hpicfUdpFwdServerAddressType must
                    be rejected."

        ::= { hpicfUdpFwdServersEntry 4 }

hpicfUdpFwdPortNumber     OBJECT-TYPE
        SYNTAX  InetPortNumber
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION " UDP port number for which UDP broadcast forwarding
                is enabled."
        ::= { hpicfUdpFwdServersEntry 5}


hpicfUdpFwdRowStatus  OBJECT-TYPE
        SYNTAX      RowStatus
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION "Status of table row."              
        ::= { hpicfUdpFwdServersEntry 6 }

-- DHCP relay statistics mib 

hpicfUdpFwdDhcpRelayClientDiscards OBJECT-TYPE
        SYNTAX        Counter32
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION "The number of DHCP client packets discarded
		     by the relay agent for any reason."
        ::= { hpicfUdpFwdObjects 3}

hpicfUdpFwdDhcpRelayClientForwards OBJECT-TYPE
        SYNTAX        Counter32
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION "The number of DHCP client packets relayed 
	             successfully to the DHCP server by the relay agent."
        ::= { hpicfUdpFwdObjects 4}

hpicfUdpFwdDhcpRelayServerDiscards OBJECT-TYPE
        SYNTAX        Counter32
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION "The number of DHCP server packets discarded 
	             by the relay agent for any reason."
        ::= { hpicfUdpFwdObjects 5 }

hpicfUdpFwdDhcpRelayServerForwards OBJECT-TYPE
        SYNTAX        Counter32
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION "The number of DHCP server packets relayed 
	            successfully to the DHCP server by the relay agent."
        ::= { hpicfUdpFwdObjects 6 }


-- Conformance information

hpicfUdpFwdConformance OBJECT IDENTIFIER ::= { hpicfUdpFwd  2 }

hpicfUdpFwdCompliances OBJECT IDENTIFIER ::= { hpicfUdpFwdConformance 1 }
hpicfUdpFwdGroups      OBJECT IDENTIFIER ::= { hpicfUdpFwdConformance 2 }



-- compliance statements


hpicfUdpFwdCompliance MODULE-COMPLIANCE
        STATUS      current
        DESCRIPTION "
                A compliance statement for HP Routing switches with UDP 
                packet forwarding"
        MODULE
        MANDATORY-GROUPS {  hpicfUdpFwdCfgGroup,
                            hpicfUdpFwdServerTableGroup}

        GROUP       hpicfUdpFwdCfgGroup
        DESCRIPTION "A Collection of Object(s) that allow  
                     configuration of UDP Forwarder"

        GROUP       hpicfUdpFwdServerTableGroup
        DESCRIPTION "A Collection of Object(s) that allow  
                     configuration of Server Addresses"

        ::= { hpicfUdpFwdCompliances 1 }

hpicfUdpFwdStatCompliance MODULE-COMPLIANCE
        STATUS      current
        DESCRIPTION "
                A compliance statement for HP Routing switches with UDP 
                packet forwarding statistics"
        MODULE
        MANDATORY-GROUPS { hpicfUdpFwdDhcpRelayStatsGroup }

       
        GROUP       hpicfUdpFwdDhcpRelayStatsGroup
        DESCRIPTION "A collection of objects that give statistics 
		     on packet processing done by the DHCP relay."

        ::= { hpicfUdpFwdCompliances 2 }



hpicfUdpFwdCfgGroup OBJECT-GROUP
        OBJECTS     { hpicfUdpBcastFwdAdminStatus}
        STATUS      current
        DESCRIPTION "Enable/Disable the UDP Forwarder in the routing switch"
        ::= { hpicfUdpFwdGroups 1 }

hpicfUdpFwdServerTableGroup OBJECT-GROUP
        OBJECTS     { 
                      hpicfUdpFwdServerAddressType,
                      hpicfUdpFwdServerAddress,
                      hpicfUdpFwdPortNumber,
                      hpicfUdpFwdRowStatus }
        STATUS      current
        DESCRIPTION "A collection of objects allowing configuration of
                    UDP Forwarder Server Address table"
        ::= { hpicfUdpFwdGroups 2 }

hpicfUdpFwdDhcpRelayStatsGroup OBJECT-GROUP
        OBJECTS     {
	              hpicfUdpFwdDhcpRelayClientDiscards,
                      hpicfUdpFwdDhcpRelayClientForwards,
                      hpicfUdpFwdDhcpRelayServerDiscards,
                      hpicfUdpFwdDhcpRelayServerForwards}
        STATUS      current
        DESCRIPTION "A collection of statistics objects for DHCP Relay agent"
        ::= { hpicfUdpFwdGroups 3 }


END

