KS-1080-MIB DEFINITIONS ::= BEGIN

IMPORTS
        enterprises, OBJECT-TYPE, NetworkAddress, IpAddress, Counter,
        Gauge, TimeTicks
                FROM RFC1155-SMI
        DisplayString, PhysAddress
                FROM RFC1213-MIB;   

KTI OBJECT IDENTIFIER ::= { enterprises 867 }

KS-1080 OBJECT IDENTIFIER ::= { KTI 37 }

Device_CPU		OBJECT IDENTIFIER ::= { KS-1080 1 }

PortStatus		OBJECT IDENTIFIER ::= { KS-1080 4 }

VlanStatus		OBJECT IDENTIFIER ::= { KS-1080 5 }

QosStatus		OBJECT IDENTIFIER ::= { KS-1080 6 }

PoeStatus		OBJECT IDENTIFIER ::= { KS-1080 7 }


-- object types

-- the slot2and3cpumodule group

softwareVer OBJECT-TYPE
        SYNTAX  OCTET STRING
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The version of the device firmware"
        ::= { Device_CPU 1 }

mibFileVer OBJECT-TYPE
        SYNTAX  OCTET STRING
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The version of the MIB file supported"
        ::= { Device_CPU 2 }

--Login_Trap_Message1 OBJECT-TYPE
--        SYNTAX  OCTET STRING
--        ACCESS  read-only
--        STATUS  mandatory
--        DESCRIPTION
--                "The version of the MIB file software."
--        ::= { Device_CPU 3 }

--Login_Trap_Message2 OBJECT-TYPE
--        SYNTAX  OCTET STRING
--        ACCESS  read-only
--        STATUS  mandatory
--        DESCRIPTION
--                "The version of the MIB file software."
--        ::= { Device_CPU 4 }



-- the Ports Status

PortEntry ::=
    SEQUENCE {
        LinkStatus INTEGER,
        AutoNegotiation INTEGER,
        SpeedStatus INTEGER,
        DuplexStatus INTEGER
    }


PortTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF PortEntry
    ACCESS      not-accessible
    STATUS      mandatory
    DESCRIPTION
        "Port Mode table"
    ::= { PortStatus 1 }

PortEntry OBJECT-TYPE
    SYNTAX      PortEntry
    ACCESS      not-accessible
    STATUS      mandatory
    DESCRIPTION
        "Port Mode table Entry"
    INDEX       { LinkStatus }
    ::= { PortTable 1 }

LinkStatus OBJECT-TYPE
    SYNTAX  INTEGER {
	        Link_Up(1),
	        Link_Down(0),
	        N/A(2)
	    }
    ACCESS      read-only
    STATUS      mandatory
    DESCRIPTION
              "Port link status"
    ::= { PortEntry 1 }

AutoNegotiation OBJECT-TYPE
    SYNTAX  INTEGER {
	        Enabled(1),
	        Disabled(0),
	        N/A(2)
	    }
    ACCESS      read-only
    STATUS      mandatory
    DESCRIPTION
              "Port auto-negotiation status"
    ::= { PortEntry 2 }

SpeedStatus OBJECT-TYPE
    SYNTAX  INTEGER {
	        _100M(1),
	        _10M(0),
	        N/A(2)
	    }
    ACCESS      read-only
    STATUS      mandatory
    DESCRIPTION
              "Port speed status"
    ::= { PortEntry 3 }

DuplexStatus OBJECT-TYPE
    SYNTAX  INTEGER {
	        Full(1),
	        Half(0),
	        N/A(2)
	    }
    ACCESS      read-only
    STATUS      mandatory
    DESCRIPTION
              "Port duplex status"
    ::= { PortEntry 4 }

-- the Ports Control

PortControl ::=
    SEQUENCE {
        PowerControl INTEGER,
        AutoControl INTEGER,
        SpeedControl INTEGER,
        DuplexControl INTEGER
    }

PortControlTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF PortControl
    ACCESS      not-accessible
    STATUS      mandatory
    DESCRIPTION
        "Port Mode Control table"
    ::= { PortStatus 2 }

PortControl OBJECT-TYPE
    SYNTAX      PortControl
    ACCESS      not-accessible
    STATUS      mandatory
    DESCRIPTION
        "Port Mode Control table Entry"
    INDEX       { PowerControl }
    ::= { PortControlTable 1 }

