aoe(1)

NAME
aoe (Autonomous System Object Editor)

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

DESCRIPTION

aoe is a C++/Tcl/Tk program that displays the aut-num object for <as-no>. aoe organizes the display into four parts:

a "Peer List" on the left hand side for listing peer ASes and one of them will be selected to restrict policy editing only to that peer;

a "Policy Generation Area" on the middle right hand side for editing the import, export and default attributes for the selected peer;

a "Peer's Policy Area" on the bottom right hand side for displaying the selected peer's policy for your AS;

an "aut-num Area" on the top right hand side for displaying the aut-num object for <as-no> and for hand editing attributes including the administrative attributes. aoe simplifies the creation of aut-num objects by employing some heuristics to add and modify import and export attributes.

For example, given a BGP dump from a router inside <as-no>, aoe parses the AS_PATH attributes in the BGP dump, and determines the peer ASes by taking the first AS number in the AS_PATH attributes, and the import policies for each peer AS by taking the last AS number in the AS_PATHs that start with the peer's AS number.

A template based mechanism is provided for users to create their own heuristics to augment the heuristics that we provide. aoe can register the aut-num object in the IRR after editing is done. If <as-no> is not specified it is deduced for your system from the IP address of your host and IRR. If originating <as-no> of your host's IP address is not found in IRR, aoe will issue the error.

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>.

    -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. (default)

OTHER OPTIONS

    -as <as-no>
        Gets aut-num object for <as-no>.

    -rcfile <resource filename>

    -display <X Windows Display Specification>

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.

USAGE

Invoke aoe using your AS number,
	% aoe AS226
aoe will acquire the aut-num object from the IRR and display the list of peers in the "Peer List". Each AS number in this list is followed by the following indications: IRR, BGP, and NEW. The indication IRR means that the peer is derived from the policy in the aut-num object by inspecting the import and export attributes. Please note that as-sets and peering sets fill be expanded to get actual peers. The indication BGP means that the peer is derived from an AS_PATH attribute in a BGP dump. The indication NEW means that the peer is created manually by the user.

BUTTONS

    Delete Peer
        This button is located at the bottom of "Peer List". It is used to delete the selected peer from the "Peer List" and the associated policies from the "aut-num Area".

    Add Peer
        This button is located at the right hand side of the "Delete Peer" button. It allows users to add new peers manually. There will be a NEW indication next to the created peer.

    Edit
        This is a toggle button and located below the "aut-num Area". It is used to enable/disable the editing of "aut-num Area". When this button is clicked, the label for this button will become "Edit Done!" which means that if it is clicked again, the manual editing will cease. Be sure to click "Edit Done!" button before clicking any others else, otherwise, users will lost the changes. After clicking "Edit Done!" button the syntax of the object in the aut-num area will be checked. Warning message will pop up if any syntax errors detected.

    Update IRR
        This button is located at the bottom right corner of the "aut-num Area". It is used to register the modified aut-num object in the "aut-num Area" in the IRR.

    Import
        This is a toggle button and located on the right hand side of "Policy Generation Area". It allows users to display/hide the import attributes of the current working aut-num object. It is useful when a user prefers working only on the export policies.

    Export
        This is a toggle button and located on the right hand side of "Policy Generation Area". It allows users to display/hide the export attributes of the current working aut-num object. It is useful when a user prefers working only on the import policies.

    Templates
        This is a pull-down menu with the following options:

        from IRR
            aoe displays the policy in the "Policy Generation Area" as registered in your aut-num object;

        from BGP Dump
            aoe generates the policy from the BGP dump;

        from Peer's aut-num
            aoe generates import policy from the export policy of the peer AS and export policy from the import policy of the peer AS;

        Provider
            aoe assumes that your peer AS is a provider AS. It generates policies so that your AS accepts any route from the peer AS, and announces only its own routes;

        Customer
            aoe assumes that your peer AS is a customer AS. It generates policies so that your AS accepts only the customer's own routes and announces all the routes;

        Transit
            aoe assumes that your AS and the peer AS provide transit service to each other. It generates policies so that all routes are imported from and exported to the peer AS.

        Non-transit
            aoe generates policies so that your AS accepts only the peer AS's routes, and announces only your own routes;

        Non-transit (AS_PATH)
            This is identical to the previous template but it generates policies using AS_PATH notation. Any one of the above templates can also be changed to use AS_PATH based policies by editing its template.

    Append
        This button is located on the right hand side of "Policy Generation Area". It appends the policy in the "Policy Generation Area" to the aut-num object in the "aut-num Area".

    Replace
        This button is located on the right hand side of "Policy Generation Area". It replaces the policies for the selected AS in the "aut-num Area" with the policies in the "Policy Generation Area".

    aoe logo
        This button is located at the right bottom corner of aoe display. It displays the down-loading information of aoe and IRRToolSet tools.

