1. 18 Sep, 2018 1 commit
    • Ondřej Zajíček's avatar
      The MRT protocol · c0fc3e67
      Ondřej Zajíček authored
      The new MRT protocol is responsible for periodic RIB table dumps in the
      MRT format (RFC 6396). Also the existing code for BGP4MP MRT dumps is
      refactored and splitted between BGP to MRT protocols, will be more
      integrated into MRT in the future.
      
      Example:
      
      protocol mrt {
      	table "*";
      	filename "%N_%F_%T.mrt";
      	period 60;
      }
      
      It is partially based on the old MRT code from Pavel Tvrdik.
      c0fc3e67
  2. 11 Sep, 2018 1 commit
  3. 25 May, 2017 1 commit
  4. 08 Nov, 2016 1 commit
  5. 01 Nov, 2016 1 commit
  6. 27 Jun, 2016 1 commit
  7. 09 Nov, 2015 1 commit
    • Ondřej Zajíček's avatar
      Conf: Fixes bug in symbol lookup during reconfiguration · 9b9a7143
      Ondřej Zajíček authored
      Symbol lookup by cf_find_symbol() not only did the lookup but also added
      new void symbols allocated from cfg_mem linpool, which gets broken when
      lookups are done outside of config parsing, which may lead to crashes
      during reconfiguration.
      
      The patch separates lookup-only cf_find_symbol() and config-modifying
      cf_get_symbol(), while the later is called only during parsing. Also
      new_config and cfg_mem global variables are NULLed outside of parsing.
      9b9a7143
  8. 25 Mar, 2014 1 commit
  9. 20 Mar, 2014 1 commit
    • Ondřej Zajíček's avatar
      BGP graceful restart support. · 0c791f87
      Ondřej Zajíček authored
      Also significant core protocol state changes needed for that,
      global graceful restart recovery state and kernel proto support
      for recovery.
      0c791f87
  10. 25 Nov, 2013 1 commit
  11. 27 Dec, 2012 1 commit
    • Ondřej Zajíček's avatar
      Implements interface masks for choosing router id. · 79b4e12e
      Ondřej Zajíček authored
      Router ID could be automatically determined based of subset of
      ifaces/addresses specified by 'router id from' option. The patch also
      does some minor changes related to router ID reconfiguration.
      
      Thanks to Alexander V. Chernikov for most of the work.
      79b4e12e
  12. 26 Dec, 2012 1 commit
  13. 18 Jul, 2012 1 commit
  14. 18 Mar, 2012 1 commit
    • Ondřej Zajíček's avatar
      Route Origin Authorization basics. · af582c48
      Ondřej Zajíček authored
       - ROA tables, which are used as a basic part for RPKI.
       - Commands for examining and modifying ROA tables.
       - Filter operators based on ROA tables consistent with RFC 6483.
      af582c48
  15. 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
  16. 11 Sep, 2011 1 commit
  17. 17 Mar, 2010 1 commit
    • Ondřej Zajíček's avatar
      Adds check for no protocol and some minor CLI fixes. · 97e46d28
      Ondřej Zajíček authored
      - Adds check to deny config file with no specified protocol to prevent
        loading of empty config file.
      - Moves CLI init before config parse to receive immediate error message
        when cannot open control socket.
      - Fixes socket name path check and other error handling in CLI init.
      97e46d28
  18. 06 Feb, 2010 1 commit
  19. 03 Feb, 2010 1 commit
  20. 03 Jan, 2010 1 commit
  21. 23 Jun, 2009 1 commit
  22. 19 Jun, 2009 1 commit
  23. 18 Jun, 2009 1 commit
  24. 26 Oct, 2008 1 commit
    • Ondřej Zajíček's avatar
      Bugfix for routing table breaking bug. · 1567edea
      Ondřej Zajíček authored
      Here is a patch fixing a bug that causes breakage of a local routing
      table during shutdown of Bird. The problem was caused by shutdown
      of 'device' protocol before shutdown of 'kernel' protocol.  When
      'device' protocol went down, the route (with local network prefix)
      From different protocol (BGP or OSPF) became preferred and installed
      to the kernel routing table. Such routes were broken (like
      192.168.1.0/24 via 192.168.1.2). I think it is also the cause
      of problem reported by Martin Kraus.
      
      The patch disables updating of kernel routing table during shutdown of
      Bird. I am not sure whether this is the best way to fix it, I would
      prefer to forbid 'kernel' protocol to overwrite routes with
      'proto kernel'.
      
      The patch also fixes a problem that during shutdown sometimes routes
      created by Bird remained in the kernel routing table.
      1567edea
  25. 05 Jun, 2004 1 commit
  26. 08 Jun, 2000 1 commit
  27. 07 Jun, 2000 2 commits
  28. 03 Jun, 2000 1 commit
  29. 15 May, 2000 1 commit
  30. 28 Apr, 2000 1 commit
  31. 12 Mar, 2000 2 commits
  32. 07 Mar, 2000 1 commit
  33. 16 Jan, 2000 2 commits
  34. 06 Dec, 1999 1 commit
  35. 30 Nov, 1999 1 commit
  36. 31 Oct, 1999 1 commit
    • Martin Mareš's avatar
      Parse CLI commands. We use the same parser as for configuration files (because · bc2fb680
      Martin Mareš authored
      we want to allow filter and similar complex constructs to be used in commands
      and we should avoid code duplication), only with CLI_MARKER token prepended
      before the whole input.
      
      Defined macro CF_CLI(cmd, args, help) for defining CLI commands in .Y files.
      The first argument specifies the command itself, the remaining two arguments
      are copied to the help file (er, will be copied after the help file starts
      to exist). This macro automatically creates a skeleton rule for the command,
      you only need to append arguments as in:
      
      	CF_CLI(STEAL MONEY, <$>, [[Steal <$> US dollars or equivalent in any other currency]]): NUM {
      		cli_msg(0, "%d$ stolen", $3);
      	} ;
      
      Also don't forget to reset lexer state between inputs.
      bc2fb680
  37. 03 Aug, 1999 1 commit
    • Martin Mareš's avatar
      Basic support for IPv6. The system-dependent part doesn't work yet, · dce26783
      Martin Mareš authored
      but the core routines are there and seem to be working.
      
         o  lib/ipv6.[ch] written
         o  Lexical analyser recognizes IPv6 addresses and when in IPv6
            mode, treats pure IPv4 addresses as router IDs.
         o  Router ID must be configured manually on IPv6 systems.
         o  Added SCOPE_ORGANIZATION for org-scoped IPv6 multicasts.
         o  Fixed few places where ipa_(hton|ntoh) was called as a function
            returning converted address.
      dce26783