-- *****************************************************************************
-- Bachmann GmbH, Stuttgart
-- BACHMANN-BNPRO-DEVICE-CONFIG-MIB Version 1.0
--
-- Management Information Base for SNMP Network Management
--
-- Copyright 2026 Bachmann GmbH.
-- All Rights Reserved.
--
-- *****************************************************************************
-- File   : $RCSfile: BACHMANN-BNPRO-DEVICE-CONFIG-MIB.txt,v $
-- Rev.   : $Revision: 1.0 $
-- Date   : $Date: 2026/05/15 $
-- Author : $Author: BN-PRO Team $
-- Id     : $Id: BACHMANN-BNPRO-DEVICE-CONFIG-MIB.txt,v 1.0 2026/05/15 $
-- *****************************************************************************

BACHMANN-BNPRO-DEVICE-CONFIG-MIB DEFINITIONS ::= BEGIN

        IMPORTS
                                MODULE-IDENTITY,
                                OBJECT-TYPE,
                                Integer32,
                                Unsigned32
        FROM                SNMPv2-SMI
                                DateAndTime,
                                DisplayString,
                                RowStatus,
                                TruthValue
        FROM                SNMPv2-TC
                                bachmann
        FROM                BACHMANN-SMI-MIB
                                bnPro
        FROM                BACHMANN-BNPRO-MIB;


bnProDeviceConfig MODULE-IDENTITY
        LAST-UPDATED        "202605150000Z"
        ORGANIZATION        "Bachmann GmbH"
        CONTACT-INFO        "www.bachmann.com"
        DESCRIPTION         "The MIB module for representing BN-PRO configuration status.
                            This MIB exposes BN-PRO configuration information.
                            Selected objects support SNMP SET operations in addition
                            to configuration through the product Web UI, CLI or REST API."
        REVISION            "202605150000Z"
        DESCRIPTION         "Initial version of BN-PRO configuration MIB."
        ::=                 { bnPro             5 }

-- *****************************************************************************

--  bachmann                    OBJECT IDENTIFIER ::= { enterprises              31770 }
--  bnProDeviceConfig          OBJECT IDENTIFIER ::= {   bnPro                     5 }

    bnProConfigObjects         OBJECT IDENTIFIER ::= {     bnProDeviceConfig         1 }

    bnProConfigSystem                OBJECT IDENTIFIER ::= {       bnProConfigObjects        1 }
    bnProConfigNetwork               OBJECT IDENTIFIER ::= {       bnProConfigObjects        2 }
    bnProConfigSnmp                  OBJECT IDENTIFIER ::= {       bnProConfigObjects        3 }
    bnProConfigSmtp                  OBJECT IDENTIFIER ::= {       bnProConfigObjects        4 }
    bnProConfigModbus                OBJECT IDENTIFIER ::= {       bnProConfigObjects        5 }
    bnProConfigNtp                   OBJECT IDENTIFIER ::= {       bnProConfigObjects        6 }
    bnProConfigSyslog                OBJECT IDENTIFIER ::= {       bnProConfigObjects        7 }
    bnProConfigTrapReceiver          OBJECT IDENTIFIER ::= {       bnProConfigObjects        8 }
    bnProConfigWebFrontend           OBJECT IDENTIFIER ::= {       bnProConfigObjects        9 }
    bnProConfigSsh                   OBJECT IDENTIFIER ::= {       bnProConfigObjects       10 }
    bnProConfigLocalGui              OBJECT IDENTIFIER ::= {       bnProConfigObjects       11 }


-- *****************************************************************************
--
-- System configuration
--
-- These objects are user-configurable deployment identity settings.
-- Static/factory identity remains in BACHMANN-BNPRO-MIB::bnProIdentification.
--
-- *****************************************************************************

bnProConfigSystemName OBJECT-TYPE
    SYNTAX      DisplayString (SIZE (0..255))
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Configured system name. This is the user-configurable deployment name of the device or cluster."
    ::= { bnProConfigSystem 1 }

bnProConfigSystemLocation OBJECT-TYPE
    SYNTAX      DisplayString (SIZE (0..255))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Configured system location."
    ::= { bnProConfigSystem 2 }

