RDI Export Tests for IDRP in GateD

Basic RDI (ADVFT_RDI) 2 machine tests

Group 1- External Peers with Delta routes


The "top-level" match conditions (no ADVFT_PS tests; in the
parser, this means that "idrp_export_optional_info" is empty):


Test 1 External peers, no route passage

Setup

  1. Each node have distinct static routes defined in the address" document".
  2. Each node has the following export statement in each configuration file
    
    export proto idrp rdi aa restrict;
    
    
    where the RDI parameter aa is set to be the RDI of the other machine.

  3. Two machines configured as external" peers of each other.

    (For addresses of the machines see addresses" document.

Expected Result

No routes exported from the other machine (no change to the routing tables).

Test 2 External peers, all routes passed


Setup


  1. Each node have distinct static routes defined in the address" document".
    
    
  2. Each node has the following export statement in each configuration file
    
    export proto idrp rdi aa  {
    		proto idrp rdi any {
    		         all;
    			ip all;
    		      	 };
    		proto static {
    			all;
    			ip all;
    			};
    
    		};
    

    where the RDI parameter aa is set to be the RDI of the other machine. This differs from differs from Test 1 by having an "all" instead of an "all restrict".

  3. Two machines configured as external" peers of each other.

Expected Result

All routes of the "other" machine will be exported. The routing table on each machine should have *all* of the statics of both config files.

Test 3 External peers with nlri specified

Setup


  1. Each node have distinct static routes defined in the address" document".
    
    
  2. Each node has the following export statement in each configuration file
    
    export proto idrp rdi aa  {
    
    		proto idrp rdi bb { 
    			128.1;	  # 1st IP nlri of node's configuration 	
    			128.2;	  # 2nd IP nlri of node's configuration 	
    			128.3;	  # 3rd IP nlri of node's configuration 	
    			49.0101;  # 1st nlri of node's configuration
    			49.0102;  # 2nd nlri of node's configuration
    			49.0103;  # 3rd nlri of node's configuration
    			all restrict;
    			ip all restrict; 
    		      	 };
    		proto static  {
    			128.1;	  # 1st IP nlri of node's configuration 	
    			128.2;	  # 2nd IP nlri of node's configuration 	
    			128.3;	  # 3rd IP nlri of node's configuration 	
    			49.0101;  # 1st nlri of node's configuration
    			49.0102;  # 2nd nlri of node's configuration
    			49.0103;  # 3rd nlri of node's configuration
    			all restrict;
    			ip all restrict; 
    		      	 };
    		}
    
    
    where the RDI parameter aa is set to be the RDI of the _other_ machine.
  3. Two machines configured as external" peers of each other.

Expected Result

All routes of the "other" machine will be exported. The routing table on each machine should have *all* of the statics of both config files.

Test 4 External peers with specified nlri restricted

Setup


  1. Each node have distinct static routes defined in the address" document".
    
    
  2. Each node has the following export statement in each configuration file
    Machine A 
    
    export proto idrp rdi aa  {
    	proto idrp rdi any { 
    		128.1 restrict;	  # 1st IP nlri of node's configuration 	
    		128.2 restrict;	  # 2nd IP nlri of node's configuration 	
    		128.3 restrict;	  # 3rd IP nlri of node's configuration 	
    		49.0101 restrict;  # 1st nlri of node's configuration
    		49.0102 restrict;  # 2nd nlri of node's configuration
    		49.0103 restrict;  # 3rd nlri of node's configuration
    		all;
    		ip all; 
    		};
    	proto static { 
    		128.1 restrict;	  # 1st IP nlri of node's configuration 	
    		128.2 restrict;	  # 2nd IP nlri of node's configuration 	
    		128.3 restrict;	  # 3rd IP nlri of node's configuration 	
    		49.0101 restrict;  # 1st nlri of node's configuration
    		49.0102 restrict;  # 2nd nlri of node's configuration
    		49.0103 restrict;  # 3rd nlri of node's configuration
    		all;
    		ip all; 
    		};
    	};
    
    

    where the RDI parameter aa is set to be the RDI of the _other_ machine.

  3. Two machines configured as external" peers of each other.

Expected Result


All routes of the "other" machine will be exported.  The routing table on each machine should have *all* of the statics of both config files.

External Peer tests repeated with Rib Refresh

Test 5 External peers with no routes passed

This test repeats Test 1 using a Rib Refresh to update routes.

Test 6 External peers with all routes passed

This test repeats Test 2 using a Rib Refresh to update routes.

Test 7 External peers with some routes passed (nlri & all)

This test repeats Test 3 using a Rib Refresh to update routes.

Test 8 External peers with some routes passed (nlri & all restrict)

This test repeats Test 4 using a Rib Refresh to update routes.

Internal Peer Tests with Delta Routes

Test 9 Internal peers, no routes pass


Setup


  1. Each node have distinct static routes defined in the address" document".
    
    
  2. Each node has the following export statement in each configuration file
      
    
    
    export proto idrp rdi aa  { 
    		proto idrp rdi any {
    			ip all restrict;
    		         all restrict;
    		      	 };
    		proto static {
    			ip all restrict;
    			all restrict;
    			};
    	};
    
    where the RDI parameter aa is set to be the RDI of the _other_ machine.
    
    
  3. Two machines configured as external" peers of each other.
    
    

Expected Result

All routes of the "other" machine will be exported.  The routing table on each machine should have *none* of the statics of
both config files.



Test 10 Internal peers, all routes pass


Setup


  1. Each node have distinct static routes defined in the address" document".
    
    
    export proto idrp rdi aa  {
    		proto idrp rdi any {
    			ip all;
    		         all;
    			}
    		proto static {
    			ip all;
    			all;
    			}; 
    		};
    
    where the RDI parameter aa is set to be the RDI of the _other_ machine. This differs from differs from Test 9 by having an "all" instead of an "all restrict".
    
    
  2. Two machines configured as internal" peers of each other.
    
    

Expected Result

All routes of the "other" machine will be exported.  The routing table on each machine should have *none* of the statics of
both config files.



Test 11 Internal peers, some routes pass (nlri passed, all restricted)


Setup

  • Each peer has an NLRI lists in the export statements which includes all of the "other" peer's static routes.
    If A has static routes A1, A2, ... Aj.
    If B has static routes B1, B2, ... Bj. 
    
          export proto idrp rdi  {
    	proto idrp rdi any {	
    	     B1; 
    	     B2;
    	     ... Bj; ...
    	     all restrict;
    	ip all restrict;	
    	      };
    
    	proto static {
    	     B1;
    	     B2; 
    	    ... Bj; ..
    	    all restrict;
    	    ip all restrict;
    	}
         }        	
    		
    
    
  • Two machines configured as internal" peers of each other.
    
    
    

    Test 12 Internal peers, some routes pass (nlri restricted, all )

    
    

    Setup

    
    
    1. Each node have distinct static routes defined in the address" document".
      
      
    2. Each peer has an NLRI lists in the export statements which includes all of the "other" peer's static routes.
      If A has static routes A1, A2, ... Aj.
      If B has static routes B1, B2, ... Bj. 
      
      Machine A
      
            export proto idrp rdi  {
      	proto idrp rdi any {	
      	     B1 restrict; 
      	     B2 restrict ;
      	     ...
      	     Bj restrict ; ...
      	     all;
      	     ip all ;	
      	      };
      
      	proto static {
      	     B1 restrict; 
      	     B2 restrict ;
      	     ...
      	     Bj restrict ; ...
      	     all;
      	     ip all ;	
      	      };
      	};
      
      
      
    3. Two machines configured as internal" peers of each other.

    Expected Result

    Only the allowed NLRI will be added to the routing tables; in general, the two routing tables will be different.

    All routes of the "other" machine will be exported. The routing table on each machine should have *all* of the statics of both config files.

    Test 13 Internal peers, no routes pass

    Test 9 run with Rib Refresh instead of Delta routes.

    Test 14 Internal peers, all routes pass

    Test 10 run with Rib Refresh instead of Delta routes.

    Test 15 Internal peers, some routes pass (nlri, all restricted)

    Test 11 run with Rib Refresh instead of Delta routes.

    Test 16 Internal peers, some routes pass (nlri restricted, all )

    Test 12 run with Rib Refresh instead of Delta routes.

    Group 2 Basic RDI tests with metric set on export lines

    Repeat above tests in Group 1 with these modifications to the export stanzas metric value-1 on export lines.

    
    
    export idrp rdi aaa metric 10 {
    	(what is filled in from Group-1)
    	};
    
    

    Expected Results

    Routing tables as for original tests. Gated and/or IDRP preferences for *all* exported routes will be set as specified in the export stanza.

    Set-up

    Metric values should be not equal to the defaults.

    NO NLRI-specific preferences should be equal to any preferences set at the opening of the import stanza. Not all NLRI should have a specific preference. Export stanzas should be set up to allow exporting least one default value to be generated by a valid import() call.

    Expected Results

    
    Routing tables will be the same as in the original test.
    

    Basic RDI (ADVFT_RDI) Multi-machine tests

    1. The tests under specified above can be repeated with following topological variants specified in the Basic IDRP testing document.
    2. The tests for preference can be interesting in that a single machine can now receive the same NLRI from various other machines and, based on policy, select one machine over another (e.g., internal peer over external, etc.).

    Group 3 Basic RDI tests with metric set on export lines

    Repeat Group 1 tests with with rdi = any in the following export caluses.

    Expected Results

    Routing Tables should be the same is in Group 1.

    Group 4 Basic RDI tests with Multi-machines.

    Using the machine layouts listed for multiple tests, export to

    • one RDI and not the rest
    • two RDIs and not 3rd
    • All rdis, but prefer 1 RDI's routes
    The sequences in Group 1 should be used with the export statements that provide these tests.