summaryrefslogtreecommitdiff
path: root/proto/ospf/lsupd.c
AgeCommit message (Collapse)Author
2024-01-22Trivial code cleanupsOndrej Zajicek
2021-05-09OSPF: Packets on PtP networks should be always sent to AllSPFRoutersOndrej Zajicek (work)
As specified in RFC 2328 8.1: "On physical point-to-point networks, the IP destination is always set to the address AllSPFRouters." Note that this likely break setups with multiple neighbors on a network configured as PtP, which worked before. These should be configured as PtMP. Thanks to Senthil Kumar Nagappan for the original patch and to Joakim Tjernlund for suggestions.
2021-05-09OSPF: Minor refactoring of packet sending codeOndrej Zajicek (work)
Common behavior for LSupd and delayed LSack moved to ospf_send_to_iface() and other minor changes.
2019-06-30OSPF: Support for graceful restartOndrej Zajicek (work)
Implement OSPFv2 (RFC 3623) and OSPFv3 (RFC 5187) graceful restart, for both restarting and helper sides. Graceful restart is initiated by 'graceful down' command.
2019-01-24OSPF: Opaque LSAs and Router Information LSAOndrej Zajicek (work)
Add support for OSPFv2 Opaque LSAs (RFC 5250) and for Router Information LSA (RFC 7770). The second part is here mainly for testing opaque LSAs.
2017-12-07Timers: Revert temporary names and remove old timer.hOndrej Zajicek (work)
2017-12-07OSPF: Update to new timersOndrej Zajicek (work)
Note that recurrent timers are currently limited to ~1 hour.
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.
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.
2014-11-03Fininshing integrated OSPF.Ondrej Zajicek
2014-10-24Refactoring of OSPF messages.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-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-22Adds check for buffer size in OSPF LSA flood.Ondrej Zajicek
2013-09-11OSPF state machine fix - thanx to Alexander V. ChernikovOndrej Filip
2012-10-31Fixes another bug in OSPFv3 vlinks.Ondrej Zajicek
2012-10-29Fixes several bugs related to OSPFv3 vlinks.Ondrej Zajicek
2012-08-06Some minor fixes.Ondrej Zajicek
2012-05-14Real broadcast mode for OSPFv2.Ondrej Zajicek
2011-09-03Fixes for OSPF NSSA handling.Ondrej Zajicek
2011-07-20OSPF NSSA support, part one.Ondrej Zajicek
2011-06-20Fixes a bug in OSPF causing DoS by an invalid packet.Ondrej Zajicek
2010-12-24Implements Point-to-MultiPoint interface type for OSPF.Ondrej Zajicek
2010-11-04Fixes a bug in LSA update of large LSAs.Ondrej Zajicek
2010-05-07Fixes a bug in LSA flooding.Ondrej Zajicek
LSAs are sometimes prematurely removed from LS retransmission lists.
2010-03-11Merge branch 'new' into socket2Ondrej Zajicek
2010-03-11Temoporary OSPF commit - socket changes.Ondrej Zajicek
2010-02-21Fix configure to enable warnings and fix most of them.Ondrej Zajicek
2010-02-11Temporary OSPF commit - socket changes.Ondrej Zajicek
2009-12-14Merge branch 'dev' into ospf3Ondrej Zajicek
Conflicts: proto/ospf/lsreq.c proto/ospf/lsupd.c proto/ospf/rt.c
2009-12-14Minor updates.Ondrej Zajicek
2009-12-12Minor fixes in OSPF.Ondrej Zajicek
2009-12-11Implements protocol-specific Router ID for OSPF.Ondrej Zajicek
And fixes one minor bug.
2009-12-11Temporary OSPFv3 commit.Ondrej Zajicek
2009-12-03Minor fix in LSA update.Ondrej Zajicek
2009-11-17Temporary OSPFv3 devel commitOndrej Zajicek
2009-10-29Implements better checks on incoming packets and LSAs in OSPF.Ondrej Zajicek
2009-10-28Fixes some problems related to link-local routes in KRT interface.Ondrej Zajicek
2009-09-08Temporary OSPFv3 development commit.Ondrej Zajicek
Finally, it is working.
2009-09-04Temporary OSPFv3 development commit (changing multicast support).Ondrej Zajicek
2009-08-27Temporary OSPFv3 development commitOndrej Zajicek
2009-08-25Temporary OSPFv3 development commitOndrej Zajicek
2009-08-21Temporary OSPFv3 development commitOndrej Zajicek
2009-07-23Use %R in OSPF when appropriate.Ondrej Zajicek
2009-07-05Another pile of ipa_from_u32() calls.Ondrej Zajicek
2009-04-06Better OSPF packet tracing log messages.Ondrej Zajicek
Replaces old OSPF packet tracing messages with uniform messages with packet dumps.