]> git.ipfire.org Git - thirdparty/bird.git/log
thirdparty/bird.git
5 years agoNest: Fix bug in export table
Ondrej Zajicek (work) [Thu, 31 Oct 2019 00:17:34 +0000 (01:17 +0100)] 
Nest: Fix bug in export table

For regular channels do not compare src in export table, as we want to
keep here only the best (exported) route per network.

5 years agoNest: Fix bug in export table
Ondrej Zajicek (work) [Thu, 31 Oct 2019 00:16:17 +0000 (01:16 +0100)] 
Nest: Fix bug in export table

Exported route may be in modified state, we need to get cached one for
rte_same() and rta_clone() to work properly.

5 years agoTesting: Don't call vsnprintf with NULL format
Maria Matejka [Mon, 30 Sep 2019 11:53:24 +0000 (13:53 +0200)] 
Testing: Don't call vsnprintf with NULL format

5 years agoFixed undefined behavior on signals.
Maria Matejka [Fri, 4 Oct 2019 10:20:02 +0000 (12:20 +0200)] 
Fixed undefined behavior on signals.

The C11 specification allows only sig_atomic_t and _Atomic variable
access. All other accesses to global variables are undefined behavior.

Using int was probably OK on x86 and x86_64; yet there were some reports
from other architectures (especially some MIPS) that in rare cases,
after issuing SIGHUP, BIRD did strange things.

5 years agoStatic: Fix merging of static routes with different metric
Ondrej Zajicek (work) [Tue, 17 Sep 2019 12:15:41 +0000 (14:15 +0200)] 
Static: Fix merging of static routes with different metric

5 years agoNest: Fix crash in route reload when some channels are not up.
Ondrej Zajicek (work) [Tue, 13 Aug 2019 17:00:25 +0000 (19:00 +0200)] 
Nest: Fix crash in route reload when some channels are not up.

Only channels that are up can be reloaded.

5 years agoBGP: implement Adj-RIB-Out
Ondrej Zajicek (work) [Tue, 13 Aug 2019 16:43:36 +0000 (18:43 +0200)] 
BGP: implement Adj-RIB-Out

The patch implements optional internal export table to a channel and
hooks it to BGP so it can be used as Adj-RIB-Out. When enabled, all
exported (post-filtered) routes are stored there. An export table can be
examined using e.g. 'show route export table bgp1.ipv4'.

6 years agoBGP: Improve reconfiguration
Ondrej Zajicek (work) [Mon, 5 Aug 2019 12:43:49 +0000 (14:43 +0200)] 
BGP: Improve reconfiguration

Several BGP channel options (including 'next hop self') could be
reconfigured without session reset, with just route refeed/refresh.
The patch improves reconfiguration code to do it that way.

6 years agoBGP: Fix 'deterministic med' to work with 'merge paths'
Ondrej Zajicek (work) [Sun, 4 Aug 2019 22:29:47 +0000 (00:29 +0200)] 
BGP: Fix 'deterministic med' to work with 'merge paths'

The 'deterministic med' option is implemented by suppressing other than
best-in-group routes (grouped by ASN) from best route selection. This
interferes with 'merge paths' as supressed routes are no longer mergable
with best route. This is fixed by suppressing only those routes that are
not mergable with best-in-group route.

6 years agoNest: Show mergable routes in 'show route' output
Ondrej Zajicek (work) [Fri, 2 Aug 2019 22:16:49 +0000 (00:16 +0200)] 
Nest: Show mergable routes in 'show route' output

Routes mergable with the best route are marked by '+'.

6 years agoMore assertion categories
Maria Matejka [Thu, 1 Aug 2019 12:25:01 +0000 (14:25 +0200)] 
More assertion categories

6 years agoLog: Fixed race condition in reconfigure while BFD is running
Maria Matejka [Tue, 30 Jul 2019 10:11:49 +0000 (12:11 +0200)] 
Log: Fixed race condition in reconfigure while BFD is running

