Age | Commit message (Collapse) | Author |
|
Allows to send and receive multiple routes for one network by one BGP
session. Also contains necessary core changes to support this (routing
tables accepting several routes for one network from one protocol).
It needs some more cleanup before merging to the master branch.
|
|
|
|
Conflicts:
nest/config.Y
nest/rt-table.c
proto/bgp/bgp.c
|
|
|
|
And also fixes some minor bugs in limits.
|
|
|
|
Thanks to Alexander V. Chernikov for the original patch.
|
|
|
|
The nest-protocol interaction is changed to better handle multitable
protocols. Multitable protocols now declare that by 'multitable' field,
which tells nest that a protocol handles things related to proto-rtable
interaction (table locking, announce hook adding, reconfiguration of
filters) itself.
Filters and stats are moved to announce hooks, a protocol could have
different filters and stats to different tables.
The patch is based on one from Alexander V. Chernikov, thanks.
|
|
The patch from Alexander V. Chernikov.
|
|
Thanks Matthias Schiffer for the original patch.
|
|
Allows using NEF_STICKY neighbors with link-local addresses. This is
used for static route nexthops, they can be specified like fe80::1%eth0
.
|
|
Thanks to Alexander V. Chernikov for many suggestions.
|
|
Based on the patch from Alexander V. Chernikov.
Extended to support almost all protocols.
Uses 'protocol bgp NAME from TEMPLATE { ... }' syntax.
|
|
Shows neighbor IP and ASN even if protocol is down.
|
|
Thanks to Alexander V. Chernikov for the patch.
|
|
|
|
|
|
Also add a new option 'dual' for the old behavior.
|
|
|
|
|
|
Also does some incompatible changes to config file syntax,
like removing 'via IP' from multihop option.
|
|
Hostcache is a structure for monitoring changes in a routing table that
is used for routes with dynamic/recursive next hops. This is needed for
proper iBGP next hop handling.
|
|
|
|
|
|
|
|
|
|
|
|
Error happened when too many BGP connections arrived in one moment
(ECONNABORTED).
|
|
|
|
|
|
|
|
|
|
|
|
There is no reak callback scheduler and previous behavior causes
bad things during hard congestion (like BGP hold timeouts).
Smart callback scheduler is still missing, but main loop was
changed such that it first processes all tx callbacks (which
are fast enough) (but max 4* per socket) + rx callbacks for CLI,
and in the second phase it processes one rx callback per
socket up to four sockets (as rx callback can be slow when
there are too many protocols, because route redistribution
is done synchronously inside rx callback). If there is event
callback ready, second phase is skipped in 90% of iterations
(to speed up CLI during congestion).
|
|
|
|
|
|
To be consistent with other daemons.
|
|
|
|
|
|
|
|
The difference is here to reject incoming connections in the
first case.
|
|
|
|
routes.
|
|
When sending 'third party' BGP update, Bird used bogus link local
addresses instead of addresses it received before.
|
|
options.
|
|
AS4 optional attribute errors were handled by session
drop (according to BGP RFC). This patch implements
error handling according to new BGP AS4 draft (*)
- ignoring invalid AS4 optional attributes.
(*) http://www.ietf.org/internet-drafts/draft-chen-rfc4893bis-02.txt
|
|
Add 'capabilities' option, change default behavior to advertise ipv4,
add some checks and ignore incoming capabilities when capabilities
are disabled.
|
|
When capability related error is received, next connect will be
without capabilities. Also cease error subcodes descriptions
(according to [RFC4486]) are added.
|
|
BGP keeps its copy of configuration ptr and didn't update it during
reconfiguration. But old configuration is freed during reconfiguration.
That leads to unnecessary reset of BGP connection during reconfiguration
(old conf is corrupted and therefore different) and possibly other strange
behavior.
|