--MibName=rcIpDhcpRelay
-- *****************************************************************
-- switch-ipdhcprelay-mib.smi:  Raisecom DHCP Relay MIB file
--
-- Apr 2007, wumingyu
--
-- Copyright (c) 1999-2007 by Raisecom Technology Co., Ltd. 
-- All rights reserved.
-- 
-- *****************************************************************

IPDHCP-RELAY-MIB DEFINITIONS ::= BEGIN

    IMPORTS
        MODULE-IDENTITY, TimeTicks, OBJECT-TYPE
                                    FROM SNMPv2-SMI       
        RowStatus                   FROM SNMPv2-TC 
        EnableVar			        FROM SWITCH-TC       
        iscomSwitch  FROM RAISECOM-BASE-MIB;

    rcIpDhcpRelay MODULE-IDENTITY
        LAST-UPDATED "200710150000Z"  -- Oct 15, 2007
        ORGANIZATION "Raisecom."
        CONTACT-INFO
            "Raisecom Systems
                        
              Postal: No.617/619 Haitai Tower, 
			  229 Fourth North Loop Middle Road, 
			  Haidian District, Beijing, PRC

              Tel: +86-10-82884499
                
              E-mail: help@raisecom.com"

        DESCRIPTION "DHCP Relay management."

        REVISION    "200710150000Z"  -- Oct 15, 2007
        DESCRIPTION "Version 1.1"

        ::= { iscomSwitch 30 }
          
------------------------------------------------------------------------------
-- define groups in rcIpDhcpRelay
------------------------------------------------------------------------------
    rcIpDhcpRelayConfig      	        OBJECT IDENTIFIER ::= { rcIpDhcpRelay 1 } 
    rcIpDhcpRelayInformationOptionGroup OBJECT IDENTIFIER ::= { rcIpDhcpRelay 2 } 
    rcIpDhcpRelayStatistics             OBJECT IDENTIFIER ::= { rcIpDhcpRelay 3 }
 

------------------------------------------------------------------------------
-- begin rcIpDhcpRelayConfig--
-- rcIpDhcpRelayConfig scale MIB--

          
    rcIpDhcpRelayEnable OBJECT-TYPE
        SYNTAX EnableVar
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The state of global dhcp relay. 
             It has two values,one is enable(1),which indicates that the system start dhcp relay; 
             the other is disable(2) that means dhcp relay is invalid in this system. 
             The default value is disable(2)."
        DEFVAL { disable }
        ::= { rcIpDhcpRelayConfig 1 }
                                            
    rcIpDhcpRelayStartTime  OBJECT-TYPE
        SYNTAX TimeTicks
      	MAX-ACCESS read-only
     	STATUS mandatory
       	DESCRIPTION
            "This read-only object displays the DHCP Relay startup time."
        ::= { rcIpDhcpRelayConfig 2 }        
 
------------------------------------------------------
-- rcIpDhcpRelayConfig rcIpDhcpRelayIpInterfaceTable--
------------------------------------------------------                 
    rcIpDhcpRelayIpInterfaceTable OBJECT-TYPE
        SYNTAX SEQUENCE OF RcDhcpRelayIpInterfaceEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "A table that contains DHCP Relay State information for ip interfaces."
        ::= { rcIpDhcpRelayConfig 3 }
              
    rcIpDhcpRelayIpInterfaceEntry OBJECT-TYPE
        SYNTAX RcDhcpRelayIpInterfaceEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "An entry that contains DHCP Relay State information for ip interface."
        INDEX { rcIpDhcpRelayIpInterfaceIfIndex }
        ::= { rcIpDhcpRelayIpInterfaceTable 1 }
            
    RcDhcpRelayIpInterfaceEntry ::=
        SEQUENCE {
                     rcIpDhcpRelayIpInterfaceIfIndex INTEGER,
                     rcIpDhcpRelayIpInterfaceEnable EnableVar
                 }
                  
    rcIpDhcpRelayIpInterfaceIfIndex OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "The index of IP interface table about state of DHCP Relay.
             Its range is (MAX_PORT_NUM + 1..MAX_PORT_NUM + MAX_SW_NUM - 1)
             'MAX_PORT_NUM' is the PHY port number of a layer3 device while
             'MAX_SW_NUM' is the SW interface number."
        REFERENCE
              "SOUCE-CODE OF DHCP RELAY"
        ::= { rcIpDhcpRelayIpInterfaceEntry 1 }                  
              
    rcIpDhcpRelayIpInterfaceEnable OBJECT-TYPE
        SYNTAX EnableVar
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The state of this IP interface enabling DHCP Relay.
             It has two value,one is enable(1),which indicates the IP inteface enable DHCP Relay,
             the other is disable(2) that means the IP interface doesn't support DHCP Relay. 
             The default value is disable(2)."
        REFERENCE
             "SOUCE-CODE OF DHCP RELAY"
        ::= { rcIpDhcpRelayIpInterfaceEntry 2 } 