PowerControl OBJECT-TYPE
    SYNTAX  INTEGER {
	        Enabled(1),
	        Disabled(0),
	        N/A(2)
	    }
    ACCESS      read-write
    STATUS      mandatory
    DESCRIPTION
              "Port function setting"
    ::= { PortControl 1 }

AutoControl OBJECT-TYPE
    SYNTAX  INTEGER {
	        Enabled(1),
	        Disabled(0),
	        N/A(2)
	    }
    ACCESS      read-write
    STATUS      mandatory
    DESCRIPTION
              "Port auto-negotiation mode setting"
    ::= { PortControl 2 }

SpeedControl OBJECT-TYPE
    SYNTAX  INTEGER {
	        _100M(1),
	        _10M(0),
	        N/A(2)
	    }
    ACCESS      read-write
    STATUS      mandatory
    DESCRIPTION
              "Port speed setting for non-auto mode"
    ::= { PortControl 3 }

DuplexControl OBJECT-TYPE
    SYNTAX  INTEGER {
	        Full(1),
	        Half(0),
	        N/A(2)
	    }
    ACCESS      read-write
    STATUS      mandatory
    DESCRIPTION
              "Port duplex setting for non-auto mode"
    ::= { PortControl 4 }

-- VLAN Status

--- Vlan Select
VlanSelect OBJECT-TYPE
    SYNTAX  INTEGER {
	        Disable_VLAN(1),
	        Enable_VLAN(0),
	    }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "Enable VLAN function of the device."
        ::= { VlanStatus 1 }

--- Vlan Other Setting
_802_1Q_tag_aware_VLAN OBJECT-TYPE
    SYNTAX  INTEGER {
	        Enabled(1),
	        Disabled(0),
	    }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "802.1Q VLAN AWARE function of the device."
        ::= { VlanStatus 2 }

--Admit_tagged_packet_only_mode OBJECT-TYPE
--    SYNTAX  INTEGER {
--	        Enabled(1),
--	        Disabled(0),
--	    }
--        ACCESS  read-write
--        STATUS  mandatory
--        DESCRIPTION
--                "Enable - accept tagged packets only and drop untagged packets.
--Disable - accept all packets (tagged and untagged)"
--        ::= { VlanStatus 3 }

Ingress_member_filtering_mode OBJECT-TYPE
    SYNTAX  INTEGER {
	        Enabled(1),
	        Disabled(0),
	    }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "Ingress member filtering mode
Enable - drop received packets if ingress port is not the memeber port
Disable - will not drop received packets for non-member ingress port"
        ::= { VlanStatus 4 }


--- Vlan Member
VlanMember ::=
    SEQUENCE {
        Group1 INTEGER,
        Group2 INTEGER,
        Group3 INTEGER,
        Group4 INTEGER,
        Group5 INTEGER,
        Group6 INTEGER,
        Group7 INTEGER,
        Group8 INTEGER
    }

VlanTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF VlanMember
    ACCESS      not-accessible
    STATUS      mandatory
    DESCRIPTION
        "VLAN group member table"
    ::= { VlanStatus 5 }

VlanMember OBJECT-TYPE
    SYNTAX      VlanMember
    ACCESS      not-accessible
    STATUS      mandatory
    DESCRIPTION
        "VLAN group member table entry"
    INDEX       { Group1 }
    ::= { VlanTable 1 }

Group1 OBJECT-TYPE
    SYNTAX  INTEGER {
	        Yes(1),
	        No(0)
	    }
    ACCESS      read-write
    STATUS      mandatory
    DESCRIPTION
              "VLAN Group 1 member port list"
    ::= { VlanMember 1 }

Group2 OBJECT-TYPE
    SYNTAX  INTEGER {
	        Yes(1),
	        No(0)
	    }
    ACCESS      read-write
    STATUS      mandatory
    DESCRIPTION
              "VLAN Group 2 member port list"
    ::= { VlanMember 2 }

Group3 OBJECT-TYPE
    SYNTAX  INTEGER {
	        Yes(1),
	        No(0)
	    }
    ACCESS      read-write
    STATUS      mandatory
    DESCRIPTION
              "VLAN Group 3 member port list"
    ::= { VlanMember 3 }

