-- *****************************************************************
-- FS-INTERFACE-MIB.mib:  FS interface MIB file
--
-- March 2002, Wuzg
--
-- Copyright (c) 2002 by FS.COM Inc..
-- All rights reserved.
-- 
-- *****************************************************************
--

FS-INTERFACE-MIB DEFINITIONS ::= BEGIN

IMPORTS
        MODULE-IDENTITY,
        OBJECT-TYPE,
        NOTIFICATION-TYPE,
        Integer32,
        OBJECT-TYPE,
        Counter32,
        Counter64,
        Unsigned32,
        IpAddress
                FROM SNMPv2-SMI
        RowStatus, 
        DisplayString,
        PhysAddress,
        DateAndTime,
        MacAddress
                FROM SNMPv2-TC
        MODULE-COMPLIANCE,
        OBJECT-GROUP
                FROM SNMPv2-CONF
        ConfigStatus,
        IfIndex
                FROM FS-TC
        EnabledStatus 
                FROM P-BRIDGE-MIB
        ifIndex
                FROM RFC1213-MIB
        Gauge,
        TimeTicks
                FROM RFC1155-SMI
        fsMgmt
                FROM FS-SMI
        IANAifType
                FROM IANAifType-MIB
        VlanId
                FROM Q-BRIDGE-MIB
        InterfaceIndex
                FROM IF-MIB
       SnmpAdminString
                FROM SNMP-FRAMEWORK-MIB          -- RFC3411
       InetAddressType, InetAddress
                FROM INET-ADDRESS-MIB;           -- RFC4001

                
fsInterfaceMIB MODULE-IDENTITY
        LAST-UPDATED "201002010000Z"
        ORGANIZATION "FS.COM Inc.."
        CONTACT-INFO
                " 
                Tel: 400-865-2852 

                E-mail: https://www.fs.com/live_chat_service_mail.html"
        DESCRIPTION
                "This module defines fs interface mibs."
        REVISION      "201002010000Z"
        DESCRIPTION
                "Add a table about vlan."
        REVISION      "200203200000Z"
        DESCRIPTION
                "Initial version of this MIB module."
        ::= { fsMgmt 10}

fsIfConfigMIBObjects OBJECT IDENTIFIER ::= { fsInterfaceMIB 1 }


fsIfTable OBJECT-TYPE
        SYNTAX SEQUENCE OF FSIfEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "list of interface basic configuration objects."
        ::= { fsIfConfigMIBObjects 1 }
    
fsIfEntry OBJECT-TYPE
        SYNTAX FSIfEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "Entry contains interface basic configurations."
        INDEX { fsIfIndex }
        ::= { fsIfTable 1 }

FSIfEntry ::=
        SEQUENCE {
            fsIfIndex IfIndex,
            fsIfPortType INTEGER,
            fsIfFlowControlAdminStatus INTEGER,
            fsIfFlowControlOperStatus EnabledStatus,
            fsIfAdminSpeed INTEGER,
            fsIfAdminDuplex INTEGER,
            fsIfOperSpeed INTEGER,
            fsIfOperDuplex INTEGER,
            fsIfManageStatus EnabledStatus,
            fsIfIpBroadcast  IpAddress,            
            fsIfLayer INTEGER,
            fsIfMode  INTEGER,
            fsIfCounterClear Integer32,
            fsIfEntryStatus ConfigStatus,
            fsIfMediumType INTEGER,          
	    fsIfDownCounter Counter32,
            fsIfInOctets Counter64,
            fsIfOutOctets Counter64,
	    fsIfBcastInhibit INTEGER,
            fsIfNegotiation INTEGER,
            fsIfPhysAddress MacAddress,
            fsIfAdminSpeedRW INTEGER,
            fsIfAdminDuplexRW INTEGER,
            fsIfModeRW  INTEGER,
            fsIfSpeed Gauge,
            fsifAdminStatus INTEGER,
            fsifOperStatus INTEGER,
            fsIfInNUcastPkts Counter64,
            fsIfOutNUcastPkts Counter64,
            fsIfUpDownTimes Counter32,
            fsifAdminStatusw INTEGER,
            fsifOperStatusw INTEGER,
            fsifSpeedw Integer32,
            fsifMacAddress MacAddress,
            fsifLastChange TimeTicks,
            fsIfInPkts Counter64,
            fsIfDiscard Counter64,
            fsIfBandwidthUsage DisplayString,
            fsIfInBitsRate Counter64,
            fsIfInPktRate Counter64,
            fsIfOutBitsRate Counter64,
            fsIfOutPktRate Counter64,
            fsIfInBandwidthUsage  DisplayString,
            fsIfOutBandwidthUsage DisplayString,
            fsIfInErrorPktsRate DisplayString, 
            fsIfOutErrorPktsRate  DisplayString,
            fsIfInDropPktsRate    DisplayString,
            fsIfOutDropPktsRate  DisplayString,
            fsIfOutNoBuffer Counter64,
            fsIfOutPkts Counter64
        }

fsIfIndex OBJECT-TYPE
        SYNTAX IfIndex
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            " "
        ::= { fsIfEntry 1 }

fsIfPortType OBJECT-TYPE
        SYNTAX INTEGER {
            unknown(1),
            port10M100MBASETX(2),
            port100MBASEFXL(3),        
            port100MBASEFXS(4),
            port1000MBASESX(5),   
            port1000MBASELX(6),
            port1000MBASETX(7),
            portGBIC(8),
            port100MBASEFX(9),
            port1000MBASEFX(10),
            portSFP(11),
            port10GBASESR(12),
            port10GBASELR(13),
            port10GBASEER(14),
            port10GBASELX4(15),
            port10GBASESW(16),
            port10GBASELW(17),
            port10GBASEEW(18),
            port10GBASE(19),
            port40GBASEKR(20),
            port40GBASECR(21),
            port40GBASELR(22),
            port40GBASESR(23),
            port40GBASE(24),
            port100GBASECR(25),
            port100GBASESR(26),
            port100GBASELR(27),
            port100GBASEER(28),
            port100GBASE(29),
            port155MCPOS(50),
            port622MCPOS(51),
            port2G5CPOS(52),
            port10GCPOS(53),
            port155MPOS(54),
            port622MPOS(55),
            port2G5POS(56),
            port10GPOS(57),
            port155MATM(58),
            port622MATM(59),
            port2G5ATM(60),
            port10GATM(61),
            portE1ELC(62),
            port20GBASE(63),    
            port25GBASE(64),
            port2500MBASE(65),
            port5000MBASE(66)
        }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Port type of this port, list as above.
             port100MBASEFX indicates that port is port100MBASEFXL or port100MBASEFXS,
             and system doesn't distinguish.
             port1000MBASEFX indicates that port is port1000MBASEFLX or port1000MBASEFSX,
             and system doesn't distinguish.
             
             This attribute apply physical port"
        ::= { fsIfEntry 2 }
           
fsIfFlowControlAdminStatus OBJECT-TYPE
        SYNTAX INTEGER {
            enabled(1),
            disabled(2),
            autonego(3),
            unknown(4)
        }
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "Flow control of a port management status.
            
            This attribute apply physical port and aggreate port"
        ::= { fsIfEntry 3 }
    
fsIfFlowControlOperStatus OBJECT-TYPE
        SYNTAX EnabledStatus
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Oper status: after the negotiation between two ports connetted 
            the flow contrl status.
            
            This attribute apply physical port and aggreate port"
        ::= { fsIfEntry 4 }
                     
fsIfAdminSpeed OBJECT-TYPE
        SYNTAX INTEGER {
            speed10Mb(1),
            speed100Mb(2),
            speed1000Mb(3),
            autonego(4),
            speed10Gb(5),
            unknown(6),
            speed40Gb(7),   
            speed100Gb(8)
        }
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "port speed settings.
            
            This attribute apply physical port and aggreate port"
        ::= { fsIfEntry 5 }
        
fsIfAdminDuplex OBJECT-TYPE
        SYNTAX INTEGER {
            full(1),
            half(2),
            autonego(3),
            unknown(4)
        }
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "port duplex settings.
            
            This attribute apply physical port and aggreate port"
        ::= { fsIfEntry 6 }        
    
fsIfOperSpeed OBJECT-TYPE
        SYNTAX INTEGER {
            speed10Mb(1),
            speed100Mb(2),
            speed1000Mb(3),
            unknown(4),
            speed10Gb(5),
            speed40Gb(6),
            speed100Gb(7)
        }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "After two port have negotiated the speed status,and this object 
            is the working speed status. while the port link status is down ,
            then the speed status is unknown(4).
            
            This attribute apply physical port and aggreate port"
        ::= { fsIfEntry 7 }

fsIfOperDuplex OBJECT-TYPE
        SYNTAX INTEGER {
            full(1),
            half(2),
            unknown(3)
        }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "After two port have negotiated the duplex status, and this object 
            is the working duplex status. while the port link status is down ,
            then the speed status is unknown(3).
            
            This attribute apply physical port and aggreate port"
        ::= { fsIfEntry 8 }

fsIfManageStatus OBJECT-TYPE
        SYNTAX EnabledStatus 
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION 
                "Management status of the interface."
        DEFVAL { enabled }
        ::={fsIfEntry 9}

fsIfIpBroadcast OBJECT-TYPE
    SYNTAX IpAddress
    MAX-ACCESS read-create
    STATUS current
    DESCRIPTION
        "Broadcast address of the interface. if broadcast address not configured on interface, return 0.0.0.0"
       ::= { fsIfEntry 10 }
                      

fsIfLayer OBJECT-TYPE
        SYNTAX  INTEGER {
                  layer-2(1), -- the interface is a interface of L2
                  layer-3(2)  -- the interface is a interface of L3
              }
        MAX-ACCESS  read-create
        STATUS  current
        DESCRIPTION
              ""
        ::= { fsIfEntry 11 }
        
fsIfMode OBJECT-TYPE
        SYNTAX  INTEGER {
            access(1), -- the mode of interface is access port
            trunk(2),  -- the mode of interface is trunk port
            dot1q-tunnel(3),   -- the mode of interface is 802.1q tunnel port
            hybrid(4), -- the mode of interface is hybrid port
            other(5), -- other mode 
            uplink(6), -- the mode of interface is uplink port
            host(7), -- the mode of interface is private-vlan host port
            promiscuous(8) -- the mode of interface is private-vlan promiscuous port
              }
        MAX-ACCESS  read-create
        STATUS  current
        DESCRIPTION
              "This value is meaning for only physical port and aggreate port"
        ::= { fsIfEntry 12 }

fsIfCounterClear OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "Setting its to any value but 0, will clear counters of this interface. 
             Setting its value to 0 will cause no action of the agent. and when
             query will always return 0.            "
        ::= { fsIfEntry 13 } 
        
fsIfEntryStatus OBJECT-TYPE
        SYNTAX ConfigStatus
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "Status of this entry, set this object to valid will create a interface, 
             and set its value to invalid will delete the interface of this entry."
        ::= { fsIfEntry 14 }
                       
fsIfMediumType OBJECT-TYPE
        SYNTAX INTEGER {
            unknown(0),
            copper(1),
            fiber(2)
         }
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "Port medium type of this port,fiber or copper."
        ::= { fsIfEntry 15 }

fsIfDownCounter OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The counters of linkdown times of the interface."
        ::= { fsIfEntry 16 }

fsIfInOctets OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The total number of octets received on the interface,
            including framing characters.
            Discontinuities in the value of this counter can occur at
            re-initialization of the management system, and at other
            times as indicated by the value of ifCounterDiscontinuityTime."
    ::= { fsIfEntry 17 }
 
fsIfOutOctets OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The total number of octets transmitted out of the
            interface, including framing characters.
            Discontinuities in the value of this counter can occur at
            re-initialization of the management system, and at other
            times as indicated by the value of ifCounterDiscontinuityTime."
    ::= { fsIfEntry 18 } 

fsIfBcastInhibit OBJECT-TYPE
    SYNTAX      INTEGER
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
            "The percentage of the broadcast storm restraint on the
            interface."
    ::= { fsIfEntry 19 } 

fsIfNegotiation OBJECT-TYPE
    SYNTAX INTEGER {
        disable(0),
        enable(1)
     }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
            "The negotiation status of the interface."
    ::= { fsIfEntry 20 } 

fsIfPhysAddress OBJECT-TYPE
    SYNTAX      MacAddress
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The interface's address at its protocol sub-layer.  For
            example, for an 802.x interface, this object normally
            contains a MAC address.  The interface's media-specific MIB
            must define the bit and byte ordering and the format of the
            value of this object.  For interfaces which do not have such
            an address (e.g., a serial line), this object should contain
            an octet string of zero length."
    ::= { fsIfEntry 21 }