6 years agoOSPF: Fix handling of NSSA option flags
Ondrej Zajicek (work) [Wed, 10 Jul 2019 16:48:50 +0000 (18:48 +0200)] 
OSPF: Fix handling of NSSA option flags

Per RFC 3101, N-bit signalling NSSA support should be used only in Hello
packets, not in DBDES packets. BIRD since 2.0.4 verifies N-bit in
neighbor structure, which is learned from DBDES packets, therefore
NSSA-LSAs are not propagated to proper implementations of RFC 3101.

This patch fixes that. Both removing the check and removing N-bit from
DBDES packet. This will fix compatibility issues with proper
implementations, but causes compatibility issues with BIRD 2.0.4.

6 years agoOSPF: Update DR when local priority changes
Ondrej Zajicek (work) [Wed, 10 Jul 2019 16:40:15 +0000 (18:40 +0200)] 
OSPF: Update DR when local priority changes

When priority is reconfigured locally, we need to trigger DR election.

6 years agoOSPF: Minor fix in graceful restart
Ondrej Zajicek (work) [Wed, 10 Jul 2019 16:39:42 +0000 (18:39 +0200)] 
OSPF: Minor fix in graceful restart

Most LSA origination is blocked in ospf_update_topology(), this fix
blocks LSA origination from ospf_rt_spf().

6 years agoOSPF: Fix handling of external routes on graceful restart
Ondrej Zajicek (work) [Wed, 10 Jul 2019 16:38:43 +0000 (18:38 +0200)] 
OSPF: Fix handling of external routes on graceful restart

We need to flush learned external LSAs a bit later than other LSAs (after
first feed after end of the graceful restart) to avoid flap of external
routes.

6 years agoAdd mock-up function for unit tests
Ondrej Zajicek (work) [Sun, 30 Jun 2019 20:59:57 +0000 (22:59 +0200)] 
Add mock-up function for unit tests

They failed without it.

6 years agoAdd mock-up function for unit tests
Ondrej Zajicek (work) [Sun, 30 Jun 2019 20:31:31 +0000 (22:31 +0200)] 
Add mock-up function for unit tests

They failed without it.

6 years agoDoc: OSPF graceful restart options
Ondrej Zajicek (work) [Sun, 30 Jun 2019 20:26:43 +0000 (22:26 +0200)] 
Doc: OSPF graceful restart options

6 years agoOSPF: Support for graceful restart
Ondrej Zajicek (work) [Sun, 30 Jun 2019 20:23:57 +0000 (22:23 +0200)] 
OSPF: Support for graceful restart

Implement OSPFv2 (RFC 3623) and OSPFv3 (RFC 5187) graceful restart,
for both restarting and helper sides. Graceful restart is initiated
by 'graceful down' command.

6 years agoNest: Add command to request graceful restart
Ondrej Zajicek (work) [Sun, 30 Jun 2019 20:15:24 +0000 (22:15 +0200)] 
Nest: Add command to request graceful restart

When 'graceful down' command is entered, protocols are shut down
with regard to graceful restart. Namely Kernel protocol does
not remove routes and BGP protocol does not send notification,
just closes the connection.

6 years agoNest: Use rtable for neighbor lookup
Ondrej Zajicek (work) [Fri, 31 May 2019 19:23:32 +0000 (21:23 +0200)] 
Nest: Use rtable for neighbor lookup

Implicitly define rtables 'local4' and 'local6' and a pair of direct
protocols to fill them. Use modified net_route() for neighbor
lookup to avoid iterating over all interfaces.

6 years agoNest: Use bitmask of pxlens to speed-up net_route()
Ondrej Zajicek (work) [Tue, 28 May 2019 15:23:32 +0000 (17:23 +0200)] 
Nest: Use bitmask of pxlens to speed-up net_route()

Use bitmask to keep track of pxlens that might be in rtable to avoid
unnecessary lookups during net_route().

6 years agoNest: Add hash table for interfaces, keyed by index
Ondrej Zajicek (work) [Tue, 14 May 2019 17:01:44 +0000 (19:01 +0200)] 
Nest: Add hash table for interfaces, keyed by index