bnProConfigSystemContact OBJECT-TYPE
    SYNTAX      DisplayString (SIZE (0..255))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Configured administrative contact for this system."
    ::= { bnProConfigSystem 3 }

bnProConfigSystemDescription OBJECT-TYPE
    SYNTAX      DisplayString (SIZE (0..255))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Configured administrative system description."
    ::= { bnProConfigSystem 4 }

bnProConfigSystemLanguage OBJECT-TYPE
    SYNTAX      DisplayString (SIZE (0..32))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Configured language for local and web user interfaces, for example en or de."
    ::= { bnProConfigSystem 5 }


-- *****************************************************************************
--
-- Network configuration
--
-- This section follows the BN-PRO Web UI network settings model:
-- hostname, DNS mode/servers, and per-interface IPv4/IPv6 configuration.
--
-- *****************************************************************************

bnProConfigHostname OBJECT-TYPE
    SYNTAX      DisplayString (SIZE (0..255))
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Configured device host name."
    ::= { bnProConfigNetwork 1 }

bnProConfigDnsMode OBJECT-TYPE
    SYNTAX      INTEGER {
                    automatic(1),
                    manual(2)
                }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "DNS configuration mode. In automatic mode DNS servers are learned from DHCP. In manual mode the configured DNS server objects are used."
    ::= { bnProConfigNetwork 2 }

bnProConfigDnsServer1 OBJECT-TYPE
    SYNTAX      DisplayString (SIZE (0..64))
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Configured first DNS server. Empty when not configured or when automatic DNS is used."
    ::= { bnProConfigNetwork 3 }

bnProConfigDnsServer2 OBJECT-TYPE
    SYNTAX      DisplayString (SIZE (0..64))
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Configured second DNS server. Empty when not configured or when automatic DNS is used."
    ::= { bnProConfigNetwork 4 }

bnProConfigDnsServer3 OBJECT-TYPE
    SYNTAX      DisplayString (SIZE (0..64))
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Configured third DNS server. Empty when not configured or when automatic DNS is used."
    ::= { bnProConfigNetwork 5 }

bnProConfigNetworkInterfaceTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF BnProConfigNetworkInterfaceEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Network interface table. Each row represents one configurable physical or logical network interface."
    ::= { bnProConfigNetwork 6 }

bnProConfigNetworkInterfaceEntry OBJECT-TYPE
    SYNTAX      BnProConfigNetworkInterfaceEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Basic configurable properties of one network interface. IPv4 and IPv6 settings are represented in separate tables using the same interface index."
    INDEX       { bnProConfigNetworkInterfaceIndex }
    ::= { bnProConfigNetworkInterfaceTable 1 }

BnProConfigNetworkInterfaceEntry ::= SEQUENCE {
    bnProConfigNetworkInterfaceIndex       Unsigned32,
    bnProConfigNetworkInterfaceName        DisplayString,
    bnProConfigNetworkInterfaceEnabled     TruthValue,
    bnProConfigNetworkInterfaceMacAddress  DisplayString
}

bnProConfigNetworkInterfaceIndex OBJECT-TYPE
    SYNTAX      Unsigned32 (1..4294967295)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Stable numeric index of the network interface."
    ::= { bnProConfigNetworkInterfaceEntry 1 }

bnProConfigNetworkInterfaceName OBJECT-TYPE
    SYNTAX      DisplayString (SIZE (0..64))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Interface name, for example eth0 or eth1."
    ::= { bnProConfigNetworkInterfaceEntry 2 }

bnProConfigNetworkInterfaceEnabled OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Enables or disables the network interface."
    ::= { bnProConfigNetworkInterfaceEntry 3 }

bnProConfigNetworkInterfaceMacAddress OBJECT-TYPE
    SYNTAX      DisplayString (SIZE (0..32))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "MAC address of this interface."
    ::= { bnProConfigNetworkInterfaceEntry 4 }

bnProConfigIpv4Table OBJECT-TYPE
    SYNTAX      SEQUENCE OF BnProConfigIpv4Entry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "IPv4 configuration table. Each row uses the network interface index."
    ::= { bnProConfigNetwork 7 }

