--          *****************************
--          *                           *
--          *         ONEOS MIB         *
--          *                           *
--          *****************************
--
--          ONEOS_MIB_STD_V05.1.R002_E004
--
--          Creation date : 07/08/2010


ONEACCESS-IP-SERVICES-MIB DEFINITIONS ::= BEGIN

		IMPORTS
			OBJECT-GROUP
				FROM SNMPv2-CONF
			IpAddress, OBJECT-TYPE,
			MODULE-IDENTITY
				FROM SNMPv2-SMI
			DisplayString, RowStatus, TruthValue
				FROM SNMPv2-TC
			ifIndex
				FROM IF-MIB
            oacExpIMIp, oacMIBModules
		        FROM ONEACCESS-GLOBAL-REG;

oacIpServicesConfigMIB MODULE-IDENTITY

	LAST-UPDATED    "201107290000Z"
        ORGANIZATION    " OneAccess "
        CONTACT-INFO
           "Pascal KESTELOOT
            Postal: ONE ACCESS
                    381 Avenue du Gnral de Gaulle
                    92140 Clamart, France
		    FRANCE

            Tel: (+33) 01 41 87 70 00
            Fax: (+33) 01 41 87 74 00

            E-mail: pascal.kesteloot@oneaccess-net.com"

    	DESCRIPTION
		  	"fixed compilation issues"
    	REVISION	"201107290000Z"

    	DESCRIPTION
                        "Contact updated"
    	REVISION        "201106150000Z"

	DESCRIPTION
        "This MIB defines configuration capabilities relating to
        IP services : DHCP client, DNS, ARP ."

	::= { oacMIBModules 683 }

--
-- Textual Conventions
--

--
-- Node definitions
--
	 oacIpServicesConfig OBJECT IDENTIFIER ::= { 	oacExpIMIp 8  }

	 oacIpServicesConfigObjects      OBJECT IDENTIFIER ::= { oacIpServicesConfig 1  }
	 oacIpServicesConfigConformance  OBJECT IDENTIFIER ::= { oacIpServicesConfig 2  }

--
--   DNS Services ( IPv4 )

     oacIpServicesDnsConfigObjects   OBJECT IDENTIFIER ::= { oacIpServicesConfigObjects 1  }

     oacIpDnsConfigDomainName OBJECT-TYPE
         SYNTAX DisplayString
         MAX-ACCESS read-write
         STATUS current
         DESCRIPTION
         " Configuration of the Domain Name."
         DEFVAL      { "" }
         ::= { oacIpServicesDnsConfigObjects 1 }

     oacIpDnsConfigMainAdd OBJECT-TYPE
         SYNTAX IpAddress
         MAX-ACCESS read-write
         STATUS current
         DESCRIPTION
         "The main domain server IP address"
         DEFVAL { '00000000'H }
         ::= { oacIpServicesDnsConfigObjects 2 }

     oacIpDnsConfigSndAdd OBJECT-TYPE
         SYNTAX IpAddress
         MAX-ACCESS read-write
         STATUS current
         DESCRIPTION
         "The secondary domain server IP address"
         DEFVAL { '00000000'H }
         ::= { oacIpServicesDnsConfigObjects 3 }

     oacIpDnsConfigTimeout OBJECT-TYPE
        SYNTAX INTEGER {
                           timeoutValueDefault(1),
                           timeoutValue4(2),
                           timeoutValue12(3),
                           timeoutValue18(4),
                           timeoutValue42(5),
                           timeoutValue90(6),
                           timeoutValue120(7)
                        }
         MAX-ACCESS read-write
         STATUS current
         DESCRIPTION
         "The duration (default is 150 seconds) to wait for the name server answer"
         DEFVAL         { timeoutValueDefault }
         ::= { oacIpServicesDnsConfigObjects 4 }

