]> git.ipfire.org Git - thirdparty/bird.git/commit
RPKI protocol with integrated RTRLib inside
authorPavel Tvrdík <pawel.tvrdik@gmail.com>
Thu, 17 Sep 2015 15:15:30 +0000 (17:15 +0200)
committerPavel Tvrdík <pawel.tvrdik@gmail.com>
Thu, 17 Dec 2015 17:33:16 +0000 (18:33 +0100)
commit4cf229a0b57cbae26f7f029de54572676bb45b34
tree683f6332d20e5fa59c8a84ee8d56517c9a546aff
parent33b4f40acce02c90b4b7766c5c94ebf2d22765c6
RPKI protocol with integrated RTRLib inside

Add 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

The code should work properly with one cache server per protocol.

A compilation has to be hacked with:
  $ ./configure LIBS='-lssh' ...

Example configuration of bird.conf:
  ...
  roa table roatable;

  protocol rpki {
      roa table roatable;
      cache "rpki-validator.realmv6.org";
  }

  protocol rpki {
    roa table roatable;
    cache "localhost" {
      port 2222;
      ssh encryption {
        bird private key "/home/birdgeek/.ssh/id_rsa";
        cache public key "/home/birdgeek/.ssh/known_hosts";
        user "birdgeek";
      };
    };
  }
  ...

TODO list:
 - load libssh2 using dlopen
 - support more cache servers per protocol
27 files changed:
conf/confbase.Y
configure.in
lib/socket.h
nest/config.Y
nest/proto.c
nest/protocol.h
nest/route.h
proto/Doc
proto/rpki/Doc [new file with mode: 0644]
proto/rpki/Makefile [new file with mode: 0644]
proto/rpki/config.Y [new file with mode: 0644]
proto/rpki/packets.c [new file with mode: 0644]
proto/rpki/packets.h [new file with mode: 0644]
proto/rpki/rpki.c [new file with mode: 0644]
proto/rpki/rpki.h [new file with mode: 0644]
proto/rpki/rtr.c [new file with mode: 0644]
proto/rpki/rtr.h [new file with mode: 0644]
proto/rpki/ssh_transport.c [new file with mode: 0644]
proto/rpki/ssh_transport.h [new file with mode: 0644]
proto/rpki/tcp_transport.c [new file with mode: 0644]
proto/rpki/tcp_transport.h [new file with mode: 0644]
proto/rpki/transport.c [new file with mode: 0644]
proto/rpki/transport.h [new file with mode: 0644]
sysdep/autoconf.h.in
sysdep/unix/io.c
tools/Makefile.in
tools/Rules.in