Commit graph

149 commits

Author SHA1 Message Date
Ondrej Zajicek
77edab6409 OSPF: Redesign LSA checksumming
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-05-01 14:40:56 +02:00
Ondrej Zajicek
ac9dc669d8 Bugfix in latest OSPF changes. 2014-11-03 20:35:25 +01:00
Ondrej Zajicek
6f8bbaa10b Fininshing integrated OSPF. 2014-11-03 10:42:55 +01:00
Ondrej Zajicek
88a183c6c9 Integrated IP functions. 2014-10-24 11:11:43 +02:00
Ondrej Zajicek
f8fefde318 Refactoring of OSPF messages. 2014-10-24 11:07:38 +02:00
Ondrej Zajicek
742029eb78 Whitespace cleanup in OSPF. 2014-07-19 17:28:38 +02:00
Ondrej Zajicek
a7a7372aa7 Temporary integrated OSPF commit. 2014-07-18 18:24:12 +02:00
Ondrej Zajicek
70945cb645 Temporary integrated OSPF commit. 2014-06-26 11:58:57 +02:00
Ondrej Zajicek
48e5f32db6 Many changes in I/O and OSPF sockets and packet handling.
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
2014-02-06 17:46:01 +01:00
Ondrej Zajicek
6a8d3f1c1f BFD work in progress.
Now it compiles and mostly works.
2013-09-16 23:57:40 +02:00
Ondrej Zajicek
f623ab9875 Implements OSPF stub router option (RFC 3137).
Also fixes OSPFv3 routing table calculcation w.r.t.
errata 2078 to RFC 5340.
2013-06-11 12:12:11 +02:00
Ondrej Zajicek
6cadbf325b Change unnamed ptp link description on OSPFv2.
Although it is a slight deviation from the standard, it has no ill
consequences for OSPFv2 and the change fixes a compatibility issue
with some broken implementations.
2012-11-15 14:08:20 +01:00
Ondrej Zajicek
a55a90faec Peer address of stub iface should be announced in OSPF Router LSA. 2012-11-10 14:54:35 +01:00
Ondrej Zajicek
dd4da6f640 Fixes another bug in OSPFv3 vlinks. 2012-10-31 17:14:35 +01:00
Ondrej Zajicek
e4404cef0b Fixes several bugs related to OSPFv3 vlinks. 2012-10-29 20:29:31 +01:00
Ondrej Zajicek
bbcfd5a048 Fixes default route in OSPF multiple area setting. 2012-07-26 13:59:50 +02:00
Ondrej Zajicek
d494df63ac Some minor fixes. 2012-04-27 00:04:51 +02:00
Ondrej Zajicek
74add5df17 Fixes seqnum generation.
Thanks Mohammad Amin Shoaie for notification.
2011-10-27 14:52:28 +02:00
Ondrej Zajicek
35c875f0d1 Fixes some error messages and the NSSA gw lookup.
Thanks to Alexander V. Chernikov for the patch.
2011-10-01 09:57:49 +02:00
Ondrej Zajicek
2918e61046 Fixes for OSPF NSSA handling. 2011-09-03 21:31:26 +02:00
Ondrej Zajicek
ed317862c2 OSPF NSSA support, inter-area LSA translation. 2011-08-08 01:45:31 +02:00
Ondrej Zajicek
4160a9dd94 OSPF NSSA translator election. 2011-07-22 20:00:24 +02:00
Ondrej Zajicek
41b612c31b OSPF NSSA support, part one. 2011-07-20 23:48:06 +02:00
Ondrej Zajicek
52a43ae3b7 Minor changes in addresses.
Mainly changes IA_UNNUMBERED to IA_PEER and adds IA_HOST. Also do not
show broadcast addr in show interfaces. Nobody cares for that.
2011-03-28 22:46:18 +02:00
Ondrej Zajicek
8e48831a97 Vastly improved OSPF reconfiguration.
Now it can handle a change in iface pattern structure.
It can add, remove and reconfigure interfaces, vlinks and areas.
2011-03-17 15:53:36 +01:00
Ondrej Zajicek
e7b4948cbd A simplification of the next-hop calculation.
Thanks to Joakim Tjernlund for the idea.
2010-12-28 01:43:07 +01:00
Ondrej Zajicek
919f5411c4 Implements Point-to-MultiPoint interface type for OSPF. 2010-12-24 18:08:07 +01:00
Ondrej Zajicek
f0160f0e06 Fixes a minor memory wasting. 2010-12-23 10:25:22 +01:00
Ondrej Zajicek
57c574d82a Multipath support for OSPF 2010-12-07 23:35:39 +01:00
Ondrej Zajicek
d9e7e1b13d Adds support for iface link detection to OSPF. 2010-11-13 14:19:23 +01:00
Ondrej Zajicek
5cdf264f93 Fixes a bug related to implicit backbone on ABR. 2010-11-10 16:43:11 +01:00
Ondrej Zajicek
d395fe4855 Fixes bug in OSPF ext-LSA origination. 2010-07-31 11:37:30 +02:00
Ondrej Filip
4461b89791 Minor bug that appears only in debug mode. 2010-06-02 12:11:20 +02:00
Ondrej Zajicek
52572e94ec Check for OSPF seqnum wraparound and handle it. 2010-05-23 12:34:09 +02:00
Ondrej Zajicek
7ff5803bec Do not originate summary or external LSA if it already here and not changed. 2010-05-16 10:27:20 +02:00
Ondrej Zajicek
6384c7d7aa OSPF: most of summary LSA orig./flush logic rewritten.
Fixes many bugs in the old code and makes it much cleaner.
2010-05-02 19:58:34 +02:00
Ondrej Zajicek
3b89a2327b Fixes several problems in OSPF vlink implementation. 2010-04-21 21:50:38 +02:00
Ondrej Zajicek
0aad2b9292 Temporary OSPF commit - sockets. 2010-03-14 16:36:59 +01:00
Ondrej Zajicek
54305181f6 Merge branch 'new' into socket2 2010-03-11 18:55:59 +01:00
Ondrej Zajicek
e81b440f68 Fix configure to enable warnings and fix most of them. 2010-02-21 14:34:53 +01:00
Ondrej Zajicek
353729f513 Temporary OSPF commit - socket changes. 2010-02-11 10:23:35 +01:00
Ondrej Zajicek
cf31112f0d Implements MRTdump feature. 2010-01-03 12:17:52 +01:00
Ondrej Zajicek
f2d7da742b Fixes export of routes with link-local gw. 2009-12-15 00:30:07 +01:00
Ondrej Zajicek
34a877ccac Minor updates. 2009-12-14 17:29:33 +01:00
Ondrej Zajicek
8a70a13e7e Implements protocol-specific Router ID for OSPF.
And fixes one minor bug.
2009-12-11 11:06:51 +01:00
Ondrej Zajicek
9895502392 Fixes OSPFv2 build. 2009-12-03 23:20:02 +01:00
Ondrej Zajicek
a6bc04d591 Implements better checks on incoming packets and LSAs in OSPF. 2009-10-29 23:57:42 +01:00
Ondrej Zajicek
9727681a38 Implements proper handling of summary/external LSA IDs. 2009-10-25 20:02:28 +01:00
Ondrej Zajicek
b66abe8ef9 Reimplements 'show ospf state' for OSPFv3 and fixes some bugs. 2009-10-15 00:28:04 +02:00
Ondrej Zajicek
d82fc18d75 Implement proper LSA ID generation. 2009-10-07 21:10:29 +01:00