summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2017-03-09Static: Minor overhaulOndrej Zajicek (work)
The patch fixes several bugs introduced in previous changes, simplifies the protocol by handing routes uniformly, introduces asynchronous route processing to avoid issues with separate notifications for each next-hop in ECMP routes, and makes reconfiguration faster by avoiding quadratic complexity.
2017-03-09Nest: Allow iface-only neighborsOndrej Zajicek (work)
2017-02-24Nexthop: Fixed hostentryJan Moskyto Matejka
2017-02-22Nest: names for nhu_state valuesJan Moskyto Matejka
It took too much time to analyze what's the meaning of nhu_state values so I spent less than the same amount of time documenting it.
2017-02-22Babel post-merge fixesJan Moskyto Matejka
2017-02-22Merge branch 'int-new' into nexthop-mergedJan Moskyto Matejka
2017-02-20BGP: Update RFC referencesOndrej Zajicek (work)
2017-02-20Several minor fixesOndrej Zajicek (work)
2017-02-08Merge branch 'master' into int-newOndrej Zajicek (work)
2017-02-07BGP: Minor cleanupsOndrej Zajicek (work)
2017-01-24Filter: Fix missing case for !~ operatorOndrej Zajicek (work)
Thanks to Vincent Bernat for the patch.
2017-01-24BGP: Partial support for IPv4 routes with IPv6 next hop (RFC 5549)Ondrej Zajicek (work)
Mostly capability signalling
2017-01-22BGP: Support for AS confederations (RFC 5065)Ondrej Zajicek (work)
2017-01-17Fix IP_HDRINCL usage on FreeBSD 11Ondrej Zajicek (work)
FreeBSD 11 changed endianity of ip_len field from host order to network order. Also DragonFly BSD allegedly expects network order here. Thanks to Olivier Cochard-Labbé for the patch.
2017-01-03Minor cleanupsOndrej Zajicek (work)
2016-12-22VPN4 and VPN6 literalsJan Moskyto Matejka
From now on, protocol static accepts VPN4 and VPN6 addressess. With some concerns about VPN6 Route Distinguishers, I finally chose to have the same format as for VPN4 (where it is defined by RFC 4364).
2016-12-22MPLS: Label stack concatenation for recursive routesJan Moskyto Matejka
2016-12-22Netlink: MPLS routes in kernelJan Moskyto Matejka
Anyway, Bird is now capable to insert both MPLS routes and MPLS encap routes into kernel. It was (among others) needed to define platform-specific AF_MPLS to 28 as this constant has been assigned in the linux kernel. No support for BSD now, it may be added in the future.
2016-12-22Static: Protocol rework wrt. struct nexthop changes; MPLS label supportJan Moskyto Matejka
2016-12-22MPLS: added net_addr_mpls variant of net_addrJan Moskyto Matejka
2016-12-22Nexthop: Support for label stack in nestJan Moskyto Matejka
2016-12-22Removing (struct rta)->cast. Never used.Jan Moskyto Matejka
2016-12-22Merged multipath and single-path data structures.Jan Moskyto Matejka
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.
2016-12-21NEWS and version updatev1.6.3Ondrej Zajicek (work)
2016-12-20Netlink: fix occasional netlink hangs on busy machinesJan Moskyto Matejka
2016-12-20BGP: Report capabilities in show protocols allOndrej Zajicek (work)
2016-12-15OSPF: Fix ECMP external mergingOndrej Zajicek (work)
The variable nfa is not cleaned before each loop iteration and can have a wrong value of nfa.nhs_reuse from the previous step. Thanks to Bernardo Figueiredo for the bugreport and analysis.
2016-12-13Minor cleanupsOndrej Zajicek (work)
2016-12-13OSPF: Fix net-summary origination combined with stubnet optionOndrej Zajicek (work)
Stubnet nodes in OSPF FIB were removed during rt_sync(), but the pointer remained in top_hash_entry.nf, so net-summary LSA origination was confused, reported 'LSA ID collision' and net-summary LSAs were not originated properly. Thanks to Naveen Chowdary Yerramneni for bugreport and analysis.
2016-12-10Babel: Update to integrated branchOndrej Zajicek (work)
2016-12-07Documentation build system fixv2.0.0-pre0Ondrej Filip
2016-12-07NEWS and version updateOndrej Zajicek (work)
2016-12-07Doc: Add MP-BGP example config fileOndrej Zajicek (work)
2016-12-07BGP: Add support for flowspec (RFC 5575)Ondrej Zajicek (work)
2016-12-07Doc: Example simple configJan Moskyto Matejka
2016-12-07Tests: Fix buildOndrej Zajicek (work)
2016-12-07Client: No need for birdlib functionsOndrej Zajicek (work)
2016-12-07Basic flow specification support (RFC 5575)Ondrej Zajicek (work)
Add flow4/flow6 network and rt-table type and operations, config grammar and static protocol support. Squashed flowspec branch from Pavel Tvrdik.
2016-12-07RPKI: fixed some of the extended warningsJan Moskyto Matejka
2016-12-07Merge branch 'int-new-rpki-squashed' (early part) into int-newJan Moskyto Matejka
2016-12-07BGP redesignOndrej Zajicek (work)
Integrated and extensible BGP with generalized AFI handling, support for IPv4+IPv6 AFI and unicast+multicast SAFI.
2016-12-07LibSSH may be switched off together with RPKIJan Moskyto Matejka
2016-12-07SSH: Commented quirk based on undocumented behavior of LibSSHJan Moskyto Matejka
2016-12-07Make: upgrade Babel makefilesJan Moskyto Matejka
2016-12-07filter/test.conf: add ROA check and operator testsPavel Tvrdik
2016-12-07Add `.maxlen' operator to all ROA prefixes in filtersPavel Tvrdik
Example: bird> eval (1.2.0.0/16 max 20 as 1234).maxlen 20 Todo: Should be described in user docs
2016-12-07Add `.asn' operator to all ROA prefixes in filtersPavel Tvrdik
Example: bird> eval (1.2.0.0/16 max 20 as 1234).asn 1234 Todo: Should be described in user docs
2016-12-07Check table type at `show route for ...'Pavel Tvrdik
2016-12-07RPKI protocol with one cache server per protocolPavel Tvrdík
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"; }; } ...
2016-12-07Client: Includes stdlib.h for malloc()Pavel Tvrdik