Skip to content

Commit

Permalink
Merge from upstream bird v1.6.3
Browse files Browse the repository at this point in the history
  • Loading branch information
insequent committed Mar 13, 2017
2 parents 7a5cf42 + 017da76 commit 938df6d
Show file tree
Hide file tree
Showing 153 changed files with 13,823 additions and 3,726 deletions.
1 change: 0 additions & 1 deletion .cvsignore

This file was deleted.

18 changes: 18 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,21 @@
# Calico
/dist
.idea
*~
**/*.sw[pon]
calicorr.created
configure.lineno

# Upstream
/autom4te.cache/
/doc/*.html
/obj/
/Makefile
/bird
/birdc
/birdcl
/config.log
/config.status
/configure
/bird.conf
/bird.log
40 changes: 40 additions & 0 deletions NEWS
Original file line number Diff line number Diff line change
@@ -1,3 +1,43 @@
Version 1.6.3 (2016-12-21)
o Large BGP communities
o BFD authentication (MD5, SHA1)
o SHA1 and SHA2 authentication for RIP and OSPF
o Improved documentation
o Several bug fixes

Version 1.6.2 (2016-09-29)
o Fixes serious bug introduced in the previous version

Version 1.6.1 (2016-09-22)
o Support for IPv6 ECMP
o Better handling of IPv6 tentative addresses
o Several updates and fixes in Babel protocol
o Filter: New !~ operator
o Filter: ASN ranges in bgpmask
o KRT: New kernel protocol option 'metric'
o KRT: New route attribute 'krt_scope'
o Improved BIRD help messages
o Fixes memory leak in BGP multipath
o Fixes handling of empty path segments in BGP AS_PATH
o Several bug fixes

Version 1.6.0 (2016-04-29)
o Major RIP protocol redesign
o New Babel routing protocol
o BGP multipath support
o KRT: Add support for plenty of kernel route metrics
o KRT: Allow more than 256 routing tables
o Static: Allow to specify attributes for static routes
o Static: Support for BFD controlled static routes
o FreeBSD: Setup password for BGP MD5 authentication
o IO: Remove socket number limit
o Plenty of bug fixes

Upgrade notes:

For RIP, most protocol options were moved to interface blocks.


Version 1.5.0 (2015-04-20)
o Major OSPF protocol redesign.
o OSPFv2 multi-instance extension (RFC 6549).
Expand Down
155 changes: 94 additions & 61 deletions README
Original file line number Diff line number Diff line change
@@ -1,81 +1,114 @@
BIRD Internet Routing Daemon
BIRD Internet Routing Daemon

(c) 1998--2008 Martin Mares <[email protected]>
Home page http://bird.network.cz/
Mailing list [email protected]

(c) 1998--2008 Martin Mares <[email protected]>
(c) 1998--2000 Pavel Machek <[email protected]>
(c) 1998--2008 Ondrej Filip <[email protected]>
(c) 2009--2013 CZ.NIC z.s.p.o.
(c) 2009--2016 CZ.NIC z.s.p.o.

================================================================================

The BIRD project is an attempt to create a routing daemon running on UNIX-like
systems (but not necessarily limited to them) with full support of all modern
routing protocols, easy to use configuration interface and powerful route
filtering language.

If you want to help us debugging, enhancing and porting BIRD or just lurk
around to see what's going to develop from this strange creature, feel free
to subscribe to the BIRD users mailing list ([email protected]),
send subscribes to majordomo at the same machine). Bug reports, suggestions,
feature requests (: and code :) are welcome.
The BIRD project aims to develop a dynamic IP routing daemon with full support
of all modern routing protocols, easy to use configuration interface and
powerful route filtering language, primarily targeted on (but not limited to)
Linux and other UNIX-like systems and distributed under the GNU General
Public License.

You can download the latest version from ftp://bird.network.cz/pub/bird/
and look at the BIRD home page at http://bird.network.cz/.
What do we support
==================

BIRD development started as a student project at the Faculty of Math
and Physics, Charles University, Prague, Czech Republic under supervision
of RNDr. Libor Forst <[email protected]>. BIRD has been developed and supported
by CZ.NIC z.s.p.o. http://www.nic.cz/ since 2009.
o Both IPv4 and IPv6 (use --enable-ipv6 when configuring)
o Multiple routing tables
o Border Gateway Protocol (BGPv4)
o Routing Information Protocol (RIPv2, RIPng)
o Open Shortest Path First protocol (OSPFv2, OSPFv3)
o Babel Routing Protocol (Babel)
o Bidirectional Forwarding Detection (BFD)
o IPv6 router advertisements
o Static routes
o Inter-table protocol
o Command-line interface allowing on-line control and inspection of
status of the daemon
o Soft reconfiguration, no need to use complex online commands to
change the configuration, just edit the configuration file and notify
BIRD to re-read it and it will smoothly switch itself to the new
configuration, not disturbing routing protocols unless they are
affected by the configuration changes
o Powerful language for route filtering, see doc/bird.conf.example
o Linux, FreeBSD, NetBSD and OpenBSD ports

How to install BIRD
===================

o From standard distribution package of your OS (recommended)
o From official binary packages for Debian and Red Hat Linux
ftp://bird.network.cz/pub/bird/debian/
ftp://bird.network.cz/pub/bird/redhat/
o From source code of the latest stable release version
ftp://bird.network.cz/pub/bird/
o From source code of the actual development version
git://git.nic.cz/bird.git
https://gitlab.labs.nic.cz/labs/bird/

How to install BIRD from source code
------------------------------------

$ ./configure
$ make
$ su
# make install
# vi /usr/local/etc/bird.conf

See the file INSTALL for more information about installation from source code.

Documentation
=============

Online documentation is available at http://bird.network.cz/?get_doc or as HTML
files in the doc directory, you can install it by `make install-docs' and
rebuild it by `make docs', but you'll need SGMLtools and LaTeX to be installed
on your machine. You can also download a neatly formatted PostScript version as
a separate archive (bird-doc-*.tar.gz) from ftp://bird.network.cz/pub/bird/

User support
============

This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
If you want to help us debugging, enhancing and porting BIRD or just lurk
around to see what's going to develop, feel free to subscribe to the BIRD
users mailing list [email protected], just send `subscribe' to
[email protected]. Bug reports, suggestions, feature requests and
code are welcome! We don't use gitlab issues for reporting, sorry.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
Subscribe: http://bird.network.cz/mailman/listinfo/bird-users/
Archive: http://bird.network.cz/pipermail/bird-users/

You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
Licence
=======

This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.

How to install BIRD:
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.

./configure
make
make install
vi /usr/local/etc/bird.conf
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA

Online documentation is available as HTML files in the doc directory,
you can install it by `make install-docs' and rebuild it by `make docs',
but for the latter you need SGMLtools and LaTeX to be installed on your
machine. You can also download a neatly formatted PostScript version
as a separate archive (bird-doc-*.tar.gz).
History
=======

What do we support:
BIRD development started as a student project at the Faculty of Math
and Physics, Charles University, Prague, Czech Republic under supervision
of RNDr. Libor Forst <[email protected]>. BIRD has been developed and supported
by CZ.NIC z.s.p.o. http://www.nic.cz/ since 2009.

o Both IPv4 and IPv6 (use --enable-ipv6 when configuring)
o Multiple routing tables
o BGP
o RIP
o OSPF
o Static routes
o Inter-table protocol
o IPv6 router advertisements
o Command-line interface (using the `birdc' client; to get
some help, just press `?')
o Soft reconfiguration -- no online commands for changing the
configuration in very limited ways, just edit the configuration
file and issue a `configure' command or send SIGHUP and BIRD
will start using the new configuration, possibly restarting
protocols affected by the configuration changes.
o Powerful language for route filtering (see doc/bird.conf.example).

What is missing:

o See the TODO list

Good Luck and enjoy the BIRD :)
The BIRD Team
2 changes: 1 addition & 1 deletion client/birdc.c
Original file line number Diff line number Diff line change
Expand Up @@ -153,7 +153,7 @@ input_init(void)

// readline library does strange things when stdin is nonblocking.
// if (fcntl(0, F_SETFL, O_NONBLOCK) < 0)
// die("fcntl: %m");
// DIE("fcntl");
}

static void
Expand Down
9 changes: 5 additions & 4 deletions client/birdcl.c
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
#include <stdlib.h>
#include <unistd.h>
#include <termios.h>
#include <errno.h>

#include <sys/ioctl.h>
#include <signal.h>
Expand Down Expand Up @@ -109,7 +110,7 @@ more_begin(void)
tty.c_lflag &= (~ICANON);

if (tcsetattr (0, TCSANOW, &tty) < 0)
die("tcsetattr: %m");
DIE("tcsetattr");

more_active = 1;
}
Expand All @@ -120,11 +121,11 @@ more_end(void)
more_active = 0;

if (tcsetattr (0, TCSANOW, &stored_tty) < 0)
die("tcsetattr: %m");
DIE("tcsetattr");
}

static void
sig_handler(int signal)
sig_handler(int signal UNUSED)
{
cleanup();
exit(0);
Expand All @@ -137,7 +138,7 @@ input_init(void)
return;

if (tcgetattr(0, &stored_tty) < 0)
die("tcgetattr: %m");
DIE("tcgetattr");

if (signal(SIGINT, sig_handler) == SIG_IGN)
signal(SIGINT, SIG_IGN);
Expand Down
Loading

0 comments on commit 938df6d

Please sign in to comment.