Revision 25696edb

View differences:

doc/bird.sgml
63 63
background which does the dynamic part of Internet routing, that is it communicates
64 64
with the other routers, calculates routing tables and sends them to the OS kernel
65 65
which does the actual packet forwarding. There already exist other such routing daemons: routed (rip only), GateD<HTMLURL URL="http://www.gated.org/">
66
 (non free), Zebra<HTMLURL URL="http://www.zebra.org"> and mrtd<HTMLURL URL="FIXME">, but their capabilities are limited and
66
 (non free), Zebra<HTMLURL URL="http://www.zebra.org"> and mrtd<HTMLURL URL="http://www.zcu.cz/ftp/mirrors/mmrz/mrtd">, but their capabilities are limited and
67 67
they are relatively hard to configure and maintain.
68 68

  
69 69
<p>BIRD is an Internet Routing Daemon designed to avoid all of these shortcomings,
......
435 435
	  [ 1, 2, 5..7 ]</cf>. As you can see, both simple values and ranges are permitted in
436 436
	  sets. Sets of prefixes are special: you can specify which prefix lengths should match them by
437 437
	  using <cf>[ 1.0.0.0/8+, 2.0.0.0/8-, 3.0.0.0/8{5,6} ]</cf>. <cf>3.0.0.0/8{5,6}</cf> matches
438
	  prefixes <cf/3.X.X.X/, whose prefix length is 5 to 6. <cf>3.0.0.0/8+</cf> is shorthand for <cf>3.0.0.0/{0,8}</cf>,
439
	  <cf>3.0.0.0/8-</cf> is shorthand for <cf>3.0.0.0/{0,7}</cf>. For example,
438
	  prefixes <cf/3.X.X.X/, whose prefix length is 5 to 6. <cf><m>address</m>/<m>num</m>+</cf> is shorthand for <cf><m>address</m>/{0,<m/num/}</cf>,
439
	  <cf><m>address</m>/<m/num/-</cf> is shorthand for <cf><m>address</m>/{0,<m/num-1/}</cf>. For example,
440 440
	  <cf>1.2.0.0/16 ~ [ 1.0.0.0/8{ 15 , 17 } ]</cf> is true, but
441
	  <cf>1.0.0.0/8 ~ [ 1.0.0.0/8- ]</cf> is false. <!-- fixme: use variables instead of examples -->
441
	  <cf>1.0.0.0/8 ~ [ 1.0.0.0/8- ]</cf> is false.
442 442

  
443 443
	<tag/enum/
444 444
	  Enumeration types are fixed in BIRD - you can't define your own
