Re: [Babel-users] [RFC] Replace WireGuard AllowedIPs with IP route attribute

2023-11-18 Thread Juliusz Chroboczek
> Is tying source address filtering to the routing table the right thing to do
> here? It seems to me that it would cause issues similar to those we see more
> generally with Unicast Reverse Path Filtering

Issues are caused by the kernel performing filtering that the routing
protocol is not aware of: it causes the routing daemon's routing table to
no longer match the effective forwarding table (the kernel's routing
table).  That's the reason why uRPF breaks most routing protocols, that's
the reason why we have trouble making Wireguard work with Babel, and also
the reason behind https://github.com/jech/babeld/issues/111.

Contrariwise, we can teach Babel to explicitly take into account the
kernel features that we're interested in using.  Thus, Babel could be
aware of the restrictions placed on a wireguard interface, and collaborate
with Wireguard so that the routing table and the forwarding table remain
congruent.  I haven't looked at the issue in detail, but I believe that
would be an interesting (short-term) research project, one that I would be
glad to collaborate with (but not necessarily lead, at least not right now).

For the specific case of source address filtering, Babel already has an
(implemented) extension to deal with source addresses, and I encourage you
to consider whether it can be used to deal with the issue at hand.  Please
see https://arxiv.org/pdf/1403.0445.pdf and RFC 9079.

-- Juliusz


Re: [Babel-users] [RFC] Replace WireGuard AllowedIPs with IP route attribute

2023-11-18 Thread Erin Shepherd
On Sat, 18 Nov 2023, at 03:19, Daniel Gröber wrote:
> Hi Alexander,
> 
> On Thu, Nov 09, 2023 at 12:57:26PM +0100, Alexander Zubkov wrote:
> > But as I understood the technology, it works only in one way (for
> > outgoing packets) and the decapsulation should be processed separately,
> > for example in case of VXLAN and MPLS they have their own tables.
> 
> 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 and) when I
> get around to starting work on this.

Is tying source address filtering to the routing table the right thing to do 
here? It seems to me that it would cause issues similar to those we see more 
generally with Unicast Reverse Path Filtering