Group4 OBJECT-TYPE
    SYNTAX  INTEGER {
	        Yes(1),
	        No(0)
	    }
    ACCESS      read-write
    STATUS      mandatory
    DESCRIPTION
              "VLAN Group 4 member port list"
    ::= { VlanMember 4 }

Group5 OBJECT-TYPE
    SYNTAX  INTEGER {
	        Yes(1),
	        No(0)
	    }
    ACCESS      read-write
    STATUS      mandatory
    DESCRIPTION
              "VLAN Group 5 member port list"
    ::= { VlanMember 5 }

Group6 OBJECT-TYPE
    SYNTAX  INTEGER {
	        Yes(1),
	        No(0)
	    }
    ACCESS      read-write
    STATUS      mandatory
    DESCRIPTION
              "VLAN Group 6 member port list"
    ::= { VlanMember 6 }

Group7 OBJECT-TYPE
    SYNTAX  INTEGER {
	        Yes(1),
	        No(0)
	    }
    ACCESS      read-write
    STATUS      mandatory
    DESCRIPTION
              "VLAN Group 7 member port list"
    ::= { VlanMember 7 }

Group8 OBJECT-TYPE
    SYNTAX  INTEGER {
	        Yes(1),
	        No(0)
	    }
    ACCESS      read-write
    STATUS      mandatory
    DESCRIPTION
              "VLAN Group 8 member port list"
    ::= { VlanMember 8 }

--- Vlan Id
VlanIdEntry ::=
    SEQUENCE {
        VlanId INTEGER
    }

VlanIdTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF VlanIdEntry
    ACCESS      not-accessible
    STATUS      mandatory
    DESCRIPTION
        "VLAN group VID (VLAN ID) table"
    ::= { VlanStatus 6 }

VlanIdEntry OBJECT-TYPE
    SYNTAX      VlanIdEntry
    ACCESS      not-accessible
    STATUS      mandatory
    DESCRIPTION
        "VLAN group VID table entry"
    INDEX       { VlanId }
    ::= { VlanIdTable 1 }

VlanId OBJECT-TYPE
    SYNTAX  INTEGER
    ACCESS      read-write
    STATUS      mandatory
    DESCRIPTION
              "VID of VLAN group"
    ::= { VlanIdEntry 1 }

--- Vlan PerPort Settings
VlanPerPortEntry ::=
    SEQUENCE {
        GroupIndex INTEGER,
        EgressTag INTEGER,
        NullVID INTEGER,
        UnmatchedVID INTEGER
    }

VlanPerPortTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF VlanPerPortEntry
    ACCESS      not-accessible
    STATUS      mandatory
    DESCRIPTION
        "VLAN per port setting table"
    ::= { VlanStatus 7 }

VlanPerPortEntry OBJECT-TYPE
    SYNTAX      VlanPerPortEntry
    ACCESS      not-accessible
    STATUS      mandatory
    DESCRIPTION
        "VLAN per port setting table entry"
    INDEX       { GroupIndex }
    ::= { VlanPerPortTable 1 }

GroupIndex OBJECT-TYPE
    SYNTAX  INTEGER
    ACCESS      read-write
    STATUS      mandatory
    DESCRIPTION
              "Port default VLAN group index"
    ::= { VlanPerPortEntry 1 }
UnmatchedVID OBJECT-TYPE
    SYNTAX  INTEGER {
	        Enabled(1),
	        Disabled(0),
	    }
    ACCESS      read-write
    STATUS      mandatory
    DESCRIPTION
              "Enable - Drop the received tagged packet whose VID does not match the ingress PVID.
PVID is the VID of the VLAN group indexed by the ingress port."
    ::= { VlanPerPortEntry 2 }
EgressTag OBJECT-TYPE
    SYNTAX  INTEGER {
	        Tagging_with_PVID_for_all_packets(1),
	        Untagging_for_all_packets(2),
	        PVID_insertion_for_untagged_packets_only(3),
	        No_insertion_and_Tag_removal(4)
	    }
    ACCESS      read-write
    STATUS      mandatory
    DESCRIPTION
              "Egress port tag mode setting:
