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.