Giter VIP home page Giter VIP logo

bird's Introduction

                       BIRD Internet Routing Daemon

                     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--2016  CZ.NIC z.s.p.o.

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

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.

What do we support
==================

	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
============

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.

Subscribe:	http://bird.network.cz/mailman/listinfo/bird-users/
Archive:	http://bird.network.cz/pipermail/bird-users/

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.

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.

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

History
=======

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.


Good Luck and enjoy the BIRD :)
						The BIRD Team

bird's People

Contributors

gollux avatar marenamat avatar oerdnj avatar ondrej111 avatar pavelmachek avatar shaddeus avatar stintel avatar tmshlvck avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar  avatar

bird's Issues

in 'birdc show protocols all XXX' shut the last shutdown communication

in this overview, the shutdown communication should be displayed after Received: Administrative shutdown

root@scarlett:/home/job# birdc show protocols all kali1
BIRD 1.6.0 ready.
name     proto    table    state  since       info
kali1    BGP      master   start  16:21:24    Active        Received: Administrative shutdown
  Preference:     100
  Input filter:   REJECT
  Output filter:  REJECT
  Routes:         0 imported, 0 exported, 0 preferred
  Route change stats:     received   rejected   filtered    ignored   accepted
    Import updates:              0          0          0          0          0
    Import withdraws:            0          0        ---          0          0
    Export updates:              0          0          0        ---          0
    Export withdraws:            0        ---        ---        ---          0
  BGP state:          Active
    Neighbor address: 165.254.255.17
    Neighbor AS:      15562
    Connect delay:    2/5
    Last error:       Received: Administrative shutdown

root@scarlett:/home/job#

show shutdown communication in syslog

Currently if BIRD receives a Cease Administrative shutdown (6, 2) it dumps the hex, what it should do is dump the UTF-8:

Dec 13 15:48:01 scarlett bird: kali1: Received: Administrative shutdown: 27706d61636374207265636569766564

should be:

Dec 13 15:48:01 scarlett bird: kali1: Received: Administrative shutdown: "pmacct received SIGINT - shutting down"

Allow shutdown communication through configuration

root@scarlett:/home/job# cat /etc/bird/bird.conf | tail -n 7
protocol bgp kali1 {
	local as 15562;
	neighbor 165.254.255.17 as 15562;
	source address 165.254.255.1;
	import none;
	export none;
       disabled "hello darkness my old friend";
}

BIRD allows you to shutdown a session (or keep it down) by setting disabled in the configuration stanza. The new feature should be that if you enter a string after the keyword disabled, that the string is considered the content of the shutdown communication.

If the string is too long, an error should be generated when bird is attempting to boot, or its configuration is reloaded through birdc configure.

If the session is already down (in case BIRD is running or booting), nothing needs to be done (like today with disabled). If the session is up, and BIRD's new config contains disabled 'herp'; then the session should be torn down and the shutdown communication send.

shut a peer and send a shutdown communication

BIRD allows you to shutdown a peer from the command line, the trailing string should be considered the shutdown communication if presented:

root@scarlett:/home/job# birdc disable kali "hello darkness my old friend"
BIRD 1.6.0 ready.
syntax error

("hello darkness my old friend" is the shutdown communication)

If the string is too long, a useful error should be provided to the user. If there is no string, no shutdown communication should be sent.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.