fsIfAdminSpeedRW OBJECT-TYPE
        SYNTAX INTEGER {
            speed10Mb(1),
            speed100Mb(2),
            speed1000Mb(3),
            autonego(4),
            speed10Gb(5),
            unknown(6),
            speed40Gb(7),   
            speed100Gb(8)
        }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "port speed settings.
            
            This attribute apply physical port and aggreate port"
        ::= { fsIfEntry 22 }
        
fsIfAdminDuplexRW OBJECT-TYPE
        SYNTAX INTEGER {
            full(1),
            half(2),
            autonego(3),
            unknown(4)
        }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "port duplex settings.
            
            This attribute apply physical port and aggreate port"
        ::= { fsIfEntry 23 }        

fsIfModeRW OBJECT-TYPE
        SYNTAX  INTEGER {
            access(1), -- the mode of interface is access port
            trunk(2),  -- the mode of interface is trunk port
            dot1q-tunnel(3),   -- the mode of interface is 802.1q tunnel port
            hybrid(4), -- the mode of interface is hybrid port
            other(5), -- other mode 
            uplink(6), -- the mode of interface is uplink port
            host(7), -- the mode of interface is private-vlan host port
            promiscuous(8) -- the mode of interface is private-vlan promiscuous port
              }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
              "This value is meaning for only physical port and aggreate port"
        ::= { fsIfEntry 24 }

  fsIfSpeed OBJECT-TYPE
    SYNTAX      Gauge
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "An estimate of the interface's current bandwidth in units of 
        Mbits per second."
    ::= { fsIfEntry 25 }  
    
 fsifAdminStatus OBJECT-TYPE
    SYNTAX INTEGER {
        adminup(1),
        admindown(2),
        admintest(3)
        }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
            "the interface  keeps the admin state ."
    ::= { fsIfEntry 26 }  
      
 fsifOperStatus OBJECT-TYPE
   SYNTAX INTEGER {
        up(1),
        down(2),
        test(3),
        unknow(4),
        dormant(5)      
        }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "the interface  keeps the oper state ."
    ::= { fsIfEntry 27}  
      
  fsIfInNUcastPkts OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The counter of receiving  packets contain BROADCAST and PACKET_MULTICAST ."
    ::= { fsIfEntry 28 }    
         
  fsIfOutNUcastPkts OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The counter of sending  packets contain BROADCAST and PACKET_MULTICAST ."
    ::= { fsIfEntry 29 }   
    
  fsIfUpDownTimes OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The counters of linkup and linkdown times of the interface."
        ::= { fsIfEntry 30 }     
        
  fsifAdminStatusw OBJECT-TYPE
        SYNTAX INTEGER {
        up(0),
        admindown(1)
        }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The desired state of the interface.  When a managed system initializes, all
        interfaces start with ifAdminStatus in the admindown(1)
        state.  As a result of either explicit management
        action or per configuration information retained by
        the managed system, ifAdminStatus is then changed to
        either the up(0)  states (or remains in
        the admindown(1) state)."
        ::= { fsIfEntry 31 }  
        
  fsifOperStatusw OBJECT-TYPE
        SYNTAX INTEGER {
        up(0),
        down(1),
        admindown(2)
          }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The current operational state of the interface.  
        If fsApIfAdminStatus is admindown(2) then
        fsApIfOperStatus should be admindown(2).  If fsApIfAdminStatus is
        changed to up(0) then fsApIfOperStatus should change to
        up(0) . it should remain in the down(1) state if
        and only if there is a fault that prevents it from
        going to the up(0) state; "
        ::= { fsIfEntry 32 }  
        
  fsifSpeedw OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "An estimate of the interface's current bandwidth in units of
        Mbits per second."
        ::= { fsIfEntry 33 }

   fsifMacAddress OBJECT-TYPE
        SYNTAX MacAddress
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The interface's address at its protocol sub-layer.
        For example, for an 802.x interface, this object
        normally contains a MAC address.  The interface's
        media-specific MIB must define the bit and byte
        ordering and the format of the value of this object.
        For interfaces which do not have such an address
        (e.g., a serial line), this object should contain an
        octet string of zero length."
        ::= { fsIfEntry 34 }   
        
     fsifLastChange OBJECT-TYPE
        SYNTAX TimeTicks
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The length of the time that comes current state ."
        ::= { fsIfEntry 35 }

     fsIfInPkts OBJECT-TYPE
        SYNTAX      Counter64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
          "The number of packets received on this interface,
           including framing characters.

          Discontinuities in the value of this counter can occur at
          re-initialization of the management system, and at other
          times as indicated by the value of
           ifCounterDiscontinuityTime."
         ::= { fsIfEntry 36 }   

     fsIfDiscard OBJECT-TYPE
        SYNTAX      Counter64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
         "The number of bound packets which were chosen to be
         discarded even though no errors. One possible reason for
         discarding such a packet could be to free up buffer space.
        
         Discontinuities in the value of this counter can occur
         at re-initialization of the management system, and at
         other times as indicated by the value of
         ifCounterDiscontinuityTime."
         ::= { fsIfEntry 37 }   

     fsIfBandwidthUsage OBJECT-TYPE
        SYNTAX      DisplayString
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
         "Current bandwidth utilization of interface."
         ::= { fsIfEntry 38 }   

     fsIfInBitsRate OBJECT-TYPE
        SYNTAX      Counter64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
         "The average input packet-rate over a period of time(configuration by interface command 'load-interval') 
          in bits per second on this interface."
         ::= { fsIfEntry 39 }   

     fsIfInPktRate OBJECT-TYPE
        SYNTAX      Counter64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
         "The average input packet-rate over a period of time(configuration by interface command 'load-interval') 
          in packets per second on this interface."
         ::= { fsIfEntry 40 }   

     fsIfOutBitsRate OBJECT-TYPE
        SYNTAX      Counter64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
         "The average output packet-rate over a period of time(configuration by interface command 'load-interval') 
          in bits per second on this interface."
         ::= { fsIfEntry 41 }   

     fsIfOutPktRate OBJECT-TYPE
        SYNTAX      Counter64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
         "The average output packet-rate over a period of time(configuration by interface command 'load-interval') 
          in packets per second on this interface."
         ::= { fsIfEntry 42 }   

     fsIfInBandwidthUsage OBJECT-TYPE
        SYNTAX      DisplayString
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
         "RX bandwidth utilization ratio of interface."
         ::= { fsIfEntry 43 }   
         
     fsIfOutBandwidthUsage OBJECT-TYPE
        SYNTAX      DisplayString
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
         "TX bandwidth utilization ratio of interface."
         ::= { fsIfEntry 44 }  
           
      fsIfInErrorPktsRate OBJECT-TYPE
        SYNTAX      DisplayString
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
         "Input packet error rate."
         ::= { fsIfEntry 45 }    
         
       fsIfOutErrorPktsRate OBJECT-TYPE
        SYNTAX      DisplayString
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
         "Output packet error rate."
         ::= { fsIfEntry 46 }  
         
       fsIfInDropPktsRate OBJECT-TYPE
        SYNTAX      DisplayString
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
         "Input packet discarded rate."
         ::= { fsIfEntry 47 } 
         
       fsIfOutDropPktsRate OBJECT-TYPE
        SYNTAX      DisplayString
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
         "Output packet discarded rate."
         ::= { fsIfEntry 48 }   
         
     fsIfOutNoBuffer OBJECT-TYPE
        SYNTAX      Counter64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
         "Ouyput drop packet rate on this interface due to resource lack."
         ::= { fsIfEntry 49 }

     fsIfOutPkts OBJECT-TYPE
        SYNTAX      Counter64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
          "The number of packets sent on this interface,
           including framing characters.

          Discontinuities in the value of this counter can occur at
          re-initialization of the management system, and at other
          times as indicated by the value of
           ifCounterDiscontinuityTime."
         ::= { fsIfEntry 50 }

fsIfIpTable OBJECT-TYPE
       SYNTAX      SEQUENCE OF FSIfIpEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
               "A list of interface ip configuration entries."
       ::= { fsIfConfigMIBObjects 2}

fsIfIpEntry OBJECT-TYPE
       SYNTAX      FSIfIpEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
               "An entry containing configuration information applicable
               to a Layer3 interface."
       INDEX   { fsIfIpIfIndex, fsIfIpId, fsIfIp}
       ::= { fsIfIpTable 1 }

FSIfIpEntry ::=
       SEQUENCE {
          fsIfIpIfIndex         IfIndex,
          fsIfIpId              INTEGER,
          fsIfIp                IpAddress,
          fsIfIpMask            IpAddress,
          fsIfIpEntryStatus     RowStatus
        }
fsIfIpIfIndex OBJECT-TYPE
       SYNTAX      IfIndex
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
               "A unique value, for each Layer3 interface."
       ::= { fsIfIpEntry 1 }       
       
fsIfIpId OBJECT-TYPE
       SYNTAX      INTEGER{
                       primary(1),    -- primary ip address of Layer3 interface
                       secondary(2)   -- secondary ip address of Layer3 interface
                   }
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
               "Type of interface ip address."
       ::= { fsIfIpEntry 2 }              

fsIfIp OBJECT-TYPE
        SYNTAX IpAddress
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Ip address of the interface fsIfIndex refer to."
        ::= { fsIfIpEntry 3 }       
        
fsIfIpMask OBJECT-TYPE
        SYNTAX IpAddress
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "Ip mask of the interface ip address."
        ::= { fsIfIpEntry 4 }       
            
fsIfIpEntryStatus OBJECT-TYPE
        SYNTAX RowStatus
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "entry status of this entry. and the means in this enviraments can
            reffer to the text-convention definition of the RowStatus."
        ::= { fsIfIpEntry 5 } 


fsIfStatusTable OBJECT-TYPE
        SYNTAX SEQUENCE OF FSIfStatusEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "list of interface status. Status information include some error state and
             result of examining to the interface,etc."
        ::= { fsIfConfigMIBObjects 3 }
    
fsIfStatusEntry OBJECT-TYPE
        SYNTAX FSIfStatusEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "Entry contains interface status information."
        INDEX { fsIfStatusIndex }
        ::= { fsIfStatusTable 1 }

FSIfStatusEntry ::=
        SEQUENCE {
            fsIfStatusIndex IfIndex,
            fsIfStatusLoopBackExamine Integer32,
            fsIfErrorStatus           INTEGER,
            fsIfLineDetect            Integer32
        }

fsIfStatusIndex OBJECT-TYPE
        SYNTAX IfIndex
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            " "
        ::= { fsIfStatusEntry 1 }

fsIfStatusLoopBackExamine OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Setting its to any value but 0, will Checking whether this port or aggreate can
              receive and send packets normally, It indicates that port or aggreate is normal
              if opertion is success. 
                  Setting its value to 0 will cause no action of the agent. and when
             query will always return 0.
            
            This attribute apply physical port and aggreate port"
        ::= { fsIfStatusEntry  2 } 
        
fsIfErrorStatus OBJECT-TYPE
        SYNTAX INTEGER {
            no-error(1),               -- port is enabled normal
            err-disable-bpduguard(2),  -- port is disabled by port receive BPDU packet when port
                                       -- enable BPDU guard             
            err-disable-ptsecurity(3)  -- port is disabled by port security is violatd
        }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Port's error status information"
        ::= { fsIfStatusEntry 3 }
           
           
fsIfLineDetect OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "When reading this object, system detects the quality of line connecting the port.
             Detect whether the line is broken or short circuit or not. 
             
             The meaning of the obtained value:
             Return value=N*10000000+M
             N stands for the line state (0: perfect; 1: break; 2: short circuit)
             M stands for the location of the break or short circuit in the line(distance from the switch port, in metre)
             If the line is perfect, the value is zero."
        ::= { fsIfStatusEntry  4 }
           
fsGlobalIfDisableRecovery OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Setting its to any value but 0, the interfaces  which is shutted down by
             some error happened will recovery from disabled status . 
                  Setting its value to 0 will cause no action of the agent. and when
             query will always return 0.
            
            This attribute apply physical port and aggreate port"
        ::= { fsIfConfigMIBObjects  4 } 
                               
--
-- portType Choose
--
fsPortTypeChooseTable OBJECT-TYPE
        SYNTAX SEQUENCE OF FSPortTypeChooseEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "Table of entrance to choose port type." 
        ::= { fsIfConfigMIBObjects 5 }
    
fsPortTypeChooseEntry OBJECT-TYPE
        SYNTAX FSPortTypeChooseEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "Entrance to choose port type."  
        INDEX { fsPortTypeChooseIndex }
        ::= { fsPortTypeChooseTable 1 }

FSPortTypeChooseEntry ::=
        SEQUENCE {
            fsPortTypeChooseIndex IfIndex,
            fsPortTypeChooseType INTEGER
        }