--------------------------------------------
-- rcIpDhcpRelayConfig rcIpDhcpRelayTargetTable--
--------------------------------------------                 
    rcIpDhcpRelayTargetTable OBJECT-TYPE
        SYNTAX SEQUENCE OF RcIpDhcpRelayTargetEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "A table that contains target server information for IP interfaces."
        ::= { rcIpDhcpRelayConfig 4 }
              
    rcIpDhcpRelayTargetEntry OBJECT-TYPE
        SYNTAX RcIpDhcpRelayTargetEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "A entry that contains target server information for IP interface."
        INDEX { rcIpDhcpRelayTargetIfIndex,
                rcIpDhcpRelayTargetAddress }
        ::= { rcIpDhcpRelayTargetTable 1 }
            
    RcIpDhcpRelayTargetEntry ::=
        SEQUENCE {
                     rcIpDhcpRelayTargetIfIndex INTEGER,
                     rcIpDhcpRelayTargetAddress IpAddress,
                     rcIpDhcpRelayTargetRowStatus RowStatus
                 }
                  
    rcIpDhcpRelayTargetIfIndex OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "The index of DHCP Relay Target Address Table. 
             Its range is (MAX_PORT_NUM + 1..MAX_PORT_NUM + MAX_SW_NUM - 1).
             'MAX_PORT_NUM' is the PHY port number of a layer3 device while
             'MAX_SW_NUM' is the SW interface number."
        REFERENCE
            "SOUCE-CODE OF DHCP RELAY"
        ::= { rcIpDhcpRelayTargetEntry 1 }                  
              
    rcIpDhcpRelayTargetAddress OBJECT-TYPE
        SYNTAX IpAddress
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "IP address of target server.
             It's also the index of DHCP Relay Target Address Table.
             Each ip interface can have 4 target ip address at most."
        REFERENCE
            "SOUCE-CODE OF DHCP RELAY"
        ::= { rcIpDhcpRelayTargetEntry 2 } 
              
    rcIpDhcpRelayTargetRowStatus OBJECT-TYPE
        SYNTAX RowStatus              
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "DURABLE:
             The row status of DHCP Relay Target Address Table."
        REFERENCE
            "SOUCE-CODE OF DHCP RELAY."
        ::= { rcIpDhcpRelayTargetEntry 3 }                                  
              
-- end rcIpDhcpRelayConfig--

------------------------------------------------
-- begin rcIpDhcpRelayInformationOptionGroup--
-- rcIpDhcpRelayInformationOptionGroup scale MIB--
------------------------------------------------
    rcIpDhcpRelayInformationOption OBJECT-TYPE
        SYNTAX EnableVar
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The state of dhcp relay supporting option 82. 
            It has two values,one is enable(1),which indicates that the system support option 82; 
            the other is disable(2) that means the system is without option 82 supporting. 
            The default value is disable(2)."
        DEFVAL { disable }
        ::= { rcIpDhcpRelayInformationOptionGroup 1 }
 
    rcIpDhcpRelayInformationPolicy OBJECT-TYPE
        SYNTAX INTEGER{drop(1), keep(2), replace(3)}
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Specify the DHCP Relay handling policy of DHCP request message including option 82. 
             This object only supports drop(1),keep(2)  and replace(3) value.
             Setting this object to 'drop', option 82 packets will be discarded;
             setting to 'keep',option 82 packets will be forwarded without any change; 
             setting to 'replace', option 82 packets will be forwarded with a new option 82 field.
             Its default value is 'replace'."
        DEFVAL { replace }
        ::= { rcIpDhcpRelayInformationOptionGroup 2 }