Useful if one have too many interfaces, as there are per-route
iface index lookups in routing table scan.

6 years agoNest: Handle unresolvable routes as invalid
Ondrej Zajicek (work) [Fri, 10 May 2019 12:51:33 +0000 (14:51 +0200)] 
Nest: Handle unresolvable routes as invalid

Handle unresolvable routes (recursive routes that cannot be resolved) as
invalid, i.e. deprioritize tham and do not allow them for propagation.
Such route now shows as 'unresolvable' instead of 'unreachable'.

6 years agoOSPF: Do not use igp_metric as default for OSPF metric
Ondrej Zajicek (work) [Sun, 21 Apr 2019 11:12:07 +0000 (13:12 +0200)] 
OSPF: Do not use igp_metric as default for OSPF metric

6 years agoBGP: Handle case where capabilites are not used
Ondrej Zajicek (work) [Fri, 15 Mar 2019 19:57:26 +0000 (20:57 +0100)] 
BGP: Handle case where capabilites are not used

If peer does not announce capabilities at all, or when we have
capabilities disabled, handle that as implicit IPv4 unicast.

6 years agoStatic: Allow to set multiple static route with different metric
Ondrej Zajicek (work) [Thu, 14 Mar 2019 13:44:35 +0000 (14:44 +0100)] 
Static: Allow to set multiple static route with different metric

Change the usage of preference to distinguish multiple static routes to a
separate metric attribute, Reuse igp_metric attribute for that purpose.

The static route metric is specified with 'metric' keyword immediately
after the network (to signify it is a part of key):

  route 10.10.0.0/24 metric 10 via 192.168.1.2;

6 years agoNest: Fix handling of ECMP next hop flags
Ondrej Zajicek (work) [Sun, 17 Feb 2019 22:03:41 +0000 (23:03 +0100)] 
Nest: Fix handling of ECMP next hop flags

Flag field was not copied when next hop was cached.

6 years agoOSPF: Reset LSAs during area type change
Ondrej Zajicek (work) [Sun, 17 Feb 2019 18:27:29 +0000 (19:27 +0100)] 
OSPF: Reset LSAs during area type change

When area is reconfigured to a different type, we need to flush LSAs as
they may not be valid (e.g. NSSA-LSA for non-NSSA area). Also, when we
have have just one OSPF area and that changes type, we could restart OSPF
as there is no state to keep anyway. That solves issue with different
handling of external routes exported to OSPF based of main area type.

6 years agoOSPF: Basic support for DN-bit handling (RFC 4576)
Ondrej Zajicek (work) [Sun, 17 Feb 2019 18:26:43 +0000 (19:26 +0100)] 
OSPF: Basic support for DN-bit handling (RFC 4576)

External LSAs originated by OSPF routers with VPN-PE behavior enabled are
marked by DN flag and they are ignored by other OSPF routers with VPN-PE
enabled.

6 years agoNest: Report preferred counters also when 'import keep filtered' is enabled
Ondrej Zajicek (work) [Sun, 17 Feb 2019 18:23:19 +0000 (19:23 +0100)] 
Nest: Report preferred counters also when 'import keep filtered' is enabled

Thanks to Michal Nowak for reporting the issue.

6 years agoOSPF: Opaque LSAs and Router Information LSA
Ondrej Zajicek (work) [Sun, 17 Feb 2019 18:17:31 +0000 (19:17 +0100)] 
OSPF: Opaque LSAs and Router Information LSA

Add support for OSPFv2 Opaque LSAs (RFC 5250) and for Router Information
LSA (RFC 7770). The second part is here mainly for testing opaque LSAs.

6 years agoOSPF: Fix wrong LSA collisions detection
Ondrej Zajicek (work) [Sun, 17 Feb 2019 18:11:19 +0000 (19:11 +0100)] 
OSPF: Fix wrong LSA collisions detection

In some circumstances (old LSA flushed but not acknowledged and not
removed) origination of a new LSA may wrongly triggers LSA collision
code. The patch fixes that.

Thanks to Asbjorn Mikkelsen for the bugreport and @mdelagueronniere
for the original patch.