bnProConfigIpv4Entry OBJECT-TYPE
    SYNTAX      BnProConfigIpv4Entry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "IPv4 configuration for one network interface."
    INDEX       { bnProConfigNetworkInterfaceIndex }
    ::= { bnProConfigIpv4Table 1 }

BnProConfigIpv4Entry ::= SEQUENCE {
    bnProConfigIpv4Enabled        TruthValue,
    bnProConfigIpv4DhcpEnabled    TruthValue,
    bnProConfigIpv4Address        DisplayString,
    bnProConfigIpv4ManualAddress  DisplayString,
    bnProConfigIpv4PrefixLength   Unsigned32,
    bnProConfigIpv4Gateway        DisplayString
}

bnProConfigIpv4Enabled OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Enables or disables IPv4 on this interface."
    ::= { bnProConfigIpv4Entry 1 }

bnProConfigIpv4DhcpEnabled OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Enables or disables DHCPv4 on this interface."
    ::= { bnProConfigIpv4Entry 2 }

bnProConfigIpv4Address OBJECT-TYPE
    SYNTAX      DisplayString (SIZE (0..64))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Current effective IPv4 address of this interface, for example the DHCP assigned address shown in the Web UI."
    ::= { bnProConfigIpv4Entry 3 }

bnProConfigIpv4ManualAddress OBJECT-TYPE
    SYNTAX      DisplayString (SIZE (0..64))
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Configured manual IPv4 address and prefix, corresponding to the Web UI Manual IP field. Empty when no manual IPv4 address is configured."
    ::= { bnProConfigIpv4Entry 4 }

bnProConfigIpv4PrefixLength OBJECT-TYPE
    SYNTAX      Unsigned32 (0..32)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Configured IPv4 prefix length for the manual IPv4 address."
    ::= { bnProConfigIpv4Entry 5 }

bnProConfigIpv4Gateway OBJECT-TYPE
    SYNTAX      DisplayString (SIZE (0..64))
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Configured IPv4 gateway for this interface."
    ::= { bnProConfigIpv4Entry 6 }

bnProConfigIpv6Table OBJECT-TYPE
    SYNTAX      SEQUENCE OF BnProConfigIpv6Entry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "IPv6 configuration table. Each row uses the network interface index."
    ::= { bnProConfigNetwork 8 }

bnProConfigIpv6Entry OBJECT-TYPE
    SYNTAX      BnProConfigIpv6Entry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "IPv6 configuration for one network interface."
    INDEX       { bnProConfigNetworkInterfaceIndex }
    ::= { bnProConfigIpv6Table 1 }

BnProConfigIpv6Entry ::= SEQUENCE {
    bnProConfigIpv6Enabled             TruthValue,
    bnProConfigIpv6DhcpMode            INTEGER,
    bnProConfigIpv6Address             DisplayString,
    bnProConfigIpv6PrefixLength        Unsigned32,
    bnProConfigIpv6LinkLocalAddress    DisplayString,
    bnProConfigIpv6AutoconfigEnabled   TruthValue,
    bnProConfigIpv6Gateway             DisplayString
}

bnProConfigIpv6Enabled OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Enables or disables IPv6 on this interface."
    ::= { bnProConfigIpv6Entry 1 }

bnProConfigIpv6DhcpMode OBJECT-TYPE
    SYNTAX      INTEGER {
                    disabled(1),
                    autoDhcpv6AndAutoconfig(2),
                    dhcpv6Only(3),
                    autoconfigOnly(4)
                }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "DHCPv6 mode for this interface. The autoDhcpv6AndAutoconfig mode corresponds to the Web UI mode Auto (DHCPv6 + Autoconfig)."
    ::= { bnProConfigIpv6Entry 2 }

bnProConfigIpv6Address OBJECT-TYPE
    SYNTAX      DisplayString (SIZE (0..128))
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Configured manual IPv6 address. Empty when DHCPv6 or autoconfiguration is used."
    ::= { bnProConfigIpv6Entry 3 }

bnProConfigIpv6PrefixLength OBJECT-TYPE
    SYNTAX      Unsigned32 (0..128)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Configured IPv6 prefix length."
    ::= { bnProConfigIpv6Entry 4 }

