<div dir="ltr"><div><div><div><div><div><div><div><div><div>Hello everyone.<br><br></div>I wnant to make a question reguarding BGP in particular EBGP, and how message update send is applied on bird.<br></div>My bird version is 2.0.1.<br><br></div>My Configuration have 3 peer virtualized on my pc with bird running three configuration for BGP<br><br></div>The configuration is the following:<br><br></div>H0.eth1 is connected to H1.eth1 and they can spooke each other without problem, protocols goes on esatbilished state<br></div>H1.eth1 like i saide before is connected to H0.eth1<br></div>H1.eth2 is connected to H2.eth2 and they can spooke each other without problem, protocols goes on esatbilished state<br><br></div>The address of the interface are the following:<br><br></div>H0.eth1: <a href="http://10.0.0.1/30">10.0.0.1/30</a><br><div>H1.eth1: <a href="http://10.0.0.2/30">10.0.0.2/30</a><br></div><div>H1.eth2: <a href="http://10.0.0.5/30">10.0.0.5/30</a><br></div><div>H2.eth1: <a href="http://10.0.0.6/30">10.0.0.6/30</a><br><br></div><div>H0 AS id is 0<br></div><div>H1 AS id is 1<br></div><div>H2 AS id is 2<br></div><div><br></div><div>There is two different subnet between the host, like you can see with the address and the netmask assigned.<br><br></div><div>My question is on the logic of the H1 update sending system.<br><br></div><div>The only peer that export a route is H0, it sends the route to H1 that share it<br></div><div>The route shared is <a href="http://100.0.1.0/24">100.0.1.0/24</a> but this is not important for the question.<br><br></div><div>With tcpdump and the option -vvv i had seen that<br><br></div><div>H0 and H1 open the connection<br></div><div>H1 and H0 open the connection<br></div><div>H1 and H2 open the connection</div><div><br></div><div>H0 sends to H1 the route <a href="http://100.0.1.0/24">100.0.1.0/24</a> with an update message<br><br></div><div>H1 recive the route from H0 it elaborates it and with the filter found that it's valid and put it on his routing table<br><br></div><div>H1 now send an update message with the route learned from H0 only to H2 with the AS PATH setted correctly.<br><br></div><div>But why H1 didn't send back the same update message to H0?<br></div><div>H0 after it will discard the route because it found his AS id in the AS path<br><br></div><div>On the RFC they talk about the split horizon but it's only for the interior BGP section 9.2 "UPDATE message from an internal peer, the receiving bgp speaker shall not re-distribute the routing information contained in that update message to other internal peer" obiusly anless it acts like a route reflector<br></div><div>But for exterior bgp they didn't spoke about limit like that <br></div><div><br></div><div>Now why H1 didn't send the route to H0? it's a bird choice? i can disable that setting somthing on the config file (I searched on the web page but i didn't see anything for that)? <br></div><div><br></div><div>If there isn't an atribute to change where i need to change the code of bird to make this working?<br><br></div><div>Thanks for the attention, waiting you answer,<br></div><div>Mattia<br></div></div>