--
-- rcIpDhcpRelayInformationOptionGroup rcIpDhcpRelayInformationOptionTrustTable--
--  
    rcIpDhcpRelayInformationOptionTrustTable OBJECT-TYPE
        SYNTAX SEQUENCE OF RcIpDhcpRelayInformationOptionTrustEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "A table provides the mechanism to control dhcp relay trust per port."
        ::= { rcIpDhcpRelayInformationOptionGroup 3 }

    rcIpDhcpRelayInformationOptionTrustEntry OBJECT-TYPE
        SYNTAX RcIpDhcpRelayInformationOptionTrustEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "Table entry for switch dhcp relay trust based on port."
        INDEX { rcIpDhcpRelayInformationOptionTrustPortIfIndex }
        ::= { rcIpDhcpRelayInformationOptionTrustTable 1 }

    RcIpDhcpRelayInformationOptionTrustEntry ::= 
        SEQUENCE {
                     rcIpDhcpRelayInformationOptionTrustPortIfIndex INTEGER,         
                     rcIpDhcpRelayInformationOptionTrustState INTEGER
                 }

    rcIpDhcpRelayInformationOptionTrustPortIfIndex OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "The index that uniquely identifies a port in DHCP Relay trust table.
             Eg: for ISCOM3012gf, the value range is from 1 to 12, for ISCOM3026/3026e, 
             the value range is from 1 to 26, for iscom3028f,from 1 to 28, for iscom3052,from 1 to 52,and so on."
        ::= { rcIpDhcpRelayInformationOptionTrustEntry 1}

    rcIpDhcpRelayInformationOptionTrustState OBJECT-TYPE
        SYNTAX INTEGER{trusted(1), untrusted(2)}
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The trust state of this port. It has two value,one is trusted (1),
            which indicates the port support DHCP Relay trust; 
            the other is untrusted (2) that means the port doesn't support DHCP Relay trust. 
            The default value is untrusted(2)."
        ::= { rcIpDhcpRelayInformationOptionTrustEntry 2}     

-- end rcIpDhcpRelayInformationOptionGroup--
              
