-- *****************************************************************
-- FS-IGMP-FILTERINGPROFILE-MIB.mib:  FS IGMP profiles MIB file
--
-- Dec 2003, Billy
--
-- Copyright (c) 2003 by FS.COM Inc..
-- All rights reserved.
-- 
-- *****************************************************************
--
FS-IGMP-FILTERINGPROFILE-MIB DEFINITIONS ::= BEGIN

IMPORTS
        MODULE-IDENTITY,
        OBJECT-TYPE,
        Unsigned32,
        IpAddress
                FROM SNMPv2-SMI
        RowStatus
                FROM SNMPv2-TC              
        MODULE-COMPLIANCE,
        OBJECT-GROUP
                FROM SNMPv2-CONF
        fsMgmt
                FROM FS-SMI;

fsIgmpFilteringProfileMIB MODULE-IDENTITY
        LAST-UPDATED "200312090000Z"
        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 IGMP filtering profile mibs."
        REVISION      "200312090000Z"
        DESCRIPTION
                "Initial version of this MIB module."
        ::= { fsMgmt 37}

fsIgmpFilteringProfileMIBObjects OBJECT IDENTIFIER ::= { fsIgmpFilteringProfileMIB 1 }

fsIgmpFilteringMaxProfiles OBJECT-TYPE
        SYNTAX     Unsigned32
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
            "Indicates the maximum number of profiles supported by
            this device.  A value of zero indicates no limitation on
            the number of profiles."
        ::= { fsIgmpFilteringProfileMIBObjects 1 }
        
fsIgmpFilteringProfileActionTable OBJECT-TYPE
        SYNTAX SEQUENCE OF FSIgmpFilteringProfileActionEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "profile action table."
        ::= { fsIgmpFilteringProfileMIBObjects 2}
    
fsIgmpFilteringProfileActionEntry OBJECT-TYPE
        SYNTAX FSIgmpFilteringProfileActionEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "list of profile table"
        INDEX { fsIgmpFilteringProfileIndex }         
        ::= { fsIgmpFilteringProfileActionTable 1}
        
FSIgmpFilteringProfileActionEntry ::= 
        SEQUENCE {
        fsIgmpFilteringProfileIndex Unsigned32,
        fsIgmpFilteringProfileAction INTEGER,
        fsIgmpFilteringProfileStatus INTEGER
        }

fsIgmpFilteringProfileIndex OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION     
            ""
        ::= { fsIgmpFilteringProfileActionEntry 1}  
        
fsIgmpFilteringProfileAction OBJECT-TYPE
        SYNTAX INTEGER {
            permit(1),
	    deny(2)
	}
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION     
            "This object defines the action of this profile.
	     
	     If the object is set to deny(2):
             then all IGMP reports associated to IP multicast
             groups included in the profile identified by
             fsIgmpFilteringProfileIndex will be dropped.

             If the object is set to permit(1):
             then all IGMP reports associated to IP multicast
             groups not included in the profile identified by
             fsIgmpFilteringProfileIndex will be dropped."                        
        ::= { fsIgmpFilteringProfileActionEntry 2}     
        
fsIgmpFilteringProfileStatus OBJECT-TYPE
        SYNTAX INTEGER{
        	valid(1),
        	invalid(2)
        }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION     
            "set this object to invalid(2) will remove current item"
        ::= { fsIgmpFilteringProfileActionEntry 3}          

fsIgmpFilteringProfileRangeTable OBJECT-TYPE
        SYNTAX SEQUENCE OF FSIgmpFilteringProfileRangeEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "IGMP filtering profile range table"
        ::= { fsIgmpFilteringProfileMIBObjects 3}        
    
fsIgmpFilteringProfileRangeEntry OBJECT-TYPE
        SYNTAX FSIgmpFilteringProfileRangeEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "list of profile table"
        INDEX { fsIgmpFilteringProfileRangeIndex,
        	fsIgmpFilteringProfieRangeFSAddress }         
        ::= { fsIgmpFilteringProfileRangeTable 1}
        
FSIgmpFilteringProfileRangeEntry ::= 
        SEQUENCE {
        fsIgmpFilteringProfileRangeIndex Unsigned32,
        fsIgmpFilteringProfieRangeFSAddress IpAddress,
        fsIgmpFilteringProfieRangeEndAddress IpAddress,  
        fsIgmpFilteringProfileRangeStatus RowStatus      
        }

fsIgmpFilteringProfileRangeIndex OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION     
            ""
        ::= { fsIgmpFilteringProfileRangeEntry 1}               

fsIgmpFilteringProfieRangeFSAddress OBJECT-TYPE
        SYNTAX IpAddress
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "This object describes the fs of the IP multicast 
             group address of a contiguous range which will be
             subjected to filtering operation."
        ::= { fsIgmpFilteringProfileRangeEntry 2 }      
        
fsIgmpFilteringProfieRangeEndAddress OBJECT-TYPE
        SYNTAX IpAddress
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "This object indicates the type of Internet
	     address used to determine the end address 
	     of IP multicast group for a profile."
        ::= { fsIgmpFilteringProfileRangeEntry 3 }     
        
fsIgmpFilteringProfileRangeStatus OBJECT-TYPE
        SYNTAX RowStatus
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "the item status"
        ::= { fsIgmpFilteringProfileRangeEntry 4 }            
        
fsIgmpFilteringProfileMIBConformance OBJECT IDENTIFIER ::= { fsIgmpFilteringProfileMIB 2 }
fsIgmpFilteringProfileMIBCompliances OBJECT IDENTIFIER ::= { fsIgmpFilteringProfileMIBConformance 1 }
fsIgmpFilteringProfileMIBGroups      OBJECT IDENTIFIER ::= { fsIgmpFilteringProfileMIBConformance 2 }


-- compliance statements

fsIgmpFilteringProfileMIBCompliance MODULE-COMPLIANCE
        STATUS  current
        DESCRIPTION
                "The compliance statement for entities which implement
                the FS Igmp filtering profile MIB"
        MODULE  -- this module
                MANDATORY-GROUPS { fsIgmpFilteringProfileMIBGroup
                 }
        ::= { fsIgmpFilteringProfileMIBCompliances 1 }
                
-- units of conformance

fsIgmpFilteringProfileMIBGroup OBJECT-GROUP
        OBJECTS {
        	fsIgmpFilteringMaxProfiles,
        	fsIgmpFilteringProfileIndex,
        	fsIgmpFilteringProfileAction,
        	fsIgmpFilteringProfileStatus,
        	fsIgmpFilteringProfileRangeIndex,
          fsIgmpFilteringProfieRangeFSAddress,
          fsIgmpFilteringProfieRangeEndAddress,
          fsIgmpFilteringProfileRangeStatus
        }
        STATUS  current
        DESCRIPTION
                "A collection of objects providing Igmp filtering profile configure ."
        ::= { fsIgmpFilteringProfileMIBGroups 1 }
        
END
