summaryrefslogtreecommitdiff
path: root/sysdep
AgeCommit message (Collapse)Author
2017-12-10Lib: Check size of netsOndrej Zajicek (work)
2017-12-08Enable ECMP and Link detection by defaultOndrej Zajicek (work)
ECMP is not enabled on BSD, where it is not supported by BIRD.
2017-12-07Merge commit '7b2c5f3d2826e3175bf31b1c36056c9efc587a2b' into int-newOndrej Zajicek (work)
2017-12-07Merge commit '98bb80a243b58c43453e9be69d19d0350286549c' into int-newOndrej Zajicek (work)
2017-12-07BSD: Fix in the last commitOndrej Zajicek (work)
2017-12-07Timers: Revert temporary names and remove old timer.hOndrej Zajicek (work)
2017-12-07Timers: Fix TBF and some last remainsOndrej Zajicek (work)
2017-12-07Sysdep: Remove old timer codeOndrej Zajicek (work)
2017-12-07Nest: Update to new timersOndrej Zajicek (work)
2017-12-07Timers: Add typecast to unit-converting macrosOndrej Zajicek (work)
2017-12-07Kernel: Update to new timersOndrej Zajicek (work)
2017-12-07Timers: Parse and format functions for microsecond timesOndrej Zajicek (work)
Date/time output (e.g. in logs, show commands) can use %f to specify subsecond time. By default, millisecond precision is used in output.
2017-12-07Timers: Replace old timers with microsecond timersOndrej Zajicek (work)
The old timer interface is still kept, but implemented by new timers. The plan is to switch from the old inteface to the new interface, then clean it up.
2017-12-07Timers: Integrate microsecond timers to the main loopOndrej Zajicek (work)
2017-12-07Timers: Split microsecond timers from BFD code to libOndrej Zajicek (work)
2017-12-07BSD: Minor fix of penultimate commitOndrej Zajicek (work)
2017-12-07KRT: Minor fix of last commitOndrej Zajicek (work)
2017-12-07Nest: Maintain separate IPv4, IPv6 and LLv6 preferred addressesOndrej Zajicek (work)
Also redesign preferred address selection and update protocols to use appropriate preferred address. Based on a previous work by Jan Maria Matejka.
2017-09-06Basic VRF supportOndrej Zajicek (work)
Add basic VRF (virtual routing and forwarding) support. Protocols can be associated with VRFs, such protocols will be restricted to interfaces assigned to the VRF (as reported by Linux kernel) and will use sockets bound to the VRF. E.g., different multihop BGP instances can use diffent kernel routing tables to handle BGP TCP connections. The VRF support is preliminary, currently there are several limitations: - Recent Linux kernels (4.11) do not handle correctly sockets bound to interaces that are part of VRF, so most protocols other than multihop BGP do not work. This will be fixed by future kernel versions. - Neighbor cache ignores VRFs. Breaks config with the same prefix on local interfaces in different VRFs. Not much problem as single hop protocols do not work anyways. - Olock code ignores VRFs. Breaks config with multiple BGP peers with the same IP address in different VRFs. - Incoming BGP connections are not dispatched according to VRFs. Breaks config with multiple BGP peers with the same IP address in different VRFs. Perhaps we would need some kernel API to read VRF of incoming connection? Or probably use multiple listening sockets in int-new branch. - We should handle master VRF interface up/down events and perhaps disable associated protocols when VRF goes down. Or at least disable associated interfaces. - Also we should check if the master iface is really VRF iface and not some other kind of master iface. - BFD session request dispatch should be aware of VRFs. - Perhaps kernel protocol should read default kernel table ID from VRF iface so it is not necessary to configure it. - Perhaps we should have per-VRF default table.
2017-09-05KRT: Fix IPv6 ECMP handling with Linux 4.11+Ondrej Zajicek (work)
Starting from Linux 4.11, IPv6 ECMP routes are now notified using RTA_MULTIPATH, like IPv4 ones. The patch adds support for RTA_MULTIPATH parsing for IPv6 routes. This also enables to parse ECMP alien routes correctly. Thanks to Vincent Bernat for the original patch.
2017-09-04BSD: Fix alignment issueOndrej Zajicek (work)
Incorrect structure alignment breaks kernel routing table updates on FreeBSD/ARM (and perhaps other platforms). Thanks to Eugene Sevastyanov for the original patch.
2017-07-04Implement onlink flag for nexthopsOndrej Zajicek (work)
Add proper support for per-nexthop onlink flag in routes to handle next hop addresses that are not covered by interface IP ranges. Supported by kernel and static protocols. Thanks to Vincent Bernat for the idea.
2017-05-23Minor cleanups and fixesOndrej Zajicek (work)
2017-05-18Merge branch 'master' into int-newOndrej Zajicek (work)
2017-05-18Fix some forgotten warningsOndrej Zajicek (work)
2017-05-17Merge remote-tracking branch 'origin/int-new' into int-newOndrej Zajicek (work)
2017-05-16Linpool: default allocation sizeJan Moskyto Matejka
2017-05-16Merge branch 'master' into int-newOndrej Zajicek (work)
2017-05-16Remove autoconf macros for time_t and alignmentOndrej Zajicek (work)
Replaced by constant compile-time expressions. CPU_STRUCT_ALIGN is not really correct, but is consistent with the old behavior.
2017-05-16Minor autoconf cleanup and documentation updateOndrej Zajicek (work)
2017-05-16Some more autoconf cleanupsOndrej Zajicek (work)
Replace integer type width detection with C99 fixed-width types. Also remove some unused or obsolete code. Thanks to Ruben Kerkhof for the patchset.
2017-05-09Merge branch 'master' into int-newOndrej Zajicek (work)
2017-05-09Minor autoconf cleanup and documentation updateOndrej Zajicek (work)
2017-05-09Merge branch 'master' into int-newOndrej Zajicek (work)
2017-05-09Some more autoconf cleanupsOndrej Zajicek (work)
Replace integer type width detection with C99 fixed-width types. Also remove some unused or obsolete code. Thanks to Ruben Kerkhof for the patchset.
2017-05-03Device: Fix option 'primary'Ondrej Zajicek (work)
2017-04-29NEWS and version updateOndrej Zajicek (work)
2017-04-29BSD: Fix address scan on OpenBSDOndrej Zajicek (work)
2017-04-29Minor fixesOndrej Zajicek (work)
2017-04-12Adding also our copy of struct rtvia.Jan Moskyto Matejka
2017-04-12Include local lwtunnel.h unless found in systemJan Moskyto Matejka
2017-03-29Netlink: Change default kernel metric to 32Ondrej Zajicek (work)
This avoids collisions with non-BIRD routes in kernel tables.
2017-03-29Netlink: Better handling of an error caseOndrej Zajicek (work)
2017-03-28Netlink: Fix device route deleteOndrej Zajicek (work)
2017-03-28Netlink: Fix bug in RTA_PRIORITY handlingOndrej Zajicek (work)
2017-03-14Some autoconf cleanupsOndrej Zajicek (work)
The patch allows to use autoreconf, replaces some long obsolete constructs and does some other minor cleanups. Also, the file configure.in is renamed to configure.ac, as the old name has been deprecated for a long time. Thanks to Ruben Kerkhof for the patchset.
2017-02-22Merge branch 'int-new' into nexthop-mergedJan Moskyto Matejka
2017-02-20Several minor fixesOndrej Zajicek (work)
2017-02-08Merge branch 'master' into int-newOndrej 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.