fsPortTypeChooseIndex OBJECT-TYPE
        SYNTAX IfIndex
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The logic port number." 
        ::= { fsPortTypeChooseEntry 1 }

fsPortTypeChooseType OBJECT-TYPE
        SYNTAX INTEGER {
    fiber(1),       --priority of fiber port
          copper(2)       --priority of copper port
        }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The chosen port type. This object is used to choose one of the multiple physical ports of different types,
            when the same logical port is correspondent with them.
            Apply this attribute to the physical port only." 
        ::= { fsPortTypeChooseEntry 2 }

--
-- mtu
--
fsIfMTUTable OBJECT-TYPE
        SYNTAX SEQUENCE OF FSIfMTUEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "Access table of MTU on interface." 
        ::= { fsIfConfigMIBObjects 6 }
    
fsIfMTUEntry OBJECT-TYPE
        SYNTAX FSIfMTUEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "Interfac MTU access." 
        INDEX { fsIfMTUIndex }
        ::= { fsIfMTUTable 1 }

FSIfMTUEntry ::=
        SEQUENCE {
            fsIfMTUIndex IfIndex,
            fsIfMTU Integer32
        }

fsIfMTUIndex OBJECT-TYPE
        SYNTAX IfIndex
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Interface number"
        ::= { fsIfMTUEntry 1 }

fsIfMTU OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Interface MTU."
        ::= { fsIfMTUEntry 2 }
--
-- Available Bandwidth
--
fsIfAvailableBWTable OBJECT-TYPE
        SYNTAX SEQUENCE OF FSIfAvailableBWEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "Access table of Available Bandwidth on interface." 
        ::= { fsIfConfigMIBObjects 7 }
    
fsIfAvailableBWEntry OBJECT-TYPE
        SYNTAX FSIfAvailableBWEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "Interfac available bandwidth access." 
        INDEX { fsIfAvailableBWIfIndex }
        ::= { fsIfAvailableBWTable 1 }

FSIfAvailableBWEntry ::=
        SEQUENCE {
            fsIfAvailableBWIfIndex IfIndex,
            fsIfAvailableBWIfBW Gauge
        }

fsIfAvailableBWIfIndex OBJECT-TYPE
        SYNTAX IfIndex
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Interface number"
        ::= { fsIfAvailableBWEntry 1 }

fsIfAvailableBWIfBW OBJECT-TYPE
        SYNTAX Gauge
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Interface available bandwidth(bit)."
        ::= { fsIfAvailableBWEntry 2 }
        
--
-- Creat Interface Vlan
--
fsIfSVICreatTable OBJECT-TYPE
        SYNTAX SEQUENCE OF FSIfSVICreatEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "Access table of Available Bandwidth on interface." 
        ::= { fsIfConfigMIBObjects 8 }
    
fsIfSVICreatEntry OBJECT-TYPE
        SYNTAX FSIfSVICreatEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "Interfac available bandwidth access." 
        INDEX { fsIfSVICreatVlanNum }
        ::= { fsIfSVICreatTable 1 }

FSIfSVICreatEntry ::=
        SEQUENCE {
            fsIfSVICreatVlanNum Integer32,
            fsIfHandleSVI       INTEGER
        }

fsIfSVICreatVlanNum OBJECT-TYPE
        SYNTAX Integer32(1..4094)
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Interface Vlan number"
        ::= { fsIfSVICreatEntry 1 }

fsIfHandleSVI OBJECT-TYPE
        SYNTAX INTEGER{create(0), delete(1)}
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "0 creat,1 delete."
        ::= { fsIfSVICreatEntry 2 }

--
-- Get Physical Interface Number
--
fsIfPhyIntNum OBJECT-TYPE
    SYNTAX      INTEGER
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The number of physical interfaces (regardless of their
            current state) present on this system."
    ::= { fsIfConfigMIBObjects 9 }        


--
-- Get Interface LinkUP Times
--
fsIfLinkUPTimesTable OBJECT-TYPE
        SYNTAX SEQUENCE OF FSIfLinkUPTimesEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "Access table of Available Bandwidth on interface." 
        ::= { fsIfConfigMIBObjects 10 }
    
fsIfLinkUPTimesEntry OBJECT-TYPE
        SYNTAX FSIfLinkUPTimesEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "Interfac available bandwidth access." 
        INDEX { fsInterfaceIndex }
        ::= { fsIfLinkUPTimesTable 1 }

FSIfLinkUPTimesEntry ::=
        SEQUENCE {
            fsInterfaceIndex   Integer32,
            fsIfLinkUPTimes    INTEGER
        }

fsInterfaceIndex OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Interface Index"
        ::= { fsIfLinkUPTimesEntry 1 }

fsIfLinkUPTimes OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Vlaues Of Linkup Times."
        ::= { fsIfLinkUPTimesEntry 2 }
        
--
-- Interface encapsulation dot1q VLAN
--
fsIfEncapsulationTable OBJECT-TYPE
        SYNTAX SEQUENCE OF FSIfEncapsulationEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "Access table of Encapsulation dot1q VLAN on interface." 
        ::= { fsIfConfigMIBObjects 11 }
    
fsIfEncapsulationEntry OBJECT-TYPE
        SYNTAX FSIfEncapsulationEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "Interfac encapsulation dot1q VLAN access." 
        INDEX { fsIfEncapsulationIndex }
        ::= { fsIfEncapsulationTable 1 }

FSIfEncapsulationEntry ::=
        SEQUENCE {
            fsIfEncapsulationIndex  IfIndex,
            fsIfEncapsulationVlan   VlanId
        }

fsIfEncapsulationIndex OBJECT-TYPE
        SYNTAX IfIndex
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "A unique value for each interface.  Its value
             ranges between 1 and the value of ifNumber.  The
             value for each interface must remain constant at
             least from one re-initialization of the entity's
             network management system to the next re-
             initialization."
        ::= { fsIfEncapsulationEntry 1 }

fsIfEncapsulationVlan OBJECT-TYPE
        SYNTAX VlanId
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The value indicate the VID of the dot1q vlan encapsulation. 
             The value 0 means de-encapsulation."
        ::= { fsIfEncapsulationEntry 2 }

--
-- Get ap interface number
--
fsApIfNumberTable OBJECT-TYPE
        SYNTAX SEQUENCE OF FSApIfNumberEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "Access table of ap interface number." 
        ::= { fsIfConfigMIBObjects 12 }
    
fsApIfNumberEntry OBJECT-TYPE
        SYNTAX FSApIfNumberEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "Interfac number of ap." 
        INDEX { fsApPhyAddress }
        ::= { fsApIfNumberTable 1 }

FSApIfNumberEntry ::=
        SEQUENCE {
            fsApPhyAddress   PhysAddress,
            fsApIfNumber     INTEGER,
            fsApIfPhyIntNum  INTEGER
        }

fsApPhyAddress OBJECT-TYPE
    SYNTAX PhysAddress
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The ap's address at its protocol sub-layer.
        The ap's media-specific MIB must define the bit and byte
        ordering and the format of the value of this object.
        For interfaces which do not have such an address
        (e.g., a serial line), this object should contain an
        octet string of zero length."
    ::= { fsApIfNumberEntry 1 }

fsApIfNumber OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Vlaues Of interface number."
    ::= { fsApIfNumberEntry 2 }
        
fsApIfPhyIntNum OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Vlaues Of physical interface number."
    ::= { fsApIfNumberEntry 3 }
    
--
--fsApIfTable
--
fsApIfTable OBJECT-TYPE
    SYNTAX SEQUENCE OF FSApIfEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "A list of fsAp interface entries.  The number of entries
        is given by the value of fsApIfNumber."
    ::= { fsIfConfigMIBObjects 13 }

fsApIfEntry OBJECT-TYPE
    SYNTAX FSApIfEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "An entry containing management information fsApplicable
        to a particular interface."
    INDEX { 
           fsApPhysAddress, 
           fsApIfIndex 
    }
    ::= { fsApIfTable 1 }

FSApIfEntry ::= SEQUENCE {
    fsApPhysAddress  PhysAddress,
    fsApIfIndex IfIndex,
    fsApIfDescr DisplayString,
    fsApIfType IANAifType,
    fsApIfMtu INTEGER,
    fsApIfSpeed Gauge,
    fsApIfPhysAddress PhysAddress,
    fsApIfAdminStatus INTEGER,
    fsApIfOperStatus INTEGER,
    fsApIfLastChange TimeTicks,
    fsApIfInOctets Counter64,
    fsApIfInUcastPkts Counter64,
    fsApIfInNUcastPkts Counter64,
    fsApIfInDiscards Counter32,
    fsApIfInErrors Counter32,
    fsApIfInUnknownProtos Counter32,
    fsApIfOutOctets Counter64,
    fsApIfOutUcastPkts Counter64,
    fsApIfOutNUcastPkts Counter64,
    fsApIfOutDiscards Counter32,
    fsApIfOutErrors Counter32,
    fsApIfOutQLen Gauge,
    fsApIfLinkUPTimes INTEGER,
    fsApIfInDataOctets Counter64,
    fsApIfOutDataOctets Counter64,
    fsApIfMgmtUploadOctets Counter32,
    fsApIfMgmtDownloadOctets Counter32,  
    fsApIfSpeedw Integer32,
    fsApIfMtuw Integer32,
    fsApIfPhysAddressw MacAddress,     
    fsApIfInUcastPktsw Counter32,
    fsApIfInNUcastPktsw Counter32,
    fsApIfOutUcastPktsw Counter32,
    fsApIfOutNUcastPktsw Counter32,
    fsApIfLinkUPTimesw Counter32,
    fsApIfInPkts Counter64,
    fsApIfInFlow Counter32,
    fsApIfOutFlow Counter32,
    fsApIfInBrdcastPkts Counter64,
    fsApIfOutBrdcastPkts Counter64,
    fsApIfInMulcastPkts Counter64,
    fsApIfOutMulcastPkts Counter64,
    fsApIfInPayloadOctets Counter64,
    fsApIfOutPayloadOctets Counter64,
    fsApIfAlias DisplayString,
    fsApIfInDateRate Counter64,
    fsApIfOutDateRate Counter64,
    fsApifInNormalPkts Counter64,
    fsApIfOutPkts Counter64
    }

fsApPhysAddress OBJECT-TYPE
    SYNTAX PhysAddress
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The ap's address at its protocol sub-layer.
        The ap's media-specific MIB must define the bit and byte
        ordering and the format of the value of this object.
        For interfaces which do not have such an address
        (e.g., a serial line), this object should contain an
        octet string of zero length."
    ::= { fsApIfEntry 1 }

fsApIfIndex OBJECT-TYPE
    SYNTAX IfIndex
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "A unique value, greater than zero, for each
        interface.  It is recommended that values are assigned
        contiguously starting from 1.  The value for each
        interface sub-layer must remain constant at least from
        one re-initialization of the entity's network
        management system to the next re-initialization."
    ::= { fsApIfEntry 2 }

fsApIfDescr OBJECT-TYPE
    SYNTAX DisplayString(SIZE(0..255))
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "A textual string containing information about the
        interface.  This string should include the name of the
        manufacturer, the product name and the version of the
        interface hardware/software."
    ::= { fsApIfEntry 3 }

fsApIfType OBJECT-TYPE
    SYNTAX IANAifType
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The type of interface.  Additional values for ifType
        are assigned by the Internet Assigned Numbers
        Authority (IANA), through updating the syntax of the
        IANAifType textual convention."
    ::= { fsApIfEntry 4 }

fsApIfMtu OBJECT-TYPE
    SYNTAX INTEGER
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The size of the largest packet which can be
        sent/received on the interface, specified in octets.
        For interfaces that are used for transmitting network
        datagrams, this is the size of the largest network
        datagram that can be sent on the interface."
    ::= { fsApIfEntry 5 }

fsApIfSpeed OBJECT-TYPE
    SYNTAX Gauge
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "An estimate of the interface's current bandwidth in units of
        Mbits per second.  For interfaces which do not vary in
        bandwidth or for those where no accurate estimation
        can be made, this object should contain the nominal
        bandwidth.For a sub-layer which
        has no concept of bandwidth, this object should be
        zero."
    ::= { fsApIfEntry 6 }

fsApIfPhysAddress OBJECT-TYPE
    SYNTAX PhysAddress
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The interface's address at its protocol sub-layer.
        For example, for an 802.x interface, this object
        normally contains a MAC address.  The interface's
        media-specific MIB must define the bit and byte
        ordering and the format of the value of this object.
        For interfaces which do not have such an address
        (e.g., a serial line), this object should contain an
        octet string of zero length."
    ::= { fsApIfEntry 7 }