6 years agoBGP: implement Adj-RIB-In
Ondrej Zajicek (work) [Sun, 17 Feb 2019 17:46:28 +0000 (18:46 +0100)] 
BGP: implement Adj-RIB-In

The patch implements optional internal import table to a channel and
hooks it to BGP so it can be used as Adj-RIB-In. When enabled, all
received (pre-filtered) routes are stored there and import filters can
be re-evaluated without explicit route refresh. An import table can be
examined using e.g. 'show route import table bgp1.ipv4'.

6 years agoOSPF: Send direct acknowledgements as unicast
Ondrej Zajicek (work) [Sun, 3 Feb 2019 20:31:53 +0000 (21:31 +0100)] 
OSPF: Send direct acknowledgements as unicast

Direct acknowledgements should be send as unicast to a corresponding
neighbor. Only delayed acks should be send as multicast to all/designated
routers.

6 years agoOSPF: Reject duplicate DBDES packets after dead interval
Ondrej Zajicek (work) [Sun, 3 Feb 2019 20:31:15 +0000 (21:31 +0100)] 
OSPF: Reject duplicate DBDES packets after dead interval

Master may free last DBDES packet immediately. Slave must wait dead
interval before freeing last DBDES packet and then reject duplicate
DBDES packets with SeqNumberMismatch.

6 years agoOSPF: DD seqnum should be initialized only for first attempts
Ondrej Zajicek (work) [Sun, 3 Feb 2019 20:27:41 +0000 (21:27 +0100)] 
OSPF: DD seqnum should be initialized only for first attempts

After SeqNumberMismatch/BadLSReq, we should continue with the old
seqnum++. The old code tries to do that by n->adj, but it was set
nowhere.

6 years agoOSPF: Reject DBDES packets with non-matching MTU
Ondrej Zajicek (work) [Sun, 3 Feb 2019 20:27:02 +0000 (21:27 +0100)] 
OSPF: Reject DBDES packets with non-matching MTU

As it is specified in RFC 2328. The old code just provided warning.

6 years agoBGP: Cleanup channels when going down
Ondrej Zajicek (work) [Mon, 28 Jan 2019 14:23:54 +0000 (15:23 +0100)] 
BGP: Cleanup channels when going down

When going up, uncleaned old channel state may trigger unexpected
conditions crashing bird.

6 years agoNest: fixed corner cases on deleting from fib mq-ordered
Maria Matejka [Wed, 16 Jan 2019 15:39:29 +0000 (16:39 +0100)] 
Nest: fixed corner cases on deleting from fib

6 years agoRedblack: fixed special deleting cases and missing parent pointer initialization
Maria Matejka [Wed, 16 Jan 2019 06:17:39 +0000 (07:17 +0100)] 
Redblack: fixed special deleting cases and missing parent pointer initialization

6 years agoNest: Add preferred counter
Ondrej Zajicek (work) [Wed, 16 Jan 2019 14:16:51 +0000 (15:16 +0100)] 
Nest: Add preferred counter

6 years agoOSPF: Add LSA retransmission counter
Ondrej Zajicek (work) [Fri, 21 Dec 2018 13:26:04 +0000 (14:26 +0100)] 
OSPF: Add LSA retransmission counter

6 years agoMerge branch 'maarten' into mq-ordered
Jan Maria Matejka [Wed, 12 Dec 2018 12:10:10 +0000 (13:10 +0100)] 
Merge branch 'maarten' into mq-ordered

6 years agoRedblack test fixed to use uint as it was the original intent.
Jan Maria Matejka [Wed, 12 Dec 2018 12:02:11 +0000 (13:02 +0100)] 
Redblack test fixed to use uint as it was the original intent.

6 years agoNest: Get hash chain is not deprecated, it is still useful
Jan Maria Matejka [Mon, 3 Dec 2018 13:24:57 +0000 (14:24 +0100)] 
Nest: Get hash chain is not deprecated, it is still useful

6 years agoThe other direction of searching and traversing
Jan Maria Matejka [Mon, 3 Dec 2018 13:24:09 +0000 (14:24 +0100)] 
The other direction of searching and traversing