bnProConfigIpv6LinkLocalAddress OBJECT-TYPE
    SYNTAX      DisplayString (SIZE (0..128))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Current IPv6 link-local address of this interface."
    ::= { bnProConfigIpv6Entry 5 }

bnProConfigIpv6AutoconfigEnabled OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Enables or disables IPv6 stateless address autoconfiguration on this interface."
    ::= { bnProConfigIpv6Entry 6 }

bnProConfigIpv6Gateway OBJECT-TYPE
    SYNTAX      DisplayString (SIZE (0..128))
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Configured IPv6 gateway for this interface."
    ::= { bnProConfigIpv6Entry 7 }


-- *****************************************************************************
--
-- SNMP configuration
--
-- *****************************************************************************

bnProConfigSnmpV1V2Enabled OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Enables or disables SNMP v1/v2 access."
    ::= { bnProConfigSnmp 1 }

bnProConfigSnmpV3Enabled OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Enables or disables SNMP v3 access."
    ::= { bnProConfigSnmp 2 }

bnProConfigSnmpReadCommunity OBJECT-TYPE
    SYNTAX      DisplayString (SIZE (0..255))
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Configured SNMP read community."
    ::= { bnProConfigSnmp 3 }

bnProConfigSnmpWriteCommunity OBJECT-TYPE
    SYNTAX      DisplayString (SIZE (0..255))
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Configured SNMP write community."
    ::= { bnProConfigSnmp 4 }

bnProConfigSnmpReadCommunitySource OBJECT-TYPE
    SYNTAX      DisplayString (SIZE (0..255))
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Allowed source for SNMP read community access."
    ::= { bnProConfigSnmp 5 }

bnProConfigSnmpWriteCommunitySource OBJECT-TYPE
    SYNTAX      DisplayString (SIZE (0..255))
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Allowed source for SNMP write community access."
    ::= { bnProConfigSnmp 6 }


-- *****************************************************************************
--
-- SMTP configuration
--
-- *****************************************************************************

bnProConfigSmtpEnabled OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Enables or disables SMTP service."
    ::= { bnProConfigSmtp 1 }

bnProConfigSmtpServer OBJECT-TYPE
    SYNTAX      DisplayString (SIZE (0..255))
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Configured SMTP server address."
    ::= { bnProConfigSmtp 2 }

bnProConfigSmtpPort OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Configured SMTP server port."
    ::= { bnProConfigSmtp 3 }

bnProConfigSmtpSenderEmail OBJECT-TYPE
    SYNTAX      DisplayString (SIZE (0..255))
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Configured SMTP sender email address."
    ::= { bnProConfigSmtp 4 }

bnProConfigSmtpAuthenticationEnabled OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Enables or disables SMTP authentication."
    ::= { bnProConfigSmtp 5 }

bnProConfigSmtpUsername OBJECT-TYPE
    SYNTAX      DisplayString (SIZE (0..255))
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Configured SMTP authentication username."
    ::= { bnProConfigSmtp 6 }

bnProConfigSmtpPassword OBJECT-TYPE
    SYNTAX      DisplayString (SIZE (0..255))
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Configured SMTP authentication password."
    ::= { bnProConfigSmtp 7 }

bnProConfigSmtpEncryption OBJECT-TYPE
    SYNTAX      INTEGER {
                    none(0),
                    starttls(1),
                    tls(2)
                }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Configured SMTP encryption mode."
    ::= { bnProConfigSmtp 8 }


-- *****************************************************************************
--
-- Modbus configuration
--
-- *****************************************************************************

bnProConfigModbusEnabled OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Indicates whether Modbus service is enabled."
    ::= { bnProConfigModbus 1 }

bnProConfigModbusTcpPort OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Configured Modbus TCP port."
    ::= { bnProConfigModbus 2 }

bnProConfigModbusMappingVersion OBJECT-TYPE
    SYNTAX      DisplayString (SIZE (0..64))
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Version of the active Modbus register mapping, as 'v<major>.<minor>'.
                 Supported values are 'v1.0' and 'v1.1'. On a set, the leading 'v' is
                 optional; any other value is rejected with a wrongValue error.
                 Changing the mapping version changes the Modbus register layout, so
                 Modbus clients must be reconfigured to match."
    ::= { bnProConfigModbus 3 }