fsApIfAdminStatus OBJECT-TYPE
    SYNTAX INTEGER {
        up(1),
        admindown(2),
        testing(3)
        }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The desired state of the interface.  The testing(3)
        state indicates that no operational packets can be
        passed.  When a managed system initializes, all
        interfaces start with ifAdminStatus in the admindown(2)
        state.  As a result of either explicit management
        action or per configuration information retained by
        the managed system, ifAdminStatus is then changed to
        either the up(1) or testing(3) states (or remains in
        the admindown(2) state)."
    ::= { fsApIfEntry 8 }

fsApIfOperStatus OBJECT-TYPE
    SYNTAX INTEGER {
        up(1),
        down(2),
        admindown(3),
        unknown(4),
        dormant(5),
        notPresent(6),
        lowerLayerDown(7)
        }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The current operational state of the interface.  
        If fsApIfAdminStatus is admindown(2) then
        fsApIfOperStatus should be admindown(3).  If fsApIfAdminStatus is
        changed to up(1) then fsApIfOperStatus should change to
        up(1) if the interface is ready to transmit and
        receive network traffic; it should change to
        dormant(5) if the interface is waiting for external
        actions (such as a serial line waiting for an incoming
        connection); it should remain in the down(2) state if
        and only if there is a fault that prevents it from
        going to the up(1) state; it should remain in the
        notPresent(6) state if the interface has missing
        (typically, hardware) components."
    ::= { fsApIfEntry 9 }

fsApIfLastChange OBJECT-TYPE
    SYNTAX TimeTicks
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The value of sysUpTime at the time the interface
        entered its current operational state.  If the current
        state was entered prior to the last re-initialization
        of the local network management subsystem, then this
        object contains a zero value."
    ::= { fsApIfEntry 10 }

fsApIfInOctets OBJECT-TYPE
    SYNTAX Counter64
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The total number of octets received on the interface,
        including framing characters.
        
        Discontinuities in the value of this counter can occur
        at re-initialization of the management system, and at
        other times as indicated by the value of
        ifCounterDiscontinuityTime."
    ::= { fsApIfEntry 11 }

fsApIfInUcastPkts OBJECT-TYPE
    SYNTAX Counter64
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The number of packets, delivered by this sub-layer to
        a higher (sub-)layer, which were not addressed to a
        multicast or broadcast address at this sub-layer.
        
        Discontinuities in the value of this counter can occur
        at re-initialization of the management system, and at
        other times as indicated by the value of
        ifCounterDiscontinuityTime."
    ::= { fsApIfEntry 12 }

fsApIfInNUcastPkts OBJECT-TYPE
    SYNTAX Counter64
    MAX-ACCESS read-only
    STATUS deprecated
    DESCRIPTION
        "The number of packets, delivered by this sub-layer to
        a higher (sub-)layer, which were addressed to a
        multicast or broadcast address at this sub-layer.
        
        Discontinuities in the value of this counter can occur
        at re-initialization of the management system, and at
        other times as indicated by the value of
        ifCounterDiscontinuityTime.
        
        This object is deprecated in favour of
        fsApIfInMulticastPkts and fsApIfInBroadcastPkts."
    ::= { fsApIfEntry 13 }

fsApIfInDiscards OBJECT-TYPE
    SYNTAX Counter32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The number of inbound packets which were chosen to be
        discarded even though no errors had been detected to
        prevent their being deliverable to a higher-layer
        protocol.  One possible reason for discarding such a
        packet could be to free up buffer space.
        
        Discontinuities in the value of this counter can occur
        at re-initialization of the management system, and at
        other times as indicated by the value of
        ifCounterDiscontinuityTime."
    ::= { fsApIfEntry 14 }

fsApIfInErrors OBJECT-TYPE
    SYNTAX Counter32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "For packet-oriented interfaces, the number of inbound
        packets that contained errors preventing them from
        being deliverable to a higher-layer protocol.  For
        character-oriented or fixed-length interfaces, the
        number of inbound transmission units that contained
        errors preventing them from being deliverable to a
        higher-layer protocol.
        
        Discontinuities in the value of this counter can occur
        at re-initialization of the management system, and at
        other times as indicated by the value of
        ifCounterDiscontinuityTime."
    ::= { fsApIfEntry 15 }

fsApIfInUnknownProtos OBJECT-TYPE
    SYNTAX Counter32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "For packet-oriented interfaces, the number of packets
        received via the interface which were discarded
        because of an unknown or unsupported protocol.  For
        character-oriented or fixed-length interfaces that
        support protocol multiplexing the number of
        transmission units received via the interface which
        were discarded because of an unknown or unsupported
        protocol.  For any interface that does not support
        protocol multiplexing, this counter will always be 0.
        
        Discontinuities in the value of this counter can occur
        at re-initialization of the management system, and at
        other times as indicated by the value of
        ifCounterDiscontinuityTime."
    ::= { fsApIfEntry 16 }

fsApIfOutOctets OBJECT-TYPE
    SYNTAX Counter64
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The total number of octets transmitted out of the
        interface, including framing characters.
        
        Discontinuities in the value of this counter can occur
        at re-initialization of the management system, and at
        other times as indicated by the value of
        ifCounterDiscontinuityTime."
    ::= { fsApIfEntry 17 }

fsApIfOutUcastPkts OBJECT-TYPE
    SYNTAX Counter64
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The total number of packets that higher-level
        protocols requested be transmitted, and which were not
        addressed to a multicast or broadcast address at this
        sub-layer, including those that were discarded or not
        sent.
        
        Discontinuities in the value of this counter can occur
        at re-initialization of the management system, and at
        other times as indicated by the value of
        ifCounterDiscontinuityTime."
    ::= { fsApIfEntry 18 }

fsApIfOutNUcastPkts OBJECT-TYPE
    SYNTAX Counter64
    MAX-ACCESS read-only
    STATUS deprecated
    DESCRIPTION
        "The total number of packets that higher-level
        protocols requested be transmitted, and which were
        addressed to a multicast or broadcast address at this
        sub-layer, including those that were discarded or not
        sent.
        
        Discontinuities in the value of this counter can occur
        at re-initialization of the management system, and at
        other times as indicated by the value of
        ifCounterDiscontinuityTime.   
        This object is deprecated in favour of
        ifOutMulticastPkts and fsApIfOutBroadcastPkts."
    ::= { fsApIfEntry 19 }
    
fsApIfOutDiscards OBJECT-TYPE
    SYNTAX Counter32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The number of outbound packets which were chosen to
        be discarded even though no errors had been detected
        to prevent their being transmitted.  One possible
        reason for discarding such a packet could be to free
        up buffer space.
        
        Discontinuities in the value of this counter can occur
        at re-initialization of the management system, and at
        other times as indicated by the value of
        ifCounterDiscontinuityTime."
    ::= { fsApIfEntry 20 }
    
fsApIfOutErrors OBJECT-TYPE
    SYNTAX Counter32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "For packet-oriented interfaces, the number of
        outbound packets that could not be transmitted because
        of errors.  For character-oriented or fixed-length
        interfaces, the number of outbound transmission units
        that could not be transmitted because of errors.
        
        Discontinuities in the value of this counter can occur
        at re-initialization of the management system, and at
        other times as indicated by the value of
        ifCounterDiscontinuityTime."
    ::= { fsApIfEntry 21 }

fsApIfOutQLen OBJECT-TYPE
    SYNTAX Gauge
    MAX-ACCESS read-only
    STATUS deprecated
    DESCRIPTION
        "The length of the output packet queue (in packets)."
    ::= { fsApIfEntry 22 }

    
fsApIfLinkUPTimes OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Vlaues Of Linkup Times."
    ::= { fsApIfEntry 23 }
       
fsApIfInDataOctets OBJECT-TYPE
    SYNTAX Counter64
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The data octets received on the interface,
        including framing characters.
        
        Discontinuities in the value of this counter can occur
        at re-initialization of the management system, and at
        other times as indicated by the value of
        ifCounterDiscontinuityTime."
    ::= { fsApIfEntry 24 }

fsApIfOutDataOctets OBJECT-TYPE
    SYNTAX Counter64
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The data octets transmitted out of the
        interface, including framing characters.
        
        Discontinuities in the value of this counter can occur
        at re-initialization of the management system, and at
        other times as indicated by the value of
        ifCounterDiscontinuityTime."
    ::= { fsApIfEntry 25 }
    
fsApIfMgmtUploadOctets OBJECT-TYPE
    SYNTAX Counter32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The upload octets received on the mgmt interface,
        including framing characters.
        
        Discontinuities in the value of this counter can occur
        at re-initialization of the management system, and at
        other times as indicated by the value of
        ifCounterDiscontinuityTime."
    ::= { fsApIfEntry 26 }

fsApIfMgmtDownloadOctets OBJECT-TYPE
    SYNTAX Counter32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The download octets transmitted out of the
        mgmt interface, including framing characters.
        
        Discontinuities in the value of this counter can occur
        at re-initialization of the management system, and at
        other times as indicated by the value of
        ifCounterDiscontinuityTime."
    ::= { fsApIfEntry 27 }

fsApIfSpeedw OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "An estimate of the interface's current bandwidth in units of
        Mbits per second.  For interfaces which do not vary in
        bandwidth or for those where no accurate estimation
        can be made, this object should contain the nominal
        bandwidth. For a sub-layer which
        has no concept of bandwidth, this object should be
        zero."
    ::= { fsApIfEntry 28 }

fsApIfMtuw OBJECT-TYPE
    SYNTAX Integer32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The size of the largest packet which can be
        sent/received on the interface, specified in octets.
        For interfaces that are used for transmitting network
        datagrams, this is the size of the largest network
        datagram that can be sent on the interface."
    ::= { fsApIfEntry 29 }
        
fsApIfPhysAddressw OBJECT-TYPE
    SYNTAX MacAddress
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The interface's address at its protocol sub-layer.
        For example, for an 802.x interface, this object
        normally contains a MAC address.  The interface's
        media-specific MIB must define the bit and byte
        ordering and the format of the value of this object.
        For interfaces which do not have such an address
        (e.g., a serial line), this object should contain an
        octet string of zero length."
    ::= { fsApIfEntry 30 }

fsApIfInUcastPktsw OBJECT-TYPE
    SYNTAX Counter32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The number of packets, delivered by this sub-layer to
        a higher (sub-)layer, which were not addressed to a
        multicast or broadcast address at this sub-layer.
        
        Discontinuities in the value of this counter can occur
        at re-initialization of the management system, and at
        other times as indicated by the value of
        ifCounterDiscontinuityTime."
    ::= { fsApIfEntry 31 }

fsApIfInNUcastPktsw OBJECT-TYPE
    SYNTAX Counter32
    MAX-ACCESS read-only
    STATUS deprecated
    DESCRIPTION
        "The number of packets, delivered by this sub-layer to
        a higher (sub-)layer, which were addressed to a
        multicast or broadcast address at this sub-layer.
        
        Discontinuities in the value of this counter can occur
        at re-initialization of the management system, and at
        other times as indicated by the value of
        ifCounterDiscontinuityTime.
        
        This object is deprecated in favour of
        fsApIfInMulticastPkts and fsApIfInBroadcastPkts."
    ::= { fsApIfEntry 32 }

fsApIfOutUcastPktsw OBJECT-TYPE
    SYNTAX Counter32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The total number of packets that higher-level
        protocols requested be transmitted, and which were not
        addressed to a multicast or broadcast address at this
        sub-layer, including those that were discarded or not
        sent.
        
        Discontinuities in the value of this counter can occur
        at re-initialization of the management system, and at
        other times as indicated by the value of
        ifCounterDiscontinuityTime."
    ::= { fsApIfEntry 33 }

fsApIfOutNUcastPktsw OBJECT-TYPE
    SYNTAX Counter32
    MAX-ACCESS read-only
    STATUS deprecated
    DESCRIPTION
        "The total number of packets that higher-level
        protocols requested be transmitted, and which were
        addressed to a multicast or broadcast address at this
        sub-layer, including those that were discarded or not
        sent.
        
        Discontinuities in the value of this counter can occur
        at re-initialization of the management system, and at
        other times as indicated by the value of
        ifCounterDiscontinuityTime.   
        This object is deprecated in favour of
        ifOutMulticastPkts and fsApIfOutBroadcastPkts."
    ::= { fsApIfEntry 34 }

fsApIfLinkUPTimesw OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The counters of linkup and linkdown times of the interface."
    ::= { fsApIfEntry 35 }
        
fsApIfInPkts OBJECT-TYPE
        SYNTAX Counter64
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "The total number of packets received on the interface,
         including framing characters.
        
        Discontinuities in the value of this counter can occur
        at re-initialization of the management system, and at
        other times as indicated by the value of
        ifCounterDiscontinuityTime."
    ::= { fsApIfEntry 36 }