6 years agoRedblack: Added macros for partial tree traversal and even more unit tests
Jan Maria Matejka [Mon, 3 Dec 2018 12:55:35 +0000 (13:55 +0100)] 
Redblack: Added macros for partial tree traversal and even more unit tests

6 years agoNest: Using the brand-new redblack tree to provide an ordered route listing
Jan Maria Matejka [Mon, 3 Dec 2018 09:31:59 +0000 (10:31 +0100)] 
Nest: Using the brand-new redblack tree to provide an ordered route listing

6 years agoRed Black Tree: A structure to keep data sorted
Jan Maria Matejka [Mon, 3 Dec 2018 09:06:59 +0000 (10:06 +0100)] 
Red Black Tree: A structure to keep data sorted

This is a quite straightforward implementation of RBT together with
a unit test. It is assumed that all the keys are unique.

Capabilities: find, insert, delete, first, next.

6 years agoAdd a deprecated option
Jan Maria Matejka [Mon, 3 Dec 2018 09:05:40 +0000 (10:05 +0100)] 
Add a deprecated option

6 years agoBGP: Add I/C/E flag for BGP routes to show route output
Ondrej Zajicek (work) [Sat, 1 Dec 2018 17:04:11 +0000 (18:04 +0100)] 
BGP: Add I/C/E flag for BGP routes to show route output

The flag indicates whether the route is internal (IBGP),
intra-confederation, or external (EBGP).

6 years agoBGP: Statistics
Ondrej Zajicek (work) [Fri, 30 Nov 2018 21:10:14 +0000 (22:10 +0100)] 
BGP: Statistics

Count message rx/tx, enqueued buckets/prefixes and recoverable
error conditions. Show them in 'show protocol all'

6 years agoUnix: Implement log file size limit / log rotation
Ondrej Zajicek (work) [Sat, 24 Nov 2018 00:52:13 +0000 (01:52 +0100)] 
Unix: Implement log file size limit / log rotation

Allow to specify log file size limit and ensure that log file is rotated
to secondary name to avoid exceeding of log size limit.

The patch also fixes a bug related to keeping old fds open after
reconfiguration and using old fds after 'configure undo'.

6 years agoStatic: Allow multiple routes to the same network with different preference
Ondrej Zajicek (work) [Thu, 22 Nov 2018 23:18:11 +0000 (00:18 +0100)] 
Static: Allow multiple routes to the same network with different preference

6 years agoNo more warnings ...
Jan Maria Matejka [Tue, 18 Sep 2018 12:21:11 +0000 (14:21 +0200)] 
No more warnings ...

no more warnings
No more warnings over me
And while it is being compiled all the log is black and white
Release BIRD now and then let it flee

(use the melody of well-known Oh Freedom!)

6 years agoNest: Use 'distance' instead of 'preference'
Ondrej Zajicek (work) [Tue, 13 Nov 2018 13:31:54 +0000 (14:31 +0100)] 
Nest: Use 'distance' instead of 'preference'

6 years agoNest: Update default preference based on Cisco values
Ondrej Zajicek (work) [Tue, 13 Nov 2018 13:18:11 +0000 (14:18 +0100)] 
Nest: Update default preference based on Cisco values

6 years agoNest: Change preference to lower-is-better
Ondrej Zajicek (work) [Wed, 24 Oct 2018 14:24:27 +0000 (16:24 +0200)] 
Nest: Change preference to lower-is-better

6 years agoNest: Statistics
Ondrej Zajicek (work) [Wed, 24 Oct 2018 14:18:36 +0000 (16:18 +0200)] 
Nest: Statistics

Adds command 'show table statistics' to show statistics related
to routing tables.

6 years agoOSPF: Statistics
Ondrej Zajicek (work) [Wed, 24 Oct 2018 14:15:28 +0000 (16:15 +0200)] 
OSPF: Statistics

Count packet rx/tx and error conditions, per iface and globally.
Show them in 'show ospf' / 'show ospf interface'.

