Help File for the ARIN Routing Registry

This help file is also returned when you send e-mail to rr@arin.net


    HOWTO document for <rr@arin.net>.
    ---------------------------------------


    
    <http://www.arin.net/rr>
    <ftp://ftp.arin.net/rfc/rfc2280.txt>


    For information on querying the ARIN Routing Registry, use

		whois -h rr.arin.net HELP


    * Creating, Updating and Deleting an Object:

                Creating a new object:

                To create a new object, follow this procedure:

                *    generate the template;

                *     modify the template;

                *    send the object to the appropriate mailbox i.e.
                     <rr@arin.net> for new autonomous system
                     objects, <rr@arin.net> for new mntner
                     objects and <hostmaster@arin.net> for all other
                     objects.

                (1)  Getting the template:

                Use whois -t <type of object>.
                See below for details on how to obtain the
                template of any object.

                Example

                $ whois -h rr.arin.net -t mntner
                gives

	route:         [mandatory]  [single]    [primary/look-up key]
	descr:         [mandatory]  [multiple]
	origin:        [mandatory]  [single]    [primary/inverse key]
	holes:         [optional]   [single]
	withdrawn:     [optional]   [single]
	member-of:     [optional]   [single]    [inverse key]
	inject-at:     [optional]   [multiple]
	aggr-by:       [optional]   [single]    [inverse key]
	export-comps:  [optional]   [single]
	comm-list:     [optional]   [single]    [inverse key]
	advisory:      [optional]   [single]
	remarks:       [optional]   [multiple]
	notify:        [optional]   [multiple]  [inverse key]
	mnt-by:        [mandatory]  [multiple]  [inverse key]
	changed:       [mandatory]  [multiple]
	source:        [mandatory]  [single]


                (2) modification of the template;


                (i) Now fill in the appropriate details in the tem-
                plate.  Do not leave attributes with values such as
                "[optional]", or "[multiple]".

                (ii) Attributes which are mandatory should not 
                be empty.  Otherwise, the update will be rejected by
                the database software.

                (iii) Attributes which are optional may be left
                empty, but they will be removed by the database
                software.

                Example:

                route:    172.16.0.0/16
                descr:    ARIN 
	        descr:    3635 Concorde Parkway
		descr:    Suite 200
		descr:    Chantilly, VA 20151
		descr:    US

	        remarks:  


                The empty attribute "remarks" will be deleted by the
                database software.

                Attributes which are described in the template as
                "single" must be on only one line.

                Attributes which are described as "multiple" may be
                on more than one line, but the attribute name must
                be at the beginning of each line.

                The "descr" attribute in the route object is an
                example of an attribute that may be multiple.


                route:       172.16.0.0/16
                descr:       ARIN 
                descr:       3635 Concorde Parkway
                descr:       Suite 200
	        descr:       Chantilly, VA 20151
                descr:       US



                (iv) If you are completing a route template or want
                to reference an admin-c or tech-c with a registry
                handle , you should use an ARIN handle 
		or another registry's handle. Please use the appropriate
		registry suffixes (JS1-ARIN, JS1-RIPE, etc) when 
		referencing handles from those registries.
	        You can 
                use these handles from other registries such as the
                InterNIC if you are also registered there.  NIC-han-
                dles will give you a unique identifier attached to a
                person which you can use as a reference.  This
                avoids problems with different persons having the
                same name.  


                (v)  Put your e-mail address and today's date in
                the "changed" attribute.  The format of the date
                must be YYYYMMDD.

		     Example: dawnm@arin.net 19980429

                (vi) use of "mnt-by" attribute;

                You can protect your objects with maintainer objects
                by adding a `mnt-by:' attribute. For some objects
                this is even mandatory.  Put the name of the main-
                tainer object in the "mnt-by" field

                Example:

                route:        172.16.0.0/16

                mnt-by:       MNT-ARIN




                More information on maintainer objects may be found
                below

                (vi) use of the keywords "NEW" and "ASSIGN";

                You can ensure that the database will only accept
                your object if it is not already in the database by
                using the keywords "NEW" and "ASSIGN".

                Put "NEW" in the `Subject' line of your e-mail if
                you want the database to only accept new objects.
                Use the keyword "ASSIGN" if you want the database to
                only accept new inetnum objects.

                Note: at the moment, these keywords are case insensi-
                tive.  Avoid putting strings such as "Old route
                object with new address" or "Re-assign address
                space" in your `Subject' line.

                (3) send the object to the appropriate mailbox.


                <rr@arin.net>:

                <rr@arin.net> is an automatic mailbox and all
                e-mails that create, update or delete objects (see
                above for exceptions) should be sent to this
                address.

                If you require a detailed acknowledgement, put the
                keyword "LONGACK" in the `Subject' line of your e-
                mail.

                You will always receive an acknowledgement, even if
                "LONGACK" is not in the `Subject' line.  In the event 
                that you do not receive an acknowledgement,  your
                e-mail address may be  unknown and therefore
                the acknowledgement mail has bounced or has been
                lost.


                <rr-qa@arin.net>:

                Questions and bug reports should be sent to <rr-qa
                @arin.net>.  You are recommended to send as much
                information as possible.


          Updating an existing object:


                How to update an existing object

                This is done by sending in the new object. One way to
                do this is to get a copy of the old object, change or
                add the fields you want to change or add, and then put
                a new 'changed:' attribute in the object.

                Here are the steps in more detail:

                (1) Get a copy of the existing object; you can do
                this using

                whois -h rr.arin.net <search string> > Temporary-File

                Example:

                $ whois -h rr.arin.net 172.16.0.0/16 > update-file

                (2) Load the TemporaryFile into your favorite editor
                and make your changes or additions to the object. It
                is recommended to use handles instead of the
                person names for references to objects to
                guarantee that your object points to a single per-
                son. See above  for more information.

                It is wise to delete the old object before adding 
		the new objects because
                the database treats route objects with the
                same "prefix length" representation, but with dif-
                ferent origins as different route objects;

                If you do not delete the old objects first, then the
                database will see the old and new objects as differ-
                ent objects and the update request will be treated
                as the creation of a new object instead of an update
                of the old object. 

                (3) Add a "changed" attribute. This attribute has
                the following syntax :

                changed: E-mailAddress Date

                where 'E-mailAddress' is an RFC822 E-mail address
                specifying who made the change and 'Date' is the
                date of the change in either YYYYMMDD or YYMMDD for-
                mat.

                (4) Send your message to <rr@arin.net>.

                (5) You will receive an acknowledgement.  If you
                send in an object that is identical to one that is
                already in the database, the acknowledgement message
                will say "NOOP" meaning "NO OPeration"; i.e. the
                object in the database is not modified.


    *  Deleting an object:

                This is done by sending in the whole object just
                like an update and adding a special attribute,
                'delete', to it:

                delete: <free text>

                It is recommended that the reason for deleting the
                object be put as the value of the delete attribute.

                Example:

                route:      172.16.0.0/16
                descr:       ARIN 
                descr:       4506 Daly
                descr:       Suite 200
                descr:       Chantilly, VA 20151
		remarks:     an example /16 backbone route
                origin:	     AS64513
		mnt-by:	     MNT-ARIN
                changed:     js1@arin.net 970110
                source:      ARIN
                delete:      delete this stale route object.


                You can find objects that  reference a
                certain contact by doing a '-i' query; see 
                above.

                Example:

                % whois -h rr.arin.net -r -i tech-c,admin-c BK1-ARIN

                Some people might have used their name as a refer-
                ence instead of their NIC-handle, so you should also
                perform a whois query on that.

                If you're not sure that you were the only one refer-
                encing a certain object, do NOT delete that
                object. It will not affect the database very
                much if there are some obsolete objects.
                Authorization, notification and acknowledgement mes-
                sages for deletes are handled exactly the same way
                as for ordinary updates.


    *   Warning and Error messages:

                The syntax of all objects sent to <rr
                @arin.net> is rigorously checked.  Acknowledge-
                ment messages are generated by these syntax checks.

                (a) You will always receive an acknowledgement that
                your update has been received.

                (b) If there are no mistakes in your update, you
                will receive an acknowledgement message saying "No
                errors were found in your update".

                (c) Minor, but not fatal mistakes will be corrected
                and the object will be accepted into the database.
                The acknowledgement message will indicate what cor-
                rection was made.

                Example: suppose this object is sent to <rr
                @arin.net>.


                aut-num:        AS64513

                changed:  js1@arin.net


                The following warning message would be generated:

                WARNING: added current date to "changed" field.

                (d) Fatal mistakes will not  be corrected and
                the object will not be accepted into the
                database.  An acknowledgement message will be sent,
                which will identify the error.

                Example: suppose this object is sent to <rr
                @arin.net>.

                route:       193.0.0.139/32
                descr:       x1.arin.net
                origin:      AS3333
                changed:     js1@arin.net 961221
                source:      ARIN

                The following warning message would be generated:
                --------------------------------------------------------
                Update FAILED: [route] 193.0.0.139/32
                route:       193.0.0.139/32
                descr:       x1.arin.net
                origin:      AS3333
                notify:      js1@arin.net
                changed:     js1@arin.net 961221
                source:      ARIN
                *ERROR*:     mandatory field "mnt-by" missing


                Objects that just generated a WARNING have been updated and processed.