Commit graph

580 commits

Author SHA1 Message Date
Pavel Machek 068b41272e Don't say too bad things about our concurence. 2000-05-30 11:27:42 +00:00
Pavel Machek e9df1bb647 Small change in working to make it obvious we are free software. 2000-05-30 11:23:47 +00:00
Pavel Machek 1cb10462c3 Date removed. 2000-05-30 11:22:12 +00:00
Pavel Machek f3b33928ce Tried to change garbagetime -> garbage time to be more consistent. 2000-05-30 11:15:19 +00:00
Pavel Machek 2d6627a7a5 Fixed bug in RIP docs. 2000-05-30 10:42:00 +00:00
Pavel Machek 298f2530ec Moved description of filters to programmers docs. 2000-05-30 10:13:02 +00:00
Martin Mares 5459fac61f Added BGP documentation. 2000-05-29 21:03:27 +00:00
Martin Mares 56ab03c71f Added introduction to BGP. 2000-05-29 13:47:18 +00:00
Martin Mares 0e4789c2c3 Added Kernel protocol documentation. 2000-05-29 13:13:58 +00:00
Martin Mares d9d41c6042 Capitalize properly in Install section.
BTW, what about configure options and similar things?
2000-05-29 12:46:27 +00:00
Pavel Machek 4f88ac47c6 Reduce number of chapters -- having subchapter for 2 lines of code looks ugly in output. 2000-05-29 12:23:49 +00:00
Martin Mares 0e694e041a Minor fixes as requested by Pavel. 2000-05-29 12:18:30 +00:00
Pavel Machek 440439e3cc Really short installation section added. 2000-05-29 12:05:56 +00:00
Martin Mares 04a22949d7 Renamed the DTD from linuxdoc to birddoc.
Pavel, please check whether it builds in your environment as well.
2000-05-29 12:05:21 +00:00
Martin Mares 897cd7aa55 Tried to write a better introduction. 2000-05-29 12:03:28 +00:00
Pavel Machek 9d89348914 Docs updates. 2000-05-29 11:53:24 +00:00
Martin Mares 79a2b697e3 Added description of Static, Device and Direct protocols. 2000-05-29 11:30:25 +00:00
Pavel Machek 98627595fb Better description of how route is selected. 2000-05-29 11:22:43 +00:00
Pavel Machek 2f647f3f9f Added "what is router" to introduction. 2000-05-29 11:13:51 +00:00
Martin Mares 1b55b1a364 Spelling fixes.
Added skeleton for subchapters on all the protocols. Each subchapter should
contain:

	Introduction (brief intro to the protocol, where should it be used,
		references to the relevant standards)
	Configuration
	Attributes
	Example

Added a more detailed description of RIP attributes.
2000-05-29 10:32:37 +00:00
Pavel Machek d150c6379c Documentation update. 2000-05-28 19:11:08 +00:00
Pavel Machek 216fd83c4b Spell checking. 2000-05-25 16:28:08 +00:00
Pavel Machek 9b24a6fb94 Text version generated from lynx looks as ugly as hell, sgml is much better
at generating nice output. Unfortunately, sgml output contains a^ha highlight
some printers do not like.
2000-05-25 16:17:54 +00:00
Pavel Machek d26524fa0c Add section about routing tables. 2000-05-25 15:28:24 +00:00
Pavel Machek 69477cad70 Add section about utility functions in filters 2000-05-25 15:11:13 +00:00
Pavel Machek 4a5bb2bf1b Description of types needed for BGP. 2000-05-25 15:01:08 +00:00
Pavel Machek ba1dda495a SGML correctness fix. 2000-05-25 14:50:46 +00:00
Pavel Machek 0e5373fd82 Some more documentation, plus minor fixes. 2000-05-25 12:33:42 +00:00
Pavel Machek af0b25d20d More updates. 2000-05-19 15:59:21 +00:00
Pavel Machek 242352b7a7 Improve docs of log statment, improve markup. 2000-05-19 14:13:49 +00:00
Pavel Machek 8af8a87375 Descriptive lists rendered better in TeX. 2000-05-19 14:05:55 +00:00
Pavel Machek a0dd1c7433 Some spellchecking, and use right tags for right things. 2000-05-19 13:58:39 +00:00
Pavel Machek 7581b81bd7 More additions to documentation and spellchecking. 2000-05-16 18:47:06 +00:00
Pavel Machek bfd7117846 Documentation fixes suggested by mj 2000-05-12 10:57:36 +00:00
Pavel Machek 6e06e6eef0 Critical files from linuxdoc1 distribution checked in. 2000-05-11 12:00:35 +00:00
Pavel Machek 0e7a720a1c Use <m> instead of <i> in bird.sgml, fix url references. 2000-05-11 11:54:03 +00:00
Pavel Machek 7692aad10c Don't include Rules: they are not needed and break stand-alone make of documentation. 2000-05-11 10:47:33 +00:00
Martin Mares 8aecbf160a New example config. 2000-05-08 22:33:50 +00:00
Martin Mares 23693958aa Implemented `show route <...> stats'. 2000-05-07 11:28:59 +00:00
Martin Mares ce1da96ee7 Added commands show route protocol <p>' and show route import <p>' which
show the routing table as exported to the protocol given resp. as returned
from its import control hook.

To get handling of filtered extended attributes right (even in the old
`show route where <filter>' command), the get_route_info hook gets an
attribute list and all protocol specific rte attributes are contained
there as temporary ones. Updated RIP to do that.

