1. 07 Apr, 1999 1 commit
  2. 06 Apr, 1999 1 commit
  3. 05 Apr, 1999 5 commits
    • Martin Mareš's avatar
      Routing table core changes to support full route filtering: · e2dc2f30
      Martin Mareš authored
      o  Introduced rte_cow() which should be used for copying on write the
         rte's in filters. Each rte now carries a flag saying whether it's
         a real route (possessing table linkage and other insignia) or a local
         copy. This function can be expected to be fast since its fast-path
         is inlined.
      o  Introduced rte_update_pool which is a linear memory pool used for
         all temporary data during rte_update. You should not reference it directly
         -- instead use a pool pointer passed to all related functions.
      o  Split rte_update to three functions:
      
      	rte_update	The front end: handles all checking, inbound
      			filtering and calls rte_recalculate() for the
      			final version of the route.
      	rte_recalculate	Update the table according to already filtered route.
      	rte_announce	Announce routing table changes to all protocols,
      			passing them through export filters and so on.
      
         The interface has _not_ changed -- still call rte_update() and it will
         do the rest for you automagically.
      o  Use new filtering semantics to be explained in a separate mail.
      e2dc2f30
    • Martin Mareš's avatar
      Added some new protocol hooks (look at the comments for better explanation): · 9e0e485e
      Martin Mareš authored
      	make_tmp_attrs		Convert inline attributes to ea_list
      	store_tmp_attrs		Convert ea_list to inline attributes
      	import_control		Pre-import decisions
      9e0e485e
    • Martin Mareš's avatar
      Changed syntax of attaching filters to protocols to hopefully the final · 5056c559
      Martin Mareš authored
      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 :)).
      5056c559
    • Martin Mareš's avatar
      Several filter changes. (Pavel, please check if they are OK.) · 63a381db
      Martin Mareš authored
         o  Changed parameters of f_run. Changed rtein+rteout pair to rte pointer
            passed by reference, added ea_list of temporary attrs again passed
            by reference and finally added a pointer to memory pool for storing
            temporary data (new ea_lists's, temporary rta's etc.).
         o  Re-ordered result codes, so that all accepts come before all rejects.
         o  Introduced FILTER_ACCEPT and FILTER_REJECT dummy values (will be
            used in protocol configurations).
         o  Added filter_name() which returns name of a filter or ACCEPT/REJECT
            for the dummies.
      63a381db
    • Martin Mareš's avatar
      Use a more reasonable pool chunk size: 4080 bytes seem to be a good · d4ff7482
      Martin Mareš authored
      approximation of a integral fraction of page size even if both malloc
      overhead and chunk header space is counted.
      d4ff7482
  4. 03 Apr, 1999 3 commits
  5. 02 Apr, 1999 2 commits
  6. 01 Apr, 1999 3 commits
  7. 29 Mar, 1999 12 commits
  8. 27 Mar, 1999 1 commit
    • Martin Mareš's avatar
      Cleaned up system configuration files -- removed few obsolete parameters, · 1127ac6e
      Martin Mareš authored
      documented the remaining ones (sysdep/cf/README).
      
      Available configurations:
      
         o  linux-20: Old Linux interface via /proc/net/route (selected by default
      		on pre-2.1 kernels).
         o  linux-21: Old Linux interface, but device routes handled by the
      		kernel (selected by default for 2.1 and newer kernels).
         o  linux-22: Linux with Netlink (I play with it a lot yet, so it isn't
      		a default).
         o  linux-ipv6: Prototype config for IPv6 on Linux. Not functional yet.
      1127ac6e
  9. 26 Mar, 1999 6 commits
  10. 24 Mar, 1999 1 commit
  11. 17 Mar, 1999 5 commits