Re: EVPN support in BIRD

2024-05-06 Thread Tim Weippert via Bird-users
Hi Ondrej, 

On Mon, May 06, 2024 at 03:10:14PM +0200, Ondrej Zajicek wrote:
> On Mon, May 06, 2024 at 12:24:07PM +0200, Tim Weippert via Bird-users wrote:
> > Hi Ondrej, 
> > 
> > just a quick question, should bird2 announce type 2 prefixes 
> > in this state?
> > 
> > i do some tests with an FRR EVPN network and add one bird2 evpn node. I
> > receive evpn routes and see them in the appropriate tables (evpntab and
> > etab), but while on the FRR side i get only the l2 parts of a type 2
> > route if i interpret the output form FRR correctly:
> >
> > Also i'm wondering should bird2 also add the corresponding arp entries
> > to the neigh table in kernel? 
> > 
> > Some hints for me where to look further on the issue?
> 
> 
> Hi
> 
> First, thanks for testing EVPN in BIRD. We do not set IP part of type 2 and
> do not use it to configure neigh table. That is optional part of EVPN not
> yet supported in BIRD (while setting MAC part and configuring bridge table
> is mandatory). Do you need this feature?

Well, yes, as i build a EVPN/VXLAN environment where bird (also if he is
only a RR) needs to be within the Fabric, therefore learn and configure
the neigh tables with IP/MAC.

And i also want bird as a "edge" replacement, therefore it needs to
handle the connnectivity to the other evpn neighbors.

> Anyway, what was your experience with EVPN in BIRD? Was it understandable
> and accessible from user point? Is there anything you missed?

>From my point of view, it was very straight forward to configure the BGP
peerings. Also if you are familiar with bird and tables, it is quite
nice to have the eth table divided for the evpn table.

Currently i hadn't looked deeply on the filtering part, maybe will try
this the next days.

I think as a EVPN RR on a "routed" underlay without evpn, it would fit
perfectly ... therefore the kernel programming part isn't really
necessary. But in my use case this is the really missing point.

i like the view of the MAC addresses in a ethtab for overview!

Hopefully finde some more time to play a little more with the evpn part.
Will report any outcomes :)

regards, 
tim

-- 
Tim Weippert
http://weiti.org - we...@weiti.org
GPG Fingerprint - E704 7303 6FF0 8393 ADB1  398E 67F2 94AE 5995 7DD8


Re: EVPN support in BIRD

2024-05-06 Thread Ondrej Zajicek via Bird-users
On Mon, May 06, 2024 at 12:24:07PM +0200, Tim Weippert via Bird-users wrote:
> Hi Ondrej, 
> 
> just a quick question, should bird2 announce type 2 prefixes 
> in this state?
> 
> i do some tests with an FRR EVPN network and add one bird2 evpn node. I
> receive evpn routes and see them in the appropriate tables (evpntab and
> etab), but while on the FRR side i get only the l2 parts of a type 2
> route if i interpret the output form FRR correctly:
>
> Also i'm wondering should bird2 also add the corresponding arp entries
> to the neigh table in kernel? 
> 
> Some hints for me where to look further on the issue?


Hi

First, thanks for testing EVPN in BIRD. We do not set IP part of type 2 and
do not use it to configure neigh table. That is optional part of EVPN not
yet supported in BIRD (while setting MAC part and configuring bridge table
is mandatory). Do you need this feature?

Anyway, what was your experience with EVPN in BIRD? Was it understandable
and accessible from user point? Is there anything you missed?

-- 
Elen sila lumenn' omentielvo

Ondrej 'Santiago' Zajicek (email: santi...@crfreenet.org)
"To err is human -- to blame it on a computer is even more so."


Re: EVPN support in BIRD

2024-05-06 Thread Tim Weippert via Bird-users
0) [i]
dev ugw1e-dn42-jp01 mpls 2
evpn mac 100.192.1.7:2 0 52:42:42:95:3f:45 * mpls 42  [evpn1 10:08:41.312] * 
(120)
evpn mac 100.192.1.5:2 0 52:42:00:c0:cd:b7 fe80::5042:ff:fec0:cdb7 unicast 
[RR02 09:59:52.197 from 100.192.1.3] * (100/20) [i]
dev ugw1e-dn42-jp01 mpls 2
 unicast [RR01 09:59:52.215 from 100.192.1.4] (100/20) [i]