-- *****************************************************************************
--
-- NTP configuration
--
-- *****************************************************************************

bnProConfigNtpEnabled OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Enables or disables NTP time synchronization."
    ::= { bnProConfigNtp 1 }

bnProConfigNtpTimezone OBJECT-TYPE
    SYNTAX      DisplayString (SIZE (0..64))
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Configured time zone, for example Europe/Berlin."
    ::= { bnProConfigNtp 2 }

bnProConfigNtpSystemTime OBJECT-TYPE
    SYNTAX      DateAndTime
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Configured system date and time. SNMP SET should be accepted only when manual time setting is allowed, for example when NTP synchronization is disabled."
    ::= { bnProConfigNtp 3 }

bnProConfigNtpServer1 OBJECT-TYPE
    SYNTAX      DisplayString (SIZE (0..255))
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Configured primary NTP server."
    ::= { bnProConfigNtp 4 }

bnProConfigNtpServer2 OBJECT-TYPE
    SYNTAX      DisplayString (SIZE (0..255))
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Configured secondary NTP server."
    ::= { bnProConfigNtp 5 }


-- *****************************************************************************
--
-- Syslog configuration
--
-- *****************************************************************************

bnProConfigSyslogEnabled OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Enables or disables remote syslog forwarding."
    ::= { bnProConfigSyslog 1 }

bnProConfigSyslogFacility OBJECT-TYPE
    SYNTAX      INTEGER { local0(0), local1(1), local2(2), local3(3),
                          local4(4), local5(5), local6(6), local7(7) }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Syslog facility used for forwarded messages."
    ::= { bnProConfigSyslog 2 }

-- Two fixed remote syslog receiver slots. The device stores exactly two
-- receivers, so they are exposed as flat scalars rather than a table. Clearing
-- an address disables that receiver.

bnProConfigSyslogServer1Address OBJECT-TYPE
    SYNTAX      DisplayString (SIZE (0..255))
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Address of the first remote syslog receiver. An empty string
                 means no receiver is configured in this slot."
    ::= { bnProConfigSyslog 3 }

bnProConfigSyslogServer1Port OBJECT-TYPE
    SYNTAX      Unsigned32 (1..65535)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Port of the first remote syslog receiver."
    DEFVAL      { 514 }
    ::= { bnProConfigSyslog 4 }

bnProConfigSyslogServer1Protocol OBJECT-TYPE
    SYNTAX      INTEGER { udp(1), tcp(2), relp(3) }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Transport protocol of the first remote syslog receiver."
    DEFVAL      { udp }
    ::= { bnProConfigSyslog 5 }

bnProConfigSyslogServer2Address OBJECT-TYPE
    SYNTAX      DisplayString (SIZE (0..255))
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Address of the second remote syslog receiver. An empty string
                 means no receiver is configured in this slot."
    ::= { bnProConfigSyslog 6 }

bnProConfigSyslogServer2Port OBJECT-TYPE
    SYNTAX      Unsigned32 (1..65535)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Port of the second remote syslog receiver."
    DEFVAL      { 514 }
    ::= { bnProConfigSyslog 7 }

bnProConfigSyslogServer2Protocol OBJECT-TYPE
    SYNTAX      INTEGER { udp(1), tcp(2), relp(3) }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Transport protocol of the second remote syslog receiver."
    DEFVAL      { udp }
    ::= { bnProConfigSyslog 8 }


-- *****************************************************************************
--
-- SNMP trap receiver configuration
--
-- *****************************************************************************

bnProConfigTrapReceiverTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF BnProConfigTrapReceiverEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "SNMP trap receiver configuration table."
    ::= { bnProConfigTrapReceiver 1 }

bnProConfigTrapReceiverEntry OBJECT-TYPE
    SYNTAX      BnProConfigTrapReceiverEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Configuration of one SNMP trap receiver."
    INDEX       { bnProConfigTrapReceiverIndex }
    ::= { bnProConfigTrapReceiverTable 1 }

