-- ====================================================================== 
-- 
--  3Com Corporation 
--  80 Central Street 
--  Boxborough, MA 01719 
--  (978) 264-1400 
--   
--  Change History: 
-- 
--  Aug 14, 1998 - tmeiczin Corrected syntax to compiled with SMICng 
--  May 13, 1998 - gute     edits from second review.  
--  May  8, 1998 - gute     edits from first review.  
-- 
--   Revision 1.0.0 Initially created by Flavio Fernandes 
-- 
-- ====================================================================== 
-- 
--    Interpretation of the Interface Table for Routing Policy 
--  
--  OBJECT                      VALUE/USE 
-- 
--  a3ComRoutePolicyIndex           A unique value, greater than zero for each 
--                                  routing policy entry. 
--  a3ComRoutePolicyProtocolType    Protocol referred by the policy entry. 
--                                  undefined(1), ip_rip(2), ip_ospf(3), 
--                                  ip_bgp4(4), ipx_rip(5), ipx_sap(6), 
--                                  at_rtmp(7), at_kip(8), at_aurp(9). 
--  a3ComRoutePolicyType            Type of policy. import(1), export(2). 
--  a3ComRoutePolicyOriginProtocol  Mask used to determine which protocols 
--                                  within the specified family will be  
--                                  advertised. Only used when policy is of 
--                                  the type export. 
--  a3ComRoutePolicySourceAddress   Address of advertising router. 
--  a3ComRoutePolicyRouteAddress    Address being advertised. 
--  a3ComRoutePolicyRouteMask       Mask information that goes together with 
--                                  the advertised address. 
--  a3ComRoutePolicyAction          Command taken when the policy entry is 
--                                  matched. accept(1), reject(2). 
--  a3ComRoutePolicyAdjustMetric    Type of operation to be performed with  
--                                  metric given. noop(1), add(2), subtract(3), 
--                                  multiply(4), divide(5), module(6). 
--  a3ComRoutePolicyMetric          Value by which converted route metric is 
--                                  calculated. 
--  a3ComRoutePolicyWeight          Value used to specify the order of 
--                                  precedence for policies that match the  
--                                  same route. 
--                                  lowest/default(1), (2..15)valid values,  
--                                  highest precedence(16). 
--  a3ComRoutePolicyExportType      Type of advertisement to use when a given 
--                                  protocol can advertise routes in multiple 
--                                  ways. 
--  a3ComRoutePolicyRowStatus       Status column for this routing policy. 
-- ====================================================================== 
 
   A3COM-SWITCHING-SYSTEMS-ROUTEPOLICY-MIB DEFINITIONS ::= BEGIN 
 
   IMPORTS 
      DisplayString
         FROM RFC1213-MIB 
      OBJECT-TYPE
         FROM RFC-1212 
      enterprises, IpAddress
         FROM RFC1155-SMI 
--      RowStatus 
--         FROM SNMPv2-TC
      ; 
 
-- The Following was removed to allow compiling with SunNet Manager
--                RowStatus
--                        FROM SNMPv2-TC;

                RowStatus ::= INTEGER {

                -- the following two values are states:
                -- these values may be read or written
                active(1),
                notInService(2),

                -- the following value is a state:
                -- this value may be read, but not written
                notReady(3),

                -- the following three values are
                -- actions: these values may be written,
                --   but are never read
                createAndGo(4),
                createAndWait(5),
                destroy(6)
                }

   -- Textual convention 
 
a3Com                               OBJECT IDENTIFIER ::= { enterprises 43 } 
switchingSystemsMibs                OBJECT IDENTIFIER ::= { a3Com 29 }
a3ComSwitchingSystemsMib            OBJECT IDENTIFIER ::= { switchingSystemsMibs 4 }
 
   -- Structure of MIB 
   -- 
   -- The objects are arranged into the following groups: 
   -- 
   -- 3Com switchingSystemsMibs a3ComSwitchingSystemsMib a3ComRoutePolicyGroup 
 