Also removee one level of indentation for areas in 'show ospf' command.

7 years agoDate added. v2.0.2
Ondrej Filip [Thu, 22 Mar 2018 12:30:10 +0000 (13:30 +0100)] 
Date added.

7 years agoMerge branch 'int-new' of ssh://gitlab.labs.nic.cz/labs/bird into int-new
Ondrej Filip [Thu, 22 Mar 2018 12:25:58 +0000 (13:25 +0100)] 
Merge branch 'int-new' of ssh://gitlab.labs.nic.cz/labs/bird into int-new

7 years agoNEWS and version update
Ondrej Zajicek (work) [Wed, 21 Mar 2018 14:17:56 +0000 (15:17 +0100)] 
NEWS and version update

7 years agoDoc: Minor update
Ondrej Zajicek (work) [Wed, 21 Mar 2018 15:32:51 +0000 (16:32 +0100)] 
Doc: Minor update

7 years agoDoc: Redesign default config file
Ondrej Zajicek (work) [Tue, 20 Mar 2018 18:28:26 +0000 (19:28 +0100)] 
Doc: Redesign default config file

The old one does not work with 2.0.x.

7 years agoMerge remote-tracking branch 'birdlab-tmp/int-new' into int-new
Ondrej Zajicek (work) [Mon, 19 Mar 2018 12:29:39 +0000 (13:29 +0100)] 
Merge remote-tracking branch 'birdlab-tmp/int-new' into int-new

7 years agoNest: Fix table reconfiguration when nettype changes
Ondrej Zajicek (work) [Sun, 18 Mar 2018 12:48:47 +0000 (13:48 +0100)] 
Nest: Fix table reconfiguration when nettype changes

Thanks to Toke Hoiland-Jorgensen for the bugreport.

7 years agoNest: SADR support for Direct
Ondrej Zajicek (work) [Sun, 18 Mar 2018 01:56:51 +0000 (02:56 +0100)] 
Nest: SADR support for Direct

7 years agoDoc: SADR documentation
Ondrej Zajicek (work) [Sat, 17 Mar 2018 21:25:06 +0000 (22:25 +0100)] 
Doc: SADR documentation

7 years agoDoc: Update BGP documentation
Ondrej Zajicek (work) [Sat, 17 Mar 2018 16:14:02 +0000 (17:14 +0100)] 
Doc: Update BGP documentation

Thanks to Joshua McQuistan for the bugreport.

7 years agoMerge branch 'master' into int-new
Jan Maria Matejka [Wed, 14 Mar 2018 11:57:16 +0000 (12:57 +0100)] 
Merge branch 'master' into int-new

7 years agoFilter: make bgpmask literals real constructors
Jan Maria Matejka [Wed, 28 Feb 2018 15:57:50 +0000 (16:57 +0100)] 
Filter: make bgpmask literals real constructors

The bgpmask literals can include expressions. This is OK but they have
to be interpreted as soon as the code is run, not in the time the code
is used as value.

This led to strange behavior like rewriting bgpmasks when they shan't
be rewritten:

function mask_generator(int as)
{
return [= * as * =];
}

function another()
bgpmask m1;
bgpmask m2;
{
m1 = mask_generator(10);
m2 = mask_generator(20);
if (m1 == m2) {
print("strange"); # this would happen
}
}

Moreover, sending this to CLI would cause stack overflow and knock down the
whole BIRD, as soon as there is at least one route to execute the given
filter on.

show route filter bgpmask mmm; bgppath ppp; { ppp = +empty+; mmm = [= (ppp ~ mmm) =]; print(mmm); accept; }

The magic match operator (~) inside the bgpmask literal would try to
resolve mmm, which points to the same bgpmask so it would resolve
itself, call the magic match operator and vice versa.

After this patch, the bgpmask literal will get resolved as soon as it's
assigned to mmm and it also will return a type error as bool is not
convertible to ASN in BIRD.

7 years agoMerge branch 'master' into int-new
Jan Maria Matejka [Tue, 13 Mar 2018 16:02:49 +0000 (17:02 +0100)] 
Merge branch 'master' into int-new