fsApIfInFlow OBJECT-TYPE
    SYNTAX Counter32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The flow rate of data octets in units of Bytes per-second received on the interface,
	including framing characters.
        
        Discontinuities in the value of this counter can occur
        at re-initialization of the management system, and at
        other times as indicated by the value of
        ifCounterDiscontinuityTime."
    ::= { fsApIfEntry 37 }

fsApIfOutFlow OBJECT-TYPE
    SYNTAX Counter32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The flow rate of data octets in units of Bytes per-second transmitted out of the
        interface, including framing characters.
        
        Discontinuities in the value of this counter can occur
        at re-initialization of the management system, and at
        other times as indicated by the value of
        ifCounterDiscontinuityTime."
    ::= { fsApIfEntry 38 }

fsApIfInBrdcastPkts OBJECT-TYPE
        SYNTAX Counter64
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "The total number of broadcast packets received on the interface,
         including framing characters.
        
        Discontinuities in the value of this counter can occur
        at re-initialization of the management system, and at
        other times as indicated by the value of
        ifCounterDiscontinuityTime."
    ::= { fsApIfEntry 39 }

fsApIfOutBrdcastPkts OBJECT-TYPE
        SYNTAX Counter64
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "The total number of broadcast packets transmitted out of the interface,
         including framing characters.
        
        Discontinuities in the value of this counter can occur
        at re-initialization of the management system, and at
        other times as indicated by the value of
        ifCounterDiscontinuityTime."
    ::= { fsApIfEntry 40 }

fsApIfInMulcastPkts OBJECT-TYPE
        SYNTAX Counter64
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "The total number of multicast packets received on the interface,
         including framing characters.
        
        Discontinuities in the value of this counter can occur
        at re-initialization of the management system, and at
        other times as indicated by the value of
        ifCounterDiscontinuityTime."
    ::= { fsApIfEntry 41 }

fsApIfOutMulcastPkts OBJECT-TYPE
        SYNTAX Counter64
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "The total number of multicast packets transmitted out of the interface,
         including framing characters.
        
        Discontinuities in the value of this counter can occur
        at re-initialization of the management system, and at
        other times as indicated by the value of
        ifCounterDiscontinuityTime."
    ::= { fsApIfEntry 42 }

fsApIfInPayloadOctets OBJECT-TYPE
    SYNTAX Counter64
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The total number of payload octets received on the interface,
        including framing characters.
        
        Discontinuities in the value of this counter can occur
        at re-initialization of the management system, and at
        other times as indicated by the value of
        ifCounterDiscontinuityTime."
    ::= { fsApIfEntry 43 }

fsApIfOutPayloadOctets OBJECT-TYPE
    SYNTAX Counter64
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The total number of payload octets transmitted out of the interface,
        including framing characters.
        
        Discontinuities in the value of this counter can occur
        at re-initialization of the management system, and at
        other times as indicated by the value of
        ifCounterDiscontinuityTime."
    ::= { fsApIfEntry 44 }

fsApIfAlias OBJECT-TYPE
    SYNTAX DisplayString(SIZE(0..255))
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "A textual string containing alias information about the
        interface."
    ::= { fsApIfEntry 45 }

fsApIfInDateRate OBJECT-TYPE
        SYNTAX Counter64
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "The flow rate of data octets in units of Kilo-Bits per-second received on the interface,
	including framing characters.
        
        Discontinuities in the value of this counter can occur
        at re-initialization of the management system, and at
        other times as indicated by the value of
        ifCounterDiscontinuityTime."
    ::= { fsApIfEntry 46 }

fsApIfOutDateRate OBJECT-TYPE
    SYNTAX Counter64
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The flow rate of data octets in units of Kilo-Bits per-second transmitted out of the
        interface, including framing characters.
        
        Discontinuities in the value of this counter can occur
        at re-initialization of the management system, and at
        other times as indicated by the value of
        ifCounterDiscontinuityTime."
    ::= { fsApIfEntry 47 }

fsApifInNormalPkts OBJECT-TYPE
    SYNTAX Counter64
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The total number of normal packets received on the interface,
         including framing characters.
        
        Discontinuities in the value of this counter can occur
        at re-initialization of the management system, and at
        other times as indicated by the value of
        ifCounterDiscontinuityTime."
    ::= { fsApIfEntry 48 }

fsApIfOutPkts OBJECT-TYPE
    SYNTAX Counter64
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The total number of packets transmitted out of the interface,
         including framing characters.
        
        Discontinuities in the value of this counter can occur
        at re-initialization of the management system, and at
        other times as indicated by the value of
        ifCounterDiscontinuityTime."
    ::= { fsApIfEntry 49 }

fsIfLinkTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF FSIfLinkEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "A list of interface entries.  The number of entries is
            given by the value of ifNumber."
    ::= { fsIfConfigMIBObjects 14 }

fsIfLinkEntry OBJECT-TYPE
    SYNTAX      FSIfLinkEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "An entry containing management information applicable to a
            particular interface."
    INDEX   { fsIfLinkIndex }
    ::= { fsIfLinkTable 1 }

FSIfLinkEntry ::=
    SEQUENCE {
        fsIfLinkIndex                   IfIndex,
        fsIfUplinkInOctets              Counter32,
        fsIfUplinkInUcastPkts           Counter32,
        fsIfUplinkInNUcastPkts          Counter32,
        fsIfUplinkInDiscards            Counter32,
        fsIfUplinkInErrors              Counter32,
        fsIfUplinkOutOctets             Counter32,
        fsIfUplinkOutUcastPkts          Counter32,
        fsIfUplinkOutNUcastPkts         Counter32,
        fsIfUplinkOutDiscards           Counter32,
        fsIfUplinkOutErrors             Counter32,
        fsIfDownlinkInOctets            Counter32,
        fsIfDownlinkInUcastPkts         Counter32,
        fsIfDownlinkInNUcastPkts        Counter32,
        fsIfDownlinkInDiscards          Counter32,
        fsIfDownlinkInErrors            Counter32,
        fsIfDownlinkOutOctets           Counter32,
        fsIfDownlinkOutUcastPkts        Counter32,
        fsIfDownlinkOutNUcastPkts       Counter32,
        fsIfDownlinkOutDiscards         Counter32,
        fsIfDownlinkOutErrors           Counter32,
        fsIfUplinkInBcastPkts           Counter64,
        fsIfUplinkOutBcastPkts          Counter64,
        fsIfDownlinkInBcastPkts         Counter64,
        fsIfDownlinkOutBcastPkts        Counter64
    }

fsIfLinkIndex OBJECT-TYPE
    SYNTAX      IfIndex
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "A unique value, greater than zero, for each interface.  It
            is recommended that values are assigned contiguously
            starting from 1.  The value for each interface sub-layer
            must remain constant at least from one re-initialization of
            the entity's network management system to the next re-
            initialization."
    ::= { fsIfLinkEntry 1 }

fsIfUplinkInOctets OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The total number of octets received on the interface,
            including framing characters.

            Discontinuities in the value of this counter can occur at
            re-initialization of the management system, and at other
            times as indicated by the value of
            ifCounterDiscontinuityTime."
    ::= { fsIfLinkEntry 2 }

fsIfUplinkInUcastPkts OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The number of packets, delivered by this sub-layer to a
            higher (sub-)layer, which were not addressed to a multicast
            or broadcast address at this sub-layer.

            Discontinuities in the value of this counter can occur at
            re-initialization of the management system, and at other
            times as indicated by the value of
            ifCounterDiscontinuityTime."
    ::= { fsIfLinkEntry 3 }

fsIfUplinkInNUcastPkts OBJECT-TYPE
    SYNTAX  Counter32
    MAX-ACCESS  read-only
    STATUS      deprecated
    DESCRIPTION
            "The number of packets, delivered by this sub-layer to a
            higher (sub-)layer, which were addressed to a multicast or
            broadcast address at this sub-layer.

            Discontinuities in the value of this counter can occur at
            re-initialization of the management system, and at other
            times as indicated by the value of
            ifCounterDiscontinuityTime.

            This object is deprecated in favour of ifInMulticastPkts and
            ifInBroadcastPkts."
    ::= { fsIfLinkEntry 4 }

fsIfUplinkInDiscards OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The number of inbound packets which were chosen to be
            discarded even though no errors had been detected to prevent
            their being deliverable to a higher-layer protocol.  One
            possible reason for discarding such a packet could be to
            free up buffer space.

            Discontinuities in the value of this counter can occur at
            re-initialization of the management system, and at other
            times as indicated by the value of
            ifCounterDiscontinuityTime."
    ::= { fsIfLinkEntry 5 }

fsIfUplinkInErrors OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "For packet-oriented interfaces, the number of inbound
            packets that contained errors preventing them from being
            deliverable to a higher-layer protocol.  For character-
            oriented or fixed-length interfaces, the number of inbound
            transmission units that contained errors preventing them
            from being deliverable to a higher-layer protocol.

            Discontinuities in the value of this counter can occur at
            re-initialization of the management system, and at other
            times as indicated by the value of
            ifCounterDiscontinuityTime."
    ::= { fsIfLinkEntry 6 }

fsIfUplinkOutOctets OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The total number of octets transmitted out of the
            interface, including framing characters.

            Discontinuities in the value of this counter can occur at
            re-initialization of the management system, and at other
            times as indicated by the value of
            ifCounterDiscontinuityTime."
    ::= { fsIfLinkEntry 7 }

fsIfUplinkOutUcastPkts OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The total number of packets that higher-level protocols
            requested be transmitted, and which were not addressed to a
            multicast or broadcast address at this sub-layer, including
            those that were discarded or not sent.

            Discontinuities in the value of this counter can occur at
            re-initialization of the management system, and at other
            times as indicated by the value of
            ifCounterDiscontinuityTime."
    ::= { fsIfLinkEntry 8 }

fsIfUplinkOutNUcastPkts OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      deprecated
    DESCRIPTION
            "The total number of packets that higher-level protocols
            requested be transmitted, and which were addressed to a
            multicast or broadcast address at this sub-layer, including
            those that were discarded or not sent.

            Discontinuities in the value of this counter can occur at
            re-initialization of the management system, and at other
            times as indicated by the value of
            ifCounterDiscontinuityTime.

            This object is deprecated in favour of ifOutMulticastPkts
            and ifOutBroadcastPkts."
    ::= { fsIfLinkEntry 9 }

fsIfUplinkOutDiscards OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The number of outbound packets which were chosen to be
            discarded even though no errors had been detected to prevent
            their being transmitted.  One possible reason for discarding
            such a packet could be to free up buffer space.

            Discontinuities in the value of this counter can occur at
            re-initialization of the management system, and at other
            times as indicated by the value of
            ifCounterDiscontinuityTime."
    ::= { fsIfLinkEntry 10 }

fsIfUplinkOutErrors OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "For packet-oriented interfaces, the number of outbound
            packets that could not be transmitted because of errors.
            For character-oriented or fixed-length interfaces, the
            number of outbound transmission units that could not be
            transmitted because of errors.

            Discontinuities in the value of this counter can occur at
            re-initialization of the management system, and at other
            times as indicated by the value of
            ifCounterDiscontinuityTime."
    ::= { fsIfLinkEntry 11 }

fsIfDownlinkInOctets OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The total number of octets received on the interface,
            including framing characters.

            Discontinuities in the value of this counter can occur at
            re-initialization of the management system, and at other
            times as indicated by the value of
            ifCounterDiscontinuityTime."
    ::= { fsIfLinkEntry 12 }

fsIfDownlinkInUcastPkts OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The number of packets, delivered by this sub-layer to a
            higher (sub-)layer, which were not addressed to a multicast
            or broadcast address at this sub-layer.

            Discontinuities in the value of this counter can occur at
            re-initialization of the management system, and at other
            times as indicated by the value of
            ifCounterDiscontinuityTime."
    ::= { fsIfLinkEntry 13 }

fsIfDownlinkInNUcastPkts OBJECT-TYPE
    SYNTAX  Counter32
    MAX-ACCESS  read-only
    STATUS      deprecated
    DESCRIPTION
            "The number of packets, delivered by this sub-layer to a
            higher (sub-)layer, which were addressed to a multicast or
            broadcast address at this sub-layer.

            Discontinuities in the value of this counter can occur at
            re-initialization of the management system, and at other
            times as indicated by the value of
            ifCounterDiscontinuityTime.

            This object is deprecated in favour of ifInMulticastPkts and
            ifInBroadcastPkts."
    ::= { fsIfLinkEntry 14 }

fsIfDownlinkInDiscards OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The number of inbound packets which were chosen to be
            discarded even though no errors had been detected to prevent
            their being deliverable to a higher-layer protocol.  One
            possible reason for discarding such a packet could be to
            free up buffer space.

            Discontinuities in the value of this counter can occur at
            re-initialization of the management system, and at other
            times as indicated by the value of
            ifCounterDiscontinuityTime."
    ::= { fsIfLinkEntry 15 }

