summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2020-05-01Expensive check declarationMaria Matejka
Intended to be run at every operation with complex data structures to check their consistency and validity.
2020-05-01IPv6 address parser: fail on incomplete addressesMaria Matejka
2020-05-01Filter: Don't alloc varargs array if its length would be zeroMaria Matejka
2020-05-01Filter: Removed forgotten dead codeMaria Matejka
2020-05-01Non-null function argument declarationMaria Matejka
2020-04-28More assertion categoriesMaria Matejka
2020-04-28Not calling memcpy with n=0.Maria Matejka
2020-04-28Filter: fixed omitted overflow check in EC constructorMaria Matejka
2020-04-28Makefile rule for static analyzerMaria Matejka
2020-04-22Tests: Activate BGP testOndrej Zajicek (work)
2020-04-15BGP: Fix handling of 16bit-only ASN translationNasato Goto
The bug generated invalid AGGREGATOR attribute during translation of 32bit ASN to 16bit-only BGP peer. The patch fixes that.
2020-04-09Configuration strings are constant.Maria Matejka
This is merely a const propagation. There was no problem in there.
2020-04-08Doc: Update prefix set commentOndrej Zajicek (work)
2020-04-05Fletcher16 test fixed to work at bigendian architectures.Maria Matejka
To be honest, it was wrong in concept, anyway it accidentally worked.
2020-03-26Filter: Remove mixed address tests and fix formattingOndrej Zajicek (work)
2020-03-26Filter: Optimize IPv4 prefix setsOndrej Zajicek (work)
Use separate IPv4 and IPv6 implementation of prefix sets. Just this change makes IPv4 prefix sets 60% smaller and 50% faster.
2020-03-14RIP: Improvements to demand circuit modeOndrej Zajicek (work)
Restart iface after changing demand circuit mode during reconfiguration. Fix next_regular interval reset during reconfiguration. Send flushing response when iface goes down.
2020-03-12Perf: changed route update pattern to be more like common protocolsMaria Matejka
2020-03-07Netlink: Handle interfaces with missing broadcast addressesOndrej Zajicek (work)
2020-03-05Tests: Enforce cleanup before running a testOndrej Zajicek (work)
2020-03-05Tests: Activate OSPF testsOndrej Zajicek (work)
2020-03-03Flowspec: Fix testsOndrej Zajicek (work)
Missing dst no longer generates error.
2020-03-03BGP: Handle flowspec rules without dst partOndrej Zajicek (work)
The RFC 5575 does not explicitly reject flowspec rules without dst part, it just requires dst part in validation procedure for feasibility, which we do not implement anyway. Thus flow without dst prefix is syntactically valid, but unfeasible (if feasibilty testing is done). Thanks to Alex D. for the bugreport.
2020-02-27BGP: Support for MD5SIG together with remote rangeOndrej Zajicek (work)
When dynamic BGP with remote range is configured, MD5SIG needs to use newer socket option (TCP_MD5SIG_EXT) to specify remote addres range for listening socket. Thanks to Adam Kułagowski for the suggestion.
2020-02-21RIP: Demand circuit support (RFC 2091)Ondrej Zajicek (work)
2020-02-14RIP: Fix crash when interface is removedOndrej Zajicek (work)
Recent changes in neighbor code caused RIP to access neighbor field which is NULL during interface/neighbor removal and caused crash when debug messages are enabled. Use correct field to get iface from neighbor.
2020-02-04Conf: Better error message when reading iproute2 configMaria Matejka
Reported by: Martin Weinelt <martin@darmstadt.freifunk.net>
2020-02-04RPKI: Allow build without libSSHMaria Matejka
2020-02-04Added missing externMaria Matejka
Thanks to Robert Scheck <bird@robert-scheck.de> who reported it and Toke Høiland-Jørgensen <toke@toke.dk> who suggested this patch.
2020-01-28BFD: Option to specify which class of BFD sessions are acceptedOndrej Zajicek (work)
Allows to configure IPv4/IPv6-only or direct/multihop-only BFD protocol instances.
2020-01-09OSPF: Fix bad initialization of tx_hdrlen fieldOndrej Zajicek (work)
Function ifa_tx_hdrlen() uses fields autype and passwords, so it must be called after these are set. Thanks to Kenth Eriksson for the bugreport.
2020-01-07KRT: Improve syncer code to avoid using temporary data in rtableOndrej Zajicek (work)
The old code stored route verdicts and temporary routes directly in rtable. The new code do not store received routes (it immediately compares them with exported routes and resolves conflicts) and uses internal bitmap to keep track of which routes were received and which needs to be reinstalled. By not putting 'invalid' temporary routes to rtable, we keep rtable in consistent state, therefore scan no longer needs to be atomic operation and could be splitted to multiple events.
2020-01-07Filter: Fix typecheck for AND/OR.Ondrej Zajicek (work)
Do not apply dynamic type check for second argument of AND/OR, as it is not evaluated immediately like regular argument would be. Thanks to Mikael for the bugreport.
2019-12-19KRT: Remove KRF_SYNC_ERROR flagOndrej Zajicek (work)
This info is now stored in an internal bmap. Unfortunately, net.flags is still needed for temporary kernel data.
2019-12-17KRT: Fix removal of KRF_INSTALLEDOndrej Zajicek (work)
Use route id from net->routes to check export_map. Route received from sysdep KRT code does not have proper id.
2019-12-17Test: Improve filter_testOndrej Zajicek (work)
Initial parsing of test.conf must be done directly in filter_test main, while reconfiguration is handled as a regular test. Also fix several minor issues in test code.
2019-12-16Doc: Fix documentation of BGP gateway optionOndrej Zajicek (work)
Thanks to Nico Schottelius for the bugreport.
2019-12-16KRT: Remove KRF_INSTALLED flagOndrej Zajicek (work)
The same information is stored in export_map of kernel protocol.
2019-12-12Filter: fix filter comparison testMaria Matejka
2019-12-10Filter: Fix function comparisonOndrej Zajicek (work)
Check the SYM_FLAG_SAME in new symbols. The old code checked that in old symbols (f2).
2019-12-10Nest: Fix bitmap cleanupOndrej Zajicek (work)
Channel currently does not have independent pool and uses protocol pool, which is freed when protocol changes state to down, while channel is still in flushing. Move some some cleanup code to channel_do_flush() so it is done before freeing of protocol pool.
2019-12-09Filter: Add support for src/dst accessors for Flowspec and SADROndrej Zajicek (work)
2019-12-03BGP: Add some statisticsOndrej Zajicek (work)
Add some statistic counters to BGP consistent with BGP MIB (RFC 4273), including persistent 'FSM established transitions'.
2019-11-26CI: Add more build testsMatous Holinka
Add more Docker images with distributions (CentOS 8, Debian 10, Fedora 27-31, OpenSUSE 15.0 & 15.1, and Ubuntu 18.04 & 19.04). Fix some issues with older ones.
2019-11-26CI: Cleanup of job templatesOndrej Zajicek (work)
Env templates were used for separate IPv4/IPv6 build, that is no longer needed.
2019-11-26CI: Update new netlab locationOndrej Zajicek (work)
2019-11-26CI: Minor updateOndrej Zajicek (work)
2019-11-26Apply relevant changes from branch mh-test-gitlabOndrej Zajicek (work)
2019-11-26Gitlab testOndrej Zajicek (work)
2019-11-26Nest: Use bitmaps to keep track of exported routesOndrej Zajicek (work)
Use a hierarchical bitmap in a routing table to assign ids to routes, and then use bitmaps (indexed by route id) in channels to keep track whether routes were exported. This avoids unreliable and inefficient re-evaluation of filters for old routes in order to determine whether they were exported.