Help: BGP neighbor

Arvin Gan AGan at advaoptical.com
Tue Dec 4 03:28:29 CET 2018


Hello All,
   I  notice that if BGP is directly connected, when BGP started, the bgp_start_locked() is called and using neigh_find2() to lookup the neighbor. In neigh_find2(), bird will loop iface_list and comparing the remote IP address with the IP prefix of interface, checking whether is the subnet.
Now, I have a question that why not using route table to find the neighbor ?  Since I have one case that make me have some confusion.

Test Case:
DUT1                                          DUT2                                                                                                                               DUT3
                                                           lo interface 2000::1111/128 , interface3 3000:1::8/112 <-----------------------> interface4 3000:1::9/112, lo interface: 2000::2222/128
      interface1 2000::2/112 <------>interface2: 2000::1/112

  suppose that the route table configuration are all reachable.
  1.  Anyone known the topology connection is normal or correct ?
  2.  If yes, when create  BGP peer with loopback interface 2000::1111, remote IP 2000::2222.
  3.  BGP peer will  use 2000::2222 to compare with interface prefix list on DUT2, find the neighbor interface2 with prefix 2000::1/112 [interface2 on DUT2], and consider as directly connected.

BUT, actually, BGP peer TCP connection is not directly connected,  and TCP connection don't using interface2 on DUT2,  but using interface3 on DUT2 to connect interface4 of DUT3.

Best Regards,
Arvin Gan

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://trubka.network.cz/pipermail/bird-users/attachments/20181204/bf80bc3e/attachment.html>


More information about the Bird-users mailing list