a3ComRoutePolicy                    OBJECT IDENTIFIER ::= { a3ComSwitchingSystemsMib 23 } 
 
   -- The 3COM Switching Routing Policy Interface Table 
   -- 
   -- This table is implemented by the 3Com network devices that support  
   -- routing policies. 
 
a3ComRoutePolicyTable  OBJECT-TYPE 
    SYNTAX  SEQUENCE OF A3ComRoutePolicyEntry 
    ACCESS  not-accessible 
    STATUS  mandatory 
    DESCRIPTION   
            "This table is used to provide routing policy facilities. 
 
            The implementation allows a list of policies to be set up 
            and matched before a given route is learned or advertised 
            by the router, which is the device being managed." 
::= { a3ComRoutePolicy 1 } 
 
a3ComRoutePolicyEntry  OBJECT-TYPE 
    SYNTAX  A3ComRoutePolicyEntry 
    ACCESS  not-accessible 
    STATUS  mandatory 
    DESCRIPTION   
            "An entry used to define a routing policy. A row in this table is 
            created by setting a3ComRoutePolicyRowStatus to createAndGo(4) or 
            createAndWait(5), indexed by the next available index  
            (a3ComRoutePolicyNextFreeIndex). The only mandatory object in this  
            table is the a3ComRoutePolicyProtocolType. An entry in this table is  
            deleted by setting a3ComRoutePolicyRowStatus to destroy(6), indexed 
            by the id of the entry about to be removed. An example of the 
            indexing of this table is a3ComRoutePolicyType.3" 
    INDEX  { a3ComRoutePolicyIndex } 
::= { a3ComRoutePolicyTable 1 } 
 
A3ComRoutePolicyEntry ::=  
    SEQUENCE { 
        a3ComRoutePolicyIndex            INTEGER, 
        a3ComRoutePolicyProtocolType      INTEGER, 
        a3ComRoutePolicyType             INTEGER, 
        a3ComRoutePolicyOriginProtocol   INTEGER, 
        a3ComRoutePolicySourceAddress    DisplayString, 
        a3ComRoutePolicyRouteAddress     DisplayString, 
        a3ComRoutePolicyRouteMask        DisplayString, 
        a3ComRoutePolicyAction           INTEGER, 
        a3ComRoutePolicyAdjustMetric     INTEGER, 
        a3ComRoutePolicyMetric           INTEGER, 
        a3ComRoutePolicyWeight           INTEGER, 
        a3ComRoutePolicyExportType       INTEGER, 
        a3ComRoutePolicyRowStatus        RowStatus  
    } 
 
a3ComRoutePolicyIndex  OBJECT-TYPE 
    SYNTAX  INTEGER (1..4294967295) 
    ACCESS  read-only  
    STATUS  mandatory 
    DESCRIPTION   
            "Unique identifier of a row in the policy table. The actual number 
            of rows that can be created on any particular device depends on 
            the memory and processing resources available at the time." 
::= { a3ComRoutePolicyEntry 1 } 
 
a3ComRoutePolicyProtocolType  OBJECT-TYPE 
    SYNTAX  INTEGER { 
            undefined(1), 
            ip-rip(2), 
            ip-ospf(3), 
            ip-bgp4(4), 
            ipx-rip(5), 
            ipx-sap(6), 
            at-rtmp(7), 
            at-kip(8), 
            at-aurp(9) 
            } 
 
    ACCESS  read-write 
    STATUS  mandatory 
    DESCRIPTION   
            "This mandatory object defines the protocol in which a policy will 
            be used. Once such protocol family is defined, the agent will use 
            this information to parse the source, route, as well as all other 
            objects that apply. 
 
            Once a policy entry is successfully made active(1), this object  
            may not be modified. If the protocol chosen is not supported by 
            the agent or is set to undefined(1), an error is returned." 
            DEFVAL   { undefined } 
::= { a3ComRoutePolicyEntry 2 } 
 
