1. 13 Mar, 2018 3 commits
    • Jan Maria Matejka's avatar
      Filters: Removed FI_COMMA, not used for 19 years. · 74bfd2f9
      Jan Maria Matejka authored
      This instruction was removed in the commit linked below
      and never used ever again. Rest in peace.
      
      commit 84c7e194
      Author: Pavel Machek <pavel@ucw.cz>
      Date:   Tue Mar 2 19:49:28 1999 +0000
      74bfd2f9
    • Jan Maria Matejka's avatar
      Filter: recursion to loop · 7c601e6b
      Jan Maria Matejka authored
      It was supposed to do tail-recursion in interpret() but it didn't
      compile as such. Converting it to loop makes a significant filter
      performance improvement for flat filters.
      7c601e6b
    • Maria Jan Matejka's avatar
      Filter: Instruction codes named as enum · 5a14df39
      Maria Jan Matejka authored
      The two-letter instructions were quite messy but they could be easily
      read from memory dumps. Now GDB (since 2012) supports pretty printing
      enum values and GCC checks the switch construction for missing enum
      values so we are converting the nice two-byte values to enums.
      
      Anyway, the enum still keeps the old two-byte values to be able to read
      the instruction codes even without GDB from plain memory dump.
      5a14df39
  2. 08 Mar, 2018 2 commits
  3. 13 Feb, 2018 1 commit
  4. 16 Jan, 2018 2 commits
  5. 03 Jan, 2018 1 commit
  6. 08 Dec, 2017 2 commits
  7. 09 Nov, 2017 1 commit
  8. 04 Oct, 2017 1 commit
    • Michal 'vorner' Vaner's avatar
      RAdv: Support for more specific routes (RFC 4191) · 2a95e633
      Michal 'vorner' Vaner authored
      The patch implements Default Router Preferences and More-Specific Routes
      (RFC 4191) for RAdv protocol, allowing to announce router preference and
      more specific routes in router advertisements. Routes can be exported to
      RAdv like to regular routing protocols.
      
      Some cleanups, bugfixes and other changes done by Ondrej Zajicek.
      2a95e633
  9. 20 Sep, 2017 1 commit
  10. 19 Jun, 2017 1 commit
  11. 23 May, 2017 1 commit
  12. 16 May, 2017 1 commit
  13. 26 Apr, 2017 2 commits
  14. 18 Apr, 2017 1 commit
  15. 22 Mar, 2017 1 commit
  16. 14 Mar, 2017 1 commit
    • Ondřej Zajíček's avatar
      Minor cleanups · a5d2a344
      Ondřej Zajíček authored
      BTW, 'prefices' is hypercorrection, as 'prefix' is from 'praefixum' with
      plural 'praefixa'.
      a5d2a344
  17. 13 Mar, 2017 1 commit
  18. 09 Mar, 2017 1 commit
  19. 20 Feb, 2017 1 commit
  20. 24 Jan, 2017 1 commit
  21. 22 Dec, 2016 2 commits
    • Jan Moskyto Matejka's avatar
      5b208e29
    • Jan Moskyto Matejka's avatar
      Merged multipath and single-path data structures. · 4e276a89
      Jan Moskyto Matejka authored
      Dropped struct mpnh and mpnh_*()
      Now struct nexthop exists, nexthop_*(), and also included struct nexthop
      into struct rta.
      
      Also converted RTD_DEVICE and RTD_ROUTER to RTD_UNICAST. If it is needed
      to distinguish between these two cases, RTD_DEVICE is equivalent to
      IPA_ZERO(a->nh.gw), RTD_ROUTER is then IPA_NONZERO(a->nh.gw).
      
      From now on, we also explicitely want C99 compatible compiler. We assume
      that this 20-year norm should be known almost everywhere.
      4e276a89
  22. 07 Dec, 2016 6 commits
    • Ondřej Zajíček's avatar
      Basic flow specification support (RFC 5575) · 77234bbb
      Ondřej Zajíček authored
      Add flow4/flow6 network and rt-table type and operations, config grammar
      and static protocol support.
      
      Squashed flowspec branch from Pavel Tvrdik.
      77234bbb
    • Ondřej Zajíček's avatar
      BGP redesign · d15b0b0a
      Ondřej Zajíček authored
      Integrated and extensible BGP with generalized AFI handling,
      support for IPv4+IPv6 AFI and unicast+multicast SAFI.
      d15b0b0a
    • Pavel Tvrdik's avatar
      cd6ca9b1
    • Pavel Tvrdik's avatar
      Add `.maxlen' operator to all ROA prefixes in filters · e58f8c28
      Pavel Tvrdik authored
      Example:
        bird> eval (1.2.0.0/16 max 20 as 1234).maxlen
        20
      
      Todo: Should be described in user docs
      e58f8c28
    • Pavel Tvrdik's avatar
      Add `.asn' operator to all ROA prefixes in filters · 69ae5784
      Pavel Tvrdik authored
      Example:
        bird> eval (1.2.0.0/16 max 20 as 1234).asn
        1234
      
      Todo: Should be described in user docs
      69ae5784
    • Pavel Tvrdík's avatar
      RPKI protocol with one cache server per protocol · 65d2a88d
      Pavel Tvrdík authored
      The RPKI protocol (RFC 6810) using the RTRLib
      (http://rpki.realmv6.org/) that is integrated inside
      the BIRD's code.
      
      Implemeted transports are:
       - unprotected transport over TCP
       - secure transport over SSHv2
      
      Example configuration of bird.conf:
        ...
        roa4 table r4;
        roa6 table r6;
      
        protocol rpki {
          debug all;
      
          # Import both IPv4 and IPv6 ROAs
          roa4 { table r4; };
          roa6 { table r6; };
      
          # Set cache server (validator) address,
          # overwrite default port 323
          remote "rpki-validator.realmv6.org" port 8282;
      
          # Overwrite default time intervals
          retry   10;         # Default 600 seconds
          refresh 60;         # Default 3600 seconds
          expire 600;         # Default 7200 seconds
        }
      
        protocol rpki {
          debug all;
      
          # Import only IPv4 routes
          roa4 { table r4; };
      
          # Set cache server address to localhost,
          # use default ports tcp => 323 or ssh => 22
          remote 127.0.0.1;
      
          # Use SSH transport instead of unprotected transport over TCP
          ssh encryption {
            bird private key "/home/birdgeek/.ssh/id_rsa";
            remote public key "/home/birdgeek/.ssh/known_hosts";
            user "birdgeek";
          };
        }
        ...
      65d2a88d
  23. 30 Nov, 2016 3 commits
  24. 16 Nov, 2016 3 commits