1. 04 Dec, 2018 1 commit
    • Jan Maria Matejka's avatar
      Terminology cleanup: The import_control hook is now called preexport. · 14375237
      Jan Maria Matejka authored
      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 ea2ae6dd 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 9e0e485e
          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 5056c559
          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
      		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.
  2. 07 Feb, 2018 1 commit
  3. 12 May, 2016 1 commit
  4. 07 Apr, 2016 1 commit
  5. 15 Mar, 2012 1 commit
    • Ondřej Zajíček's avatar
      Better support for multitable protocols. · c0adf7e9
      Ondřej Zajíček authored
      The nest-protocol interaction is changed to better handle multitable
      protocols. Multitable protocols now declare that by 'multitable' field,
      which tells nest that a protocol handles things related to proto-rtable
      interaction (table locking, announce hook adding, reconfiguration of
      filters) itself.
      Filters and stats are moved to announce hooks, a protocol could have
      different filters and stats to different tables.
      The patch is based on one from Alexander V. Chernikov, thanks.
  6. 22 Dec, 2011 1 commit
  7. 13 Mar, 2011 1 commit
  8. 13 Feb, 2010 1 commit
    • Ondřej Zajíček's avatar
      Removes phantom protocol from the pipe design. · dca75fd7
      Ondřej Zajíček authored
      It seems that by adding one pipe-specific exception to route
      announcement code and by adding one argument to rt_notify() callback i
      could completely eliminate the need for the phantom protocol instance
      and therefore make the code more straightforward. It will also fix some
      minor bugs (like ignoring debug flag changes from the command line).
  9. 01 Jun, 2009 1 commit
  10. 31 May, 2009 1 commit
  11. 08 Nov, 2008 1 commit
  12. 07 Jun, 2000 2 commits
  13. 02 Jun, 2000 1 commit