fsIfDownlinkInErrors OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "For packet-oriented interfaces, the number of inbound
            packets that contained errors preventing them from being
            deliverable to a higher-layer protocol.  For character-
            oriented or fixed-length interfaces, the number of inbound
            transmission units that contained errors preventing them
            from being deliverable to a higher-layer protocol.

            Discontinuities in the value of this counter can occur at
            re-initialization of the management system, and at other
            times as indicated by the value of
            ifCounterDiscontinuityTime."
    ::= { fsIfLinkEntry 16 }

fsIfDownlinkOutOctets OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The total number of octets transmitted out of the
            interface, including framing characters.

            Discontinuities in the value of this counter can occur at
            re-initialization of the management system, and at other
            times as indicated by the value of
            ifCounterDiscontinuityTime."
    ::= { fsIfLinkEntry 17 }

fsIfDownlinkOutUcastPkts OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The total number of packets that higher-level protocols
            requested be transmitted, and which were not addressed to a
            multicast or broadcast address at this sub-layer, including
            those that were discarded or not sent.

            Discontinuities in the value of this counter can occur at
            re-initialization of the management system, and at other
            times as indicated by the value of
            ifCounterDiscontinuityTime."
    ::= { fsIfLinkEntry 18 }

fsIfDownlinkOutNUcastPkts OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      deprecated
    DESCRIPTION
            "The total number of packets that higher-level protocols
            requested be transmitted, and which were addressed to a
            multicast or broadcast address at this sub-layer, including
            those that were discarded or not sent.

            Discontinuities in the value of this counter can occur at
            re-initialization of the management system, and at other
            times as indicated by the value of
            ifCounterDiscontinuityTime.

            This object is deprecated in favour of ifOutMulticastPkts
            and ifOutBroadcastPkts."
    ::= { fsIfLinkEntry 19 }

fsIfDownlinkOutDiscards OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The number of outbound packets which were chosen to be
            discarded even though no errors had been detected to prevent
            their being transmitted.  One possible reason for discarding
            such a packet could be to free up buffer space.

            Discontinuities in the value of this counter can occur at
            re-initialization of the management system, and at other
            times as indicated by the value of
            ifCounterDiscontinuityTime."
    ::= { fsIfLinkEntry 20 }

fsIfDownlinkOutErrors OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "For packet-oriented interfaces, the number of outbound
            packets that could not be transmitted because of errors.
            For character-oriented or fixed-length interfaces, the
            number of outbound transmission units that could not be
            transmitted because of errors.

            Discontinuities in the value of this counter can occur at
            re-initialization of the management system, and at other
            times as indicated by the value of
            ifCounterDiscontinuityTime."
    ::= { fsIfLinkEntry 21 }

fsIfUplinkInBcastPkts OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
              "The number of upbound and inbound packets, delivered by this 
            sub-layer to a higher (sub-)layer, which were addressed to a 
            broadcast address at this sub-layer.

            Discontinuities in the value of this counter can occur at
            re-initialization of the management system, and at other
            times as indicated by the value of
            ifCounterDiscontinuityTime."
    ::= { fsIfLinkEntry 22 }

fsIfUplinkOutBcastPkts OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The number of upbound and outbound packets, delivered by this 
            sub-layer to a higher (sub-)layer, which were addressed to a 
            broadcast address at this sub-layer.

            Discontinuities in the value of this counter can occur at
            re-initialization of the management system, and at other
            times as indicated by the value of
            ifCounterDiscontinuityTime."
    ::= { fsIfLinkEntry 23 }
	
fsIfDownlinkInBcastPkts OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The number of downbound and inbound packets, delivered by this 
            sub-layer to a higher (sub-)layer, which were addressed to a 
            broadcast address at this sub-layer.

            Discontinuities in the value of this counter can occur at
            re-initialization of the management system, and at other
            times as indicated by the value of
            ifCounterDiscontinuityTime."
    ::= { fsIfLinkEntry 24 }
	
fsIfDownlinkOutBcastPkts OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The number of downbound and outbound packets, delivered by this 
            sub-layer to a higher (sub-)layer, which were addressed to a 
            broadcast address at this sub-layer.

            Discontinuities in the value of this counter can occur at
            re-initialization of the management system, and at other
            times as indicated by the value of
            ifCounterDiscontinuityTime."
    ::= { fsIfLinkEntry 25 }

-- interface traffic statistics, added by Yin Xiaojie, March 2013

fsIfTrafficStatisticsObjects     OBJECT IDENTIFIER ::= { fsIfConfigMIBObjects 15 }
fsIfLinkTrafficStatistics        OBJECT IDENTIFIER ::= { fsIfTrafficStatisticsObjects 1 }
fsIfLinkQosStatistics            OBJECT IDENTIFIER ::= { fsIfTrafficStatisticsObjects 2 }
fsIfDeviceTrafficStatistics      OBJECT IDENTIFIER ::= { fsIfTrafficStatisticsObjects 3 }

-- physical interface configuration table

fsIfPhyTable OBJECT-TYPE
        SYNTAX SEQUENCE OF FSIfPhyEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "list of physical interface basic configuration objects."
        ::= { fsIfConfigMIBObjects 16 }

fsIfPhyEntry OBJECT-TYPE
        SYNTAX FSIfPhyEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "Entry contains physical interface basic configurations."
        INDEX { fsIfPhyIndex }
        ::= { fsIfPhyTable 1 }		
		
FSIfPhyEntry ::=
		SEQUENCE {
			fsIfPhyIndex IfIndex,
			fsifPhyOperStatus INTEGER
        }

fsIfPhyIndex OBJECT-TYPE
        SYNTAX IfIndex
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Physical port index."
        ::= { fsIfPhyEntry 1 }		
		
fsifPhyOperStatus OBJECT-TYPE
        SYNTAX INTEGER {
			up(0),
			down(1),
			admindown(2)
		}
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The current operational state of the physical interface."
        ::= { fsIfPhyEntry 2 }

-- interface peak rate information table

fsIfPeakRateTable OBJECT-TYPE
        SYNTAX SEQUENCE OF FSIfPeakRateEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "list of interface peak rate information objects."
        ::= { fsIfConfigMIBObjects 17 }

fsIfPeakRateEntry OBJECT-TYPE
        SYNTAX FSIfPeakRateEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "Entry contains interface peak rate information."
        INDEX { fsIfPeakRateIndex }
        ::= { fsIfPeakRateTable 1 }		
		
FSIfPeakRateEntry ::=
		SEQUENCE {
			fsIfPeakRateIndex IfIndex,
			fsIfRxPeakRate Counter64,
			fsIfRxPeakRateTime DisplayString,
			fsIfTxPeakRate Counter64,
			fsIfTxPeakRateTime DisplayString
        }

fsIfPeakRateIndex OBJECT-TYPE
        SYNTAX IfIndex
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "interface index."
        ::= { fsIfPeakRateEntry 1 }		
		
fsIfRxPeakRate OBJECT-TYPE
        SYNTAX Counter64
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The transmission peak rate of interface."
        ::= { fsIfPeakRateEntry 2 }
		
fsIfRxPeakRateTime OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The occuring time of transmission peak rate of interface."
        ::= { fsIfPeakRateEntry 3 }

fsIfTxPeakRate OBJECT-TYPE
        SYNTAX Counter64
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The receiving peak rate of interface."
        ::= { fsIfPeakRateEntry 4 }
		
fsIfTxPeakRateTime OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The occuring time of receiving peak rate of interface."
        ::= { fsIfPeakRateEntry 5 }

-- AP info table

fsApInfoTable OBJECT-TYPE
        SYNTAX SEQUENCE OF FSApInfoEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "list of ap information objects."
        ::= { fsIfConfigMIBObjects 18 }

fsApInfoEntry OBJECT-TYPE
        SYNTAX FSApInfoEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "Entry contains ap information."
        INDEX { fsApInfoAddress }
        ::= { fsApInfoTable 1 }		
		
FSApInfoEntry ::=
		SEQUENCE {
			fsApInfoAddress        PhysAddress,
			fsApInfoWireInRate     Counter64,
			fsApInfoWireOutRate    Counter64,
            fsApInfoWireInOctets   Counter64,
			fsApInfoWireOutOctets  Counter64
        }

fsApInfoAddress OBJECT-TYPE
    SYNTAX PhysAddress
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The ap's address at its protocol sub-layer.
        The ap's media-specific MIB must define the bit and byte
        ordering and the format of the value of this object.
        For interfaces which do not have such an address
        (e.g., a serial line), this object should contain an
        octet string of zero length."
    ::= { fsApInfoEntry 1 }

fsApInfoWireInRate OBJECT-TYPE
    SYNTAX Counter64
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The input rate in bps of all ap wire-ports."
    ::= { fsApInfoEntry 2 }
    
fsApInfoWireOutRate OBJECT-TYPE
    SYNTAX Counter64
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The output rate in bps of all ap wire-ports."
    ::= { fsApInfoEntry 3 }

fsApInfoWireInOctets OBJECT-TYPE
    SYNTAX Counter64
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The total number of octets received on the ap wire-ports."
    ::= { fsApInfoEntry 4 }

fsApInfoWireOutOctets OBJECT-TYPE
    SYNTAX Counter64
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The total number of octets transmitted out of the ap wire-ports."
    ::= { fsApInfoEntry 5 }

-- units of fsIfDropTable
       fsIfDropTable OBJECT-TYPE
       SYNTAX      SEQUENCE OF FSIfDropEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "A table of interface drop statistics."
       ::= { fsIfConfigMIBObjects 19 }

       fsIfDropEntry OBJECT-TYPE
       SYNTAX      FSIfDropEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "Interface statistics drop entry"
       INDEX { fsIfDropIndex }
       ::= { fsIfDropTable 1 }

       FSIfDropEntry ::=
       SEQUENCE {
           fsIfDropIndex                Unsigned32,
           fsIfInDropPkts               Counter64,
           fsIfInResLackPkts            Counter64,
           fsIfInQosDropPkts            Counter64,
           fsIfFwdEntryDropPkts         Counter64,
           fsIfOutDropPkts              Counter64,
           fsIfOutResLackPkts           Counter64,
           fsIfNoBufferConut            Counter64,
           fsIfOBMDropPkts              Counter64
       }

       fsIfDropIndex OBJECT-TYPE
       SYNTAX        Unsigned32 
       MAX-ACCESS    read-only
       STATUS        current
       DESCRIPTION
           "The device traffic drop interface index."
       ::= { fsIfDropEntry 1 }

       fsIfInDropPkts OBJECT-TYPE
       SYNTAX       Counter64
       MAX-ACCESS   read-only
       STATUS       current
       DESCRIPTION   "Input discarded packets without drop by QOS."
       ::= { fsIfDropEntry 2 }

       fsIfInResLackPkts OBJECT-TYPE
       SYNTAX       Counter64
       MAX-ACCESS   read-only
       STATUS       current
       DESCRIPTION   "Input discarded packets by resources lack."
       ::= { fsIfDropEntry 3 }

       fsIfInQosDropPkts OBJECT-TYPE
       SYNTAX       Counter64
       MAX-ACCESS   read-only
       STATUS       current
       DESCRIPTION   "Discarded packets by QOS."
       ::= { fsIfDropEntry 4 }

       fsIfFwdEntryDropPkts OBJECT-TYPE
       SYNTAX       Counter64
       MAX-ACCESS   read-only
       STATUS       current
       DESCRIPTION   "Input discarded packets by forwardind entry."
       ::= { fsIfDropEntry 5 }

       fsIfOutDropPkts OBJECT-TYPE
       SYNTAX       Counter64
       MAX-ACCESS   read-only
       STATUS       current
       DESCRIPTION   "Output discarded packets."
       ::= { fsIfDropEntry 6 }

       fsIfOutResLackPkts OBJECT-TYPE
       SYNTAX       Counter64
       MAX-ACCESS   read-only
       STATUS       current
       DESCRIPTION   "Output discarded packets by resources lack."
       ::= { fsIfDropEntry 7 }

       fsIfNoBufferConut OBJECT-TYPE
       SYNTAX       Counter64
       MAX-ACCESS   read-only
       STATUS       current
       DESCRIPTION   "discarded packets by no buffer."
       ::= { fsIfDropEntry 8 }

       fsIfOBMDropPkts OBJECT-TYPE
       SYNTAX       Counter64
       MAX-ACCESS   read-only
       STATUS       current
       DESCRIPTION   "OBM discarded packets."
       ::= { fsIfDropEntry 9 }
	
