Ondrej Filip
4461b89791
Minor bug that appears only in debug mode.
2010-06-02 12:11:20 +02:00
Ondrej Zajicek
a34b09349e
Disable BGP protocol when cannot open listening socket.
2010-05-31 11:35:29 +02:00
Ondrej Zajicek
9b061f7ea5
Minor fixes.
2010-05-28 11:16:39 +02:00
Ondrej Zajicek
691057f033
Support loopback/dummy addresses.
2010-05-26 16:09:22 +02:00
Ondrej Zajicek
e0a62ad0f8
Fixes a bug in duplicit configured stubnets.
...
If there was the same configured stubnet on local and remote
router, the remote route always won regardless of its cost.
2010-05-26 12:32:30 +02:00
Ondrej Zajicek
52572e94ec
Check for OSPF seqnum wraparound and handle it.
2010-05-23 12:34:09 +02:00
Ondrej Zajicek
6d04ef8987
Comment update.
2010-05-21 16:40:09 +02:00
Ondrej Zajicek
c1cefd7bea
Do not remove old static route if it is in new config with different gw.
2010-05-16 11:03:59 +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
475977242a
Handle EPIPE as a common connection close event.
2010-05-14 16:54:39 +02:00
Ondrej Zajicek
ee7408c2be
Fixes a bug in LSA flooding.
...
LSAs are sometimes prematurely removed from LS retransmission lists.
2010-05-07 15:54:27 +02:00
Ondrej Zajicek
54818e9beb
A minor bugfix in OSPF ext-LSA processing.
2010-05-03 00:10:48 +02:00
Ondrej Zajicek
506fa1a73e
Merge several fixes suggested by Joakim Tjernlund.
2010-05-02 22:41:40 +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
ba32170657
Better support for /31 networks.
2010-04-28 00:39:57 +02:00
Ondrej Zajicek
48b0814ace
A fix in OSPFv3 next_hop calculation.
2010-04-27 18:29:01 +02:00
Ondrej Zajicek
9d1ee13887
Neighbors on OSPF broadcast networks should be identified by IP address, not RID.
...
Allows simple support for multiple interfaces to the same network.
2010-04-26 19:08:57 +02:00
Ondrej Zajicek
4e5fb4b60c
Skip LSA host<->network endianity conversions on big endians.
2010-04-25 20:12:34 +02: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
3b89a2327b
Fixes several problems in OSPF vlink implementation.
2010-04-21 21:50:38 +02:00
Ondrej Zajicek
6e80676096
Fixes next hop calculation on NBMA and parallel PTP links.
2010-04-11 12:22:47 +02:00
Ondrej Zajicek
7969ea3b41
Fixes a bug in OSPF on NBMA interfaces.
...
A very tricky bug. OSPF on NBMA interfaces probably never really worked.
When a packet was sent to multiple destinations, the checksum was
calculated multiple times from a packet with already filled checksum
field (from previous calculation). Therefore, many packets were sent
with an invalid checksum.
2010-04-11 10:19:54 +02:00
Ondrej Zajicek
6b5a8649a4
Do not export empty community list attribute in BGP.
2010-04-08 17:56:56 +02:00
Ondrej Zajicek
b8113a5e92
Implements BGP 'show protocols' info details.
2010-04-07 00:19:23 +02:00
Ondrej Zajicek
e60d55becd
Fixes OSPFv3 route generation for local stub networks.
2010-04-02 19:03:18 +02:00
Ondrej Zajicek
e7b09e4ab9
Use SO_BINDTODEVICE also in Linux/IPv6.
2010-04-02 16:11:46 +02:00
Ondrej Zajicek
bed417288e
Minor fixes to previous patches.
2010-04-02 11:31:20 +02:00
Ondrej Zajicek
126683feed
Filter language updates; new route attributes and datatype.
...
- Adds bgp_originator_id and bgp_cluster_list route attributes.
- Adds dotted quad filter datatype (for router IDs, used by
bgp_originator_id and ospf_router_id route attributes).
- Fixes pair ~ pair set matching.
- Documentation updates.
2010-03-29 19:29:03 +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
885b3d6127
Fixes LLS compatibility.
2010-03-22 14:00:47 +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
e7b76b9760
Temoporary OSPF commit - socket changes.
2010-03-11 18:07:24 +01:00
Ondrej Zajicek
53434e44a9
Better flushing of interfaces.
...
When device protocol goes down, interfaces should be flushed
asynchronously (in the same way like routes from protocols are flushed),
when protocol goes to DOWN/HUNGRY.
This fixes the problem with static routes staying in kernel routing
table after BIRD shutdown.
2010-02-27 16:00:07 +01:00
Ondrej Zajicek
3075824dbd
Comparing cluster list length should be later in bgp_rte_better().
2010-02-26 14:09:24 +01:00
Ondrej Zajicek
ff2857b03d
Many changes in (mainly) kernel syncers.
...
- BSD kernel syncer is now self-conscious and can learn alien routes
- important bugfix in BSD kernel syncer (crash after protocol restart)
- many minor changes and bugfixes in kernel syncers and neighbor cache
- direct protocol does not generate host and link local routes
- min_scope check is removed, all routes have SCOPE_UNIVERSE by default
- also fixes some remaining compiler warnings
2010-02-26 10:55:58 +01:00
Ondrej Zajicek
e81b440f68
Fix configure to enable warnings and fix most of them.
2010-02-21 14:34:53 +01:00
Ondrej Filip
89534cdae5
'rr client id' is not expression but ID (like router id).
2010-02-20 21:14:02 +01:00
Ondrej Zajicek
dca75fd7c2
Removes phantom protocol from the pipe design.
...
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).
2010-02-13 12:26:26 +01:00
Ondrej Zajicek
9db74169be
Fixes protocol statistics for pipes.
2010-02-13 10:44:46 +01:00
Ondrej Zajicek
c83876265e
Fixes a tricky bug in the pipe protocol.
...
When uncofiguring the pipe and the peer table, the peer table was
unlocked when pipe protocol state changed to down/flushing and not to
down/hungry. This leads to the removal of the peer table before
the routes from the pipe were flushed.
The fix leads to adding some pipe-specific hacks to the nest,
but this seems inevitable.
2010-02-11 22:27:06 +01:00
Ondrej Zajicek
a2ea1bac60
Moves errno.h include.
2010-02-11 21:19:20 +01:00
Ondrej Zajicek
2af25a971a
Fixes a crash caused by missing error hook on BGP listening socket.
...
Error happened when too many BGP connections arrived in one moment
(ECONNABORTED).
2010-02-11 11:12:58 +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
aa80826e4a
Unnumbered OSPF interfaces should be always in the point-to-point mode.
2010-02-07 09:49:34 +01:00
Ondrej Zajicek
44f26560ec
Workaround for some broken BGP implementations that skip initial KEEPALIVE.
2010-02-02 10:14:21 +01:00
Ondrej Zajicek
41677025ee
Changes 'ignore communities' to 'interpret communities'.
2010-01-28 15:59:18 +01:00
Ondrej Zajicek
6cb8f742f1
Better handling of well-known communities.
...
Process well-known communities before the export filter (old behavior is
to process these attributes after, which does not allow to send route
with such community) and just for routes received from other BGP
protocols. Also fixes a bug in next_hop check.
2010-01-27 17:22:57 +01:00
Ondrej Zajicek
a306208582
Comment update.
2010-01-13 14:53:33 +01:00
Ondrej Zajicek
99f5fc14cd
A partial vlink fix.
2010-01-08 22:19:41 +01:00
Ondrej Zajicek
fc33143f02
A fix for broken multi-area OSPF
2010-01-08 17:22:51 +01:00
Ondrej Filip
6901fd0685
More information about vlinks.
2010-01-07 23:42:11 +01:00
Ondrej Filip
18722dc98c
Bugfix in DBG call.
2010-01-07 23:03:19 +01:00
Ondrej Filip
3127b81755
Be a little bit more verbose on virtual links.
2010-01-07 22:54:39 +01:00
Ondrej Zajicek
cf0858c217
A fix of a previous fix.
2010-01-07 22:43:06 +01:00
Ondrej Zajicek
ba39197c11
Fixes vlinks for OSPFv2.
2010-01-07 22:22:10 +01:00
Ondrej Zajicek
29bfbae793
Debugging change leaked to repository.
2010-01-07 16:24:36 +01:00
Ondrej Zajicek
3034b384dd
A minor fix in OSPF.
2010-01-07 11:46:11 +01:00
Ondrej Zajicek
cf31112f0d
Implements MRTdump feature.
2010-01-03 12:17:52 +01:00
Ondrej Zajicek
610bb3cff0
Show command cleanups.
2009-12-22 10:49:39 +01:00
Ondrej Zajicek
c4ae53858b
Change default mode of pipes to transparent.
...
Opaque pipes are obsolete and should disappear in the future.
2009-12-21 11:53:58 +01:00
Ondrej Zajicek
fbcb7d5faf
Change default LOCAL_PREF attribute to 100 (suggested value by RFC 4277).
2009-12-21 11:50:42 +01:00
Ondrej Zajicek
ba9a122142
Merge branch 'ospf3' into new
2009-12-20 22:57:44 +01:00
Ondrej Zajicek
c4199e3031
Merge branch 'dev' into ospf3
2009-12-20 22:56:09 +01:00
Ondrej Zajicek
ea7ada3809
Fixes a new bug in the pipe protocol soft reconfiguration.
...
Also updates route reload for pipes.
2009-12-20 14:59:12 +01:00
Ondrej Zajicek
1a5178587f
Fixes unnecessary pipe restart during configure.
2009-12-20 12:13:15 +01:00
Ondrej Zajicek
0225ea4edd
Merge branch 'ospf3' into new
2009-12-15 00:32:13 +01:00
Ondrej Zajicek
f2d7da742b
Fixes export of routes with link-local gw.
2009-12-15 00:30:07 +01:00
Ondrej Zajicek
43c1ceccb9
Remove bgp_as4_support variable.
2009-12-14 23:31:25 +01:00
Ondrej Zajicek
f75747073e
Implements route reload for OSPF.
2009-12-14 21:17:15 +01:00
Ondrej Zajicek
63542845df
Merge branch 'dev' into ospf3
...
Conflicts:
proto/ospf/lsreq.c
proto/ospf/lsupd.c
proto/ospf/rt.c
2009-12-14 20:37:32 +01:00
Ondrej Zajicek
34a877ccac
Minor updates.
2009-12-14 17:29:33 +01:00
Ondrej Zajicek
28008482a9
Minor fixes in OSPF.
2009-12-12 01:35:51 +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
be2d38b7e9
Temporary OSPFv3 commit.
2009-12-11 00:31:56 +01:00
Ondrej Zajicek
9807690b41
Fixes link-back check.
2009-12-06 22:05:50 +01:00
Ondrej Zajicek
b76aeb8234
Fixes next hop handling.
2009-12-04 22:20:13 +01:00
Ondrej Zajicek
9895502392
Fixes OSPFv2 build.
2009-12-03 23:20:02 +01:00
Ondrej Zajicek
bb3c7c6d22
Fixes some log messages.
2009-12-03 18:56:39 +01:00
Ondrej Zajicek
69fbf9a251
Minor fix in LSA update.
2009-12-03 18:25:14 +01:00
Ondrej Zajicek
11787b8473
Fixes some problems in pipes.
...
For transparent pipes, loop detection works correctly now.
Pipes are now more symmetric - in both directions filtering
is done in do_rte_announce().
2009-12-02 17:26:16 +01:00
Ondrej Zajicek
4b84bd4554
Fixes some crashes in OSPFv2.
2009-11-29 10:29:33 +01:00
Ondrej Zajicek
e4a810b0ce
Temporary commit.
2009-11-29 10:09:25 +01:00
Ondrej Zajicek
bf47fe4b2e
Implements BGP route refresh.
2009-11-26 20:47:59 +01:00
Ondrej Zajicek
3f9b7bfe9f
Implements option that controls IPv6 BGP next hops when lladdr is missing.
2009-11-18 20:32:36 +01:00
Ondrej Zajicek
d0e2d6d1e0
Show both IPv6 next hop addresses in BGP.
2009-11-17 14:17:23 +01:00
Ondrej Zajicek
3228c72cc0
Implements RFC 5004 - prefer older external routes.
2009-11-17 11:41:29 +01:00
Ondrej Zajicek
cbf8b08d62
Temporary OSPFv3 devel commit
2009-11-17 10:31:33 +01:00
Ondrej Zajicek
4ac7c8341c
Use IPv6 checksums in OSPFv3.
2009-11-09 23:22:53 +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
9d4d38d1a5
Fixes some problems related to link-local routes in KRT interface.
2009-10-28 22:39:24 +01:00
Ondrej Zajicek
9727681a38
Implements proper handling of summary/external LSA IDs.
2009-10-25 20:02:28 +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
4cdd078453
Implements protocol-specific router id and updates documentation.
2009-10-12 23:31:42 +02:00
Ondrej Zajicek
52b9b2a178
Rename as_path_get_last/as_path_get_first to be consistent.
2009-10-12 20:44:58 +02:00
Ondrej Zajicek
ea89da381f
Workaround for stupid callback scheduler.
...
There is no reak callback scheduler and previous behavior causes
bad things during hard congestion (like BGP hold timeouts).
Smart callback scheduler is still missing, but main loop was
changed such that it first processes all tx callbacks (which
are fast enough) (but max 4* per socket) + rx callbacks for CLI,
and in the second phase it processes one rx callback per
socket up to four sockets (as rx callback can be slow when
there are too many protocols, because route redistribution
is done synchronously inside rx callback). If there is event
callback ready, second phase is skipped in 90% of iterations
(to speed up CLI during congestion).
2009-10-11 18:56:16 +02:00
Ondrej Zajicek
d82fc18d75
Implement proper LSA ID generation.
2009-10-07 21:10:29 +01:00
Ondrej Zajicek
a5bf5f781c
Show bad peer AS number in log in decimal.
2009-09-24 23:14:44 +02:00
Ondrej Zajicek
be6e39ebbf
Passive option.
2009-09-24 22:12:11 +02:00
Ondrej Zajicek
54fe0d9230
Fixes setting of IP addresses to route attributes (NEXT_HOP).
2009-09-18 13:59:04 +02:00
Ondrej Zajicek
46eb80d5d5
Fixes headers for uintptr_t (and build on NetBSD).
2009-09-17 17:52:36 +02:00
Ondrej Zajicek
0781e9c62c
Fixes preference in transparent pipes.
2009-09-17 12:40:02 +02:00
Ondrej Zajicek
9f0ba7b1c7
Implements proper RID handling in OSPFv3.
2009-09-17 12:18:03 +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
d2ceaf4ec8
Temporary OSPFv3 development commit
2009-08-28 13:45:43 +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
949bd34e81
Fixes bug related to AS2->AS4 conversion.
2009-08-25 19:01:37 +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 Filip
87d7fd9725
Bugfix - each protocol can be compiled separately.
2009-08-16 22:36:41 +02:00
Ondrej Zajicek
b92c8e3019
Merge branch 'master' into dev
2009-08-10 10:16:00 +02:00
Ondrej Filip
0d328932be
Symbols PASSWORDS and BROADCAST not declared for OSPF
2009-07-30 18:39:41 +02:00
Ondrej Zajicek
3aab39f589
Use %R in OSPF when appropriate.
2009-07-23 16:51:28 +02:00
Ondrej Zajicek
70670bf317
Fixed bug related to reconfiguration of BGP with MD5 passwords.
2009-07-09 15:42:39 +02:00
Ondrej Zajicek
2389c46fe3
Another pile of ipa_from_u32() calls.
2009-07-05 21:18:55 +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
f9bdcad469
Fixes type mismatch in OSPF printf statements.
...
Mixing ip_addr and u32 does bad things on Ultrasparc.
Although both have the same size. Fascinating.
It was not catched by compiler because of varargs.
2009-07-05 19:01:54 +02:00
Ondrej Zajicek
d72cdff411
Replace 'bind' option with 'listen' option.
...
To be consistent with other daemons.
2009-06-23 11:08:30 +02:00
Ondrej Zajicek
da95a7a7da
Fixes bug in ORIGIN check.
2009-06-23 11:00:38 +02:00
Ondrej Zajicek
29c430f856
Changes handling of AS_PATH_CONFED_* segments in AS_PATH.
...
Although standard says that if we receive AS_PATH_CONFED_*
(and we are not a part of a confederation) segment, we should
drop session, nobody does that and it is unwise to do that.
Now we drop session just in case that peer ASN is in
AS_PATH_CONFED_* segment (to detect peer that considers BIRD
as a part of its confederation).
2009-06-23 10:50:57 +02:00
Ondrej Zajicek
789772ed45
Implements option that changes BGP listening socket parametres.
2009-06-18 19:20:07 +02:00
Ondrej Zajicek
1b3b3e34ec
Minor bugfixes.
2009-06-18 14:32:44 +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
b99d378698
Minor BGP changes related to error wait time.
2009-06-07 00:38:38 +02:00
Ondrej Zajicek
7238262671
Fixes bug related to startup delay change.
2009-06-06 18:56:33 +02:00
Ondrej Zajicek
dd91e46765
Differentiate between error delay and connect/reconnect delay.
...
The difference is here to reject incoming connections in the
first case.
2009-06-06 18:16:22 +02:00
Ondrej Zajicek
72b28a041d
Implements import route limits.
2009-06-04 13:31:09 +02:00
Ondrej Zajicek
f98e291579
The pipe cleanup.
2009-06-01 14:07:13 +02:00
Ondrej Zajicek
2d45e09f58
Adds opaque/transparent pipe mode selection.
2009-06-01 12:10:10 +02:00
Ondrej Zajicek
23ac9e9a9e
Changes pipes to transfer all routes between routing table, not just optimal routes.
2009-05-31 15:24:27 +02:00
Ondrej Zajicek
f571473ef3
Hello packets on PTP networks should have zero netmask.
...
This also ensures that misconfigured routers (one side
ptp and one side broadcast) do not make adjacency.
2009-05-24 17:55:33 +02:00
Ondrej Zajicek
8cc598a520
Ignore Hello packets from different IP network (than primary).
2009-05-24 17:51:27 +02:00
Ondrej Zajicek
20e94fb85b
A change in OSPF and RIP interface patterns.
...
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 ... };
2009-05-06 22:02:45 +02:00
Ondrej Zajicek
10ab65a8c9
Fixes one recently introduced IPv6 BGP compatibility problem.
2009-05-06 15:18:52 +02:00
Ondrej Zajicek
b7a735ea9d
Allow 'third party' BGP updates for originated routes.
2009-04-29 22:17:40 +02:00
Ondrej Zajicek
4827b69ff4
Fixes BGP IPv6 link local next hop handling.
...
When sending 'third party' BGP update, Bird used bogus link local
addresses instead of addresses it received before.
2009-04-29 18:58:24 +02:00
Ondrej Zajicek
ad440a570b
Fixes handling of 'next hop self' and 'source address' configuration
...
options.
2009-04-28 18:11:56 +02:00
Ondrej Zajicek
64cf11f544
Fixes BGPv6 bug - missing endianity conversion.
...
Also removes code skipping SNPAs
(obsoleted by newer RFCs, should be ignored).
2009-04-23 23:15:07 +02:00
Ondrej Zajicek
f307842ad8
Fixes BGPv6 bug - mandatory attributes weren't validated;
2009-04-23 14:44:02 +02:00
Ondrej Zajicek
8f0c887a52
Fixe bug in BGPv6 that causes to send invalid network withdraws.
2009-04-23 14:16:05 +02:00
Ondrej Zajicek
b9539e78d8
Fixes bug in BGPv6 causing crash by checking missing attributes.
2009-04-23 12:36:24 +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