MENUS

    File/Save or F2
        A filename will be prompted. The content in the "aut-num Area" will be saved to this file.

    File/Save Peer List
        A filename will be prompted. The content in the "Peer List Area" will be saved to this file.

    File/Open or F3
        A filename will be prompted. The content of this file will be loaded and displayed in the "aut-num Area". This is useful as a template for the non-policy attributes, or for storing and retrieving intermediate results between aoe sessions.

    File/Load BGP dump
        A filename will be prompted. This file should contain the BGP dump from a router in your AS. For each AS_PATH in this file, aoe uses the first AS number to determine a peer AS and the last AS number to determine an AS whose routes are imported from this peer.

    File/Print
        A command for printing will be prompted. The content in the "aut-num Area" will be piped to this command.

    File/Quit or Alt-X
        This will end your aoe session.

    Configure/IRR update commands
        A dialog box displaying the IRRs and the corresponding update commands will pop-up. This dialog box can be used to select an IRR site for registration. To register your aut-num object, aoe will pipe the aut-num object in the "aut-num Area" to the update command for the selected registry.

    Configure/Policy templates
        There are "Add" and "Delete" buttons. The "Add" button is used to create new templates for import and export policies. When the "Add" button is clicked, a blank template will be appended to the existing templates. It allows the users to type in a new policy template. Within the templates, the macros "$MyAS" and "$PeerAS" can be used. The macro "$MyAS" expands to your AS number and the macro "$PeerAS" expands to the selected peer's AS number in the "Peer List". Be aware that these two macros are case sensitive. A template can be deleted by clicking on the radio button on its left followed by clicking on the "Delete" button.

EXAMPLE USES
The following two uses may be of interest: Say your aut-num object does not have any policies (or you do not have any aut-num object at all). Prepare a BGP dump from one of your routers with the most number of external routes (you can use "show ip bgp" on a cisco router to prepare this dump; other routers have similar commands). Run aoe using your AS number. Go to the file menu and load the BGP dump file. The list of peer ASes will appear on the "Peer List". Select each one of them one at a time. If your peer is a provider AS, click on the "Provider" template button and click on the "Append" button. If your peer is a customer AS, click on the "Customer" template button and so on. After specifying policies for all your peers, click on the "Update IRR" button to register your aut-num object.

Another example is when you have an aut-num object which is not up-to-date. Follow the above steps. After loading the BGP dump, examine the indications next to each peer. If a peer has an "IRR" indication but no "BGP" indication, it means that there is a policy registered for this peer, but aoe could not verify if the neighbor AS still peers with you. If the peering with this AS ceased, please use the "Delete Peer" button to delete this peer from your aut-num object. If a peer has a "BGP" indication but no "IRR" indication, no policy for this peer AS is present. Please use the appropriate template to register policy for this peer (as shown in first example). If a peer has both the "IRR" and the "BGP" indications, a policy for this peer is registered and the peering with this AS is still current. Please verify that the policies for this peer is up-to-date. After verifying and correcting policies for all your peers, click on the "Update IRR" button to register your aut-num object.

FILES
aoe creates a ~/.aoerc file which stores the templates, the update commands and the printing command. This file is not meant for hand editing.

ERROR AND WARNING MESSAGES
AS number should start with "AS"

    Syntax error with as-number. AS-number here should be AS<integer>.

Please point the peer in the listbox

    You are trying to execute an action on peer without a peer being selected. Select the peer in the Peer List area on the left.

Peer list is empty now!

    No peers to work with, because the peer list if empty. You can add them by Add Peer command or generate this list from BGP dump (by File->Load BGP Dump command).

Open pipe error with command: <command>

    TCL interpreter failed to execute the command <command>

Printing error!

    TCL interpreter failed to execute printing command

Writing setting error into resource file!

    Failed to write into the resource files. Check file permissions.

Writing comment error into resource file!

    Failed to write into the resource files. Check file permissions.

No peer to be displayed!

    You are trying to display the policy for the peer, but peer list is empty and aoe couldn't pick up any peer from there.

Nothing to be deleted!

    You are trying to delete the peer, but Peer List is empty.

For more error descriptions, please see Errors manual page.

AUTHORS
WeeSan Lee <wlee@isi.edu>

Cengiz Alaettinoglu <cengiz@isi.edu>

Katie Petrusha <katie@ripe.net>