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