--
--   DHCP Client . Global parameters ( IPv4 )

     oacIpServicesDHCPCConfigObjects   OBJECT IDENTIFIER ::= { oacIpServicesConfigObjects 2  }


     oacDhcpClientAutoRestartAtm OBJECT-TYPE
         SYNTAX INTEGER
				{
				enabled(1),
                disabled(2)
				}
         MAX-ACCESS read-write
         STATUS current
         DESCRIPTION
         " DHCP Client specific behavior "
         DEFVAL  { disabled }
         ::= { oacIpServicesDHCPCConfigObjects 1 }

     oacDhcpClientBroadcastFlag OBJECT-TYPE
         SYNTAX INTEGER
				{
				enabled(1),
                disabled(2)
				}
         MAX-ACCESS read-write
         STATUS current
         DESCRIPTION
         "Activation or not of the broadcast flag in DHCP Offer/Ack message, so that the server is
         made aware if the DHCP packets are unicast or broadcast"
         DEFVAL  { disabled }
         ::= { oacIpServicesDHCPCConfigObjects 2 }

     oacDhcpVendorId OBJECT-TYPE
         SYNTAX OCTET STRING (SIZE(0..199))
         MAX-ACCESS read-write
         STATUS current
         DESCRIPTION
         "To include the option 60 within the DISCOVER messages and to append a proprietary vendor-ID string"
         ::= { oacIpServicesDHCPCConfigObjects 3 }

--
--   DHCP Client . Additional options when DHCP is activated
--   ONEOS CLI tree : under interface : ip dhcp .....

     oacIpDhcpClientInterfaceTable OBJECT-TYPE
         SYNTAX SEQUENCE OF OacIpDhcpClientInterfaceEntry
         MAX-ACCESS not-accessible
         STATUS current
         DESCRIPTION
         "This table contains the Additional DHCP Client configuration
         on interfaces.

         The ifIndex in the INDEX clause identifies the interface
         where these options are applied."
         ::= { oacIpServicesDHCPCConfigObjects 4 }

     oacIpDhcpClientInterfaceEntry OBJECT-TYPE
         SYNTAX OacIpDhcpClientInterfaceEntry
         MAX-ACCESS not-accessible
         STATUS current
         DESCRIPTION
         "An entry in this table defines the additional option(s) sent by the DHCP Client."
         INDEX { ifIndex }
         ::= { oacIpDhcpClientInterfaceTable 1 }

     OacIpDhcpClientInterfaceEntry ::= SEQUENCE {
           oacIpDhcpClientInterfaceIfName              DisplayString,
           oacIpDhcpClientInterfaceIgnoreDefRoute      TruthValue,
           oacIpDhcpClientInterfaceLeaseOptLess        TruthValue,
           oacIpDhcpClientInterfaceUserClassId         DisplayString,
           oacIpDhcpClientInterfaceRowStatus           RowStatus
         }

     oacIpDhcpClientInterfaceIfName OBJECT-TYPE
         SYNTAX DisplayString
         MAX-ACCESS read-only
         STATUS current
         DESCRIPTION
         "The name of the interface where the Dhcp Client is associated.
          Same as ifDescr from IF-MIB"
         ::= { oacIpDhcpClientInterfaceEntry 1 }

     oacIpDhcpClientInterfaceIgnoreDefRoute OBJECT-TYPE
         SYNTAX TruthValue
         MAX-ACCESS read-create
         STATUS current
         DESCRIPTION
         "Do not insert default route in routing table"
         DEFVAL { false }
         ::= { oacIpDhcpClientInterfaceEntry 2 }

     oacIpDhcpClientInterfaceLeaseOptLess OBJECT-TYPE
         SYNTAX TruthValue
         MAX-ACCESS read-create
         STATUS current
         DESCRIPTION
         "Remove lease option 51 parameter"
         DEFVAL { false }
         ::= { oacIpDhcpClientInterfaceEntry 3 }

     oacIpDhcpClientInterfaceUserClassId OBJECT-TYPE
         SYNTAX DisplayString
         MAX-ACCESS read-create
         STATUS current
         DESCRIPTION
         "Insert option 77 user class, if void option 77 is not inserted"
         DEFVAL         { "" }
         ::= { oacIpDhcpClientInterfaceEntry 4 }

     oacIpDhcpClientInterfaceRowStatus OBJECT-TYPE
         SYNTAX RowStatus
         MAX-ACCESS read-create
         STATUS current
         DESCRIPTION
         "The row status for this rule."
         ::= { oacIpDhcpClientInterfaceEntry 5 }

