[prev in list] [next in list] [prev in thread] [next in thread] 

List:       bird-users
Subject:    BGP bird implement some exterior split horizon process?
From:       Mattia Milani <mattia.milani () studenti ! unitn ! it>
Date:       2018-03-08 13:34:48
Message-ID: CAM3Paza97kQxNKHxZtEkehntxiHPoBg9Gn_GEkLY6KtTp4WmPQ () mail ! gmail ! com
[Download RAW message or body]

Hello everyone.

I wnant to make a question reguarding BGP in particular EBGP, and how
message update send is applied on bird.
My bird version is 2.0.1.

My Configuration have 3 peer virtualized on my pc with bird running three
configuration for BGP

The configuration is the following:

H0.eth1 is connected to H1.eth1 and they can spooke each other without
problem, protocols goes on esatbilished state
H1.eth1 like i saide before is connected to H0.eth1
H1.eth2 is connected to H2.eth2 and they can spooke each other without
problem, protocols goes on esatbilished state

The address of the interface are the following:

H0.eth1: 10.0.0.1/30
H1.eth1: 10.0.0.2/30
H1.eth2: 10.0.0.5/30
H2.eth1: 10.0.0.6/30

H0 AS id is 0
H1 AS id is 1
H2 AS id is 2

There is two different subnet between the host, like you can see with the
address and the netmask assigned.

My question is on the logic of the H1 update sending system.

The only peer that export a route is H0, it sends the route to H1 that
share it
The route shared is 100.0.1.0/24 but this is not important for the question.

With tcpdump and the option -vvv i had seen that

H0 and H1 open the connection
H1 and H0 open the connection
H1 and H2 open the connection

H0 sends to H1 the route 100.0.1.0/24 with an update message

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

H1 now send an update message with the route learned from H0 only to H2
with the AS PATH setted correctly.

But why H1 didn't send back the same update message to H0?
H0 after it will discard the route because it found his AS id in the AS path

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
But for exterior bgp they didn't spoke about limit like that

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)?

If there isn't an atribute to change where i need to change the code of
bird to make this working?

Thanks for the attention, waiting you answer,
Mattia

[Attachment #3 (text/html)]

<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&#39;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&#39;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&#39;s only for the interior BGP section 9.2 &quot;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&quot; obiusly \
anless it acts like a route reflector<br></div><div>But for exterior bgp they \
didn&#39;t spoke about limit like that <br></div><div><br></div><div>Now why H1 \
didn&#39;t send the route to H0? it&#39;s a bird choice? i can disable that setting \
somthing on the config file (I searched on the web page but i didn&#39;t see anything \
for that)? <br></div><div><br></div><div>If there isn&#39;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>



[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic