Statistics
| Branch: | Revision:

iof-bird-daemon / nest / route.h @ d47c3d64

History | View | Annotate | Download (22.7 KB)

# Date Author Comment
d47c3d64 12/22/2016 08:38 PM Jan Moskyto Matejka

MPLS: Label stack concatenation for recursive routes

d14f8c3c 12/22/2016 08:38 PM Jan Moskyto Matejka

Netlink: MPLS routes in kernel

Anyway, Bird is now capable to insert both MPLS routes and MPLS encap
routes into kernel.

It was (among others) needed to define platform-specific AF_MPLS to 28
as this constant has been assigned in the linux kernel.

No support for BSD now, it may be added in the future.

f2010f9c 12/22/2016 08:38 PM Jan Moskyto Matejka

Static: Protocol rework wrt. struct nexthop changes; MPLS label support

ec5e5d23 12/22/2016 12:23 PM Jan Moskyto Matejka

Nexthop: Support for label stack in nest

5b208e29 12/22/2016 12:09 PM Jan Moskyto Matejka

Removing (struct rta)->cast. Never used.

4e276a89 12/22/2016 12:01 PM Jan Moskyto Matejka

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...

ad88b94b 12/07/2016 02:30 PM Jan Moskyto Matejka

Merge branch 'int-new-rpki-squashed' (early part) into int-new

d15b0b0a 12/07/2016 01:20 PM Ondrej Zajicek (work)

BGP redesign

Integrated and extensible BGP with generalized AFI handling,
support for IPv4+IPv6 AFI and unicast+multicast SAFI.

65d2a88d 12/07/2016 08:35 AM Pavel Tvrdík

RPKI protocol with one cache server per protocol