--
--   DHCP Client . Activation per Interface and options
--   ONEOS CLI tree : under interface : ip address dhcp .....

     oacIpDhcpAddClientInterfaceTable OBJECT-TYPE
         SYNTAX SEQUENCE OF OacIpDhcpAddClientInterfaceEntry
         MAX-ACCESS not-accessible
         STATUS current
         DESCRIPTION
         "This table contains the DHCP Client configuration
         on interfaces.

         The ifIndex in the INDEX clause identifies the interface
         where the DHCP Client is activated."
         ::= { oacIpServicesDHCPCConfigObjects 5 }

     oacIpDhcpAddClientInterfaceEntry OBJECT-TYPE
         SYNTAX OacIpDhcpAddClientInterfaceEntry
         MAX-ACCESS not-accessible
         STATUS current
         DESCRIPTION
         "An entry in this table defines the interface where the DHCP Client is activated."
         INDEX { ifIndex }
         ::= { oacIpDhcpAddClientInterfaceTable 1 }

     OacIpDhcpAddClientInterfaceEntry ::= SEQUENCE {
           oacIpDhcpAddClientInterfaceActivate        TruthValue,
           oacIpDhcpAddClientInterfaceIfName          DisplayString,
           oacIpDhcpAddClientInterfaceClientId        DisplayString,
           oacIpDhcpAddClientInterfaceHostname        DisplayString,
           oacIpDhcpAddClientInterfaceRowStatus       RowStatus
         }

     oacIpDhcpAddClientInterfaceActivate OBJECT-TYPE
         SYNTAX TruthValue
         MAX-ACCESS read-create
         STATUS current
         DESCRIPTION
         "Activate the DHCP Client on the interface."
         DEFVAL { false }
         ::= { oacIpDhcpAddClientInterfaceEntry 1 }

     oacIpDhcpAddClientInterfaceIfName OBJECT-TYPE
         SYNTAX DisplayString
         MAX-ACCESS read-only
         STATUS current
         DESCRIPTION
         "The name of the interface where the Dhcp Client is associated.
          Same as ifDescr from IF-MIB"
         ::= { oacIpDhcpAddClientInterfaceEntry 2 }

     oacIpDhcpAddClientInterfaceClientId OBJECT-TYPE
         SYNTAX DisplayString
         MAX-ACCESS read-create
         STATUS current
         DESCRIPTION
         "Set of the Client Identifier.
         The optional argument indicates which MAC address shall be used in the DHCP DISCOVER message.
         When the optional client-id argument is not present, the DHCP DISCOVER message uses the MAC
         address of the interface otherwise if present it uses the client-id string value."
         DEFVAL { "" }
         ::= { oacIpDhcpAddClientInterfaceEntry 3 }

     oacIpDhcpAddClientInterfaceHostname OBJECT-TYPE
         SYNTAX DisplayString
         MAX-ACCESS read-create
         STATUS current
         DESCRIPTION
         "Set of the Hostname."
         DEFVAL { "" }
         ::= { oacIpDhcpAddClientInterfaceEntry 4 }

     oacIpDhcpAddClientInterfaceRowStatus OBJECT-TYPE
         SYNTAX RowStatus
        MAX-ACCESS read-create
         STATUS current
         DESCRIPTION
         "The row status for this rule."
         ::= { oacIpDhcpAddClientInterfaceEntry 5 }

