IRRToolSet(1)IRRToolSet(1)NAME
IRRToolSet error and warning messages
DESCRIPTION
The goal of this document is to clarify the possible errors you may
encounter when using IRRToolSet. Some of these errors are listed on the
manual pages for the tools. If you didn't find the error on the manual
page of the tool you were using, please refer to this page. Some errors
with obvious explanation are listed here for reference, but to not have
any documentation. Still, if description is unclear or unsufficient,
please report to irrtoolset@lists.isc.org.
IRR communication errors
Command errors
Error: unknown irr protocol <protocol>, using irrd
known protocols: irrd(rawhoisd), ripe(bird)
The protocol specified with "-protocol" option is unknown or not
supported. Use one of the known protocols to connect to IRR
server. This option is case-insensitive. This is important which
protocol to use, because some client/server protocols are incom‐
patible, and you can get wrong result. Check IRR server documen‐
tation and use the protocols which are compatible with it.
Please note that there are 3 protocols supported, and the rest
are aliases (rawhoisd is the same as irrd and bird is the same
as ripe).
System errors
Error: gethostbyname (<hostname>) failed.
Error: socket() failed.
Error: connect() failed.
Error: fgets() failed.
Error: fread() failed.
Error: fwrite() failed.
Connection to <host><port> failed!
There could be several reasons for this error: host is unreach‐
able, or some packet filtering is on and you can't send the
packets, or the server may be not responding. Check your network
setup and host reachability.
Warning: setsockopt SO_KEEPALIVE failed!
All protocols supported by IRRToolSet use a persistent connec‐
tion to the IRR server. When the socket for IRR connection is
created, the SO_KEEPALIVE option is set to enable a persistent
connection (the client needs to check continually that the des‐
tination is still alive). See setsockopt(2) manual page for
details about possible failures.
IRR-specific errors
Error: setting source to <sources> failed.
One (or several) sources from <sources> list are not found on
IRR server. If the source setting for IRR server failed, the
source list will be default one. Check IRR server documentation
for the proper command to get the list of all available sources
and default sources. This check is only implemented for
irrd(rawhoisd). If you mistyped the source name, re-run the pro‐
gram using "-s <sources>" option.
Error: current source setting is <sources>.
This is rather informational message, preceeded by error message
about failed sources setting. It shows the source list which is
used currently by the program for querying. If you want to mod‐
ify this list, use "-s <sources>" option.
Warning: irrd(rawhoisd) does not yet support rtr-set expansion.
Although as-set and route-set expansion is an internal feature
of irrd, rtr-set expansion is not implemented yet. In IRRToolSet
it is done by external functions, but it still works. So you can
safely ignore this warning, this is just a reminder to keep an
eye on irrd development and update the code to use internal fea‐
ture when it is implemented.
Warning: key not found error for query <last_query>
Object not found in the database for specified sources.
<last_query> specifies the actual query to the server which
returned to objects. The reason can be:
· object, source or host name are mistyped and therefore object
cannot be found;
· this is true error and you're referencing non-existent object,
which is supposed to be in the database; check your objects
and policy description.
Warning: no byte count error for query <last_query>.
irrd server returns the length of the reply for successful
queries with "A<reply length in bytes including newlines>". The
program is expecting it if query is successful. If it is not
received, the warning is issued. This error can also indicate
protocol/server incompatibility (for example, RIPE whois server
with irrd protocol). Please check IRR server documentation for
details.
Warning: no end of data line error for query <last_query>.
After a successful query irrd server issues special "end of
data" command, "C". If it is not received after <length of
reply> bytes of data, the program complains. This can indicate
that query was broken, or incomplete, or some other server error
occured. Please check IRR server documentation for details or
ask IRR server administration for help.
RPSL parser errors
Lexer errors
Error: unknown class <yytext>
Wrong first attribute of the object. This attribute is consid‐
ered RPSL class name, and determines the object type. The rest
of object's attributes can have any order, but the first one
should be on the first place.
Error: unknown attribute <attr> of class <class>
Wrong attribute of the object. The attribute is a string fol‐
lowed by ":" which describes the type of data after ":". Object
consists of "attribute:value" pairs. For more information on
RPSL classes, see RFC 2622.
Error: Non-ASCII character encountered
Error: unterminated string encountered
Error: octal escape sequence is out of bounds
Error: bad octal escape sequence
Warning: attribute <attr> of class <class> is now obsolete.
This attribute is described in RPSL dictionary as valid RPSL
attribute, but it is now obsoleted and should not be used any
longer. See RFC 2622 for more information about RPSL attributes.
Parser errors
Error: syntax error
String starts with non-attribute or object is incomplete.
Error: "changed: <email> <YYYYMMDD>" expected
Wrong "changed" attribute. <email> is e-mail address in RFC 822
format, <YYYYMMDD> is a date.
Error: argument to <name> should match <match>
Syntax for some RPSL attributes is defined by regular expres‐
sions. The error indicates that attribute's value didn't match
the regular expression.
Error: argument to <name> should be <match>
Generic RPSL attributes have fixed syntax, and exact match is
expected.
Error: argument to <name> should be blob sequence.
Indicates a syntax error in "auth" attribute specification.
Warning: unknown protocol <string>, BGP4 assumed.
Unknown protocol specified in import/export policy. Defaults to
BGP4. The known protocols are listed in RFC 2622, Dictionary
section.
Error: from <peering> expected.
Syntax error in "import" attribute specification. See RFC2622
for more details about "import" attribute syntax.
Error: to <peering> expected.
Syntax error in "export" attribute specification. The syntax
for "export" attribute is symmetrical for import, with changes:
from->to, accept->announce. For more details see RFC2622.
Error: badly formed filter/action or keyword NETWORKS/ACTION missing.
Syntax error in "default" attibute specification The syntax for
"default" attribute is:
default: to <peering> [action <action>]
[networks <filter>]
For more details see RFC2622.
Error: TO <peer> missing.
Syntax error in "default" attribute specification. Please see
"default" attribute syntax above.
Error: badly formed filter.
Syntax error in RPSL filter specification. RPSL filter is an
expression over AS-number, prefixes, AS-sets, range operators
etc. When applying to a set of routes, it returns the resulting
set of routes matched by this filter. There are several types of
RPSL filters - prefix filters, AS_path filters, etc. For more
details, see RFC2622.
Error: in action specification.
Syntax error in action specification. "Action" keyword specifies
the action to be executed if the route is matched by the filter.
The general "action" syntax is:
action <rp_attribute> <method> (<rp_method_arguments>);
| action <rp_attribute> <operator> <argument>;
For more details see RFC2622.
Error: integer mask length expected.
The integer mask length is a number of bits taken by network
number.
Error: MASKLEN <length> expected.
Syntax error in "ifaddr" attribute specification. The syntax
for "ifaddr" attribute is:
ifaddr: <ipv4-address> masklen <integer> [action <action>]
Error: <ip_address> MASKLEN <length> [<action>] expected.
Syntax error in "ifaddr" specification. See "ifaddr" attribute
syntax above.
Error: unknown protocol <protocol>.
Unknown protocol in peer specification. Known protocols are:
BGP4 (default), OSPF, RIP, IGRP, IS-IS, STATIC, RIPng, DVMRP,
PIM-DM, PIM-SM, CBT, MOSPF.
Error: protocol <protocol> does not have option <option>
This option is not defined for this protocol in RPSL dictionary.
For defined protocols and options, please see RPSL dictionary
description in RFC2622.
Error: mandatory option <option> of protocol <protocol> is missing.
The mandatory option for this protocol is missing. For defined
protocols and options, please see RPSL dictionary description in
RFC2622.
Error: in peer option.
Syntax error in "peer" attribute. This attribute describes
router's peering. The syntax is:
<protocol> <ipv4-address> <options>
| <protocol> <inet-rtr-name> <options>
| <protocol> <rtr-set-name> <options>
| <protocol> <peering-set-name> <options>
Where:
<protocol>
is any of the protocols supported by RPSL dictionary,
e.g. BGP4.
<ipv4-address>
is a valid IPv4 address in "dot" decimal notation,
e.g. 1.1.1.1
<inet-rtr-name>
is a name of "inet-rtr" object, e.g fully qualified
DNS name without trailing "." (RFC1034). It should not
exceed 254 characters.
<rtr-set-name>
is a name of "rtr-set" object. Consists of letters,
digits, the underscore "_" and hyphen "-". Starts with
"rtrs-" prefix, and the last character of a name must
be a letter or a digit.
<peering-set-name>
is a name of "peering-set" object.It has the same syn‐
tax as "rtr-set" object's name above, but its prefix
should be "prng-".
Error: missing peer ip_address.
Peer address is missing in peer specification.
<ipv4-address> is a valid IPv4 address in "dot" decimal nota‐
tion, e.g. 1.1.1.1
Error: missing protocol name.
Protocol name is missing in peer specification. Protocol name
should be a valid protocol defined in RPSL dictionary, e.g. BGP4
(see RFC2622).
Error: <as-expression> expected.
Syntax error in "aggr-bndry" attribute of "route" object. The
syntax is:
<as-expression>. Where:
<as-expression>
is an expression over AS numbers and sets. It defines
the list of ASes performing the aggregation. If this
attribute is missing, the origin AS is the sole aggre‐
gation boundary. See RFC2622 for more detailed
description of this attribute in "route" object.
Error: OUTBOUND <as-expression> expected.
Syntax error in "aggr-mtd" attribute of "route" object. The syn‐
tax is:
aggr-mtd: inbound
| outbound [<as-expression>]
Where:
inbound, outbound
RPSL keywords specifying the type of aggregation. See
RFC2622 for more detailed description of this
attribute of "route" object.
<as-expression>
is an expression over as-sets and as-numbers.
See RFC2622 for more detailed description of this attribute of
"route" object.
Error: INBOUND can not be followed by anything.
Syntax error in "aggr-mtd" attribute of "route" object. See the
details above.
Error: keyword INBOUND or OUTBOUND expected.
Syntax error in "aggr-mtd" attribute of "route" object. See the
details above.
Error: [at <router-exp>] [action <action>] [upon <condition>] expected.
Syntax error in "inject" attribute of route object. This
attribute specifies which routers perform the aggregation and
when they perform it. See RFC 2622 for more details about the
meaning of this attribute.
<router-expr>
is an expression over router IP addresses, inet-rtr
names, and rtr-set names using operators AND, OR, and
EXCEPT. The binary "EXCEPT" operator is the set sub‐
traction operator and has the same precedence as the
operator AND. EXCEPT = AND NOT.
<action> defines an action to execute to modify various BGP
attributes. See RFC2622 for more details on action
specificatin.
<condition>
is a boolean condition. The aggregate is generated if
and only if this condition is true. See RFC 2622 for
more details on "condition" specification.
Error: [ATOMIC] [[<filter>] [PROTOCOL <protocol> <filter>] ...]
expected.
Syntax error in "components" attribute of the "route" object.
This attribute specifies which routes are used to form the
aggregate.
<filter> is RPSL filter expression over AS-number, AS-sets,
route-set, prefixes, range operations, etc.
<protocol>
is a routing protocol name, as defined in RPSL dictio‐
nary. See RFC 2622 for more detailed description of
this attribute.
Error: invalid member
The member of the route-set should be a valid IPV4 prefix in "/"
slash notation.
RPSL dictionary errors
These errors are also RPSL parser errors. They can be encountered if
you modify RPSL dictionary, recompile and try to use the parser.
Error: invalid rp-attribute specification
Syntax error in rp-attribute specification. rp-attributes are
used in RPSL dictionary specification to describe routing proto‐
col attributes and methods. E.g. RPSL rp-attributes for BGP4
match BGP4 attributes, and their methods are actions to perform.
For instance, "action aspath.prepend(AS123);" prepends the BGP
AS_path attribute with AS123 for the routes matched by the fil‐
ter. For more information about rp-attributes (Routing Policy
attributes) and how they reflect real BGP attributes, see RFC
2622.
Error: invalid method specification for <rp-attribute>
Syntax error in rp-attribute specification, in method. See RFC
2622 for details about rp-attributes specification syntax.
Error: invalid operator specification for <rp-attribute>
Syntax error in rp-attribute specification, in operator. See RFC
2622 for details about rp-attributes specification syntax.
Error: invalid operator
Syntax error in rp-attribute specification, in operator. See RFC
2622 for details about rp-attributes specification syntax.
Error: method specification expected
Method definition in rp-attribute has wrong syntax or is incom‐
plete. The format is <method_name>(<arguments>).
Error: invalid typedef specification
Error in "typedef" attribute. This attribute defines the data
types for method arguments, which are then used with rp-
attributes. See RFC 2622 for more information of "typedef" spec‐
ification.
Error: empty union specification
Syntax error in union specification for type definition. The
syntax is: typedef: union <list of types to be included in
union>. This error can be encountered if the list is empty.
Error: invalid type <string>
Invalid string found where the type definition keyword expected.
Error: invalid type <string>[<integer>,<integer>]
Invalid string found where the type definition keyword expected.
Error: invalid type <string>[<float>,<float>]"
Invalid string found where the type definition keyword expected.
Error: invalid type <string>, enum expected
[ <enum_list> ] should be preceeded by "enum" keyword.
Error: invalid list size
Syntax error in list specification. The syntax is: list of
<valid_type>-<valid-type> ... <valid-type>.
Error: invalid protocol option
Error: invalid protocol name
Error: in attr option specification.
Synatx error in attribute "attr" specification of "dictionary"
class. The syntax is:
attr: <attr_name> [syntax(syntax_type),] optional/mandatory sin‐
gle/multiple type
Error: no known syntax rule for <syntax>.
Syntax definition is not found (see rpsl/rpsl/rptype.cc);
Error: could not compile regexp <regexp>.
Requested syntax type is "regexp", but failed to compile the
regular expression.
Error: attr name expected.
Syntax error in attribute "attr" specification, see syntax defi‐
nition above.
Error: argument <argument> to <rp-attribute>.operator<method> should be
<type>.
Wrong operatior used with this rp-attribute. Check rp-attribute
specification and operators/methods (RFC 2622).
Error: wrong number of arguments to <rp.attribute>.operator<method>.
Wrong number of arguments used with rp-attribute's operator.
Check rp-attribute specification and its operators/methods (RFC
2622).
Error: argument <argument> to <rp-attribute>.<method> should be <type>.
Wrong argument used with operator/method with this rp-attribute.
Check rp-attribute's methods specification (RFC 2622).
Error: wrong number of arguments to <rp-attribute>.<method>.
Wrong number of arguments used with this method. Check method's
specification (RFC 2622).
Error: rp-attribute <rp-attribute> does not have <method> defined.
Undefined method used with rp-attribute. Check rp-attribute's
methods' specification (RFC 2622) for this rp-attribute.
REFERENCES
· RFC 2622 "Routing Policy Specification Language (RPSL)"
ftp://ftp.ripe.net/rfc/rfc2622.txt
· RFC 822 "Standard for the format of ARPA INTERNET text messages"
ftp://ftp.ripe.net/rfc/rfc822.txt
· RFC 1034 "Domain names - concepts and facilities"
ftp://ftp.ripe.net/rfc/rfc1034.txt
AUTHORS
Katie Petrusha <katie@ripe.net>
local IRRToolSet(1)