--
-- begin rcIpDhcpRelayStatisticsGroup-----
-- rcIpDhcpRelayStatisticsGroup scale MIB--
--
    rcIpDhcpRelayStatsBootpsRcv OBJECT-TYPE
        SYNTAX Counter
        MAX-ACCESS read-only
        STATUS mandatory
        DESCRIPTION
            "The number of Bootp packets received by DHCP relay."
        ::= {rcIpDhcpRelayStatistics 1 }  
        
    rcIpDhcpRelayStatsBootpsSnd OBJECT-TYPE
        SYNTAX Counter
        MAX-ACCESS read-only
        STATUS mandatory
        DESCRIPTION
            "The number of Bootp packets sended by DHCP relay."
        ::= {rcIpDhcpRelayStatistics 2 }  
        
    rcIpDhcpRelayStatsDiscoversRcv OBJECT-TYPE
        SYNTAX Counter
        MAX-ACCESS read-only
        STATUS mandatory
        DESCRIPTION
            "The number of Discover packets received by DHCP relay."
        ::= { rcIpDhcpRelayStatistics 3 }        

    rcIpDhcpRelayStatsDiscoversSnd OBJECT-TYPE
        SYNTAX Counter
        MAX-ACCESS read-only
        STATUS mandatory
        DESCRIPTION
            "The number of Discover packets sended by DHCP relay."
        ::= { rcIpDhcpRelayStatistics 4 }  
                
    rcIpDhcpRelayStatsRequestsRcv  OBJECT-TYPE
        SYNTAX Counter
        MAX-ACCESS read-only
        STATUS mandatory
        DESCRIPTION
            "The number of Request packets received by DHCP relay."
        ::= { rcIpDhcpRelayStatistics 5 }        

    rcIpDhcpRelayStatsRequestsSnd  OBJECT-TYPE
        SYNTAX Counter
        MAX-ACCESS read-only
        STATUS mandatory
        DESCRIPTION
            "The number of Request packets sended by DHCP relay."
        ::= { rcIpDhcpRelayStatistics 6 }   

    rcIpDhcpRelayStatsReleasesRcv  OBJECT-TYPE
        SYNTAX Counter
        MAX-ACCESS read-only
        STATUS mandatory
        DESCRIPTION
            "The number of Release packets received by DHCP relay."
        ::= { rcIpDhcpRelayStatistics 7 }                

    rcIpDhcpRelayStatsReleasesSnd  OBJECT-TYPE
        SYNTAX Counter
        MAX-ACCESS read-only
        STATUS mandatory
        DESCRIPTION
            "The number of Release packets sended by DHCP relay."
        ::= { rcIpDhcpRelayStatistics 8 }   
        
    rcIpDhcpRelayStatsOffersRcv  OBJECT-TYPE
        SYNTAX Counter
        MAX-ACCESS read-only
        STATUS mandatory
        DESCRIPTION
            "The number of Offer packets received by DHCP relay."
        ::= { rcIpDhcpRelayStatistics 9 }        

    rcIpDhcpRelayStatsOffersSnd  OBJECT-TYPE
        SYNTAX Counter
        MAX-ACCESS read-only
        STATUS mandatory
        DESCRIPTION
            "The number of Offer packets sended by DHCP relay."
        ::= { rcIpDhcpRelayStatistics 10 }    

    rcIpDhcpRelayStatsAcksRcv  OBJECT-TYPE
        SYNTAX Counter
        MAX-ACCESS read-only
        STATUS mandatory
        DESCRIPTION
            "The number of Ack packets received by DHCP relay."
        ::= { rcIpDhcpRelayStatistics 11 }        

    rcIpDhcpRelayStatsAcksSnd  OBJECT-TYPE
        SYNTAX Counter
        MAX-ACCESS read-only
        STATUS mandatory
        DESCRIPTION
            "The number of Ack packets sended by DHCP relay."
        ::= { rcIpDhcpRelayStatistics 12 }   

    rcIpDhcpRelayStatsNacksRcv  OBJECT-TYPE
        SYNTAX Counter
        MAX-ACCESS read-only
        STATUS mandatory
        DESCRIPTION
            "The number of Nack packets received by DHCP relay."
        ::= { rcIpDhcpRelayStatistics 13 }     

    rcIpDhcpRelayStatsNacksSnd  OBJECT-TYPE
        SYNTAX Counter
        MAX-ACCESS read-only
        STATUS mandatory
        DESCRIPTION
            "The number of Nack packets sended by DHCP relay."
        ::= { rcIpDhcpRelayStatistics 14 }  
                   
    rcIpDhcpRelayStatsDeclinesRcv  OBJECT-TYPE
        SYNTAX Counter
        MAX-ACCESS read-only
        STATUS mandatory
        DESCRIPTION
            "The number of Decline packets received by DHCP relay."
        ::= {rcIpDhcpRelayStatistics 15 }  

    rcIpDhcpRelayStatsDeclinesSnd OBJECT-TYPE
        SYNTAX Counter
        MAX-ACCESS read-only
        STATUS mandatory
        DESCRIPTION
            "The number of Decline packets sended by DHCP relay."
        ::= {rcIpDhcpRelayStatistics 16 }  
  
      rcIpDhcpRelayStatsInformationsRcv  OBJECT-TYPE
        SYNTAX Counter
        MAX-ACCESS read-only
        STATUS mandatory
        DESCRIPTION
            "The number of Inform packets received by DHCP relay."
        ::= {rcIpDhcpRelayStatistics 17 } 
  
    rcIpDhcpRelayStatsInformationsSnd  OBJECT-TYPE
        SYNTAX Counter
        MAX-ACCESS read-only
        STATUS mandatory
        DESCRIPTION
            "The number of Inform packets sended by DHCP relay."
        ::= {rcIpDhcpRelayStatistics 18 } 
                
    rcIpDhcpRelayStatsUnknowns  OBJECT-TYPE
        SYNTAX Counter
        MAX-ACCESS read-only
        STATUS mandatory
        DESCRIPTION
            "The number of Unknown packets received by DHCP relay."
        ::= {rcIpDhcpRelayStatistics 19 }  
                
    rcIpDhcpRelayStatsPacketsRcv  OBJECT-TYPE
        SYNTAX Counter
        MAX-ACCESS read-only
        STATUS mandatory
        DESCRIPTION
            "The number of packets received by DHCP relay."
        ::= {rcIpDhcpRelayStatistics 20 }  
                                                               
    rcIpDhcpRelayStatsPacketsSnd  OBJECT-TYPE
        SYNTAX Counter
        MAX-ACCESS read-only
        STATUS mandatory
        DESCRIPTION
            "The number of packets sended by DHCP relay."
        ::= {rcIpDhcpRelayStatistics 21 }  
                                                                       
-- end rcIpDhcpRelayStatisticsGroup --


                                                               
END
