Age | Commit message (Collapse) | Author |
|
|
|
RIP sockets for multiple ifaces collided, because we cannot bind to
a specific iface on BSD. Workarounded by SO_REUSEPORT.
Thanks to Eugene M. Zheganin for the bugreport.
|
|
Supports OSPF and BGP and also statically configured sessions.
|
|
|
|
Now it compiles and mostly works.
|
|
|
|
Thanks to Fritz Grimpen for the patch.
|
|
|
|
Interfaces for OSPF and RIP could be configured to use (and request)
TTL 255 for traffic to direct neighbors.
Thanks to Simon Dickhoven for the original patch for RIPng.
|
|
Implements support for IPv6 traffic class, sets higher priority for OSPF
and RIP outgoing packets by default and allows to configure ToS/DS/TClass
IP header field and the local priority of outgoing packets.
|
|
Several new configure command variants:
configure undo - undo last reconfiguration
configure timeout - configure with scheduled undo if not confirmed in timeout
configure confirm - confirm last configuration
configure check - just parse and validate config file
|
|
|
|
Remove support for historic Linux kernels,
merge krt-iface, krt-set and krt-scan stub headers.
|
|
|
|
|
|
Thanks to Alexander V. Chernikov for the patch.
|
|
|
|
|
|
|
|
Also does some incompatible changes to config file syntax,
like removing 'via IP' from multihop option.
|
|
|
|
protocol.
Which was, actually, a bug in timers - on older kernel, monotonic timer
is missing and the other implementation started with now == 0, which
collides with usage 0 as a special value in timer->expires field.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- Adds check to deny config file with no specified protocol to prevent
loading of empty config file.
- Moves CLI init before config parse to receive immediate error message
when cannot open control socket.
- Fixes socket name path check and other error handling in CLI init.
|
|
|
|
- BSD kernel syncer is now self-conscious and can learn alien routes
- important bugfix in BSD kernel syncer (crash after protocol restart)
- many minor changes and bugfixes in kernel syncers and neighbor cache
- direct protocol does not generate host and link local routes
- min_scope check is removed, all routes have SCOPE_UNIVERSE by default
- also fixes some remaining compiler warnings
|
|
|
|
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).
|
|
This also fixes bug that timer->recurrent was not cleared
in tm_new() and unexpected recurrence of startup timer
in BGP confused state machine and caused crash.
|
|
|
|
|
|
BGP on BSD was bound to random port. I am surprised that
nobody noticed it already.
|
|
|
|
If other side of a socket is sending data faster than
BIRD is processing, BIRD does not schedule any other
callbacks (events, timers, rx/tx callbacks).
|
|
|
|
FreeBSD coded added. BSD cannot set BGP passwords itself.
This has to be done by external command.
|