The RPKI protocol (RFC 6810) using the RTRLib
(http://rpki.realmv6.org/) that is integrated inside
the BIRD's code.

Implemeted transports are:
- unprotected transport over TCP
- secure transport over SSHv2...

9b0a0ba9 11/09/2016 03:36 PM Ondrej Zajicek (work)

Unit Testing for BIRD

- Unit Testing Framework (BirdTest)
- Integration of BirdTest into the BIRD build system
- Tests for several BIRD modules
Based on squashed Pavel Tvrdik's int-test branch, updated for
current int-new branch.
8860e991 11/08/2016 06:27 PM Ondrej Zajicek (work)

Merge branch 'master' into int-new

cc5b93f7 11/08/2016 04:04 PM Ondrej Zajicek (work)

Merge tag 'v1.6.2' into int-new

3e236955 11/01/2016 01:52 PM Jan Moskyto Matejka

Build: switch on -Wextra, get rid of most of the warnings

There are several unresolved -Wmissing-field-initializers on older
versions of GCC than 5.1, all of them false positive.

66dbdbd9 10/03/2016 10:48 AM Ondrej Zajicek (work)

BGP: Support for large communities

Add support for large communities (draft-ietf-idr-large-community),
96bit alternative to RFC 1997 communities.

Thanks to Matt Griswold for the original patch.

a290da25 09/15/2016 01:57 PM Pavel Tvrdik

rt-table: Fix kernel protocol export filter memory bug

Kernel protocol calls rt_export_merged(), which used @rte_update_pool for
temporary allocations, supposing it is called from other functions from
rt-table.c that handles locking and flushing of the linpool. Therefore,...

84cac51a 09/14/2016 09:53 AM Ondrej Zajicek (work)

Nest: Keep multipath next hops sorted

af678af0 05/12/2016 04:03 PM Ondrej Zajicek (work)

Merge remote-tracking branch 'origin/master' into int-new

286e2011 05/12/2016 02:04 PM Ondrej Zajicek (work)

Miscellaneous minor fixes

0c6dfe52 05/10/2016 12:30 PM Jan Moskyto Matejka

Merge branch 'int-new' into int-new-merged

92912f06 05/10/2016 12:21 PM Jan Moskyto Matejka

Merge remote-tracking branch 'origin/rte-update' into int-new

7152e5ef 05/10/2016 12:07 PM Jan Moskyto Matejka

Build system reworked to one global Makefile with includes and no nesting

Also removed the lib-dir merging with sysdep. Updated #include's
accordingly.

Fixed make doc on recent Debian together with moving generated doc into
objdir.

Moved Makefile.in into root dir...

937e75d8 04/28/2016 04:01 PM Ondrej Zajicek (work)

Add the Babel routing protocol (RFC 6126)

This patch implements the IPv6 subset of the Babel routing protocol.
Based on the patch from Toke Hoiland-Jorgensen, with some heavy
modifications and bugfixes.

Thanks to Toke Hoiland-Jorgensen for the original patch.

2003a184 04/08/2016 11:09 AM Jan Moskyto Matejka

Route update: move table lookup from protocols into rte_update2().

Many protocols do almost the same when creating a rte_update request
before calling rte_update2(). This commit should simplify the protocol
side of the route-creation routine.

7a7ac656 04/08/2016 10:28 AM Jan Moskyto Matejka

Merge branch 'master' into int-new-channels

e86cfd41 04/06/2016 09:46 AM Ondrej Zajicek (work)

KRT: Fix route learn scan when route changed

When a kernel route changed, function krt_learn_scan() noticed that and
replaced the route in internal kernel FIB, but after that, function
krt_learn_prune() failed to propagate the new route to the nest, because...

9a74622c 02/10/2016 12:26 PM Jan Moskyto Matejka

Updated RTA hashes to 32-bit values.

... and reworked the hashes a bit. Also added mem_hash function
which just computes a hash of given memory block.

f4a60a9b 02/01/2016 09:28 AM Ondrej Zajicek (work)

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.

650b4189 01/20/2016 03:46 PM Pavel Tvrdík

Delete old ROA code

0264ccf6 01/20/2016 03:46 PM Pavel Tvrdík

Rewrite roa_check() for integrated BIRD

Thanks to Ondrej Zajicek for his support with writing this code.

cb1bd816 01/20/2016 03:46 PM Pavel Tvrdík

Add ROA_* constants values to grammar of configuration

Add ROA_UNKNOWN, ROA_VALID and ROA_INVALID

74c838a8 12/29/2015 02:42 PM Ondrej Zajicek (work)

Move ID allocator to a separate file and use it also in OSPF

04632fd7 12/24/2015 02:56 PM Ondrej Zajicek (work)

Follow-up work on integration

600998fc 12/21/2015 07:28 PM Ondrej Zajicek (work)

Modify FIB_WALK() and FIB_ITERATE() to work with new FIB code

Returned user data pointers have offset relative to fib_node.

0f7d5b1a 12/20/2015 05:16 PM Ondrej Zajicek (work)

Nest: Reimplement fib_route() and add some consts

9656dce7 12/20/2015 12:04 PM Jan Moskyto Matejka

ROA code switchoff

d7661fbe 12/19/2015 02:57 PM Jan Moskyto Matejka

Removed BITS_PER_IP_ADDRESS, MAX_PREFIX_LENGTH, BIRD_AF

Explicit setting of AF_INET(6|) in IP socket creation. BFD set to listen
on v6, without setting the V6ONLY flag to catch both v4 and v6 traffic.

Squashing and minor changes by Ondrej Santiago Zajicek

fe9f1a6d 11/05/2015 11:48 AM Ondrej Zajicek (work)

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....

8eb8e546 10/17/2015 12:44 PM Ondrej Zajicek (work)

Merge branch 'master' into rip-new

acb04cfd 10/17/2015 12:43 PM Ondrej Zajicek (work)

Minor changes

8465dccb 10/05/2015 11:18 AM Ondrej Zajicek (work)

Major RIP redesign

The new RIP implementation fixes plenty of old bugs and also adds support
for many new features: ECMP support, link state support, BFD support,
configurable split horizon and more. Most options are now per-interface.

8d9eef17 06/08/2015 12:24 AM Ondrej Zajicek

BGP multipath support

Kernel option 'merge paths' allows to merge routes exported to kernel
protocol (currently BGP and static routes) to multipath routes.

d217ba51 06/08/2015 12:24 AM Ondrej Zajicek

Moving of mulipath merging code from OSPF to nest

ae80a2de 06/08/2015 12:24 AM Pavel Tvrdík

unsigned [int] -> uint

e348ef01 06/08/2015 12:24 AM Pavel Tvrdík

unsgined char -> byte

9fdf9d29 05/12/2015 02:42 PM Ondrej Zajicek

KRT: Add support for plenty of kernel route metrics

Linux kernel route metrics (RTA_METRICS netlink route attribute) are
represented and accessible as new route attributes:

krt_mtu, krt_window, krt_rtt, krt_rttvar, krt_sstresh, krt_cwnd, krt_advmss,
krt_reordering, krt_hoplimit, krt_initcwnd, krt_rto_min, krt_initrwnd,...

315f23a0 05/10/2015 05:44 PM Ondrej Zajicek

Add bitfield route attribute type

7aa80901 10/02/2014 10:52 AM Ondrej Zajicek

Implements show route noexport option.

Shows routes that would be exported to the protocol but are rejected by
the export filter.

0c791f87 03/20/2014 01:07 PM Ondrej Zajicek

BGP graceful restart support.

Also significant core protocol state changes needed for that,
global graceful restart recovery state and kernel proto support
for recovery.

736e143f 11/23/2013 10:50 AM Ondrej Zajicek

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
28a10f84 10/02/2013 12:41 PM Ondrej Zajicek

Some fixes in filter code.

Thanks to Sergey Popovich for original patches.

9135c1f0 07/24/2013 12:11 PM Ondrej Zajicek

Fixes bug in protocol flushing and rtable pruning.

When route was propagated to another rtable through a pipe and then the
pipe was reconfigured softly in such a way that any subsequent route
updates are filtered, then the source protocol shutdown didn't clean up...

36da2857 02/08/2013 10:58 PM Ondrej Zajicek

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.

15550957 11/15/2012 12:29 AM Ondrej Zajicek

Changes 'rejected' to 'filtered' in one of the last patches.

cf98be7b 11/10/2012 01:26 PM Ondrej Zajicek

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'.

094d2bdb 08/14/2012 02:46 PM Ondrej Zajicek

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.

26822d8f 07/15/2012 11:33 PM Ondrej Zajicek

Finalize RA_ACCEPTED handling.

00a09f3c 04/15/2012 01:07 PM Ondrej Zajicek

Implement RA_ACCEPTED mode of route propagation.

bf2abe2f 03/30/2012 09:04 AM Ondrej Zajicek

Merge branch 'soon'

Conflicts:

nest/proto.c
nest/rt-table.c
fb829de6 03/28/2012 04:40 PM Ondrej Zajicek

Fixes responsiveness for protocol shutdown.

When a protocol went down, all its routes were flushed in one step, that
may block BIRD for too much time. The patch fixes that by limiting
maximum number of routes flushed in one step.

af582c48 03/18/2012 04:32 PM Ondrej Zajicek

Route Origin Authorization basics.

- ROA tables, which are used as a basic part for RPKI.
- Commands for examining and modifying ROA tables.
- Filter operators based on ROA tables consistent with RFC 6483.
c0adf7e9 03/15/2012 11:13 AM Ondrej Zajicek

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...

be4cd99a 12/22/2011 12:20 PM Ondrej Zajicek

Implements deterministic MED handling.

Thanks to Alexander V. Chernikov for many suggestions.

32f95476 10/06/2011 08:48 PM Ondrej Zajicek

Signal problems with route installation to kernel tables.

42a0c054 08/14/2011 11:55 AM Ondrej Zajicek

BGP Extended communities.

fdf16eb6 07/03/2011 05:43 PM Ondrej Zajicek

Prints full community lists during 'show route all'.

71ca7716 04/13/2011 10:32 AM Ondrej Zajicek

Adds support for several Linux kernel route attributes.

7e95c05d 12/07/2010 10:33 PM Ondrej Zajicek

Core multipath support.

ba5e5940 08/02/2010 11:11 AM Ondrej Zajicek

Adds igp_metric attribute.

d1e146f2 07/30/2010 11:04 PM Ondrej Zajicek

Implements IGP metric comparison for BGP routes.

1b180121 07/28/2010 09:45 AM Ondrej Zajicek

Use link-local addresses in recursive next hops for IPv6 BGP.

c477f489 07/27/2010 04:20 PM Ondrej Zajicek

Hostcache should use trie to filter relevant route changes.

f2b76f2c 07/26/2010 02:39 PM Ondrej Zajicek

For hostentry cache, replace FIB with a hash table using (IP, dep table) as a key.

cfe34a31 07/05/2010 03:50 PM Ondrej Zajicek

Implements hostcache and recursive next hops.

Hostcache is a structure for monitoring changes in a routing table that
is used for routes with dynamic/recursive next hops. This is needed for
proper iBGP next hop handling.

c27b2449 02/08/2010 03:01 PM Ondrej Zajicek

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.

d82fc18d 10/07/2009 08:10 PM Ondrej Zajicek

Implement proper LSA ID generation.

f98e2915 06/01/2009 12:07 PM Ondrej Zajicek

The pipe cleanup.

23ac9e9a 05/31/2009 01:24 PM Ondrej Zajicek

Changes pipes to transfer all routes between routing table, not just optimal routes.

ea2ae6dd 05/22/2009 03:12 PM Ondrej Zajicek

Change import/preimport to export/preexport to be consistent with filters.

4d176e14 05/11/2009 12:01 AM Ondrej Filip

'show route protocol <p>' added to CLI.

98ac6176 06/25/2004 04:39 PM Ondrej Filip

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)...

