<div dir="ltr">Hi Rodolfo,<br>Are you sure it would be on os-ken?  I believe that the os-ken is a multi-purpose driver for BGP (bgpspeaker uses for advertising and withdrawal routes). What about other projects that use os-ken and need to learn routes?<br>Shouldn't bgpspeaker be responsible for programming os-ken to not learn routes? <br><br>Regards<br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Em seg., 21 de nov. de 2022 às 13:55, Rodolfo Alonso Hernandez <<a href="mailto:ralonsoh@redhat.com">ralonsoh@redhat.com</a>> escreveu:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div>Hi Roberto:</div><div><br></div><div>Please open a launchpad bug documenting this issue  in os-ken.</div><div><br></div><div>Thanks!<br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Nov 16, 2022 at 3:41 PM Roberto Bartzen Acosta <<a href="mailto:roberto.acosta@luizalabs.com" target="_blank">roberto.acosta@luizalabs.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">Thanks Sean.<div><br></div><div> I believe that the os-ken driver is not coded to honor this premise because the below function can learn new paths from peer update messages.<br></div><div><a href="https://opendev.org/openstack/os-ken/src/branch/master/os_ken/services/protocols/bgp/peer.py#L1544" target="_blank">https://opendev.org/openstack/os-ken/src/branch/master/os_ken/services/protocols/bgp/peer.py#L1544</a><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Em qua., 16 de nov. de 2022 às 09:14, Sean Mooney <<a href="mailto:smooney@redhat.com" target="_blank">smooney@redhat.com</a>> escreveu:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On Wed, 2022-11-16 at 09:05 -0300, Roberto Bartzen Acosta wrote:<br>
> Sorry for the mistake, I meant, the bgpspeaker should only "*advertise*!"<br>
> and not "learn" the AS_PATHs via BGP.<br>
yes that used to be the scope of that project to advertise only and not learn<br>
so i would geuss either that has change recently and they broke backward compaitbly<br>
or they have refactord it to use an external bgp speaker like frr and it learns by default<br>
<br>
i dont really see anything here <a href="https://github.com/openstack/neutron-dynamic-routing/commits/master" rel="noreferrer" target="_blank">https://github.com/openstack/neutron-dynamic-routing/commits/master</a><br>
im not really familar with the internals of the project but i dont see any code to learn routs form<br>
<br>
<a href="https://github.com/openstack/neutron-dynamic-routing/blob/master/neutron_dynamic_routing/services/bgp/agent/driver/os_ken/driver.py" rel="noreferrer" target="_blank">https://github.com/openstack/neutron-dynamic-routing/blob/master/neutron_dynamic_routing/services/bgp/agent/driver/os_ken/driver.py</a><br>
<br>
it just has code for advertizing and withdrawing routes.<br>
<br>
<br>
<br>
> <br>
> Em qua., 16 de nov. de 2022 às 08:57, Sean Mooney <<a href="mailto:smooney@redhat.com" target="_blank">smooney@redhat.com</a>><br>
> escreveu:<br>
> <br>
> > On Wed, 2022-11-16 at 08:43 -0300, Roberto Bartzen Acosta wrote:<br>
> > > Hey folks,<br>
> > > <br>
> > > Please, I have a question here, the bgpspeaker should only "learn" and<br>
> > not<br>
> > > "advertise" the AS_PATHs via BGP, right?<br>
> > <br>
> > its been a while since i looked at it but in the past it did not supprot<br>
> > learning at all<br>
> > <br>
> > it just advertised the routes for the neutron netowrks<br>
> > <br>
> > > <br>
> > > In my tests, I can see that it is learning routes from BGP neighbors.<br>
> > This<br>
> > > behavior can cause an AS_PATH loop because the bgpspeaker learns back its<br>
> > > own advertised routes, and I see a message like this in the logs:<br>
> > > <br>
> > > 2022-11-11 19:45:41.967 7220 ERROR bgpspeaker.peer [-] AS_PATH on UPDATE<br>
> > > message has loops. Ignoring this message:<br>
> > > <br>
> > BGPUpdate(len=91,nlri=[],path_attributes=[BGPPathAttributeMpReachNLRI(afi=2,flags=144,length=46,next_hop='2001:db7:1::1',nlri=[IP6AddrPrefix(addr='2001:db9:1234::',length=64)],safi=1,type=14),<br>
> > > BGPPathAttributeOrigin(flags=64,length=1,type=1,value=0),<br>
> > > BGPPathAttributeAsPath(flags=80,length=10,type=2,value=[[65001,<br>
> > > <br>
> > 65000]])],total_path_attribute_len=68,type=2,withdrawn_routes=[],withdrawn_routes_len=0)<br>
> > > <br>
> > > This can be fixed by suppressing the neighbor route advertisement (using<br>
> > > route-map export), but have I misunderstood how neutron-dymanic-routing<br>
> > > works or do we have a possible bug here?<br>
> > > <br>
> > > Regards<br>
> > > <br>
> > <br>
> > <br>
> <br>
<br>
</blockquote></div>

