Protocol testing for a particular protocols includes:
For example (give bgp and rip example.)
(Here we need to go into the matrix, and refer to the the matrix below.)
Multiple protocols may be defined in a gated.conf file. Machines may be defined as neighbors or peers in any or all of these.
IDRP, BGP, and EGP communicate between AS (RDI). Export can be restricted based on external peers and/or AS paths. Thus there can be multiple export statements. The IDRP configuration file generator uses a "loop" of defined peers to generate the export statements.
RIP and OSPF work entirely within a single AS. RIP identifies places to export with "interface-gateway" information. Specifying "nothing" means export everything to everyone. An export statement containing a specific interface or gateway automatically restricts exporting to that statement; all other interfaces and gateways are closed unless specifically configured as well. There is only one RIP export statement with its list of interfaces and gateways. "Interface" is a port to a machine, with a unique address; "gateway" is a peer.
OSPF has two "types" of routes - type 1 and type 2. There can be one export statement for each type. Other than that, all specified routes go to all peers in the AS. There is no restricting export among peers.
Currently, the IDRP config file generator uses keywords "all", "some", or "none" for defining ISO and IP static routes for a particular gated.conf file. The list is generated based on information in the machine map file.
The proposed new approach is to have a file indexed by machine name and by "route sets". Route sets can contain any number of any type of routes. Each test set in the high-level .cfg file will reference a route set. The generator will use the machine name and route set to look up the routes and place them in the generated gated.conf file.
Thus, for example, a route set file might look like this:
elvis 1 128.1 128.2 128.3 128.60 dunes 1 128.1 128.2 128.3 128.40
The gen_config tool will need to be enhanced to support protocols other than IDRP. This will probably mean some additional keywords and predefined variables. Most specialized language can be taken care of with templates and user-defined variables, but import/export will need some modifications.
Further modification will be necessary to add "route set" capability, but this should be a relatively simple process.