Than I see no problem. When you have direct protocol off - your router have nothing imported to the bird's routing table and so nothing is exported to the bgp peer. A kernel protocol does not import those routes, from the documentation:
> Note that routes created by OS kernel itself, namely direct routes > representing IP subnets of associated interfaces, are not imported even with > learn enabled. You can use Direct protocol to generate these direct routes. On Wed, Mar 25, 2020 at 5:21 PM Fabiano D'Agostino <fabiano.dagostin...@gmail.com> wrote: > > Yes, I disabled direct protocol on both routers. The full bird.conf is the > following: > log syslog all; > ipv4 table master4; > ipv6 table master6; > router1 bgp configuration: > protocol bgp { > ipv4 { > import all; > export all; > }; > local as 1; > neighbor 192.168.2.22 as 2; > } > protocol device { > } > protocol kernel { > ipv4 { > table master4; > import all; > export all; > }; > } > protocol static { > ipv4; > } > > > Il giorno mer 25 mar 2020 alle ore 17:06 Alexander Zubkov <gr...@qrator.net> > ha scritto: >> >> Do you disable direct protocol on both router1 and router2? >> And that is definitely not the full bird config, you do not have a >> kernel protocol for example. >> >> On Tue, Mar 24, 2020 at 10:50 PM Fabiano D'Agostino >> <fabiano.dagostin...@gmail.com> wrote: >> > >> > There is no gateway because they are directly connected. However my >> > network topology is the following: >> > [pc-a - router1 ]=AS 1 ; [pc-b - router 2]=AS 2; >> > pc-a: >> > enp0s3 >> > address 192.168.1.11 >> > gw 192.168.1.1 >> > router1: >> > enp0s3 >> > address 192.168.1.1 >> > enp0s8 >> > 192.168.2.2 >> > >> > router1 bgp configuration: >> > protocol bgp { >> > ipv4 { >> > import all; >> > export all; >> > } >> > local as 1; >> > neighbor 192.168.2.22 as 2 >> > >> > >> > Il giorno mar 24 mar 2020 alle ore 22:40 Alexander Zubkov >> > <gr...@qrator.net> ha scritto: >> >> >> >> There is also no gateway in you "route" output on routes exported from >> >> bird. Maybe you have some filters that causing it? Could you show your >> >> config if it is not secret? >> >> >> >> On Tue, Mar 24, 2020 at 9:53 PM Fabiano D'Agostino >> >> <fabiano.dagostin...@gmail.com> wrote: >> >> > >> >> > Yes, 'show route', is from Bird. I don't have route-reflector, but just >> >> > two routers which have a bgp session. Anyway, yes when direct is >> >> > disabled, the bgp session is established. >> >> > >> >> > Il giorno mar 24 mar 2020 alle ore 21:45 Alexander Zubkov >> >> > <gr...@qrator.net> ha scritto: >> >> >> >> >> >> "show route" looks a little weird, is it from bird? There are also >> >> >> commonly a protocol and metric shown. >> >> >> Those are from your route-reflector? Do you have your bgp sessions up >> >> >> when direct is disabled? >> >> >> >> >> >> On Tue, Mar 24, 2020 at 9:33 PM Fabiano D'Agostino >> >> >> <fabiano.dagostin...@gmail.com> wrote: >> >> >> > >> >> >> > Good evening Alexander, >> >> >> > >> >> >> > Direct protocol enabled: >> >> >> > 'route' command: >> >> >> > Destination Gateway Genmask Flags Metric iface >> >> >> > 192.168.1.0 * 255.255.255.0 U 0 >> >> >> > enp0s3 >> >> >> > 192.168.1.0 * 255.255.255.0 U 32 enp0s3 >> >> >> > 192.168.2.0 * 255.255.255.0 U 0 >> >> >> > enp0s8 >> >> >> > 192.168.2.0 * 255.255.255.0 U 32 enp0s8 >> >> >> > 192.168.4.0 * 255.255.255.0 U 32 enp0s8 >> >> >> > 'show route' command: >> >> >> > 192.168.1.0/24 enp0s3 >> >> >> > 192.168.2.0/24 enp0s8 via 192.168.2.22 on enp0s8 >> >> >> > 192.168.4.0/24 via 192.168.2.22 on enp0s8 >> >> >> > >> >> >> > Direct protocol disabled: >> >> >> > 'route' command: >> >> >> > Destination Gateway Genmask Flags Metric iface >> >> >> > 192.168.1.0 * 255.255.255.0 U 0 >> >> >> > enp0s3 >> >> >> > 192.168.2.0 * 255.255.255.0 U 0 >> >> >> > enp0s8 >> >> >> > 'show route' command: >> >> >> > empty >> >> >> > >> >> >> > Thanks, >> >> >> > >> >> >> > Fabiano >> >> >> > >> >> >> > Il giorno mar 24 mar 2020 alle ore 21:00 Alexander Zubkov >> >> >> > <gr...@qrator.net> ha scritto: >> >> >> >> >> >> >> >> I think it would be easier if you showed your route tables in both >> >> >> >> cases. >> >> >> >> >> >> >> >> On Tue, Mar 24, 2020 at 8:57 AM Irene Lalioti >> >> >> >> <irene.lali...@restena.lu> wrote: >> >> >> >> > >> >> >> >> > Hello guys! >> >> >> >> > >> >> >> >> > Just because today we encountered again the same issue with >> >> >> >> > direct, I am very curious on this: >> >> >> >> > >> >> >> >> > I totally agree with what you guys explained about the need of >> >> >> >> > the direct protocol. Once we set it then reachability works and >> >> >> >> > all is ok. >> >> >> >> > >> >> >> >> > Our big question is why was it working before the moment it lost >> >> >> >> > the BGP session?? In other words: the set up : >> >> >> >> > >> >> >> >> > RS - BGP session with the ROUTER - and behind the Router we have >> >> >> >> > Caches. >> >> >> >> > >> >> >> >> > Before the router was announcing to the RS(BIRD v2.0.7) the >> >> >> >> > caches and that they are reachable by the router. Without any >> >> >> >> > direct. >> >> >> >> > >> >> >> >> > Until one day we lose the bgp session, and we can ping the caches >> >> >> >> > from the RS but not reachable . Once we set it as direct on the >> >> >> >> > bird then all is fine. >> >> >> >> > >> >> >> >> > Question is why was it working before without direct ?? :=) >> >> >> >> > >> >> >> >> > Many thanks for your time! >> >> >> >> > >> >> >> >> > Have a great day all! >> >> >> >> > >> >> >> >> > Irene. >> >> >> >> > >> >> >> >> > On 23/03/2020 17:07, Fabiano D'Agostino wrote: >> >> >> >> > >> >> >> >> > Hi Bernd, >> >> >> >> > no, the routing "from the kernel" doesn't come via 'learn yes', >> >> >> >> > but via RIB, I mean if I do 'route' it shows the directly >> >> >> >> > connected networks. The problem is that if I use the Direct >> >> >> >> > protocol, the command 'route' shows me two same directly >> >> >> >> > connected networks, one coming from RIB and the other one coming >> >> >> >> > from Bird. >> >> >> >> > I tried protocol bgp { direct; }, but it doesn't change. >> >> >> >> > >> >> >> >> > Thanks, >> >> >> >> > >> >> >> >> > Fabiano >> >> >> >> > >> >> >> >> > Il giorno lun 23 mar 2020 alle ore 16:15 Bernd Naumann >> >> >> >> > <b...@spreadshirt.net> ha scritto: >> >> >> >> >> >> >> >> >> >> On 23.03.20 16:01, Fabiano D'Agostino wrote: >> >> >> >> >> > Hi Benedikt, >> >> >> >> >> > I am just learning Bird and I didn't want to use the Direct >> >> >> >> >> > protocol >> >> >> >> >> > because using it I have two same routes in the RIB for the >> >> >> >> >> > directly >> >> >> >> >> > connected networks, one coming from the kernel and the second >> >> >> >> >> > one coming >> >> >> >> >> > from the direct protocol. >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> Is the routing "from the kernel" coming via `learn yes;`? If you >> >> >> >> >> have no >> >> >> >> >> need to import "alien" routes, you can disable `learn` and just >> >> >> >> >> use >> >> >> >> >> `direct` and `static` protocol. /* OR if you know that your >> >> >> >> >> neighbor is >> >> >> >> >> directly connected to you can also set 'direct' on the `protocol >> >> >> >> >> bgp`. */ >> >> >> >> >> >> >> >> >> >> Bernd >> >> >> >> >> >> >> >> >> >> >> >> >> >> > >> >> >> >> > -- >> >> >> >> > Irene Lalioti >> >> >> >> > Network Engineer >> >> >> >> > Fondation RESTENA >> >> >> >> > 2, avenue de l'Université >> >> >> >> > L-4365 Esch/Alzette >> >> >> >> > >> >> >> >> > Tel: +352 424409 1 >> >> >> >> > Fax: +352 422473