<br>
<div style="font-family:Arial,Helvetica,sans-serif;font-size:1.3em"><div style="color:rgb(97,97,97);font-family:"Open Sans";font-size:14px;line-height:21px;background-color:rgb(255,255,255)"><div style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:12.8px;line-height:normal"><div style="font-family:Arial,Helvetica,sans-serif;font-size:1.3em"><div style="color:rgb(97,97,97);font-family:"Open Sans";font-size:14px;line-height:21px"><div style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:12.8px;line-height:normal"><br></div></div></div><div style="font-family:Arial,Helvetica,sans-serif;font-size:1.3em"><i style="font-family:arial,sans-serif;font-size:x-small">‘Esta mensagem é direcionada apenas para os endereços constantes no cabeçalho inicial. Se você não está listado nos endereços constantes no cabeçalho, pedimos-lhe que desconsidere completamente o conteúdo dessa mensagem e cuja cópia, encaminhamento e/ou execução das ações citadas estão imediatamente anuladas e proibidas’.</i></div><div style="font-family:Arial,Helvetica,sans-serif;font-size:1.3em"><p style="font-family:arial,sans-serif;text-align:justify"><i><font size="1"> </font></i><i><font size="1">‘Apesar do Magazine Luiza tomar todas as precauções razoáveis para assegurar que nenhum vírus esteja presente nesse e-mail, a empresa não poderá aceitar a responsabilidade por quaisquer perdas ou danos causados por esse e-mail ou por seus anexos’.</font></i></p></div></div></div></div></blockquote></div>
</blockquote></div>

<br>
<div style="font-family:Arial,Helvetica,sans-serif;font-size:1.3em"><div style="color:rgb(97,97,97);font-family:'Open Sans';font-size:14px;line-height:21px;background-color:rgb(255,255,255)"><div style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:12.8000001907349px;line-height:normal"><div style="font-family:Arial,Helvetica,sans-serif;font-size:1.3em"><div style="color:rgb(97,97,97);font-family:'Open Sans';font-size:14px;line-height:21px"><div style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:12.8000001907349px;line-height:normal"><br></div></div></div><div style="font-family:Arial,Helvetica,sans-serif;font-size:1.3em"><i style="font-family:arial,sans-serif;font-size:x-small">‘Esta mensagem é direcionada apenas para os endereços constantes no cabeçalho inicial. Se você não está listado nos endereços constantes no cabeçalho, pedimos-lhe que desconsidere completamente o conteúdo dessa mensagem e cuja cópia, encaminhamento e/ou execução das ações citadas estão imediatamente anuladas e proibidas’.</i></div><div style="font-family:Arial,Helvetica,sans-serif;font-size:1.3em"><p style="font-family:arial,sans-serif;text-align:justify"><i><font size="1"> </font></i><i><font size="1">‘Apesar do Magazine Luiza tomar todas as precauções razoáveis para assegurar que nenhum vírus esteja presente nesse e-mail, a empresa não poderá aceitar a responsabilidade por quaisquer perdas ou danos causados por esse e-mail ou por seus anexos’.</font></i></p></div></div></div></div>