peval man page on DragonFly

Man page or keyword search:  
man Server   44335 pages
apropos Keyword Search (all sections)
Output format
DragonFly logo
[printable version]

peval(1)							      peval(1)

NAME
       peval

SYNOPSIS
       peval [options] [<expression>]

DESCRIPTION
       peval  is  a low level policy evaluation tool that can be used to write
       router configuration generators.	 peval, in a command loop, inputs pol‐
       icy  expressions, expands the AS sets, route sets, filter sets, AS num‐
       bers (unless specified otherwise using command line options), evaluates
       the  resulting expression and outputs the result.  Instead of a command
       loop, the expression can be given as an argument.

       By default peval evaluates the expression for ipv4 unicast address fam‐
       ily.  Also  the	list  of address families can be specified in order to
       restrict the results. The syntax is: afi <afi_list> <mp-filter>.

       <afi_list> is a comma separated list of address families. The supported
       ones  are:  ipv4,  ipv4.unicast	(same  as ipv4), ipv4.multicast, ipv6,
       ipv6.unicast (same as ipv6), ipv6.multicast, any.unicast (ipv4.unicast,
       ipv6.unicast),	any.multicast  (ipv4.multicast,	 ipv6.multicast),  any
       (ipv4.unicast, ipv4.multicast, ipv6.unicast,  ipv6.multicast).  If  the
       results	are  to	 be restricted to uncomparable address families (ipv4,
       ipv6), in the output they will be joined using 'OR' clause.

       <mp-filter> is a valid RPSLng filter over  AS-numbers,  ipv4/ipv6  pre‐
       fixes,  range  operators,  filter-sets, route-sets, as-sets and logical
       operators. For more details about mp-filter format see RPSLng  documen‐
       tation.

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 ENABLE_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.  <proto‐
		     col> can be irrd(rawhoisd), or ripe(bird). The default is
		     irrd.

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

	      -f <file-name>
		     IRR  cache	 file.	You  can  have any RPSL object in this
		     file, except route objects.   They	 will  override	 these
		     objects  in  IRR.	 This  option  is intended for private
		     objects, or to test new public objects before publishing.
		     You  can  specify	more than one cache file by specifying
		     this option repeatedly.

	      -rusage
		     Print resource usage upon completion.

	      -prompt <string>
		     Set the interactive prompt to <string>.

	      -ignore_errors
		     Do not print error and warning messages due to communica‐
		     tion 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
	      -no-as-set
		     Do not expand AS sets into AS numbers.

	      -no-route-set
		     Do not expand route sets into prefixes.

	      -no-as Do not expand AS numbers into prefixes.

	      -none  Do not expand anything.

	      -symbolic
		     Do a prior symbolic evaluation, then  do  the  expansions
		     and  then re-evaluate.  This may be faster for some poli‐
		     cies.

	      -asdot Print AS numbers as asdot,	 i.e.  in  "X.Y"  format;  the
		     default is to use RFC-5396 recommended "asplain" format.

	      -compressed
		     Print  prefix  lists  using  the more specific operators.
		     Otherwise, an expression like 128.9.0.0/16^24 will result
		     in 256 prefixes being printed.

	      -e <expression>
		     Evaluate expression.

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
       Perform only symbolic evaluation:

       % ./peval -none
       peval> (AS1 OR AS2) AND AS1
       ((AS1))
       peval> AS1 AND NOT AS1
       NOT ANY
       peval>

       Expand AS macros and evaluate:

       % ./peval -no-as AS-ANSCT
       ((AS1326 AS2002 AS2538 AS2752 AS3723))

       Expand all and evaluate (e.g. multihomed routes to AS1220 and AS226):

       % ./peval 'AS1220 AND AS226'
       ({192.237.125.0/24, 192.92.56.0/24, 196.2.41.0/24, 196.2.40.0/24})

       Evaluate the filter for ipv4 and ipv6 address families:

       % ./peval 'afi ipv6, ipv4 rs-rpslng'
       ({1001:0:0:0:0:0:0:0/35, 1:0:0:0:0:0:0:0/35})
	OR ({1.0.0.0/8, 1.2.3.0/24})

ERROR AND WARNING MESSAGES
       Error: Internal error.

	      Fails  if	 couldn't  evaluate  the  filter  to  resulting normal
	      expression.

       Unknown protocol!

	      Connection to IRR server failed. This can be caused  by  various
	      reasons, please see irrtoolset-errors manpage, IRR Communication
	      errors.

       ***Error: badly formed filter.

	      syntax error in RPSL filter specification.

       For more error descriptions, please see irrtoolset-errors manual page.

AUTHORS
       Cengiz Alaettinoglu <cengiz@isi.edu>

       Katie Petrusha <katie@ripe.net>

				     local			      peval(1)
[top]

List of man pages available for DragonFly

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net