a3ComRoutePolicyType  OBJECT-TYPE 
    SYNTAX  INTEGER { 
            import(1), 
            export(2) 
            } 
 
    ACCESS  read-write 
    STATUS  mandatory 
    DESCRIPTION   
            "This object specifies what type of policy this is. The type 
            import regards to ingress -- where a route advertised 
            externally is learned by the device managed. And the type 
            export regards to egress --  where a route is advertised 
            by the device managed. Note that the type of policy also 
            mandates which fields are to be parsed upon entry activation. 
            This object can be no longer modified once the entry is 
            activated." 
            DEFVAL   { import } 
::= { a3ComRoutePolicyEntry 3 } 
 
a3ComRoutePolicyOriginProtocol  OBJECT-TYPE 
    SYNTAX  INTEGER (0..63) 
    ACCESS  read-write 
    STATUS  mandatory 
    DESCRIPTION   
            "This object is only used when a3ComRoutePolicyType is set to 
            export(2). It makes up a mask of protocols, within the protocol  
            suite, that matches the policy entry. If set to zero, the mask 
            will be interpreted as a match, independent of how the route 
            was learned. A value of 1 stands for matches on routes 
            directly attached. A value of 2 stands for matches on routes 
            that were statically defined in the routing table. All other  
            values in the mask carry different meaning, depending on the 
            current value of a3ComRoutePolicyProtocolType. The following 
            tables summarizes such values: 
 
            ------------------------------------- 
            Any Protocol Family 
            ------------------------------------- 
            00 | all (route learned by any way) 
            01 | directly attached route 
            02 | statically defined route 
            ------------------------------------- 
 
            ------------------------------------- 
            IP     | IPX    | APPLETALK 
            ------------------------------------- 
            04 | rip    | rip    | rtmp 
            08 | ospf   | sap    | kip 
            16 | bgp4   | unused | aurp 
            32 | unused | unused | unused 
            ------------------------------------- 
            Table 1: Route policy origin protocol mask 
 
            The value of this object can be modified at any time. 
 
            Examples: 
 
            1) When exporting from any protocol suite, any route 
            learned in that suite will be advertised if  
            a3ComRoutePolicyOriginProtocol is set to zero and the other 
            preconditions apply. 
 
            2) When exporting from any protocol suite, only routes that 
            were learned from static definition or that are directly 
            attached would be advertised if a3ComRoutePolicyOriginProtocol 
            is set to 3 (mask of 1 + 2) and the other preconditions 
            apply. 
 
            3) When exporting from ip_rip(2), only routes that were 
            learned from rip or bgp4 advertisements would be given out 
            if a3ComRoutePolicyOriginProtocol is set to 20 (mask of 4 + 16) 
            and the other preconditions apply. 
 
            4) If at example 3 we had a3ComRoutePolicyProtocolType set to 
            at_rtmp(7) instead of ip_rip(2), the same value (i.e. 20) 
            would indicate that advertisements under appleTalk 
            rtmp would only include routes learned from rtmp(4) or 
            aurp(16)." 
 
            DEFVAL { 0 } 
::= { a3ComRoutePolicyEntry 4 } 
 
a3ComRoutePolicySourceAddress  OBJECT-TYPE 
    SYNTAX  DisplayString (SIZE(0..50)) 
    ACCESS  read-write 
    STATUS  mandatory 
    DESCRIPTION   
            "This DisplayString is the network address of the gateway 
            to the route address. Note that when the policy 
            is of the type import(1), this object will correspond to 
            a neighboring router address, and for export(2) policies, 
            this object will most likely correspond to the address of 
            the managed device.
 
            The following formats can be used for this object: 
            IP        cccc                  - ipAddress MIB 
            IP        nnn.nnn.nnn.nnn       - decimal dotted format 
            IPX       AABBCCDD:AABBCCDDEEFF - network : node 
            AppleTalk n[...].n[...]         - dotted notation 
             
            Also note that each format described above must be followed 
            according to the protocol family set in the  
            a3ComRoutePolicyProtocolType object. When using the ip family, 
            the agent will be smart enough to understand either one of the  
            two formats listed. Note then that the object  
            a3ComRoutePolicyProtocolType must have been set before this  
            object gets set in order to allow the agent to properly parse  
            its contents. 
 
            If a3ComRoutePolicySourceAddress is set to empty, which is the 
            default value, the matching process will be independent  
            from the address of the router that is advertising. The value 
            of this object can be modified at any time." 