8bf684ec 06/11/2004 09:05 AM Ondrej Filip

RTS_OSPF_BONDARY is nonsense, RTS_OSPF_IA must have smaller id than RTS_OSPF_EXT

a60277b9 05/31/2004 01:35 PM Ondrej Filip

Added RTD_NONE /* Just for internal use */

ad390755 06/21/2000 07:40 PM Pavel Machek

RIP bugfix

566a0eed 06/02/2000 12:29 PM Martin Mares

Removed rta_find() since nobody uses it and it's more convenient
to use ea_find() directly.

ce4aca09 06/01/2000 04:16 PM Martin Mares

FIB documentation.

I've changed the init callback type to a typedef to work around a bug
in kernel-doc I'm too lazy to hunt now.

5919c66e 05/30/2000 09:25 PM Martin Mares

Route attributes for OSPF.

73232f6b 05/30/2000 10:36 AM Ondrej Filip

Better rt dumping.

cdc25e8d 05/28/2000 07:07 PM Ondrej Filip

To find out a type of route (external, inter/intra area)

0ba8a614 05/19/2000 07:40 PM Martin Mares

Fixed a very nasty bug in FIB iterators.

ac5d8012 05/19/2000 10:46 AM Martin Mares

Asynchronous feeding of protocols.

56d6c530 05/13/2000 11:42 AM Martin Mares

