1
0
mirror of https://gitlab.labs.nic.cz/labs/bird.git synced 2024-05-11 16:54:54 +00:00

228 Commits

Author SHA1 Message Date
e87a95d97d Minor fixes for debug mode 2017-12-16 16:31:43 +01:00
a6f79ca57f Timers: Revert temporary names and remove old timer.h 2017-12-07 13:54:59 +01:00
b32d557a6e OSPF: Update to new timers
Note that recurrent timers are currently limited to ~1 hour.
2017-12-07 13:53:42 +01:00
025525266f Timers: Replace old timers with microsecond timers
The old timer interface is still kept, but implemented by new timers. The
plan is to switch from the old inteface to the new interface, then clean
it up.
2017-12-07 13:49:27 +01:00
d3f4f92b0e OSPF: Support of address families in OSPFv3
OSPFv3-AF can handle multiple topologies of diferent address families
(IPv4, IPv6, both unicast and multicast) using separate instances
distinguished by instance ID ranges.
2017-10-10 16:10:02 +02:00
4e276a8920 Merged multipath and single-path data structures.
Dropped struct mpnh and mpnh_*()
Now struct nexthop exists, nexthop_*(), and also included struct nexthop
into struct rta.

Also converted RTD_DEVICE and RTD_ROUTER to RTD_UNICAST. If it is needed
to distinguish between these two cases, RTD_DEVICE is equivalent to
IPA_ZERO(a->nh.gw), RTD_ROUTER is then IPA_NONZERO(a->nh.gw).

From now on, we also explicitely want C99 compatible compiler. We assume
that this 20-year norm should be known almost everywhere.
2016-12-22 13:01:06 +01:00
f4a60a9bc4 Channels - explicit links between protocols and tables
The patch adds support for channels, structures connecting protocols and
tables and handling most interactions between them. The documentation is
missing yet.
2016-02-01 10:28:50 +01:00
74c838a870 Move ID allocator to a separate file and use it also in OSPF 2015-12-29 15:42:12 +01:00
600998fcb1 Modify FIB_WALK() and FIB_ITERATE() to work with new FIB code
Returned user data pointers have offset relative to fib_node.
2015-12-21 20:28:44 +01:00
23c212e7f1 Follow-up work on integration 2015-12-21 03:33:18 +01:00
7fd4143ead Integrated address print lengths
Minor changes by Ondrej Santiago Zajicek
2015-12-20 13:47:39 +01:00
d44e686e9b Follow-up commit on integrated BIRD
Use net_addr for interface address prefixes, support net_addr in
configuration parser.
2015-11-12 02:03:59 +01:00
fe9f1a6ded Initial commit on integrated BIRD
New data types net_addr and variants (in lib/net.h) describing
network addresses (prefix/pxlen). Modifications of FIB structures
to handle these data types and changing everything to use these
data types instead of prefix/pxlen pairs where possible.

The commit is WiP, some protocols are not yet updated (BGP, Kernel),
and the code contains some temporary scaffolding.

Comments are welcome.
2015-11-05 12:48:52 +01:00
1321e12ac4 Static: Allows to specify attributes for static routes
The patch adds suport for specifying route attributes together with
static routes, e.g.:

 route 10.1.1.0/24 via 10.0.0.1 { krt_advmss = 1200; ospf_metric1 = 100; };
2015-07-20 17:11:10 +02:00
2bbc308321 Store protocol config size inside protocol structure
Make proto_config_new() use this info instead of supplied size.

Thanks to Alexander V. Chernikov for the patch.
2015-02-21 21:08:23 +01:00
6f8bbaa10b Fininshing integrated OSPF. 2014-11-03 10:42:55 +01:00
f8fefde318 Refactoring of OSPF messages. 2014-10-24 11:07:38 +02:00
178a197afb OSPF instance id option and documentation update. 2014-07-21 21:50:56 +02:00
742029eb78 Whitespace cleanup in OSPF. 2014-07-19 17:28:38 +02:00
a7a7372aa7 Temporary integrated OSPF commit. 2014-07-18 18:24:12 +02:00
70945cb645 Temporary integrated OSPF commit. 2014-06-26 11:58:57 +02:00
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
10c2e1e012 Fixes crash when state of disabled OSPF protocol is queried.
Thanks to Ondrej Caletka for the bugreport.
2014-02-06 17:54:25 +01:00
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
736e143fa5 Merge branch 'master' into add-path
Conflicts:

	filter/filter.c
	nest/proto.c
	nest/rt-table.c
	proto/bgp/bgp.h
	proto/bgp/config.Y
2013-11-23 11:50:34 +01:00
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
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
dd4da6f640 Fixes another bug in OSPFv3 vlinks. 2012-10-31 17:14:35 +01:00
8249ad9b30 Fixes sorting in OSPF show state. 2012-10-29 20:39:03 +01:00
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
bbcfd5a048 Fixes default route in OSPF multiple area setting. 2012-07-26 13:59:50 +02:00
d494df63ac Some minor fixes. 2012-04-27 00:04:51 +02:00
20ab192bec Adds filtering to 'show ospf lsadb' command.
Thanks Alexander V. Chernikov for the original patch.
2012-03-16 12:12:26 +01:00
39c028e9e9 Assign default protocol preference via proto_config_new().
The patch from Alexander V. Chernikov.
2012-01-24 11:31:00 +01:00
2918e61046 Fixes for OSPF NSSA handling. 2011-09-03 21:31:26 +02:00
ed317862c2 OSPF NSSA support, inter-area LSA translation. 2011-08-08 01:45:31 +02:00
4160a9dd94 OSPF NSSA translator election. 2011-07-22 20:00:24 +02:00
41b612c31b OSPF NSSA support, part one. 2011-07-20 23:48:06 +02:00
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
919f5411c4 Implements Point-to-MultiPoint interface type for OSPF. 2010-12-24 18:08:07 +01:00
57c574d82a Multipath support for OSPF 2010-12-07 23:35:39 +01:00
391931d456 Minor finalizations of link state checks. 2010-11-19 13:46:21 +01:00
d9e7e1b13d Adds support for iface link detection to OSPF. 2010-11-13 14:19:23 +01:00
5cdf264f93 Fixes a bug related to implicit backbone on ABR. 2010-11-10 16:43:11 +01:00
faf58cec4d Fixes a bug in NBMA on an iface with multiple IP addresses. 2010-08-22 14:43:53 +02:00
ba5e5940aa Adds igp_metric attribute. 2010-08-02 13:11:53 +02:00
824de84d48 Do not start with huge OSPF FIBs.
Most OSPF instances don't need 64k FIB fields. This change halves
resident memory usage on small OSPF networks.
2010-06-02 22:25:39 +02:00
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
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
b8113a5e92 Implements BGP 'show protocols' info details. 2010-04-07 00:19:23 +02:00