Ondrej Zajicek
70945cb645
Temporary integrated OSPF commit.
2014-06-26 11:58:57 +02:00
Ondrej Zajicek
145368f547
Extends multipath support for OSPF.
...
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-04-23 13:54:28 +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
1ec522538f
BFD protocol, ready for release.
...
Supports OSPF and BGP and also statically configured sessions.
2013-11-19 22:33:48 +01:00
Ondrej Zajicek
70e212f913
Implements TTL security for OSPF and RIP.
...
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-25 15:39:44 +02:00
Ondrej Zajicek
ef4a50be10
Better packet priority and traffic class handling.
...
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-06-24 16:37:30 +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
8df02847e8
Fixes a compatibility issue in OSPFv2 PtP links.
...
BIRD used zero netmask in hello packets on all PtP links, not just on
unnumbered ones. This patch fixes it and adds option 'ptp netmask'
for overriding the default behavior.
Thanks to Alexander V. Chernikov for the original patch.
2013-04-17 13:06:40 +02:00
Ondrej Zajicek
dd4da6f640
Fixes another bug in OSPFv3 vlinks.
2012-10-31 17:14:35 +01:00
Ondrej Zajicek
95127cbbb7
Real broadcast mode for OSPFv2.
2012-05-14 11:47:41 +02:00
Ondrej Zajicek
20ab192bec
Adds filtering to 'show ospf lsadb' command.
...
Thanks Alexander V. Chernikov for the original patch.
2012-03-16 12:12:26 +01:00
Ondrej Zajicek
5c78e0e386
Some more verbose warnings.
2012-01-22 11:03:30 +01:00
Ondrej Zajicek
a7f23f581f
Implements protocol templates.
...
Based on the patch from Alexander V. Chernikov.
Extended to support almost all protocols.
Uses 'protocol bgp NAME from TEMPLATE { ... }' syntax.
2011-11-07 00:31:23 +01: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
ab16497189
Fixes a nasty bug in OSPF.
...
Sending malformed network prefixes in LSAs causes OSPF to crash
just after the LSA is propagated to the other routers.
2011-03-29 01:41:46 +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
57c574d82a
Multipath support for OSPF
2010-12-07 23:35:39 +01:00
Ondrej Zajicek
391931d456
Minor finalizations of link state checks.
2010-11-19 13:46:21 +01:00
Ondrej Zajicek
79f561a173
Fixes a typo (in OSPF_MAX_PKT_SIZE value).
...
And updates a comment.
2010-11-19 12:45:17 +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
d5356072ac
Fixes a bug in LSA update of large LSAs.
2010-11-04 17:22:43 +01:00
Ondrej Zajicek
0ea8fb4abe
Fixes and enhancements in 'show ospf state' command.
...
Now it shows a distance, option to change showing reachable/all network
nodes and better handling of AS-external LSAs in multiple areas. The
command 'show ospf topology' was changed to not show stubnets in both
OSPFv2 and OSPFv3 (previously it displayed stubnets in OSPFv2).
2010-04-24 15:18:21 +02:00
Ondrej Zajicek
48cff379a7
Added some comments.
2010-03-26 16:21:29 +01:00
Ondrej Zajicek
af157fa3db
Disable multiple OSPF pseudointerfaces on BSD.
2010-03-26 14:48:01 +01: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
c27b2449d1
Shows source (Router ID) for OSPF routes and adds such attribute.
...
A sad thing is that we does not have a 'router_id' filter type,
so it must be given as decimal number in filters.
2010-02-08 16:01:03 +01:00
Ondrej Zajicek
29bfbae793
Debugging change leaked to repository.
2010-01-07 16:24:36 +01:00
Ondrej Zajicek
f75747073e
Implements route reload for OSPF.
2009-12-14 21:17:15 +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
3f22fa9e74
Merge branch 'dev' into ospf3
2009-11-09 22:54:39 +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
988992446d
Implement command to show LSA db.
2009-10-15 11:57:25 +02:00
Ondrej Zajicek
b66abe8ef9
Reimplements 'show ospf state' for OSPFv3 and fixes some bugs.
2009-10-15 00:28:04 +02:00
Ondrej Zajicek
c15e569065
Make endianity swapping simpler.
2009-09-08 17:06:47 +02:00
Ondrej Zajicek
be86240662
Temporary OSPFv3 development commit.
...
Finally, it is working.
2009-09-08 13:45:02 +02:00
Ondrej Zajicek
f9c799a00e
Temporary OSPFv3 development commit (changing multicast support).
2009-09-04 11:06:51 +02:00
Ondrej Zajicek
05198c12f4
Some cleanups.
2009-08-27 19:01:04 +02:00
Ondrej Zajicek
061ab802a6
Temporary OSPFv3 development commit
2009-08-27 18:25:46 +02:00
Ondrej Zajicek
b49e6f5a65
Temporary OSPFv3 development commit
2009-08-25 16:42:14 +02:00
Ondrej Zajicek
c3226991a0
Temporary OSPFv3 development commit
2009-08-21 09:27:52 +02:00
Ondrej Zajicek
b082c1bfcc
Fixes OSPF on big-endians.
...
Hmm, #ifdef is not very typo-safe.
2009-07-05 20:26:51 +02:00
Ondrej Zajicek
3867520281
Implements an option that allows to change a set of stub networks.
2009-06-11 17:25:38 +02:00
Ondrej Zajicek
3d15dcdb1c
Changes OSPF to generate stub networks for non-primary addresses.
...
Also does some reorganization in RT LSA announcement.
2009-06-10 23:45:08 +02:00
Ondrej Zajicek
024c310b53
Fixes broken cryptographic authentication in OSPF
...
Cryptographic authentication in OSPF is defective by
design - there might be several packets independently
sent to the network (for example HELLO, LSUPD and LSACK)
where they might be reordered and that causes crypt.
sequence number error.
That can be workarounded by not incresing sequence number
too often. Now we update it only when last packet was sent
before at least one second. This can constitute a risk of
replay attacks, but RFC supposes something similar (like time
in seconds used as CSN).
2009-04-08 20:15:01 +02:00
Ondrej Zajicek
8298d780be
Better OSPF packet tracing log messages.
...
Replaces old OSPF packet tracing messages with
uniform messages with packet dumps.
2009-04-06 16:17:47 +02:00
Ondrej Filip
94c42054ea
Added new parametr 'rx buffer <num>'. BIRD is able to receive
...
very large packets (if configured).
2005-03-15 22:06:36 +00:00
Ondrej Filip
e6ea2e375e
Maximal packet size in virtual links is 576.
2005-03-15 20:51:33 +00:00
Ondrej Filip
e300066d5f
OSPF can accept larger packets than MTU.
2005-03-14 11:24:56 +00:00
Ondrej Filip
d8c7d9e884
Since now I can also use 'dead interval', not just 'dead counter'.
2005-02-20 04:27:56 +00:00
Ondrej Filip
60e04f0413
Minor bugfix: Summary LSA for aggregated area was always propagated with
...
metric = 1. Now it's metric of most distant component.
2005-02-18 18:51:42 +00:00
Ondrej Filip
9912fa51c8
Bugfix - cost of interface can be larger than 0xffff
2005-02-12 22:18:48 +00:00
Ondrej Filip
8d94a524b6
Added handling of STUB bool.
2004-07-16 08:27:11 +00:00
Ondrej Filip
86c84d76b7
Huge OSPF database redesign. Since now, all LSAs of all areas
...
are in single database. This avoids duplication of external LSAs and
fixes bug in external LSA distribution.
2004-07-15 16:37:52 +00:00
Ondrej Filip
3b16080c97
Multiple OSPF areas can be attached.
...
Origination of summary LSA works.
Routing table calculation works.
Virtual links works.
Well, I hope, OSPF is fully compatible with RFC2328!!!!
2004-07-14 21:46:20 +00:00
Ondrej Filip
62eee82321
Default tick = 1. The today's CPU is fast enough.
2004-07-13 21:27:33 +00:00
Ondrej Filip
621ccdfe5a
Bugfix - options bits were not included in LSAs
...
Bugfix - E bit was not unset on stub areas.
2004-07-13 11:58:50 +00:00
Ondrej Filip
3e2bd0f17a
Md5 authentification added (unsested).
...
Packet receiving clean up.
2004-06-26 20:15:34 +00:00
Ondrej Filip
98ac61766d
A lot of changes:
...
- metric is 3 byte long now
- summary lsa originating
- more OSPF areas possible
- virtual links
- better E1/E2 routes handling
- some bug fixes..
I have to do:
- md5 auth (last mandatory item from rfc2328)
- !!!!DEBUG!!!!! (mainly virtual link system has probably a lot of bugs)
- 2328 appendig E
2004-06-25 16:39:53 +00:00
Ondrej Filip
1a61882d37
Better routing table calculation. We are ready to work with
...
multiple OSPF areas.
2004-06-11 09:36:50 +00:00
Ondrej Filip
7df86c25fc
Better checking of configuration.
2004-06-09 12:39:49 +00:00
Ondrej Filip
b8f17cf192
Small cleanup, indentation and preparation for multiple areas routing table calculation.
2004-06-06 16:00:09 +00:00
Ondrej Filip
d631698ec8
Indentation.
2004-06-06 14:27:11 +00:00
Ondrej Filip
2e10a170fe
Indentation.
2004-06-06 09:37:54 +00:00
Ondrej Filip
66261211a9
Struct area_net changed.
2004-06-06 09:13:37 +00:00
Ondrej Filip
b9ed99f738
Cleanup in iface.c
2004-06-06 08:55:33 +00:00
Ondrej Filip
c76ba51a5f
lsack.c cleaned. Better names for functions and
...
DIRECT acks can be sent in one packet now.
2004-06-04 16:30:04 +00:00
Ondrej Filip
39e517d47c
hello.c and hello.h cleaned up. No design changes.
2004-06-04 12:53:10 +00:00
Ondrej Filip
035f6acbfe
Patch from Andreas Steinmetz <ast@domdv.de>
2004-06-01 13:12:10 +00:00
Martin Mares
d83faf8dc4
static declarations don't belong to includes. (And most of them were
...
redundant anyway.)
2004-05-31 20:53:22 +00:00
Martin Mares
4ef3dccfa1
The OSPF authentication type was sent in host byte order instead of of
...
network byte order thus breaking interoperability with other routing
daemons on litte endian machines. The patch fixes this but note that
this breaks compatability with older bird installations using OSPF and
password authentication
(Andreas)
2004-05-31 18:13:14 +00:00
Ondrej Filip
c11007bc42
Endian-related bug fixes sent by Krzysztof Szuster <kszuster@polbox.com>
2003-08-26 10:41:02 +00:00
Ondrej Filip
c926eee724
Area networks added into configuration.
2001-08-12 00:04:42 +00:00
Ondrej Filip
78e2c6ccf1
I will not originate the same lsa before MINLSINTERVAL.
2001-08-11 14:01:54 +00:00
Ondrej Filip
b02e40111e
I allocate struct ifa before unlocking. So route exported to OSPF are correct.
...
I work also with interfaces that have some problems with socket opening.
I declare them as stub.
2000-09-04 19:42:17 +00:00
Ondrej Filip
fdb1998202
Serious bug in ext lsa origination found. Going for 1.0.4.
2000-09-03 22:18:40 +00:00
Ondrej Filip
e3bc10fdc4
Added stub interface. (Interface which is propagated to OSPF but
...
it does not sends nor listens packets.)
I added some new options, please look at it and look into doc if it's OK.
2000-09-02 08:54:40 +00:00
Ondrej Filip
a190e7200b
Added hellos on NBMA networks. (I don't violate RFC now.)
2000-09-02 00:03:36 +00:00
Ondrej Filip
423230f2f1
Ehm, my (B)DR election was based on router id, but RFC says ip!
2000-06-08 01:49:19 +00:00
Ondrej Filip
17e29574bc
Better algoritmus of LSA aging.
2000-06-07 23:48:33 +00:00
Ondrej Filip
b4af36e0d8
Removed some FIXMEs simply deleting them.
2000-06-07 21:50:16 +00:00
Ondrej Filip
7ab3ff6a28
Doc in neighbor.c and some tiny changes related to.
2000-06-07 21:46:22 +00:00
Ondrej Filip
cadbb827f9
A copyright change.
2000-06-07 21:12:00 +00:00
Ondrej Filip
3df89cefc1
#define SIZE_OF_IP_HEADER
2000-06-07 01:18:36 +00:00
Ondrej Filip
f14032efdd
First part of tracing.
2000-06-06 02:09:58 +00:00
Ondrej Filip
c1824c4d4c
Simple autentication added.
2000-06-06 01:23:03 +00:00
Ondrej Filip
f8f1e1f110
Interface locks added.
2000-06-06 00:46:00 +00:00
Ondrej Filip
e5b5d18c1c
NBMA networks should work now.
2000-06-05 23:44:26 +00:00
Ondrej Filip
3b580a23ad
Bugfix in NET LSA flushing.
...
Configuration now works! :-)
Better "show ospf"
Some minor bugfixes.
2000-06-05 20:57:53 +00:00
Ondrej Filip
273fd2c164
Many bugfixes (I don't remember all of them):
...
Added link ID calculation for external routes with same prefix but
different mask.
Bugfix in NET lsa origination.
Bugfix in NET hashing.
Bugfix in LSA installing.
2000-06-05 02:23:20 +00:00
Ondrej Filip
aaaff77605
More conf. items defined.
2000-06-03 09:50:31 +00:00
Ondrej Filip
89d6782dd1
interface {} added.
2000-06-03 01:29:00 +00:00