summaryrefslogtreecommitdiff
path: root/proto/rip/rip.c
AgeCommit message (Collapse)Author
2019-07-18BFD: Support for VRFsOndrej Zajicek (work)
Allow multiple BFD instances in separate VRFs, dispatch BFD requests according to VRFs. Thanks to Alexander Zubkov for notice and patches.
2018-11-08Nest: Improve keeping track of IPv6 link-local addressesOndrej Zajicek (work)
Most protocols in IPv6 mode use link-local source addresses and expect that there is one on each active interface. The old code depended on assumption that if there is some IPv6 address on iface, there is also an IPv6 link-local address on that iface (added by kernel when the iface went up). Unfortunately, that is not generally true, as a configured global address sometimes ceases to be tentative (finishes DOD) before a link-local address on the same iface. In such case a protocol iface (namely RAdv and Babel) is activated, but fails to found link-local address and stays in failed state. The patch fixes that by tracking 'primary' IPv6 link-local address, sending iface restart notifications when it changes and making protocols ignore iface-up notifications when no such address is selected for an iface.
2016-11-02RIP: Use message authentication interfaceOndrej Zajicek (work)
Based on former commit from Pavel Tvrdik
2016-11-01Build: switch on -Wextra, get rid of most of the warningsJan Moskyto Matejka
There are several unresolved -Wmissing-field-initializers on older versions of GCC than 5.1, all of them false positive.
2016-09-14Nest: Keep multipath next hops sortedOndrej 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-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.
2015-02-21Replacing GNU old-style field designator extensionPavel Tvrdik
2014-10-24Integrated IP functions.Ondrej Zajicek
2014-05-18IPv4/IPv6 integrated socket code.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-23Merge branch 'master' into add-pathOndrej Zajicek
Conflicts: filter/filter.c nest/proto.c nest/rt-table.c proto/bgp/bgp.h proto/bgp/config.Y
2013-09-16BFD work in progress.Ondrej Zajicek
Now it compiles and mostly works.
2013-06-25Implements TTL security for OSPF and RIP.Ondrej Zajicek
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.
2013-06-24Better packet priority and traffic class handling.Ondrej Zajicek
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.
2013-02-26Small typos fixed.Ondrej Filip
2013-02-26Redundant lines removed.Ondrej Filip
2013-02-24Allow 1 sec RIP update.Ondrej Filip
2013-02-22Use BIRD's ASSERT instead of assert.hOndrej Filip
2013-02-21Hotfix to solve an issue with delaying timers reported by Aleksey Chudov.Ondrej Filip
2012-08-14Implements ADD-PATH extension for BGP.Ondrej Zajicek
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.
2012-05-11Minor cleanups.Ondrej Zajicek
2012-03-15Fixes RIPng compatibility.Ondrej Zajicek
Also probably breaks compatibility with older BIRDs, but RIPng not really worked here. Thanks to Goesta Smekal for the original patch.
2012-03-15Fixes RIPng socket and neighbor handling.Ondrej Zajicek
RIPng did not really work because of link-local addresses. Thanks to Roman Hoog Antink for some notes.
2012-01-24Assign default protocol preference via proto_config_new().Ondrej Zajicek
The patch from Alexander V. Chernikov.
2011-11-07Implements protocol templates.Ondrej Zajicek
Based on the patch from Alexander V. Chernikov. Extended to support almost all protocols. Uses 'protocol bgp NAME from TEMPLATE { ... }' syntax.
2011-10-26Fixes sockets for IPv4 RIP.Ondrej Zajicek
Thanks Roman Hoog Antink for a suggestion.
2011-03-28Minor changes in addresses.Ondrej Zajicek
Mainly changes IA_UNNUMBERED to IA_PEER and adds IA_HOST. Also do not show broadcast addr in show interfaces. Nobody cares for that.
2010-09-03Fixes a crash in RIP during reconfigure.Ondrej Zajicek
2010-09-03Fixes a memory leak in RIP.Ondrej Zajicek
2010-03-14Temporary OSPF commit - sockets.Ondrej Zajicek
2010-02-21Fix configure to enable warnings and fix most of them.Ondrej Zajicek
2010-02-13Removes phantom protocol from the pipe design.Ondrej Zajicek
It seems that by adding one pipe-specific exception to route announcement code and by adding one argument to rt_notify() callback i could completely eliminate the need for the phantom protocol instance and therefore make the code more straightforward. It will also fix some minor bugs (like ignoring debug flag changes from the command line).
2009-09-04Temporary OSPFv3 development commit (changing multicast support).Ondrej Zajicek
2009-06-01The pipe cleanup.Ondrej Zajicek
2009-05-31Changes pipes to transfer all routes between routing table, not just optimal ↵Ondrej Zajicek
routes.
2009-05-06A change in OSPF and RIP interface patterns.Ondrej Zajicek
Allows to add more interface patterns to one common 'options' section like: interface "eth3", "eth4" { options common to eth3 and eth4 }; Also removes undocumented and unnecessary ability to specify more interface patterns with different 'options' sections: interface "eth3" { options ... }, "eth4" { options ... };
2008-11-08Proper format functions for ORIGINATOR_ID, CLUSTER_LISTOndrej Zajicek
2004-07-15Minor bugfix to compile bird in IPv6.Ondrej Filip
2004-07-13Bugfix - RIP now updates routes with worse metric.Ondrej Filip
2004-06-26Password management redesigned (untested).Ondrej Filip
2004-06-23Small typo changes.Ondrej Filip
2004-06-23Hotfix to problem with metric change reported by Luca.Ondrej Filip
2004-06-23P->magic used just in LOCAL_DEBUG modeOndrej Filip
2004-06-05... and in rip (there are even unused functions!).Martin Mares
2004-05-31Killed a couple of unused variables.Martin Mares
We really should compile with warnings enabled.
2004-05-31Make RIP nolisten mode actually work. The socket is required forMartin Mares
sending, the received data has to be discarded instead. (patch by Andreas Steinmetz modified by me)
2003-12-06Fix reporting of RIP socket errors. Thanks to Eric Leblond for the patch.Martin Mares
2002-03-10Applied Pavel's fix for broadcast/multicast mode.Martin Mares
2000-06-21RIP bugfixPavel Machek