Commit graph

1125 commits

Author SHA1 Message Date
Ondrej Filip
c404f4b968 OSPF state machine fix - thanx to Alexander V. Chernikov 2013-09-11 01:15:34 +02:00
Ondrej Zajicek
bf139664aa Initial BFD commit, work in progress. 2013-09-10 12:09:36 +02:00
Ondrej Zajicek
b21955e058 Fixes a bug related to mixed up neighbor events in BGP.
Neighbor events related to received route next hops got mixed up with
sticky neighbor node for an IP of the BGP peer. If a neighbor for a next
hop disappears, BGP session is shut down.
2013-08-13 20:42:43 +02:00
Ondrej Zajicek
ac57451348 Implements RFC 6608 Subcodes for BGP FSM Error. 2013-07-25 13:55:24 +02:00
Ondrej Zajicek
e1afee2799 Fixes socket error hook for radv protocol. 2013-07-24 14:19:37 +02:00
Ondrej Zajicek
48b15ef10f Fixes stuck connection during BGP session shutdown.
If TX buffers were full during BGP session shutdown
then a protocol waited indefinitely to be able to
send notification packet to close the session.
2013-07-13 01:39:41 +02:00
Ondrej Zajicek
354496ace8 Some fixes for TTL security. 2013-07-11 13:50:44 +02: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
924868543c Fixes crash with vlinks. 2013-05-28 10:48:14 +02:00
Ondrej Zajicek
9c99d753fd Fixes a problem with BGP neighbors, link-local addresses and locking.
Thanks to Fritz Grimpen for the bugfix.
2013-05-09 11:11:06 +02:00
Ondrej Zajicek
572c644043 Fixes a crash when mrtdump is enabled and interface goes away.
Thanks to Peter Christensen for the bugfix.
2013-04-29 22:08:05 +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
8bd9b930c3 Fixes a bug in IPv6 BGP next hop processing.
BGP next hop attributes with empty link-local IPv6 addresses were not
handled properly.

Thanks to Sergey Popovich for the bugfix.
2013-04-16 17:40:44 +02:00
Ondrej Zajicek
48bc232f08 Implements 'next hop keep' option for BGP.
This option allows to keep the received next hop even in cases when
the route is sent to an interface with a different subnet.
2013-04-16 17:27:34 +02:00
Ondrej Zajicek
9ff5257357 Better handling of global addresses as configured NBMA neighbors in OSPFv3.
Configured NBMA neighbors in OSPFv3 should be link-local addresses, old
behavior was to silently ignore global ones. The patch allows BIRD to
accept global ones, but adds a warning and a documentation notice.

Thanks to Wilco Baan Hofman for the bugreport.
2013-04-16 16:22:31 +02:00
Ondrej Filip
a9fc659b84 Small typos fixed. 2013-02-26 14:29:53 +01:00
Ondrej Filip
de41dcd13d Redundant lines removed. 2013-02-26 14:13:11 +01:00
Ondrej Filip
a9c38203bd Allow 1 sec RIP update. 2013-02-24 00:43:08 +01:00
Ondrej Filip
04ddefb357 Use BIRD's ASSERT instead of assert.h 2013-02-22 07:15:27 +01:00
Ondrej Filip
2bf59bf4d3 Hotfix to solve an issue with delaying timers reported by Aleksey Chudov. 2013-02-21 00:44:59 +01:00
Ondrej Filip
155134f396 A few semicolons added to decrease a number of warnings. 2013-02-10 19:04:08 +01:00
Ondrej Zajicek
c6a2fe64be Fixes handling of iface routes in static proto during reconfiguration.
During reconfiguration, iface routes were installed even when iface was down.
2013-02-09 00:53:04 +01:00
Ondrej Zajicek
36da2857bc Implements router advertisements activated by received routes.
The RAdv protocol could be configured to change its behavior based on
availability of routes, e.g., do not announce router lifetime when a
default route is not available.
2013-02-08 23:58:27 +01:00
Ondrej Zajicek
b662290f40 Separate import and receive limits.
They have different behavior w.r.t. filtered routes that are kept.
2013-01-10 13:07:33 +01:00
Ondrej Zajicek
79b4e12e60 Implements interface masks for choosing router id.
Router ID could be automatically determined based of subset of
ifaces/addresses specified by 'router id from' option. The patch also
does some minor changes related to router ID reconfiguration.