1 - Tagging with ingress PVID for all packets
2 - Untagging for all packets
3 - Ingress PVID insertion for untagged packets only
4 - No tag insertion or tag removal"
    ::= { VlanPerPortEntry 3 }
NullVID OBJECT-TYPE
    SYNTAX  INTEGER {
	        Enabled(1),
	        Disabled(0),
	    }
    ACCESS      read-write
    STATUS      mandatory
    DESCRIPTION
              "Null VLID replacement setting
Enable - replace Null VID with ingress PVID
Disable - no replacement"
    ::= { VlanPerPortEntry 4 }

-- QoS Status

--- QoS PerPort Settings
QosPerPortEntry ::=
    SEQUENCE {
        Port_based_priority INTEGER,
        _802_1p_classification INTEGER,
        TOS_DS_classification INTEGER,
    }

QosPerPortTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF QosPerPortEntry
    ACCESS      not-accessible
    STATUS      mandatory
    DESCRIPTION
        "Port QoS mode table"
    ::= { QosStatus 1 }

QosPerPortEntry OBJECT-TYPE
    SYNTAX      QosPerPortEntry
    ACCESS      not-accessible
    STATUS      mandatory
    DESCRIPTION
        "Port QoS mode table Entry"
    INDEX       { Port_based_priority }
    ::= { QosPerPortTable 1 }

Port_based_priority OBJECT-TYPE
    SYNTAX  INTEGER {
	        Enabled(1),
	        Disabled(0),
	    }
    ACCESS      read-write
    STATUS      mandatory
    DESCRIPTION
              "Port-based classification
Enable - all packets received on the port are classified as high priority
Disable - no port-based classification"
    ::= { QosPerPortEntry 1 }

_802_1p_classification OBJECT-TYPE
    SYNTAX  INTEGER {
	        Enabled(1),
	        Disabled(0),
	    }
    ACCESS      read-write
    STATUS      mandatory
    DESCRIPTION
              "802.1p classification setting
Enable - the 802.1p classification based on priority tag
Disable - no 802.1p classification"
    ::= { QosPerPortEntry 2 }

TOS_DS_classification OBJECT-TYPE
    SYNTAX  INTEGER {
	        Enabled(1),
	        Disabled(0),
	    }
    ACCESS      read-write
    STATUS      mandatory
    DESCRIPTION
              "Default IP DSCP (DiffServ Code Point) classification setting
Enable - perform default DSCP classification for IP packets
         The default DSCP as high priority are '10110', '001010', '010010', '011010', or '100010'.
Disable - no default DSCP classification for IP packets"
    ::= { QosPerPortEntry 3 }

--- QoS Other Settings
_802_1p_priority_tag OBJECT-TYPE
    SYNTAX  INTEGER 
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "Global high priority configuration for 802.1p classification (0~7)
802.1Q Packets with user priority tag >= this configuration are classified as high priority."
        ::= { QosStatus 2 }

Egress_service_policy OBJECT-TYPE
    SYNTAX  INTEGER {
	        _4_1(0),
	        _8_1(1),
	        _16_1(2),
	        _Always_High_First(3)
	    }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "Global Egress service ratio between high priority queue and low priority queue
0 - 4 high : 1 low
1 - 8 high : 1 low
2 - 16 high : 1 low
3 - always high priority queue first"
        ::= { QosStatus 3 }

-- Default_DS_code_mode OBJECT-TYPE
--     SYNTAX  INTEGER {
-- 	        Enabled(1),
-- 	        Disabled(0)
-- 	    }
--         ACCESS  read-write
--         STATUS  mandatory
--         DESCRIPTION
--                 ""
--         ::= { QosStatus 4 }

Specific_DS_Settings_A OBJECT-TYPE
    SYNTAX  INTEGER {
	        Enabled(1),
	        Disabled(0)
	    }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "User defined DSCP(A) classification
Enable - IP packets with DSCP(A) setting value are classified as high priority
Disable - no DSCP(A) classification"
        ::= { QosStatus 4 }

Specific_DS_Vlaue_A OBJECT-TYPE
    SYNTAX  OCTET STRING 
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "User defined High priority DSCP(A) value setting"
        ::= { QosStatus 5 }

Specific_DS_Settings_B OBJECT-TYPE
    SYNTAX  INTEGER {
	        Enabled(1),
	        Disabled(0)
	    }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "User defined DSCP(B) classification
