summaryrefslogtreecommitdiff
path: root/proto/ospf
AgeCommit message (Collapse)Author
2016-05-10Merge branch 'int-new' into int-new-mergedJan Moskyto Matejka
2016-05-10Merge remote-tracking branch 'origin/rte-update' into int-newJan Moskyto Matejka
2016-05-10Build system reworked to one global Makefile with includes and no nestingJan Moskyto Matejka
Also removed the lib-dir merging with sysdep. Updated #include's accordingly. Fixed make doc on recent Debian together with moving generated doc into objdir. Moved Makefile.in into root dir Retired all.o and birdlib.a Linking the final binaries directly from all the .o files.
2016-04-08Route update: move table lookup from protocols into rte_update2().Jan Moskyto Matejka
Many protocols do almost the same when creating a rte_update request before calling rte_update2(). This commit should simplify the protocol side of the route-creation routine.
2016-04-08Merge branch 'master' into int-new-channelsJan Moskyto Matejka
2016-04-07Channelize: rt_notify arg conversion table -> channelJan Moskyto Matejka
2016-03-23OSPF: Fix bogus LSA ID collisions between received and originated LSAsOndrej Zajicek (work)
After restart, LSAs locally originated by the previous instance are received from neighbors. They are installed to LSA db and flushed. If export of a route triggers origination of a new external LSA before flush of the received one is complete, the check in ospf_originate_lsa() causes origination to fail (because en->nf is NULL for the old LSA and non-NULL for the new LSA). The patch fixes this by updating the en->nf for LSAs being flushed (as is already done for empty ones). Generally, en->nf field deserves some better description in the code. Thanks to Jigar Mehta for analyzing the problem.
2016-03-23OSPF: Fix reading from freed memoryOndrej Zajicek (work)
Thanks to Pavel Tvrdik for noticing it.
2016-02-25OSPF: Multicast ability is irrelevant for stub interfacesOndrej Zajicek (work)
2016-02-01Channels - explicit links between protocols and tablesOndrej Zajicek (work)
The patch adds support for channels, structures connecting protocols and tables and handling most interactions between them. The documentation is missing yet.
2016-01-11Hidden AF_INET* inside sysdep/Jan Moskyto Matejka
2015-12-29Move ID allocator to a separate file and use it also in OSPFOndrej Zajicek (work)
2015-12-24Follow-up work on integrationOndrej Zajicek (work)
2015-12-21Modify FIB_WALK() and FIB_ITERATE() to work with new FIB codeOndrej Zajicek (work)
Returned user data pointers have offset relative to fib_node.
2015-12-21Follow-up work on integrationOndrej Zajicek (work)
Contains some patches from Jan Moskyto Matejka
2015-12-21Follow-up work on integrationOndrej Zajicek (work)
2015-12-20Integrated address print lengthsJan Moskyto Matejka
Minor changes by Ondrej Santiago Zajicek
2015-12-19Removed BITS_PER_IP_ADDRESS, MAX_PREFIX_LENGTH, BIRD_AFJan Moskyto Matejka
Explicit setting of AF_INET(6|) in IP socket creation. BFD set to listen on v6, without setting the V6ONLY flag to catch both v4 and v6 traffic. Squashing and minor changes by Ondrej Santiago Zajicek
2015-11-25Merge branch 'master' into int-newOndrej Zajicek (work)
2015-11-24MD5: Mormalize naming stylePavel Tvrdík
2015-11-12Follow-up commit on integrated BIRDOndrej Zajicek (work)
Use net_addr for interface address prefixes, support net_addr in configuration parser.
2015-11-05Initial commit on integrated BIRDOndrej Zajicek (work)
New data types net_addr and variants (in lib/net.h) describing network addresses (prefix/pxlen). Modifications of FIB structures to handle these data types and changing everything to use these data types instead of prefix/pxlen pairs where possible. The commit is WiP, some protocols are not yet updated (BGP, Kernel), and the code contains some temporary scaffolding. Comments are welcome.
2015-10-17Merge branch 'master' into rip-newOndrej Zajicek (work)
2015-10-05Major RIP redesignOndrej Zajicek (work)
The new RIP implementation fixes plenty of old bugs and also adds support for many new features: ECMP support, link state support, BFD support, configurable split horizon and more. Most options are now per-interface.
2015-08-19OSPF: Fixes some issues with link detectionOndrej Zajicek
Thanks to Bernardo Figueiredo and Israel G. Lugo for the bugreport.
2015-07-20Static: Allows to specify attributes for static routesOndrej Zajicek
The patch adds suport for specifying route attributes together with static routes, e.g.: route 10.1.1.0/24 via 10.0.0.1 { krt_advmss = 1200; ospf_metric1 = 100; };
2015-06-08Moving of mulipath merging code from OSPF to nestOndrej Zajicek
2015-06-08unsgined char -> bytePavel Tvrdík
2015-06-01Typo fix by Hans van KranenburgOndrej Filip
2015-05-01OSPF: Redesign LSA checksummingOndrej Zajicek
New LSA checksumming code separates generic Fletcher-16 and OSPF-specific code and avoids back and forth endianity conversions, making it much more readable and also several times faster.
2015-04-28OSPF: Fixes validation of LSA checksumsOndrej Zajicek
Prior to this patch, BIRD validates the OSPF LSA checksum by calculating a new checksum and comparing it with the checksum in the header. Due to the specifics of the Fletcher checksum used in OSPF, this is not necessarily correct as the checkbytes in the header may be calculated via a different means and end up with a different value that is nonetheless still correct. The documented means of validating the checksum as specified in RFC 905 B.4 is to calculate c0 and c1 from the unchanged contents of the packet, which must result in a zero value to be considered valid. Thanks to Chris Boot for the patch.
2015-04-18OSPF: Fixes handling of external routes with immediate gwOndrej Zajicek
The bug caused that received external LSAs with locally reachable next hops were ignored. I wonder why nobody noticed it sooner.
2015-04-12Minor fixesOndrej Zajicek
2015-02-21Store protocol config size inside protocol structureOndrej Zajicek
Make proto_config_new() use this info instead of supplied size. Thanks to Alexander V. Chernikov for the patch.
2014-11-03Bugfix in latest OSPF changes.Ondrej Zajicek
2014-11-03Bugfix to OSPF reconfiguration.Ondrej Zajicek
2014-11-03Fininshing integrated OSPF.Ondrej Zajicek
2014-10-24Integrated IP functions.Ondrej Zajicek
2014-10-24Refactoring of OSPF messages.Ondrej Zajicek
2014-07-21OSPF instance id option and documentation update.Ondrej Zajicek
2014-07-19Whitespace cleanup in OSPF.Ondrej Zajicek
2014-07-18Temporary integrated OSPF commit.Ondrej Zajicek
2014-06-26Temporary integrated OSPF commit.Ondrej Zajicek
2014-05-18IPv4/IPv6 integrated socket code.Ondrej Zajicek
2014-04-23Extends multipath support for OSPF.Ondrej Zajicek
Fixes cases where the same network or external route are propagated by several OSPF routes and some other corner cases in next hop construction and ECMP. Allows to specify whether external routes should be merged. Thanks to Peter Christensen for the original patch.
2014-03-31Check validity of interface definitions.Ondrej Zajicek
Thanks to Aleksey Berezin for the bugreport.
2014-02-06Fixes crash when state of disabled OSPF protocol is queried.Ondrej Zajicek
Thanks to Ondrej Caletka for the bugreport.
2014-02-06Silence this annoying warning.Ondrej Zajicek
2014-02-06Many changes in I/O and OSPF sockets and packet handling.Ondrej Zajicek
I/O: - BSD: specify src addr on IP sockets by IP_HDRINCL - BSD: specify src addr on UDP sockets by IP_SENDSRCADDR - Linux: specify src addr on IP/UDP sockets by IP_PKTINFO - IPv6: specify src addr on IP/UDP sockets by IPV6_PKTINFO - Alternative SKF_BIND flag for binding to IP address - Allows IP/UDP sockets without tx_hook, on these sockets a packet is discarded when TX queue is full - Use consistently SOL_ for socket layer values. OSPF: - Packet src addr is always explicitly set - Support for secondary addresses in BSD - Dynamic RX/TX buffers - Fixes some minor buffer overruns - Interface option 'tx length' - Names for vlink pseudoifaces (vlinkX) - Vlinks use separate socket for TX - Vlinks do not use fixed associated iface - Fixes TTL for direct unicast packets - Fixes DONTROUTE for OSPF sockets - Use ifa->ifname instead of ifa->iface->name
2013-11-25Merge branch 'master' into add-pathOndrej Zajicek