Commit graph

472 commits

Author SHA1 Message Date
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