Enable - IP packets with DSCP(B) setting value are classified as high priority
Disable - no DSCP(B) classification"
        ::= { QosStatus 6 }

Specific_DS_Vlaue_B OBJECT-TYPE
    SYNTAX  OCTET STRING 
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "User defined High priority DSCP(B) value setting"
        ::= { QosStatus 7 }

Specific_IP_Settings_A OBJECT-TYPE
    SYNTAX  INTEGER {
	        Enabled(1),
	        Disabled(0)
	    }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "User defined network address IP(A) classification
Enable - IP packets whose SA and DA match IP(A) network address settings are classified as high priority
Disable - no IP(A) netowrk address classification"
        ::= { QosStatus 8 }

Specific_IP_Vlaue_A OBJECT-TYPE
    SYNTAX  IpAddress 
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "User defined IP(A) IP address setting"
        ::= { QosStatus 9 }

Specific_IP_Mask_A OBJECT-TYPE
    SYNTAX  IpAddress 
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "User defined IP(A) IP subnet mask setting"
        ::= { QosStatus 10 }

Specific_IP_Settings_B OBJECT-TYPE
    SYNTAX  INTEGER {
	        Enabled(1),
	        Disabled(0)
	    }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "User defined network address IP(B) classification
Enable - IP packets whose SA and DA match IP(B) network address settings are classified as high priority
Disable - no IP(B) netowrk address classification"
        ::= { QosStatus 11 }

Specific_IP_Vlaue_B OBJECT-TYPE
    SYNTAX  IpAddress 
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "User defined IP(B) IP address setting"
        ::= { QosStatus 12 }
        
Specific_IP_Mask_B OBJECT-TYPE
    SYNTAX  IpAddress 
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "User defined IP(B) IP subnet mask setting"
        ::= { QosStatus 13 }


--- PoE Settings

Poe_Master_Enable OBJECT-TYPE
    SYNTAX  INTEGER {
	        Enabled(1),
	        Disabled(0)
	    }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "PoE function of the device
Enable - enable the PoE function of the device
Disable - disable the PoE function of the device"
        ::= { PoeStatus 1 }

PoePortEntry ::=
    SEQUENCE {
        Port_Enable INTEGER,
        Power_Status INTEGER,
        Current_mA OCTET STRING,
        Voltage_V OCTET STRING,
        Power_W  OCTET STRING
    }

PoePortTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF PoePortEntry
    ACCESS      not-accessible
    STATUS      mandatory
    DESCRIPTION
        "Port PoE status table"
    ::= { PoeStatus 2 }

PoePortEntry OBJECT-TYPE
    SYNTAX      PoePortEntry
    ACCESS      not-accessible
    STATUS      mandatory
    DESCRIPTION
        "Port PoE status list Entry"
    INDEX       { Port_Enable }
    ::= { PoePortTable 1 }

Port_Enable OBJECT-TYPE
    SYNTAX  INTEGER {
	        Enabled(1),
	        Disabled(0),
	    }
    ACCESS      read-write
    STATUS      mandatory
    DESCRIPTION
              "Port PoE function
Enable - enable PoE function of the port
Disable - disable PoE function of the port"
    ::= { PoePortEntry 1 }

Power_Status OBJECT-TYPE
    SYNTAX  INTEGER {
	        Up(1),
	        Down(0),
	    }
    ACCESS      read-only
    STATUS      mandatory
    DESCRIPTION
              "Port power supply status"
    ::= { PoePortEntry 2 }

Current_mA OBJECT-TYPE
    SYNTAX  OCTET STRING
    ACCESS      read-only
    STATUS      mandatory
    DESCRIPTION
              "Port power supply current (mA) "
    ::= { PoePortEntry 3 }

Voltage_V OBJECT-TYPE
    SYNTAX  OCTET STRING
    ACCESS      read-only
    STATUS      mandatory
    DESCRIPTION
              "Port power supply voltage (V) "
    ::= { PoePortEntry 4 }

Power_W OBJECT-TYPE
    SYNTAX  OCTET STRING
    ACCESS      read-only
    STATUS      mandatory
    DESCRIPTION
              "Port power supply (W) "
    ::= { PoePortEntry 5 }

END