......
458 458
	  write <cf>/*</cf> which is start of comment.) For example,
459 459
	  <tt>/4 3 2 1/ ~ /? 4 3 ?/</tt> is true, but 
460 460
	  <tt>/4 3 2 1/ ~ /? 4 5 ?/</tt> is false. <!-- fixme: formulate better -->
461

  
462 461
	<tag/clist/ 
463 462
	  Community list is similar to set of pairs,
464 463
	  except that unlike other sets, it can be modified.
......
468 467

  
469 468
<sect>Operators
470 469

  
471
<!-- FIXME: Make it table -->
470
<!-- Sorry, birddoc does not support tables. -->
472 471

  
473 472
<p>The filter language supports common integer operators <cf>(+,-,*,/)</cf>, parentheses <cf/(a*(b+c))/, comparison
474
<cf/(a=b, a!=b, a&lt;b, a&gt;=b)/. Special operators include <cf/&tilde;/ for "in" operation. In operation can be
475
used on element and set of that elements, or on ip and prefix, or on
476
prefix and prefix or on bgppath and bgpmask or on pair and clist. Its result
477
is true if element is in given set or if ip address is inside given prefix. Logical operations include unary not (<cf/!/), and (<cf/&&/) and or (<cf/||/).
473
<cf/(a=b, a!=b, a&lt;b, a&gt;=b)/. Logical operations include unary not (<cf/!/), and (<cf/&&/) and or (<cf/||/). 
474
Special operators include <cf/&tilde;/ for "in" operation. In operation can be
475
used on element and set of that elements (returning true if element is within given set), or on IP and prefix (returning true if IP is within range defined by that prefix), or on
476
prefix and prefix (returning true if first prefix is more specific than second) or on bgppath and bgpmask (returning true if path matches given pathmask) or on pair and clist (returning true if given community is element of community list).
477

  
478 478

  
479 479
<sect>Control structures
480 480

  
......
520 520

  
521 521
<descrip>
522 522
	<tag><m/prefix/ net</tag>
523
	Network the route is talking about. (See the section about routing tables.)
523
	Network the route is talking about. Read-only. (See the section about routing tables.)
524 524

  
525 525
	<tag><m/enum/ scope</tag>
526
	Address scope of the network (<cf/SCOPE_HOST/ for addresses local to this host, <cf/SCOPE_LINK for those specific for a physical link, ... <!-- FIXME -->)
526
	Address scope of the network (<cf/SCOPE_HOST/ for addresses local to this host, <cf/SCOPE_LINK/ for those specific for a physical link, ... <!-- FIXME -->)
527 527

  
528 528
	<tag><m/int/ preference</tag>
529 529
	Preference of the route. (See section about routing tables.)
530 530

  
531 531
	<tag><m/ip/ from</tag>
532
	The router which the route has originated from.
532
	The router which the route has originated from. Read-only.
533 533
	
534 534
	<tag><m/ip/ gw</tag>
535 535
	Next hop packets routed using this route should be forwarded to.
536 536

  
537 537
	<tag><m/enum/ source</tag>
538
	what protocol has told me about this route. Possible values: <cf/RTS_RIP/ or <cf/RTS_OSPF_EXT/ <!-- fixme -->.
538
	what protocol has told me about this route. Possible values: <cf/RTS_DUMMY, RTS_STATIC, RTS_INHERIT, RTS_DEVICE, RTS_STATIC_DEVICE, RTS_REDIRECT, RTS_RIP, RTS_OSPF, RTS_OSPF_EXT, RTS_OSPF_IA, RTS_OSPF_BOUNDARY, RTS_BGP, RTS_PIPE/.
539 539

  
540 540
	<tag><m/enum/ cast</tag>
541
	Route type (<cf/RTC_UNICAST/ for normal routes, ... <!-- FIXME -->)
541
	Route type (<cf/RTC_UNICAST/ for normal routes, <cf/RTC_BROADCAST, RTC_MULTICAST, RTC_ANYCAST/ for broadcast, multicast and anycast routes.) Read-only.
542 542

  
543 543
	<tag><m/enum/ dest</tag>
544
	Type of destination the packets should be sent to (<cf/RTD_ROUTER/ for forwarding to a neighboring router, ...)
544
	Type of destination the packets should be sent to (<cf/RTD_ROUTER/ for forwarding to a neighboring router, <cf/RTD_NETWORK/ for routing to directly-connected network, <cf/RTD_BLACKHOLE/ for packets to be silenty discarded, <cf/RTD_UNREACHABLE, RTD_PROHIBIT/ for packets that should be discarded with ICMP host unreachable / ICMP administratively prohibited messages.) Read-only.
545 545
</descrip>
546 546

  
547 547
<p>There also exist some protocol-specific attributes, which are described in protocol sections.
......
1177 1177
RIP) and all routers know that network is unreachable. RIP tries to minimize situations where
1178 1178
counting to infinity is necessary, because it is slow. Due to infinity being 16, you can't use
1179 1179
RIP on networks where maximal distance is higher than 15 hosts. You can read more about rip at <HTMLURL
1180
URL="http://www.ietf.org/html.charters/rip-charter.html" TEXT="http://www.ietf.org/html.charters/rip-charter.html">. Both IPv4
1180
URL="http://www.ietf.org/html.charters/rip-charter.html" name="http://www.ietf.org/html.charters/rip-charter.html">. Both IPv4
1181 1181
and IPv6 versions of RIP are supported by BIRD, historical RIPv1 is
1182 1182
currently not fully supported.
1183 1183

  
......
1318 1318
<chapt>Problems
1319 1319

  
1320 1320
<p>BIRD is relatively young system, and probably contains some
1321
bugs. You can report bugs at bird-users mailing list (<HTMLURL URL="mailto:bird-users@bird.network.cz" TEXT="bird-users@bird.network.cz">), but before you do,
1321
bugs. You can report bugs at bird-users mailing list (<HTMLURL URL="mailto:bird-users@bird.network.cz" name="bird-users@bird.network.cz">), but before you do,
1322 1322
please make sure you have read available documentation, make sure are running latest version (available at <HTMLURL
1323
URL="ftp://bird.network.cz/pub/bird" TEXT="bird.network.cz:/pub/bird">). (Of course, patch
1323
URL="ftp://bird.network.cz/pub/bird" name="bird.network.cz:/pub/bird">). (Of course, patch
1324 1324
which fixes the bug along with bug report is always welcome). If you
1325 1325
want to use BIRD, join mailing list by sending
1326
<tt/subscribe bird-users/ to <HTMLURL URL="mailto:majordomo@bird.network.cz" TEXT="majordomo@bird.network.cz">. Main home page of bird is <HTMLURL URL="http://bird.network.cz/" TEXT="http://bird.network.cz/">. When
1326
<tt/subscribe bird-users/ to <HTMLURL URL="mailto:majordomo@bird.network.cz" name="majordomo@bird.network.cz">. Main home page of bird is <HTMLURL URL="http://bird.network.cz/" name="http://bird.network.cz/">. When
1327 1327
trying to understand, what is going on, Internet standards are
1328
relevant reading; you can get them from <HTMLURL URL="ftp://ftp.rfc-editor.org/" TEXT="ftp.rfc-editor.org"> (or nicely sorted version from <HTMLURL="ftp://atrey.karlin.mff.cuni.cz/pub/rfc" TEXT="atrey.karlin.mff.cuni.cz:/pub/rfc">.
1328
relevant reading; you can get them from <HTMLURL URL="ftp://ftp.rfc-editor.org/" name="ftp.rfc-editor.org"> (or nicely sorted version from <HTMLURL URL="ftp://atrey.karlin.mff.cuni.cz/pub/rfc" name="atrey.karlin.mff.cuni.cz:/pub/rfc">).
1329 1329

  
1330 1330
<p><it/Good luck!/
1331 1331

  

Also available in: Unified diff