<div dir="ltr">Hi Team,<div><br></div><div>I would like to bring up 2 VRF separated BGP neighborship between two routers as below</div><div><br></div><div> R1  [eth1.55]-------------------------[eth1.55]  R2</div><div><br></div><div>B_VRF_BLUE<---------------------> B_VRF_BLUE </div><div>B_VRF_RED  <---------------------> B_VRF_RED<br></div><div><br></div><div>I created two VRFs red and blue in the kernel.</div><div><br></div><div>ip link add red type vrf table 100<br>ip link set dev red up<br><br>ip link add blue type vrf table 200<br>ip link set dev blue up<br></div><div><br></div><div>Then i enslaved the logical interface to both VRFs red and blue.</div><div><br></div><div>ip link set dev eth1.55 master red  <br>ip link set dev eth1.55 master blue  Â ---> enslaving to red is overridden by blue after this<br></div><div><br></div><div>/tmp # ip link show eth1.55<br>14: eth1.55@eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue <b>master blue </b><br></div><div><br></div><div>At R1, I could see B_VRF_BLUE is established and at R2 B_VRF_RED is established.</div><div><br></div><div>R1</div><div>==</div><div>bird> show protocols<br>Name Â  Â  Â  Proto Â  Â  Â Table Â  Â  Â State Â Since Â  Â  Â  Â  Info<br></div><div>B_VRF_RED Â BGP Â  Â  Â  Â --- Â  Â  Â  Â start Â 23:54:26.660 Â Idle Â  Â  Â  Â  Â Received: Cease<br>B_VRF_BLUE BGP Â  Â  Â  Â --- Â  Â  Â  Â up Â  Â  23:54:42.207 Â Established<br></div><div><br></div><div>R2</div><div>====</div><div>bird> show protocols<br>Name Â  Â  Â  Proto Â  Â  Â Table Â  Â  Â State Â Since Â  Â  Â  Â  Info<br></div><div>B_VRF_RED Â BGP Â  Â  Â  Â --- Â  Â  Â  Â up Â  Â  23:58:44.611 Â Established<br>B_VRF_BLUE BGP Â  Â  Â  Â --- Â  Â  Â  Â start Â 23:58:39.842 Â Active Â  Â  Â  Â Socket: Connection closed<br></div><div><br></div><div>Either one of the BGP sessions is established on both ends. The other session is not getting established.</div><div>Please let me know if I am missing anything here. <br></div><div><br></div><div>Also I noticed that L3VPN support was added into BIRD recently. Is there any support added to handle multiple VRF separated BGP neighborships during this commit ?</div><div>Please clarify.</div><div><br></div><div>Below are the configurations used.</div><div>R1</div><div>====</div><div>ipv4 table T_VRF_RED;<br>ipv4 table T_VRF_BLUE;<br></div><div><br></div><div>protocol kernel K_VRF_RED {<br>  Â  Â  Â  vrf "red";<br>  Â  Â  Â  kernel table 100;<br>  Â  Â  Â  scan time 20;<br><br>  Â  Â  Â  ipv4 {<br>  Â  Â  Â  Â  Â  Â  Â  table T_VRF_RED;<br>  Â  Â  Â  Â  Â  Â  Â  import all;<br>  Â  Â  Â  Â  Â  Â  Â  export all;<br>  Â  Â  Â  };<br>}<br>protocol kernel K_VRF_BLUE {<br>  Â  Â  Â  vrf "blue";<br>  Â  Â  Â  kernel table 200;<br>  Â  Â  Â  scan time 20;<br><br>  Â  Â  Â  ipv4 {<br>  Â  Â  Â  Â  Â  Â  Â  table T_VRF_BLUE;<br>  Â  Â  Â  Â  Â  Â  Â  import all;<br>  Â  Â  Â  Â  Â  Â  Â  export all;<br>  Â  Â  Â  };<br>}<br>protocol direct C_VRF_RED {<br>  Â  Â  Â  vrf "red";<br>  Â  Â  Â  ipv4 { table T_VRF_RED; };<br><br>}<br>protocol direct C_VRF_BLUE {<br>  Â  Â  Â  vrf "blue";<br>  Â  Â  Â  ipv4 { table T_VRF_BLUE; };<br><br>}<br><br>protocol static S_VRF_RED {<br>  Â  Â  Â  vrf "red";<br>  Â  Â  Â  ipv4 { table T_VRF_RED; };<br><br>  Â  Â  Â  route <a href="http://10.10.1.0/24">10.10.1.0/24</a> blackhole;<br>}<br>protocol static S_VRF_BLUE {<br>  Â  Â  Â  vrf "blue";<br>  Â  Â  Â  ipv4 { table T_VRF_BLUE; };<br><br>  Â  Â  Â  route <a href="http://10.10.1.0/24">10.10.1.0/24</a> blackhole;<br>}<br>protocol bgp B_VRF_RED {<br>  Â  Â  Â  vrf "red";<br>  Â  Â  Â  router id 10.16.44.216;<br>  Â  Â  Â  local 55.0.0.1 as 100;<br>  Â  Â  Â  neighbor 55.0.0.2 Â as 100;<br>  Â  Â  Â  enable as4 on;<br>  Â  Â  Â  hold time 90;<br>  Â  Â  Â  keepalive time 30;<br>  Â  Â  Â  direct;<br>  Â  Â  Â  # regular IPv4 unicast (1/1)<br>  Â  Â  Â  ipv4 {<br>  Â  Â  Â  Â  Â  Â  Â  table T_VRF_RED;<br>  Â  Â  Â  Â  Â  Â  Â  import all;<br>  Â  Â  Â  Â  Â  Â  Â  export all;<br>  Â  Â  Â  };<br>}<br>protocol bgp B_VRF_BLUE {<br>  Â  Â  Â  vrf "blue";<br>  Â  Â  Â  router id 10.16.44.216;<br>  Â  Â  Â  local 55.0.0.1 as 100;<br>  Â  Â  Â  neighbor 55.0.0.2 Â as 100;<br>  Â  Â  Â  enable as4 on;<br>  Â  Â  Â  hold time 90;<br>  Â  Â  Â  keepalive time 30;<br>  Â  Â  Â  direct;<br>  Â  Â  Â  # regular IPv4 unicast (1/1)<br>  Â  Â  Â  ipv4 {<br>  Â  Â  Â  Â  Â  Â  Â  table T_VRF_BLUE;<br>  Â  Â  Â  Â  Â  Â  Â  import all;<br>  Â  Â  Â  Â  Â  Â  Â  export all;<br>  Â  Â  Â  };<br>}<br></div><div><br></div><div>R2</div><div>====</div><div>ipv4 table T_VRF_RED;<br>ipv4 table T_VRF_BLUE;<br></div><div><br></div><div>protocol kernel K_VRF_RED {<br>  Â  Â  Â  vrf "red";<br>  Â  Â  Â  kernel table 100;<br>  Â  Â  Â  scan time 20;<br><br>  Â  Â  Â  ipv4 {<br>  Â  Â  Â  Â  Â  Â  Â  table T_VRF_RED;<br>  Â  Â  Â  Â  Â  Â  Â  import all;<br>  Â  Â  Â  Â  Â  Â  Â  export all;<br>  Â  Â  Â  };<br>}<br>protocol kernel K_VRF_BLUE {<br>  Â  Â  Â  vrf "blue";<br>  Â  Â  Â  kernel table 200;<br>  Â  Â  Â  scan time 20;<br><br>  Â  Â  Â  ipv4 {<br>  Â  Â  Â  Â  Â  Â  Â  table T_VRF_BLUE;<br>  Â  Â  Â  Â  Â  Â  Â  import all;<br>  Â  Â  Â  Â  Â  Â  Â  export all;<br>  Â  Â  Â  };<br>}<br>protocol direct C_VRF_RED {<br>  Â  Â  Â  vrf "red";<br>  Â  Â  Â  ipv4 { table T_VRF_RED; };<br><br>}<br>protocol direct C_VRF_BLUE {<br>  Â  Â  Â  vrf "blue";<br>  Â  Â  Â  ipv4 { table T_VRF_BLUE; };<br><br>}<br>protocol static S_VRF_RED {<br>  Â  Â  Â  vrf "red";<br>  Â  Â  Â  ipv4 { table T_VRF_RED; };<br><br>  Â  Â  Â  route <a href="http://10.10.1.0/24">10.10.1.0/24</a> blackhole;<br>}<br>protocol static S_VRF_BLUE {<br>  Â  Â  Â  vrf "blue";<br>  Â  Â  Â  ipv4 { table T_VRF_BLUE; };<br><br>  Â  Â  Â  route <a href="http://10.10.1.0/24">10.10.1.0/24</a> blackhole;<br>}<br>protocol bgp B_VRF_RED {<br>  Â  Â  Â  vrf "red";<br>  Â  Â  Â  router id 10.16.44.217;<br>  Â  Â  Â  local 55.0.0.2 as 100;<br>  Â  Â  Â  neighbor 55.0.0.1 Â as 100;<br>  Â  Â  Â  enable as4 on;<br>  Â  Â  Â  hold time 90;<br>  Â  Â  Â  keepalive time 30;<br>  Â  Â  Â  direct;<br>  Â  Â  Â  # regular IPv4 unicast (1/1)<br>  Â  Â  Â  ipv4 {<br>  Â  Â  Â  Â  Â  Â  Â  table T_VRF_RED;<br>  Â  Â  Â  Â  Â  Â  Â  import all;<br>  Â  Â  Â  Â  Â  Â  Â  export all;<br>  Â  Â  Â  };<br>}<br>protocol bgp B_VRF_BLUE {<br>  Â  Â  Â  vrf "blue";<br>  Â  Â  Â  router id 10.16.44.217;<br>  Â  Â  Â  local 55.0.0.2 as 100;<br>  Â  Â  Â  neighbor 55.0.0.1 Â as 100;<br>  Â  Â  Â  enable as4 on;<br>  Â  Â  Â  hold time 90;<br>  Â  Â  Â  keepalive time 30;<br>  Â  Â  Â  direct;<br>  Â  Â  Â  # regular IPv4 unicast (1/1)<br>  Â  Â  Â  ipv4 {<br>  Â  Â  Â  Â  Â  Â  Â  table T_VRF_BLUE;<br>  Â  Â  Â  Â  Â  Â  Â  import all;<br>  Â  Â  Â  Â  Â  Â  Â  export all;<br>  Â  Â  Â  };<br>}<br></div><div><br></div><div><br></div><div>Thanks,</div><div>Ramanathan </div></div>