bird/nest
Jan Maria Matejka 14375237f6 Terminology cleanup: The import_control hook is now called preexport.
Once upon a time, far far away, there were the old Bird developers
discussing what direction of route flow shall be called import and
export. They decided to say "import to protocol" and "export to table"
when speaking about a protocol. When speaking about a table, they
spoke about "importing to table" and "exporting to protocol".

The latter terminology was adopted in configuration, then also the
bird CLI in commit ea2ae6dd0 started to use it (in year 2009). Now
it's 2018 and the terminology is the latter. Import is from protocol to
table, export is from table to protocol. Anyway, there was still an
import_control hook which executed right before route export.

One thing is funny. There are two commits in April 1999 with just two
minutes between them. The older announces the final settlement
on config terminology, the newer uses the other definition. Let's see
their commit messages as the git-log tool shows them (the newer first):

    commit 9e0e485e50
    Author: Martin Mares <mj@ucw.cz>
    Date:   Mon Apr 5 20:17:59 1999 +0000

	Added some new protocol hooks (look at the comments for better explanation):

		make_tmp_attrs          Convert inline attributes to ea_list
		store_tmp_attrs         Convert ea_list to inline attributes
		import_control          Pre-import decisions

    commit 5056c559c4
    Author: Martin Mares <mj@ucw.cz>
    Date:   Mon Apr 5 20:15:31 1999 +0000

	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 :)).

Let's say RIP to this almost 19-years-old inconsistency. For now, if you
import a route, it is always from protocol to table. If you export a
route, it is always from table to protocol.

And they lived happily ever after.
2018-12-04 10:53:01 +01:00
..
a-path.c No more warnings ... 2018-09-18 14:21:11 +02:00
a-path_test.c Nest: Trivial whitespace cleanup 2018-02-07 17:12:33 +01:00
a-set.c BGP: Fix non-transitive ext communities 2017-12-13 15:57:44 +01:00
a-set_test.c Linpool: default allocation size 2017-05-16 15:34:57 +02:00
attrs.h BGP: Fix non-transitive ext communities 2017-12-13 15:57:44 +01:00
bfd.h Minor cleanup 2017-12-14 21:52:07 +01:00
bird.h Initial commit on integrated BIRD 2015-11-05 12:48:52 +01:00
cli.c Nest: Trivial whitespace cleanup 2018-02-07 17:12:33 +01:00
cli.h Nest: split route show into separate file 2017-05-15 12:10:51 +02:00
cmds.c Timers: Parse and format functions for microsecond times 2017-12-07 13:49:27 +01:00
cmds.h Implements eval command and minor CLI cleanups. 2013-07-25 13:15:32 +02:00
config.Y Config: Dropping CF_ADDTO. 2018-06-26 14:29:03 +02:00
iface.c Nest: Do not hard-reset interface when preferred address is changed 2018-11-28 16:55:32 +01:00
iface.h Nest: Do not hard-reset interface when preferred address is changed 2018-11-28 16:55:32 +01:00
locks.c Lib: Add and use ev_new_init() 2018-10-01 15:55:23 +02:00
locks.h Nest: VRF support for neighbor cache and olock code 2017-09-12 15:49:36 +02:00
Makefile Nest: split route show into separate file 2017-05-15 12:10:51 +02:00
neighbor.c Nest: Neighbor cache cleanups 2018-06-27 16:57:07 +02:00
password.c Timers: Add typecast to unit-converting macros 2017-12-07 13:53:42 +01:00
password.h Timers: Parse and format functions for microsecond times 2017-12-07 13:49:27 +01:00
progdoc Doc: renamed progdoc files Doc -> progdoc to fix collision with doc/ folder on case-insensitive filesystems 2018-06-26 17:09:12 +02:00
proto-hooks.c Terminology cleanup: The import_control hook is now called preexport. 2018-12-04 10:53:01 +01:00
proto.c The MRT protocol 2018-11-20 17:45:35 +01:00
proto.sgml Channels - explicit links between protocols and tables 2016-02-01 10:28:50 +01:00
protocol.h Terminology cleanup: The import_control hook is now called preexport. 2018-12-04 10:53:01 +01:00
route.h Terminology cleanup: The import_control hook is now called preexport. 2018-12-04 10:53:01 +01:00
rt-attr.c Nest: Fix crash in rta_show() for RPKI and Babel routes 2018-11-05 13:56:59 +01:00
rt-dev.c Protocol: Introducing an enum protocol_class 2018-05-29 12:35:06 +02:00
rt-dev.h Nest: SADR support for Direct 2018-03-18 02:56:51 +01:00
rt-fib.c Add support for source-specific IPv6 routes to BIRD core 2018-02-13 16:39:07 +01:00
rt-show.c Terminology cleanup: The import_control hook is now called preexport. 2018-12-04 10:53:01 +01:00
rt-table.c Terminology cleanup: The import_control hook is now called preexport. 2018-12-04 10:53:01 +01:00