Added ea_append() which joins two ea_list's.
2000-05-06 22:57:39 +00:00
Martin Mares b177724896 Connected the `doc' subtree to global makefiles.
All documentation is built in obj/doc (resp. doc/ if you do a stand-alone build).

Use `make docs' to make the whole documentation or `make userdocs' resp.
`make progdocs' for user manual resp. developer's guide.
2000-05-05 17:15:56 +00:00
Pavel Machek 249d238c14 First attempt at documenting configuration. 2000-05-05 09:39:08 +00:00
Pavel Machek 5dc4b0aae2 Display examples more nicely 2000-05-04 10:03:53 +00:00
Pavel Machek 2337ade754 Moved documentation to top of file, where it belongs. 2000-04-30 18:47:48 +00:00
Pavel Machek e83b42deb4 Include proto/rip/rip.c in documentation system. 2000-04-28 09:55:36 +00:00
Pavel Machek 602b1445e3 Documentation-generating tool taken from linux-2.3.99-pre6, and
makefile to actually use it.
2000-04-28 09:48:01 +00:00
Pavel Machek 5227699606 Few bugs removed from sgml, makefile added. 2000-04-17 16:51:28 +00:00
Pavel Machek f9b8bcca4e Bird.html will now be autogenerated. 2000-04-17 16:49:05 +00:00
Pavel Machek d37f899ba4 First version of sgml documentation 2000-04-17 16:48:22 +00:00
Martin Mares 3991d84e8f Changed initialization of protocol list -- now we call proto_build() instead
of calling the protocols manually.

Implemented printing of dynamic attributes in `show route all'.

Each protocol can now register its own attribute class (protocol->attr_class,
set to EAP_xxx) and also a callback for naming and formatting of attributes.
The callback can return one of the following results:

	GA_UNKNOWN	Attribute not recognized.
	GA_NAME		Attribute name recognized and put to the buffer,
			generic code should format the value.
	GA_FULL		Both attribute name and value put to the buffer.

Please update protocols generating dynamic attributes to provide
the attr_class and formatting hook.
2000-04-01 10:19:47 +00:00
Martin Mares 4327090276 Made `show status' show uptime and time of last reconfiguration. 2000-03-12 22:44:54 +00:00
Martin Mares f30b86f9d5 Added configuration of default protocol debugging flags. 2000-03-07 21:50:03 +00:00
Pavel Machek 70844a6a46 Updated docs about filters, and added fixme. 2000-01-26 21:28:53 +00:00
Martin Mares 4b87e256eb Split off general commands to cmds.c.
Added `show symbols' command which dumps whole symbol table together
with symbol types etc.
2000-01-19 12:30:19 +00:00
Martin Mares f14a4becbe Reworked proto lists -- each proto is now in two lists: the global one
(proto_list) and per-type one (original lists). A lot of things simplified.