7 years agoFilters: Removed FI_COMMA, not used for 19 years.
Jan Maria Matejka [Tue, 13 Mar 2018 11:08:37 +0000 (12:08 +0100)] 
Filters: Removed FI_COMMA, not used for 19 years.

This instruction was removed in the commit linked below
and never used ever again. Rest in peace.

commit 84c7e1943f0dbf896b1dd8d02a21120aa00463f4
Author: Pavel Machek <pavel@ucw.cz>
Date:   Tue Mar 2 19:49:28 1999 +0000

7 years agoMerge branch 'master' into int-new
Jan Maria Matejka [Tue, 13 Mar 2018 15:51:04 +0000 (16:51 +0100)] 
Merge branch 'master' into int-new

7 years agoFilter: recursion to loop
Jan Maria Matejka [Wed, 29 Nov 2017 10:38:01 +0000 (11:38 +0100)] 
Filter: recursion to loop

It was supposed to do tail-recursion in interpret() but it didn't
compile as such. Converting it to loop makes a significant filter
performance improvement for flat filters.

7 years agoFilter: Instruction codes named as enum
Maria Jan Matejka [Thu, 19 Oct 2017 10:39:44 +0000 (12:39 +0200)] 
Filter: Instruction codes named as enum

The two-letter instructions were quite messy but they could be easily
read from memory dumps. Now GDB (since 2012) supports pretty printing
enum values and GCC checks the switch construction for missing enum
values so we are converting the nice two-byte values to enums.

Anyway, the enum still keeps the old two-byte values to be able to read
the instruction codes even without GDB from plain memory dump.

7 years agoFilter: the test conf checks also a bit of BGP args
Jan Maria Matejka [Tue, 6 Mar 2018 15:04:56 +0000 (16:04 +0100)] 
Filter: the test conf checks also a bit of BGP args

Uncommented an old test.

7 years agoConfig: Dropped the ipv4:netmask4 syntax for IPv4 prefixes.
Jan Maria Matejka [Tue, 6 Mar 2018 15:03:35 +0000 (16:03 +0100)] 
Config: Dropped the ipv4:netmask4 syntax for IPv4 prefixes.

7 years agoMerge branch 'master' into int-new
Ondrej Zajicek (work) [Wed, 7 Mar 2018 16:41:49 +0000 (17:41 +0100)] 
Merge branch 'master' into int-new

7 years agoBabel: Fix build with restricted protocol set
Ondrej Zajicek (work) [Wed, 7 Mar 2018 16:35:24 +0000 (17:35 +0100)] 
Babel: Fix build with restricted protocol set

All keywords used in Babel config have to be declared locally.

Thanks to Leo Vandewoestijne for the bugreport.

7 years agoMerge branch 'int-new' of ssh://gitlab.labs.nic.cz/labs/bird into int-new
Ondrej Filip [Tue, 27 Feb 2018 05:08:03 +0000 (06:08 +0100)] 
Merge branch 'int-new' of ssh://gitlab.labs.nic.cz/labs/bird into int-new

7 years agoHandle properly enums for extended attributes
Ondrej Zajicek (work) [Tue, 13 Feb 2018 18:52:22 +0000 (19:52 +0100)] 
Handle properly enums for extended attributes

7 years agoAdd cscope Makefile target
Ondrej Zajicek (work) [Tue, 13 Feb 2018 16:00:24 +0000 (17:00 +0100)] 
Add cscope Makefile target

For those who prefer cscope to etags

Thanks to Toke Hoiland-Jorgensen for the patch.

7 years agoBabel: Fix accidental bitwise or assignment
Ondrej Zajicek (work) [Tue, 13 Feb 2018 15:42:03 +0000 (16:42 +0100)] 
Babel: Fix accidental bitwise or assignment

Fix an accidental bitwise or assignment that was supposed to be a
comparison.

Thanks to Toke Hoiland-Jorgensen for the patch.

7 years agoBabel: Add source-specific routing support
Ondrej Zajicek (work) [Tue, 13 Feb 2018 15:39:36 +0000 (16:39 +0100)] 
Babel: Add source-specific routing support