Added fib_route() which does (although very slow) lookup of longest-match
routing in a FIB.

ec21aecf 05/11/2000 10:33 AM Pavel Machek

Fixed nasty segfault in rip.

c0100454 05/10/2000 06:54 AM Pavel Machek

Added more convient interface for ea_find.

What is special about int default;? Compiler chokes on that!

8abbde02 05/08/2000 07:11 PM Martin Mares

Several simplifications of the fib iterators.

916c8c0a 05/08/2000 10:40 AM Martin Mares

Use preferences properly.

23693958 05/07/2000 11:28 AM Martin Mares

Implemented `show route <...> stats'.

ce1da96e 05/06/2000 10:57 PM Martin Mares

Added commands `show route protocol <p>' and `show route import <p>' which
show the routing table as exported to the protocol given resp. as returned
from its import control hook.

To get handling of filtered extended attributes right (even in the old
`show route where <filter>' command), the get_route_info hook gets an...

beaf86e1 05/04/2000 09:23 PM Martin Mares

Removed RTS_RIP_EXT.

51a183af 04/17/2000 11:23 AM Martin Mares

Define EAF_ORIGINATED and propagate it properly when merging attribute lists.

c6add07f 04/17/2000 10:18 AM Martin Mares

Printing of AS paths and community sets.