Yes, I have separate tables for each vrf -- Semion Lisyansky
On Mon, Nov 5, 2018 at 10:48 AM Alexander Zubkov <gr...@qrator.net> wrote: > > Using bird 2.0.2. Guess it does not include patch you mentioned > > Yes, it is not released yet. > > > The issue is that bird/bgp tries to resolve nexthops for all vrfs only > in default. > > I think it depends on your configuration. Do you have separate tables for > protocols in different vrfs? > > On Mon, Nov 5, 2018 at 9:42 AM, Semion Lisyansky <semi...@gmail.com> > wrote: > >> Thanks, Alexander >> >> Using bird 2.0.2. Guess it does not include patch you mentioned >> >> Have another question: >> Configured peers in vrf with different addresses but still in overlapping >> subnets. >> BGP session are established and some prefixes advertised. >> The issue is that bird/bgp tries to resolve nexthops for all vrfs only in >> default. >> >> ip -4 neigh show vrf vrf01 >> 190.34.32.101 dev swp32.101 lladdr 00:00:80:8f:c3:1a REACHABLE >> >> ip -4 neigh show >> 190.34.32.101 dev swp32 INCOMPLETE >> >> ip route show vrf vrf01 >> 134.0.0.0/24 via 190.34.32.101 dev swp32 proto bird metric 32 >> >> .-- >> Semion Lisyansky >> >> >> On Sun, Nov 4, 2018 at 8:11 PM Alexander Zubkov <gr...@qrator.net> wrote: >> >>> Hi, >>> >>> What version of bird you are using? There was a path for BGP & VRF >>> applied just recently: >>> >>> https://gitlab.labs.nic.cz/labs/bird/commit/e19d08055a4614f03e51ee72617be10946ce7919 >>> >>> On Sun, Nov 4, 2018 at 5:01 PM, Semion Lisyansky <semi...@gmail.com> >>> wrote: >>> >>>> Hi All, >>>> >>>> Tried to configure vrf with same own and peer addresses as in global. >>>> When I ping in vrf, packets go in and out via correct interfaces, >>>> but bird bgp sessions are constantly flapping. Only one session to peer >>>> with same address exists at each moment >>>> As a w/a tried to configure interface per session, but this did not >>>> helped. >>>> >>>> Here is my partial configuration: >>>> >>>> >>>> protocol device { >>>> scan time 2; # Scan interfaces every 2 seconds >>>> } >>>> protocol direct { >>>> interface "br*"; # bridge interfaces >>>> interface "swp*"; # router ports >>>> interface "bond*"; # Disable by default >>>> ipv4; # Connect to default IPv4 table >>>> ipv6; # ... and to default IPv6 table >>>> } >>>> >>>> protocol kernel { >>>> ipv4 { # Connect protocol to IPv4 table by >>>> channel >>>> table master4; # Default IPv4 table is master4 >>>> import none; # Import to table, default is import all >>>> export all; # Export to protocol. default is export >>>> none >>>> }; >>>> learn on; # Learn alien routes from the >>>> kernel >>>> merge paths yes; >>>> } >>>> >>>> protocol bgp bgp3411 { >>>> local as 65001; >>>> bfd yes; >>>> neighbor 191.34.1.3 as 65034; >>>> # interface "swp2"; >>>> ipv4 { >>>> import all; >>>> export all; >>>> }; >>>> } >>>> >>>> protocol bgp bgp3412 { >>>> local as 65001; >>>> bfd yes; >>>> neighbor 192.34.1.3 as 65034; >>>> # interface "swp1"; >>>> ipv4 { >>>> import all; >>>> export all; >>>> }; >>>> } >>>> >>>> >>>> ipv4 table table_vrf01; >>>> >>>> protocol kernel kernel_vrf01 { >>>> vrf "vrf01"; >>>> kernel table 101; >>>> scan time 2; >>>> ipv4 { >>>> table table_vrf01; >>>> import none; # Default is import all >>>> export all; # Default is export none >>>> }; >>>> merge paths yes; >>>> learn on; # Learn all alien routes from the >>>> kernel >>>> } >>>> >>>> protocol direct direct_vrf01 { >>>> vrf "vrf01"; >>>> ipv4 { table table_vrf01; }; >>>> interface "swp7.101"; >>>> interface "swp1.201"; >>>> interface "swp2.301"; >>>> interface "vrf01"; >>>> } >>>> >>>> protocol static static_vrf01 { >>>> vrf "vrf01"; >>>> ipv4 { table table_vrf01; }; >>>> } >>>> >>>> protocol bgp bgp_vrf01_n1 { >>>> vrf "vrf01"; >>>> local as 65001; >>>> graceful restart; >>>> neighbor 191.34.1.3 as 65034; >>>> ipv4 { >>>> table table_vrf01; >>>> import none; >>>> export none; >>>> }; >>>> } >>>> >>>> protocol bgp bgp_vrf01_n2 { >>>> vrf "vrf01"; >>>> local as 65001; >>>> graceful restart; >>>> neighbor 192.34.1.3 as 65034; >>>> ipv4 { >>>> table table_vrf01; >>>> import none; >>>> export none; >>>> }; >>>> } >>>> >>>> >>>> >>>> ip -br link show type vrf >>>> vrf01 UP fe:58:94:d2:d8:ee >>>> <NOARP,MASTER,UP,LOWER_UP> >>>> vrf02 UP 42:2d:8f:bd:87:9f >>>> <NOARP,MASTER,UP,LOWER_UP> >>>> (mlnx)root@bdg-crf-01:~# ip route show vrf vrf01 >>>> 172.1.7.0/24 dev swp7.101 proto kernel scope link src 172.1.7.1 >>>> offload >>>> 191.34.1.2/31 dev swp2.301 proto kernel scope link src 191.34.1.2 >>>> offload >>>> 192.34.1.2/31 dev swp1.201 proto kernel scope link src 192.34.1.2 >>>> offload >>>> (mlnx)root@bdg-crf-01:~# ip route show table 101 >>>> broadcast 172.1.7.0 dev swp7.101 proto kernel scope link src 172.1.7.1 >>>> 172.1.7.0/24 dev swp7.101 proto kernel scope link src 172.1.7.1 >>>> offload >>>> local 172.1.7.1 dev swp7.101 proto kernel scope host src 172.1.7.1 >>>> broadcast 172.1.7.255 dev swp7.101 proto kernel scope link src >>>> 172.1.7.1 >>>> local 191.34.1.2 dev swp2.301 proto kernel scope host src 191.34.1.2 >>>> 191.34.1.2/31 dev swp2.301 proto kernel scope link src 191.34.1.2 >>>> offload >>>> local 192.34.1.2 dev swp1.201 proto kernel scope host src 192.34.1.2 >>>> 192.34.1.2/31 dev swp1.201 proto kernel scope link src 192.34.1.2 >>>> offload >>>> >>>> >>>> -- >>>> Semion Lisyansky >>>> >>> >>> >