::= { a3ComRoutePolicyEntry 5 } 
 
a3ComRoutePolicyRouteAddress  OBJECT-TYPE 
    SYNTAX  DisplayString (SIZE(0..50)) 
    ACCESS  read-write 
    STATUS  mandatory 
    DESCRIPTION   
            "This DisplayString is the network address of the route to 
            which this policy applies. Such address will be known when a route  
            advertisement is received by the device being managed. 
 
            The following formats can be used for this object: 
            IP        cccc                  - ipAddress MIB 
            IP        nnn.nnn.nnn.nnn       - decimal dotted format 
            IPX       AABBCCDD:AABBCCDDEEFF - network : node 
            AppleTalk n[...].n[...]         - dotted notation 
             
            Note that each format described above must be followed according 
            to the protocol family set in the a3ComRoutePolicyProtocolType 
            object. When using the ip family, the agent will be smart enough  
            to understand either one of the two formats listed. When 
            performing an snmp get, the agent will unconditionally return  
            this value using the decimal dotted format if such is an ip 
            address. Note then that the object a3ComRoutePolicyProtocolType 
            must have been set before this object gets set in order to allow 
            the agent to properly parse its contents. 
 
            If a3ComRoutePolicyRouteAddress is set to empty, which is the  
            default value, the matching process will be independent from the 
            route. The value of this object can be modified at any time." 
::= { a3ComRoutePolicyEntry 6 } 
 
a3ComRoutePolicyRouteMask  OBJECT-TYPE 
    SYNTAX  DisplayString (SIZE(0..16)) 
    ACCESS  read-write 
    STATUS  mandatory 
    DESCRIPTION   
            "This DisplayString is the network mask of the route to 
            which this policy applies. The following formats can be used: 
            IP        cccc                  - ipAddress MIB 
            IP        nnn.nnn.nnn.nnn       - decimal dotted format 
             
            The agent will be smart enough to understand either one of 
            the two formats listed, based on the size of the argument given. 
            When performing an snmp get, the agent will unconditionally 
            return this value using the decimal dotted format. 
 
            a3ComRoutePolicyRouteMask will be ignored if the protocol family 
            is not ip or if a3ComRoutePolicyRouteAddress is empty. On the other 
            hand, an error will be returned if an invalid mask is existent 
            upon entry activation. The value of this object can be modified 
            at any time." 
::= { a3ComRoutePolicyEntry 7 } 
 
a3ComRoutePolicyAction  OBJECT-TYPE 
    SYNTAX  INTEGER { 
            accept(1), 
            reject(2) 
            } 
 
    ACCESS  read-write 
    STATUS  mandatory 
    DESCRIPTION   
            "This object specifies whether the protocol rejects a route that 
            matches the policy or accepts it. a3ComRoutePolicyAction can be  
            modified at any time." 
            DEFVAL   { accept } 
::= { a3ComRoutePolicyEntry 8 } 
 
a3ComRoutePolicyAdjustMetric  OBJECT-TYPE 
    SYNTAX  INTEGER { 
            noop(1), 
            add(2), 
            subtract(3), 
            multiply(4), 
            divide(5), 
            module(6) 
            } 
 
    ACCESS  read-write 
    STATUS  mandatory 
    DESCRIPTION   
            "This object defines what type of operation that can be  
            additionally performed at a route metric. Note that 
            this object will be always ignored if a3ComRoutePolicyAction is of 
            the type reject(2). Furthermore, a3ComRoutePolicyAdjustMetric will 
            also be ignored in occasions where a3ComRoutePolicyAction is of the 
            type accept(1) and the object a3ComRoutePolicyMetric is set to zero. 
            a3ComRoutePolicyAdjustMetric can be modified at any time."
            DEFVAL { noop } 
::= { a3ComRoutePolicyEntry 9 } 
 