-- units of LinkTrafficStatistics
       fsIfLinkTrafficTable OBJECT-TYPE
       SYNTAX      SEQUENCE OF FSIfLinkTrafficEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "A table of link traffic statistics, including interface rate and bandwidth utilization."
       ::= { fsIfLinkTrafficStatistics 1 }

       fsIfLinkTrafficEntry OBJECT-TYPE
       SYNTAX      FSIfLinkTrafficEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "The link traffic statistics entry."
       INDEX { fsIfLinkTrafficIndex }
       ::= { fsIfLinkTrafficTable 1 }

       FSIfLinkTrafficEntry ::=
       SEQUENCE {
           fsIfLinkTrafficIndex         Unsigned32,
           fsIfLinkAvgRate              Counter32,
           fsIfLinkPeakRate             Counter32,
           fsIfLinkAvgBWUtilization     INTEGER,
           fsIfLinkPeakBWUtilization    INTEGER
       }
       
       fsIfLinkTrafficIndex OBJECT-TYPE
       SYNTAX        Unsigned32 
       MAX-ACCESS    read-only
       STATUS        current
       DESCRIPTION
           "The link traffic interface index."
       ::= { fsIfLinkTrafficEntry 1 }
       
       fsIfLinkAvgRate OBJECT-TYPE
       SYNTAX        Counter32 
       MAX-ACCESS    read-only
       STATUS        current
       DESCRIPTION
           "An estimate of the interface's average bandwidth in units of bits per second." 
       DEFVAL { 0 }
       ::= { fsIfLinkTrafficEntry 2 }
		
       fsIfLinkPeakRate OBJECT-TYPE
       SYNTAX        Counter32
       MAX-ACCESS    read-only
       STATUS        current
       DESCRIPTION
           "An estimate of the interface's current peak bandwidth in units of bits per second."
       DEFVAL { 0 }
       ::= { fsIfLinkTrafficEntry 3 }

       fsIfLinkAvgBWUtilization OBJECT-TYPE
       SYNTAX       INTEGER 
       MAX-ACCESS   read-only
       STATUS       current
       DESCRIPTION
           "An estimate of the interface's average bandwidth Utilization." 
       DEFVAL { 0 }
       ::= { fsIfLinkTrafficEntry 4 }
        
       fsIfLinkPeakBWUtilization OBJECT-TYPE
       SYNTAX       INTEGER 
       MAX-ACCESS   read-only
       STATUS       current
       DESCRIPTION
           "An estimate of the interface's current peak bandwidth Utilization." 
       DEFVAL { 0 }
       ::= { fsIfLinkTrafficEntry 5 }
        
-- units of LinkQosStatistics

        fsLinkQosCtlTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF FSLinkQosCtlEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "The results of these operations are stored in the fsLinkQosResultsTable"
        ::= { fsIfLinkQosStatistics 1 }

        fsLinkQosCtlEntry OBJECT-TYPE
        SYNTAX      FSLinkQosCtlEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "Defines an entry in the fsLinkQosCtlTable.  The first index
           element, fsLinkQosCtlOwnerIndex, is of type SnmpAdminString,
           a textual convention that allows for use of the SNMPv3
           View-Based Access Control Model (RFC 3415, VACM)
           and that allows a management application to identify its
           entries.  The second index, fsLinkQosCtlTestName (also an
           SnmpAdminString), enables the same management
           application to have multiple outstanding requests."
        INDEX {
                 fsLinkQosCtlOwnerIndex,
                 fsLinkQosCtlTestName
              }
        ::= { fsLinkQosCtlTable 1 }

        FSLinkQosCtlEntry ::=
        SEQUENCE {
            fsLinkQosCtlOwnerIndex             SnmpAdminString,
            fsLinkQosCtlTestName               SnmpAdminString,
            fsLinkQosCtlTargetAddressType      InetAddressType,
            fsLinkQosCtlTargetAddress          InetAddress, 
            fsLinkQosCtlAdminStatus            INTEGER,
            fsLinkQosCtlRowStatus              RowStatus
        }

        fsLinkQosCtlOwnerIndex OBJECT-TYPE
        SYNTAX      SnmpAdminString (SIZE(0..32))
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
           "To facilitate the provisioning of access control by a
          security administrator using the View-Based Access
          Control Model (RFC 2575, VACM) for tables in which
          multiple users may need to create or
          modify entries independently, the initial index is used
          as an 'owner index'.  Such an initial index has a syntax
          of SnmpAdminString and can thus be trivially mapped to a
          securityName or groupName defined in VACM, in
          accordance with a security policy."
        ::= { fsLinkQosCtlEntry 1 }
       
        fsLinkQosCtlTestName OBJECT-TYPE
        SYNTAX      SnmpAdminString (SIZE(0..32))
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "The name of the ping-based test.  This is locally unique, 
            within the scope of a fsLinkQosCtlOwnerIndex."
        ::= { fsLinkQosCtlEntry 2 }

        fsLinkQosCtlTargetAddressType OBJECT-TYPE
        SYNTAX      InetAddressType
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "Specifies the type of host address to be used at a remote
            host for performing a ping-based operation."
        DEFVAL { unknown }
        ::= { fsLinkQosCtlEntry 3 }

        fsLinkQosCtlTargetAddress OBJECT-TYPE
        SYNTAX      InetAddress
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "Specifies the host address to be used at a remote host for
            performing a ping-based operation.  The host address type is
            determined by the value of the corresponding
            fsLinkQosCtlTargetAddressType."
        DEFVAL { ''H }
        ::= { fsLinkQosCtlEntry 4 }

        fsLinkQosCtlAdminStatus OBJECT-TYPE
        SYNTAX      INTEGER {
                             enabled(1), -- test should be started
                             disabled(2) -- test should be stopped
                           }
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
           "Reflects the desired state that a fsLinkQosCtlEntry should be
           in:
              enabled(1)  - Attempt to activate the test as defined by
                            this fsLinkQosCtlEntry.
              disabled(2) - Deactivate the test as defined by this
                            fsLinkQosCtlEntry.

           Refer to the corresponding fsLinkQosResultsOperStatus to
           determine the operational state of the test defined by
           this entry."
        DEFVAL { disabled }
        ::= { fsLinkQosCtlEntry 5 }

        fsLinkQosCtlRowStatus OBJECT-TYPE
        SYNTAX      RowStatus
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "This variable is used to create, modify, and/or
             delete a row in this table."
        REFERENCE
            "See definition of RowStatus in RFC 2579, 'Textual
            Conventions for SMIv2.'"
        ::= { fsLinkQosCtlEntry 6 }

   -- Results Table
        fsLinkQosResultsTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF FSLinkQosResultsEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "The results of these operations are stored in the fsLinkQosResultsTable."
        ::= { fsIfLinkQosStatistics 2 }

        fsLinkQosResultsEntry OBJECT-TYPE
        SYNTAX      FSLinkQosResultsEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "Defines an entry in the fsLinkQosResultsTable.  The
            fsLinkQosResultsTable has the same indexing as the
            fsLinkQosCtlTable so that a fsLinkQosResultsEntry
            corresponds to the fsLinkQosCtlEntry that caused it to
            be created."
        INDEX {
                 fsLinkQosCtlOwnerIndex,
                 fsLinkQosCtlTestName
              }
        ::= { fsLinkQosResultsTable 1 }

        FSLinkQosResultsEntry ::=
        SEQUENCE {
           fsLinkQosResultsOperStatus          INTEGER,
           fsLinkQosResultsIpTargetAddressType InetAddressType,
           fsLinkQosResultsIpTargetAddress     InetAddress,
           fsLinkQosResultsMaxRtt              Unsigned32,
           fsLinkQosResultsMinRtt              Unsigned32,
           fsLinkQosResultsAverageRtt          Unsigned32,
           fsLinkQosResultsDelayJitter         Unsigned32,
           fsLinkQosResultsPktsLossRate        Unsigned32,
           fsLinkQosResultsNetworkAF           Unsigned32
        }

        fsLinkQosResultsOperStatus OBJECT-TYPE
        SYNTAX      INTEGER {
                             enabled(1),   -- test is in progress
                             disabled(2),  -- test has stopped
                             completed(3)  -- test is completed
                           }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Reflects the operational state of a fsLinkQosCtlEntry:
              enabled(1)    - Test is active.
              disabled(2)   - Test has stopped.
              completed(3)  - Test is completed."
        ::= { fsLinkQosResultsEntry 1 }

        fsLinkQosResultsIpTargetAddressType OBJECT-TYPE
        SYNTAX      InetAddressType
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "This object indicates the type of address stored in the 
            corresponding fsLinkQosResultsIpTargetAddress object."
        DEFVAL { unknown }
        ::= { fsLinkQosResultsEntry 2 }

        fsLinkQosResultsIpTargetAddress OBJECT-TYPE
        SYNTAX      InetAddress
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "This object reports the IP address associated with a 
            fsLinkQosCtlTargetAddress value when the destination
            address is specified as a DNS name.  The value of this 
            object should be a zero-length octet string when a DNS 
            name is not specified or when a specified DNS name fails
            to resolve.

            The address type (InetAddressType) that relates to
            this object is specified by the corresponding value
            of fsLinkQosResultsIpTargetAddressType."
        DEFVAL { ''H }
        ::= { fsLinkQosResultsEntry 3 }

        fsLinkQosResultsMaxRtt OBJECT-TYPE
        SYNTAX      Unsigned32
        UNITS       "milliseconds"
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The maximum packet round-trip-time (RTT) that received. A value
            of 0 for this object implies that no RTT has been received."
        ::= { fsLinkQosResultsEntry 4 }

        fsLinkQosResultsMinRtt OBJECT-TYPE
        SYNTAX      Unsigned32
        UNITS       "milliseconds"
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The minimum packet round-trip-time (RTT) that received. A value
            of 0 for this object implies that no RTT has been received."
        ::= { fsLinkQosResultsEntry 5 }

        fsLinkQosResultsAverageRtt OBJECT-TYPE
        SYNTAX      Unsigned32
        UNITS       "milliseconds"
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The current average packet round-trip-time (RTT)."
        ::= { fsLinkQosResultsEntry 6 }

        fsLinkQosResultsDelayJitter OBJECT-TYPE
        SYNTAX      Unsigned32
        UNITS       "milliseconds"
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "This object contains the sum of the squares for all ping
            responses received.  Its purpose is to enable standard
            deviation calculation. The estimate value of the delay jitter."
        ::= { fsLinkQosResultsEntry 7 } 
       
        fsLinkQosResultsPktsLossRate OBJECT-TYPE
        SYNTAX      Unsigned32     
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The packets loss rate of the link."
        ::= { fsLinkQosResultsEntry 8 }

        fsLinkQosResultsNetworkAF  OBJECT-TYPE
        SYNTAX       Unsigned32 
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION
            "The network availability factor." 
        ::= { fsLinkQosResultsEntry 9 }
        
