Extended Match (ADVFT_PS) Import Tests


Local Route Generation


The local route generation has three variables: 
generate from static, import,  export.

Each has a place to filter. What happens if the route: 
  1. route generated form static, not imported, export allowed
  2. reconfig with static, import, and no export
  3. reconfig with static, import, and export

Policy Clauses in import statement


Three types of filters can be attached to the import statement:

  1. rdi filter
  2. local interface filters
  3. idrp-ps_policy-atts filters

In addition, a set of modifying attributes can be attached on import
to a particular set of import routes prior to running export
policy.

rdi filters


Any rdi may be specified as any or  a group of rdis ?  a specific RDI.  

 What shall we test here? 

local interface

IDRP allows routes to selected via the local interface it is received on. Two Clauses allow this local-intf and . local-intf can be used for IP or OSI routes. local-net is only available for OSI routes.

Examples:


import proto idrp rdi 0x490137 local-intf 0x47000580ffff000000040000000000c66c3c5900
	idrp-pref 20 gated-pref {
	all;
	};


import proto idrp rdi 0x490137 local-net 0x47000580ffff000000040000000000c66c3c5900 {
	idrp-pref 20 gated-pref {
	all;
	};


Test the functioning using each of the PCs in the two interface configuration. Two, three, and four node tests should perfer one interface over the other. further work here

idrp-ps-policy-atts

The extended match condition tests are invoked by the idrp-ps-policy-att clauses in the import statement.

import proto idrp rdi 0x490137 local-net 0x47000580ffff000000040000000000c66c3c5900 {
        idrp-ps-policy-atts
        {
	 idrp pathway policy filter statements 
	 }
};
import proto idrp rdi 0x490137 local-interface 192.48.60.1 
        idrp-ps-policy-atts
        {
	 idrp pathway policy filter statements 
	 }

idrp_ps_policy_atts clause tests

The extended match tests will involve testing each of the clauses below to see that static, or route imported from idrp can be imported or rejected based on the policy.

Group 1 idrp_ps_route_option


For each of the clauses below go through the following sequence in a two machine test, three
machine tests, and 4 machine tests.  For each clause the filter may have several settings.
For example, the  route-server  clause has



The  multi-exit  clause has the settings of





To test each of the setting do the following with the node:
 
    1. start up the node with the filter on
       
      See that the node only imports routes with the filter.
      Some routes sent from the other node should include the filter,
      some routes should not.
      
      
      
    2. add the filter after routes have been accepted
      
      
    3. after routes have been accepted, do a reconfiguration to filter out routes for without the setting
     Clauses 
    
    
    1. routeserver yes/no;
    2. ext-info null/restrict
    3. hierarch_rec null/restrict
    4. multiexit null/restrict/ [number compare] value
    5. hopcount [number compare] value
     number compare   is  [<= | >= | = | != | > | < ]  value 
    
    

    Group 2 NET options

    
    Each of the NET options filters clauses below go through the test sequence specified for
    
    nexthop
    	net osi-address
    	net osi-address snpa idrp-snpa
    	gw host (ip or osi)
    	intf host (ip or osi)  
    
    
    
    

    Group 3 QOS options

    
    Same tests as Group one with Capacity of the QOS option
    (until we get QOS functioning).
    

    1. delay [Null | restrict | [number compare] value ]
    2. rdle [Null | restrict | [number compare] value ]
    3. expense [Null | restrict | [number compare] value ]
    4. priority [Null | restrict | [number compare] value ]
    5. capacity [Null | restrict | [number compare] value ]
    
    

    Group 4 DIST options

    
    The group sets an import policy based on the DIST_LIST_INCL or
    the DIST_LIST_EXCL value in the RDI.  The tests should test 
    to see that routes can be created with a DIST_LIST_INCL
    and then tagged with the correct policy.  This should
    occur with static routes imported into IDRP for the local node,
    from a node in the same routing domain, and from an external peer.
    

    The format for the commands is:

    
    	dist-list-incl { rdi-1 rdi-2.. rdi-n }
    
    	dist-list-excl {rdi-1 rdi-2 ..rdi-n}
    
    
    
    
    

    idrp-ps-policy-att Combined tests

    The next set of tests should combine 2, 3, and many of these attributes to create filters.

    Tests with combinations of two

    
    

    Test 1

    import proto idrp rdi 0x490120 idrp-ps-policy-att { router-server restrict; multiexit >= 25; } { all; }

    Test 2

    import proto idrp rdi 0x490120 idrp-ps-policy-att { net 0x49012344567789012345678901234567890afbec snpa 0x12345678; hopcount < 20; } { all; }

    Test 3

    import proto idrp rdi 0x490120 idrp-ps-policy-att { net 0x49012344567789012345678901234567890afbec snpa 0x12345678; hopcount < 20; } { all; }

    Test 4

    import proto idrp rdi 0x490120 idrp-ps-policy-att { router-server on; capacity < 2; } { all; }

    Example of Test with combinations of Man

    import proto idrp rdi 0x490120 idrp-ps-policy-att { router-server restrict; extinfo; multiexit >= 25; net 0x49012344567789012345678901234567890afbec snpa 0x12345678; gateway 35.42.1.42; interface 35.42.1.75; hopcount < 20; capacity < 2; }