a3ComRoutePolicyMetric  OBJECT-TYPE 
    SYNTAX  INTEGER (0..65535) 
    ACCESS  read-write 
    STATUS  mandatory 
    DESCRIPTION   
            "This object is the value by which an additional adjustment 
            can be performed on a matched route metric. The actual  
            operation performed is defined by a3ComRoutePolicyAdjustMetric. 
            If a3ComRoutePolicyMetric is zero, no metric adjustments are made. 
            If a3ComRoutePolicyAdjustMetric is set to noop(1) and  
            a3ComRoutePolicyMetric is a non-zero value, such value will be  
            unconditionally used as the route metric. Note that the  
            a3ComRoutePolicyMetric is only used when a3ComRoutePolicyAction is 
            set to accept(1). If this object is set with a value outside its 
            scope, which varies depending on a3ComRoutePolicyProtocolType, the 
            lowest or highest value will be used instead and no error will 
            be returned. This object can be modified at any time."
            DEFVAL { 0 } 
::= { a3ComRoutePolicyEntry 10 } 
 
a3ComRoutePolicyWeight  OBJECT-TYPE 
    SYNTAX  INTEGER (1..16) 
    ACCESS  read-write 
    STATUS  mandatory 
    DESCRIPTION   
            "This object assigns an administrative weight to the policy entry. 
            A policy with a higher value takes precedence over a policy with 
            a lower value. Usage of a3ComRoutePolicyWeight applies when an order 
            of precedence is desired within multiple policies that match a 
            common route. This object can be modified at any time." 
            DEFVAL { 1 } 
::= { a3ComRoutePolicyEntry 11 } 
 
a3ComRoutePolicyExportType  OBJECT-TYPE 
    SYNTAX  INTEGER { 
            ip-ospf-type1(1), 
            ip-ospf-type2(2), 
            default(3) 
            } 
 
    ACCESS  read-write 
    STATUS  mandatory 
    DESCRIPTION   
            "This object describes which type of route advertisement 
            the router will use when a given protocol can export routes in  
            multiple ways. 
 
            In situations when there is only one way routes can be exported, 
            a3ComRoutePolicyExportType will be ignored. If  
            a3ComRoutePolicyExportType is set to a value not supported by the 
            router or just doesn't match the protocol family being used, the  
            device being managed will automatically use the default  
            advertisement type and no error will be returned." 
            DEFVAL { default } 
::= { a3ComRoutePolicyEntry 12 } 
 
a3ComRoutePolicyRowStatus  OBJECT-TYPE 
    SYNTAX  RowStatus  
    ACCESS  read-write 
    STATUS  mandatory 
    DESCRIPTION   
            "The status column for a routing policy. This object can be set to: 
            active(1), 
            createAndGo(4), 
            createAndWait(5), 
            destroy(6) 
             
            The following values may be read: 
            inactive(2) 
            active(1) 
 
            A new policy entry in this table is created by setting this 
            object to createAndGo(4) or createAndWait(5), indexed by the 
            next available index (a3ComRoutePolicyNextFreeIndex). An error will 
            be returned when an existing policy entry is set to  
            createAndGo(4) or createAndWait(5), and that is a mechanism to  
            detect racing conditions. Setting this object to active(1)  
            causes the agent to attempt to commit to row based on the  
            contents of the object in the row. If all necessary information 
            is present in the row and the values are acceptable to the  
            agent, the agent will change the status to active(1). If any of 
            the necessary objects are not available or result in error, the 
            agent will reject the request. Once a policy entry is made  
            active(1), most fields can still be modified. 
 
            Setting this object to destroy(6) will remove the entry." 
::= { a3ComRoutePolicyEntry 13 } 
 
a3ComRoutePolicyNextFreeIndex  OBJECT-TYPE 
    SYNTAX  INTEGER (1..4294967295) 
    ACCESS  read-only 
    STATUS  mandatory 
    DESCRIPTION   
            "The value of the next available policy entry. This object 
            is automatically increased once a new policy is successfully 
            made active(1). A new policy entry in a3ComRoutePolicyTable is  
            created by setting a3ComRoutePolicyRowStatus to createAndGo(4) or  
            createAndWait(5), indexed by the value of this object." 
