1. 14 Aug, 2012 1 commit
    • Ondřej Zajíček's avatar
      Implements ADD-PATH extension for BGP. · 094d2bdb
      Ondřej Zajíček authored
      Allows to send and receive multiple routes for one network by one BGP
      session. Also contains necessary core changes to support this (routing
      tables accepting several routes for one network from one protocol).
      It needs some more cleanup before merging to the master branch.
      094d2bdb
  2. 06 Aug, 2012 1 commit
  3. 28 Apr, 2012 1 commit
  4. 24 Apr, 2012 1 commit
  5. 21 Apr, 2012 1 commit
  6. 15 Apr, 2012 1 commit
  7. 28 Mar, 2012 1 commit
  8. 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.
      c0adf7e9
  9. 24 Jan, 2012 1 commit
  10. 22 Dec, 2011 1 commit
  11. 07 Nov, 2011 1 commit
    • Ondřej Zajíček's avatar
      Implements protocol templates. · a7f23f58
      Ondřej Zajíček authored
      Based on the patch from Alexander V. Chernikov.
      Extended to support almost all protocols.
      Uses 'protocol bgp NAME from TEMPLATE { ... }' syntax.
      a7f23f58
  12. 13 Mar, 2011 1 commit
  13. 05 Jul, 2010 1 commit
  14. 07 Apr, 2010 1 commit
  15. 26 Feb, 2010 1 commit
    • Ondřej Zajíček's avatar
      Many changes in (mainly) kernel syncers. · ff2857b0
      Ondřej Zajíček authored
      - BSD kernel syncer is now self-conscious and can learn alien routes
      - important bugfix in BSD kernel syncer (crash after protocol restart)
      - many minor changes and bugfixes in kernel syncers and neighbor cache
      - direct protocol does not generate host and link local routes
      - min_scope check is removed, all routes have SCOPE_UNIVERSE by default
      - also fixes some remaining compiler warnings
      ff2857b0
  16. 21 Feb, 2010 1 commit
  17. 20 Feb, 2010 1 commit
  18. 13 Feb, 2010 2 commits
  19. 11 Feb, 2010 1 commit
    • Ondřej Zajíček's avatar
      Fixes a tricky bug in the pipe protocol. · c8387626
      Ondřej Zajíček authored
      When uncofiguring the pipe and the peer table, the peer table was
      unlocked when pipe protocol state changed to down/flushing and not to
      down/hungry. This leads to the removal of the peer table before
      the routes from the pipe were flushed.
      
      The fix leads to adding some pipe-specific hacks to the nest,
      but this seems inevitable.
      c8387626
  20. 03 Jan, 2010 1 commit
  21. 14 Dec, 2009 1 commit
  22. 02 Dec, 2009 1 commit
  23. 26 Nov, 2009 1 commit
  24. 17 Nov, 2009 1 commit
  25. 12 Oct, 2009 1 commit
  26. 19 Jun, 2009 1 commit
  27. 04 Jun, 2009 1 commit
  28. 31 May, 2009 1 commit
  29. 08 Nov, 2008 1 commit
  30. 19 May, 2000 1 commit
  31. 16 May, 2000 1 commit
  32. 13 May, 2000 1 commit
  33. 07 May, 2000 1 commit
    • Martin Mareš's avatar
      Added commands `show route protocol <p>' and `show route import <p>' which · ce1da96e
      Martin Mareš authored
      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.
      ce1da96e
  34. 06 May, 2000 1 commit
  35. 01 Apr, 2000 1 commit
    • Martin Mareš's avatar
      Changed initialization of protocol list -- now we call proto_build() instead · 3991d84e
      Martin Mareš authored
      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.
      3991d84e
  36. 19 Mar, 2000 1 commit
  37. 12 Mar, 2000 1 commit
  38. 07 Mar, 2000 1 commit
    • Martin Mareš's avatar
      Added protocol debugging flags (protocol.h: D_xxx), parsing of them · 96d8e3bf
      Martin Mareš authored
      in configuration files and commands for manipulating them.
      
      Current debug message policy:
      
         o  D_STATES, D_ROUTES and D_FILTERS are handled in generic code.
         o  Other debug flags should be handled in the protocols and whenever
            the flag is set, the corresponding messages should be printed
            using calls to log(L_TRACE, ...), each message prefixed with
            the name of the protocol instance. These messages should cover
            the whole normal operation of the protocol and should be useful
            for an administrator trying to understand what does the protocol
            behave on his network or who is attempting to diagnose network
            problems. If your messages don't fit to the categories I've defined,
            feel free to add your own ones (by adding them to protocol.h
            and on two places in nest/config.Y), but please try to keep the
            categories as general as possible (i.e., not tied to your protocol).
         o  Internal debug messages not interesting even to an experienced
            user should be printed by calling DBG() which is either void or
            a call to debug() depending on setting of the LOCAL_DEBUG symbol
            at the top of your source.
         o  Dump functions (proto->dump etc.) should call debug() to print
            their messages.
         o  If you are doing any internal consistency checks, use ASSERT
            or bug().
         o  Nobody shall ever call printf() or any other stdio functions.
      
      Also please try to log any protocol errors you encounter and tag them
      with the appropriate message category (usually L_REMOTE or L_AUTH). Always
      carefully check contents of any message field you receive and verify all
      IP addresses you work with (by calling ipa_classify() or by using the
      neighbour cache if you want to check direct connectedness as well).
      96d8e3bf
  39. 01 Mar, 2000 1 commit