Implemented `disable', `enable' and `restart' CLI commands.
2000-01-16 23:30:06 +00:00
Martin Mares bf8558bc9c Converted shutdown to a kind of reconfiguration, it's no more handled
as a exception in protocol state machines. Introduced a `shutdown'
CLI command. Killed few reconfiguration bugs.
2000-01-16 17:40:26 +00:00
Martin Mares 50fe90edf3 First attempt on dynamic reconfiguration. There are still lots of bugs
and problems to solve, but the hardest part works.
2000-01-16 16:44:50 +00:00
Pavel Machek 7a7c1d9f34 Few more entries for bird documentation 1999-12-20 19:14:06 +00:00
Pavel Machek c8c0f62444 This is first version of documentation. Be sure to take a close look
at it, and it would be very nice if you wrote at least introductions
to your chapters...
1999-12-18 20:41:19 +00:00
Pavel Machek 3df563fa4c Put rip options into config file. 1999-12-08 12:51:15 +00:00
Martin Mares a0c37b45e5 Logging is now configurable. You can define multiple log outputs (to both
files and syslog) and assign lists of message categories to each of them.
1999-12-06 13:45:56 +00:00
Martin Mares feed822676 Implemented `show static'. It's a relatively good example of how to write
show commands for other protocols.
1999-12-03 11:41:23 +00:00
Martin Mares 730f2e2c8c Added dumping of routing tables (`show route'). This includes filtering. 1999-12-01 15:10:21 +00:00
Martin Mares 1d2664a4d4 Remember protocol instance in proto_config and use that for
`show protocols <name>'.
1999-11-30 14:04:09 +00:00
Martin Mares 0d3e6bceee show interfaces' and show protocols' works. 1999-11-30 12:57:14 +00:00
Martin Mares ae97b946e9 Added few basic commands: show status, show interfaces [summary],
show protocols (incomplete).
1999-11-25 15:35:30 +00:00
Martin Mares 024dcaaea2 Added project status report for KSVI. 1999-11-10 10:48:19 +00:00
Martin Mares 03b7bd14de Started a list of CLI reply codes. 1999-10-31 17:48:21 +00:00
Martin Mares 9c11ec9efc Implemented a Table-to-Table protocol a.k.a The Pipe. 1999-08-03 19:34:26 +00:00
Martin Mares 7de45ba4a0 Kernel route syncer supports multiple tables.
The changes are just too extensive for lazy me to list them
there, but see the comment at the top of sysdep/unix/krt.c.
The code got a bit more ifdeffy than I'd like, though.

Also fixed a bunch of FIXME's and added a couple of others. :)
1999-08-03 19:33:22 +00:00
Martin Mares 0e02abfd57 From now we support multiple tables. The master_table variable is
definitely gone. Both rte_update() and rte_discard() have an additional
argument telling which table should they modify.

Also, rte_update() no longer walks the whole protocol list -- each table
has a list of all protocols connected to this table and having the
rt_notify hook set. Each protocol can also freely decide (by calling
proto_add_announce_hook) to connect to any other table, but it will
be probably used only by the table-to-table protocol.

The default debugging dumps now include all routing tables and also
all their connections.
1999-05-17 20:14:52 +00:00
Pavel Machek 36bbfc704c Updated filters: they now actually see IP/pxlen of net being filtered,
gateway, and who told us, so they can do usefull jobs from now on.
1999-04-19 18:41:56 +00:00
Martin Mares 5056c559c4 Changed syntax of attaching filters to protocols to hopefully the final
version:

	EXPORT <filter-spec>	for outbound routes (i.e., those announced
				by BIRD to the rest of the world).
	IMPORT <filter-spec>	for inbound routes (i.e., those imported
				by BIRD from the rest of the world).

where <filter-spec> is one of:

	ALL			pass all routes
	NONE			drop all routes
	FILTER <name>		use named filter
	FILTER { <filter> }	use explicitly defined filter

For all protocols, the default is IMPORT ALL, EXPORT NONE. This includes
the kernel protocol, so that you need to add EXPORT ALL to get the previous
configuration of kernel syncer (as usually, see doc/bird.conf.example for
a bird.conf example :)).
1999-04-05 20:15:31 +00:00
Martin Mares 7f400d1c62 After today's lengthy discussions about filter syntax, let's clean up
whitespace/semicolon rules for whole config file:

   o  All non-zero amounts of whitespace are equivalent to single space
      (aka `all the whitespace has been born equal' ;-)).
   o  Comments count as whitespace.
   o  Whitespace has no syntactic signifance (it can only separate lexical
      elements).
   o  Consequence: line ends are no longer treated as `;'s.
   o  Every declaration must be terminated by an explicit `;' unless
      or by a group enclosed in `{' and `}'.
1999-03-29 19:04:14 +00:00
Martin Mares 7e5f5ffdda Moved to a much more systematic way of configuring kernel protocols.
o  Nothing is configured automatically. You _need_ to specify
     the kernel syncer in config file in order to get it started.
  o  Syncing has been split to route syncer (protocol "Kernel") and
     interface syncer (protocol "Device"), device routes are generated
     by protocol "Direct" (now can exist in multiple instances, so that
     it will be possible to feed different device routes to different
     routing tables once multiple tables get supported).

See doc/bird.conf.example for a living example of these shiny features.
1999-03-26 21:44:38 +00:00
Martin Mares 529c414953 Allow input and output filters (only accept/reject style as we didn't define
modifying filters yet) to be attached to protocol instances.
1999-03-17 14:31:26 +00:00
Martin Mares 2d14045224 Rewrote the kernel syncer. The old layering was horrible.
The new kernel syncer is cleanly split between generic UNIX module
and OS dependent submodules:

  -  krt.c (the generic part)
  -  krt-iface (low-level functions for interface handling)
  -  krt-scan (low-level functions for routing table scanning)
  -  krt-set (low-level functions for setting of kernel routes)

krt-set and krt-iface are common for all BSD-like Unices, krt-scan is heavily
system dependent (most Unices require /dev/kmem parsing, Linux uses /proc),
Netlink substitues all three modules.

We expect each UNIX port supports kernel routing table scanning, kernel
interface table scanning, kernel route manipulation and possibly also
asynchronous event notifications (new route, interface state change;
not implemented yet) and build the KRT protocol on the top of these
primitive operations.
1999-03-03 19:49:56 +00:00
Martin Mares 45090fecd9 Synced example config with new options. 1999-02-13 22:02:21 +00:00
Martin Mares 3169cf6991 Added bird.conf to .cvsignore and created an example configuration file.
If you want to run bird now, just copy doc/bird.conf.example as bird.conf
and edit it to suit your needs.
1999-01-15 17:18:41 +00:00
Martin Mares b60f748914 Added banner presented to KSVI. 1998-03-20 18:30:55 +00:00