::= { a3ComRoutePolicy 2 } 
 
a3ComRoutePolicyIpIfTable  OBJECT-TYPE 
    SYNTAX  SEQUENCE OF A3ComRoutePolicyIpIfEntry 
    ACCESS  not-accessible 
    STATUS  mandatory 
    DESCRIPTION   
            "This table is used to provide a list of ip interfaces under 
            a given policy. Thus, the list generated under this table only 
            applies to policies under the ip suite. Furthermore, the 
            current mib specification resorts only two conditions: 
 
            1) a3ComRoutePolicyProtocolType set to ip_rip(2) 
            2) a3ComRoutePolicyProtocolType set to ip_ospf(3),  
            a3ComRoutePolicyType is set to export(2) and the route about 
            to be advertised is from ospf's direct policy. 
 
            In any condition other than these two, this table will simply be  
            ignored and no errors are returned, even if there are entries  
            defined. In situations where either one of the conditions listed 
            above is true and there are no entries in this table for the policy 
            it is indexed by, any interface will satisfy. In other words, an 
            empty list stands for an unconditional match on the interface, 
            given all other preconditions apply. If one or more entries in 
            this table are present and the policy is of one of the two types  
            listed above, a route will be advertised/learned (or not, depending 
            on a3ComRoutePolicyAction) only through the interfaces listed." 
::= { a3ComRoutePolicy 3 } 
 
a3ComRoutePolicyIpIfEntry  OBJECT-TYPE 
    SYNTAX  A3ComRoutePolicyIpIfEntry 
    ACCESS  not-accessible 
    STATUS  mandatory 
    DESCRIPTION   
            "An entry used to define an ip interface under a policy. A 
            row in this table is created by setting a3ComRoutePolicyIpIfRowStatus 
            with createAndGo(4), indexed by the id of an existing 
            a3ComRoutePolicyEntry and the address of an existing ip interface at 
            the device being managed. An entry in this table is deleted in  
            similar way, except that the value set is destroy(6) instead of  
            createAndGo(4). Entries in this table can be added or removed  
            at any time. If an invalid address or policy index is given,  
            an error is returned. An example of the indexing of this table is  
            a3ComRoutePolicyIpIfRowStatus.3.158.101.112.205 which would stand for  
            a3ComRoutePolicyEntry of index 3 with the ip address 158.101.112.205" 
    INDEX  { a3ComRoutePolicyIpIfIndex, a3ComRoutePolicyIpIfAddressIndex } 
::= { a3ComRoutePolicyIpIfTable 1 } 
 
A3ComRoutePolicyIpIfEntry ::=  
    SEQUENCE { 
        a3ComRoutePolicyIpIfIndex           INTEGER, 
        a3ComRoutePolicyIpIfAddressIndex    IpAddress, 
        a3ComRoutePolicyIpIfRowStatus       RowStatus  
    } 
 
a3ComRoutePolicyIpIfIndex  OBJECT-TYPE 
    SYNTAX  INTEGER (1..4294967295) 
    ACCESS  read-only  
    STATUS  mandatory 
    DESCRIPTION   
            "The identifier of a policy entry under a3ComRoutePolicyTable that 
            this entry belongs to. Note that it is possible to have multiple 
            entries in this table (a3ComRoutePolicyIpIfTable) with the same 
            a3ComRoutePolicyIpIfIndex, and that is why this table is indexed by 
            both a3ComRoutePolicyIpIfIndex and a3ComRoutePolicyIpIfAddressIndex." 
::= { a3ComRoutePolicyIpIfEntry 1 } 
 
a3ComRoutePolicyIpIfAddressIndex  OBJECT-TYPE 
    SYNTAX  IpAddress 
    ACCESS  read-only  
    STATUS  mandatory 
    DESCRIPTION   
            "The address of an existing ip interface at the device being 
            managed." 
::= { a3ComRoutePolicyIpIfEntry 2 } 
 