This patch adds support for source-specific routing to the Babel protocol.
It changes the protocol to support both NET_IP6 and NET_IP6_SADR channels
for IPv6 addresses. If only a NET_IP6 channel is configured,
source-specific updates are ignored. Otherwise, non-source-specific
routes are simply treated as source-specific routes with SADR prefix 0.

Thanks to Toke Hoiland-Jorgensen for the original patch.
Minor changes by Ondrej Santiago Zajicek.

7 years agoAdd support for source-specific IPv6 routes to BIRD core
Ondrej Zajicek (work) [Tue, 13 Feb 2018 15:27:57 +0000 (16:27 +0100)] 
Add support for source-specific IPv6 routes to BIRD core

This patch adds support for source-specific IPv6 routes to BIRD core.
This is based on Dean Luga's original patch, with the review comments
addressed. SADR support is added to network address parsing in confbase.Y
and to the kernel protocol on Linux.

Currently there is no way to mix source-specific and non-source-specific
routes (i.e., SADR tables cannot be connected to non-SADR tables).

Thanks to Toke Hoiland-Jorgensen for the original patch.
Minor changes by Ondrej Santiago Zajicek.

7 years agoNest: Trivial whitespace cleanup
Ondrej Zajicek (work) [Tue, 6 Feb 2018 16:43:55 +0000 (17:43 +0100)] 
Nest: Trivial whitespace cleanup

7 years agoKRT: Fix IPv6 route learn
Ondrej Zajicek (work) [Tue, 6 Feb 2018 15:08:45 +0000 (16:08 +0100)] 
KRT: Fix IPv6 route learn

Internal table used for route learn was created with non-matching net
type for IPv6 kernel proto.

Thanks to Toke Hoiland-Jorgensen for the bugreport

7 years agoNest: Fix corner case in recursive next hop lookup
Ondrej Zajicek (work) [Mon, 29 Jan 2018 11:49:37 +0000 (12:49 +0100)] 
Nest: Fix corner case in recursive next hop lookup

Thanks to Svenne Krap for the bugreport.

7 years agoNest: remove duplicate function
Ondrej Zajicek (work) [Wed, 24 Jan 2018 12:55:12 +0000 (13:55 +0100)] 
Nest: remove duplicate function

7 years agoMerge branch 'master' into int-new
Ondrej Zajicek (work) [Tue, 23 Jan 2018 17:29:32 +0000 (18:29 +0100)] 
Merge branch 'master' into int-new

7 years agoIO: Fix socket priority
Ondrej Zajicek (work) [Tue, 23 Jan 2018 16:05:45 +0000 (17:05 +0100)] 
IO: Fix socket priority

On Linux, setting the ToS will also set the priority and the range of
accepted values is quite limited (masked by 0x1e). Therefore, 0xc0 is
translated to a priority of 0, not something we want, overriding the
"7" priority which was set previously explicitely. To avoid that, just
move setting priority later in the code.

Thanks to Vincent Bernat for the patch.

7 years agoKRT: Fix option 'merge paths'
Ondrej Zajicek (work) [Tue, 23 Jan 2018 14:12:43 +0000 (15:12 +0100)] 
KRT: Fix option 'merge paths'

7 years agoKRT: Remove useless option
Ondrej Zajicek (work) [Tue, 23 Jan 2018 13:48:07 +0000 (14:48 +0100)] 
KRT: Remove useless option

7 years agoDoc: Fix example
Ondrej Zajicek (work) [Tue, 23 Jan 2018 13:26:18 +0000 (14:26 +0100)] 
Doc: Fix example

7 years agoPipe: show export state
Jan Maria Matejka [Tue, 16 Jan 2018 15:10:13 +0000 (16:10 +0100)] 
Pipe: show export state

7 years agoPipe: fixed template bug
Jan Maria Matejka [Tue, 16 Jan 2018 13:46:06 +0000 (14:46 +0100)] 
Pipe: fixed template bug

When pipe inherited from template, every channel config was lost.