-- units of DeviceTrafficStatistics
       fsIfDeviceTrafficTable OBJECT-TYPE
       SYNTAX      SEQUENCE OF FSIfDeviceTrafficEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "A table of device traffic statistics."
       ::= { fsIfDeviceTrafficStatistics 1 }

       fsIfDeviceTrafficEntry OBJECT-TYPE
       SYNTAX      FSIfDeviceTrafficEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "Device traffic statistics entry"
       INDEX { fsIfDeviceTrafficIndex }
       ::= { fsIfDeviceTrafficTable 1 }

       FSIfDeviceTrafficEntry ::=
       SEQUENCE {
           fsIfDeviceTrafficIndex       Unsigned32,
           fsIfFC                       INTEGER,
           fsIfFCTransRate              Counter32,
           fsIfFCTransPktsNum           Counter64,
           fsIfFCDiscardRate            Counter32,
           fsIfFCDiscardPktsNum         Counter64,
           fsIfFCPktsLossRate           INTEGER,
           fsIfFCBandwidthRate          Counter32,
           fsIfFCBandwidthPercentage    INTEGER,
           fsIfDeviceFCGathers          INTEGER,
           fsIfFullMeshFCGathers        INTEGER,
           fsIfClassBasedGathers        INTEGER,
           fsIfNodeBasedGathers         INTEGER,
           fsIfNodeClassBasedGathers    INTEGER,
           fsIfNodeFCBasedGathers       INTEGER,
           fsIfNodeDeviceFCBasedGathers INTEGER
       }
       
       fsIfDeviceTrafficIndex OBJECT-TYPE
       SYNTAX        Unsigned32 
       MAX-ACCESS    read-only
       STATUS        current
       DESCRIPTION
           "The device traffic interface index."
       ::= { fsIfDeviceTrafficEntry 1 }

       fsIfFC OBJECT-TYPE
       SYNTAX       INTEGER
       MAX-ACCESS   read-only
       STATUS       current
       DESCRIPTION   
           "The FC type. 
            2--BASE_X_10
            4--BASE_X_100
            6--BASE_X_1000
            8--BASE_X_10000
            9--BASE_ERROR"
       ::= { fsIfDeviceTrafficEntry 2 }
        
       fsIfFCTransRate OBJECT-TYPE
       SYNTAX       Counter32
       MAX-ACCESS   read-only
       STATUS       current
       DESCRIPTION   "The transmission rate of the FC."
       ::= { fsIfDeviceTrafficEntry 3 }
        
       fsIfFCTransPktsNum OBJECT-TYPE
       SYNTAX       Counter64
       MAX-ACCESS   read-only
       STATUS       current
       DESCRIPTION   "The transmission packets number of the FC."
       ::= { fsIfDeviceTrafficEntry 4 } 
        
       fsIfFCDiscardRate OBJECT-TYPE
       SYNTAX       Counter32
       MAX-ACCESS   read-only
       STATUS       current
       DESCRIPTION   "The discard rate of the FC."
       ::= { fsIfDeviceTrafficEntry 5 }
        
       fsIfFCDiscardPktsNum OBJECT-TYPE
       SYNTAX       Counter64
       MAX-ACCESS   read-only
       STATUS       current
       DESCRIPTION   "The discard packets number of the FC."
       ::= { fsIfDeviceTrafficEntry 6 }
        
       fsIfFCPktsLossRate OBJECT-TYPE
       SYNTAX       INTEGER
       MAX-ACCESS   read-only
       STATUS       current
       DESCRIPTION   "The packets loss rate of the FC."
       ::= { fsIfDeviceTrafficEntry 7 } 
        
       fsIfFCBandwidthRate OBJECT-TYPE
       SYNTAX       Counter32
       MAX-ACCESS   read-only
       STATUS       current
       DESCRIPTION   "The bandwidth rate of the FC."
       ::= { fsIfDeviceTrafficEntry 8 }
        
       fsIfFCBandwidthPercentage OBJECT-TYPE
       SYNTAX       INTEGER
       MAX-ACCESS   read-only
       STATUS       current
       DESCRIPTION   "The bandwidth percentage of the FC."
       ::= { fsIfDeviceTrafficEntry 9 }        
        
       fsIfDeviceFCGathers OBJECT-TYPE
       SYNTAX       INTEGER
       MAX-ACCESS   read-only
       STATUS       current
       DESCRIPTION   "Gathers of the device FC."
       ::= { fsIfDeviceTrafficEntry 10 }
        
       fsIfFullMeshFCGathers OBJECT-TYPE
       SYNTAX       INTEGER
       MAX-ACCESS   read-only
       STATUS       current
       DESCRIPTION   "Gathers of the whole network FC."
       ::= { fsIfDeviceTrafficEntry 11 }
        
       fsIfClassBasedGathers OBJECT-TYPE
       SYNTAX       INTEGER
       MAX-ACCESS   read-only
       STATUS       current
       DESCRIPTION   "Class-based Gathers."
       ::= { fsIfDeviceTrafficEntry 12 } 
        
       fsIfNodeBasedGathers OBJECT-TYPE
       SYNTAX       INTEGER
       MAX-ACCESS   read-only
       STATUS       current
       DESCRIPTION   "Node-based Gathers."
       ::= { fsIfDeviceTrafficEntry 13 }
        
       fsIfNodeClassBasedGathers OBJECT-TYPE
       SYNTAX       INTEGER
       MAX-ACCESS   read-only
       STATUS       current
       DESCRIPTION   "Node&class-based Gathers."
       ::= { fsIfDeviceTrafficEntry 14 }
        
       fsIfNodeFCBasedGathers OBJECT-TYPE
       SYNTAX       INTEGER
       MAX-ACCESS   read-only
       STATUS       current
       DESCRIPTION   "Node&FC-based Gathers."
       ::= { fsIfDeviceTrafficEntry 15 }
        
       fsIfNodeDeviceFCBasedGathers OBJECT-TYPE
       SYNTAX       INTEGER
       MAX-ACCESS   read-only
       STATUS       current
       DESCRIPTION   "Node&device&FC-based Gathers."
       ::= { fsIfDeviceTrafficEntry 16 }


-- Notification
fsInterfaceTraps      OBJECT IDENTIFIER ::= { fsInterfaceMIB 2 }
                                 
lineDetectStatus OBJECT-TYPE
        SYNTAX INTEGER{
            ok(1),       --line has restored to normal state 
            open(2),     --a break in the line 
            short(3)     --short circuit in the line             
        }
        MAX-ACCESS accessible-for-notify
        STATUS current
        DESCRIPTION
          "The type of storm of interface"
        ::= { fsInterfaceTraps 1 }
        
lineDetectPosition OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS accessible-for-notify
        STATUS current
        DESCRIPTION
          "Location where the break or short circuit in the line happens
           (Distance from the switch port, in metre.)" 
        ::= { fsInterfaceTraps 2 }        
        
lineQualityDetect NOTIFICATION-TYPE
    OBJECTS {ifIndex, lineDetectStatus,lineDetectPosition}
    STATUS  current
    DESCRIPTION
            "The notification of discovering a break or short circuit in the line,
             or restoring the line to the normal state." 
    ::= { fsInterfaceTraps 3 }        
                                     
fsInterfaceMIBConformance OBJECT IDENTIFIER ::= { fsInterfaceMIB 3 }
fsInterfaceMIBCompliances OBJECT IDENTIFIER ::= { fsInterfaceMIBConformance 1 }
fsInterfaceMIBGroups      OBJECT IDENTIFIER ::= { fsInterfaceMIBConformance 2 }


-- compliance statements

fsInterfaceMIBCompliance MODULE-COMPLIANCE
        STATUS  current
        DESCRIPTION
                "The compliance statement for entities which implement
                the FS Interface MIB"
        MODULE  -- this module
                MANDATORY-GROUPS { fsInterfaceMIBGroup
                 }

    GROUP fsPortTypeChooseMibGroup
    DESCRIPTION  
                     "This group is mandatory when system supports optional port type."  

                GROUP fsIfMTUMibGroup
    DESCRIPTION  
                     "This group is mandatory when system supports MTU setting."  

        GROUP fsIfLineDetectGroup
    DESCRIPTION  
                     "This group is mandatory when system supports line quality detection."                  
                     
        GROUP fsIfAvailableBWMibGroup
        DESCRIPTION  
                     "This group is mandatory when system supports available bandwidth getting."                   
        ::= { fsInterfaceMIBCompliances 1 }
                
-- units of conformance

fsInterfaceMIBGroup OBJECT-GROUP
        OBJECTS {
            fsIfIndex,
            fsIfPortType,
            fsIfFlowControlAdminStatus,
            fsIfFlowControlOperStatus,
            fsIfAdminSpeed,
            fsIfAdminDuplex,
            fsIfOperSpeed,
            fsIfOperDuplex,
            fsIfManageStatus,
            fsIfIpBroadcast,
            fsIfLayer,
            fsIfMode,
            fsIfCounterClear,
            fsIfEntryStatus,
            fsIfMediumType,
            fsIfDownCounter,
            fsIfInOctets,
            fsIfOutOctets,
            fsIfBcastInhibit,
            fsIfNegotiation,
            fsIfPhysAddress,
            fsIfAdminSpeedRW,
            fsIfAdminDuplexRW,
            fsIfModeRW,
            fsIfSpeed,
            fsifAdminStatus,
            fsifOperStatus,
            fsIfInNUcastPkts,
            fsIfOutNUcastPkts,
            fsIfUpDownTimes,
            fsifAdminStatusw,
            fsifOperStatusw, 
            fsifSpeedw,    
            fsifMacAddress, 
            fsifLastChange,
            fsIfInPkts,
            fsIfDiscard,
            fsIfBandwidthUsage,
            fsIfInBitsRate,
            fsIfInPktRate,
            fsIfOutBitsRate,
            fsIfOutPktRate,
            fsIfInBandwidthUsage,
            fsIfOutBandwidthUsage,
            fsIfInErrorPktsRate,
            fsIfOutErrorPktsRate,
            fsIfInDropPktsRate,
            fsIfOutDropPktsRate,
            fsIfIpIfIndex,
            fsIfIpId,
            fsIfIp,
            fsIfIpMask,
            fsIfIpEntryStatus,
            fsIfStatusIndex,
            fsIfStatusLoopBackExamine,
            fsIfErrorStatus,
            fsGlobalIfDisableRecovery,
            fsIfSVICreatVlanNum,
            fsIfHandleSVI,
            fsIfEncapsulationIndex,
            fsIfEncapsulationVlan,
            fsApPhyAddress,
            fsApIfNumber,
            fsApIfPhyIntNum,
            fsApPhysAddress,
            fsApIfIndex,
            fsApIfDescr,
            fsApIfType,
            fsApIfMtu,
            fsApIfSpeed,
            fsApIfPhysAddress,
            fsApIfAdminStatus,
            fsApIfOperStatus,
            fsApIfLastChange,
            fsApIfInOctets,
            fsApIfInUcastPkts,
            fsApIfInNUcastPkts,
            fsApIfInDiscards,
            fsApIfInErrors,
            fsApIfInUnknownProtos,
            fsApIfOutOctets,
            fsApIfOutUcastPkts,
            fsApIfOutNUcastPkts,
            fsApIfOutDiscards,
            fsApIfOutErrors,
            fsApIfOutQLen,
            fsApIfLinkUPTimes,
            fsApIfInDataOctets,
            fsApIfOutDataOctets,
            fsApIfMgmtUploadOctets,
            fsApIfMgmtDownloadOctets,
            fsApIfSpeedw,
            fsApIfMtuw,
            fsApIfPhysAddressw,     
            fsApIfInUcastPktsw,
   	    fsApIfInNUcastPktsw,
   	    fsApIfOutUcastPktsw,
            fsApIfOutNUcastPktsw,
            fsApIfLinkUPTimesw,
            fsApIfInPkts,
            fsApIfInFlow,
            fsApIfOutFlow,
            fsApIfInBrdcastPkts,
            fsApIfOutBrdcastPkts,
            fsApIfInMulcastPkts,
            fsApIfOutMulcastPkts,
            fsApIfInPayloadOctets,
            fsApIfOutPayloadOctets,
            fsApIfAlias,
            fsApIfInDateRate,
            fsApIfOutDateRate,
            fsApifInNormalPkts,
            fsApIfOutPkts,
            fsIfLinkIndex,
            fsIfUplinkInOctets,
            fsIfUplinkInUcastPkts,
            fsIfUplinkInNUcastPkts,
            fsIfUplinkInDiscards,
            fsIfUplinkInErrors,
            fsIfUplinkOutOctets,
            fsIfUplinkOutUcastPkts,
            fsIfUplinkOutNUcastPkts,
            fsIfUplinkOutDiscards,
            fsIfUplinkOutErrors,
            fsIfDownlinkInOctets,
            fsIfDownlinkInUcastPkts,
            fsIfDownlinkInNUcastPkts,
            fsIfDownlinkInDiscards,
            fsIfDownlinkInErrors,
            fsIfDownlinkOutOctets,
            fsIfDownlinkOutUcastPkts,
            fsIfDownlinkOutNUcastPkts,
            fsIfDownlinkOutDiscards,
            fsIfDownlinkOutErrors,
            fsIfUplinkInBcastPkts,
            fsIfUplinkOutBcastPkts,
            fsIfDownlinkInBcastPkts,
            fsIfDownlinkOutBcastPkts
        }
        STATUS  current
        DESCRIPTION
                "A collection of objects providing interface basic configure ."
        ::= { fsInterfaceMIBGroups 1 }         
                
fsPortTypeChooseMibGroup OBJECT-GROUP
        OBJECTS {
            fsPortTypeChooseIndex,
            fsPortTypeChooseType
        }
        STATUS  current
        DESCRIPTION
                "Information collection of choosing port type." 
        ::= { fsInterfaceMIBGroups 2 }         
                

fsIfMTUMibGroup OBJECT-GROUP
        OBJECTS {
            fsIfMTUIndex,
            fsIfMTU
        }
        STATUS  current
        DESCRIPTION
                "Interface MTU information collection." 
        ::= { fsInterfaceMIBGroups 3 }         
                
fsIfLineDetectGroup OBJECT-GROUP
        OBJECTS {
            fsIfLineDetect
        }
        STATUS  current
        DESCRIPTION
                "Information collection of line quality detection." 
        ::= { fsInterfaceMIBGroups 4 }           
                
fsIfAvailableBWMibGroup OBJECT-GROUP
        OBJECTS {
            fsIfAvailableBWIfIndex,
            fsIfAvailableBWIfBW
        }
        STATUS  current
        DESCRIPTION
                "Interface available bandwidth information collection." 
        ::= { fsInterfaceMIBGroups 5 }     

END