a3ComRoutePolicyIpIfRowStatus  OBJECT-TYPE 
    SYNTAX  RowStatus  
    ACCESS  read-write 
    STATUS  mandatory 
    DESCRIPTION   
            "The status column for an ip interface of a routing policy. 
            This object can be set to: 
            createAndGo(4), 
            destroy(6) 
             
            The following values may be read: 
            active(1) 
 
            A new ip interface entry in this table is created by setting this 
            object to createAndGo(4), indexed by the id of an existing 
            a3ComRoutePolicyEntry and the address of an existing ip interface at 
            the device being managed. An error will be returned if any 
            of the fields listed above contain invalid value. Once created 
            successfully, this entry will automatically be made active(1). An  
            entry in this table is deleted in similar way, except that the  
            value set is destroy(6) instead of createAndGo(4). 
            If a new entry, for instance, was to be created in this table for 
            the policy 2 with ip interface address of 158.101.112.205, this  
            object would be set to createAndGo(4) with the oid 
            a3ComRoutePolicyIpIfRowStatus.3.158.101.112.205" 
::= { a3ComRoutePolicyIpIfEntry 3 } 
 
END 
 
--  Usage Examples 
--  ============== 
 
--  The following examples iterate the instance values for policy entries.  
--  These examples are kept simple to make them more understandable. 
--  If an object is not listed under a given example, assume that object 
--  is irrelevant and contains the default value. 
-- 
--  Example 1: An import (a.k.a. ingress) policy entry that will force the 
--  router to reject any OSPF route advertisement it receives from neighbor 
--  router that has the address 129.63.1.1   Let's also say that this entry 
--  has index 3 under the a3ComRoutePolicyTable. 
-- 
--  Routing policy entry a3ComRoutePolicyTable 
--    Route policy entry index 3. 
--      a3ComRoutePolicyProtocolType.3 ==   ip_ospf(3) 
--      a3ComRoutePolicyType.3 ==           import(1) 
--      a3ComRoutePolicySourceAddress.3 ==  "129.63.1.1" 
--      a3ComRoutePolicyAction.3 ==         reject(2) 
--       
-- 
--  Example 2: An export (a.k.a. egress) policy entry that will force the 
--  router to make all rip advertisements with the actual metric plus 6.  
--  Let's have the policy restricting the advertisements to be only routes  
--  that were learned from static, bgp4 or that are directly attached. For  
--  example 2, let's also say that this entry has index 2 under the  
--  a3ComRoutePolicyTable. 
-- 
--  Routing policy entry a3ComRoutePolicyTable 
--    Route policy entry index 2. 
--       a3ComRoutePolicyProtocolType.2 ==   ip_rip(2) 
--       a3ComRoutePolicyType.2 ==           export(2) 
--       a3ComRoutePolicyOriginProtocol.2 == 19        (see table 1) 
--       a3ComRoutePolicyAction.2 ==         accept(1) 
--       a3ComRoutePolicyAdjustMetric.2 ==   add(2) 
--       a3ComRoutePolicyMetric.2 ==         6 
--        
-- 
--  Example 3: For this example, let's reuse what was given on previous 
--  example and add a further restriction. Assume that the router being 
--  managed has 3 ip interfaces defined, and we only want the route 
--  advertisements of example 2 to come out of 2 of them. In order to do 
--  that, we would define two entries under the a3ComRoutePolicyIpIfTable. 
--  Note that in situations when this table is empty the agent will behave 
--  as if all ip interfaces were listed. 
-- 
--  Assume that the following ip interfaces are defined in the box: 
--  158.101.112.254, 158.101.117.254, 158.101.160.254  And In this list, 
--  the last interface is the one we want filtered. 
-- 
--  Routing policy ip interface entry a3ComRoutePolicyIpIfTable 
--    Route policy entry index 2.158.101.112.254 
--       a3ComRoutePolicyIpIfRowStatus.2.158.101.112.254 == createAndGo(4) 
--    Route policy entry index 2.158.101.117.254 
--       a3ComRoutePolicyIpIfRowStatus.2.158.101.117.254 == createAndGo(4) 
 