--
--   ARP Proxy

     oacIpServicesArpProxyConfigObjects   OBJECT IDENTIFIER ::= { oacIpServicesConfigObjects 3  }


     oacIpProxyArpInterfaceConfigTable OBJECT-TYPE
         SYNTAX SEQUENCE OF OacIpProxyArpInterfaceConfigEntry
         MAX-ACCESS not-accessible
         STATUS current
         DESCRIPTION
         "This table contains the Proxy ARP configuration
         on interfaces.

         The ifIndex in the INDEX clause identifies the interface
         where Proxy ARP is applied"
         ::= { oacIpServicesArpProxyConfigObjects 1 }

     oacIpProxyArpInterfaceConfigEntry OBJECT-TYPE
         SYNTAX OacIpProxyArpInterfaceConfigEntry
         MAX-ACCESS not-accessible
         STATUS current
         DESCRIPTION
         "An entry in this table defines the interface where the Proxy ARP is configured."
         INDEX { ifIndex }
         ::= { oacIpProxyArpInterfaceConfigTable 1 }

     OacIpProxyArpInterfaceConfigEntry ::= SEQUENCE {
           oacIpProxyArpInterfaceConfigActivate
              TruthValue,
           oacIpProxyArpInterfaceConfigIfName
              DisplayString,
           oacIpProxyArpInterfaceConfigRowStatus
              RowStatus
         }

     oacIpProxyArpInterfaceConfigActivate OBJECT-TYPE
         SYNTAX TruthValue
         MAX-ACCESS read-create
         STATUS current
         DESCRIPTION
         "Activate Proxy Arp."
         DEFVAL { true }
         ::= { oacIpProxyArpInterfaceConfigEntry 1 }

     oacIpProxyArpInterfaceConfigIfName OBJECT-TYPE
         SYNTAX DisplayString
         MAX-ACCESS read-only
         STATUS current
         DESCRIPTION
         "The name of the interface where Proxy Arp is activated.
          Same as ifDescr from IF-MIB"
         ::= { oacIpProxyArpInterfaceConfigEntry 2 }

     oacIpProxyArpInterfaceConfigRowStatus OBJECT-TYPE
         SYNTAX RowStatus
         MAX-ACCESS read-create
         STATUS current
         DESCRIPTION
         "The Row Status for this rule."
         ::= { oacIpProxyArpInterfaceConfigEntry 3 }

--
--   ICMP Redirect

     oacIpServicesIcmpRedirConfigObjects   OBJECT IDENTIFIER ::= { oacIpServicesConfigObjects 4  }

     oacIpIcmpRedirConfigActivate OBJECT-TYPE
         SYNTAX TruthValue
         MAX-ACCESS read-write
         STATUS current
         DESCRIPTION
         "Enable ICMP host redirects."
         DEFVAL { true }
         ::= { oacIpServicesIcmpRedirConfigObjects 1 }

     oacIpIcmpRedirConfigRedirRoutesActivate OBJECT-TYPE
         SYNTAX INTEGER
         MAX-ACCESS read-write
         STATUS current
         DESCRIPTION
         "Enable learning icmp redirect routes.
         It is possible to define the timeout (in seconds) of redirect routes
         See below the meaning of the different values :
             - Default timeout		180s
             - 0			Value to disable learning icmp redirect routes (default behaviour)
             - <1-4294967295>       	Timeout of redirect routes (seconds)"

         DEFVAL { 0 }
         ::= { oacIpServicesIcmpRedirConfigObjects 2 }

     oacIpIcmpRedirConfigRateLimitUnreach OBJECT-TYPE
         SYNTAX INTEGER
         MAX-ACCESS read-write
         STATUS current
         DESCRIPTION
         "rate limit icmp messages generated.
         See below the meaning of the different values :
             - Default value		500ms
             - 0			Default behaviour
             - <1-4294967295>       	Once per milliseconds"

         DEFVAL { 0 }
         ::= { oacIpServicesIcmpRedirConfigObjects 3 }

     oacIpServicesGroups OBJECT IDENTIFIER ::= { oacIpServicesConfigConformance 1 }

     oacIpServicesConfigGroup OBJECT-GROUP
     OBJECTS { oacIpDnsConfigDomainName }
     STATUS current
     DESCRIPTION
         "Group of IP Servicesobjects"
     ::= { oacIpServicesGroups 1 }

     oacIpServicesCompls OBJECT IDENTIFIER ::= { oacIpServicesConfigConformance 2 }

   END