Thanks to Alexander V. Chernikov for most of the work.
2012-12-27 12:56:23 +01:00
Ondrej Zajicek
80a9cadc76 Changes static route targets drop/reject to blackhole/unreachable.
To be consistent with rest of BIRD and Linux. Old names are also
allowed for compatibility.
2012-11-27 02:08:04 +01: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
1555095795 Changes 'rejected' to 'filtered' in one of the last patches. 2012-11-15 01:29:01 +01:00
Ondrej Filip
e16469bc4d AS# in bgp.agreggator was a signed integer - fixed. 2012-11-12 13:48:29 +01:00
Ondrej Zajicek
227af52fb5 Fixes OSPF reconfigure w.r.t. downed ifaces. 2012-11-10 16:18:12 +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
cf98be7b67 Allows rejected routes to be kept and examined.
When 'import keep rejected' protocol option is activated, routes
rejected by the import filter are kept in the routing table, but they
are hidden and not propagated to other protocols. It is possible to
examine them using 'show route rejected'.
2012-11-10 14:26:13 +01:00
Ondrej Zajicek
dd4da6f640 Fixes another bug in OSPFv3 vlinks. 2012-10-31 17:14:35 +01:00
Ondrej Zajicek
8249ad9b30 Fixes sorting in OSPF show state. 2012-10-29 20:39:03 +01:00
Ondrej Zajicek
e4404cef0b Fixes several bugs related to OSPFv3 vlinks. 2012-10-29 20:29:31 +01:00
Ondrej Zajicek
094d2bdb79 Implements ADD-PATH extension for BGP.
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-08-14 16:46:43 +02:00
Ondrej Zajicek
c06de722dd Some minor fixes. 2012-08-06 11:09:13 +02:00
Ondrej Zajicek
5400c0e7f9 Fixes BGP subcode during global shutdown. 2012-08-06 02:42:24 +02:00
Ondrej Zajicek
bbcfd5a048 Fixes default route in OSPF multiple area setting. 2012-07-26 13:59:50 +02:00
Ondrej Zajicek
abced4a914 Merge branch 'rt-accepted'
Conflicts:

	nest/config.Y
	nest/rt-table.c
	proto/bgp/bgp.c
2012-07-16 14:44:45 +02:00
Ondrej Zajicek
26822d8fe1 Finalize RA_ACCEPTED handling. 2012-07-16 01:33:02 +02:00
Ondrej Zajicek
fc06fb6244 Implements RDNSS and DNSSL support for RAdv. 2012-07-07 14:26:42 +02:00
Ondrej Zajicek
95127cbbb7 Real broadcast mode for OSPFv2. 2012-05-14 11:47:41 +02:00
Ondrej Zajicek
0ec031f740 Allows to set instance ID for OSPFv3 interfaces. 2012-05-14 10:22:14 +02:00
Ondrej Zajicek
47c447c42e Minor cleanups. 2012-05-11 12:10:21 +02:00
Ondrej Zajicek
d494df63ac Some minor fixes. 2012-04-27 00:04:51 +02:00
Ondrej Zajicek
d9b77cc281 Implements generalized export limits.
And also fixes some minor bugs in limits.
2012-04-24 23:39:57 +02:00
Ondrej Zajicek
7d0a31deed Fixes in generalized import limits. 2012-04-21 21:05:36 +02:00
Ondrej Zajicek
ebecb6f6a1 Implements generalized import hooks.
Thanks to Alexander V. Chernikov for the original patch.
2012-04-15 15:28:29 +02:00
Ondrej Zajicek
3e17e38059 Merge branch 'master' into rt-accepted 2012-04-15 15:17:03 +02:00
Ondrej Zajicek
d360f129e3 Fix static protocol w.r.t. some recent changes in protocol ahooks. 2012-04-15 15:13:12 +02:00
Ondrej Zajicek
00a09f3c36 Implement RA_ACCEPTED mode of route propagation. 2012-04-15 15:07:58 +02:00
Ondrej Zajicek
bf2abe2f51 Merge branch 'soon'
Conflicts:

	nest/proto.c
	nest/rt-table.c
2012-03-30 11:04:12 +02:00
Ondrej Zajicek
89647357af NEWS and version update. 2012-03-22 12:29:02 +01:00
Ondrej Zajicek
c47d037ecb Some minor changes to CLI. 2012-03-22 12:13:26 +01:00
Ondrej Zajicek
fd087589f8 Fixes broken vlinks in OSPF. 2012-03-16 13:01:12 +01: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
9f1500f50a Adds warning for mismatch MTU in OSPF packets.
Thanks Alexander V. Chernikov for the original patch.
2012-03-15 13:45:55 +01:00
Ondrej Zajicek
2f9955b5d5 Fixes TTL for multicast OSPF packets.
Thanks Alexander V. Chernikov for the suggestion.
2012-03-15 13:12:00 +01:00
Ondrej Zajicek
e2bf812f3d Fixes RIPng compatibility.
Also probably breaks compatibility with older BIRDs, but RIPng not
really worked here.

Thanks to Goesta Smekal for the original patch.
2012-03-15 12:38:08 +01:00
Ondrej Zajicek
f761503760 Fixes RIPng socket and neighbor handling.
RIPng did not really work because of link-local addresses.

Thanks to Roman Hoog Antink for some notes.
2012-03-15 12:23:49 +01:00
Ondrej Zajicek
c0adf7e9fc Better support for multitable protocols.
The nest-protocol interaction is changed to better handle multitable
protocols. Multitable protocols now declare that by 'multitable' field,
which tells nest that a protocol handles things related to proto-rtable
interaction (table locking, announce hook adding, reconfiguration of
filters) itself.

