CIDRAdvisor(1)

NAME
CIDRAdvisor - suggests safe cidr aggregates (i.e. those that do not violate any policy constraints) that an AS can advertise to each of its neighbour ASes.

SYNOPSIS
CIDRAdvisor [flags] [<as-no>]

DESCRIPTION

CIDRAdvisor examines the address prefixes of <as-no> and the polices registered in the IRR and identifies aggregates that do not violate any policy constraints. If <as-no> is not specified it is deduced for your system from the IP address of your host and IRR. The amount of policy and topology considered by the tool in forming the aggregates is configurable as described below. The tool computes aggregates that can be safely advertised by an AS to each of its neighbours. An AS encountered during the computation of the aggregates for a particular neighbour AS, X is said to be at distance k if it is k AS hops away from X (considering the shortest path from that AS to X that does not go through the aggregator). Note that X is at distance 0 from itself by the above definition. The tool can be made to examine policies of only those ASes within distance k from the neighbour X (in addition to examining the aggregator's policies) by setting a parameter called radius to k. The definition of radius has been extended to contain -1 and -2. For radius -1, only the aggregator's policies are examined while for radius -2 policies are not examined in forming the aggregates. A radius of infinity is denoted as -3 in which case the policies of all the ASes in the Internet are examined. If the address prefixes of the aggregator AS that can be aggregated are multihomed then for each such address prefix the program asks the user if it should be included in the aggregate. If it can be included the user must type 'y' in response to that question otherwise it is not considered for aggregation. An option is provided to include all such multihomed address prefixes in the aggregates. In the case of proxy aggregation it ensures that the address prefixes being proxy aggregated are reachable only through paths via the proxy aggregator. This is so that there are no policy violations by the formed aggregates due to longest match routing. The program outputs the best possible aggregation that can be done with the given address prefixes. In addition it prints for each neighbour the aggregates that can be advertised to it without violating the policy constraints of ASes within the specified radius .

IRRToolSet COMMON OPTIONS

    -help
        Print summary of command-line options and abort.

    -T [whois_query | whois_response | input | all]
        Trace the argument. Useful for debugging.

    -D <integer>
        Print debugging messages of debug channel <integer> (if compiled with DEBUG defined).

    -version
        Print the version number and quit.

    -h <host-name>
        Establish a whois connection to host <host-name>. The default is whois.radb.net.

    -p <port-no>
        Establish a whois connection to port <port-no>. The default is 43.

    -protocol <protocol>
        Use the <protocol> to connect to the IRR server. <protocol> can be irrd(rawhoisd), ripe(bird), and ripe_perl. The default is irrd. The ripe_perl option should be used with the old ripe server.

    -s <source-list>
        Consider the sources specified in the comma separated <source-list>. If an object is defined in multiple sources in <source-list>, CIDRAdvisor uses the definition first encountered in <source-list> from left to right.

    -rusage
        Print resource usage upon completion.

    -ignore_errors
        Do not print error and warning messages due to communication to the database server or parsing policy objects.

    -report_errors
        Print error and warning messages due to communication to the database server or parsing policy objects.

OTHER OPTIONS

    -as <as-no>
        Specifies the AS which is performing the aggregation.

    -proxy <proxy-list>
        Specifies a comma separated list of ASes whose addr prefixes are to be proxy aggregated.

    -radius <radius>
        Configures the amount of policy and topology considered. See description.

    -incl_multihomed
        Consider all multihomed address prefixes of the aggregator AS for aggregation.

ENVIRONMENT VARIABLES

    IRR_HOST
        Specifies the IRR host to connect.

    IRR_PORT
        Specifies the IRR port number to connect.

    IRR_SOURCES
        Specifies the source list (comma separated) to consider.

Command line options take precedence over environment variables.

EXAMPLES

	% CIDRAdvisor -as AS226 -radius -1
	196.2.40.0/24
	Origins:
	AS174 AS1220 AS226
	Can the address be aggregated?y
	196.2.41.0/24
	Origins:
	AS174 AS1220 AS226
	Can the address be aggregated?y
	Best possible aggregation:
	196.2.40.0/23
	Components:
	196.2.40.0/24 ( AS226 )
	196.2.41.0/24 ( AS226 )
	198.178.204.0/23
	Components:
	198.178.204.0/24 ( AS226 )
	198.178.205.0/24 ( AS226 )
	199.249.180.0/23
	Components:
	199.249.180.0/24 ( AS226 )
	199.249.181.0/24 ( AS226 )
	AS226->AS2150
	196.2.40.0/23 198.178.204.0/23 199.249.180.0/23
        % CIDRAdvisor -as AS5400 -proxy AS1922,AS2605,AS1902 -radius -3
	Best possible aggregation:
	192.108.132.0/22
	Components:
	192.108.132.0/22 ( AS1922 )
	192.108.134.0/24 ( AS2605 )
	192.108.135.0/24 ( AS1902 )

	  . . .
	AS5400->AS2611
	192.108.134.0/23 . . .

ERROR AND WARNING MESSAGES
Unknown protocol!

    Connection to IRR host failed. This can be caused by various reasons, see Errors manpage, IRR Communication errors.

No autnum for AS <source_as>

Warning: No autnum record found for AS

    Aut-num object for <source_as> cannot be found on specified IRR for specified source(s). You might mistype the source, host or AS-number, or the object is non-existent.

For more error descriptions, please see Errors manual page.

AUTHORS
Satish Kumar <kkumar@isi.edu>