dev ugw1e-dn42-jp01 mpls 2
evpn mac 100.192.1.7:2 0 52:42:00:6d:d1:7c * mpls 42  [evpn1 10:08:41.312] * 
(120)
evpn mac 100.192.1.1:2 0 52:42:00:66:05:a5 fdf7:17d5:de49::1 unicast [RR02 
09:59:52.197 from 100.192.1.3] * (100/20) [i]
dev ugw1e-dn42-de01 mpls 2
 unicast [RR01 09:59:52.215 from 100.192.1.4] (100/20) [i]
dev ugw1e-dn42-de01 mpls 2
evpn imet 100.192.1.7:2 0 100.192.1.7  [evpn1 10:08:41.312] * (120)
evpn mac 100.192.1.3:2 0 02:42:ac:14:af:fd fe80::42:acff:fe14:affd unicast 
[RR02 09:59:52.197 from 100.192.1.3] * (100/20) [i]
dev ugw0r-dn42-rr02 mpls 2
evpn imet 100.192.1.3:2 0 100.192.1.3  [RR02 09:59:52.197 from 100.192.1.3] * 
(100) [i]
evpn mac 100.192.1.2:2 0 52:42:00:2a:a5:2e fdf7:17d5:de49::3 unicast [RR02 
09:59:52.197 from 100.192.1.3] * (100/20) [i]
dev ugw1e-dn42-au01 mpls 2
 unicast [RR01 09:59:52.215 from 100.192.1.4] (100/20) [i]
dev ugw1e-dn42-au01 mpls 2
evpn mac 100.192.1.2:2 0 52:42:00:2a:a5:2e fe80::5042:ff:fe2a:a52e unicast 
[RR02 09:59:52.197 from 100.192.1.3] * (100/20) [i]
dev ugw1e-dn42-au01 mpls 2
 unicast [RR01 09:59:52.215 from 100.192.1.4] (100/20) [i]
dev ugw1e-dn42-au01 mpls 2
evpn mac 100.192.1.6:2 0 52:42:00:f2:bb:82 fe80::5042:ff:fef2:bb82 unicast 
[RR02 09:59:52.212 from 100.192.1.3] * (100/20) [i]
dev ugw1e-dn42-uk01 mpls 2
 unicast [RR01 09:59:52.248 from 100.192.1.4] (100/20) [i]
dev ugw1e-dn42-uk01 mpls 2
evpn mac 100.192.1.3:2 0 52:42:00:9c:43:36 fe80::5042:ff:fe9c:4336 unicast 
[RR02 09:59:52.197 from 100.192.1.3] * (100/20) [i]
dev ugw0r-dn42-rr02 mpls 2
evpn mac 100.192.1.6:2 0 52:42:00:f2:bb:82 fdf7:17d5:de49::2 unicast [RR02 
09:59:52.212 from 100.192.1.3] * (100/20) [i]
dev ugw1e-dn42-uk01 mpls 2
 unicast [RR01 09:59:52.248 from 100.192.1.4] (100/20) [i]
dev ugw1e-dn42-uk01 mpls 2
evpn mac 100.192.1.4:2 0 02:42:ac:14:af:fe fdf7:17d5:de49::254 unicast [RR01 
09:59:52.215 from 100.192.1.4] * (100/20) [i]
dev ugw0r-dn42-rr01 mpls 2
evpn mac 100.192.1.5:2 0 52:42:00:c0:cd:b7 172.20.175.196 unicast [RR02 
09:59:52.197 from 100.192.1.3] * (100/20) [i]
dev ugw1e-dn42-jp01 mpls 2
 unicast [RR01 09:59:52.215 from 100.192.1.4] (100/20) [i]