BnProConfigTrapReceiverEntry ::= SEQUENCE {
    bnProConfigTrapReceiverIndex       Unsigned32,
    bnProConfigTrapReceiverEnabled     TruthValue,
    bnProConfigTrapReceiverAddress     DisplayString,
    bnProConfigTrapReceiverPort        Unsigned32,
    bnProConfigTrapReceiverVersion     INTEGER,
    bnProConfigTrapReceiverCommunity   DisplayString,
    bnProConfigTrapReceiverName DisplayString,
    bnProConfigTrapReceiverRowStatus   RowStatus
}

bnProConfigTrapReceiverIndex OBJECT-TYPE
    SYNTAX      Unsigned32 (1..4294967295)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Stable numeric index of the SNMP trap receiver."
    ::= { bnProConfigTrapReceiverEntry 1 }

bnProConfigTrapReceiverEnabled OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Whether this SNMP trap receiver is enabled. There is no per-receiver
                 enable flag: a receiver exists only while it is configured, so this
                 always reports true(1)."
    ::= { bnProConfigTrapReceiverEntry 2 }

bnProConfigTrapReceiverAddress OBJECT-TYPE
    SYNTAX      DisplayString (SIZE (0..255))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Configured SNMP trap receiver address."
    ::= { bnProConfigTrapReceiverEntry 3 }

bnProConfigTrapReceiverPort OBJECT-TYPE
    SYNTAX      Unsigned32 (1..65535)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "SNMP trap receiver port. No per-receiver port is stored; this always
                 reports the default trap port 162."
    ::= { bnProConfigTrapReceiverEntry 4 }

bnProConfigTrapReceiverVersion OBJECT-TYPE
    SYNTAX      INTEGER {
                    v1(1),
                    v2c(2),
                    v3(3)
                }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Configured SNMP trap receiver version."
    ::= { bnProConfigTrapReceiverEntry 5 }

bnProConfigTrapReceiverCommunity OBJECT-TYPE
    SYNTAX      DisplayString (SIZE (0..255))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Configured SNMP trap receiver community, masked with asterisks so the
                 secret is not exposed over SNMP."
    ::= { bnProConfigTrapReceiverEntry 6 }

bnProConfigTrapReceiverName OBJECT-TYPE
    SYNTAX      DisplayString (SIZE (0..255))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Name of this SNMP trap receiver."
    ::= { bnProConfigTrapReceiverEntry 7 }

bnProConfigTrapReceiverRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Row status for this SNMP trap receiver. Rows cannot be created or
                 destroyed over SNMP, so this always reports active(1)."
    ::= { bnProConfigTrapReceiverEntry 8 }


-- *****************************************************************************
--
-- Web frontend configuration
--
-- *****************************************************************************

bnProConfigHttpEnabled OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Enables or disables HTTP access."
    ::= { bnProConfigWebFrontend 1 }

bnProConfigHttpPort OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Configured HTTP server port."
    ::= { bnProConfigWebFrontend 2 }

bnProConfigHttpsEnabled OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Enables or disables HTTPS access."
    ::= { bnProConfigWebFrontend 3 }

bnProConfigHttpsPort OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Configured HTTPS server port."
    ::= { bnProConfigWebFrontend 4 }


-- *****************************************************************************
--
-- SSH configuration
--
-- *****************************************************************************

bnProConfigSshEnabled OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Enables or disables SSH access."
    ::= { bnProConfigSsh 1 }

bnProConfigSshPort OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Configured SSH server port."
    ::= { bnProConfigSsh 2 }


-- *****************************************************************************
--
-- Local GUI configuration
--
-- *****************************************************************************

bnProConfigDisplayLogoutTimeout OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS       "seconds"
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Configured local GUI logout timeout in seconds."
    ::= { bnProConfigLocalGui 1 }

bnProConfigDisplayTimeout OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS       "seconds"
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Configured local GUI display timeout in seconds."
    ::= { bnProConfigLocalGui 2 }

bnProConfigDisplayLanguage OBJECT-TYPE
    SYNTAX      DisplayString (SIZE (1..8))
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Display language of the local GUI, as a lower-case ISO 639-1 code.
                 Supported values are 'de', 'en' and 'fr'; a code the local GUI ships
                 no translation for is rejected with a wrongValue error."
    ::= { bnProConfigLocalGui 3 }


-- *****************************************************************************
--

END
