On Thu, Jul 18, 2024 at 12:38:20PM +0200, Juliusz Chroboczek wrote:
> > A year ago you said [1] that bird had not yet implemented "hysteresis on
> > metrics" [...] Has bird implemented this in the meantime?
>
> I haven't checked the BIRD implementation recently (I know, I should be
> doing more w
Hi Jakub and Ondřej,
I'm also interested in using more recent bird versions in my deployment,
but I don't use third-party repos on principle.
Since I'm a DD I could just start uploading and maintaining a backports for
bird2, is there I reason to not do that? My guess is you just want to avoid
doi
Hi Arzhel,
On Fri, Apr 12, 2024 at 11:57:38AM +0200, Arzhel Younsi wrote:
> But for IPv6, it's cleaner to only require the router's link local address:
> testvm2006:~$ ip -6 addr
> inet6 2620:0:860:140:10:192:24:4/128 scope global
> testvm2006:~$ ip -6 route
> default via fe80::2022:22ff:fe22:2201
Hi Juliusz,
On Sun, Mar 31, 2024 at 04:35:28PM +0200, Juliusz Chroboczek wrote:
> > I've just come across a reason I'd want to run babel with both bird and
> > babeld on the same node and have them become neighbours.
>
> I hope you know what you're doing.
I sure hope so too, haha. No it's really
Hi Babelers,
I've just come across a reason I'd want to run babel with both bird and
babeld on the same node and have them become neighbours. The details are
tedious -- my usual disclamer applies ;)
This got me to think about something I'd observed in the past and been
meaning to write about thou
Hi Alexander,
On Wed, Nov 22, 2023 at 12:17:49AM +0100, Alexander Zubkov wrote:
> > Can you think of a use-case where fpRPF isn't enough?
>
> Yes. IMHO, the problem with RPF is that routing table doesn't reflect the
> network topology, but only a subset of it.
Right that is the fundamental probl
Hi Erin, Juliusz,
On Sat, Nov 18, 2023 at 11:21:57AM +0100, Erin Shepherd wrote:
> On Sat, 18 Nov 2023, at 03:19, Daniel Gröber wrote:
> > That would be a problem as I specifically want to tie the source address
> > filtering to this too. I'll have a look at the internals (if
Hi Alexander,
On Thu, Nov 09, 2023 at 12:57:26PM +0100, Alexander Zubkov wrote:
> I heard recently about the lightweight tunnel infrastructure in Linux
> kernel (ip route ... encap ...). And I think this might be helpful in
> the context of this thread.
I hadn't seen that yet, thanks for pointing
Hi Marek,
On Wed, Oct 18, 2023 at 10:49:34PM +0200, Marek Küthe wrote:
> I have seen that there is both rtt-min and rtt-max setting in bird, but
> no max-rtt-penalty. So my question is how would I represent the above
> expression in bird?
The `rtt cost` option is the equivalent in bird.
--Daniel
On Thu, Sep 28, 2023 at 04:03:33PM +, Nigel Kukard via Bird-users wrote:
> Well .. I feel embarrassed now. The issue was a missing "kernel table ;"
> in the kernel protocol.
Don't feel bad. I was going to look into using VRFs with bird and now
there's a nice worked example ready to play wi
Hi Juliusz,
On Mon, Aug 28, 2023 at 07:40:51PM +0200, Juliusz Chroboczek wrote:
> I've read the whole discussion, and I'm still not clear what advantages
> the proposed route attribute has over having one interface per peer. Is
> it because interfaces are expensive in the Linux kernel? Or is the
Hi Kyle,
On Mon, Aug 28, 2023 at 11:40:48AM -0400, Kyle Rose wrote:
> On Sat, Aug 19, 2023 at 5:25 PM Daniel Gröber wrote:
> > Having read Kyle's use-case I'm thinking my original plan to extend the wg
> > internal source-address filtering to use a rt lookup with our ne
Hi Maria,
On Tue, Jul 18, 2023 at 12:28:35AM +0200, Daniel Gröber wrote:
> On Thu, Jun 01, 2023 at 05:33:42PM +0200, Maria Matejka via Bird-users wrote:
> > > Lastly my v5 route selection patch should also be ready, all threads of
> > > discussion should be resolved and th
Hi Steffen,
from the questions you ask I fear you've misunderstood my intention to
"replace" AllowedIPs. I'm strictly talking of the _implementation_
(allowedips.c) in Linux particular. The netlink interface would naturally
stay unchanged.
On Sat, Aug 19, 2023 at 10:00:17PM +0200, Steffen Vogel w
Hi Bernd,
On Sat, Aug 19, 2023 at 07:50:38PM +0200, Bernd Naumann wrote:
> Chances are high I do miss something, but I've just set AllowedIPs to
> 0.0.0.0/0 and ::/0 and just used the routing protocol of my choice and
> filters to select which routes got exported and imported... :shrug:
Right, le
Hi wireguard, birds, and babelers,
tl;dr I want to add a new Linux route attribute (think "via $wgpeer") to
supplement wireguard's internal AllowedIPs logic for both routing and
source address filtering.
I've been pondering how to better integrate wireguard into dynamic routing
daemons, particula
Hi Maria,
On Thu, Jun 01, 2023 at 05:33:42PM +0200, Maria Matejka via Bird-users wrote:
> > Lastly my v5 route selection patch should also be ready, all threads of
> > discussion should be resolved and there are no known bugs. However I've not
> > received any testing reports, hint, hint peeps °>°
Hi Maria,
So I just did a bird restart on the router I was testing on after poking
around some more and now the recursive route is suddenly working without a
change in config.
On Tue, Jun 27, 2023 at 09:50:14PM +0200, Maria Matejka wrote:
> this looks fishy. I tried a trivial config like this on
Hi Alexander,
On Tue, Jun 27, 2023 at 04:48:46PM +0200, Alexander Zubkov wrote:
> Not sure, but I would guess it can be related to the local address. It
> might try to pick the first interface with such network.
> Could you try your setup with some route that has the nexthop from a
> unique subne
Hi,
I'm trying to configure a static route that uses the system's default
router. The default router is out of my control and is announced via IPv6
RA. Since the MAC might not be stable I'd prefer not to hardcode the
router's link-local address. So I tried:
protocol static static_export_kerne
Hi Erin,
On Tue, Jun 20, 2023 at 08:20:50PM +0200, Erin Shepherd wrote:
> I run bird on a system which uses systemd as a service supervisor, and
> would like to implement graceful restart in a way which works well with
> it.
I'm also interested in getting this working. I'm wondering how graceful
Hi Juliusz,
On Tue, Mar 07, 2023 at 01:20:28PM +0100, Juliusz Chroboczek wrote:
> To be honest, we hacked things until we had acceptable worst-case behaviour.
>
> We had two networks to experiment with: Nexedi's production network
> (hundreds of tunnels over the public IPv6 Internet) and a simula
Hi Maria,
On Thu, Jun 01, 2023 at 05:33:42PM +0200, Maria Matejka via Bird-users wrote:
> > Toke's first two patches are ready for merging, but the third (metric
> > smoothing) is contested since it conflicts with my route selection patch in
> > its current form and if adapted it conflicts with my
Hello birds,
I just thought I'd put together an overview of as yet unresolved
proto/babel patches and discussions to stimulate some activity :)
Toke's RTT series:
- lib/timer: Add current_time_now() function for immediate timestamp
- babel: Add support for the RTT extension
- babel: Add route me
Hi Kees,
On Mon, Mar 13, 2023 at 07:23:17AM +0100, Kees Meijs | Nefos wrote:
> About VLAN configuration: I guess one should never ever use VLAN_DEFAULT
> c.q. VLAN 1 at all. Vendors often think differently about this case,
> sometimes allowing to have a .1Q tag, sometimes not. Or sort of "both" as
When radv sends to the ipv6 all-nodes multicast address (ff02::1) we don't
set sin6_scope_id because ipa_is_link_local isn't satisfied. This will
cause packets to be sent via the wrong interface.
To fix this we use ip6_classify, which returns SCOPE_LINK for unicast
fe80::/64 as well as multicast f
Hi,
I'm using bird as a replacement for radvd since the latter has a
longstanding issue with sending adverts on unconfigured interfaces under
complex conditions.
Turns out bird has a similar issue :)
Looking at the code, when opening the socket for an interface in
radv_sk_open we set sk->iface a
In order to prevent RTT based routing from causing persistent traffic
oscillations we delay core rte announcement of each prefix by a
configurable but metric invariant amount of time.
Initial announcements and withdrawals will go through undelayed but a
chnage in route for a prefix will cancel the
Hi Maria,
Hi Toke,
On Tue, Feb 28, 2023 at 02:07:06PM +0100, Maria Matejka via Bird-users wrote:
> > > I think it's probably simpler to just re-announce any route that's still
> > > converging every time we go through the routing table.
> >
> > Simpler, yes, but I do want to be able to maintain i
Hi Mirai,
On Tue, Feb 28, 2023 at 02:57:54PM -0500, Mirai Azayaka wrote:
> I am trying to send routes from my DHCPv6 prefix delegation server to
> my router using iBGP. Those delegated prefix routes on the DHCPv6
> server are installed in its kernel table, such as 2001:db8:db8::/56
> via .
Wow,
Hi Toke,
On Mon, Feb 27, 2023 at 12:16:01PM +0100, Toke Høiland-Jørgensen wrote:
> >> - Add the smoothed metric as a new route attribute (so it's also
> >> available to filters)
> >
> > I think doing that is a bad idea. If we keep filters from changing this we
> > might just be able to optimize
Hi Toke,
See below.
On Sun, Feb 26, 2023 at 11:10:06PM +0100, Toke Høiland-Jørgensen via Bird-users
wrote:
> The Babel RTT extension employs metric smoothing to dampen route
> oscillations in the face of varying RTT values between two peers[0].
>
> This patch implements such dampening in Bird,
On Mon, Feb 27, 2023 at 07:25:13PM +0100, Juliusz Chroboczek wrote:
> > That's a bug in the new RFC text then ;)
>
> Agreed. https://www.rfc-editor.org/how-to-report/
Done :)
--Daniel
This introduces the ability to filter routes from specific interfaces and
neighbours. With the current internal route selection proto babel exports
only up to one route and an admin cannot do fine-grained filtering.
To fix this we rip out the internal route selection entirely and export
evey babel
Hi Juliusz,
On Mon, Feb 27, 2023 at 01:58:21PM +0100, Juliusz Chroboczek wrote:
> > I don't think RFC8966 is really framed in bird's "multi protocol" mindset
>
> See the beginning of Section 3.7, which describes how a route
> redistributed from another protocol has router-id set to the local
> ro
Hi Toke,
On Mon, Feb 27, 2023 at 12:14:23AM +0100, Toke Høiland-Jørgensen wrote:
> > To clarify: it's really only the metric smoothing patch that's in conflict
> > with my patch. I would advocate for merging only the other two patches for
> > now while we figure out how to rework the smoothing on
eproducer yet, I think it happened after a
system suspend thogh.
More notes below:
On Sun, Feb 26, 2023 at 09:05:24PM +0100, Daniel Gröber wrote:
> This introduces the ability to filter routes from specific interfaces and
> neighbours. With the current internal route selection proto babel e
her patch (and also Daniel is one of
> the current users of this extension so I expect he'd be interested in
> having the two be compatible).
Indeed I've been using these patches for a while, but I've had to switch to
babeld due to lack of proper route filtering ;) Still con
This introduces the ability to filter routes from specific interfaces and
neighbours. With the current internal route selection proto babel exports
only up to one route and an admin cannot do fine-grained filtering.
To fix this we rip out the internal route selection entirely and export
evey babel
Hi Maria,
On Sun, Feb 26, 2023 at 07:34:06PM +0100, Maria Matejka wrote:
> > I don't think RFC8966 is really framed in bird's "multi protocol" mindset
> > so it's unclear to me whether this is something we have to fix or
> > not. Section 3.8.2.1. says:
> >
> > > A node that has lost all feasible
Hi Toke,
Thanks for the comprehensive review! See below.
On Tue, Jan 31, 2023 at 12:38:25PM +0100, Toke Høiland-Jørgensen wrote:
> Daniel Gröber writes:
> > This appears to not actually be a breaking change as route announcement was
> > already based on which routes bird wou
This allows for filtering routes from specific interfaces and
neighbours. With the current internal route selection proto babel exports
only up to one route and an admin cannot do fine-grained filtering.
To fix this we rip out the internal route selection entirely and put them
all into the bird's
This allows for filtering routes from specific interfaces and
neighbours. With the current internal route selection proto babel exports
only up to one route and an admin cannot do fine-grained filtering.
To fix this we rip out the internal route selection entirely and put them
all into the bird's
The route expiration code appears to have been stolen from rip.c, in that
code the rt_notify function actually does modify the rtable fib by calling
fib_get. The babel code however does no such thing, so this inefficient
restart is just entirely uneccesarry.
To prove this is true I add a bunch of
The main motivation for this change is to allow for ingress route
filtering. With the current internal route selection proto/babel exports
only the one route it selected and an admin cannot decide which
neighbours/interfaces to import certain routes from using filters.
To fix this we rip out the i
The route expiration code appears to have been stolen from rip.c, in that
code the rt_notify function actually does modify the rtable fib by calling
fib_get. The babel code however does no such thing, so this inefficient
restart is just entirely uneccesarry.
To prove this is true I add a bunch of
Hi Babelers,
I've been working on the babel proto in bird and found some code where I
can't convince myself it won't segfault. The problematic bit is, I think,
's' in babel_handle_update can be NULL because nothing ensures the
babel_source for a particular neighbour actually exists here:
/*
We introduce ecmp support for the babel protocol by extending it's
definition of a route being selected to mean the route being in the ECMP
set.
In order to keep code changes minimal we keep the pointer to an arbitrary
member of the ECMP set in the FIB entry and add a new flag to babel_route
which
Previously nl_send_route would use plain nl_add_nexthop for ecmp ipv6
routes instead of adding RTA_MULTIPATH objects via nl_add_multipath. The
former lacks support for the rtnh_hops field needed for setting the nexthop
weight though.
On the kernel side support for nexthop weights was introduced by
This removes the hacky route merging/splitting code needed to support older
kernel versions. Consequently the required Linux version is raised to 4.11
for reliable operation.
---
sysdep/linux/netlink.c | 218 +++--
1 file changed, 33 insertions(+), 185 deletions
Previously nl_send_route would use plain nl_add_nexthop for ecmp ipv6
routes instead of adding RTA_MULTIPATH objects via nl_add_multipath. The
former lacks support for the rtnh_hops field needed for setting the nexthop
weight though.
On the kernel side support for nexthop weights was introduced by
Previously nl_send_route would use plain nl_add_nexthop for ecmp ipv6
routes instead of adding RTA_MULTIPATH objects via nl_add_multipath. The
former lacks support for the rtnexthop.rtnh_hops field need for setting the
nexthop weight though.
On the kernel side support for nexthop weights was intro
---
doc/bird.sgml| 7 +++
proto/babel/babel.c | 1 +
proto/babel/babel.h | 2 ++
proto/babel/config.Y | 2 ++
4 files changed, 12 insertions(+)
diff --git a/doc/bird.sgml b/doc/bird.sgml
index d1e6376b..8d159b22 100644
--- a/doc/bird.sgml
+++ b/doc/bird.sgml
@@ -1880,6 +1880,7 @@ pr
---
doc/bird.sgml| 25
proto/babel/babel.c | 70 +---
proto/babel/babel.h | 5
proto/babel/config.Y | 3 ++
4 files changed, 92 insertions(+), 11 deletions(-)
diff --git a/doc/bird.sgml b/doc/bird.sgml
index 1580facd..d1e63
Hi Johannes,
On Tue, May 03, 2022 at 04:07:08PM +0200, Johannes Erwerle wrote:
> I would like to use both uplinks via the linux multipath routing and I am
> searching for a way to "merge" both default routes that I get into one route
> with multiple next hops.
>
> Is there a way to accomplish tha
---
The FIB walks in babel_reconfigure_iface are a bit ugly, I tried to
loop over ifa->neigh_list instead but couldn't get it to work. I'm
open to suggestions :)
doc/bird.sgml| 8 +
proto/babel/babel.c | 70 +---
proto/babel/babel.h | 3 ++
---
doc/bird.sgml| 21 ++---
proto/babel/babel.c | 1 +
proto/babel/babel.h | 2 ++
proto/babel/config.Y | 2 ++
4 files changed, 19 insertions(+), 7 deletions(-)
diff --git a/doc/bird.sgml b/doc/bird.sgml
index 5e85d8ec..1fdda7bc 100644
--- a/doc/bird.sgml
+++ b/doc/
When dumping the routing table bird currently doesn't set the rtm_table
netlink field to select any particular one but rather wants to get all at
once.
This can be problematic when multiple routing daemons are running on a
system as the kernel's route modification performance goes down
drasticly (
58 matches
Mail list logo