dev ugw1e-dn42-jp01 mpls 2
evpn imet 100.192.1.1:2 0 100.192.1.1  [RR02 09:59:52.197 from 100.192.1.3] * 
(100) [i]
  [RR01 09:59:52.215 from 100.192.1.4] (100) [i]
evpn imet 100.192.1.6:2 0 100.192.1.6  [RR02 09:59:52.212 from 100.192.1.3] * 
(100) [i]
  [RR01 09:59:52.248 from 100.192.1.4] (100) [i]
evpn mac 100.192.1.4:2 0 52:42:00:47:3a:69 fe80::5042:ff:fe47:3a69 unicast 
[RR01 09:59:52.215 from 100.192.1.4] * (100/20) [i]
dev ugw0r-dn42-rr01 mpls 2
evpn mac 100.192.1.4:2 0 02:42:ac:14:af:fe * unicast [RR01 09:59:52.215 from 
100.192.1.4] * (100/20) [i]
dev ugw0r-dn42-rr01 mpls 2
evpn imet 100.192.1.5:2 0 100.192.1.5  [RR02 09:59:52.212 from 100.192.1.3] * 
(100) [i]
  [RR01 09:59:52.248 from 100.192.1.4] (100) [i]
evpn mac 100.192.1.1:2 0 52:42:00:66:05:a5 172.20.175.193 unicast [RR02 
09:59:52.197 from 100.192.1.3] * (100/20) [i]
dev ugw1e-dn42-de01 mpls 2
 unicast [RR01 09:59:52.215 from 100.192.1.4] (100/20) [i]
dev ugw1e-dn42-de01 mpls 2
evpn imet 100.192.1.2:2 0 100.192.1.2  [RR02 09:59:52.197 from 100.192.1.3] * 
(100) [i]
  [RR01 09:59:52.215 from 100.192.1.4] (100) [i]
evpn mac 100.192.1.2:2 0 52:42:00:2a:a5:2e 172.20.175.195 unicast [RR02 
09:59:52.197 from 100.192.1.3] * (100/20) [i]
dev ugw1e-dn42-au01 mpls 2
 unicast [RR01 09:59:52.215 from 100.192.1.4] (100/20) [i]
dev ugw1e-dn42-au01 mpls 2
evpn mac 100.192.1.3:2 0 02:42:ac:14:af:fd * unicast [RR02 09:59:52.197 from 
100.192.1.3] * (100/20) [i]
dev ugw0r-dn42-rr02 mpls 2
evpn mac 100.192.1.6:2 0 52:42:00:f2:bb:82 172.20.175.194 unicast [RR02 
09:59:52.212 from 100.192.1.3] * (100/20) [i]
dev ugw1e-dn42-uk01 mpls 2
 unicast [RR01 09:59:52.248 from 100.192.1.4] (100/20) [i]
dev ugw1e-dn42-uk01 mpls 2
---

Also i'm wondering should bird2 also add the corresponding arp entries
to the neigh table in kernel? 

Some hints for me where to look further on the issue?



regards, 
tim

On Mon, Mar 11, 2024 at 03:50:05AM +0100, Ondrej Zajicek via Bird-users wrote:
> Hello
> 
> Recently, we made a beta release of EVPN support in BIRD:
> 
>

EVPN support in BIRD

2024-03-10 Thread Ondrej Zajicek via Bird-users
Hello

Recently, we made a beta release of EVPN support in BIRD:

https://gitlab.nic.cz/labs/bird/-/tree/evpn

(branch 'evpn' in BIRD git repository)

You are welcome to try it and give us your feedback and suggestions.

The primary documentation is still missing, but there are comprehensive
examples and comments here:

https://gitlab.nic.cz/labs/bird-tools/-/tree/master/netlab/cf-evpn-bgp
(especially bird_m11.conf and bird_m12.conf)

For filter expressions related to EVPN, see function t_net_evpn() in:
https://gitlab.nic.cz/labs/bird/-/blob/evpn/filter/test.conf

If you have any questions, feel free to ask here on the mailing list.

-- 
Elen sila lumenn' omentielvo

Ondrej 'Santiago' Zajicek (email: santi...@crfreenet.org)
"To err is human -- to blame it on a computer is even more so."