Filters and stats are moved to announce hooks, a protocol could have
different filters and stats to different tables.

The patch is based on one from Alexander V. Chernikov, thanks.
2012-03-15 12:13:04 +01:00
Ondrej Zajicek
39c028e9e9 Assign default protocol preference via proto_config_new().
The patch from Alexander V. Chernikov.
2012-01-24 11:31:00 +01:00
Ondrej Zajicek
5c78e0e386 Some more verbose warnings. 2012-01-22 11:03:30 +01:00
Ondrej Zajicek
3ce1714279 Fixes a new bug in BGP route ordering. 2012-01-20 16:20:03 +01:00
Ondrej Zajicek
8cf8f820fe Show interface for link-local gw in static protocol. 2012-01-09 03:21:45 +01:00
Ondrej Zajicek
d7f469c15c Some minor fixes. 2012-01-09 02:41:13 +01:00
Ondrej Zajicek
53ffbff39f Implements support for link-local addresses in BGP.
Thanks Matthias Schiffer for the original patch.
2012-01-08 15:31:34 +01:00
Ondrej Zajicek
69a8259c5e Allows sticky link-local neighbors.
Allows using NEF_STICKY neighbors with link-local addresses. This is
used for static route nexthops, they can be specified like fe80::1%eth0
.
2012-01-01 12:14:42 +01:00
Ondrej Zajicek
be4cd99a36 Implements deterministic MED handling.
Thanks to Alexander V. Chernikov for many suggestions.
2011-12-22 13:20:29 +01:00
Ondrej Zajicek
2779d50a24 Fixes RAdv proto w.r.t. templates.
Thanks Alexander V. Chernikov for this.
2011-11-17 21:12:23 +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
74add5df17 Fixes seqnum generation.
Thanks Mohammad Amin Shoaie for notification.
2011-10-27 14:52:28 +02:00
Ondrej Zajicek
14a8f396e1 Fixes sockets for IPv4 RIP.
Thanks Roman Hoog Antink for a suggestion.
2011-10-26 14:10:49 +02:00
Ondrej Zajicek
32f95476a8 Signal problems with route installation to kernel tables. 2011-10-06 22:48:49 +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
4116db182d Implements static recursive routes. 2011-09-24 02:24:34 +02:00
Ondrej Zajicek
51947659ab Minor changes in BGP protocol info.
Shows neighbor IP and ASN even if protocol is down.
2011-09-04 00:56:02 +02:00
Ondrej Zajicek
6c4df70373 Fixes possible buffer overflow when printing BGP attributes.
Thanks to Alexander V. Chernikov for the patch.
2011-09-03 21:59:40 +02:00
Ondrej Zajicek
2918e61046 Fixes for OSPF NSSA handling. 2011-09-03 21:31:26 +02:00
Ondrej Zajicek
b1b1943360 The generalized TTL security mechanism (RFC 5082) support.
Thanks to Alexander V. Chernikov for the patch.
2011-08-16 23:13:05 +02:00
Ondrej Zajicek
42a0c05408 BGP Extended communities. 2011-08-14 13:55:02 +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
9008579b97 Fixes broken multi-area OSPF. 2011-07-20 23:46:03 +02:00
Ondrej Zajicek
beeda6af44 Removes timers for stub interfaces. Also fixes some minor bugs. 2011-07-08 01:14:52 +02:00
Ondrej Zajicek
7d4e923603 Do not open sockets for stub interfaces. 2011-07-06 03:10:02 +02:00
Ondrej Zajicek
f796945f04 Fixes LSA checksum computation for larger LSAs. 2011-07-03 23:24:38 +02:00
Ondrej Zajicek
fdf16eb658 Prints full community lists during 'show route all'. 2011-07-03 19:43:30 +02:00
Ondrej Zajicek
35f8c731ea Fixes output of BGP timers in 'show protocols all'. 2011-06-25 14:51:16 +02:00
Ondrej Zajicek
d8b5a786d2 IPV6_CHECKSUM should not be used on ICMPv6 sockets. 2011-06-25 11:35:54 +02:00
Ondrej Zajicek
ae85e28cf4 Fixes a bug in OSPF causing DoS by an invalid packet. 2011-06-20 07:37:55 +02:00
Ondrej Zajicek
61c96d7244 Fixes bug that causes crash with strange BGP updates. 2011-05-31 17:27:46 +02:00
Ondrej Zajicek
1155c79209 Fixes compatibility with Mikrotik. 2011-05-19 01:20:00 +02:00
Ondrej Zajicek
5964569c23 Merge commit 'origin/master' 2011-04-29 19:03:19 +02:00
Ondrej Zajicek
73272f04af Adds BGP option related to MED handling.
Adds option 'med metric' allows to compare MEDs
between routes received from different neighbors.
2011-04-22 16:13:27 +02:00
Ondrej Filip
d600909da9 Fixed bug FICORA #503685. 2011-04-13 13:19:37 +02:00